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

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

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

; Function Attrs: nounwind willreturn memory(read)
declare ptr @strrchr(ptr noundef, i32 noundef) #1

declare i32 @s2n_calculate_stacktrace() #2

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

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

declare i32 @s2n_connection_get_selected_signature_algorithm(ptr noundef, ptr noundef) #2

declare i32 @s2n_connection_get_selected_digest_algorithm(ptr noundef, ptr noundef) #2

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

declare i32 @s2n_connection_get_selected_client_cert_signature_algorithm(ptr noundef, ptr noundef) #2

declare i32 @s2n_connection_get_selected_client_cert_digest_algorithm(ptr noundef, ptr noundef) #2

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

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

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

; Function Attrs: nounwind uwtable
define dso_local i32 @main(i32 noundef %0, ptr noundef %1) #3 {
  %3 = alloca i32, align 4
  %4 = alloca i32, align 4
  %5 = alloca ptr, align 8
  %6 = alloca i32, align 4
  %7 = alloca i32, align 4
  %8 = alloca i32, align 4
  %9 = alloca ptr, align 8
  %10 = alloca i32, align 4
  %11 = alloca ptr, align 8
  %12 = alloca i32, align 4
  %13 = alloca ptr, align 8
  %14 = alloca i32, align 4
  %15 = alloca ptr, align 8
  %16 = alloca i32, align 4
  %17 = alloca i32, align 4
  %18 = alloca i32, align 4
  %19 = alloca ptr, align 8
  %20 = alloca i32, align 4
  %21 = alloca i32, align 4
  %22 = alloca ptr, align 8
  %23 = alloca i32, align 4
  %24 = alloca i32, align 4
  %25 = alloca i32, align 4
  %26 = alloca ptr, align 8
  %27 = alloca ptr, align 8
  %28 = alloca i32, align 4
  %29 = alloca i32, align 4
  %30 = alloca %struct.s2n_stuffer, align 8
  %31 = alloca i32, align 4
  %32 = alloca i32, align 4
  %33 = alloca i32, align 4
  %34 = alloca i8, align 1
  %35 = alloca i32, align 4
  %36 = alloca ptr, align 8
  %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 i32, align 4
  %43 = alloca i32, align 4
  %44 = alloca ptr, align 8
  %45 = alloca i32, align 4
  %46 = alloca i32, align 4
  %47 = alloca ptr, align 8
  %48 = alloca i32, align 4
  %49 = alloca i32, align 4
  %50 = alloca i32, align 4
  %51 = alloca i32, align 4
  %52 = alloca i32, align 4
  %53 = alloca i32, align 4
  %54 = alloca i32, align 4
  %55 = alloca i32, align 4
  %56 = alloca ptr, align 8
  %57 = alloca ptr, align 8
  %58 = alloca i32, align 4
  %59 = alloca i32, align 4
  %60 = alloca i32, align 4
  %61 = alloca i32, align 4
  %62 = alloca i32, align 4
  %63 = alloca i32, align 4
  %64 = alloca i32, align 4
  %65 = alloca i32, align 4
  %66 = alloca i32, align 4
  %67 = alloca i32, align 4
  %68 = alloca i32, align 4
  %69 = alloca ptr, align 8
  %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 i32, align 4
  %82 = alloca i32, align 4
  %83 = alloca i32, align 4
  %84 = alloca i32, align 4
  %85 = alloca i32, align 4
  %86 = alloca i32, align 4
  %87 = alloca i32, align 4
  %88 = alloca [9 x i32], align 16
  %89 = alloca i64, align 8
  %90 = alloca %struct.s2n_signature_scheme, align 8
  %91 = alloca i32, align 4
  %92 = alloca i32, align 4
  %93 = alloca i32, align 4
  %94 = alloca i32, align 4
  %95 = alloca i32, align 4
  %96 = alloca i32, align 4
  %97 = alloca i32, align 4
  %98 = alloca i32, align 4
  %99 = alloca i32, align 4
  %100 = alloca ptr, align 8
  %101 = alloca i32, align 4
  %102 = alloca i32, align 4
  %103 = alloca i32, align 4
  %104 = alloca i32, align 4
  %105 = alloca i32, align 4
  %106 = alloca i32, align 4
  %107 = alloca 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 i32, align 4
  %117 = alloca i32, align 4
  %118 = alloca i32, align 4
  %119 = alloca [226 x i32], align 16
  %120 = alloca i64, align 8
  %121 = alloca %struct.s2n_signature_scheme, align 8
  %122 = alloca i32, align 4
  %123 = alloca i32, align 4
  %124 = alloca i32, align 4
  %125 = alloca i32, align 4
  %126 = alloca i32, align 4
  %127 = alloca i32, align 4
  %128 = alloca i32, align 4
  %129 = alloca i32, align 4
  %130 = alloca i32, align 4
  %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 ptr, align 8
  %138 = alloca i32, align 4
  %139 = alloca i32, align 4
  %140 = alloca ptr, align 8
  %141 = alloca i32, align 4
  %142 = alloca i32, align 4
  %143 = alloca %struct.s2n_test_io_pair, align 4
  %144 = alloca i32, align 4
  %145 = alloca i32, align 4
  %146 = alloca i32, align 4
  %147 = alloca i32, align 4
  %148 = alloca i32, align 4
  %149 = alloca i32, align 4
  %150 = alloca %struct.s2n_result, align 4
  %151 = alloca i32, align 4
  %152 = alloca i32, align 4
  %153 = alloca i32, align 4
  %154 = alloca i32, align 4
  %155 = alloca i32, align 4
  %156 = alloca ptr, align 8
  %157 = alloca i32, align 4
  %158 = alloca i32, align 4
  %159 = alloca i32, align 4
  %160 = alloca i32, align 4
  %161 = alloca i32, align 4
  %162 = alloca ptr, align 8
  %163 = alloca i32, align 4
  %164 = alloca i32, align 4
  %165 = alloca ptr, align 8
  %166 = alloca i32, align 4
  %167 = alloca i32, align 4
  %168 = alloca %struct.s2n_test_io_pair, align 4
  %169 = alloca i32, align 4
  %170 = alloca i32, align 4
  %171 = alloca i32, align 4
  %172 = alloca i32, align 4
  %173 = alloca i32, align 4
  %174 = alloca i32, align 4
  %175 = alloca %struct.s2n_result, align 4
  %176 = alloca i32, align 4
  %177 = alloca i32, align 4
  %178 = alloca i32, align 4
  %179 = alloca i32, align 4
  %180 = alloca i32, align 4
  %181 = alloca i8, align 1
  %182 = alloca i16, align 2
  %183 = alloca i16, align 2
  %184 = alloca i16, align 2
  %185 = alloca %struct.s2n_result, align 4
  %186 = alloca i32, align 4
  %187 = alloca i32, align 4
  %188 = alloca i32, align 4
  %189 = alloca ptr, align 8
  %190 = alloca i32, align 4
  %191 = alloca %struct.s2n_result, align 4
  %192 = alloca i32, align 4
  %193 = alloca i32, align 4
  %194 = alloca i32, align 4
  %195 = alloca %struct.s2n_result, align 4
  %196 = alloca i32, align 4
  %197 = alloca i32, align 4
  %198 = alloca i32, align 4
  %199 = alloca %struct.s2n_result, align 4
  %200 = alloca i32, align 4
  %201 = alloca i32, align 4
  %202 = alloca i32, align 4
  %203 = alloca %struct.s2n_result, align 4
  %204 = alloca i32, align 4
  %205 = alloca i32, align 4
  %206 = alloca i32, align 4
  %207 = alloca %struct.s2n_result, align 4
  %208 = alloca i32, align 4
  %209 = alloca i32, align 4
  %210 = alloca i32, align 4
  %211 = alloca i32, align 4
  %212 = alloca %struct.s2n_result, align 4
  %213 = alloca i32, align 4
  %214 = alloca i32, align 4
  %215 = alloca i32, align 4
  %216 = alloca i32, align 4
  %217 = alloca i32, align 4
  %218 = alloca %struct.s2n_result, align 4
  %219 = alloca i32, align 4
  %220 = alloca i32, align 4
  %221 = alloca i32, align 4
  %222 = alloca i32, align 4
  %223 = alloca i32, align 4
  %224 = alloca i32, align 4
  %225 = alloca i32, align 4
  %226 = alloca i32, align 4
  %227 = alloca i32, align 4
  %228 = alloca i32, align 4
  %229 = alloca i32, align 4
  %230 = alloca i32, align 4
  %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 i32, align 4
  %239 = alloca ptr, align 8
  %240 = alloca i32, align 4
  %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 i32, align 4
  %251 = alloca i32, align 4
  %252 = alloca i32, align 4
  %253 = alloca i32, align 4
  %254 = alloca i32, align 4
  %255 = alloca i32, align 4
  %256 = alloca i32, align 4
  %257 = alloca i32, align 4
  %258 = alloca i32, align 4
  %259 = alloca i32, align 4
  %260 = alloca i32, align 4
  %261 = alloca ptr, align 8
  %262 = alloca i32, align 4
  %263 = alloca i32, align 4
  %264 = alloca i32, align 4
  %265 = alloca i32, align 4
  %266 = alloca i32, align 4
  %267 = alloca i32, align 4
  %268 = alloca i32, align 4
  %269 = alloca i32, 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 [18 x i8], align 16
  %281 = alloca ptr, align 8
  %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 i32, align 4
  %289 = alloca i32, align 4
  %290 = alloca i32, align 4
  %291 = alloca [18 x i8], align 16
  %292 = alloca ptr, align 8
  %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 i32, align 4
  %306 = alloca i32, align 4
  %307 = alloca i32, align 4
  %308 = alloca i32, align 4
  %309 = alloca ptr, align 8
  %310 = alloca ptr, align 8
  %311 = alloca i32, align 4
  %312 = alloca ptr, align 8
  %313 = alloca i32, align 4
  %314 = alloca i32, align 4
  %315 = alloca i32, align 4
  %316 = alloca i32, align 4
  %317 = alloca i32, align 4
  %318 = alloca i32, align 4
  %319 = alloca i32, align 4
  %320 = alloca i32, align 4
  %321 = alloca %struct.s2n_security_policy, align 8
  %322 = alloca ptr, align 8
  %323 = alloca i32, align 4
  %324 = alloca ptr, align 8
  %325 = alloca i32, align 4
  %326 = alloca ptr, align 8
  %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 %struct.s2n_result, align 4
  %333 = alloca %struct.s2n_result, align 4
  %334 = alloca %struct.s2n_result, align 4
  %335 = alloca ptr, align 8
  %336 = alloca i32, align 4
  %337 = alloca ptr, align 8
  %338 = alloca i32, align 4
  %339 = alloca ptr, align 8
  %340 = alloca i32, align 4
  %341 = alloca ptr, align 8
  %342 = alloca i32, align 4
  %343 = alloca %struct.s2n_result, align 4
  %344 = alloca %struct.s2n_result, align 4
  %345 = alloca %struct.s2n_result, align 4
  %346 = alloca ptr, align 8
  %347 = alloca i32, align 4
  %348 = alloca i32, align 4
  %349 = alloca i64, align 8
  %350 = alloca i32, align 4
  %351 = alloca %struct.s2n_result, align 4
  %352 = alloca ptr, align 8
  %353 = alloca i32, align 4
  %354 = alloca i32, align 4
  %355 = alloca i32, align 4
  %356 = alloca i32, align 4
  %357 = alloca ptr, align 8
  %358 = alloca i32, align 4
  %359 = alloca i32, align 4
  %360 = alloca ptr, align 8
  %361 = alloca i32, align 4
  %362 = alloca i32, align 4
  %363 = alloca [100 x i8], align 16
  %364 = alloca i32, align 4
  %365 = alloca i64, align 8
  %366 = alloca %struct.s2n_test_io_pair, align 4
  %367 = alloca i32, align 4
  %368 = alloca i32, align 4
  %369 = alloca i32, align 4
  %370 = alloca i32, align 4
  %371 = alloca i32, align 4
  %372 = alloca i32, align 4
  %373 = alloca i32, align 4
  %374 = alloca i32, align 4
  %375 = alloca i32, align 4
  %376 = alloca i32, align 4
  %377 = alloca i32, align 4
  %378 = alloca i32, align 4
  %379 = alloca i32, align 4
  %380 = alloca %struct.s2n_result, align 4
  %381 = alloca %struct.s2n_result, align 4
  %382 = alloca %struct.s2n_result, align 4
  %383 = alloca i32, align 4
  %384 = alloca ptr, align 8
  %385 = alloca i32, align 4
  %386 = alloca i64, align 8
  %387 = alloca i32, align 4
  %388 = alloca i32, align 4
  %389 = alloca i32, align 4
  %390 = alloca i32, align 4
  %391 = alloca i32, align 4
  %392 = alloca i64, align 8
  %393 = alloca i32, align 4
  %394 = alloca i32, align 4
  %395 = alloca i32, align 4
  %396 = alloca i32, align 4
  %397 = alloca i32, align 4
  %398 = alloca i32, align 4
  %399 = alloca i64, align 8
  %400 = alloca %struct.s2n_blob, align 8
  %401 = alloca i32, align 4
  %402 = alloca i32, align 4
  %403 = alloca i32, align 4
  %404 = alloca i32, align 4
  %405 = alloca i32, align 4
  %406 = alloca i32, align 4
  %407 = alloca i32, align 4
  %408 = alloca %struct.s2n_result, align 4
  %409 = alloca ptr, align 8
  %410 = alloca i32, align 4
  %411 = alloca i64, align 8
  %412 = alloca i32, align 4
  %413 = alloca i32, align 4
  %414 = alloca i32, align 4
  %415 = alloca i32, align 4
  %416 = alloca i32, align 4
  %417 = alloca i64, align 8
  %418 = alloca i32, align 4
  %419 = alloca i32, align 4
  %420 = alloca i32, align 4
  %421 = alloca i32, align 4
  %422 = alloca i32, align 4
  %423 = alloca i32, align 4
  %424 = alloca i64, align 8
  %425 = alloca %struct.s2n_blob, align 8
  %426 = alloca i32, align 4
  %427 = alloca i32, align 4
  %428 = alloca i32, align 4
  %429 = alloca i32, align 4
  %430 = alloca i32, align 4
  %431 = alloca i32, align 4
  %432 = alloca i32, align 4
  %433 = alloca i32, align 4
  %434 = alloca i32, align 4
  %435 = alloca i32, align 4
  %436 = alloca i32, align 4
  %437 = alloca i32, align 4
  %438 = alloca i32, align 4
  %439 = alloca %struct.s2n_result, align 4
  %440 = alloca ptr, align 8
  %441 = alloca i32, align 4
  %442 = alloca i32, align 4
  %443 = alloca i32, align 4
  %444 = alloca i32, align 4
  %445 = alloca i32, align 4
  %446 = alloca i32, align 4
  %447 = alloca i32, align 4
  %448 = alloca %struct.s2n_result, align 4
  %449 = alloca ptr, align 8
  %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 i32, align 4
  %456 = alloca i32, align 4
  %457 = alloca i32, align 4
  %458 = alloca i32, align 4
  %459 = alloca i32, align 4
  %460 = alloca i32, align 4
  %461 = alloca i32, align 4
  %462 = alloca i32, align 4
  %463 = alloca i32, align 4
  %464 = alloca i32, align 4
  %465 = alloca i32, align 4
  %466 = alloca i32, align 4
  %467 = alloca %struct.s2n_result, align 4
  %468 = alloca ptr, align 8
  %469 = alloca i32, align 4
  %470 = alloca i32, align 4
  %471 = alloca i32, align 4
  %472 = alloca i32, align 4
  %473 = alloca i32, align 4
  %474 = alloca 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 i32, align 4
  %480 = alloca i32, align 4
  %481 = alloca i32, align 4
  %482 = alloca i32, align 4
  %483 = alloca i32, align 4
  %484 = alloca i32, align 4
  %485 = alloca i32, align 4
  %486 = alloca %struct.s2n_result, align 4
  %487 = alloca ptr, align 8
  %488 = alloca i32, align 4
  %489 = alloca i8, align 1
  %490 = alloca i8, align 1
  %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 i32, align 4
  %497 = alloca i32, align 4
  %498 = alloca i32, align 4
  %499 = alloca i32, align 4
  %500 = alloca i8, align 1
  %501 = alloca i8, align 1
  %502 = alloca i32, align 4
  %503 = alloca i32, align 4
  %504 = alloca i32, align 4
  %505 = alloca %struct.s2n_result, align 4
  %506 = alloca ptr, align 8
  %507 = alloca ptr, align 8
  %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 i32, 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 i32, align 4
  %523 = alloca i32, align 4
  %524 = alloca i32, align 4
  %525 = alloca i32, align 4
  %526 = alloca i32, align 4
  %527 = alloca i32, align 4
  %528 = alloca i32, align 4
  %529 = alloca i32, align 4
  %530 = alloca i32, align 4
  %531 = alloca %struct.s2n_result, align 4
  %532 = alloca %struct.s2n_result, align 4
  %533 = alloca %struct.s2n_result, align 4
  %534 = alloca i32, align 4
  %535 = alloca i32, align 4
  %536 = alloca i32, align 4
  %537 = 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 %538

538:                                              ; preds = %2
  br label %539

539:                                              ; preds = %538
  store i32 0, ptr @test_count, align 4, !tbaa !5
  %540 = load ptr, ptr @stdout, align 8, !tbaa !9
  %541 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %540, ptr noundef @.str.7, ptr noundef @.str.8) #11
  %542 = load ptr, ptr @stdout, align 8, !tbaa !9
  %543 = call i32 @fflush(ptr noundef %542)
  br label %544

544:                                              ; preds = %539
  %545 = call i32 @s2n_in_unit_test_set(i1 noundef zeroext true)
  %546 = icmp eq i32 %545, -1
  br i1 %546, label %547, label %598

547:                                              ; preds = %544
  br label %548

548:                                              ; preds = %547
  br label %549

549:                                              ; preds = %548
  call void @llvm.lifetime.start.p0(i64 4, ptr %6) #11
  %550 = call ptr @__errno_location() #12
  %551 = load i32, ptr %550, align 4, !tbaa !5
  store i32 %551, ptr %6, align 4, !tbaa !5
  %552 = load ptr, ptr @stderr, align 8, !tbaa !9
  %553 = call i32 @s2n_print_stacktrace(ptr noundef %552)
  %554 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %555 = trunc i8 %554 to i1
  br i1 %555, label %556, label %578

556:                                              ; preds = %549
  %557 = load ptr, ptr @stderr, align 8, !tbaa !9
  %558 = call i32 @fileno(ptr noundef %557) #11
  %559 = call i32 @isatty(i32 noundef %558) #11
  %560 = icmp ne i32 %559, 0
  br i1 %560, label %561, label %578

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

578:                                              ; preds = %556, %549
  %579 = load i32, ptr %6, align 4, !tbaa !5
  %580 = call ptr @__errno_location() #12
  store i32 %579, ptr %580, align 4, !tbaa !5
  %581 = load ptr, ptr @stderr, align 8, !tbaa !9
  %582 = load i32, ptr @test_count, align 4, !tbaa !5
  %583 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %584 = load i32, ptr %583, align 4, !tbaa !5
  %585 = call ptr @s2n_strerror(i32 noundef %584, ptr noundef @.str.11)
  %586 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %587 = load i32, ptr %586, align 4, !tbaa !5
  %588 = call ptr @s2n_strerror_debug(i32 noundef %587, ptr noundef @.str.11)
  %589 = call ptr @__errno_location() #12
  %590 = load i32, ptr %589, align 4, !tbaa !5
  %591 = call ptr @strerror(i32 noundef %590) #11
  %592 = call ptr @__errno_location() #12
  %593 = load i32, ptr %592, align 4, !tbaa !5
  %594 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %581, ptr noundef @.str.12, i32 noundef %582, ptr noundef @.str.10, ptr noundef @.str.8, i32 noundef 107, ptr noundef %585, ptr noundef %588, ptr noundef %591, i32 noundef %593) #11
  br label %595

595:                                              ; preds = %578, %561
  call void @llvm.lifetime.end.p0(i64 4, ptr %6) #11
  br label %596

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

597:                                              ; No predecessors!
  br label %598

598:                                              ; preds = %597, %544
  br label %599

599:                                              ; preds = %598
  br label %600

600:                                              ; preds = %599
  %601 = load i32, ptr @test_count, align 4, !tbaa !5
  %602 = add nsw i32 %601, 1
  store i32 %602, ptr @test_count, align 4, !tbaa !5
  %603 = call i32 @s2n_enable_atexit()
  %604 = icmp eq i32 %603, -1
  br i1 %604, label %605, label %656

605:                                              ; preds = %600
  br label %606

606:                                              ; preds = %605
  br label %607

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

614:                                              ; preds = %607
  %615 = load ptr, ptr @stderr, align 8, !tbaa !9
  %616 = call i32 @fileno(ptr noundef %615) #11
  %617 = call i32 @isatty(i32 noundef %616) #11
  %618 = icmp ne i32 %617, 0
  br i1 %618, label %619, label %636

619:                                              ; preds = %614
  %620 = load i32, ptr %7, align 4, !tbaa !5
  %621 = call ptr @__errno_location() #12
  store i32 %620, ptr %621, align 4, !tbaa !5
  %622 = load ptr, ptr @stderr, align 8, !tbaa !9
  %623 = load i32, ptr @test_count, align 4, !tbaa !5
  %624 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %625 = load i32, ptr %624, align 4, !tbaa !5
  %626 = call ptr @s2n_strerror(i32 noundef %625, ptr noundef @.str.11)
  %627 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %628 = load i32, ptr %627, align 4, !tbaa !5
  %629 = call ptr @s2n_strerror_debug(i32 noundef %628, ptr noundef @.str.11)
  %630 = call ptr @__errno_location() #12
  %631 = load i32, ptr %630, align 4, !tbaa !5
  %632 = call ptr @strerror(i32 noundef %631) #11
  %633 = call ptr @__errno_location() #12
  %634 = load i32, ptr %633, align 4, !tbaa !5
  %635 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %622, ptr noundef @.str.9, i32 noundef %623, ptr noundef @.str.13, ptr noundef @.str.8, i32 noundef 107, ptr noundef %626, ptr noundef %629, ptr noundef %632, i32 noundef %634) #11
  br label %653

636:                                              ; preds = %614, %607
  %637 = load i32, ptr %7, align 4, !tbaa !5
  %638 = call ptr @__errno_location() #12
  store i32 %637, ptr %638, align 4, !tbaa !5
  %639 = load ptr, ptr @stderr, align 8, !tbaa !9
  %640 = load i32, ptr @test_count, align 4, !tbaa !5
  %641 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %642 = load i32, ptr %641, align 4, !tbaa !5
  %643 = call ptr @s2n_strerror(i32 noundef %642, ptr noundef @.str.11)
  %644 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %645 = load i32, ptr %644, align 4, !tbaa !5
  %646 = call ptr @s2n_strerror_debug(i32 noundef %645, ptr noundef @.str.11)
  %647 = call ptr @__errno_location() #12
  %648 = load i32, ptr %647, align 4, !tbaa !5
  %649 = call ptr @strerror(i32 noundef %648) #11
  %650 = call ptr @__errno_location() #12
  %651 = load i32, ptr %650, align 4, !tbaa !5
  %652 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %639, ptr noundef @.str.12, i32 noundef %640, ptr noundef @.str.13, ptr noundef @.str.8, i32 noundef 107, ptr noundef %643, ptr noundef %646, ptr noundef %649, i32 noundef %651) #11
  br label %653

653:                                              ; preds = %636, %619
  call void @llvm.lifetime.end.p0(i64 4, ptr %7) #11
  br label %654

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

655:                                              ; No predecessors!
  br label %656

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

657:                                              ; preds = %656
  br label %658

658:                                              ; preds = %657
  br label %659

659:                                              ; preds = %658
  %660 = call i32 @s2n_init()
  %661 = icmp eq i32 %660, -1
  br i1 %661, label %662, label %713

662:                                              ; preds = %659
  br label %663

663:                                              ; preds = %662
  br label %664

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

671:                                              ; preds = %664
  %672 = load ptr, ptr @stderr, align 8, !tbaa !9
  %673 = call i32 @fileno(ptr noundef %672) #11
  %674 = call i32 @isatty(i32 noundef %673) #11
  %675 = icmp ne i32 %674, 0
  br i1 %675, label %676, label %693

676:                                              ; preds = %671
  %677 = load i32, ptr %8, align 4, !tbaa !5
  %678 = call ptr @__errno_location() #12
  store i32 %677, ptr %678, align 4, !tbaa !5
  %679 = load ptr, ptr @stderr, align 8, !tbaa !9
  %680 = load i32, ptr @test_count, align 4, !tbaa !5
  %681 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %682 = load i32, ptr %681, align 4, !tbaa !5
  %683 = call ptr @s2n_strerror(i32 noundef %682, ptr noundef @.str.11)
  %684 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %685 = load i32, ptr %684, align 4, !tbaa !5
  %686 = call ptr @s2n_strerror_debug(i32 noundef %685, ptr noundef @.str.11)
  %687 = call ptr @__errno_location() #12
  %688 = load i32, ptr %687, align 4, !tbaa !5
  %689 = call ptr @strerror(i32 noundef %688) #11
  %690 = call ptr @__errno_location() #12
  %691 = load i32, ptr %690, align 4, !tbaa !5
  %692 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %679, ptr noundef @.str.9, i32 noundef %680, ptr noundef @.str.14, ptr noundef @.str.8, i32 noundef 107, ptr noundef %683, ptr noundef %686, ptr noundef %689, i32 noundef %691) #11
  br label %710

693:                                              ; preds = %671, %664
  %694 = load i32, ptr %8, align 4, !tbaa !5
  %695 = call ptr @__errno_location() #12
  store i32 %694, ptr %695, align 4, !tbaa !5
  %696 = load ptr, ptr @stderr, align 8, !tbaa !9
  %697 = load i32, ptr @test_count, align 4, !tbaa !5
  %698 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %699 = load i32, ptr %698, align 4, !tbaa !5
  %700 = call ptr @s2n_strerror(i32 noundef %699, ptr noundef @.str.11)
  %701 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %702 = load i32, ptr %701, align 4, !tbaa !5
  %703 = call ptr @s2n_strerror_debug(i32 noundef %702, ptr noundef @.str.11)
  %704 = call ptr @__errno_location() #12
  %705 = load i32, ptr %704, align 4, !tbaa !5
  %706 = call ptr @strerror(i32 noundef %705) #11
  %707 = call ptr @__errno_location() #12
  %708 = load i32, ptr %707, align 4, !tbaa !5
  %709 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %696, ptr noundef @.str.12, i32 noundef %697, ptr noundef @.str.14, ptr noundef @.str.8, i32 noundef 107, ptr noundef %700, ptr noundef %703, ptr noundef %706, i32 noundef %708) #11
  br label %710

710:                                              ; preds = %693, %676
  call void @llvm.lifetime.end.p0(i64 4, ptr %8) #11
  br label %711

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

712:                                              ; No predecessors!
  br label %713

713:                                              ; preds = %712, %659
  br label %714

714:                                              ; preds = %713
  br label %715

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

716:                                              ; preds = %715
  %717 = load i32, ptr @test_count, align 4, !tbaa !5
  %718 = add nsw i32 %717, 1
  store i32 %718, ptr @test_count, align 4, !tbaa !5
  %719 = call i32 @s2n_test_cert_chain_and_key_new(ptr noundef %9, ptr noundef @.str.15, ptr noundef @.str.16)
  %720 = icmp eq i32 %719, -1
  br i1 %720, label %721, label %774

721:                                              ; preds = %716
  br label %722

722:                                              ; preds = %721
  br label %723

723:                                              ; preds = %722
  call void @llvm.lifetime.start.p0(i64 4, ptr %10) #11
  %724 = call ptr @__errno_location() #12
  %725 = load i32, ptr %724, align 4, !tbaa !5
  store i32 %725, ptr %10, align 4, !tbaa !5
  %726 = load ptr, ptr @stderr, align 8, !tbaa !9
  %727 = call i32 @s2n_print_stacktrace(ptr noundef %726)
  %728 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %729 = trunc i8 %728 to i1
  br i1 %729, label %730, label %752

730:                                              ; preds = %723
  %731 = load ptr, ptr @stderr, align 8, !tbaa !9
  %732 = call i32 @fileno(ptr noundef %731) #11
  %733 = call i32 @isatty(i32 noundef %732) #11
  %734 = icmp ne i32 %733, 0
  br i1 %734, label %735, label %752

735:                                              ; preds = %730
  %736 = load i32, ptr %10, align 4, !tbaa !5
  %737 = call ptr @__errno_location() #12
  store i32 %736, ptr %737, align 4, !tbaa !5
  %738 = load ptr, ptr @stderr, align 8, !tbaa !9
  %739 = load i32, ptr @test_count, align 4, !tbaa !5
  %740 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %741 = load i32, ptr %740, align 4, !tbaa !5
  %742 = call ptr @s2n_strerror(i32 noundef %741, ptr noundef @.str.11)
  %743 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %744 = load i32, ptr %743, align 4, !tbaa !5
  %745 = call ptr @s2n_strerror_debug(i32 noundef %744, ptr noundef @.str.11)
  %746 = call ptr @__errno_location() #12
  %747 = load i32, ptr %746, align 4, !tbaa !5
  %748 = call ptr @strerror(i32 noundef %747) #11
  %749 = call ptr @__errno_location() #12
  %750 = load i32, ptr %749, align 4, !tbaa !5
  %751 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %738, ptr noundef @.str.9, i32 noundef %739, ptr noundef @.str.17, ptr noundef @.str.8, i32 noundef 111, ptr noundef %742, ptr noundef %745, ptr noundef %748, i32 noundef %750) #11
  br label %769

752:                                              ; preds = %730, %723
  %753 = load i32, ptr %10, align 4, !tbaa !5
  %754 = call ptr @__errno_location() #12
  store i32 %753, ptr %754, align 4, !tbaa !5
  %755 = load ptr, ptr @stderr, align 8, !tbaa !9
  %756 = load i32, ptr @test_count, align 4, !tbaa !5
  %757 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %758 = load i32, ptr %757, align 4, !tbaa !5
  %759 = call ptr @s2n_strerror(i32 noundef %758, ptr noundef @.str.11)
  %760 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %761 = load i32, ptr %760, align 4, !tbaa !5
  %762 = call ptr @s2n_strerror_debug(i32 noundef %761, ptr noundef @.str.11)
  %763 = call ptr @__errno_location() #12
  %764 = load i32, ptr %763, align 4, !tbaa !5
  %765 = call ptr @strerror(i32 noundef %764) #11
  %766 = call ptr @__errno_location() #12
  %767 = load i32, ptr %766, align 4, !tbaa !5
  %768 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %755, ptr noundef @.str.12, i32 noundef %756, ptr noundef @.str.17, ptr noundef @.str.8, i32 noundef 111, ptr noundef %759, ptr noundef %762, ptr noundef %765, i32 noundef %767) #11
  br label %769

769:                                              ; preds = %752, %735
  call void @llvm.lifetime.end.p0(i64 4, ptr %10) #11
  br label %770

770:                                              ; preds = %769
  br label %771

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

772:                                              ; No predecessors!
  br label %773

773:                                              ; preds = %772
  br label %774

774:                                              ; preds = %773, %716
  br label %775

775:                                              ; preds = %774
  br label %776

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

777:                                              ; preds = %776
  %778 = load i32, ptr @test_count, align 4, !tbaa !5
  %779 = add nsw i32 %778, 1
  store i32 %779, ptr @test_count, align 4, !tbaa !5
  %780 = call i32 @s2n_test_cert_chain_and_key_new(ptr noundef %11, ptr noundef @.str.18, ptr noundef @.str.19)
  %781 = icmp eq i32 %780, -1
  br i1 %781, label %782, label %835

782:                                              ; preds = %777
  br label %783

783:                                              ; preds = %782
  br label %784

784:                                              ; preds = %783
  call void @llvm.lifetime.start.p0(i64 4, ptr %12) #11
  %785 = call ptr @__errno_location() #12
  %786 = load i32, ptr %785, align 4, !tbaa !5
  store i32 %786, ptr %12, align 4, !tbaa !5
  %787 = load ptr, ptr @stderr, align 8, !tbaa !9
  %788 = call i32 @s2n_print_stacktrace(ptr noundef %787)
  %789 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %790 = trunc i8 %789 to i1
  br i1 %790, label %791, label %813

791:                                              ; preds = %784
  %792 = load ptr, ptr @stderr, align 8, !tbaa !9
  %793 = call i32 @fileno(ptr noundef %792) #11
  %794 = call i32 @isatty(i32 noundef %793) #11
  %795 = icmp ne i32 %794, 0
  br i1 %795, label %796, label %813

796:                                              ; preds = %791
  %797 = load i32, ptr %12, align 4, !tbaa !5
  %798 = call ptr @__errno_location() #12
  store i32 %797, ptr %798, align 4, !tbaa !5
  %799 = load ptr, ptr @stderr, align 8, !tbaa !9
  %800 = load i32, ptr @test_count, align 4, !tbaa !5
  %801 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %802 = load i32, ptr %801, align 4, !tbaa !5
  %803 = call ptr @s2n_strerror(i32 noundef %802, ptr noundef @.str.11)
  %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_debug(i32 noundef %805, ptr noundef @.str.11)
  %807 = call ptr @__errno_location() #12
  %808 = load i32, ptr %807, align 4, !tbaa !5
  %809 = call ptr @strerror(i32 noundef %808) #11
  %810 = call ptr @__errno_location() #12
  %811 = load i32, ptr %810, align 4, !tbaa !5
  %812 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %799, ptr noundef @.str.9, i32 noundef %800, ptr noundef @.str.20, ptr noundef @.str.8, i32 noundef 115, ptr noundef %803, ptr noundef %806, ptr noundef %809, i32 noundef %811) #11
  br label %830

813:                                              ; preds = %791, %784
  %814 = load i32, ptr %12, align 4, !tbaa !5
  %815 = call ptr @__errno_location() #12
  store i32 %814, ptr %815, align 4, !tbaa !5
  %816 = load ptr, ptr @stderr, align 8, !tbaa !9
  %817 = load i32, ptr @test_count, align 4, !tbaa !5
  %818 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %819 = load i32, ptr %818, align 4, !tbaa !5
  %820 = call ptr @s2n_strerror(i32 noundef %819, ptr noundef @.str.11)
  %821 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %822 = load i32, ptr %821, align 4, !tbaa !5
  %823 = call ptr @s2n_strerror_debug(i32 noundef %822, ptr noundef @.str.11)
  %824 = call ptr @__errno_location() #12
  %825 = load i32, ptr %824, align 4, !tbaa !5
  %826 = call ptr @strerror(i32 noundef %825) #11
  %827 = call ptr @__errno_location() #12
  %828 = load i32, ptr %827, align 4, !tbaa !5
  %829 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %816, ptr noundef @.str.12, i32 noundef %817, ptr noundef @.str.20, ptr noundef @.str.8, i32 noundef 115, ptr noundef %820, ptr noundef %823, ptr noundef %826, i32 noundef %828) #11
  br label %830

830:                                              ; preds = %813, %796
  call void @llvm.lifetime.end.p0(i64 4, ptr %12) #11
  br label %831

831:                                              ; preds = %830
  br label %832

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

833:                                              ; No predecessors!
  br label %834

834:                                              ; preds = %833
  br label %835

835:                                              ; preds = %834, %777
  br label %836

836:                                              ; preds = %835
  br label %837

837:                                              ; preds = %836
  call void @llvm.lifetime.start.p0(i64 8, ptr %13) #11
  store ptr @.str.21, ptr %13, align 8, !tbaa !9
  br label %838

838:                                              ; preds = %837
  %839 = load i32, ptr @test_count, align 4, !tbaa !5
  %840 = add nsw i32 %839, 1
  store i32 %840, ptr @test_count, align 4, !tbaa !5
  %841 = call ptr @s2n_get_server_name(ptr noundef null)
  %842 = icmp eq ptr %841, null
  br i1 %842, label %896, label %843

843:                                              ; preds = %838
  br label %844

844:                                              ; preds = %843
  br label %845

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

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

857:                                              ; preds = %852
  %858 = load i32, ptr %14, align 4, !tbaa !5
  %859 = call ptr @__errno_location() #12
  store i32 %858, ptr %859, align 4, !tbaa !5
  %860 = load ptr, ptr @stderr, align 8, !tbaa !9
  %861 = load i32, ptr @test_count, align 4, !tbaa !5
  %862 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %863 = load i32, ptr %862, align 4, !tbaa !5
  %864 = call ptr @s2n_strerror(i32 noundef %863, ptr noundef @.str.11)
  %865 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %866 = load i32, ptr %865, align 4, !tbaa !5
  %867 = call ptr @s2n_strerror_debug(i32 noundef %866, ptr noundef @.str.11)
  %868 = call ptr @__errno_location() #12
  %869 = load i32, ptr %868, align 4, !tbaa !5
  %870 = call ptr @strerror(i32 noundef %869) #11
  %871 = call ptr @__errno_location() #12
  %872 = load i32, ptr %871, align 4, !tbaa !5
  %873 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %860, ptr noundef @.str.9, i32 noundef %861, ptr noundef @.str.22, ptr noundef @.str.8, i32 noundef 122, ptr noundef %864, ptr noundef %867, ptr noundef %870, i32 noundef %872) #11
  br label %891

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

891:                                              ; preds = %874, %857
  call void @llvm.lifetime.end.p0(i64 4, ptr %14) #11
  br label %892

892:                                              ; preds = %891
  br label %893

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

894:                                              ; No predecessors!
  br label %895

895:                                              ; preds = %894
  br label %896

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

897:                                              ; preds = %896
  br label %898

898:                                              ; preds = %897
  call void @llvm.lifetime.start.p0(i64 8, ptr %15) #11
  store ptr null, ptr %15, align 8, !tbaa !9
  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 ptr @s2n_connection_new(i32 noundef 1)
  store ptr %902, ptr %15, align 8, !tbaa !9
  %903 = icmp eq ptr %902, null
  br i1 %903, label %904, label %957

904:                                              ; preds = %899
  br label %905

905:                                              ; preds = %904
  br label %906

906:                                              ; preds = %905
  call void @llvm.lifetime.start.p0(i64 4, ptr %16) #11
  %907 = call ptr @__errno_location() #12
  %908 = load i32, ptr %907, align 4, !tbaa !5
  store i32 %908, ptr %16, 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 %16, 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.11)
  %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.11)
  %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.9, i32 noundef %922, ptr noundef @.str.23, ptr noundef @.str.8, i32 noundef 127, ptr noundef %925, ptr noundef %928, ptr noundef %931, i32 noundef %933) #11
  br label %952

935:                                              ; preds = %913, %906
  %936 = load i32, ptr %16, 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.11)
  %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.11)
  %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.12, i32 noundef %939, ptr noundef @.str.23, ptr noundef @.str.8, i32 noundef 127, 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 %16) #11
  br label %953

953:                                              ; preds = %952
  br label %954

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

955:                                              ; No predecessors!
  br label %956

956:                                              ; preds = %955
  br label %957

957:                                              ; preds = %956, %899
  br label %958

958:                                              ; preds = %957
  br label %959

959:                                              ; preds = %958
  br label %960

960:                                              ; preds = %959
  %961 = load i32, ptr @test_count, align 4, !tbaa !5
  %962 = add nsw i32 %961, 1
  store i32 %962, ptr @test_count, align 4, !tbaa !5
  %963 = load ptr, ptr %15, align 8, !tbaa !9
  %964 = call ptr @s2n_get_server_name(ptr noundef %963)
  %965 = icmp eq ptr %964, null
  br i1 %965, label %1019, label %966

966:                                              ; preds = %960
  br label %967

967:                                              ; preds = %966
  br label %968

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

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

980:                                              ; preds = %975
  %981 = load i32, ptr %17, align 4, !tbaa !5
  %982 = call ptr @__errno_location() #12
  store i32 %981, ptr %982, align 4, !tbaa !5
  %983 = load ptr, ptr @stderr, align 8, !tbaa !9
  %984 = load i32, ptr @test_count, align 4, !tbaa !5
  %985 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %986 = load i32, ptr %985, align 4, !tbaa !5
  %987 = call ptr @s2n_strerror(i32 noundef %986, ptr noundef @.str.11)
  %988 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %989 = load i32, ptr %988, align 4, !tbaa !5
  %990 = call ptr @s2n_strerror_debug(i32 noundef %989, ptr noundef @.str.11)
  %991 = call ptr @__errno_location() #12
  %992 = load i32, ptr %991, align 4, !tbaa !5
  %993 = call ptr @strerror(i32 noundef %992) #11
  %994 = call ptr @__errno_location() #12
  %995 = load i32, ptr %994, align 4, !tbaa !5
  %996 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %983, ptr noundef @.str.9, i32 noundef %984, ptr noundef @.str.24, ptr noundef @.str.8, i32 noundef 129, ptr noundef %987, ptr noundef %990, ptr noundef %993, i32 noundef %995) #11
  br label %1014

997:                                              ; preds = %975, %968
  %998 = load i32, ptr %17, align 4, !tbaa !5
  %999 = call ptr @__errno_location() #12
  store i32 %998, ptr %999, align 4, !tbaa !5
  %1000 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1001 = load i32, ptr @test_count, align 4, !tbaa !5
  %1002 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1003 = load i32, ptr %1002, align 4, !tbaa !5
  %1004 = call ptr @s2n_strerror(i32 noundef %1003, ptr noundef @.str.11)
  %1005 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1006 = load i32, ptr %1005, align 4, !tbaa !5
  %1007 = call ptr @s2n_strerror_debug(i32 noundef %1006, ptr noundef @.str.11)
  %1008 = call ptr @__errno_location() #12
  %1009 = load i32, ptr %1008, align 4, !tbaa !5
  %1010 = call ptr @strerror(i32 noundef %1009) #11
  %1011 = call ptr @__errno_location() #12
  %1012 = load i32, ptr %1011, align 4, !tbaa !5
  %1013 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1000, ptr noundef @.str.12, i32 noundef %1001, ptr noundef @.str.24, ptr noundef @.str.8, i32 noundef 129, ptr noundef %1004, ptr noundef %1007, ptr noundef %1010, i32 noundef %1012) #11
  br label %1014

1014:                                             ; preds = %997, %980
  call void @llvm.lifetime.end.p0(i64 4, ptr %17) #11
  br label %1015

1015:                                             ; preds = %1014
  br label %1016

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

1017:                                             ; No predecessors!
  br label %1018

1018:                                             ; preds = %1017
  br label %1019

1019:                                             ; preds = %1018, %960
  br label %1020

1020:                                             ; preds = %1019
  br label %1021

1021:                                             ; preds = %1020
  br label %1022

1022:                                             ; preds = %1021
  %1023 = load i32, ptr @test_count, align 4, !tbaa !5
  %1024 = add nsw i32 %1023, 1
  store i32 %1024, ptr @test_count, align 4, !tbaa !5
  %1025 = load ptr, ptr %15, align 8, !tbaa !9
  %1026 = call i32 @s2n_connection_free(ptr noundef %1025)
  %1027 = icmp eq i32 %1026, -1
  br i1 %1027, label %1028, label %1081

1028:                                             ; preds = %1022
  br label %1029

1029:                                             ; preds = %1028
  br label %1030

1030:                                             ; preds = %1029
  call void @llvm.lifetime.start.p0(i64 4, ptr %18) #11
  %1031 = call ptr @__errno_location() #12
  %1032 = load i32, ptr %1031, align 4, !tbaa !5
  store i32 %1032, ptr %18, align 4, !tbaa !5
  %1033 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1034 = call i32 @s2n_print_stacktrace(ptr noundef %1033)
  %1035 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1036 = trunc i8 %1035 to i1
  br i1 %1036, label %1037, label %1059

1037:                                             ; preds = %1030
  %1038 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1039 = call i32 @fileno(ptr noundef %1038) #11
  %1040 = call i32 @isatty(i32 noundef %1039) #11
  %1041 = icmp ne i32 %1040, 0
  br i1 %1041, label %1042, label %1059

1042:                                             ; preds = %1037
  %1043 = load i32, ptr %18, align 4, !tbaa !5
  %1044 = call ptr @__errno_location() #12
  store i32 %1043, ptr %1044, align 4, !tbaa !5
  %1045 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1046 = load i32, ptr @test_count, align 4, !tbaa !5
  %1047 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1048 = load i32, ptr %1047, align 4, !tbaa !5
  %1049 = call ptr @s2n_strerror(i32 noundef %1048, ptr noundef @.str.11)
  %1050 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1051 = load i32, ptr %1050, align 4, !tbaa !5
  %1052 = call ptr @s2n_strerror_debug(i32 noundef %1051, ptr noundef @.str.11)
  %1053 = call ptr @__errno_location() #12
  %1054 = load i32, ptr %1053, align 4, !tbaa !5
  %1055 = call ptr @strerror(i32 noundef %1054) #11
  %1056 = call ptr @__errno_location() #12
  %1057 = load i32, ptr %1056, align 4, !tbaa !5
  %1058 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1045, ptr noundef @.str.9, i32 noundef %1046, ptr noundef @.str.25, ptr noundef @.str.8, i32 noundef 131, ptr noundef %1049, ptr noundef %1052, ptr noundef %1055, i32 noundef %1057) #11
  br label %1076

1059:                                             ; preds = %1037, %1030
  %1060 = load i32, ptr %18, align 4, !tbaa !5
  %1061 = call ptr @__errno_location() #12
  store i32 %1060, ptr %1061, align 4, !tbaa !5
  %1062 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1063 = load i32, ptr @test_count, align 4, !tbaa !5
  %1064 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1065 = load i32, ptr %1064, align 4, !tbaa !5
  %1066 = call ptr @s2n_strerror(i32 noundef %1065, ptr noundef @.str.11)
  %1067 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1068 = load i32, ptr %1067, align 4, !tbaa !5
  %1069 = call ptr @s2n_strerror_debug(i32 noundef %1068, ptr noundef @.str.11)
  %1070 = call ptr @__errno_location() #12
  %1071 = load i32, ptr %1070, align 4, !tbaa !5
  %1072 = call ptr @strerror(i32 noundef %1071) #11
  %1073 = call ptr @__errno_location() #12
  %1074 = load i32, ptr %1073, align 4, !tbaa !5
  %1075 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1062, ptr noundef @.str.12, i32 noundef %1063, ptr noundef @.str.25, ptr noundef @.str.8, i32 noundef 131, ptr noundef %1066, ptr noundef %1069, ptr noundef %1072, i32 noundef %1074) #11
  br label %1076

1076:                                             ; preds = %1059, %1042
  call void @llvm.lifetime.end.p0(i64 4, ptr %18) #11
  br label %1077

1077:                                             ; preds = %1076
  br label %1078

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

1079:                                             ; No predecessors!
  br label %1080

1080:                                             ; preds = %1079
  br label %1081

1081:                                             ; preds = %1080, %1022
  br label %1082

1082:                                             ; preds = %1081
  br label %1083

1083:                                             ; preds = %1082
  call void @llvm.lifetime.end.p0(i64 8, ptr %15) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %19) #11
  store ptr null, ptr %19, align 8, !tbaa !9
  br label %1084

1084:                                             ; preds = %1083
  %1085 = load i32, ptr @test_count, align 4, !tbaa !5
  %1086 = add nsw i32 %1085, 1
  store i32 %1086, ptr @test_count, align 4, !tbaa !5
  %1087 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %1087, ptr %19, align 8, !tbaa !9
  %1088 = icmp eq ptr %1087, null
  br i1 %1088, label %1089, label %1142

1089:                                             ; preds = %1084
  br label %1090

1090:                                             ; preds = %1089
  br label %1091

1091:                                             ; preds = %1090
  call void @llvm.lifetime.start.p0(i64 4, ptr %20) #11
  %1092 = call ptr @__errno_location() #12
  %1093 = load i32, ptr %1092, align 4, !tbaa !5
  store i32 %1093, ptr %20, align 4, !tbaa !5
  %1094 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1095 = call i32 @s2n_print_stacktrace(ptr noundef %1094)
  %1096 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1097 = trunc i8 %1096 to i1
  br i1 %1097, label %1098, label %1120

1098:                                             ; preds = %1091
  %1099 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1100 = call i32 @fileno(ptr noundef %1099) #11
  %1101 = call i32 @isatty(i32 noundef %1100) #11
  %1102 = icmp ne i32 %1101, 0
  br i1 %1102, label %1103, label %1120

1103:                                             ; preds = %1098
  %1104 = load i32, ptr %20, align 4, !tbaa !5
  %1105 = call ptr @__errno_location() #12
  store i32 %1104, ptr %1105, align 4, !tbaa !5
  %1106 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1107 = load i32, ptr @test_count, align 4, !tbaa !5
  %1108 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1109 = load i32, ptr %1108, align 4, !tbaa !5
  %1110 = call ptr @s2n_strerror(i32 noundef %1109, ptr noundef @.str.11)
  %1111 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1112 = load i32, ptr %1111, align 4, !tbaa !5
  %1113 = call ptr @s2n_strerror_debug(i32 noundef %1112, ptr noundef @.str.11)
  %1114 = call ptr @__errno_location() #12
  %1115 = load i32, ptr %1114, align 4, !tbaa !5
  %1116 = call ptr @strerror(i32 noundef %1115) #11
  %1117 = call ptr @__errno_location() #12
  %1118 = load i32, ptr %1117, align 4, !tbaa !5
  %1119 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1106, ptr noundef @.str.9, i32 noundef %1107, ptr noundef @.str.23, ptr noundef @.str.8, i32 noundef 137, ptr noundef %1110, ptr noundef %1113, ptr noundef %1116, i32 noundef %1118) #11
  br label %1137

1120:                                             ; preds = %1098, %1091
  %1121 = load i32, ptr %20, align 4, !tbaa !5
  %1122 = call ptr @__errno_location() #12
  store i32 %1121, ptr %1122, align 4, !tbaa !5
  %1123 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1124 = load i32, ptr @test_count, align 4, !tbaa !5
  %1125 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1126 = load i32, ptr %1125, align 4, !tbaa !5
  %1127 = call ptr @s2n_strerror(i32 noundef %1126, ptr noundef @.str.11)
  %1128 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1129 = load i32, ptr %1128, align 4, !tbaa !5
  %1130 = call ptr @s2n_strerror_debug(i32 noundef %1129, ptr noundef @.str.11)
  %1131 = call ptr @__errno_location() #12
  %1132 = load i32, ptr %1131, align 4, !tbaa !5
  %1133 = call ptr @strerror(i32 noundef %1132) #11
  %1134 = call ptr @__errno_location() #12
  %1135 = load i32, ptr %1134, align 4, !tbaa !5
  %1136 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1123, ptr noundef @.str.12, i32 noundef %1124, ptr noundef @.str.23, ptr noundef @.str.8, i32 noundef 137, ptr noundef %1127, ptr noundef %1130, ptr noundef %1133, i32 noundef %1135) #11
  br label %1137

1137:                                             ; preds = %1120, %1103
  call void @llvm.lifetime.end.p0(i64 4, ptr %20) #11
  br label %1138

1138:                                             ; preds = %1137
  br label %1139

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

1140:                                             ; No predecessors!
  br label %1141

1141:                                             ; preds = %1140
  br label %1142

1142:                                             ; preds = %1141, %1084
  br label %1143

1143:                                             ; preds = %1142
  br label %1144

1144:                                             ; preds = %1143
  br label %1145

1145:                                             ; preds = %1144
  %1146 = load i32, ptr @test_count, align 4, !tbaa !5
  %1147 = add nsw i32 %1146, 1
  store i32 %1147, ptr @test_count, align 4, !tbaa !5
  %1148 = load ptr, ptr %19, align 8, !tbaa !9
  %1149 = load ptr, ptr %13, align 8, !tbaa !9
  %1150 = call i32 @s2n_set_server_name(ptr noundef %1148, ptr noundef %1149)
  %1151 = icmp eq i32 %1150, -1
  br i1 %1151, label %1152, label %1205

1152:                                             ; preds = %1145
  br label %1153

1153:                                             ; preds = %1152
  br label %1154

1154:                                             ; preds = %1153
  call void @llvm.lifetime.start.p0(i64 4, ptr %21) #11
  %1155 = call ptr @__errno_location() #12
  %1156 = load i32, ptr %1155, align 4, !tbaa !5
  store i32 %1156, ptr %21, align 4, !tbaa !5
  %1157 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1158 = call i32 @s2n_print_stacktrace(ptr noundef %1157)
  %1159 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1160 = trunc i8 %1159 to i1
  br i1 %1160, label %1161, label %1183

1161:                                             ; preds = %1154
  %1162 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1163 = call i32 @fileno(ptr noundef %1162) #11
  %1164 = call i32 @isatty(i32 noundef %1163) #11
  %1165 = icmp ne i32 %1164, 0
  br i1 %1165, label %1166, label %1183

1166:                                             ; preds = %1161
  %1167 = load i32, ptr %21, align 4, !tbaa !5
  %1168 = call ptr @__errno_location() #12
  store i32 %1167, ptr %1168, align 4, !tbaa !5
  %1169 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1170 = load i32, ptr @test_count, align 4, !tbaa !5
  %1171 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1172 = load i32, ptr %1171, align 4, !tbaa !5
  %1173 = call ptr @s2n_strerror(i32 noundef %1172, ptr noundef @.str.11)
  %1174 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1175 = load i32, ptr %1174, align 4, !tbaa !5
  %1176 = call ptr @s2n_strerror_debug(i32 noundef %1175, ptr noundef @.str.11)
  %1177 = call ptr @__errno_location() #12
  %1178 = load i32, ptr %1177, align 4, !tbaa !5
  %1179 = call ptr @strerror(i32 noundef %1178) #11
  %1180 = call ptr @__errno_location() #12
  %1181 = load i32, ptr %1180, align 4, !tbaa !5
  %1182 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1169, ptr noundef @.str.9, i32 noundef %1170, ptr noundef @.str.26, ptr noundef @.str.8, i32 noundef 138, ptr noundef %1173, ptr noundef %1176, ptr noundef %1179, i32 noundef %1181) #11
  br label %1200

1183:                                             ; preds = %1161, %1154
  %1184 = load i32, ptr %21, align 4, !tbaa !5
  %1185 = call ptr @__errno_location() #12
  store i32 %1184, ptr %1185, 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 @.str.11)
  %1191 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1192 = load i32, ptr %1191, align 4, !tbaa !5
  %1193 = call ptr @s2n_strerror_debug(i32 noundef %1192, ptr noundef @.str.11)
  %1194 = call ptr @__errno_location() #12
  %1195 = load i32, ptr %1194, align 4, !tbaa !5
  %1196 = call ptr @strerror(i32 noundef %1195) #11
  %1197 = call ptr @__errno_location() #12
  %1198 = load i32, ptr %1197, align 4, !tbaa !5
  %1199 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1186, ptr noundef @.str.12, i32 noundef %1187, ptr noundef @.str.26, ptr noundef @.str.8, i32 noundef 138, ptr noundef %1190, ptr noundef %1193, ptr noundef %1196, i32 noundef %1198) #11
  br label %1200

1200:                                             ; preds = %1183, %1166
  call void @llvm.lifetime.end.p0(i64 4, ptr %21) #11
  br label %1201

1201:                                             ; preds = %1200
  br label %1202

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

1203:                                             ; No predecessors!
  br label %1204

1204:                                             ; preds = %1203
  br label %1205

1205:                                             ; preds = %1204, %1145
  br label %1206

1206:                                             ; preds = %1205
  br label %1207

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

1208:                                             ; preds = %1207
  %1209 = load i32, ptr @test_count, align 4, !tbaa !5
  %1210 = add nsw i32 %1209, 1
  store i32 %1210, ptr @test_count, align 4, !tbaa !5
  %1211 = load ptr, ptr %19, align 8, !tbaa !9
  %1212 = call ptr @s2n_get_server_name(ptr noundef %1211)
  store ptr %1212, ptr %22, align 8, !tbaa !9
  %1213 = icmp eq ptr %1212, null
  br i1 %1213, label %1214, label %1267

1214:                                             ; preds = %1208
  br label %1215

1215:                                             ; preds = %1214
  br label %1216

1216:                                             ; preds = %1215
  call void @llvm.lifetime.start.p0(i64 4, ptr %23) #11
  %1217 = call ptr @__errno_location() #12
  %1218 = load i32, ptr %1217, align 4, !tbaa !5
  store i32 %1218, ptr %23, align 4, !tbaa !5
  %1219 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1220 = call i32 @s2n_print_stacktrace(ptr noundef %1219)
  %1221 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1222 = trunc i8 %1221 to i1
  br i1 %1222, label %1223, label %1245

1223:                                             ; preds = %1216
  %1224 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1225 = call i32 @fileno(ptr noundef %1224) #11
  %1226 = call i32 @isatty(i32 noundef %1225) #11
  %1227 = icmp ne i32 %1226, 0
  br i1 %1227, label %1228, label %1245

1228:                                             ; preds = %1223
  %1229 = load i32, ptr %23, align 4, !tbaa !5
  %1230 = call ptr @__errno_location() #12
  store i32 %1229, ptr %1230, align 4, !tbaa !5
  %1231 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1232 = load i32, ptr @test_count, align 4, !tbaa !5
  %1233 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1234 = load i32, ptr %1233, align 4, !tbaa !5
  %1235 = call ptr @s2n_strerror(i32 noundef %1234, ptr noundef @.str.11)
  %1236 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1237 = load i32, ptr %1236, align 4, !tbaa !5
  %1238 = call ptr @s2n_strerror_debug(i32 noundef %1237, ptr noundef @.str.11)
  %1239 = call ptr @__errno_location() #12
  %1240 = load i32, ptr %1239, align 4, !tbaa !5
  %1241 = call ptr @strerror(i32 noundef %1240) #11
  %1242 = call ptr @__errno_location() #12
  %1243 = load i32, ptr %1242, align 4, !tbaa !5
  %1244 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1231, ptr noundef @.str.9, i32 noundef %1232, ptr noundef @.str.27, ptr noundef @.str.8, i32 noundef 141, ptr noundef %1235, ptr noundef %1238, ptr noundef %1241, i32 noundef %1243) #11
  br label %1262

1245:                                             ; preds = %1223, %1216
  %1246 = load i32, ptr %23, align 4, !tbaa !5
  %1247 = call ptr @__errno_location() #12
  store i32 %1246, ptr %1247, align 4, !tbaa !5
  %1248 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1249 = load i32, ptr @test_count, align 4, !tbaa !5
  %1250 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1251 = load i32, ptr %1250, align 4, !tbaa !5
  %1252 = call ptr @s2n_strerror(i32 noundef %1251, ptr noundef @.str.11)
  %1253 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1254 = load i32, ptr %1253, align 4, !tbaa !5
  %1255 = call ptr @s2n_strerror_debug(i32 noundef %1254, ptr noundef @.str.11)
  %1256 = call ptr @__errno_location() #12
  %1257 = load i32, ptr %1256, align 4, !tbaa !5
  %1258 = call ptr @strerror(i32 noundef %1257) #11
  %1259 = call ptr @__errno_location() #12
  %1260 = load i32, ptr %1259, align 4, !tbaa !5
  %1261 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1248, ptr noundef @.str.12, i32 noundef %1249, ptr noundef @.str.27, ptr noundef @.str.8, i32 noundef 141, ptr noundef %1252, ptr noundef %1255, ptr noundef %1258, i32 noundef %1260) #11
  br label %1262

1262:                                             ; preds = %1245, %1228
  call void @llvm.lifetime.end.p0(i64 4, ptr %23) #11
  br label %1263

1263:                                             ; preds = %1262
  br label %1264

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

1265:                                             ; No predecessors!
  br label %1266

1266:                                             ; preds = %1265
  br label %1267

1267:                                             ; preds = %1266, %1208
  br label %1268

1268:                                             ; preds = %1267
  br label %1269

1269:                                             ; preds = %1268
  br label %1270

1270:                                             ; preds = %1269
  %1271 = load i32, ptr @test_count, align 4, !tbaa !5
  %1272 = add nsw i32 %1271, 1
  store i32 %1272, ptr @test_count, align 4, !tbaa !5
  %1273 = load ptr, ptr %22, align 8, !tbaa !9
  %1274 = load ptr, ptr %13, align 8, !tbaa !9
  %1275 = call i32 @strcmp(ptr noundef %1273, ptr noundef %1274) #14
  %1276 = icmp eq i32 %1275, 0
  br i1 %1276, label %1330, label %1277

1277:                                             ; preds = %1270
  br label %1278

1278:                                             ; preds = %1277
  br label %1279

1279:                                             ; preds = %1278
  call void @llvm.lifetime.start.p0(i64 4, ptr %24) #11
  %1280 = call ptr @__errno_location() #12
  %1281 = load i32, ptr %1280, align 4, !tbaa !5
  store i32 %1281, ptr %24, align 4, !tbaa !5
  %1282 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1283 = call i32 @s2n_print_stacktrace(ptr noundef %1282)
  %1284 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1285 = trunc i8 %1284 to i1
  br i1 %1285, label %1286, label %1308

1286:                                             ; preds = %1279
  %1287 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1288 = call i32 @fileno(ptr noundef %1287) #11
  %1289 = call i32 @isatty(i32 noundef %1288) #11
  %1290 = icmp ne i32 %1289, 0
  br i1 %1290, label %1291, label %1308

1291:                                             ; preds = %1286
  %1292 = load i32, ptr %24, align 4, !tbaa !5
  %1293 = call ptr @__errno_location() #12
  store i32 %1292, ptr %1293, align 4, !tbaa !5
  %1294 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1295 = load i32, ptr @test_count, align 4, !tbaa !5
  %1296 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1297 = load i32, ptr %1296, align 4, !tbaa !5
  %1298 = call ptr @s2n_strerror(i32 noundef %1297, ptr noundef @.str.11)
  %1299 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1300 = load i32, ptr %1299, align 4, !tbaa !5
  %1301 = call ptr @s2n_strerror_debug(i32 noundef %1300, ptr noundef @.str.11)
  %1302 = call ptr @__errno_location() #12
  %1303 = load i32, ptr %1302, align 4, !tbaa !5
  %1304 = call ptr @strerror(i32 noundef %1303) #11
  %1305 = call ptr @__errno_location() #12
  %1306 = load i32, ptr %1305, align 4, !tbaa !5
  %1307 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1294, ptr noundef @.str.9, i32 noundef %1295, ptr noundef @.str.28, ptr noundef @.str.8, i32 noundef 142, ptr noundef %1298, ptr noundef %1301, ptr noundef %1304, i32 noundef %1306) #11
  br label %1325

1308:                                             ; preds = %1286, %1279
  %1309 = load i32, ptr %24, align 4, !tbaa !5
  %1310 = call ptr @__errno_location() #12
  store i32 %1309, ptr %1310, align 4, !tbaa !5
  %1311 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1312 = load i32, ptr @test_count, align 4, !tbaa !5
  %1313 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1314 = load i32, ptr %1313, align 4, !tbaa !5
  %1315 = call ptr @s2n_strerror(i32 noundef %1314, ptr noundef @.str.11)
  %1316 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1317 = load i32, ptr %1316, align 4, !tbaa !5
  %1318 = call ptr @s2n_strerror_debug(i32 noundef %1317, ptr noundef @.str.11)
  %1319 = call ptr @__errno_location() #12
  %1320 = load i32, ptr %1319, align 4, !tbaa !5
  %1321 = call ptr @strerror(i32 noundef %1320) #11
  %1322 = call ptr @__errno_location() #12
  %1323 = load i32, ptr %1322, align 4, !tbaa !5
  %1324 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1311, ptr noundef @.str.12, i32 noundef %1312, ptr noundef @.str.28, ptr noundef @.str.8, i32 noundef 142, ptr noundef %1315, ptr noundef %1318, ptr noundef %1321, i32 noundef %1323) #11
  br label %1325

1325:                                             ; preds = %1308, %1291
  call void @llvm.lifetime.end.p0(i64 4, ptr %24) #11
  br label %1326

1326:                                             ; preds = %1325
  br label %1327

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

1328:                                             ; No predecessors!
  br label %1329

1329:                                             ; preds = %1328
  br label %1330

1330:                                             ; preds = %1329, %1270
  br label %1331

1331:                                             ; preds = %1330
  br label %1332

1332:                                             ; preds = %1331
  br label %1333

1333:                                             ; preds = %1332
  %1334 = load i32, ptr @test_count, align 4, !tbaa !5
  %1335 = add nsw i32 %1334, 1
  store i32 %1335, ptr @test_count, align 4, !tbaa !5
  %1336 = load ptr, ptr %19, align 8, !tbaa !9
  %1337 = call i32 @s2n_connection_free(ptr noundef %1336)
  %1338 = icmp eq i32 %1337, -1
  br i1 %1338, label %1339, label %1392

1339:                                             ; preds = %1333
  br label %1340

1340:                                             ; preds = %1339
  br label %1341

1341:                                             ; preds = %1340
  call void @llvm.lifetime.start.p0(i64 4, ptr %25) #11
  %1342 = call ptr @__errno_location() #12
  %1343 = load i32, ptr %1342, align 4, !tbaa !5
  store i32 %1343, ptr %25, align 4, !tbaa !5
  %1344 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1345 = call i32 @s2n_print_stacktrace(ptr noundef %1344)
  %1346 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1347 = trunc i8 %1346 to i1
  br i1 %1347, label %1348, label %1370

1348:                                             ; preds = %1341
  %1349 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1350 = call i32 @fileno(ptr noundef %1349) #11
  %1351 = call i32 @isatty(i32 noundef %1350) #11
  %1352 = icmp ne i32 %1351, 0
  br i1 %1352, label %1353, label %1370

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

1370:                                             ; preds = %1348, %1341
  %1371 = load i32, ptr %25, align 4, !tbaa !5
  %1372 = call ptr @__errno_location() #12
  store i32 %1371, ptr %1372, align 4, !tbaa !5
  %1373 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1374 = load i32, ptr @test_count, align 4, !tbaa !5
  %1375 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1376 = load i32, ptr %1375, align 4, !tbaa !5
  %1377 = call ptr @s2n_strerror(i32 noundef %1376, ptr noundef @.str.11)
  %1378 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1379 = load i32, ptr %1378, align 4, !tbaa !5
  %1380 = call ptr @s2n_strerror_debug(i32 noundef %1379, ptr noundef @.str.11)
  %1381 = call ptr @__errno_location() #12
  %1382 = load i32, ptr %1381, align 4, !tbaa !5
  %1383 = call ptr @strerror(i32 noundef %1382) #11
  %1384 = call ptr @__errno_location() #12
  %1385 = load i32, ptr %1384, align 4, !tbaa !5
  %1386 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1373, ptr noundef @.str.12, i32 noundef %1374, ptr noundef @.str.25, ptr noundef @.str.8, i32 noundef 144, ptr noundef %1377, ptr noundef %1380, ptr noundef %1383, i32 noundef %1385) #11
  br label %1387

1387:                                             ; preds = %1370, %1353
  call void @llvm.lifetime.end.p0(i64 4, ptr %25) #11
  br label %1388

1388:                                             ; preds = %1387
  br label %1389

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

1390:                                             ; No predecessors!
  br label %1391

1391:                                             ; preds = %1390
  br label %1392

1392:                                             ; preds = %1391, %1333
  br label %1393

1393:                                             ; preds = %1392
  br label %1394

1394:                                             ; preds = %1393
  call void @llvm.lifetime.end.p0(i64 8, ptr %22) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %19) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %26) #11
  store ptr null, ptr %26, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %27) #11
  store ptr null, ptr %27, align 8, !tbaa !9
  br label %1395

1395:                                             ; preds = %1394
  %1396 = load i32, ptr @test_count, align 4, !tbaa !5
  %1397 = add nsw i32 %1396, 1
  store i32 %1397, ptr @test_count, align 4, !tbaa !5
  %1398 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %1398, ptr %26, align 8, !tbaa !9
  %1399 = icmp eq ptr %1398, null
  br i1 %1399, label %1400, label %1453

1400:                                             ; preds = %1395
  br label %1401

1401:                                             ; preds = %1400
  br label %1402

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

1409:                                             ; preds = %1402
  %1410 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1411 = call i32 @fileno(ptr noundef %1410) #11
  %1412 = call i32 @isatty(i32 noundef %1411) #11
  %1413 = icmp ne i32 %1412, 0
  br i1 %1413, label %1414, label %1431

1414:                                             ; preds = %1409
  %1415 = load i32, ptr %28, align 4, !tbaa !5
  %1416 = call ptr @__errno_location() #12
  store i32 %1415, ptr %1416, align 4, !tbaa !5
  %1417 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1418 = load i32, ptr @test_count, align 4, !tbaa !5
  %1419 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1420 = load i32, ptr %1419, align 4, !tbaa !5
  %1421 = call ptr @s2n_strerror(i32 noundef %1420, ptr noundef @.str.11)
  %1422 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1423 = load i32, ptr %1422, align 4, !tbaa !5
  %1424 = call ptr @s2n_strerror_debug(i32 noundef %1423, ptr noundef @.str.11)
  %1425 = call ptr @__errno_location() #12
  %1426 = load i32, ptr %1425, align 4, !tbaa !5
  %1427 = call ptr @strerror(i32 noundef %1426) #11
  %1428 = call ptr @__errno_location() #12
  %1429 = load i32, ptr %1428, align 4, !tbaa !5
  %1430 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1417, ptr noundef @.str.9, i32 noundef %1418, ptr noundef @.str.29, ptr noundef @.str.8, i32 noundef 150, ptr noundef %1421, ptr noundef %1424, ptr noundef %1427, i32 noundef %1429) #11
  br label %1448

1431:                                             ; preds = %1409, %1402
  %1432 = load i32, ptr %28, align 4, !tbaa !5
  %1433 = call ptr @__errno_location() #12
  store i32 %1432, ptr %1433, align 4, !tbaa !5
  %1434 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1435 = load i32, ptr @test_count, align 4, !tbaa !5
  %1436 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1437 = load i32, ptr %1436, align 4, !tbaa !5
  %1438 = call ptr @s2n_strerror(i32 noundef %1437, ptr noundef @.str.11)
  %1439 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1440 = load i32, ptr %1439, align 4, !tbaa !5
  %1441 = call ptr @s2n_strerror_debug(i32 noundef %1440, ptr noundef @.str.11)
  %1442 = call ptr @__errno_location() #12
  %1443 = load i32, ptr %1442, align 4, !tbaa !5
  %1444 = call ptr @strerror(i32 noundef %1443) #11
  %1445 = call ptr @__errno_location() #12
  %1446 = load i32, ptr %1445, align 4, !tbaa !5
  %1447 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1434, ptr noundef @.str.12, i32 noundef %1435, ptr noundef @.str.29, ptr noundef @.str.8, i32 noundef 150, ptr noundef %1438, ptr noundef %1441, ptr noundef %1444, i32 noundef %1446) #11
  br label %1448

1448:                                             ; preds = %1431, %1414
  call void @llvm.lifetime.end.p0(i64 4, ptr %28) #11
  br label %1449

1449:                                             ; preds = %1448
  br label %1450

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

1451:                                             ; No predecessors!
  br label %1452

1452:                                             ; preds = %1451
  br label %1453

1453:                                             ; preds = %1452, %1395
  br label %1454

1454:                                             ; preds = %1453
  br label %1455

1455:                                             ; preds = %1454
  br label %1456

1456:                                             ; preds = %1455
  %1457 = load i32, ptr @test_count, align 4, !tbaa !5
  %1458 = add nsw i32 %1457, 1
  store i32 %1458, ptr @test_count, align 4, !tbaa !5
  %1459 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %1459, ptr %27, align 8, !tbaa !9
  %1460 = icmp eq ptr %1459, null
  br i1 %1460, label %1461, label %1514

1461:                                             ; preds = %1456
  br label %1462

1462:                                             ; preds = %1461
  br label %1463

1463:                                             ; preds = %1462
  call void @llvm.lifetime.start.p0(i64 4, ptr %29) #11
  %1464 = call ptr @__errno_location() #12
  %1465 = load i32, ptr %1464, align 4, !tbaa !5
  store i32 %1465, ptr %29, align 4, !tbaa !5
  %1466 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1467 = call i32 @s2n_print_stacktrace(ptr noundef %1466)
  %1468 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1469 = trunc i8 %1468 to i1
  br i1 %1469, label %1470, label %1492

1470:                                             ; preds = %1463
  %1471 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1472 = call i32 @fileno(ptr noundef %1471) #11
  %1473 = call i32 @isatty(i32 noundef %1472) #11
  %1474 = icmp ne i32 %1473, 0
  br i1 %1474, label %1475, label %1492

1475:                                             ; preds = %1470
  %1476 = load i32, ptr %29, align 4, !tbaa !5
  %1477 = call ptr @__errno_location() #12
  store i32 %1476, ptr %1477, align 4, !tbaa !5
  %1478 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1479 = load i32, ptr @test_count, align 4, !tbaa !5
  %1480 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1481 = load i32, ptr %1480, align 4, !tbaa !5
  %1482 = call ptr @s2n_strerror(i32 noundef %1481, ptr noundef @.str.11)
  %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_debug(i32 noundef %1484, ptr noundef @.str.11)
  %1486 = call ptr @__errno_location() #12
  %1487 = load i32, ptr %1486, align 4, !tbaa !5
  %1488 = call ptr @strerror(i32 noundef %1487) #11
  %1489 = call ptr @__errno_location() #12
  %1490 = load i32, ptr %1489, align 4, !tbaa !5
  %1491 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1478, ptr noundef @.str.9, i32 noundef %1479, ptr noundef @.str.30, ptr noundef @.str.8, i32 noundef 151, ptr noundef %1482, ptr noundef %1485, ptr noundef %1488, i32 noundef %1490) #11
  br label %1509

1492:                                             ; preds = %1470, %1463
  %1493 = load i32, ptr %29, align 4, !tbaa !5
  %1494 = call ptr @__errno_location() #12
  store i32 %1493, ptr %1494, align 4, !tbaa !5
  %1495 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1496 = load i32, ptr @test_count, align 4, !tbaa !5
  %1497 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1498 = load i32, ptr %1497, align 4, !tbaa !5
  %1499 = call ptr @s2n_strerror(i32 noundef %1498, ptr noundef @.str.11)
  %1500 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1501 = load i32, ptr %1500, align 4, !tbaa !5
  %1502 = call ptr @s2n_strerror_debug(i32 noundef %1501, ptr noundef @.str.11)
  %1503 = call ptr @__errno_location() #12
  %1504 = load i32, ptr %1503, align 4, !tbaa !5
  %1505 = call ptr @strerror(i32 noundef %1504) #11
  %1506 = call ptr @__errno_location() #12
  %1507 = load i32, ptr %1506, align 4, !tbaa !5
  %1508 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1495, ptr noundef @.str.12, i32 noundef %1496, ptr noundef @.str.30, ptr noundef @.str.8, i32 noundef 151, ptr noundef %1499, ptr noundef %1502, ptr noundef %1505, i32 noundef %1507) #11
  br label %1509

1509:                                             ; preds = %1492, %1475
  call void @llvm.lifetime.end.p0(i64 4, ptr %29) #11
  br label %1510

1510:                                             ; preds = %1509
  br label %1511

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

1512:                                             ; No predecessors!
  br label %1513

1513:                                             ; preds = %1512
  br label %1514

1514:                                             ; preds = %1513, %1456
  br label %1515

1515:                                             ; preds = %1514
  br label %1516

1516:                                             ; preds = %1515
  call void @llvm.lifetime.start.p0(i64 40, ptr %30) #11
  br label %1517

1517:                                             ; preds = %1516
  %1518 = load i32, ptr @test_count, align 4, !tbaa !5
  %1519 = add nsw i32 %1518, 1
  store i32 %1519, ptr @test_count, align 4, !tbaa !5
  %1520 = call i32 @s2n_stuffer_growable_alloc(ptr noundef %30, i32 noundef 0)
  %1521 = icmp eq i32 %1520, -1
  br i1 %1521, label %1522, label %1575

1522:                                             ; preds = %1517
  br label %1523

1523:                                             ; preds = %1522
  br label %1524

1524:                                             ; preds = %1523
  call void @llvm.lifetime.start.p0(i64 4, ptr %31) #11
  %1525 = call ptr @__errno_location() #12
  %1526 = load i32, ptr %1525, align 4, !tbaa !5
  store i32 %1526, ptr %31, align 4, !tbaa !5
  %1527 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1528 = call i32 @s2n_print_stacktrace(ptr noundef %1527)
  %1529 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1530 = trunc i8 %1529 to i1
  br i1 %1530, label %1531, label %1553

1531:                                             ; preds = %1524
  %1532 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1533 = call i32 @fileno(ptr noundef %1532) #11
  %1534 = call i32 @isatty(i32 noundef %1533) #11
  %1535 = icmp ne i32 %1534, 0
  br i1 %1535, label %1536, label %1553

1536:                                             ; preds = %1531
  %1537 = load i32, ptr %31, align 4, !tbaa !5
  %1538 = call ptr @__errno_location() #12
  store i32 %1537, ptr %1538, align 4, !tbaa !5
  %1539 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1540 = load i32, ptr @test_count, align 4, !tbaa !5
  %1541 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1542 = load i32, ptr %1541, align 4, !tbaa !5
  %1543 = call ptr @s2n_strerror(i32 noundef %1542, ptr noundef @.str.11)
  %1544 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1545 = load i32, ptr %1544, align 4, !tbaa !5
  %1546 = call ptr @s2n_strerror_debug(i32 noundef %1545, ptr noundef @.str.11)
  %1547 = call ptr @__errno_location() #12
  %1548 = load i32, ptr %1547, align 4, !tbaa !5
  %1549 = call ptr @strerror(i32 noundef %1548) #11
  %1550 = call ptr @__errno_location() #12
  %1551 = load i32, ptr %1550, align 4, !tbaa !5
  %1552 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1539, ptr noundef @.str.9, i32 noundef %1540, ptr noundef @.str.31, ptr noundef @.str.8, i32 noundef 154, ptr noundef %1543, ptr noundef %1546, ptr noundef %1549, i32 noundef %1551) #11
  br label %1570

1553:                                             ; preds = %1531, %1524
  %1554 = load i32, ptr %31, align 4, !tbaa !5
  %1555 = call ptr @__errno_location() #12
  store i32 %1554, ptr %1555, align 4, !tbaa !5
  %1556 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1557 = load i32, ptr @test_count, align 4, !tbaa !5
  %1558 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1559 = load i32, ptr %1558, align 4, !tbaa !5
  %1560 = call ptr @s2n_strerror(i32 noundef %1559, ptr noundef @.str.11)
  %1561 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1562 = load i32, ptr %1561, align 4, !tbaa !5
  %1563 = call ptr @s2n_strerror_debug(i32 noundef %1562, ptr noundef @.str.11)
  %1564 = call ptr @__errno_location() #12
  %1565 = load i32, ptr %1564, align 4, !tbaa !5
  %1566 = call ptr @strerror(i32 noundef %1565) #11
  %1567 = call ptr @__errno_location() #12
  %1568 = load i32, ptr %1567, align 4, !tbaa !5
  %1569 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1556, ptr noundef @.str.12, i32 noundef %1557, ptr noundef @.str.31, ptr noundef @.str.8, i32 noundef 154, ptr noundef %1560, ptr noundef %1563, ptr noundef %1566, i32 noundef %1568) #11
  br label %1570

1570:                                             ; preds = %1553, %1536
  call void @llvm.lifetime.end.p0(i64 4, ptr %31) #11
  br label %1571

1571:                                             ; preds = %1570
  br label %1572

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

1573:                                             ; No predecessors!
  br label %1574

1574:                                             ; preds = %1573
  br label %1575

1575:                                             ; preds = %1574, %1517
  br label %1576

1576:                                             ; preds = %1575
  br label %1577

1577:                                             ; preds = %1576
  br label %1578

1578:                                             ; preds = %1577
  %1579 = load i32, ptr @test_count, align 4, !tbaa !5
  %1580 = add nsw i32 %1579, 1
  store i32 %1580, ptr @test_count, align 4, !tbaa !5
  %1581 = load ptr, ptr %26, align 8, !tbaa !9
  %1582 = load ptr, ptr %13, align 8, !tbaa !9
  %1583 = call i32 @s2n_set_server_name(ptr noundef %1581, ptr noundef %1582)
  %1584 = icmp eq i32 %1583, -1
  br i1 %1584, label %1585, label %1638

1585:                                             ; preds = %1578
  br label %1586

1586:                                             ; preds = %1585
  br label %1587

1587:                                             ; preds = %1586
  call void @llvm.lifetime.start.p0(i64 4, ptr %32) #11
  %1588 = call ptr @__errno_location() #12
  %1589 = load i32, ptr %1588, align 4, !tbaa !5
  store i32 %1589, ptr %32, align 4, !tbaa !5
  %1590 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1591 = call i32 @s2n_print_stacktrace(ptr noundef %1590)
  %1592 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1593 = trunc i8 %1592 to i1
  br i1 %1593, label %1594, label %1616

1594:                                             ; preds = %1587
  %1595 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1596 = call i32 @fileno(ptr noundef %1595) #11
  %1597 = call i32 @isatty(i32 noundef %1596) #11
  %1598 = icmp ne i32 %1597, 0
  br i1 %1598, label %1599, label %1616

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

1616:                                             ; preds = %1594, %1587
  %1617 = load i32, ptr %32, align 4, !tbaa !5
  %1618 = call ptr @__errno_location() #12
  store i32 %1617, ptr %1618, align 4, !tbaa !5
  %1619 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1620 = load i32, ptr @test_count, align 4, !tbaa !5
  %1621 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1622 = load i32, ptr %1621, align 4, !tbaa !5
  %1623 = call ptr @s2n_strerror(i32 noundef %1622, ptr noundef @.str.11)
  %1624 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1625 = load i32, ptr %1624, align 4, !tbaa !5
  %1626 = call ptr @s2n_strerror_debug(i32 noundef %1625, ptr noundef @.str.11)
  %1627 = call ptr @__errno_location() #12
  %1628 = load i32, ptr %1627, align 4, !tbaa !5
  %1629 = call ptr @strerror(i32 noundef %1628) #11
  %1630 = call ptr @__errno_location() #12
  %1631 = load i32, ptr %1630, align 4, !tbaa !5
  %1632 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1619, ptr noundef @.str.12, i32 noundef %1620, ptr noundef @.str.32, ptr noundef @.str.8, i32 noundef 155, ptr noundef %1623, ptr noundef %1626, ptr noundef %1629, i32 noundef %1631) #11
  br label %1633

1633:                                             ; preds = %1616, %1599
  call void @llvm.lifetime.end.p0(i64 4, ptr %32) #11
  br label %1634

1634:                                             ; preds = %1633
  br label %1635

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

1636:                                             ; No predecessors!
  br label %1637

1637:                                             ; preds = %1636
  br label %1638

1638:                                             ; preds = %1637, %1578
  br label %1639

1639:                                             ; preds = %1638
  br label %1640

1640:                                             ; preds = %1639
  br label %1641

1641:                                             ; preds = %1640
  %1642 = load i32, ptr @test_count, align 4, !tbaa !5
  %1643 = add nsw i32 %1642, 1
  store i32 %1643, ptr @test_count, align 4, !tbaa !5
  %1644 = load ptr, ptr getelementptr inbounds (%struct.s2n_extension_type, ptr @s2n_client_server_name_extension, i32 0, i32 3), align 8, !tbaa !15
  %1645 = load ptr, ptr %26, align 8, !tbaa !9
  %1646 = call i32 %1644(ptr noundef %1645, ptr noundef %30)
  %1647 = icmp eq i32 %1646, -1
  br i1 %1647, label %1648, label %1701

1648:                                             ; preds = %1641
  br label %1649

1649:                                             ; preds = %1648
  br label %1650

1650:                                             ; preds = %1649
  call void @llvm.lifetime.start.p0(i64 4, ptr %33) #11
  %1651 = call ptr @__errno_location() #12
  %1652 = load i32, ptr %1651, align 4, !tbaa !5
  store i32 %1652, ptr %33, align 4, !tbaa !5
  %1653 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1654 = call i32 @s2n_print_stacktrace(ptr noundef %1653)
  %1655 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1656 = trunc i8 %1655 to i1
  br i1 %1656, label %1657, label %1679

1657:                                             ; preds = %1650
  %1658 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1659 = call i32 @fileno(ptr noundef %1658) #11
  %1660 = call i32 @isatty(i32 noundef %1659) #11
  %1661 = icmp ne i32 %1660, 0
  br i1 %1661, label %1662, label %1679

1662:                                             ; preds = %1657
  %1663 = load i32, ptr %33, align 4, !tbaa !5
  %1664 = call ptr @__errno_location() #12
  store i32 %1663, ptr %1664, align 4, !tbaa !5
  %1665 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1666 = load i32, ptr @test_count, align 4, !tbaa !5
  %1667 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1668 = load i32, ptr %1667, align 4, !tbaa !5
  %1669 = call ptr @s2n_strerror(i32 noundef %1668, ptr noundef @.str.11)
  %1670 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1671 = load i32, ptr %1670, align 4, !tbaa !5
  %1672 = call ptr @s2n_strerror_debug(i32 noundef %1671, ptr noundef @.str.11)
  %1673 = call ptr @__errno_location() #12
  %1674 = load i32, ptr %1673, align 4, !tbaa !5
  %1675 = call ptr @strerror(i32 noundef %1674) #11
  %1676 = call ptr @__errno_location() #12
  %1677 = load i32, ptr %1676, align 4, !tbaa !5
  %1678 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1665, ptr noundef @.str.9, i32 noundef %1666, ptr noundef @.str.33, ptr noundef @.str.8, i32 noundef 156, ptr noundef %1669, ptr noundef %1672, ptr noundef %1675, i32 noundef %1677) #11
  br label %1696

1679:                                             ; preds = %1657, %1650
  %1680 = load i32, ptr %33, align 4, !tbaa !5
  %1681 = call ptr @__errno_location() #12
  store i32 %1680, ptr %1681, align 4, !tbaa !5
  %1682 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1683 = load i32, ptr @test_count, align 4, !tbaa !5
  %1684 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1685 = load i32, ptr %1684, align 4, !tbaa !5
  %1686 = call ptr @s2n_strerror(i32 noundef %1685, ptr noundef @.str.11)
  %1687 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1688 = load i32, ptr %1687, align 4, !tbaa !5
  %1689 = call ptr @s2n_strerror_debug(i32 noundef %1688, ptr noundef @.str.11)
  %1690 = call ptr @__errno_location() #12
  %1691 = load i32, ptr %1690, align 4, !tbaa !5
  %1692 = call ptr @strerror(i32 noundef %1691) #11
  %1693 = call ptr @__errno_location() #12
  %1694 = load i32, ptr %1693, align 4, !tbaa !5
  %1695 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1682, ptr noundef @.str.12, i32 noundef %1683, ptr noundef @.str.33, ptr noundef @.str.8, i32 noundef 156, ptr noundef %1686, ptr noundef %1689, ptr noundef %1692, i32 noundef %1694) #11
  br label %1696

1696:                                             ; preds = %1679, %1662
  call void @llvm.lifetime.end.p0(i64 4, ptr %33) #11
  br label %1697

1697:                                             ; preds = %1696
  br label %1698

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

1699:                                             ; No predecessors!
  br label %1700

1700:                                             ; preds = %1699
  br label %1701

1701:                                             ; preds = %1700, %1641
  br label %1702

1702:                                             ; preds = %1701
  br label %1703

1703:                                             ; preds = %1702
  call void @llvm.lifetime.start.p0(i64 1, ptr %34) #11
  store i8 0, ptr %34, align 1, !tbaa !18
  br label %1704

1704:                                             ; preds = %1703
  %1705 = load i32, ptr @test_count, align 4, !tbaa !5
  %1706 = add nsw i32 %1705, 1
  store i32 %1706, ptr @test_count, align 4, !tbaa !5
  %1707 = call i32 @s2n_extension_supported_iana_value_to_id(i16 noundef zeroext 0, ptr noundef %34)
  %1708 = icmp eq i32 %1707, -1
  br i1 %1708, label %1709, label %1762

1709:                                             ; preds = %1704
  br label %1710

1710:                                             ; preds = %1709
  br label %1711

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

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

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

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

1757:                                             ; preds = %1740, %1723
  call void @llvm.lifetime.end.p0(i64 4, ptr %35) #11
  br label %1758

1758:                                             ; preds = %1757
  br label %1759

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

1760:                                             ; No predecessors!
  br label %1761

1761:                                             ; preds = %1760
  br label %1762

1762:                                             ; preds = %1761, %1704
  br label %1763

1763:                                             ; preds = %1762
  br label %1764

1764:                                             ; preds = %1763
  %1765 = load ptr, ptr %27, align 8, !tbaa !9
  %1766 = getelementptr inbounds %struct.s2n_connection, ptr %1765, i32 0, i32 71
  %1767 = getelementptr inbounds %struct.s2n_client_hello, ptr %1766, i32 0, i32 1
  %1768 = getelementptr inbounds %struct.s2n_parsed_extensions_list, ptr %1767, i32 0, i32 0
  %1769 = load i8, ptr %34, align 1, !tbaa !18
  %1770 = zext i8 %1769 to i64
  %1771 = getelementptr inbounds [21 x %struct.s2n_parsed_extension], ptr %1768, i64 0, i64 %1770
  %1772 = getelementptr inbounds %struct.s2n_parsed_extension, ptr %1771, i32 0, i32 1
  store i16 0, ptr %1772, align 8, !tbaa !19
  %1773 = load ptr, ptr %27, align 8, !tbaa !9
  %1774 = getelementptr inbounds %struct.s2n_connection, ptr %1773, i32 0, i32 71
  %1775 = getelementptr inbounds %struct.s2n_client_hello, ptr %1774, i32 0, i32 1
  %1776 = getelementptr inbounds %struct.s2n_parsed_extensions_list, ptr %1775, i32 0, i32 0
  %1777 = load i8, ptr %34, align 1, !tbaa !18
  %1778 = zext i8 %1777 to i64
  %1779 = getelementptr inbounds [21 x %struct.s2n_parsed_extension], ptr %1776, i64 0, i64 %1778
  %1780 = getelementptr inbounds %struct.s2n_parsed_extension, ptr %1779, i32 0, i32 0
  %1781 = getelementptr inbounds %struct.s2n_stuffer, ptr %30, i32 0, i32 0
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %1780, ptr align 8 %1781, i64 24, i1 false), !tbaa.struct !22
  call void @llvm.lifetime.start.p0(i64 8, ptr %36) #11
  store ptr null, ptr %36, align 8, !tbaa !9
  br label %1782

1782:                                             ; preds = %1764
  %1783 = load i32, ptr @test_count, align 4, !tbaa !5
  %1784 = add nsw i32 %1783, 1
  store i32 %1784, ptr @test_count, align 4, !tbaa !5
  %1785 = load ptr, ptr %27, align 8, !tbaa !9
  %1786 = call ptr @s2n_get_server_name(ptr noundef %1785)
  store ptr %1786, ptr %36, align 8, !tbaa !9
  %1787 = icmp eq ptr %1786, null
  br i1 %1787, label %1788, label %1841

1788:                                             ; preds = %1782
  br label %1789

1789:                                             ; preds = %1788
  br label %1790

1790:                                             ; preds = %1789
  call void @llvm.lifetime.start.p0(i64 4, ptr %37) #11
  %1791 = call ptr @__errno_location() #12
  %1792 = load i32, ptr %1791, align 4, !tbaa !5
  store i32 %1792, ptr %37, align 4, !tbaa !5
  %1793 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1794 = call i32 @s2n_print_stacktrace(ptr noundef %1793)
  %1795 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1796 = trunc i8 %1795 to i1
  br i1 %1796, label %1797, label %1819

1797:                                             ; preds = %1790
  %1798 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1799 = call i32 @fileno(ptr noundef %1798) #11
  %1800 = call i32 @isatty(i32 noundef %1799) #11
  %1801 = icmp ne i32 %1800, 0
  br i1 %1801, label %1802, label %1819

1802:                                             ; preds = %1797
  %1803 = load i32, ptr %37, align 4, !tbaa !5
  %1804 = call ptr @__errno_location() #12
  store i32 %1803, ptr %1804, align 4, !tbaa !5
  %1805 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1806 = load i32, ptr @test_count, align 4, !tbaa !5
  %1807 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1808 = load i32, ptr %1807, align 4, !tbaa !5
  %1809 = call ptr @s2n_strerror(i32 noundef %1808, ptr noundef @.str.11)
  %1810 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1811 = load i32, ptr %1810, align 4, !tbaa !5
  %1812 = call ptr @s2n_strerror_debug(i32 noundef %1811, ptr noundef @.str.11)
  %1813 = call ptr @__errno_location() #12
  %1814 = load i32, ptr %1813, align 4, !tbaa !5
  %1815 = call ptr @strerror(i32 noundef %1814) #11
  %1816 = call ptr @__errno_location() #12
  %1817 = load i32, ptr %1816, align 4, !tbaa !5
  %1818 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1805, ptr noundef @.str.9, i32 noundef %1806, ptr noundef @.str.35, ptr noundef @.str.8, i32 noundef 164, ptr noundef %1809, ptr noundef %1812, ptr noundef %1815, i32 noundef %1817) #11
  br label %1836

1819:                                             ; preds = %1797, %1790
  %1820 = load i32, ptr %37, align 4, !tbaa !5
  %1821 = call ptr @__errno_location() #12
  store i32 %1820, ptr %1821, align 4, !tbaa !5
  %1822 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1823 = load i32, ptr @test_count, align 4, !tbaa !5
  %1824 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1825 = load i32, ptr %1824, align 4, !tbaa !5
  %1826 = call ptr @s2n_strerror(i32 noundef %1825, ptr noundef @.str.11)
  %1827 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1828 = load i32, ptr %1827, align 4, !tbaa !5
  %1829 = call ptr @s2n_strerror_debug(i32 noundef %1828, ptr noundef @.str.11)
  %1830 = call ptr @__errno_location() #12
  %1831 = load i32, ptr %1830, align 4, !tbaa !5
  %1832 = call ptr @strerror(i32 noundef %1831) #11
  %1833 = call ptr @__errno_location() #12
  %1834 = load i32, ptr %1833, align 4, !tbaa !5
  %1835 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1822, ptr noundef @.str.12, i32 noundef %1823, ptr noundef @.str.35, ptr noundef @.str.8, i32 noundef 164, ptr noundef %1826, ptr noundef %1829, ptr noundef %1832, i32 noundef %1834) #11
  br label %1836

1836:                                             ; preds = %1819, %1802
  call void @llvm.lifetime.end.p0(i64 4, ptr %37) #11
  br label %1837

1837:                                             ; preds = %1836
  br label %1838

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

1839:                                             ; No predecessors!
  br label %1840

1840:                                             ; preds = %1839
  br label %1841

1841:                                             ; preds = %1840, %1782
  br label %1842

1842:                                             ; preds = %1841
  br label %1843

1843:                                             ; preds = %1842
  br label %1844

1844:                                             ; preds = %1843
  %1845 = load i32, ptr @test_count, align 4, !tbaa !5
  %1846 = add nsw i32 %1845, 1
  store i32 %1846, ptr @test_count, align 4, !tbaa !5
  %1847 = load ptr, ptr %36, align 8, !tbaa !9
  %1848 = load ptr, ptr %13, align 8, !tbaa !9
  %1849 = call i32 @strcmp(ptr noundef %1847, ptr noundef %1848) #14
  %1850 = icmp eq i32 %1849, 0
  br i1 %1850, label %1904, label %1851

1851:                                             ; preds = %1844
  br label %1852

1852:                                             ; preds = %1851
  br label %1853

1853:                                             ; preds = %1852
  call void @llvm.lifetime.start.p0(i64 4, ptr %38) #11
  %1854 = call ptr @__errno_location() #12
  %1855 = load i32, ptr %1854, align 4, !tbaa !5
  store i32 %1855, ptr %38, align 4, !tbaa !5
  %1856 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1857 = call i32 @s2n_print_stacktrace(ptr noundef %1856)
  %1858 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1859 = trunc i8 %1858 to i1
  br i1 %1859, label %1860, label %1882

1860:                                             ; preds = %1853
  %1861 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1862 = call i32 @fileno(ptr noundef %1861) #11
  %1863 = call i32 @isatty(i32 noundef %1862) #11
  %1864 = icmp ne i32 %1863, 0
  br i1 %1864, label %1865, label %1882

1865:                                             ; preds = %1860
  %1866 = load i32, ptr %38, align 4, !tbaa !5
  %1867 = call ptr @__errno_location() #12
  store i32 %1866, ptr %1867, align 4, !tbaa !5
  %1868 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1869 = load i32, ptr @test_count, align 4, !tbaa !5
  %1870 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1871 = load i32, ptr %1870, align 4, !tbaa !5
  %1872 = call ptr @s2n_strerror(i32 noundef %1871, ptr noundef @.str.11)
  %1873 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1874 = load i32, ptr %1873, align 4, !tbaa !5
  %1875 = call ptr @s2n_strerror_debug(i32 noundef %1874, ptr noundef @.str.11)
  %1876 = call ptr @__errno_location() #12
  %1877 = load i32, ptr %1876, align 4, !tbaa !5
  %1878 = call ptr @strerror(i32 noundef %1877) #11
  %1879 = call ptr @__errno_location() #12
  %1880 = load i32, ptr %1879, align 4, !tbaa !5
  %1881 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1868, ptr noundef @.str.9, i32 noundef %1869, ptr noundef @.str.28, ptr noundef @.str.8, i32 noundef 165, ptr noundef %1872, ptr noundef %1875, ptr noundef %1878, i32 noundef %1880) #11
  br label %1899

1882:                                             ; preds = %1860, %1853
  %1883 = load i32, ptr %38, align 4, !tbaa !5
  %1884 = call ptr @__errno_location() #12
  store i32 %1883, ptr %1884, align 4, !tbaa !5
  %1885 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1886 = load i32, ptr @test_count, align 4, !tbaa !5
  %1887 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1888 = load i32, ptr %1887, align 4, !tbaa !5
  %1889 = call ptr @s2n_strerror(i32 noundef %1888, ptr noundef @.str.11)
  %1890 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1891 = load i32, ptr %1890, align 4, !tbaa !5
  %1892 = call ptr @s2n_strerror_debug(i32 noundef %1891, ptr noundef @.str.11)
  %1893 = call ptr @__errno_location() #12
  %1894 = load i32, ptr %1893, align 4, !tbaa !5
  %1895 = call ptr @strerror(i32 noundef %1894) #11
  %1896 = call ptr @__errno_location() #12
  %1897 = load i32, ptr %1896, align 4, !tbaa !5
  %1898 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1885, ptr noundef @.str.12, i32 noundef %1886, ptr noundef @.str.28, ptr noundef @.str.8, i32 noundef 165, ptr noundef %1889, ptr noundef %1892, ptr noundef %1895, i32 noundef %1897) #11
  br label %1899

1899:                                             ; preds = %1882, %1865
  call void @llvm.lifetime.end.p0(i64 4, ptr %38) #11
  br label %1900

1900:                                             ; preds = %1899
  br label %1901

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

1902:                                             ; No predecessors!
  br label %1903

1903:                                             ; preds = %1902
  br label %1904

1904:                                             ; preds = %1903, %1844
  br label %1905

1905:                                             ; preds = %1904
  br label %1906

1906:                                             ; preds = %1905
  br label %1907

1907:                                             ; preds = %1906
  %1908 = load i32, ptr @test_count, align 4, !tbaa !5
  %1909 = add nsw i32 %1908, 1
  store i32 %1909, ptr @test_count, align 4, !tbaa !5
  %1910 = load ptr, ptr %26, align 8, !tbaa !9
  %1911 = call i32 @s2n_connection_free(ptr noundef %1910)
  %1912 = icmp eq i32 %1911, -1
  br i1 %1912, label %1913, label %1966

1913:                                             ; preds = %1907
  br label %1914

1914:                                             ; preds = %1913
  br label %1915

1915:                                             ; preds = %1914
  call void @llvm.lifetime.start.p0(i64 4, ptr %39) #11
  %1916 = call ptr @__errno_location() #12
  %1917 = load i32, ptr %1916, align 4, !tbaa !5
  store i32 %1917, ptr %39, align 4, !tbaa !5
  %1918 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1919 = call i32 @s2n_print_stacktrace(ptr noundef %1918)
  %1920 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1921 = trunc i8 %1920 to i1
  br i1 %1921, label %1922, label %1944

1922:                                             ; preds = %1915
  %1923 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1924 = call i32 @fileno(ptr noundef %1923) #11
  %1925 = call i32 @isatty(i32 noundef %1924) #11
  %1926 = icmp ne i32 %1925, 0
  br i1 %1926, label %1927, label %1944

1927:                                             ; preds = %1922
  %1928 = load i32, ptr %39, align 4, !tbaa !5
  %1929 = call ptr @__errno_location() #12
  store i32 %1928, ptr %1929, align 4, !tbaa !5
  %1930 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1931 = load i32, ptr @test_count, align 4, !tbaa !5
  %1932 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1933 = load i32, ptr %1932, align 4, !tbaa !5
  %1934 = call ptr @s2n_strerror(i32 noundef %1933, ptr noundef @.str.11)
  %1935 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1936 = load i32, ptr %1935, align 4, !tbaa !5
  %1937 = call ptr @s2n_strerror_debug(i32 noundef %1936, ptr noundef @.str.11)
  %1938 = call ptr @__errno_location() #12
  %1939 = load i32, ptr %1938, align 4, !tbaa !5
  %1940 = call ptr @strerror(i32 noundef %1939) #11
  %1941 = call ptr @__errno_location() #12
  %1942 = load i32, ptr %1941, align 4, !tbaa !5
  %1943 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1930, ptr noundef @.str.9, i32 noundef %1931, ptr noundef @.str.36, ptr noundef @.str.8, i32 noundef 167, ptr noundef %1934, ptr noundef %1937, ptr noundef %1940, i32 noundef %1942) #11
  br label %1961

1944:                                             ; preds = %1922, %1915
  %1945 = load i32, ptr %39, align 4, !tbaa !5
  %1946 = call ptr @__errno_location() #12
  store i32 %1945, ptr %1946, align 4, !tbaa !5
  %1947 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1948 = load i32, ptr @test_count, align 4, !tbaa !5
  %1949 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1950 = load i32, ptr %1949, align 4, !tbaa !5
  %1951 = call ptr @s2n_strerror(i32 noundef %1950, ptr noundef @.str.11)
  %1952 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1953 = load i32, ptr %1952, align 4, !tbaa !5
  %1954 = call ptr @s2n_strerror_debug(i32 noundef %1953, ptr noundef @.str.11)
  %1955 = call ptr @__errno_location() #12
  %1956 = load i32, ptr %1955, align 4, !tbaa !5
  %1957 = call ptr @strerror(i32 noundef %1956) #11
  %1958 = call ptr @__errno_location() #12
  %1959 = load i32, ptr %1958, align 4, !tbaa !5
  %1960 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1947, ptr noundef @.str.12, i32 noundef %1948, ptr noundef @.str.36, ptr noundef @.str.8, i32 noundef 167, ptr noundef %1951, ptr noundef %1954, ptr noundef %1957, i32 noundef %1959) #11
  br label %1961

1961:                                             ; preds = %1944, %1927
  call void @llvm.lifetime.end.p0(i64 4, ptr %39) #11
  br label %1962

1962:                                             ; preds = %1961
  br label %1963

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

1964:                                             ; No predecessors!
  br label %1965

1965:                                             ; preds = %1964
  br label %1966

1966:                                             ; preds = %1965, %1907
  br label %1967

1967:                                             ; preds = %1966
  br label %1968

1968:                                             ; preds = %1967
  br label %1969

1969:                                             ; preds = %1968
  %1970 = load i32, ptr @test_count, align 4, !tbaa !5
  %1971 = add nsw i32 %1970, 1
  store i32 %1971, ptr @test_count, align 4, !tbaa !5
  %1972 = load ptr, ptr %27, align 8, !tbaa !9
  %1973 = call i32 @s2n_connection_free(ptr noundef %1972)
  %1974 = icmp eq i32 %1973, -1
  br i1 %1974, label %1975, label %2028

1975:                                             ; preds = %1969
  br label %1976

1976:                                             ; preds = %1975
  br label %1977

1977:                                             ; preds = %1976
  call void @llvm.lifetime.start.p0(i64 4, ptr %40) #11
  %1978 = call ptr @__errno_location() #12
  %1979 = load i32, ptr %1978, align 4, !tbaa !5
  store i32 %1979, ptr %40, align 4, !tbaa !5
  %1980 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1981 = call i32 @s2n_print_stacktrace(ptr noundef %1980)
  %1982 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1983 = trunc i8 %1982 to i1
  br i1 %1983, label %1984, label %2006

1984:                                             ; preds = %1977
  %1985 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1986 = call i32 @fileno(ptr noundef %1985) #11
  %1987 = call i32 @isatty(i32 noundef %1986) #11
  %1988 = icmp ne i32 %1987, 0
  br i1 %1988, label %1989, label %2006

1989:                                             ; preds = %1984
  %1990 = load i32, ptr %40, align 4, !tbaa !5
  %1991 = call ptr @__errno_location() #12
  store i32 %1990, ptr %1991, align 4, !tbaa !5
  %1992 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1993 = load i32, ptr @test_count, align 4, !tbaa !5
  %1994 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1995 = load i32, ptr %1994, align 4, !tbaa !5
  %1996 = call ptr @s2n_strerror(i32 noundef %1995, ptr noundef @.str.11)
  %1997 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1998 = load i32, ptr %1997, align 4, !tbaa !5
  %1999 = call ptr @s2n_strerror_debug(i32 noundef %1998, ptr noundef @.str.11)
  %2000 = call ptr @__errno_location() #12
  %2001 = load i32, ptr %2000, align 4, !tbaa !5
  %2002 = call ptr @strerror(i32 noundef %2001) #11
  %2003 = call ptr @__errno_location() #12
  %2004 = load i32, ptr %2003, align 4, !tbaa !5
  %2005 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1992, ptr noundef @.str.9, i32 noundef %1993, ptr noundef @.str.37, ptr noundef @.str.8, i32 noundef 168, ptr noundef %1996, ptr noundef %1999, ptr noundef %2002, i32 noundef %2004) #11
  br label %2023

2006:                                             ; preds = %1984, %1977
  %2007 = load i32, ptr %40, align 4, !tbaa !5
  %2008 = call ptr @__errno_location() #12
  store i32 %2007, ptr %2008, align 4, !tbaa !5
  %2009 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2010 = load i32, ptr @test_count, align 4, !tbaa !5
  %2011 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2012 = load i32, ptr %2011, align 4, !tbaa !5
  %2013 = call ptr @s2n_strerror(i32 noundef %2012, ptr noundef @.str.11)
  %2014 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2015 = load i32, ptr %2014, align 4, !tbaa !5
  %2016 = call ptr @s2n_strerror_debug(i32 noundef %2015, ptr noundef @.str.11)
  %2017 = call ptr @__errno_location() #12
  %2018 = load i32, ptr %2017, align 4, !tbaa !5
  %2019 = call ptr @strerror(i32 noundef %2018) #11
  %2020 = call ptr @__errno_location() #12
  %2021 = load i32, ptr %2020, align 4, !tbaa !5
  %2022 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2009, ptr noundef @.str.12, i32 noundef %2010, ptr noundef @.str.37, ptr noundef @.str.8, i32 noundef 168, ptr noundef %2013, ptr noundef %2016, ptr noundef %2019, i32 noundef %2021) #11
  br label %2023

2023:                                             ; preds = %2006, %1989
  call void @llvm.lifetime.end.p0(i64 4, ptr %40) #11
  br label %2024

2024:                                             ; preds = %2023
  br label %2025

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

2026:                                             ; No predecessors!
  br label %2027

2027:                                             ; preds = %2026
  br label %2028

2028:                                             ; preds = %2027, %1969
  br label %2029

2029:                                             ; preds = %2028
  br label %2030

2030:                                             ; preds = %2029
  call void @llvm.lifetime.end.p0(i64 8, ptr %36) #11
  call void @llvm.lifetime.end.p0(i64 1, ptr %34) #11
  %2031 = call i32 @s2n_stuffer_free(ptr noundef %30)
  call void @llvm.lifetime.end.p0(i64 40, ptr %30) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %27) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %26) #11
  store i8 0, ptr @s2n_server_name_test_callback_flag, align 1, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 8, ptr %41) #11
  store ptr null, ptr %41, align 8, !tbaa !9
  br label %2032

2032:                                             ; preds = %2030
  %2033 = load i32, ptr @test_count, align 4, !tbaa !5
  %2034 = add nsw i32 %2033, 1
  store i32 %2034, ptr @test_count, align 4, !tbaa !5
  %2035 = call ptr @s2n_config_new()
  store ptr %2035, ptr %41, align 8, !tbaa !9
  %2036 = icmp eq ptr %2035, null
  br i1 %2036, label %2037, label %2090

2037:                                             ; preds = %2032
  br label %2038

2038:                                             ; preds = %2037
  br label %2039

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

2046:                                             ; preds = %2039
  %2047 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2048 = call i32 @fileno(ptr noundef %2047) #11
  %2049 = call i32 @isatty(i32 noundef %2048) #11
  %2050 = icmp ne i32 %2049, 0
  br i1 %2050, label %2051, label %2068

2051:                                             ; preds = %2046
  %2052 = load i32, ptr %42, align 4, !tbaa !5
  %2053 = call ptr @__errno_location() #12
  store i32 %2052, ptr %2053, align 4, !tbaa !5
  %2054 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2055 = load i32, ptr @test_count, align 4, !tbaa !5
  %2056 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2057 = load i32, ptr %2056, align 4, !tbaa !5
  %2058 = call ptr @s2n_strerror(i32 noundef %2057, ptr noundef @.str.11)
  %2059 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2060 = load i32, ptr %2059, align 4, !tbaa !5
  %2061 = call ptr @s2n_strerror_debug(i32 noundef %2060, ptr noundef @.str.11)
  %2062 = call ptr @__errno_location() #12
  %2063 = load i32, ptr %2062, align 4, !tbaa !5
  %2064 = call ptr @strerror(i32 noundef %2063) #11
  %2065 = call ptr @__errno_location() #12
  %2066 = load i32, ptr %2065, align 4, !tbaa !5
  %2067 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2054, ptr noundef @.str.9, i32 noundef %2055, ptr noundef @.str.38, ptr noundef @.str.8, i32 noundef 177, ptr noundef %2058, ptr noundef %2061, ptr noundef %2064, i32 noundef %2066) #11
  br label %2085

2068:                                             ; preds = %2046, %2039
  %2069 = load i32, ptr %42, align 4, !tbaa !5
  %2070 = call ptr @__errno_location() #12
  store i32 %2069, ptr %2070, align 4, !tbaa !5
  %2071 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2072 = load i32, ptr @test_count, align 4, !tbaa !5
  %2073 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2074 = load i32, ptr %2073, align 4, !tbaa !5
  %2075 = call ptr @s2n_strerror(i32 noundef %2074, ptr noundef @.str.11)
  %2076 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2077 = load i32, ptr %2076, align 4, !tbaa !5
  %2078 = call ptr @s2n_strerror_debug(i32 noundef %2077, ptr noundef @.str.11)
  %2079 = call ptr @__errno_location() #12
  %2080 = load i32, ptr %2079, align 4, !tbaa !5
  %2081 = call ptr @strerror(i32 noundef %2080) #11
  %2082 = call ptr @__errno_location() #12
  %2083 = load i32, ptr %2082, align 4, !tbaa !5
  %2084 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2071, ptr noundef @.str.12, i32 noundef %2072, ptr noundef @.str.38, ptr noundef @.str.8, i32 noundef 177, ptr noundef %2075, ptr noundef %2078, ptr noundef %2081, i32 noundef %2083) #11
  br label %2085

2085:                                             ; preds = %2068, %2051
  call void @llvm.lifetime.end.p0(i64 4, ptr %42) #11
  br label %2086

2086:                                             ; preds = %2085
  br label %2087

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

2088:                                             ; No predecessors!
  br label %2089

2089:                                             ; preds = %2088
  br label %2090

2090:                                             ; preds = %2089, %2032
  br label %2091

2091:                                             ; preds = %2090
  br label %2092

2092:                                             ; preds = %2091
  br label %2093

2093:                                             ; preds = %2092
  %2094 = load i32, ptr @test_count, align 4, !tbaa !5
  %2095 = add nsw i32 %2094, 1
  store i32 %2095, ptr @test_count, align 4, !tbaa !5
  %2096 = load ptr, ptr %41, align 8, !tbaa !9
  %2097 = call i32 @s2n_config_set_client_hello_cb(ptr noundef %2096, ptr noundef @s2n_server_name_test_callback, ptr noundef %13)
  %2098 = icmp eq i32 %2097, -1
  br i1 %2098, label %2099, label %2152

2099:                                             ; preds = %2093
  br label %2100

2100:                                             ; preds = %2099
  br label %2101

2101:                                             ; preds = %2100
  call void @llvm.lifetime.start.p0(i64 4, ptr %43) #11
  %2102 = call ptr @__errno_location() #12
  %2103 = load i32, ptr %2102, align 4, !tbaa !5
  store i32 %2103, ptr %43, align 4, !tbaa !5
  %2104 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2105 = call i32 @s2n_print_stacktrace(ptr noundef %2104)
  %2106 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2107 = trunc i8 %2106 to i1
  br i1 %2107, label %2108, label %2130

2108:                                             ; preds = %2101
  %2109 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2110 = call i32 @fileno(ptr noundef %2109) #11
  %2111 = call i32 @isatty(i32 noundef %2110) #11
  %2112 = icmp ne i32 %2111, 0
  br i1 %2112, label %2113, label %2130

2113:                                             ; preds = %2108
  %2114 = load i32, ptr %43, align 4, !tbaa !5
  %2115 = call ptr @__errno_location() #12
  store i32 %2114, ptr %2115, align 4, !tbaa !5
  %2116 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2117 = load i32, ptr @test_count, align 4, !tbaa !5
  %2118 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2119 = load i32, ptr %2118, align 4, !tbaa !5
  %2120 = call ptr @s2n_strerror(i32 noundef %2119, ptr noundef @.str.11)
  %2121 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2122 = load i32, ptr %2121, align 4, !tbaa !5
  %2123 = call ptr @s2n_strerror_debug(i32 noundef %2122, ptr noundef @.str.11)
  %2124 = call ptr @__errno_location() #12
  %2125 = load i32, ptr %2124, align 4, !tbaa !5
  %2126 = call ptr @strerror(i32 noundef %2125) #11
  %2127 = call ptr @__errno_location() #12
  %2128 = load i32, ptr %2127, align 4, !tbaa !5
  %2129 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2116, ptr noundef @.str.9, i32 noundef %2117, ptr noundef @.str.39, ptr noundef @.str.8, i32 noundef 178, ptr noundef %2120, ptr noundef %2123, ptr noundef %2126, i32 noundef %2128) #11
  br label %2147

2130:                                             ; preds = %2108, %2101
  %2131 = load i32, ptr %43, align 4, !tbaa !5
  %2132 = call ptr @__errno_location() #12
  store i32 %2131, ptr %2132, align 4, !tbaa !5
  %2133 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2134 = load i32, ptr @test_count, align 4, !tbaa !5
  %2135 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2136 = load i32, ptr %2135, align 4, !tbaa !5
  %2137 = call ptr @s2n_strerror(i32 noundef %2136, ptr noundef @.str.11)
  %2138 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2139 = load i32, ptr %2138, align 4, !tbaa !5
  %2140 = call ptr @s2n_strerror_debug(i32 noundef %2139, ptr noundef @.str.11)
  %2141 = call ptr @__errno_location() #12
  %2142 = load i32, ptr %2141, align 4, !tbaa !5
  %2143 = call ptr @strerror(i32 noundef %2142) #11
  %2144 = call ptr @__errno_location() #12
  %2145 = load i32, ptr %2144, align 4, !tbaa !5
  %2146 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2133, ptr noundef @.str.12, i32 noundef %2134, ptr noundef @.str.39, ptr noundef @.str.8, i32 noundef 178, ptr noundef %2137, ptr noundef %2140, ptr noundef %2143, i32 noundef %2145) #11
  br label %2147

2147:                                             ; preds = %2130, %2113
  call void @llvm.lifetime.end.p0(i64 4, ptr %43) #11
  br label %2148

2148:                                             ; preds = %2147
  br label %2149

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

2150:                                             ; No predecessors!
  br label %2151

2151:                                             ; preds = %2150
  br label %2152

2152:                                             ; preds = %2151, %2093
  br label %2153

2153:                                             ; preds = %2152
  br label %2154

2154:                                             ; preds = %2153
  call void @llvm.lifetime.start.p0(i64 8, ptr %44) #11
  store ptr null, ptr %44, align 8, !tbaa !9
  br label %2155

2155:                                             ; preds = %2154
  %2156 = load i32, ptr @test_count, align 4, !tbaa !5
  %2157 = add nsw i32 %2156, 1
  store i32 %2157, ptr @test_count, align 4, !tbaa !5
  %2158 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %2158, ptr %44, align 8, !tbaa !9
  %2159 = icmp eq ptr %2158, null
  br i1 %2159, label %2160, label %2213

2160:                                             ; preds = %2155
  br label %2161

2161:                                             ; preds = %2160
  br label %2162

2162:                                             ; preds = %2161
  call void @llvm.lifetime.start.p0(i64 4, ptr %45) #11
  %2163 = call ptr @__errno_location() #12
  %2164 = load i32, ptr %2163, align 4, !tbaa !5
  store i32 %2164, ptr %45, align 4, !tbaa !5
  %2165 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2166 = call i32 @s2n_print_stacktrace(ptr noundef %2165)
  %2167 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2168 = trunc i8 %2167 to i1
  br i1 %2168, label %2169, label %2191

2169:                                             ; preds = %2162
  %2170 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2171 = call i32 @fileno(ptr noundef %2170) #11
  %2172 = call i32 @isatty(i32 noundef %2171) #11
  %2173 = icmp ne i32 %2172, 0
  br i1 %2173, label %2174, label %2191

2174:                                             ; preds = %2169
  %2175 = load i32, ptr %45, align 4, !tbaa !5
  %2176 = call ptr @__errno_location() #12
  store i32 %2175, ptr %2176, align 4, !tbaa !5
  %2177 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2178 = load i32, ptr @test_count, align 4, !tbaa !5
  %2179 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2180 = load i32, ptr %2179, align 4, !tbaa !5
  %2181 = call ptr @s2n_strerror(i32 noundef %2180, ptr noundef @.str.11)
  %2182 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2183 = load i32, ptr %2182, align 4, !tbaa !5
  %2184 = call ptr @s2n_strerror_debug(i32 noundef %2183, ptr noundef @.str.11)
  %2185 = call ptr @__errno_location() #12
  %2186 = load i32, ptr %2185, align 4, !tbaa !5
  %2187 = call ptr @strerror(i32 noundef %2186) #11
  %2188 = call ptr @__errno_location() #12
  %2189 = load i32, ptr %2188, align 4, !tbaa !5
  %2190 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2177, ptr noundef @.str.9, i32 noundef %2178, ptr noundef @.str.29, ptr noundef @.str.8, i32 noundef 181, ptr noundef %2181, ptr noundef %2184, ptr noundef %2187, i32 noundef %2189) #11
  br label %2208

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

2208:                                             ; preds = %2191, %2174
  call void @llvm.lifetime.end.p0(i64 4, ptr %45) #11
  br label %2209

2209:                                             ; preds = %2208
  br label %2210

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

2211:                                             ; No predecessors!
  br label %2212

2212:                                             ; preds = %2211
  br label %2213

2213:                                             ; preds = %2212, %2155
  br label %2214

2214:                                             ; preds = %2213
  br label %2215

2215:                                             ; preds = %2214
  br label %2216

2216:                                             ; preds = %2215
  %2217 = load i32, ptr @test_count, align 4, !tbaa !5
  %2218 = add nsw i32 %2217, 1
  store i32 %2218, ptr @test_count, align 4, !tbaa !5
  %2219 = load ptr, ptr %44, align 8, !tbaa !9
  %2220 = load ptr, ptr %13, align 8, !tbaa !9
  %2221 = call i32 @s2n_set_server_name(ptr noundef %2219, ptr noundef %2220)
  %2222 = icmp eq i32 %2221, -1
  br i1 %2222, label %2223, label %2276

2223:                                             ; preds = %2216
  br label %2224

2224:                                             ; preds = %2223
  br label %2225

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

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

2237:                                             ; preds = %2232
  %2238 = load i32, ptr %46, align 4, !tbaa !5
  %2239 = call ptr @__errno_location() #12
  store i32 %2238, ptr %2239, align 4, !tbaa !5
  %2240 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2241 = load i32, ptr @test_count, align 4, !tbaa !5
  %2242 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2243 = load i32, ptr %2242, align 4, !tbaa !5
  %2244 = call ptr @s2n_strerror(i32 noundef %2243, ptr noundef @.str.11)
  %2245 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2246 = load i32, ptr %2245, align 4, !tbaa !5
  %2247 = call ptr @s2n_strerror_debug(i32 noundef %2246, ptr noundef @.str.11)
  %2248 = call ptr @__errno_location() #12
  %2249 = load i32, ptr %2248, align 4, !tbaa !5
  %2250 = call ptr @strerror(i32 noundef %2249) #11
  %2251 = call ptr @__errno_location() #12
  %2252 = load i32, ptr %2251, align 4, !tbaa !5
  %2253 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2240, ptr noundef @.str.9, i32 noundef %2241, ptr noundef @.str.32, ptr noundef @.str.8, i32 noundef 182, ptr noundef %2244, ptr noundef %2247, ptr noundef %2250, i32 noundef %2252) #11
  br label %2271

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

2271:                                             ; preds = %2254, %2237
  call void @llvm.lifetime.end.p0(i64 4, ptr %46) #11
  br label %2272

2272:                                             ; preds = %2271
  br label %2273

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

2274:                                             ; No predecessors!
  br label %2275

2275:                                             ; preds = %2274
  br label %2276

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

2277:                                             ; preds = %2276
  br label %2278

2278:                                             ; preds = %2277
  call void @llvm.lifetime.start.p0(i64 8, ptr %47) #11
  store ptr null, ptr %47, align 8, !tbaa !9
  br label %2279

2279:                                             ; preds = %2278
  %2280 = load i32, ptr @test_count, align 4, !tbaa !5
  %2281 = add nsw i32 %2280, 1
  store i32 %2281, ptr @test_count, align 4, !tbaa !5
  %2282 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %2282, ptr %47, align 8, !tbaa !9
  %2283 = icmp eq ptr %2282, null
  br i1 %2283, label %2284, label %2337

2284:                                             ; preds = %2279
  br label %2285

2285:                                             ; preds = %2284
  br label %2286

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

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

2298:                                             ; preds = %2293
  %2299 = load i32, ptr %48, align 4, !tbaa !5
  %2300 = call ptr @__errno_location() #12
  store i32 %2299, ptr %2300, align 4, !tbaa !5
  %2301 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2302 = load i32, ptr @test_count, align 4, !tbaa !5
  %2303 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2304 = load i32, ptr %2303, align 4, !tbaa !5
  %2305 = call ptr @s2n_strerror(i32 noundef %2304, ptr noundef @.str.11)
  %2306 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2307 = load i32, ptr %2306, align 4, !tbaa !5
  %2308 = call ptr @s2n_strerror_debug(i32 noundef %2307, ptr noundef @.str.11)
  %2309 = call ptr @__errno_location() #12
  %2310 = load i32, ptr %2309, align 4, !tbaa !5
  %2311 = call ptr @strerror(i32 noundef %2310) #11
  %2312 = call ptr @__errno_location() #12
  %2313 = load i32, ptr %2312, align 4, !tbaa !5
  %2314 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2301, ptr noundef @.str.9, i32 noundef %2302, ptr noundef @.str.30, ptr noundef @.str.8, i32 noundef 185, ptr noundef %2305, ptr noundef %2308, ptr noundef %2311, i32 noundef %2313) #11
  br label %2332

2315:                                             ; preds = %2293, %2286
  %2316 = load i32, ptr %48, align 4, !tbaa !5
  %2317 = call ptr @__errno_location() #12
  store i32 %2316, ptr %2317, align 4, !tbaa !5
  %2318 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2319 = load i32, ptr @test_count, align 4, !tbaa !5
  %2320 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2321 = load i32, ptr %2320, align 4, !tbaa !5
  %2322 = call ptr @s2n_strerror(i32 noundef %2321, ptr noundef @.str.11)
  %2323 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2324 = load i32, ptr %2323, align 4, !tbaa !5
  %2325 = call ptr @s2n_strerror_debug(i32 noundef %2324, ptr noundef @.str.11)
  %2326 = call ptr @__errno_location() #12
  %2327 = load i32, ptr %2326, align 4, !tbaa !5
  %2328 = call ptr @strerror(i32 noundef %2327) #11
  %2329 = call ptr @__errno_location() #12
  %2330 = load i32, ptr %2329, align 4, !tbaa !5
  %2331 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2318, ptr noundef @.str.12, i32 noundef %2319, ptr noundef @.str.30, ptr noundef @.str.8, i32 noundef 185, ptr noundef %2322, ptr noundef %2325, ptr noundef %2328, i32 noundef %2330) #11
  br label %2332

2332:                                             ; preds = %2315, %2298
  call void @llvm.lifetime.end.p0(i64 4, ptr %48) #11
  br label %2333

2333:                                             ; preds = %2332
  br label %2334

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

2335:                                             ; No predecessors!
  br label %2336

2336:                                             ; preds = %2335
  br label %2337

2337:                                             ; preds = %2336, %2279
  br label %2338

2338:                                             ; preds = %2337
  br label %2339

2339:                                             ; preds = %2338
  br label %2340

2340:                                             ; preds = %2339
  %2341 = load i32, ptr @test_count, align 4, !tbaa !5
  %2342 = add nsw i32 %2341, 1
  store i32 %2342, ptr @test_count, align 4, !tbaa !5
  %2343 = load ptr, ptr %47, align 8, !tbaa !9
  %2344 = load ptr, ptr %41, align 8, !tbaa !9
  %2345 = call i32 @s2n_connection_set_config(ptr noundef %2343, ptr noundef %2344)
  %2346 = icmp eq i32 %2345, -1
  br i1 %2346, label %2347, label %2400

2347:                                             ; preds = %2340
  br label %2348

2348:                                             ; preds = %2347
  br label %2349

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

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

2361:                                             ; preds = %2356
  %2362 = load i32, ptr %49, align 4, !tbaa !5
  %2363 = call ptr @__errno_location() #12
  store i32 %2362, ptr %2363, align 4, !tbaa !5
  %2364 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2365 = load i32, ptr @test_count, align 4, !tbaa !5
  %2366 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2367 = load i32, ptr %2366, align 4, !tbaa !5
  %2368 = call ptr @s2n_strerror(i32 noundef %2367, ptr noundef @.str.11)
  %2369 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2370 = load i32, ptr %2369, align 4, !tbaa !5
  %2371 = call ptr @s2n_strerror_debug(i32 noundef %2370, ptr noundef @.str.11)
  %2372 = call ptr @__errno_location() #12
  %2373 = load i32, ptr %2372, align 4, !tbaa !5
  %2374 = call ptr @strerror(i32 noundef %2373) #11
  %2375 = call ptr @__errno_location() #12
  %2376 = load i32, ptr %2375, align 4, !tbaa !5
  %2377 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2364, ptr noundef @.str.9, i32 noundef %2365, ptr noundef @.str.40, ptr noundef @.str.8, i32 noundef 186, ptr noundef %2368, ptr noundef %2371, ptr noundef %2374, i32 noundef %2376) #11
  br label %2395

2378:                                             ; preds = %2356, %2349
  %2379 = load i32, ptr %49, align 4, !tbaa !5
  %2380 = call ptr @__errno_location() #12
  store i32 %2379, ptr %2380, align 4, !tbaa !5
  %2381 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2382 = load i32, ptr @test_count, align 4, !tbaa !5
  %2383 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2384 = load i32, ptr %2383, align 4, !tbaa !5
  %2385 = call ptr @s2n_strerror(i32 noundef %2384, ptr noundef @.str.11)
  %2386 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2387 = load i32, ptr %2386, align 4, !tbaa !5
  %2388 = call ptr @s2n_strerror_debug(i32 noundef %2387, ptr noundef @.str.11)
  %2389 = call ptr @__errno_location() #12
  %2390 = load i32, ptr %2389, align 4, !tbaa !5
  %2391 = call ptr @strerror(i32 noundef %2390) #11
  %2392 = call ptr @__errno_location() #12
  %2393 = load i32, ptr %2392, align 4, !tbaa !5
  %2394 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2381, ptr noundef @.str.12, i32 noundef %2382, ptr noundef @.str.40, ptr noundef @.str.8, i32 noundef 186, ptr noundef %2385, ptr noundef %2388, ptr noundef %2391, i32 noundef %2393) #11
  br label %2395

2395:                                             ; preds = %2378, %2361
  call void @llvm.lifetime.end.p0(i64 4, ptr %49) #11
  br label %2396

2396:                                             ; preds = %2395
  br label %2397

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

2398:                                             ; No predecessors!
  br label %2399

2399:                                             ; preds = %2398
  br label %2400

2400:                                             ; preds = %2399, %2340
  br label %2401

2401:                                             ; preds = %2400
  br label %2402

2402:                                             ; preds = %2401
  br label %2403

2403:                                             ; preds = %2402
  %2404 = load i32, ptr @test_count, align 4, !tbaa !5
  %2405 = add nsw i32 %2404, 1
  store i32 %2405, ptr @test_count, align 4, !tbaa !5
  %2406 = load ptr, ptr %44, align 8, !tbaa !9
  %2407 = call i32 @s2n_client_hello_send(ptr noundef %2406)
  %2408 = icmp eq i32 %2407, -1
  br i1 %2408, label %2409, label %2462

2409:                                             ; preds = %2403
  br label %2410

2410:                                             ; preds = %2409
  br label %2411

2411:                                             ; preds = %2410
  call void @llvm.lifetime.start.p0(i64 4, ptr %50) #11
  %2412 = call ptr @__errno_location() #12
  %2413 = load i32, ptr %2412, align 4, !tbaa !5
  store i32 %2413, ptr %50, align 4, !tbaa !5
  %2414 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2415 = call i32 @s2n_print_stacktrace(ptr noundef %2414)
  %2416 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2417 = trunc i8 %2416 to i1
  br i1 %2417, label %2418, label %2440

2418:                                             ; preds = %2411
  %2419 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2420 = call i32 @fileno(ptr noundef %2419) #11
  %2421 = call i32 @isatty(i32 noundef %2420) #11
  %2422 = icmp ne i32 %2421, 0
  br i1 %2422, label %2423, label %2440

2423:                                             ; preds = %2418
  %2424 = load i32, ptr %50, align 4, !tbaa !5
  %2425 = call ptr @__errno_location() #12
  store i32 %2424, ptr %2425, align 4, !tbaa !5
  %2426 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2427 = load i32, ptr @test_count, align 4, !tbaa !5
  %2428 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2429 = load i32, ptr %2428, align 4, !tbaa !5
  %2430 = call ptr @s2n_strerror(i32 noundef %2429, ptr noundef @.str.11)
  %2431 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2432 = load i32, ptr %2431, align 4, !tbaa !5
  %2433 = call ptr @s2n_strerror_debug(i32 noundef %2432, ptr noundef @.str.11)
  %2434 = call ptr @__errno_location() #12
  %2435 = load i32, ptr %2434, align 4, !tbaa !5
  %2436 = call ptr @strerror(i32 noundef %2435) #11
  %2437 = call ptr @__errno_location() #12
  %2438 = load i32, ptr %2437, align 4, !tbaa !5
  %2439 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2426, ptr noundef @.str.9, i32 noundef %2427, ptr noundef @.str.41, ptr noundef @.str.8, i32 noundef 188, ptr noundef %2430, ptr noundef %2433, ptr noundef %2436, i32 noundef %2438) #11
  br label %2457

2440:                                             ; preds = %2418, %2411
  %2441 = load i32, ptr %50, align 4, !tbaa !5
  %2442 = call ptr @__errno_location() #12
  store i32 %2441, ptr %2442, align 4, !tbaa !5
  %2443 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2444 = load i32, ptr @test_count, align 4, !tbaa !5
  %2445 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2446 = load i32, ptr %2445, align 4, !tbaa !5
  %2447 = call ptr @s2n_strerror(i32 noundef %2446, ptr noundef @.str.11)
  %2448 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2449 = load i32, ptr %2448, align 4, !tbaa !5
  %2450 = call ptr @s2n_strerror_debug(i32 noundef %2449, ptr noundef @.str.11)
  %2451 = call ptr @__errno_location() #12
  %2452 = load i32, ptr %2451, align 4, !tbaa !5
  %2453 = call ptr @strerror(i32 noundef %2452) #11
  %2454 = call ptr @__errno_location() #12
  %2455 = load i32, ptr %2454, align 4, !tbaa !5
  %2456 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2443, ptr noundef @.str.12, i32 noundef %2444, ptr noundef @.str.41, ptr noundef @.str.8, i32 noundef 188, ptr noundef %2447, ptr noundef %2450, ptr noundef %2453, i32 noundef %2455) #11
  br label %2457

2457:                                             ; preds = %2440, %2423
  call void @llvm.lifetime.end.p0(i64 4, ptr %50) #11
  br label %2458

2458:                                             ; preds = %2457
  br label %2459

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

2460:                                             ; No predecessors!
  br label %2461

2461:                                             ; preds = %2460
  br label %2462

2462:                                             ; preds = %2461, %2403
  br label %2463

2463:                                             ; preds = %2462
  br label %2464

2464:                                             ; preds = %2463
  br label %2465

2465:                                             ; preds = %2464
  %2466 = load i32, ptr @test_count, align 4, !tbaa !5
  %2467 = add nsw i32 %2466, 1
  store i32 %2467, ptr @test_count, align 4, !tbaa !5
  %2468 = load ptr, ptr %44, align 8, !tbaa !9
  %2469 = getelementptr inbounds %struct.s2n_connection, ptr %2468, i32 0, i32 52
  %2470 = getelementptr inbounds %struct.s2n_handshake, ptr %2469, i32 0, i32 0
  %2471 = load ptr, ptr %47, align 8, !tbaa !9
  %2472 = getelementptr inbounds %struct.s2n_connection, ptr %2471, i32 0, i32 52
  %2473 = getelementptr inbounds %struct.s2n_handshake, ptr %2472, i32 0, i32 0
  %2474 = load ptr, ptr %44, align 8, !tbaa !9
  %2475 = getelementptr inbounds %struct.s2n_connection, ptr %2474, i32 0, i32 52
  %2476 = getelementptr inbounds %struct.s2n_handshake, ptr %2475, i32 0, i32 0
  %2477 = getelementptr inbounds %struct.s2n_stuffer, ptr %2476, i32 0, i32 2
  %2478 = load i32, ptr %2477, align 4, !tbaa !23
  %2479 = load ptr, ptr %44, align 8, !tbaa !9
  %2480 = getelementptr inbounds %struct.s2n_connection, ptr %2479, i32 0, i32 52
  %2481 = getelementptr inbounds %struct.s2n_handshake, ptr %2480, i32 0, i32 0
  %2482 = getelementptr inbounds %struct.s2n_stuffer, ptr %2481, i32 0, i32 1
  %2483 = load i32, ptr %2482, align 8, !tbaa !48
  %2484 = sub i32 %2478, %2483
  %2485 = call i32 @s2n_stuffer_copy(ptr noundef %2470, ptr noundef %2473, i32 noundef %2484)
  %2486 = icmp eq i32 %2485, -1
  br i1 %2486, label %2487, label %2540

2487:                                             ; preds = %2465
  br label %2488

2488:                                             ; preds = %2487
  br label %2489

2489:                                             ; preds = %2488
  call void @llvm.lifetime.start.p0(i64 4, ptr %51) #11
  %2490 = call ptr @__errno_location() #12
  %2491 = load i32, ptr %2490, align 4, !tbaa !5
  store i32 %2491, ptr %51, align 4, !tbaa !5
  %2492 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2493 = call i32 @s2n_print_stacktrace(ptr noundef %2492)
  %2494 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2495 = trunc i8 %2494 to i1
  br i1 %2495, label %2496, label %2518

2496:                                             ; preds = %2489
  %2497 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2498 = call i32 @fileno(ptr noundef %2497) #11
  %2499 = call i32 @isatty(i32 noundef %2498) #11
  %2500 = icmp ne i32 %2499, 0
  br i1 %2500, label %2501, label %2518

2501:                                             ; preds = %2496
  %2502 = load i32, ptr %51, align 4, !tbaa !5
  %2503 = call ptr @__errno_location() #12
  store i32 %2502, ptr %2503, align 4, !tbaa !5
  %2504 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2505 = load i32, ptr @test_count, align 4, !tbaa !5
  %2506 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2507 = load i32, ptr %2506, align 4, !tbaa !5
  %2508 = call ptr @s2n_strerror(i32 noundef %2507, ptr noundef @.str.11)
  %2509 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2510 = load i32, ptr %2509, align 4, !tbaa !5
  %2511 = call ptr @s2n_strerror_debug(i32 noundef %2510, ptr noundef @.str.11)
  %2512 = call ptr @__errno_location() #12
  %2513 = load i32, ptr %2512, align 4, !tbaa !5
  %2514 = call ptr @strerror(i32 noundef %2513) #11
  %2515 = call ptr @__errno_location() #12
  %2516 = load i32, ptr %2515, align 4, !tbaa !5
  %2517 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2504, ptr noundef @.str.9, i32 noundef %2505, ptr noundef @.str.42, ptr noundef @.str.8, i32 noundef 190, ptr noundef %2508, ptr noundef %2511, ptr noundef %2514, i32 noundef %2516) #11
  br label %2535

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

2535:                                             ; preds = %2518, %2501
  call void @llvm.lifetime.end.p0(i64 4, ptr %51) #11
  br label %2536

2536:                                             ; preds = %2535
  br label %2537

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

2538:                                             ; No predecessors!
  br label %2539

2539:                                             ; preds = %2538
  br label %2540

2540:                                             ; preds = %2539, %2465
  br label %2541

2541:                                             ; preds = %2540
  br label %2542

2542:                                             ; preds = %2541
  %2543 = load ptr, ptr %47, align 8, !tbaa !9
  %2544 = call i32 @s2n_client_hello_recv(ptr noundef %2543)
  br label %2545

2545:                                             ; preds = %2542
  %2546 = load i32, ptr @test_count, align 4, !tbaa !5
  %2547 = add nsw i32 %2546, 1
  store i32 %2547, ptr @test_count, align 4, !tbaa !5
  %2548 = load i8, ptr @s2n_server_name_test_callback_flag, align 1, !tbaa !11, !range !13, !noundef !14
  %2549 = trunc i8 %2548 to i1
  br i1 %2549, label %2603, label %2550

2550:                                             ; preds = %2545
  br label %2551

2551:                                             ; preds = %2550
  br label %2552

2552:                                             ; preds = %2551
  call void @llvm.lifetime.start.p0(i64 4, ptr %52) #11
  %2553 = call ptr @__errno_location() #12
  %2554 = load i32, ptr %2553, align 4, !tbaa !5
  store i32 %2554, ptr %52, align 4, !tbaa !5
  %2555 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2556 = call i32 @s2n_print_stacktrace(ptr noundef %2555)
  %2557 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2558 = trunc i8 %2557 to i1
  br i1 %2558, label %2559, label %2581

2559:                                             ; preds = %2552
  %2560 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2561 = call i32 @fileno(ptr noundef %2560) #11
  %2562 = call i32 @isatty(i32 noundef %2561) #11
  %2563 = icmp ne i32 %2562, 0
  br i1 %2563, label %2564, label %2581

2564:                                             ; preds = %2559
  %2565 = load i32, ptr %52, align 4, !tbaa !5
  %2566 = call ptr @__errno_location() #12
  store i32 %2565, ptr %2566, align 4, !tbaa !5
  %2567 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2568 = load i32, ptr @test_count, align 4, !tbaa !5
  %2569 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2570 = load i32, ptr %2569, align 4, !tbaa !5
  %2571 = call ptr @s2n_strerror(i32 noundef %2570, ptr noundef @.str.11)
  %2572 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2573 = load i32, ptr %2572, align 4, !tbaa !5
  %2574 = call ptr @s2n_strerror_debug(i32 noundef %2573, ptr noundef @.str.11)
  %2575 = call ptr @__errno_location() #12
  %2576 = load i32, ptr %2575, align 4, !tbaa !5
  %2577 = call ptr @strerror(i32 noundef %2576) #11
  %2578 = call ptr @__errno_location() #12
  %2579 = load i32, ptr %2578, align 4, !tbaa !5
  %2580 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2567, ptr noundef @.str.9, i32 noundef %2568, ptr noundef @.str.43, ptr noundef @.str.8, i32 noundef 197, ptr noundef %2571, ptr noundef %2574, ptr noundef %2577, i32 noundef %2579) #11
  br label %2598

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

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

2599:                                             ; preds = %2598
  br label %2600

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

2601:                                             ; No predecessors!
  br label %2602

2602:                                             ; preds = %2601
  br label %2603

2603:                                             ; preds = %2602, %2545
  br label %2604

2604:                                             ; preds = %2603
  br label %2605

2605:                                             ; preds = %2604
  br label %2606

2606:                                             ; preds = %2605
  %2607 = load i32, ptr @test_count, align 4, !tbaa !5
  %2608 = add nsw i32 %2607, 1
  store i32 %2608, ptr @test_count, align 4, !tbaa !5
  %2609 = load ptr, ptr %44, align 8, !tbaa !9
  %2610 = call i32 @s2n_connection_free(ptr noundef %2609)
  %2611 = icmp eq i32 %2610, -1
  br i1 %2611, label %2612, label %2665

2612:                                             ; preds = %2606
  br label %2613

2613:                                             ; preds = %2612
  br label %2614

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

2621:                                             ; preds = %2614
  %2622 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2623 = call i32 @fileno(ptr noundef %2622) #11
  %2624 = call i32 @isatty(i32 noundef %2623) #11
  %2625 = icmp ne i32 %2624, 0
  br i1 %2625, label %2626, label %2643

2626:                                             ; preds = %2621
  %2627 = load i32, ptr %53, align 4, !tbaa !5
  %2628 = call ptr @__errno_location() #12
  store i32 %2627, ptr %2628, align 4, !tbaa !5
  %2629 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2630 = load i32, ptr @test_count, align 4, !tbaa !5
  %2631 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2632 = load i32, ptr %2631, align 4, !tbaa !5
  %2633 = call ptr @s2n_strerror(i32 noundef %2632, ptr noundef @.str.11)
  %2634 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2635 = load i32, ptr %2634, align 4, !tbaa !5
  %2636 = call ptr @s2n_strerror_debug(i32 noundef %2635, ptr noundef @.str.11)
  %2637 = call ptr @__errno_location() #12
  %2638 = load i32, ptr %2637, align 4, !tbaa !5
  %2639 = call ptr @strerror(i32 noundef %2638) #11
  %2640 = call ptr @__errno_location() #12
  %2641 = load i32, ptr %2640, align 4, !tbaa !5
  %2642 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2629, ptr noundef @.str.9, i32 noundef %2630, ptr noundef @.str.36, ptr noundef @.str.8, i32 noundef 199, ptr noundef %2633, ptr noundef %2636, ptr noundef %2639, i32 noundef %2641) #11
  br label %2660

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

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

2661:                                             ; preds = %2660
  br label %2662

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

2663:                                             ; No predecessors!
  br label %2664

2664:                                             ; preds = %2663
  br label %2665

2665:                                             ; preds = %2664, %2606
  br label %2666

2666:                                             ; preds = %2665
  br label %2667

2667:                                             ; preds = %2666
  br label %2668

2668:                                             ; preds = %2667
  %2669 = load i32, ptr @test_count, align 4, !tbaa !5
  %2670 = add nsw i32 %2669, 1
  store i32 %2670, ptr @test_count, align 4, !tbaa !5
  %2671 = load ptr, ptr %47, align 8, !tbaa !9
  %2672 = call i32 @s2n_connection_free(ptr noundef %2671)
  %2673 = icmp eq i32 %2672, -1
  br i1 %2673, label %2674, label %2727

2674:                                             ; preds = %2668
  br label %2675

2675:                                             ; preds = %2674
  br label %2676

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

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

2688:                                             ; preds = %2683
  %2689 = load i32, ptr %54, align 4, !tbaa !5
  %2690 = call ptr @__errno_location() #12
  store i32 %2689, ptr %2690, align 4, !tbaa !5
  %2691 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2692 = load i32, ptr @test_count, align 4, !tbaa !5
  %2693 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2694 = load i32, ptr %2693, align 4, !tbaa !5
  %2695 = call ptr @s2n_strerror(i32 noundef %2694, ptr noundef @.str.11)
  %2696 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2697 = load i32, ptr %2696, align 4, !tbaa !5
  %2698 = call ptr @s2n_strerror_debug(i32 noundef %2697, ptr noundef @.str.11)
  %2699 = call ptr @__errno_location() #12
  %2700 = load i32, ptr %2699, align 4, !tbaa !5
  %2701 = call ptr @strerror(i32 noundef %2700) #11
  %2702 = call ptr @__errno_location() #12
  %2703 = load i32, ptr %2702, align 4, !tbaa !5
  %2704 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2691, ptr noundef @.str.9, i32 noundef %2692, ptr noundef @.str.37, ptr noundef @.str.8, i32 noundef 200, ptr noundef %2695, ptr noundef %2698, ptr noundef %2701, i32 noundef %2703) #11
  br label %2722

2705:                                             ; preds = %2683, %2676
  %2706 = load i32, ptr %54, align 4, !tbaa !5
  %2707 = call ptr @__errno_location() #12
  store i32 %2706, ptr %2707, align 4, !tbaa !5
  %2708 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2709 = load i32, ptr @test_count, align 4, !tbaa !5
  %2710 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2711 = load i32, ptr %2710, align 4, !tbaa !5
  %2712 = call ptr @s2n_strerror(i32 noundef %2711, ptr noundef @.str.11)
  %2713 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2714 = load i32, ptr %2713, align 4, !tbaa !5
  %2715 = call ptr @s2n_strerror_debug(i32 noundef %2714, ptr noundef @.str.11)
  %2716 = call ptr @__errno_location() #12
  %2717 = load i32, ptr %2716, align 4, !tbaa !5
  %2718 = call ptr @strerror(i32 noundef %2717) #11
  %2719 = call ptr @__errno_location() #12
  %2720 = load i32, ptr %2719, align 4, !tbaa !5
  %2721 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2708, ptr noundef @.str.12, i32 noundef %2709, ptr noundef @.str.37, ptr noundef @.str.8, i32 noundef 200, ptr noundef %2712, ptr noundef %2715, ptr noundef %2718, i32 noundef %2720) #11
  br label %2722

2722:                                             ; preds = %2705, %2688
  call void @llvm.lifetime.end.p0(i64 4, ptr %54) #11
  br label %2723

2723:                                             ; preds = %2722
  br label %2724

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

2725:                                             ; No predecessors!
  br label %2726

2726:                                             ; preds = %2725
  br label %2727

2727:                                             ; preds = %2726, %2668
  br label %2728

2728:                                             ; preds = %2727
  br label %2729

2729:                                             ; preds = %2728
  br label %2730

2730:                                             ; preds = %2729
  %2731 = load i32, ptr @test_count, align 4, !tbaa !5
  %2732 = add nsw i32 %2731, 1
  store i32 %2732, ptr @test_count, align 4, !tbaa !5
  %2733 = load ptr, ptr %41, align 8, !tbaa !9
  %2734 = call i32 @s2n_config_free(ptr noundef %2733)
  %2735 = icmp eq i32 %2734, -1
  br i1 %2735, label %2736, label %2789

2736:                                             ; preds = %2730
  br label %2737

2737:                                             ; preds = %2736
  br label %2738

2738:                                             ; preds = %2737
  call void @llvm.lifetime.start.p0(i64 4, ptr %55) #11
  %2739 = call ptr @__errno_location() #12
  %2740 = load i32, ptr %2739, align 4, !tbaa !5
  store i32 %2740, ptr %55, align 4, !tbaa !5
  %2741 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2742 = call i32 @s2n_print_stacktrace(ptr noundef %2741)
  %2743 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2744 = trunc i8 %2743 to i1
  br i1 %2744, label %2745, label %2767

2745:                                             ; preds = %2738
  %2746 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2747 = call i32 @fileno(ptr noundef %2746) #11
  %2748 = call i32 @isatty(i32 noundef %2747) #11
  %2749 = icmp ne i32 %2748, 0
  br i1 %2749, label %2750, label %2767

2750:                                             ; preds = %2745
  %2751 = load i32, ptr %55, align 4, !tbaa !5
  %2752 = call ptr @__errno_location() #12
  store i32 %2751, ptr %2752, align 4, !tbaa !5
  %2753 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2754 = load i32, ptr @test_count, align 4, !tbaa !5
  %2755 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2756 = load i32, ptr %2755, align 4, !tbaa !5
  %2757 = call ptr @s2n_strerror(i32 noundef %2756, ptr noundef @.str.11)
  %2758 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2759 = load i32, ptr %2758, align 4, !tbaa !5
  %2760 = call ptr @s2n_strerror_debug(i32 noundef %2759, ptr noundef @.str.11)
  %2761 = call ptr @__errno_location() #12
  %2762 = load i32, ptr %2761, align 4, !tbaa !5
  %2763 = call ptr @strerror(i32 noundef %2762) #11
  %2764 = call ptr @__errno_location() #12
  %2765 = load i32, ptr %2764, align 4, !tbaa !5
  %2766 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2753, ptr noundef @.str.9, i32 noundef %2754, ptr noundef @.str.44, ptr noundef @.str.8, i32 noundef 201, ptr noundef %2757, ptr noundef %2760, ptr noundef %2763, i32 noundef %2765) #11
  br label %2784

2767:                                             ; preds = %2745, %2738
  %2768 = load i32, ptr %55, align 4, !tbaa !5
  %2769 = call ptr @__errno_location() #12
  store i32 %2768, ptr %2769, align 4, !tbaa !5
  %2770 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2771 = load i32, ptr @test_count, align 4, !tbaa !5
  %2772 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2773 = load i32, ptr %2772, align 4, !tbaa !5
  %2774 = call ptr @s2n_strerror(i32 noundef %2773, ptr noundef @.str.11)
  %2775 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2776 = load i32, ptr %2775, align 4, !tbaa !5
  %2777 = call ptr @s2n_strerror_debug(i32 noundef %2776, ptr noundef @.str.11)
  %2778 = call ptr @__errno_location() #12
  %2779 = load i32, ptr %2778, align 4, !tbaa !5
  %2780 = call ptr @strerror(i32 noundef %2779) #11
  %2781 = call ptr @__errno_location() #12
  %2782 = load i32, ptr %2781, align 4, !tbaa !5
  %2783 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2770, ptr noundef @.str.12, i32 noundef %2771, ptr noundef @.str.44, ptr noundef @.str.8, i32 noundef 201, ptr noundef %2774, ptr noundef %2777, ptr noundef %2780, i32 noundef %2782) #11
  br label %2784

2784:                                             ; preds = %2767, %2750
  call void @llvm.lifetime.end.p0(i64 4, ptr %55) #11
  br label %2785

2785:                                             ; preds = %2784
  br label %2786

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

2787:                                             ; No predecessors!
  br label %2788

2788:                                             ; preds = %2787
  br label %2789

2789:                                             ; preds = %2788, %2730
  br label %2790

2790:                                             ; preds = %2789
  br label %2791

2791:                                             ; preds = %2790
  call void @llvm.lifetime.end.p0(i64 8, ptr %47) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %44) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %41) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %13) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %56) #11
  store ptr null, ptr %56, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %57) #11
  store ptr null, ptr %57, align 8, !tbaa !9
  br label %2792

2792:                                             ; preds = %2791
  %2793 = load i32, ptr @test_count, align 4, !tbaa !5
  %2794 = add nsw i32 %2793, 1
  store i32 %2794, ptr @test_count, align 4, !tbaa !5
  %2795 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %2795, ptr %56, align 8, !tbaa !9
  %2796 = icmp eq ptr %2795, null
  br i1 %2796, label %2797, label %2850

2797:                                             ; preds = %2792
  br label %2798

2798:                                             ; preds = %2797
  br label %2799

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

2806:                                             ; preds = %2799
  %2807 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2808 = call i32 @fileno(ptr noundef %2807) #11
  %2809 = call i32 @isatty(i32 noundef %2808) #11
  %2810 = icmp ne i32 %2809, 0
  br i1 %2810, label %2811, label %2828

2811:                                             ; preds = %2806
  %2812 = load i32, ptr %58, align 4, !tbaa !5
  %2813 = call ptr @__errno_location() #12
  store i32 %2812, ptr %2813, align 4, !tbaa !5
  %2814 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2815 = load i32, ptr @test_count, align 4, !tbaa !5
  %2816 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2817 = load i32, ptr %2816, align 4, !tbaa !5
  %2818 = call ptr @s2n_strerror(i32 noundef %2817, ptr noundef @.str.11)
  %2819 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2820 = load i32, ptr %2819, align 4, !tbaa !5
  %2821 = call ptr @s2n_strerror_debug(i32 noundef %2820, ptr noundef @.str.11)
  %2822 = call ptr @__errno_location() #12
  %2823 = load i32, ptr %2822, align 4, !tbaa !5
  %2824 = call ptr @strerror(i32 noundef %2823) #11
  %2825 = call ptr @__errno_location() #12
  %2826 = load i32, ptr %2825, align 4, !tbaa !5
  %2827 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2814, ptr noundef @.str.9, i32 noundef %2815, ptr noundef @.str.29, ptr noundef @.str.8, i32 noundef 208, ptr noundef %2818, ptr noundef %2821, ptr noundef %2824, i32 noundef %2826) #11
  br label %2845

2828:                                             ; preds = %2806, %2799
  %2829 = load i32, ptr %58, align 4, !tbaa !5
  %2830 = call ptr @__errno_location() #12
  store i32 %2829, ptr %2830, align 4, !tbaa !5
  %2831 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2832 = load i32, ptr @test_count, align 4, !tbaa !5
  %2833 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2834 = load i32, ptr %2833, align 4, !tbaa !5
  %2835 = call ptr @s2n_strerror(i32 noundef %2834, ptr noundef @.str.11)
  %2836 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2837 = load i32, ptr %2836, align 4, !tbaa !5
  %2838 = call ptr @s2n_strerror_debug(i32 noundef %2837, ptr noundef @.str.11)
  %2839 = call ptr @__errno_location() #12
  %2840 = load i32, ptr %2839, align 4, !tbaa !5
  %2841 = call ptr @strerror(i32 noundef %2840) #11
  %2842 = call ptr @__errno_location() #12
  %2843 = load i32, ptr %2842, align 4, !tbaa !5
  %2844 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2831, ptr noundef @.str.12, i32 noundef %2832, ptr noundef @.str.29, ptr noundef @.str.8, i32 noundef 208, ptr noundef %2835, ptr noundef %2838, ptr noundef %2841, i32 noundef %2843) #11
  br label %2845

2845:                                             ; preds = %2828, %2811
  call void @llvm.lifetime.end.p0(i64 4, ptr %58) #11
  br label %2846

2846:                                             ; preds = %2845
  br label %2847

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

2848:                                             ; No predecessors!
  br label %2849

2849:                                             ; preds = %2848
  br label %2850

2850:                                             ; preds = %2849, %2792
  br label %2851

2851:                                             ; preds = %2850
  br label %2852

2852:                                             ; preds = %2851
  br label %2853

2853:                                             ; preds = %2852
  %2854 = load i32, ptr @test_count, align 4, !tbaa !5
  %2855 = add nsw i32 %2854, 1
  store i32 %2855, ptr @test_count, align 4, !tbaa !5
  %2856 = load ptr, ptr %56, align 8, !tbaa !9
  %2857 = call i32 @s2n_set_test_protocol_versions(ptr noundef %2856)
  %2858 = icmp eq i32 %2857, -1
  br i1 %2858, label %2859, label %2912

2859:                                             ; preds = %2853
  br label %2860

2860:                                             ; preds = %2859
  br label %2861

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

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

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

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

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

2908:                                             ; preds = %2907
  br label %2909

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

2910:                                             ; No predecessors!
  br label %2911

2911:                                             ; preds = %2910
  br label %2912

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

2913:                                             ; preds = %2912
  br label %2914

2914:                                             ; preds = %2913
  br label %2915

2915:                                             ; preds = %2914
  %2916 = load i32, ptr @test_count, align 4, !tbaa !5
  %2917 = add nsw i32 %2916, 1
  store i32 %2917, ptr @test_count, align 4, !tbaa !5
  %2918 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %2918, ptr %57, align 8, !tbaa !9
  %2919 = icmp eq ptr %2918, null
  br i1 %2919, label %2920, label %2973

2920:                                             ; preds = %2915
  br label %2921

2921:                                             ; preds = %2920
  br label %2922

2922:                                             ; preds = %2921
  call void @llvm.lifetime.start.p0(i64 4, ptr %60) #11
  %2923 = call ptr @__errno_location() #12
  %2924 = load i32, ptr %2923, align 4, !tbaa !5
  store i32 %2924, ptr %60, align 4, !tbaa !5
  %2925 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2926 = call i32 @s2n_print_stacktrace(ptr noundef %2925)
  %2927 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2928 = trunc i8 %2927 to i1
  br i1 %2928, label %2929, label %2951

2929:                                             ; preds = %2922
  %2930 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2931 = call i32 @fileno(ptr noundef %2930) #11
  %2932 = call i32 @isatty(i32 noundef %2931) #11
  %2933 = icmp ne i32 %2932, 0
  br i1 %2933, label %2934, label %2951

2934:                                             ; preds = %2929
  %2935 = load i32, ptr %60, align 4, !tbaa !5
  %2936 = call ptr @__errno_location() #12
  store i32 %2935, ptr %2936, align 4, !tbaa !5
  %2937 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2938 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %2940, ptr noundef @.str.11)
  %2942 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2943 = load i32, ptr %2942, align 4, !tbaa !5
  %2944 = call ptr @s2n_strerror_debug(i32 noundef %2943, ptr noundef @.str.11)
  %2945 = call ptr @__errno_location() #12
  %2946 = load i32, ptr %2945, align 4, !tbaa !5
  %2947 = call ptr @strerror(i32 noundef %2946) #11
  %2948 = call ptr @__errno_location() #12
  %2949 = load i32, ptr %2948, align 4, !tbaa !5
  %2950 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2937, ptr noundef @.str.9, i32 noundef %2938, ptr noundef @.str.30, ptr noundef @.str.8, i32 noundef 210, ptr noundef %2941, ptr noundef %2944, ptr noundef %2947, i32 noundef %2949) #11
  br label %2968

2951:                                             ; preds = %2929, %2922
  %2952 = load i32, ptr %60, align 4, !tbaa !5
  %2953 = call ptr @__errno_location() #12
  store i32 %2952, ptr %2953, align 4, !tbaa !5
  %2954 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2955 = load i32, ptr @test_count, align 4, !tbaa !5
  %2956 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2957 = load i32, ptr %2956, align 4, !tbaa !5
  %2958 = call ptr @s2n_strerror(i32 noundef %2957, ptr noundef @.str.11)
  %2959 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2960 = load i32, ptr %2959, align 4, !tbaa !5
  %2961 = call ptr @s2n_strerror_debug(i32 noundef %2960, ptr noundef @.str.11)
  %2962 = call ptr @__errno_location() #12
  %2963 = load i32, ptr %2962, align 4, !tbaa !5
  %2964 = call ptr @strerror(i32 noundef %2963) #11
  %2965 = call ptr @__errno_location() #12
  %2966 = load i32, ptr %2965, align 4, !tbaa !5
  %2967 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2954, ptr noundef @.str.12, i32 noundef %2955, ptr noundef @.str.30, ptr noundef @.str.8, i32 noundef 210, ptr noundef %2958, ptr noundef %2961, ptr noundef %2964, i32 noundef %2966) #11
  br label %2968

2968:                                             ; preds = %2951, %2934
  call void @llvm.lifetime.end.p0(i64 4, ptr %60) #11
  br label %2969

2969:                                             ; preds = %2968
  br label %2970

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

2971:                                             ; No predecessors!
  br label %2972

2972:                                             ; preds = %2971
  br label %2973

2973:                                             ; preds = %2972, %2915
  br label %2974

2974:                                             ; preds = %2973
  br label %2975

2975:                                             ; preds = %2974
  br label %2976

2976:                                             ; preds = %2975
  %2977 = load i32, ptr @test_count, align 4, !tbaa !5
  %2978 = add nsw i32 %2977, 1
  store i32 %2978, ptr @test_count, align 4, !tbaa !5
  %2979 = load ptr, ptr %57, align 8, !tbaa !9
  %2980 = call i32 @s2n_set_test_protocol_versions(ptr noundef %2979)
  %2981 = icmp eq i32 %2980, -1
  br i1 %2981, label %2982, label %3035

2982:                                             ; preds = %2976
  br label %2983

2983:                                             ; preds = %2982
  br label %2984

2984:                                             ; preds = %2983
  call void @llvm.lifetime.start.p0(i64 4, ptr %61) #11
  %2985 = call ptr @__errno_location() #12
  %2986 = load i32, ptr %2985, align 4, !tbaa !5
  store i32 %2986, ptr %61, align 4, !tbaa !5
  %2987 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2988 = call i32 @s2n_print_stacktrace(ptr noundef %2987)
  %2989 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2990 = trunc i8 %2989 to i1
  br i1 %2990, label %2991, label %3013

2991:                                             ; preds = %2984
  %2992 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2993 = call i32 @fileno(ptr noundef %2992) #11
  %2994 = call i32 @isatty(i32 noundef %2993) #11
  %2995 = icmp ne i32 %2994, 0
  br i1 %2995, label %2996, label %3013

2996:                                             ; preds = %2991
  %2997 = load i32, ptr %61, align 4, !tbaa !5
  %2998 = call ptr @__errno_location() #12
  store i32 %2997, ptr %2998, align 4, !tbaa !5
  %2999 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3000 = load i32, ptr @test_count, align 4, !tbaa !5
  %3001 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3002 = load i32, ptr %3001, align 4, !tbaa !5
  %3003 = call ptr @s2n_strerror(i32 noundef %3002, ptr noundef @.str.11)
  %3004 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3005 = load i32, ptr %3004, align 4, !tbaa !5
  %3006 = call ptr @s2n_strerror_debug(i32 noundef %3005, ptr noundef @.str.11)
  %3007 = call ptr @__errno_location() #12
  %3008 = load i32, ptr %3007, align 4, !tbaa !5
  %3009 = call ptr @strerror(i32 noundef %3008) #11
  %3010 = call ptr @__errno_location() #12
  %3011 = load i32, ptr %3010, align 4, !tbaa !5
  %3012 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2999, ptr noundef @.str.9, i32 noundef %3000, ptr noundef @.str.46, ptr noundef @.str.8, i32 noundef 211, ptr noundef %3003, ptr noundef %3006, ptr noundef %3009, i32 noundef %3011) #11
  br label %3030

3013:                                             ; preds = %2991, %2984
  %3014 = load i32, ptr %61, align 4, !tbaa !5
  %3015 = call ptr @__errno_location() #12
  store i32 %3014, ptr %3015, align 4, !tbaa !5
  %3016 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3017 = load i32, ptr @test_count, align 4, !tbaa !5
  %3018 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3019 = load i32, ptr %3018, align 4, !tbaa !5
  %3020 = call ptr @s2n_strerror(i32 noundef %3019, ptr noundef @.str.11)
  %3021 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3022 = load i32, ptr %3021, align 4, !tbaa !5
  %3023 = call ptr @s2n_strerror_debug(i32 noundef %3022, ptr noundef @.str.11)
  %3024 = call ptr @__errno_location() #12
  %3025 = load i32, ptr %3024, align 4, !tbaa !5
  %3026 = call ptr @strerror(i32 noundef %3025) #11
  %3027 = call ptr @__errno_location() #12
  %3028 = load i32, ptr %3027, align 4, !tbaa !5
  %3029 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3016, ptr noundef @.str.12, i32 noundef %3017, ptr noundef @.str.46, ptr noundef @.str.8, i32 noundef 211, ptr noundef %3020, ptr noundef %3023, ptr noundef %3026, i32 noundef %3028) #11
  br label %3030

3030:                                             ; preds = %3013, %2996
  call void @llvm.lifetime.end.p0(i64 4, ptr %61) #11
  br label %3031

3031:                                             ; preds = %3030
  br label %3032

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

3033:                                             ; No predecessors!
  br label %3034

3034:                                             ; preds = %3033
  br label %3035

3035:                                             ; preds = %3034, %2976
  br label %3036

3036:                                             ; preds = %3035
  br label %3037

3037:                                             ; preds = %3036
  br label %3038

3038:                                             ; preds = %3037
  %3039 = load i32, ptr @test_count, align 4, !tbaa !5
  %3040 = add nsw i32 %3039, 1
  store i32 %3040, ptr @test_count, align 4, !tbaa !5
  %3041 = call zeroext i8 @s2n_connection_get_protocol_version(ptr noundef null)
  %3042 = zext i8 %3041 to i32
  %3043 = icmp eq i32 %3042, 0
  br i1 %3043, label %3097, label %3044

3044:                                             ; preds = %3038
  br label %3045

3045:                                             ; preds = %3044
  br label %3046

3046:                                             ; preds = %3045
  call void @llvm.lifetime.start.p0(i64 4, ptr %62) #11
  %3047 = call ptr @__errno_location() #12
  %3048 = load i32, ptr %3047, align 4, !tbaa !5
  store i32 %3048, ptr %62, align 4, !tbaa !5
  %3049 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3050 = call i32 @s2n_print_stacktrace(ptr noundef %3049)
  %3051 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3052 = trunc i8 %3051 to i1
  br i1 %3052, label %3053, label %3075

3053:                                             ; preds = %3046
  %3054 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3055 = call i32 @fileno(ptr noundef %3054) #11
  %3056 = call i32 @isatty(i32 noundef %3055) #11
  %3057 = icmp ne i32 %3056, 0
  br i1 %3057, label %3058, label %3075

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

3075:                                             ; preds = %3053, %3046
  %3076 = load i32, ptr %62, align 4, !tbaa !5
  %3077 = call ptr @__errno_location() #12
  store i32 %3076, ptr %3077, align 4, !tbaa !5
  %3078 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3079 = load i32, ptr @test_count, align 4, !tbaa !5
  %3080 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3081 = load i32, ptr %3080, align 4, !tbaa !5
  %3082 = call ptr @s2n_strerror(i32 noundef %3081, ptr noundef @.str.11)
  %3083 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3084 = load i32, ptr %3083, align 4, !tbaa !5
  %3085 = call ptr @s2n_strerror_debug(i32 noundef %3084, ptr noundef @.str.11)
  %3086 = call ptr @__errno_location() #12
  %3087 = load i32, ptr %3086, align 4, !tbaa !5
  %3088 = call ptr @strerror(i32 noundef %3087) #11
  %3089 = call ptr @__errno_location() #12
  %3090 = load i32, ptr %3089, align 4, !tbaa !5
  %3091 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3078, ptr noundef @.str.12, i32 noundef %3079, ptr noundef @.str.47, ptr noundef @.str.8, i32 noundef 214, ptr noundef %3082, ptr noundef %3085, ptr noundef %3088, i32 noundef %3090) #11
  br label %3092

3092:                                             ; preds = %3075, %3058
  call void @llvm.lifetime.end.p0(i64 4, ptr %62) #11
  br label %3093

3093:                                             ; preds = %3092
  br label %3094

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

3095:                                             ; No predecessors!
  br label %3096

3096:                                             ; preds = %3095
  br label %3097

3097:                                             ; preds = %3096, %3038
  br label %3098

3098:                                             ; preds = %3097
  br label %3099

3099:                                             ; preds = %3098
  br label %3100

3100:                                             ; preds = %3099
  %3101 = load i32, ptr @test_count, align 4, !tbaa !5
  %3102 = add nsw i32 %3101, 1
  store i32 %3102, ptr @test_count, align 4, !tbaa !5
  %3103 = load ptr, ptr %56, align 8, !tbaa !9
  %3104 = call zeroext i8 @s2n_connection_get_protocol_version(ptr noundef %3103)
  %3105 = zext i8 %3104 to i32
  %3106 = icmp eq i32 %3105, 1
  br i1 %3106, label %3160, label %3107

3107:                                             ; preds = %3100
  br label %3108

3108:                                             ; preds = %3107
  br label %3109

3109:                                             ; preds = %3108
  call void @llvm.lifetime.start.p0(i64 4, ptr %63) #11
  %3110 = call ptr @__errno_location() #12
  %3111 = load i32, ptr %3110, align 4, !tbaa !5
  store i32 %3111, ptr %63, align 4, !tbaa !5
  %3112 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3113 = call i32 @s2n_print_stacktrace(ptr noundef %3112)
  %3114 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3115 = trunc i8 %3114 to i1
  br i1 %3115, label %3116, label %3138

3116:                                             ; preds = %3109
  %3117 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3118 = call i32 @fileno(ptr noundef %3117) #11
  %3119 = call i32 @isatty(i32 noundef %3118) #11
  %3120 = icmp ne i32 %3119, 0
  br i1 %3120, label %3121, label %3138

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

3138:                                             ; preds = %3116, %3109
  %3139 = load i32, ptr %63, align 4, !tbaa !5
  %3140 = call ptr @__errno_location() #12
  store i32 %3139, ptr %3140, align 4, !tbaa !5
  %3141 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3142 = load i32, ptr @test_count, align 4, !tbaa !5
  %3143 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3144 = load i32, ptr %3143, align 4, !tbaa !5
  %3145 = call ptr @s2n_strerror(i32 noundef %3144, ptr noundef @.str.11)
  %3146 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3147 = load i32, ptr %3146, align 4, !tbaa !5
  %3148 = call ptr @s2n_strerror_debug(i32 noundef %3147, ptr noundef @.str.11)
  %3149 = call ptr @__errno_location() #12
  %3150 = load i32, ptr %3149, align 4, !tbaa !5
  %3151 = call ptr @strerror(i32 noundef %3150) #11
  %3152 = call ptr @__errno_location() #12
  %3153 = load i32, ptr %3152, align 4, !tbaa !5
  %3154 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3141, ptr noundef @.str.12, i32 noundef %3142, ptr noundef @.str.48, ptr noundef @.str.8, i32 noundef 217, ptr noundef %3145, ptr noundef %3148, ptr noundef %3151, i32 noundef %3153) #11
  br label %3155

3155:                                             ; preds = %3138, %3121
  call void @llvm.lifetime.end.p0(i64 4, ptr %63) #11
  br label %3156

3156:                                             ; preds = %3155
  br label %3157

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

3158:                                             ; No predecessors!
  br label %3159

3159:                                             ; preds = %3158
  br label %3160

3160:                                             ; preds = %3159, %3100
  br label %3161

3161:                                             ; preds = %3160
  br label %3162

3162:                                             ; preds = %3161
  br label %3163

3163:                                             ; preds = %3162
  %3164 = load i32, ptr @test_count, align 4, !tbaa !5
  %3165 = add nsw i32 %3164, 1
  store i32 %3165, ptr @test_count, align 4, !tbaa !5
  %3166 = load ptr, ptr %57, align 8, !tbaa !9
  %3167 = call zeroext i8 @s2n_connection_get_protocol_version(ptr noundef %3166)
  %3168 = zext i8 %3167 to i32
  %3169 = icmp eq i32 %3168, 1
  br i1 %3169, label %3223, label %3170

3170:                                             ; preds = %3163
  br label %3171

3171:                                             ; preds = %3170
  br label %3172

3172:                                             ; preds = %3171
  call void @llvm.lifetime.start.p0(i64 4, ptr %64) #11
  %3173 = call ptr @__errno_location() #12
  %3174 = load i32, ptr %3173, align 4, !tbaa !5
  store i32 %3174, ptr %64, align 4, !tbaa !5
  %3175 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3176 = call i32 @s2n_print_stacktrace(ptr noundef %3175)
  %3177 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3178 = trunc i8 %3177 to i1
  br i1 %3178, label %3179, label %3201

3179:                                             ; preds = %3172
  %3180 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3181 = call i32 @fileno(ptr noundef %3180) #11
  %3182 = call i32 @isatty(i32 noundef %3181) #11
  %3183 = icmp ne i32 %3182, 0
  br i1 %3183, label %3184, label %3201

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

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

3218:                                             ; preds = %3201, %3184
  call void @llvm.lifetime.end.p0(i64 4, ptr %64) #11
  br label %3219

3219:                                             ; preds = %3218
  br label %3220

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

3221:                                             ; No predecessors!
  br label %3222

3222:                                             ; preds = %3221
  br label %3223

3223:                                             ; preds = %3222, %3163
  br label %3224

3224:                                             ; preds = %3223
  br label %3225

3225:                                             ; preds = %3224
  %3226 = load ptr, ptr %56, align 8, !tbaa !9
  %3227 = getelementptr inbounds %struct.s2n_connection, ptr %3226, i32 0, i32 23
  store i8 0, ptr %3227, align 4, !tbaa !49
  br label %3228

3228:                                             ; preds = %3225
  %3229 = load i32, ptr @test_count, align 4, !tbaa !5
  %3230 = add nsw i32 %3229, 1
  store i32 %3230, ptr @test_count, align 4, !tbaa !5
  %3231 = load ptr, ptr %56, align 8, !tbaa !9
  %3232 = call zeroext i8 @s2n_connection_get_protocol_version(ptr noundef %3231)
  %3233 = zext i8 %3232 to i32
  %3234 = icmp eq i32 %3233, 2
  br i1 %3234, label %3288, label %3235

3235:                                             ; preds = %3228
  br label %3236

3236:                                             ; preds = %3235
  br label %3237

3237:                                             ; preds = %3236
  call void @llvm.lifetime.start.p0(i64 4, ptr %65) #11
  %3238 = call ptr @__errno_location() #12
  %3239 = load i32, ptr %3238, align 4, !tbaa !5
  store i32 %3239, ptr %65, align 4, !tbaa !5
  %3240 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3241 = call i32 @s2n_print_stacktrace(ptr noundef %3240)
  %3242 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3243 = trunc i8 %3242 to i1
  br i1 %3243, label %3244, label %3266

3244:                                             ; preds = %3237
  %3245 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3246 = call i32 @fileno(ptr noundef %3245) #11
  %3247 = call i32 @isatty(i32 noundef %3246) #11
  %3248 = icmp ne i32 %3247, 0
  br i1 %3248, label %3249, label %3266

3249:                                             ; preds = %3244
  %3250 = load i32, ptr %65, align 4, !tbaa !5
  %3251 = call ptr @__errno_location() #12
  store i32 %3250, ptr %3251, align 4, !tbaa !5
  %3252 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3253 = load i32, ptr @test_count, align 4, !tbaa !5
  %3254 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3255 = load i32, ptr %3254, align 4, !tbaa !5
  %3256 = call ptr @s2n_strerror(i32 noundef %3255, ptr noundef @.str.11)
  %3257 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3258 = load i32, ptr %3257, align 4, !tbaa !5
  %3259 = call ptr @s2n_strerror_debug(i32 noundef %3258, ptr noundef @.str.11)
  %3260 = call ptr @__errno_location() #12
  %3261 = load i32, ptr %3260, align 4, !tbaa !5
  %3262 = call ptr @strerror(i32 noundef %3261) #11
  %3263 = call ptr @__errno_location() #12
  %3264 = load i32, ptr %3263, align 4, !tbaa !5
  %3265 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3252, ptr noundef @.str.9, i32 noundef %3253, ptr noundef @.str.50, ptr noundef @.str.8, i32 noundef 222, ptr noundef %3256, ptr noundef %3259, ptr noundef %3262, i32 noundef %3264) #11
  br label %3283

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

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

3284:                                             ; preds = %3283
  br label %3285

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

3286:                                             ; No predecessors!
  br label %3287

3287:                                             ; preds = %3286
  br label %3288

3288:                                             ; preds = %3287, %3228
  br label %3289

3289:                                             ; preds = %3288
  br label %3290

3290:                                             ; preds = %3289
  %3291 = load ptr, ptr %57, align 8, !tbaa !9
  %3292 = getelementptr inbounds %struct.s2n_connection, ptr %3291, i32 0, i32 23
  store i8 0, ptr %3292, align 4, !tbaa !49
  br label %3293

3293:                                             ; preds = %3290
  %3294 = load i32, ptr @test_count, align 4, !tbaa !5
  %3295 = add nsw i32 %3294, 1
  store i32 %3295, ptr @test_count, align 4, !tbaa !5
  %3296 = load ptr, ptr %57, align 8, !tbaa !9
  %3297 = call zeroext i8 @s2n_connection_get_protocol_version(ptr noundef %3296)
  %3298 = zext i8 %3297 to i32
  %3299 = icmp eq i32 %3298, 3
  br i1 %3299, label %3353, label %3300

3300:                                             ; preds = %3293
  br label %3301

3301:                                             ; preds = %3300
  br label %3302

3302:                                             ; preds = %3301
  call void @llvm.lifetime.start.p0(i64 4, ptr %66) #11
  %3303 = call ptr @__errno_location() #12
  %3304 = load i32, ptr %3303, align 4, !tbaa !5
  store i32 %3304, ptr %66, align 4, !tbaa !5
  %3305 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3306 = call i32 @s2n_print_stacktrace(ptr noundef %3305)
  %3307 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3308 = trunc i8 %3307 to i1
  br i1 %3308, label %3309, label %3331

3309:                                             ; preds = %3302
  %3310 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3311 = call i32 @fileno(ptr noundef %3310) #11
  %3312 = call i32 @isatty(i32 noundef %3311) #11
  %3313 = icmp ne i32 %3312, 0
  br i1 %3313, label %3314, label %3331

3314:                                             ; preds = %3309
  %3315 = load i32, ptr %66, align 4, !tbaa !5
  %3316 = call ptr @__errno_location() #12
  store i32 %3315, ptr %3316, align 4, !tbaa !5
  %3317 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3318 = load i32, ptr @test_count, align 4, !tbaa !5
  %3319 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3320 = load i32, ptr %3319, align 4, !tbaa !5
  %3321 = call ptr @s2n_strerror(i32 noundef %3320, ptr noundef @.str.11)
  %3322 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3323 = load i32, ptr %3322, align 4, !tbaa !5
  %3324 = call ptr @s2n_strerror_debug(i32 noundef %3323, ptr noundef @.str.11)
  %3325 = call ptr @__errno_location() #12
  %3326 = load i32, ptr %3325, align 4, !tbaa !5
  %3327 = call ptr @strerror(i32 noundef %3326) #11
  %3328 = call ptr @__errno_location() #12
  %3329 = load i32, ptr %3328, align 4, !tbaa !5
  %3330 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3317, ptr noundef @.str.9, i32 noundef %3318, ptr noundef @.str.51, ptr noundef @.str.8, i32 noundef 224, ptr noundef %3321, ptr noundef %3324, ptr noundef %3327, i32 noundef %3329) #11
  br label %3348

3331:                                             ; preds = %3309, %3302
  %3332 = load i32, ptr %66, align 4, !tbaa !5
  %3333 = call ptr @__errno_location() #12
  store i32 %3332, ptr %3333, align 4, !tbaa !5
  %3334 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3335 = load i32, ptr @test_count, align 4, !tbaa !5
  %3336 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3337 = load i32, ptr %3336, align 4, !tbaa !5
  %3338 = call ptr @s2n_strerror(i32 noundef %3337, ptr noundef @.str.11)
  %3339 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3340 = load i32, ptr %3339, align 4, !tbaa !5
  %3341 = call ptr @s2n_strerror_debug(i32 noundef %3340, ptr noundef @.str.11)
  %3342 = call ptr @__errno_location() #12
  %3343 = load i32, ptr %3342, align 4, !tbaa !5
  %3344 = call ptr @strerror(i32 noundef %3343) #11
  %3345 = call ptr @__errno_location() #12
  %3346 = load i32, ptr %3345, align 4, !tbaa !5
  %3347 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3334, ptr noundef @.str.12, i32 noundef %3335, ptr noundef @.str.51, ptr noundef @.str.8, i32 noundef 224, ptr noundef %3338, ptr noundef %3341, ptr noundef %3344, i32 noundef %3346) #11
  br label %3348

3348:                                             ; preds = %3331, %3314
  call void @llvm.lifetime.end.p0(i64 4, ptr %66) #11
  br label %3349

3349:                                             ; preds = %3348
  br label %3350

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

3351:                                             ; No predecessors!
  br label %3352

3352:                                             ; preds = %3351
  br label %3353

3353:                                             ; preds = %3352, %3293
  br label %3354

3354:                                             ; preds = %3353
  br label %3355

3355:                                             ; preds = %3354
  br label %3356

3356:                                             ; preds = %3355
  %3357 = load i32, ptr @test_count, align 4, !tbaa !5
  %3358 = add nsw i32 %3357, 1
  store i32 %3358, ptr @test_count, align 4, !tbaa !5
  %3359 = load ptr, ptr %56, align 8, !tbaa !9
  %3360 = call i32 @s2n_connection_free(ptr noundef %3359)
  %3361 = icmp eq i32 %3360, -1
  br i1 %3361, label %3362, label %3415

3362:                                             ; preds = %3356
  br label %3363

3363:                                             ; preds = %3362
  br label %3364

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

3371:                                             ; preds = %3364
  %3372 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3373 = call i32 @fileno(ptr noundef %3372) #11
  %3374 = call i32 @isatty(i32 noundef %3373) #11
  %3375 = icmp ne i32 %3374, 0
  br i1 %3375, label %3376, label %3393

3376:                                             ; preds = %3371
  %3377 = load i32, ptr %67, align 4, !tbaa !5
  %3378 = call ptr @__errno_location() #12
  store i32 %3377, ptr %3378, align 4, !tbaa !5
  %3379 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3380 = load i32, ptr @test_count, align 4, !tbaa !5
  %3381 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3382 = load i32, ptr %3381, align 4, !tbaa !5
  %3383 = call ptr @s2n_strerror(i32 noundef %3382, ptr noundef @.str.11)
  %3384 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3385 = load i32, ptr %3384, align 4, !tbaa !5
  %3386 = call ptr @s2n_strerror_debug(i32 noundef %3385, ptr noundef @.str.11)
  %3387 = call ptr @__errno_location() #12
  %3388 = load i32, ptr %3387, align 4, !tbaa !5
  %3389 = call ptr @strerror(i32 noundef %3388) #11
  %3390 = call ptr @__errno_location() #12
  %3391 = load i32, ptr %3390, align 4, !tbaa !5
  %3392 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3379, ptr noundef @.str.9, i32 noundef %3380, ptr noundef @.str.36, ptr noundef @.str.8, i32 noundef 226, ptr noundef %3383, ptr noundef %3386, ptr noundef %3389, i32 noundef %3391) #11
  br label %3410

3393:                                             ; preds = %3371, %3364
  %3394 = load i32, ptr %67, align 4, !tbaa !5
  %3395 = call ptr @__errno_location() #12
  store i32 %3394, ptr %3395, align 4, !tbaa !5
  %3396 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3397 = load i32, ptr @test_count, align 4, !tbaa !5
  %3398 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3399 = load i32, ptr %3398, align 4, !tbaa !5
  %3400 = call ptr @s2n_strerror(i32 noundef %3399, ptr noundef @.str.11)
  %3401 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3402 = load i32, ptr %3401, align 4, !tbaa !5
  %3403 = call ptr @s2n_strerror_debug(i32 noundef %3402, ptr noundef @.str.11)
  %3404 = call ptr @__errno_location() #12
  %3405 = load i32, ptr %3404, align 4, !tbaa !5
  %3406 = call ptr @strerror(i32 noundef %3405) #11
  %3407 = call ptr @__errno_location() #12
  %3408 = load i32, ptr %3407, align 4, !tbaa !5
  %3409 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3396, ptr noundef @.str.12, i32 noundef %3397, ptr noundef @.str.36, ptr noundef @.str.8, i32 noundef 226, ptr noundef %3400, ptr noundef %3403, ptr noundef %3406, i32 noundef %3408) #11
  br label %3410

3410:                                             ; preds = %3393, %3376
  call void @llvm.lifetime.end.p0(i64 4, ptr %67) #11
  br label %3411

3411:                                             ; preds = %3410
  br label %3412

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

3413:                                             ; No predecessors!
  br label %3414

3414:                                             ; preds = %3413
  br label %3415

3415:                                             ; preds = %3414, %3356
  br label %3416

3416:                                             ; preds = %3415
  br label %3417

3417:                                             ; preds = %3416
  br label %3418

3418:                                             ; preds = %3417
  %3419 = load i32, ptr @test_count, align 4, !tbaa !5
  %3420 = add nsw i32 %3419, 1
  store i32 %3420, ptr @test_count, align 4, !tbaa !5
  %3421 = load ptr, ptr %57, align 8, !tbaa !9
  %3422 = call i32 @s2n_connection_free(ptr noundef %3421)
  %3423 = icmp eq i32 %3422, -1
  br i1 %3423, label %3424, label %3477

3424:                                             ; preds = %3418
  br label %3425

3425:                                             ; preds = %3424
  br label %3426

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

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

3438:                                             ; preds = %3433
  %3439 = load i32, ptr %68, align 4, !tbaa !5
  %3440 = call ptr @__errno_location() #12
  store i32 %3439, ptr %3440, align 4, !tbaa !5
  %3441 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3442 = load i32, ptr @test_count, align 4, !tbaa !5
  %3443 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3444 = load i32, ptr %3443, align 4, !tbaa !5
  %3445 = call ptr @s2n_strerror(i32 noundef %3444, ptr noundef @.str.11)
  %3446 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3447 = load i32, ptr %3446, align 4, !tbaa !5
  %3448 = call ptr @s2n_strerror_debug(i32 noundef %3447, ptr noundef @.str.11)
  %3449 = call ptr @__errno_location() #12
  %3450 = load i32, ptr %3449, align 4, !tbaa !5
  %3451 = call ptr @strerror(i32 noundef %3450) #11
  %3452 = call ptr @__errno_location() #12
  %3453 = load i32, ptr %3452, align 4, !tbaa !5
  %3454 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3441, ptr noundef @.str.9, i32 noundef %3442, ptr noundef @.str.37, ptr noundef @.str.8, i32 noundef 227, ptr noundef %3445, ptr noundef %3448, ptr noundef %3451, i32 noundef %3453) #11
  br label %3472

3455:                                             ; preds = %3433, %3426
  %3456 = load i32, ptr %68, align 4, !tbaa !5
  %3457 = call ptr @__errno_location() #12
  store i32 %3456, ptr %3457, align 4, !tbaa !5
  %3458 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3459 = load i32, ptr @test_count, align 4, !tbaa !5
  %3460 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3461 = load i32, ptr %3460, align 4, !tbaa !5
  %3462 = call ptr @s2n_strerror(i32 noundef %3461, ptr noundef @.str.11)
  %3463 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3464 = load i32, ptr %3463, align 4, !tbaa !5
  %3465 = call ptr @s2n_strerror_debug(i32 noundef %3464, ptr noundef @.str.11)
  %3466 = call ptr @__errno_location() #12
  %3467 = load i32, ptr %3466, align 4, !tbaa !5
  %3468 = call ptr @strerror(i32 noundef %3467) #11
  %3469 = call ptr @__errno_location() #12
  %3470 = load i32, ptr %3469, align 4, !tbaa !5
  %3471 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3458, ptr noundef @.str.12, i32 noundef %3459, ptr noundef @.str.37, ptr noundef @.str.8, i32 noundef 227, ptr noundef %3462, ptr noundef %3465, ptr noundef %3468, i32 noundef %3470) #11
  br label %3472

3472:                                             ; preds = %3455, %3438
  call void @llvm.lifetime.end.p0(i64 4, ptr %68) #11
  br label %3473

3473:                                             ; preds = %3472
  br label %3474

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

3475:                                             ; No predecessors!
  br label %3476

3476:                                             ; preds = %3475
  br label %3477

3477:                                             ; preds = %3476, %3418
  br label %3478

3478:                                             ; preds = %3477
  br label %3479

3479:                                             ; preds = %3478
  call void @llvm.lifetime.end.p0(i64 8, ptr %57) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %56) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %69) #11
  store ptr null, ptr %69, align 8, !tbaa !9
  br label %3480

3480:                                             ; preds = %3479
  %3481 = load i32, ptr @test_count, align 4, !tbaa !5
  %3482 = add nsw i32 %3481, 1
  store i32 %3482, ptr @test_count, align 4, !tbaa !5
  %3483 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %3483, ptr %69, align 8, !tbaa !9
  %3484 = icmp eq ptr %3483, null
  br i1 %3484, label %3485, label %3538

3485:                                             ; preds = %3480
  br label %3486

3486:                                             ; preds = %3485
  br label %3487

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

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

3499:                                             ; preds = %3494
  %3500 = load i32, ptr %70, align 4, !tbaa !5
  %3501 = call ptr @__errno_location() #12
  store i32 %3500, ptr %3501, align 4, !tbaa !5
  %3502 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3503 = load i32, ptr @test_count, align 4, !tbaa !5
  %3504 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3505 = load i32, ptr %3504, align 4, !tbaa !5
  %3506 = call ptr @s2n_strerror(i32 noundef %3505, ptr noundef @.str.11)
  %3507 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3508 = load i32, ptr %3507, align 4, !tbaa !5
  %3509 = call ptr @s2n_strerror_debug(i32 noundef %3508, ptr noundef @.str.11)
  %3510 = call ptr @__errno_location() #12
  %3511 = load i32, ptr %3510, align 4, !tbaa !5
  %3512 = call ptr @strerror(i32 noundef %3511) #11
  %3513 = call ptr @__errno_location() #12
  %3514 = load i32, ptr %3513, align 4, !tbaa !5
  %3515 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3502, ptr noundef @.str.9, i32 noundef %3503, ptr noundef @.str.23, ptr noundef @.str.8, i32 noundef 233, ptr noundef %3506, ptr noundef %3509, ptr noundef %3512, i32 noundef %3514) #11
  br label %3533

3516:                                             ; preds = %3494, %3487
  %3517 = load i32, ptr %70, align 4, !tbaa !5
  %3518 = call ptr @__errno_location() #12
  store i32 %3517, ptr %3518, align 4, !tbaa !5
  %3519 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3520 = load i32, ptr @test_count, align 4, !tbaa !5
  %3521 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3522 = load i32, ptr %3521, align 4, !tbaa !5
  %3523 = call ptr @s2n_strerror(i32 noundef %3522, ptr noundef @.str.11)
  %3524 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3525 = load i32, ptr %3524, align 4, !tbaa !5
  %3526 = call ptr @s2n_strerror_debug(i32 noundef %3525, ptr noundef @.str.11)
  %3527 = call ptr @__errno_location() #12
  %3528 = load i32, ptr %3527, align 4, !tbaa !5
  %3529 = call ptr @strerror(i32 noundef %3528) #11
  %3530 = call ptr @__errno_location() #12
  %3531 = load i32, ptr %3530, align 4, !tbaa !5
  %3532 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3519, ptr noundef @.str.12, i32 noundef %3520, ptr noundef @.str.23, ptr noundef @.str.8, i32 noundef 233, ptr noundef %3523, ptr noundef %3526, ptr noundef %3529, i32 noundef %3531) #11
  br label %3533

3533:                                             ; preds = %3516, %3499
  call void @llvm.lifetime.end.p0(i64 4, ptr %70) #11
  br label %3534

3534:                                             ; preds = %3533
  br label %3535

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

3536:                                             ; No predecessors!
  br label %3537

3537:                                             ; preds = %3536
  br label %3538

3538:                                             ; preds = %3537, %3480
  br label %3539

3539:                                             ; preds = %3538
  br label %3540

3540:                                             ; preds = %3539
  call void @llvm.lifetime.start.p0(i64 4, ptr %71) #11
  store i32 0, ptr %71, align 4, !tbaa !5
  br label %3541

3541:                                             ; preds = %3540
  br label %3542

3542:                                             ; preds = %3541
  %3543 = load i32, ptr @test_count, align 4, !tbaa !5
  %3544 = add nsw i32 %3543, 1
  store i32 %3544, ptr @test_count, align 4, !tbaa !5
  %3545 = call i32 @s2n_connection_get_selected_digest_algorithm(ptr noundef null, ptr noundef %71)
  %3546 = icmp eq i32 %3545, -1
  br i1 %3546, label %3600, label %3547

3547:                                             ; preds = %3542
  br label %3548

3548:                                             ; preds = %3547
  br label %3549

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

3556:                                             ; preds = %3549
  %3557 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3558 = call i32 @fileno(ptr noundef %3557) #11
  %3559 = call i32 @isatty(i32 noundef %3558) #11
  %3560 = icmp ne i32 %3559, 0
  br i1 %3560, label %3561, label %3578

3561:                                             ; preds = %3556
  %3562 = load i32, ptr %72, align 4, !tbaa !5
  %3563 = call ptr @__errno_location() #12
  store i32 %3562, ptr %3563, align 4, !tbaa !5
  %3564 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3565 = load i32, ptr @test_count, align 4, !tbaa !5
  %3566 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3567 = load i32, ptr %3566, align 4, !tbaa !5
  %3568 = call ptr @s2n_strerror(i32 noundef %3567, ptr noundef @.str.11)
  %3569 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3570 = load i32, ptr %3569, align 4, !tbaa !5
  %3571 = call ptr @s2n_strerror_debug(i32 noundef %3570, ptr noundef @.str.11)
  %3572 = call ptr @__errno_location() #12
  %3573 = load i32, ptr %3572, align 4, !tbaa !5
  %3574 = call ptr @strerror(i32 noundef %3573) #11
  %3575 = call ptr @__errno_location() #12
  %3576 = load i32, ptr %3575, align 4, !tbaa !5
  %3577 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3564, ptr noundef @.str.9, i32 noundef %3565, ptr noundef @.str.52, ptr noundef @.str.8, i32 noundef 237, ptr noundef %3568, ptr noundef %3571, ptr noundef %3574, i32 noundef %3576) #11
  br label %3595

3578:                                             ; preds = %3556, %3549
  %3579 = load i32, ptr %72, align 4, !tbaa !5
  %3580 = call ptr @__errno_location() #12
  store i32 %3579, ptr %3580, align 4, !tbaa !5
  %3581 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3582 = load i32, ptr @test_count, align 4, !tbaa !5
  %3583 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3584 = load i32, ptr %3583, align 4, !tbaa !5
  %3585 = call ptr @s2n_strerror(i32 noundef %3584, ptr noundef @.str.11)
  %3586 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3587 = load i32, ptr %3586, align 4, !tbaa !5
  %3588 = call ptr @s2n_strerror_debug(i32 noundef %3587, ptr noundef @.str.11)
  %3589 = call ptr @__errno_location() #12
  %3590 = load i32, ptr %3589, align 4, !tbaa !5
  %3591 = call ptr @strerror(i32 noundef %3590) #11
  %3592 = call ptr @__errno_location() #12
  %3593 = load i32, ptr %3592, align 4, !tbaa !5
  %3594 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3581, ptr noundef @.str.12, i32 noundef %3582, ptr noundef @.str.52, ptr noundef @.str.8, i32 noundef 237, ptr noundef %3585, ptr noundef %3588, ptr noundef %3591, i32 noundef %3593) #11
  br label %3595

3595:                                             ; preds = %3578, %3561
  call void @llvm.lifetime.end.p0(i64 4, ptr %72) #11
  br label %3596

3596:                                             ; preds = %3595
  br label %3597

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

3598:                                             ; No predecessors!
  br label %3599

3599:                                             ; preds = %3598
  br label %3600

3600:                                             ; preds = %3599, %3542
  br label %3601

3601:                                             ; preds = %3600
  br label %3602

3602:                                             ; preds = %3601
  br label %3603

3603:                                             ; preds = %3602
  %3604 = load i32, ptr @test_count, align 4, !tbaa !5
  %3605 = add nsw i32 %3604, 1
  store i32 %3605, ptr @test_count, align 4, !tbaa !5
  %3606 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3607 = load i32, ptr %3606, align 4, !tbaa !5
  %3608 = icmp eq i32 %3607, 0
  br i1 %3608, label %3609, label %3662

3609:                                             ; preds = %3603
  br label %3610

3610:                                             ; preds = %3609
  br label %3611

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

3618:                                             ; preds = %3611
  %3619 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3620 = call i32 @fileno(ptr noundef %3619) #11
  %3621 = call i32 @isatty(i32 noundef %3620) #11
  %3622 = icmp ne i32 %3621, 0
  br i1 %3622, label %3623, label %3640

3623:                                             ; preds = %3618
  %3624 = load i32, ptr %73, align 4, !tbaa !5
  %3625 = call ptr @__errno_location() #12
  store i32 %3624, ptr %3625, align 4, !tbaa !5
  %3626 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3627 = load i32, ptr @test_count, align 4, !tbaa !5
  %3628 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3629 = load i32, ptr %3628, align 4, !tbaa !5
  %3630 = call ptr @s2n_strerror(i32 noundef %3629, ptr noundef @.str.11)
  %3631 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3632 = load i32, ptr %3631, align 4, !tbaa !5
  %3633 = call ptr @s2n_strerror_debug(i32 noundef %3632, ptr noundef @.str.11)
  %3634 = call ptr @__errno_location() #12
  %3635 = load i32, ptr %3634, align 4, !tbaa !5
  %3636 = call ptr @strerror(i32 noundef %3635) #11
  %3637 = call ptr @__errno_location() #12
  %3638 = load i32, ptr %3637, align 4, !tbaa !5
  %3639 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3626, ptr noundef @.str.9, i32 noundef %3627, ptr noundef @.str.53, ptr noundef @.str.8, i32 noundef 237, ptr noundef %3630, ptr noundef %3633, ptr noundef %3636, i32 noundef %3638) #11
  br label %3657

3640:                                             ; preds = %3618, %3611
  %3641 = load i32, ptr %73, align 4, !tbaa !5
  %3642 = call ptr @__errno_location() #12
  store i32 %3641, ptr %3642, align 4, !tbaa !5
  %3643 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3644 = load i32, ptr @test_count, align 4, !tbaa !5
  %3645 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3646 = load i32, ptr %3645, align 4, !tbaa !5
  %3647 = call ptr @s2n_strerror(i32 noundef %3646, ptr noundef @.str.11)
  %3648 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3649 = load i32, ptr %3648, align 4, !tbaa !5
  %3650 = call ptr @s2n_strerror_debug(i32 noundef %3649, ptr noundef @.str.11)
  %3651 = call ptr @__errno_location() #12
  %3652 = load i32, ptr %3651, align 4, !tbaa !5
  %3653 = call ptr @strerror(i32 noundef %3652) #11
  %3654 = call ptr @__errno_location() #12
  %3655 = load i32, ptr %3654, align 4, !tbaa !5
  %3656 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3643, ptr noundef @.str.12, i32 noundef %3644, ptr noundef @.str.53, ptr noundef @.str.8, i32 noundef 237, ptr noundef %3647, ptr noundef %3650, ptr noundef %3653, i32 noundef %3655) #11
  br label %3657

3657:                                             ; preds = %3640, %3623
  call void @llvm.lifetime.end.p0(i64 4, ptr %73) #11
  br label %3658

3658:                                             ; preds = %3657
  br label %3659

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

3660:                                             ; No predecessors!
  br label %3661

3661:                                             ; preds = %3660
  br label %3662

3662:                                             ; preds = %3661, %3603
  br label %3663

3663:                                             ; preds = %3662
  br label %3664

3664:                                             ; preds = %3663
  br label %3665

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

3672:                                             ; preds = %3665
  br label %3673

3673:                                             ; preds = %3672
  br label %3674

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

3681:                                             ; preds = %3674
  %3682 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3683 = call i32 @fileno(ptr noundef %3682) #11
  %3684 = call i32 @isatty(i32 noundef %3683) #11
  %3685 = icmp ne i32 %3684, 0
  br i1 %3685, label %3686, label %3703

3686:                                             ; preds = %3681
  %3687 = load i32, ptr %74, align 4, !tbaa !5
  %3688 = call ptr @__errno_location() #12
  store i32 %3687, ptr %3688, align 4, !tbaa !5
  %3689 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3690 = load i32, ptr @test_count, align 4, !tbaa !5
  %3691 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3692 = load i32, ptr %3691, align 4, !tbaa !5
  %3693 = call ptr @s2n_strerror(i32 noundef %3692, ptr noundef @.str.11)
  %3694 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3695 = load i32, ptr %3694, align 4, !tbaa !5
  %3696 = call ptr @s2n_strerror_debug(i32 noundef %3695, ptr noundef @.str.11)
  %3697 = call ptr @__errno_location() #12
  %3698 = load i32, ptr %3697, align 4, !tbaa !5
  %3699 = call ptr @strerror(i32 noundef %3698) #11
  %3700 = call ptr @__errno_location() #12
  %3701 = load i32, ptr %3700, align 4, !tbaa !5
  %3702 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3689, ptr noundef @.str.9, i32 noundef %3690, ptr noundef @.str.54, ptr noundef @.str.8, i32 noundef 237, ptr noundef %3693, ptr noundef %3696, ptr noundef %3699, i32 noundef %3701) #11
  br label %3720

3703:                                             ; preds = %3681, %3674
  %3704 = load i32, ptr %74, align 4, !tbaa !5
  %3705 = call ptr @__errno_location() #12
  store i32 %3704, ptr %3705, align 4, !tbaa !5
  %3706 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3707 = load i32, ptr @test_count, align 4, !tbaa !5
  %3708 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3709 = load i32, ptr %3708, align 4, !tbaa !5
  %3710 = call ptr @s2n_strerror(i32 noundef %3709, ptr noundef @.str.11)
  %3711 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3712 = load i32, ptr %3711, align 4, !tbaa !5
  %3713 = call ptr @s2n_strerror_debug(i32 noundef %3712, ptr noundef @.str.11)
  %3714 = call ptr @__errno_location() #12
  %3715 = load i32, ptr %3714, align 4, !tbaa !5
  %3716 = call ptr @strerror(i32 noundef %3715) #11
  %3717 = call ptr @__errno_location() #12
  %3718 = load i32, ptr %3717, align 4, !tbaa !5
  %3719 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3706, ptr noundef @.str.12, i32 noundef %3707, ptr noundef @.str.54, ptr noundef @.str.8, i32 noundef 237, ptr noundef %3710, ptr noundef %3713, ptr noundef %3716, i32 noundef %3718) #11
  br label %3720

3720:                                             ; preds = %3703, %3686
  call void @llvm.lifetime.end.p0(i64 4, ptr %74) #11
  br label %3721

3721:                                             ; preds = %3720
  br label %3722

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

3723:                                             ; No predecessors!
  br label %3724

3724:                                             ; preds = %3723
  br label %3725

3725:                                             ; preds = %3724, %3665
  br label %3726

3726:                                             ; preds = %3725
  br label %3727

3727:                                             ; preds = %3726
  br label %3728

3728:                                             ; preds = %3727
  %3729 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %3729, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %3730 = call ptr @__errno_location() #12
  store i32 0, ptr %3730, align 4, !tbaa !5
  br label %3731

3731:                                             ; preds = %3728
  br label %3732

3732:                                             ; preds = %3731
  br label %3733

3733:                                             ; preds = %3732
  br label %3734

3734:                                             ; preds = %3733
  br label %3735

3735:                                             ; preds = %3734
  br label %3736

3736:                                             ; preds = %3735
  %3737 = load i32, ptr @test_count, align 4, !tbaa !5
  %3738 = add nsw i32 %3737, 1
  store i32 %3738, ptr @test_count, align 4, !tbaa !5
  %3739 = load ptr, ptr %69, align 8, !tbaa !9
  %3740 = call i32 @s2n_connection_get_selected_digest_algorithm(ptr noundef %3739, ptr noundef null)
  %3741 = icmp eq i32 %3740, -1
  br i1 %3741, label %3795, label %3742

3742:                                             ; preds = %3736
  br label %3743

3743:                                             ; preds = %3742
  br label %3744

3744:                                             ; preds = %3743
  call void @llvm.lifetime.start.p0(i64 4, ptr %75) #11
  %3745 = call ptr @__errno_location() #12
  %3746 = load i32, ptr %3745, align 4, !tbaa !5
  store i32 %3746, ptr %75, align 4, !tbaa !5
  %3747 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3748 = call i32 @s2n_print_stacktrace(ptr noundef %3747)
  %3749 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3750 = trunc i8 %3749 to i1
  br i1 %3750, label %3751, label %3773

3751:                                             ; preds = %3744
  %3752 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3753 = call i32 @fileno(ptr noundef %3752) #11
  %3754 = call i32 @isatty(i32 noundef %3753) #11
  %3755 = icmp ne i32 %3754, 0
  br i1 %3755, label %3756, label %3773

3756:                                             ; preds = %3751
  %3757 = load i32, ptr %75, align 4, !tbaa !5
  %3758 = call ptr @__errno_location() #12
  store i32 %3757, ptr %3758, align 4, !tbaa !5
  %3759 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3760 = load i32, ptr @test_count, align 4, !tbaa !5
  %3761 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3762 = load i32, ptr %3761, align 4, !tbaa !5
  %3763 = call ptr @s2n_strerror(i32 noundef %3762, ptr noundef @.str.11)
  %3764 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3765 = load i32, ptr %3764, align 4, !tbaa !5
  %3766 = call ptr @s2n_strerror_debug(i32 noundef %3765, ptr noundef @.str.11)
  %3767 = call ptr @__errno_location() #12
  %3768 = load i32, ptr %3767, align 4, !tbaa !5
  %3769 = call ptr @strerror(i32 noundef %3768) #11
  %3770 = call ptr @__errno_location() #12
  %3771 = load i32, ptr %3770, align 4, !tbaa !5
  %3772 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3759, ptr noundef @.str.9, i32 noundef %3760, ptr noundef @.str.55, ptr noundef @.str.8, i32 noundef 238, ptr noundef %3763, ptr noundef %3766, ptr noundef %3769, i32 noundef %3771) #11
  br label %3790

3773:                                             ; preds = %3751, %3744
  %3774 = load i32, ptr %75, align 4, !tbaa !5
  %3775 = call ptr @__errno_location() #12
  store i32 %3774, ptr %3775, align 4, !tbaa !5
  %3776 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3777 = load i32, ptr @test_count, align 4, !tbaa !5
  %3778 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3779 = load i32, ptr %3778, align 4, !tbaa !5
  %3780 = call ptr @s2n_strerror(i32 noundef %3779, ptr noundef @.str.11)
  %3781 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3782 = load i32, ptr %3781, align 4, !tbaa !5
  %3783 = call ptr @s2n_strerror_debug(i32 noundef %3782, ptr noundef @.str.11)
  %3784 = call ptr @__errno_location() #12
  %3785 = load i32, ptr %3784, align 4, !tbaa !5
  %3786 = call ptr @strerror(i32 noundef %3785) #11
  %3787 = call ptr @__errno_location() #12
  %3788 = load i32, ptr %3787, align 4, !tbaa !5
  %3789 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3776, ptr noundef @.str.12, i32 noundef %3777, ptr noundef @.str.55, ptr noundef @.str.8, i32 noundef 238, ptr noundef %3780, ptr noundef %3783, ptr noundef %3786, i32 noundef %3788) #11
  br label %3790

3790:                                             ; preds = %3773, %3756
  call void @llvm.lifetime.end.p0(i64 4, ptr %75) #11
  br label %3791

3791:                                             ; preds = %3790
  br label %3792

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

3793:                                             ; No predecessors!
  br label %3794

3794:                                             ; preds = %3793
  br label %3795

3795:                                             ; preds = %3794, %3736
  br label %3796

3796:                                             ; preds = %3795
  br label %3797

3797:                                             ; preds = %3796
  br label %3798

3798:                                             ; preds = %3797
  %3799 = load i32, ptr @test_count, align 4, !tbaa !5
  %3800 = add nsw i32 %3799, 1
  store i32 %3800, 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 = icmp eq i32 %3802, 0
  br i1 %3803, label %3804, label %3857

3804:                                             ; preds = %3798
  br label %3805

3805:                                             ; preds = %3804
  br label %3806

3806:                                             ; preds = %3805
  call void @llvm.lifetime.start.p0(i64 4, ptr %76) #11
  %3807 = call ptr @__errno_location() #12
  %3808 = load i32, ptr %3807, align 4, !tbaa !5
  store i32 %3808, ptr %76, align 4, !tbaa !5
  %3809 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3810 = call i32 @s2n_print_stacktrace(ptr noundef %3809)
  %3811 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3812 = trunc i8 %3811 to i1
  br i1 %3812, label %3813, label %3835

3813:                                             ; preds = %3806
  %3814 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3815 = call i32 @fileno(ptr noundef %3814) #11
  %3816 = call i32 @isatty(i32 noundef %3815) #11
  %3817 = icmp ne i32 %3816, 0
  br i1 %3817, label %3818, label %3835

3818:                                             ; preds = %3813
  %3819 = load i32, ptr %76, align 4, !tbaa !5
  %3820 = call ptr @__errno_location() #12
  store i32 %3819, ptr %3820, align 4, !tbaa !5
  %3821 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3822 = load i32, ptr @test_count, align 4, !tbaa !5
  %3823 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3824 = load i32, ptr %3823, align 4, !tbaa !5
  %3825 = call ptr @s2n_strerror(i32 noundef %3824, ptr noundef @.str.11)
  %3826 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3827 = load i32, ptr %3826, align 4, !tbaa !5
  %3828 = call ptr @s2n_strerror_debug(i32 noundef %3827, ptr noundef @.str.11)
  %3829 = call ptr @__errno_location() #12
  %3830 = load i32, ptr %3829, align 4, !tbaa !5
  %3831 = call ptr @strerror(i32 noundef %3830) #11
  %3832 = call ptr @__errno_location() #12
  %3833 = load i32, ptr %3832, align 4, !tbaa !5
  %3834 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3821, ptr noundef @.str.9, i32 noundef %3822, ptr noundef @.str.53, ptr noundef @.str.8, i32 noundef 238, ptr noundef %3825, ptr noundef %3828, ptr noundef %3831, i32 noundef %3833) #11
  br label %3852

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

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

3853:                                             ; preds = %3852
  br label %3854

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

3855:                                             ; No predecessors!
  br label %3856

3856:                                             ; preds = %3855
  br label %3857

3857:                                             ; preds = %3856, %3798
  br label %3858

3858:                                             ; preds = %3857
  br label %3859

3859:                                             ; preds = %3858
  br label %3860

3860:                                             ; preds = %3859
  %3861 = load i32, ptr @test_count, align 4, !tbaa !5
  %3862 = add nsw i32 %3861, 1
  store i32 %3862, ptr @test_count, align 4, !tbaa !5
  %3863 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3864 = load i32, ptr %3863, align 4, !tbaa !5
  %3865 = call ptr @s2n_strerror_debug(i32 noundef %3864, ptr noundef @.str.11)
  %3866 = icmp eq ptr %3865, null
  br i1 %3866, label %3867, label %3920

3867:                                             ; preds = %3860
  br label %3868

3868:                                             ; preds = %3867
  br label %3869

3869:                                             ; preds = %3868
  call void @llvm.lifetime.start.p0(i64 4, ptr %77) #11
  %3870 = call ptr @__errno_location() #12
  %3871 = load i32, ptr %3870, align 4, !tbaa !5
  store i32 %3871, ptr %77, align 4, !tbaa !5
  %3872 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3873 = call i32 @s2n_print_stacktrace(ptr noundef %3872)
  %3874 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3875 = trunc i8 %3874 to i1
  br i1 %3875, label %3876, label %3898

3876:                                             ; preds = %3869
  %3877 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3878 = call i32 @fileno(ptr noundef %3877) #11
  %3879 = call i32 @isatty(i32 noundef %3878) #11
  %3880 = icmp ne i32 %3879, 0
  br i1 %3880, label %3881, label %3898

3881:                                             ; preds = %3876
  %3882 = load i32, ptr %77, align 4, !tbaa !5
  %3883 = call ptr @__errno_location() #12
  store i32 %3882, ptr %3883, align 4, !tbaa !5
  %3884 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3885 = load i32, ptr @test_count, align 4, !tbaa !5
  %3886 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3887 = load i32, ptr %3886, align 4, !tbaa !5
  %3888 = call ptr @s2n_strerror(i32 noundef %3887, ptr noundef @.str.11)
  %3889 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3890 = load i32, ptr %3889, align 4, !tbaa !5
  %3891 = call ptr @s2n_strerror_debug(i32 noundef %3890, ptr noundef @.str.11)
  %3892 = call ptr @__errno_location() #12
  %3893 = load i32, ptr %3892, align 4, !tbaa !5
  %3894 = call ptr @strerror(i32 noundef %3893) #11
  %3895 = call ptr @__errno_location() #12
  %3896 = load i32, ptr %3895, align 4, !tbaa !5
  %3897 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3884, ptr noundef @.str.9, i32 noundef %3885, ptr noundef @.str.54, ptr noundef @.str.8, i32 noundef 238, ptr noundef %3888, ptr noundef %3891, ptr noundef %3894, i32 noundef %3896) #11
  br label %3915

3898:                                             ; preds = %3876, %3869
  %3899 = load i32, ptr %77, align 4, !tbaa !5
  %3900 = call ptr @__errno_location() #12
  store i32 %3899, ptr %3900, align 4, !tbaa !5
  %3901 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3902 = load i32, ptr @test_count, align 4, !tbaa !5
  %3903 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3904 = load i32, ptr %3903, align 4, !tbaa !5
  %3905 = call ptr @s2n_strerror(i32 noundef %3904, ptr noundef @.str.11)
  %3906 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3907 = load i32, ptr %3906, align 4, !tbaa !5
  %3908 = call ptr @s2n_strerror_debug(i32 noundef %3907, ptr noundef @.str.11)
  %3909 = call ptr @__errno_location() #12
  %3910 = load i32, ptr %3909, align 4, !tbaa !5
  %3911 = call ptr @strerror(i32 noundef %3910) #11
  %3912 = call ptr @__errno_location() #12
  %3913 = load i32, ptr %3912, align 4, !tbaa !5
  %3914 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3901, ptr noundef @.str.12, i32 noundef %3902, ptr noundef @.str.54, ptr noundef @.str.8, i32 noundef 238, ptr noundef %3905, ptr noundef %3908, ptr noundef %3911, i32 noundef %3913) #11
  br label %3915

3915:                                             ; preds = %3898, %3881
  call void @llvm.lifetime.end.p0(i64 4, ptr %77) #11
  br label %3916

3916:                                             ; preds = %3915
  br label %3917

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

3918:                                             ; No predecessors!
  br label %3919

3919:                                             ; preds = %3918
  br label %3920

3920:                                             ; preds = %3919, %3860
  br label %3921

3921:                                             ; preds = %3920
  br label %3922

3922:                                             ; preds = %3921
  br label %3923

3923:                                             ; preds = %3922
  %3924 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %3924, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %3925 = call ptr @__errno_location() #12
  store i32 0, ptr %3925, align 4, !tbaa !5
  br label %3926

3926:                                             ; preds = %3923
  br label %3927

3927:                                             ; preds = %3926
  br label %3928

3928:                                             ; preds = %3927
  br label %3929

3929:                                             ; preds = %3928
  br label %3930

3930:                                             ; preds = %3929
  br label %3931

3931:                                             ; preds = %3930
  %3932 = load i32, ptr @test_count, align 4, !tbaa !5
  %3933 = add nsw i32 %3932, 1
  store i32 %3933, ptr @test_count, align 4, !tbaa !5
  %3934 = call i32 @s2n_connection_get_selected_client_cert_digest_algorithm(ptr noundef null, ptr noundef %71)
  %3935 = icmp eq i32 %3934, -1
  br i1 %3935, label %3989, label %3936

3936:                                             ; preds = %3931
  br label %3937

3937:                                             ; preds = %3936
  br label %3938

3938:                                             ; preds = %3937
  call void @llvm.lifetime.start.p0(i64 4, ptr %78) #11
  %3939 = call ptr @__errno_location() #12
  %3940 = load i32, ptr %3939, align 4, !tbaa !5
  store i32 %3940, ptr %78, align 4, !tbaa !5
  %3941 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3942 = call i32 @s2n_print_stacktrace(ptr noundef %3941)
  %3943 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3944 = trunc i8 %3943 to i1
  br i1 %3944, label %3945, label %3967

3945:                                             ; preds = %3938
  %3946 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3947 = call i32 @fileno(ptr noundef %3946) #11
  %3948 = call i32 @isatty(i32 noundef %3947) #11
  %3949 = icmp ne i32 %3948, 0
  br i1 %3949, label %3950, label %3967

3950:                                             ; preds = %3945
  %3951 = load i32, ptr %78, align 4, !tbaa !5
  %3952 = call ptr @__errno_location() #12
  store i32 %3951, ptr %3952, align 4, !tbaa !5
  %3953 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3954 = load i32, ptr @test_count, align 4, !tbaa !5
  %3955 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3956 = load i32, ptr %3955, align 4, !tbaa !5
  %3957 = call ptr @s2n_strerror(i32 noundef %3956, ptr noundef @.str.11)
  %3958 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3959 = load i32, ptr %3958, align 4, !tbaa !5
  %3960 = call ptr @s2n_strerror_debug(i32 noundef %3959, ptr noundef @.str.11)
  %3961 = call ptr @__errno_location() #12
  %3962 = load i32, ptr %3961, align 4, !tbaa !5
  %3963 = call ptr @strerror(i32 noundef %3962) #11
  %3964 = call ptr @__errno_location() #12
  %3965 = load i32, ptr %3964, align 4, !tbaa !5
  %3966 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3953, ptr noundef @.str.9, i32 noundef %3954, ptr noundef @.str.56, ptr noundef @.str.8, i32 noundef 239, ptr noundef %3957, ptr noundef %3960, ptr noundef %3963, i32 noundef %3965) #11
  br label %3984

3967:                                             ; preds = %3945, %3938
  %3968 = load i32, ptr %78, align 4, !tbaa !5
  %3969 = call ptr @__errno_location() #12
  store i32 %3968, ptr %3969, align 4, !tbaa !5
  %3970 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3971 = load i32, ptr @test_count, align 4, !tbaa !5
  %3972 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3973 = load i32, ptr %3972, align 4, !tbaa !5
  %3974 = call ptr @s2n_strerror(i32 noundef %3973, ptr noundef @.str.11)
  %3975 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3976 = load i32, ptr %3975, align 4, !tbaa !5
  %3977 = call ptr @s2n_strerror_debug(i32 noundef %3976, ptr noundef @.str.11)
  %3978 = call ptr @__errno_location() #12
  %3979 = load i32, ptr %3978, align 4, !tbaa !5
  %3980 = call ptr @strerror(i32 noundef %3979) #11
  %3981 = call ptr @__errno_location() #12
  %3982 = load i32, ptr %3981, align 4, !tbaa !5
  %3983 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3970, ptr noundef @.str.12, i32 noundef %3971, ptr noundef @.str.56, ptr noundef @.str.8, i32 noundef 239, ptr noundef %3974, ptr noundef %3977, ptr noundef %3980, i32 noundef %3982) #11
  br label %3984

3984:                                             ; preds = %3967, %3950
  call void @llvm.lifetime.end.p0(i64 4, ptr %78) #11
  br label %3985

3985:                                             ; preds = %3984
  br label %3986

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

3987:                                             ; No predecessors!
  br label %3988

3988:                                             ; preds = %3987
  br label %3989

3989:                                             ; preds = %3988, %3931
  br label %3990

3990:                                             ; preds = %3989
  br label %3991

3991:                                             ; preds = %3990
  br label %3992

3992:                                             ; preds = %3991
  %3993 = load i32, ptr @test_count, align 4, !tbaa !5
  %3994 = add nsw i32 %3993, 1
  store i32 %3994, ptr @test_count, align 4, !tbaa !5
  %3995 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3996 = load i32, ptr %3995, align 4, !tbaa !5
  %3997 = icmp eq i32 %3996, 0
  br i1 %3997, label %3998, label %4051

3998:                                             ; preds = %3992
  br label %3999

3999:                                             ; preds = %3998
  br label %4000

4000:                                             ; preds = %3999
  call void @llvm.lifetime.start.p0(i64 4, ptr %79) #11
  %4001 = call ptr @__errno_location() #12
  %4002 = load i32, ptr %4001, align 4, !tbaa !5
  store i32 %4002, ptr %79, align 4, !tbaa !5
  %4003 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4004 = call i32 @s2n_print_stacktrace(ptr noundef %4003)
  %4005 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4006 = trunc i8 %4005 to i1
  br i1 %4006, label %4007, label %4029

4007:                                             ; preds = %4000
  %4008 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4009 = call i32 @fileno(ptr noundef %4008) #11
  %4010 = call i32 @isatty(i32 noundef %4009) #11
  %4011 = icmp ne i32 %4010, 0
  br i1 %4011, label %4012, label %4029

4012:                                             ; preds = %4007
  %4013 = load i32, ptr %79, align 4, !tbaa !5
  %4014 = call ptr @__errno_location() #12
  store i32 %4013, ptr %4014, align 4, !tbaa !5
  %4015 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4016 = load i32, ptr @test_count, align 4, !tbaa !5
  %4017 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4018 = load i32, ptr %4017, align 4, !tbaa !5
  %4019 = call ptr @s2n_strerror(i32 noundef %4018, ptr noundef @.str.11)
  %4020 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4021 = load i32, ptr %4020, align 4, !tbaa !5
  %4022 = call ptr @s2n_strerror_debug(i32 noundef %4021, ptr noundef @.str.11)
  %4023 = call ptr @__errno_location() #12
  %4024 = load i32, ptr %4023, align 4, !tbaa !5
  %4025 = call ptr @strerror(i32 noundef %4024) #11
  %4026 = call ptr @__errno_location() #12
  %4027 = load i32, ptr %4026, align 4, !tbaa !5
  %4028 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4015, ptr noundef @.str.9, i32 noundef %4016, ptr noundef @.str.53, ptr noundef @.str.8, i32 noundef 239, ptr noundef %4019, ptr noundef %4022, ptr noundef %4025, i32 noundef %4027) #11
  br label %4046

4029:                                             ; preds = %4007, %4000
  %4030 = load i32, ptr %79, align 4, !tbaa !5
  %4031 = call ptr @__errno_location() #12
  store i32 %4030, ptr %4031, align 4, !tbaa !5
  %4032 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4033 = load i32, ptr @test_count, align 4, !tbaa !5
  %4034 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4035 = load i32, ptr %4034, align 4, !tbaa !5
  %4036 = call ptr @s2n_strerror(i32 noundef %4035, ptr noundef @.str.11)
  %4037 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4038 = load i32, ptr %4037, align 4, !tbaa !5
  %4039 = call ptr @s2n_strerror_debug(i32 noundef %4038, ptr noundef @.str.11)
  %4040 = call ptr @__errno_location() #12
  %4041 = load i32, ptr %4040, align 4, !tbaa !5
  %4042 = call ptr @strerror(i32 noundef %4041) #11
  %4043 = call ptr @__errno_location() #12
  %4044 = load i32, ptr %4043, align 4, !tbaa !5
  %4045 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4032, ptr noundef @.str.12, i32 noundef %4033, ptr noundef @.str.53, ptr noundef @.str.8, i32 noundef 239, ptr noundef %4036, ptr noundef %4039, ptr noundef %4042, i32 noundef %4044) #11
  br label %4046

4046:                                             ; preds = %4029, %4012
  call void @llvm.lifetime.end.p0(i64 4, ptr %79) #11
  br label %4047

4047:                                             ; preds = %4046
  br label %4048

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

4049:                                             ; No predecessors!
  br label %4050

4050:                                             ; preds = %4049
  br label %4051

4051:                                             ; preds = %4050, %3992
  br label %4052

4052:                                             ; preds = %4051
  br label %4053

4053:                                             ; preds = %4052
  br label %4054

4054:                                             ; preds = %4053
  %4055 = load i32, ptr @test_count, align 4, !tbaa !5
  %4056 = add nsw i32 %4055, 1
  store i32 %4056, ptr @test_count, align 4, !tbaa !5
  %4057 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4058 = load i32, ptr %4057, align 4, !tbaa !5
  %4059 = call ptr @s2n_strerror_debug(i32 noundef %4058, ptr noundef @.str.11)
  %4060 = icmp eq ptr %4059, null
  br i1 %4060, label %4061, label %4114

4061:                                             ; preds = %4054
  br label %4062

4062:                                             ; preds = %4061
  br label %4063

4063:                                             ; preds = %4062
  call void @llvm.lifetime.start.p0(i64 4, ptr %80) #11
  %4064 = call ptr @__errno_location() #12
  %4065 = load i32, ptr %4064, align 4, !tbaa !5
  store i32 %4065, ptr %80, align 4, !tbaa !5
  %4066 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4067 = call i32 @s2n_print_stacktrace(ptr noundef %4066)
  %4068 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4069 = trunc i8 %4068 to i1
  br i1 %4069, label %4070, label %4092

4070:                                             ; preds = %4063
  %4071 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4072 = call i32 @fileno(ptr noundef %4071) #11
  %4073 = call i32 @isatty(i32 noundef %4072) #11
  %4074 = icmp ne i32 %4073, 0
  br i1 %4074, label %4075, label %4092

4075:                                             ; preds = %4070
  %4076 = load i32, ptr %80, align 4, !tbaa !5
  %4077 = call ptr @__errno_location() #12
  store i32 %4076, ptr %4077, align 4, !tbaa !5
  %4078 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4079 = load i32, ptr @test_count, align 4, !tbaa !5
  %4080 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4081 = load i32, ptr %4080, align 4, !tbaa !5
  %4082 = call ptr @s2n_strerror(i32 noundef %4081, ptr noundef @.str.11)
  %4083 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4084 = load i32, ptr %4083, align 4, !tbaa !5
  %4085 = call ptr @s2n_strerror_debug(i32 noundef %4084, ptr noundef @.str.11)
  %4086 = call ptr @__errno_location() #12
  %4087 = load i32, ptr %4086, align 4, !tbaa !5
  %4088 = call ptr @strerror(i32 noundef %4087) #11
  %4089 = call ptr @__errno_location() #12
  %4090 = load i32, ptr %4089, align 4, !tbaa !5
  %4091 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4078, ptr noundef @.str.9, i32 noundef %4079, ptr noundef @.str.54, ptr noundef @.str.8, i32 noundef 239, ptr noundef %4082, ptr noundef %4085, ptr noundef %4088, i32 noundef %4090) #11
  br label %4109

4092:                                             ; preds = %4070, %4063
  %4093 = load i32, ptr %80, align 4, !tbaa !5
  %4094 = call ptr @__errno_location() #12
  store i32 %4093, ptr %4094, align 4, !tbaa !5
  %4095 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4096 = load i32, ptr @test_count, align 4, !tbaa !5
  %4097 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4098 = load i32, ptr %4097, align 4, !tbaa !5
  %4099 = call ptr @s2n_strerror(i32 noundef %4098, ptr noundef @.str.11)
  %4100 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4101 = load i32, ptr %4100, align 4, !tbaa !5
  %4102 = call ptr @s2n_strerror_debug(i32 noundef %4101, ptr noundef @.str.11)
  %4103 = call ptr @__errno_location() #12
  %4104 = load i32, ptr %4103, align 4, !tbaa !5
  %4105 = call ptr @strerror(i32 noundef %4104) #11
  %4106 = call ptr @__errno_location() #12
  %4107 = load i32, ptr %4106, align 4, !tbaa !5
  %4108 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4095, ptr noundef @.str.12, i32 noundef %4096, ptr noundef @.str.54, ptr noundef @.str.8, i32 noundef 239, ptr noundef %4099, ptr noundef %4102, ptr noundef %4105, i32 noundef %4107) #11
  br label %4109

4109:                                             ; preds = %4092, %4075
  call void @llvm.lifetime.end.p0(i64 4, ptr %80) #11
  br label %4110

4110:                                             ; preds = %4109
  br label %4111

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

4112:                                             ; No predecessors!
  br label %4113

4113:                                             ; preds = %4112
  br label %4114

4114:                                             ; preds = %4113, %4054
  br label %4115

4115:                                             ; preds = %4114
  br label %4116

4116:                                             ; preds = %4115
  br label %4117

4117:                                             ; preds = %4116
  %4118 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %4118, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %4119 = call ptr @__errno_location() #12
  store i32 0, ptr %4119, align 4, !tbaa !5
  br label %4120

4120:                                             ; preds = %4117
  br label %4121

4121:                                             ; preds = %4120
  br label %4122

4122:                                             ; preds = %4121
  br label %4123

4123:                                             ; preds = %4122
  br label %4124

4124:                                             ; preds = %4123
  br label %4125

4125:                                             ; preds = %4124
  %4126 = load i32, ptr @test_count, align 4, !tbaa !5
  %4127 = add nsw i32 %4126, 1
  store i32 %4127, ptr @test_count, align 4, !tbaa !5
  %4128 = load ptr, ptr %69, align 8, !tbaa !9
  %4129 = call i32 @s2n_connection_get_selected_client_cert_digest_algorithm(ptr noundef %4128, ptr noundef null)
  %4130 = icmp eq i32 %4129, -1
  br i1 %4130, label %4184, label %4131

4131:                                             ; preds = %4125
  br label %4132

4132:                                             ; preds = %4131
  br label %4133

4133:                                             ; preds = %4132
  call void @llvm.lifetime.start.p0(i64 4, ptr %81) #11
  %4134 = call ptr @__errno_location() #12
  %4135 = load i32, ptr %4134, align 4, !tbaa !5
  store i32 %4135, ptr %81, align 4, !tbaa !5
  %4136 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4137 = call i32 @s2n_print_stacktrace(ptr noundef %4136)
  %4138 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4139 = trunc i8 %4138 to i1
  br i1 %4139, label %4140, label %4162

4140:                                             ; preds = %4133
  %4141 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4142 = call i32 @fileno(ptr noundef %4141) #11
  %4143 = call i32 @isatty(i32 noundef %4142) #11
  %4144 = icmp ne i32 %4143, 0
  br i1 %4144, label %4145, label %4162

4145:                                             ; preds = %4140
  %4146 = load i32, ptr %81, align 4, !tbaa !5
  %4147 = call ptr @__errno_location() #12
  store i32 %4146, ptr %4147, align 4, !tbaa !5
  %4148 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4149 = load i32, ptr @test_count, align 4, !tbaa !5
  %4150 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4151 = load i32, ptr %4150, align 4, !tbaa !5
  %4152 = call ptr @s2n_strerror(i32 noundef %4151, ptr noundef @.str.11)
  %4153 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4154 = load i32, ptr %4153, align 4, !tbaa !5
  %4155 = call ptr @s2n_strerror_debug(i32 noundef %4154, ptr noundef @.str.11)
  %4156 = call ptr @__errno_location() #12
  %4157 = load i32, ptr %4156, align 4, !tbaa !5
  %4158 = call ptr @strerror(i32 noundef %4157) #11
  %4159 = call ptr @__errno_location() #12
  %4160 = load i32, ptr %4159, align 4, !tbaa !5
  %4161 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4148, ptr noundef @.str.9, i32 noundef %4149, ptr noundef @.str.57, ptr noundef @.str.8, i32 noundef 240, ptr noundef %4152, ptr noundef %4155, ptr noundef %4158, i32 noundef %4160) #11
  br label %4179

4162:                                             ; preds = %4140, %4133
  %4163 = load i32, ptr %81, align 4, !tbaa !5
  %4164 = call ptr @__errno_location() #12
  store i32 %4163, ptr %4164, align 4, !tbaa !5
  %4165 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4166 = load i32, ptr @test_count, align 4, !tbaa !5
  %4167 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4168 = load i32, ptr %4167, align 4, !tbaa !5
  %4169 = call ptr @s2n_strerror(i32 noundef %4168, ptr noundef @.str.11)
  %4170 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4171 = load i32, ptr %4170, align 4, !tbaa !5
  %4172 = call ptr @s2n_strerror_debug(i32 noundef %4171, ptr noundef @.str.11)
  %4173 = call ptr @__errno_location() #12
  %4174 = load i32, ptr %4173, align 4, !tbaa !5
  %4175 = call ptr @strerror(i32 noundef %4174) #11
  %4176 = call ptr @__errno_location() #12
  %4177 = load i32, ptr %4176, align 4, !tbaa !5
  %4178 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4165, ptr noundef @.str.12, i32 noundef %4166, ptr noundef @.str.57, ptr noundef @.str.8, i32 noundef 240, ptr noundef %4169, ptr noundef %4172, ptr noundef %4175, i32 noundef %4177) #11
  br label %4179

4179:                                             ; preds = %4162, %4145
  call void @llvm.lifetime.end.p0(i64 4, ptr %81) #11
  br label %4180

4180:                                             ; preds = %4179
  br label %4181

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

4182:                                             ; No predecessors!
  br label %4183

4183:                                             ; preds = %4182
  br label %4184

4184:                                             ; preds = %4183, %4125
  br label %4185

4185:                                             ; preds = %4184
  br label %4186

4186:                                             ; preds = %4185
  br label %4187

4187:                                             ; preds = %4186
  %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 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4191 = load i32, ptr %4190, align 4, !tbaa !5
  %4192 = icmp eq i32 %4191, 0
  br i1 %4192, label %4193, label %4246

4193:                                             ; preds = %4187
  br label %4194

4194:                                             ; preds = %4193
  br label %4195

4195:                                             ; preds = %4194
  call void @llvm.lifetime.start.p0(i64 4, ptr %82) #11
  %4196 = call ptr @__errno_location() #12
  %4197 = load i32, ptr %4196, align 4, !tbaa !5
  store i32 %4197, ptr %82, align 4, !tbaa !5
  %4198 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4199 = call i32 @s2n_print_stacktrace(ptr noundef %4198)
  %4200 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4201 = trunc i8 %4200 to i1
  br i1 %4201, label %4202, label %4224

4202:                                             ; preds = %4195
  %4203 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4204 = call i32 @fileno(ptr noundef %4203) #11
  %4205 = call i32 @isatty(i32 noundef %4204) #11
  %4206 = icmp ne i32 %4205, 0
  br i1 %4206, label %4207, label %4224

4207:                                             ; preds = %4202
  %4208 = load i32, ptr %82, align 4, !tbaa !5
  %4209 = call ptr @__errno_location() #12
  store i32 %4208, ptr %4209, align 4, !tbaa !5
  %4210 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4211 = load i32, ptr @test_count, align 4, !tbaa !5
  %4212 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4213 = load i32, ptr %4212, align 4, !tbaa !5
  %4214 = call ptr @s2n_strerror(i32 noundef %4213, ptr noundef @.str.11)
  %4215 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4216 = load i32, ptr %4215, align 4, !tbaa !5
  %4217 = call ptr @s2n_strerror_debug(i32 noundef %4216, ptr noundef @.str.11)
  %4218 = call ptr @__errno_location() #12
  %4219 = load i32, ptr %4218, align 4, !tbaa !5
  %4220 = call ptr @strerror(i32 noundef %4219) #11
  %4221 = call ptr @__errno_location() #12
  %4222 = load i32, ptr %4221, align 4, !tbaa !5
  %4223 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4210, ptr noundef @.str.9, i32 noundef %4211, ptr noundef @.str.53, ptr noundef @.str.8, i32 noundef 240, ptr noundef %4214, ptr noundef %4217, ptr noundef %4220, i32 noundef %4222) #11
  br label %4241

4224:                                             ; preds = %4202, %4195
  %4225 = load i32, ptr %82, align 4, !tbaa !5
  %4226 = call ptr @__errno_location() #12
  store i32 %4225, ptr %4226, align 4, !tbaa !5
  %4227 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4228 = load i32, ptr @test_count, align 4, !tbaa !5
  %4229 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4230 = load i32, ptr %4229, align 4, !tbaa !5
  %4231 = call ptr @s2n_strerror(i32 noundef %4230, ptr noundef @.str.11)
  %4232 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4233 = load i32, ptr %4232, align 4, !tbaa !5
  %4234 = call ptr @s2n_strerror_debug(i32 noundef %4233, ptr noundef @.str.11)
  %4235 = call ptr @__errno_location() #12
  %4236 = load i32, ptr %4235, align 4, !tbaa !5
  %4237 = call ptr @strerror(i32 noundef %4236) #11
  %4238 = call ptr @__errno_location() #12
  %4239 = load i32, ptr %4238, align 4, !tbaa !5
  %4240 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4227, ptr noundef @.str.12, i32 noundef %4228, ptr noundef @.str.53, ptr noundef @.str.8, i32 noundef 240, ptr noundef %4231, ptr noundef %4234, ptr noundef %4237, i32 noundef %4239) #11
  br label %4241

4241:                                             ; preds = %4224, %4207
  call void @llvm.lifetime.end.p0(i64 4, ptr %82) #11
  br label %4242

4242:                                             ; preds = %4241
  br label %4243

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

4244:                                             ; No predecessors!
  br label %4245

4245:                                             ; preds = %4244
  br label %4246

4246:                                             ; preds = %4245, %4187
  br label %4247

4247:                                             ; preds = %4246
  br label %4248

4248:                                             ; preds = %4247
  br label %4249

4249:                                             ; preds = %4248
  %4250 = load i32, ptr @test_count, align 4, !tbaa !5
  %4251 = add nsw i32 %4250, 1
  store i32 %4251, ptr @test_count, align 4, !tbaa !5
  %4252 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4253 = load i32, ptr %4252, align 4, !tbaa !5
  %4254 = call ptr @s2n_strerror_debug(i32 noundef %4253, ptr noundef @.str.11)
  %4255 = icmp eq ptr %4254, null
  br i1 %4255, label %4256, label %4309

4256:                                             ; preds = %4249
  br label %4257

4257:                                             ; preds = %4256
  br label %4258

4258:                                             ; preds = %4257
  call void @llvm.lifetime.start.p0(i64 4, ptr %83) #11
  %4259 = call ptr @__errno_location() #12
  %4260 = load i32, ptr %4259, align 4, !tbaa !5
  store i32 %4260, ptr %83, align 4, !tbaa !5
  %4261 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4262 = call i32 @s2n_print_stacktrace(ptr noundef %4261)
  %4263 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4264 = trunc i8 %4263 to i1
  br i1 %4264, label %4265, label %4287

4265:                                             ; preds = %4258
  %4266 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4267 = call i32 @fileno(ptr noundef %4266) #11
  %4268 = call i32 @isatty(i32 noundef %4267) #11
  %4269 = icmp ne i32 %4268, 0
  br i1 %4269, label %4270, label %4287

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

4287:                                             ; preds = %4265, %4258
  %4288 = load i32, ptr %83, align 4, !tbaa !5
  %4289 = call ptr @__errno_location() #12
  store i32 %4288, ptr %4289, align 4, !tbaa !5
  %4290 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4291 = load i32, ptr @test_count, align 4, !tbaa !5
  %4292 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4293 = load i32, ptr %4292, align 4, !tbaa !5
  %4294 = call ptr @s2n_strerror(i32 noundef %4293, ptr noundef @.str.11)
  %4295 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4296 = load i32, ptr %4295, align 4, !tbaa !5
  %4297 = call ptr @s2n_strerror_debug(i32 noundef %4296, ptr noundef @.str.11)
  %4298 = call ptr @__errno_location() #12
  %4299 = load i32, ptr %4298, align 4, !tbaa !5
  %4300 = call ptr @strerror(i32 noundef %4299) #11
  %4301 = call ptr @__errno_location() #12
  %4302 = load i32, ptr %4301, align 4, !tbaa !5
  %4303 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4290, ptr noundef @.str.12, i32 noundef %4291, ptr noundef @.str.54, ptr noundef @.str.8, i32 noundef 240, ptr noundef %4294, ptr noundef %4297, ptr noundef %4300, i32 noundef %4302) #11
  br label %4304

4304:                                             ; preds = %4287, %4270
  call void @llvm.lifetime.end.p0(i64 4, ptr %83) #11
  br label %4305

4305:                                             ; preds = %4304
  br label %4306

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

4307:                                             ; No predecessors!
  br label %4308

4308:                                             ; preds = %4307
  br label %4309

4309:                                             ; preds = %4308, %4249
  br label %4310

4310:                                             ; preds = %4309
  br label %4311

4311:                                             ; preds = %4310
  br label %4312

4312:                                             ; preds = %4311
  %4313 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %4313, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %4314 = call ptr @__errno_location() #12
  store i32 0, ptr %4314, align 4, !tbaa !5
  br label %4315

4315:                                             ; preds = %4312
  br label %4316

4316:                                             ; preds = %4315
  br label %4317

4317:                                             ; preds = %4316
  br label %4318

4318:                                             ; preds = %4317
  br label %4319

4319:                                             ; preds = %4318
  %4320 = load i32, ptr @test_count, align 4, !tbaa !5
  %4321 = add nsw i32 %4320, 1
  store i32 %4321, ptr @test_count, align 4, !tbaa !5
  %4322 = load ptr, ptr %69, align 8, !tbaa !9
  %4323 = call i32 @s2n_connection_get_selected_client_cert_digest_algorithm(ptr noundef %4322, ptr noundef %71)
  %4324 = icmp eq i32 %4323, -1
  br i1 %4324, label %4325, label %4378

4325:                                             ; preds = %4319
  br label %4326

4326:                                             ; preds = %4325
  br label %4327

4327:                                             ; preds = %4326
  call void @llvm.lifetime.start.p0(i64 4, ptr %84) #11
  %4328 = call ptr @__errno_location() #12
  %4329 = load i32, ptr %4328, align 4, !tbaa !5
  store i32 %4329, ptr %84, align 4, !tbaa !5
  %4330 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4331 = call i32 @s2n_print_stacktrace(ptr noundef %4330)
  %4332 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4333 = trunc i8 %4332 to i1
  br i1 %4333, label %4334, label %4356

4334:                                             ; preds = %4327
  %4335 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4336 = call i32 @fileno(ptr noundef %4335) #11
  %4337 = call i32 @isatty(i32 noundef %4336) #11
  %4338 = icmp ne i32 %4337, 0
  br i1 %4338, label %4339, label %4356

4339:                                             ; preds = %4334
  %4340 = load i32, ptr %84, align 4, !tbaa !5
  %4341 = call ptr @__errno_location() #12
  store i32 %4340, ptr %4341, align 4, !tbaa !5
  %4342 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4343 = load i32, ptr @test_count, align 4, !tbaa !5
  %4344 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4345 = load i32, ptr %4344, align 4, !tbaa !5
  %4346 = call ptr @s2n_strerror(i32 noundef %4345, ptr noundef @.str.11)
  %4347 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4348 = load i32, ptr %4347, align 4, !tbaa !5
  %4349 = call ptr @s2n_strerror_debug(i32 noundef %4348, ptr noundef @.str.11)
  %4350 = call ptr @__errno_location() #12
  %4351 = load i32, ptr %4350, align 4, !tbaa !5
  %4352 = call ptr @strerror(i32 noundef %4351) #11
  %4353 = call ptr @__errno_location() #12
  %4354 = load i32, ptr %4353, align 4, !tbaa !5
  %4355 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4342, ptr noundef @.str.9, i32 noundef %4343, ptr noundef @.str.58, ptr noundef @.str.8, i32 noundef 242, ptr noundef %4346, ptr noundef %4349, ptr noundef %4352, i32 noundef %4354) #11
  br label %4373

4356:                                             ; preds = %4334, %4327
  %4357 = load i32, ptr %84, align 4, !tbaa !5
  %4358 = call ptr @__errno_location() #12
  store i32 %4357, ptr %4358, align 4, !tbaa !5
  %4359 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4360 = load i32, ptr @test_count, align 4, !tbaa !5
  %4361 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4362 = load i32, ptr %4361, align 4, !tbaa !5
  %4363 = call ptr @s2n_strerror(i32 noundef %4362, ptr noundef @.str.11)
  %4364 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4365 = load i32, ptr %4364, align 4, !tbaa !5
  %4366 = call ptr @s2n_strerror_debug(i32 noundef %4365, ptr noundef @.str.11)
  %4367 = call ptr @__errno_location() #12
  %4368 = load i32, ptr %4367, align 4, !tbaa !5
  %4369 = call ptr @strerror(i32 noundef %4368) #11
  %4370 = call ptr @__errno_location() #12
  %4371 = load i32, ptr %4370, align 4, !tbaa !5
  %4372 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4359, ptr noundef @.str.12, i32 noundef %4360, ptr noundef @.str.58, ptr noundef @.str.8, i32 noundef 242, ptr noundef %4363, ptr noundef %4366, ptr noundef %4369, i32 noundef %4371) #11
  br label %4373

4373:                                             ; preds = %4356, %4339
  call void @llvm.lifetime.end.p0(i64 4, ptr %84) #11
  br label %4374

4374:                                             ; preds = %4373
  br label %4375

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

4376:                                             ; No predecessors!
  br label %4377

4377:                                             ; preds = %4376
  br label %4378

4378:                                             ; preds = %4377, %4319
  br label %4379

4379:                                             ; preds = %4378
  br label %4380

4380:                                             ; preds = %4379
  br label %4381

4381:                                             ; preds = %4380
  %4382 = load i32, ptr @test_count, align 4, !tbaa !5
  %4383 = add nsw i32 %4382, 1
  store i32 %4383, ptr @test_count, align 4, !tbaa !5
  %4384 = load i32, ptr %71, align 4, !tbaa !5
  %4385 = icmp eq i32 0, %4384
  br i1 %4385, label %4439, label %4386

4386:                                             ; preds = %4381
  br label %4387

4387:                                             ; preds = %4386
  br label %4388

4388:                                             ; preds = %4387
  call void @llvm.lifetime.start.p0(i64 4, ptr %85) #11
  %4389 = call ptr @__errno_location() #12
  %4390 = load i32, ptr %4389, align 4, !tbaa !5
  store i32 %4390, ptr %85, align 4, !tbaa !5
  %4391 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4392 = call i32 @s2n_print_stacktrace(ptr noundef %4391)
  %4393 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4394 = trunc i8 %4393 to i1
  br i1 %4394, label %4395, label %4417

4395:                                             ; preds = %4388
  %4396 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4397 = call i32 @fileno(ptr noundef %4396) #11
  %4398 = call i32 @isatty(i32 noundef %4397) #11
  %4399 = icmp ne i32 %4398, 0
  br i1 %4399, label %4400, label %4417

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

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

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

4435:                                             ; preds = %4434
  br label %4436

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

4437:                                             ; No predecessors!
  br label %4438

4438:                                             ; preds = %4437
  br label %4439

4439:                                             ; preds = %4438, %4381
  br label %4440

4440:                                             ; preds = %4439
  br label %4441

4441:                                             ; preds = %4440
  br label %4442

4442:                                             ; preds = %4441
  %4443 = load i32, ptr @test_count, align 4, !tbaa !5
  %4444 = add nsw i32 %4443, 1
  store i32 %4444, ptr @test_count, align 4, !tbaa !5
  %4445 = load ptr, ptr %69, align 8, !tbaa !9
  %4446 = call i32 @s2n_connection_get_selected_digest_algorithm(ptr noundef %4445, ptr noundef %71)
  %4447 = icmp eq i32 %4446, -1
  br i1 %4447, label %4448, label %4501

4448:                                             ; preds = %4442
  br label %4449

4449:                                             ; preds = %4448
  br label %4450

4450:                                             ; preds = %4449
  call void @llvm.lifetime.start.p0(i64 4, ptr %86) #11
  %4451 = call ptr @__errno_location() #12
  %4452 = load i32, ptr %4451, align 4, !tbaa !5
  store i32 %4452, ptr %86, align 4, !tbaa !5
  %4453 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4454 = call i32 @s2n_print_stacktrace(ptr noundef %4453)
  %4455 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4456 = trunc i8 %4455 to i1
  br i1 %4456, label %4457, label %4479

4457:                                             ; preds = %4450
  %4458 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4459 = call i32 @fileno(ptr noundef %4458) #11
  %4460 = call i32 @isatty(i32 noundef %4459) #11
  %4461 = icmp ne i32 %4460, 0
  br i1 %4461, label %4462, label %4479

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

4479:                                             ; preds = %4457, %4450
  %4480 = load i32, ptr %86, align 4, !tbaa !5
  %4481 = call ptr @__errno_location() #12
  store i32 %4480, ptr %4481, align 4, !tbaa !5
  %4482 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4483 = load i32, ptr @test_count, align 4, !tbaa !5
  %4484 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4485 = load i32, ptr %4484, align 4, !tbaa !5
  %4486 = call ptr @s2n_strerror(i32 noundef %4485, ptr noundef @.str.11)
  %4487 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4488 = load i32, ptr %4487, align 4, !tbaa !5
  %4489 = call ptr @s2n_strerror_debug(i32 noundef %4488, ptr noundef @.str.11)
  %4490 = call ptr @__errno_location() #12
  %4491 = load i32, ptr %4490, align 4, !tbaa !5
  %4492 = call ptr @strerror(i32 noundef %4491) #11
  %4493 = call ptr @__errno_location() #12
  %4494 = load i32, ptr %4493, align 4, !tbaa !5
  %4495 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4482, ptr noundef @.str.12, i32 noundef %4483, ptr noundef @.str.60, ptr noundef @.str.8, i32 noundef 245, ptr noundef %4486, ptr noundef %4489, ptr noundef %4492, i32 noundef %4494) #11
  br label %4496

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

4497:                                             ; preds = %4496
  br label %4498

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

4499:                                             ; No predecessors!
  br label %4500

4500:                                             ; preds = %4499
  br label %4501

4501:                                             ; preds = %4500, %4442
  br label %4502

4502:                                             ; preds = %4501
  br label %4503

4503:                                             ; preds = %4502
  br label %4504

4504:                                             ; preds = %4503
  %4505 = load i32, ptr @test_count, align 4, !tbaa !5
  %4506 = add nsw i32 %4505, 1
  store i32 %4506, ptr @test_count, align 4, !tbaa !5
  %4507 = load i32, ptr %71, align 4, !tbaa !5
  %4508 = icmp eq i32 0, %4507
  br i1 %4508, label %4562, label %4509

4509:                                             ; preds = %4504
  br label %4510

4510:                                             ; preds = %4509
  br label %4511

4511:                                             ; preds = %4510
  call void @llvm.lifetime.start.p0(i64 4, ptr %87) #11
  %4512 = call ptr @__errno_location() #12
  %4513 = load i32, ptr %4512, align 4, !tbaa !5
  store i32 %4513, ptr %87, align 4, !tbaa !5
  %4514 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4515 = call i32 @s2n_print_stacktrace(ptr noundef %4514)
  %4516 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4517 = trunc i8 %4516 to i1
  br i1 %4517, label %4518, label %4540

4518:                                             ; preds = %4511
  %4519 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4520 = call i32 @fileno(ptr noundef %4519) #11
  %4521 = call i32 @isatty(i32 noundef %4520) #11
  %4522 = icmp ne i32 %4521, 0
  br i1 %4522, label %4523, label %4540

4523:                                             ; preds = %4518
  %4524 = load i32, ptr %87, align 4, !tbaa !5
  %4525 = call ptr @__errno_location() #12
  store i32 %4524, ptr %4525, align 4, !tbaa !5
  %4526 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4527 = load i32, ptr @test_count, align 4, !tbaa !5
  %4528 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4529 = load i32, ptr %4528, align 4, !tbaa !5
  %4530 = call ptr @s2n_strerror(i32 noundef %4529, ptr noundef @.str.11)
  %4531 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4532 = load i32, ptr %4531, align 4, !tbaa !5
  %4533 = call ptr @s2n_strerror_debug(i32 noundef %4532, ptr noundef @.str.11)
  %4534 = call ptr @__errno_location() #12
  %4535 = load i32, ptr %4534, align 4, !tbaa !5
  %4536 = call ptr @strerror(i32 noundef %4535) #11
  %4537 = call ptr @__errno_location() #12
  %4538 = load i32, ptr %4537, align 4, !tbaa !5
  %4539 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4526, ptr noundef @.str.9, i32 noundef %4527, ptr noundef @.str.59, ptr noundef @.str.8, i32 noundef 246, ptr noundef %4530, ptr noundef %4533, ptr noundef %4536, i32 noundef %4538) #11
  br label %4557

4540:                                             ; preds = %4518, %4511
  %4541 = load i32, ptr %87, align 4, !tbaa !5
  %4542 = call ptr @__errno_location() #12
  store i32 %4541, ptr %4542, align 4, !tbaa !5
  %4543 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4544 = load i32, ptr @test_count, align 4, !tbaa !5
  %4545 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4546 = load i32, ptr %4545, align 4, !tbaa !5
  %4547 = call ptr @s2n_strerror(i32 noundef %4546, ptr noundef @.str.11)
  %4548 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4549 = load i32, ptr %4548, align 4, !tbaa !5
  %4550 = call ptr @s2n_strerror_debug(i32 noundef %4549, ptr noundef @.str.11)
  %4551 = call ptr @__errno_location() #12
  %4552 = load i32, ptr %4551, align 4, !tbaa !5
  %4553 = call ptr @strerror(i32 noundef %4552) #11
  %4554 = call ptr @__errno_location() #12
  %4555 = load i32, ptr %4554, align 4, !tbaa !5
  %4556 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4543, ptr noundef @.str.12, i32 noundef %4544, ptr noundef @.str.59, ptr noundef @.str.8, i32 noundef 246, ptr noundef %4547, ptr noundef %4550, ptr noundef %4553, i32 noundef %4555) #11
  br label %4557

4557:                                             ; preds = %4540, %4523
  call void @llvm.lifetime.end.p0(i64 4, ptr %87) #11
  br label %4558

4558:                                             ; preds = %4557
  br label %4559

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

4560:                                             ; No predecessors!
  br label %4561

4561:                                             ; preds = %4560
  br label %4562

4562:                                             ; preds = %4561, %4504
  br label %4563

4563:                                             ; preds = %4562
  br label %4564

4564:                                             ; preds = %4563
  call void @llvm.lifetime.start.p0(i64 36, ptr %88) #11
  call void @llvm.memcpy.p0.p0.i64(ptr align 16 %88, ptr align 16 @__const.main.expected_output, i64 36, i1 false)
  call void @llvm.lifetime.start.p0(i64 8, ptr %89) #11
  store i64 0, ptr %89, align 8, !tbaa !50
  br label %4565

4565:                                             ; preds = %5086, %4564
  %4566 = load i64, ptr %89, align 8, !tbaa !50
  %4567 = icmp ule i64 %4566, 65535
  br i1 %4567, label %4569, label %4568

4568:                                             ; preds = %4565
  call void @llvm.lifetime.end.p0(i64 8, ptr %89) #11
  br label %5089

4569:                                             ; preds = %4565
  call void @llvm.lifetime.start.p0(i64 40, ptr %90) #11
  %4570 = load ptr, ptr %69, align 8, !tbaa !9
  %4571 = getelementptr inbounds %struct.s2n_connection, ptr %4570, i32 0, i32 32
  %4572 = getelementptr inbounds %struct.s2n_handshake_parameters, ptr %4571, i32 0, i32 6
  %4573 = load ptr, ptr %4572, align 8, !tbaa !51
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %90, ptr align 8 %4573, i64 40, i1 false), !tbaa.struct !52
  %4574 = load i64, ptr %89, align 8, !tbaa !50
  %4575 = trunc i64 %4574 to i32
  %4576 = getelementptr inbounds %struct.s2n_signature_scheme, ptr %90, i32 0, i32 2
  store i32 %4575, ptr %4576, align 8, !tbaa !54
  %4577 = load ptr, ptr %69, align 8, !tbaa !9
  %4578 = getelementptr inbounds %struct.s2n_connection, ptr %4577, i32 0, i32 32
  %4579 = getelementptr inbounds %struct.s2n_handshake_parameters, ptr %4578, i32 0, i32 6
  store ptr %90, ptr %4579, align 8, !tbaa !51
  %4580 = load ptr, ptr %69, align 8, !tbaa !9
  %4581 = getelementptr inbounds %struct.s2n_connection, ptr %4580, i32 0, i32 32
  %4582 = getelementptr inbounds %struct.s2n_handshake_parameters, ptr %4581, i32 0, i32 5
  store ptr %90, ptr %4582, align 8, !tbaa !56
  %4583 = load i64, ptr %89, align 8, !tbaa !50
  %4584 = icmp ule i64 %4583, 8
  br i1 %4584, label %4585, label %4838

4585:                                             ; preds = %4569
  br label %4586

4586:                                             ; preds = %4585
  %4587 = load i32, ptr @test_count, align 4, !tbaa !5
  %4588 = add nsw i32 %4587, 1
  store i32 %4588, ptr @test_count, align 4, !tbaa !5
  %4589 = load ptr, ptr %69, align 8, !tbaa !9
  %4590 = call i32 @s2n_connection_get_selected_client_cert_digest_algorithm(ptr noundef %4589, ptr noundef %71)
  %4591 = icmp eq i32 %4590, -1
  br i1 %4591, label %4592, label %4645

4592:                                             ; preds = %4586
  br label %4593

4593:                                             ; preds = %4592
  br label %4594

4594:                                             ; preds = %4593
  call void @llvm.lifetime.start.p0(i64 4, ptr %91) #11
  %4595 = call ptr @__errno_location() #12
  %4596 = load i32, ptr %4595, align 4, !tbaa !5
  store i32 %4596, ptr %91, align 4, !tbaa !5
  %4597 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4598 = call i32 @s2n_print_stacktrace(ptr noundef %4597)
  %4599 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4600 = trunc i8 %4599 to i1
  br i1 %4600, label %4601, label %4623

4601:                                             ; preds = %4594
  %4602 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4603 = call i32 @fileno(ptr noundef %4602) #11
  %4604 = call i32 @isatty(i32 noundef %4603) #11
  %4605 = icmp ne i32 %4604, 0
  br i1 %4605, label %4606, label %4623

4606:                                             ; preds = %4601
  %4607 = load i32, ptr %91, align 4, !tbaa !5
  %4608 = call ptr @__errno_location() #12
  store i32 %4607, ptr %4608, align 4, !tbaa !5
  %4609 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4610 = load i32, ptr @test_count, align 4, !tbaa !5
  %4611 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4612 = load i32, ptr %4611, align 4, !tbaa !5
  %4613 = call ptr @s2n_strerror(i32 noundef %4612, ptr noundef @.str.11)
  %4614 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4615 = load i32, ptr %4614, align 4, !tbaa !5
  %4616 = call ptr @s2n_strerror_debug(i32 noundef %4615, ptr noundef @.str.11)
  %4617 = call ptr @__errno_location() #12
  %4618 = load i32, ptr %4617, align 4, !tbaa !5
  %4619 = call ptr @strerror(i32 noundef %4618) #11
  %4620 = call ptr @__errno_location() #12
  %4621 = load i32, ptr %4620, align 4, !tbaa !5
  %4622 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4609, ptr noundef @.str.9, i32 noundef %4610, ptr noundef @.str.58, ptr noundef @.str.8, i32 noundef 262, ptr noundef %4613, ptr noundef %4616, ptr noundef %4619, i32 noundef %4621) #11
  br label %4640

4623:                                             ; preds = %4601, %4594
  %4624 = load i32, ptr %91, align 4, !tbaa !5
  %4625 = call ptr @__errno_location() #12
  store i32 %4624, ptr %4625, align 4, !tbaa !5
  %4626 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4627 = load i32, ptr @test_count, align 4, !tbaa !5
  %4628 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4629 = load i32, ptr %4628, align 4, !tbaa !5
  %4630 = call ptr @s2n_strerror(i32 noundef %4629, ptr noundef @.str.11)
  %4631 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4632 = load i32, ptr %4631, align 4, !tbaa !5
  %4633 = call ptr @s2n_strerror_debug(i32 noundef %4632, ptr noundef @.str.11)
  %4634 = call ptr @__errno_location() #12
  %4635 = load i32, ptr %4634, align 4, !tbaa !5
  %4636 = call ptr @strerror(i32 noundef %4635) #11
  %4637 = call ptr @__errno_location() #12
  %4638 = load i32, ptr %4637, align 4, !tbaa !5
  %4639 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4626, ptr noundef @.str.12, i32 noundef %4627, ptr noundef @.str.58, ptr noundef @.str.8, i32 noundef 262, ptr noundef %4630, ptr noundef %4633, ptr noundef %4636, i32 noundef %4638) #11
  br label %4640

4640:                                             ; preds = %4623, %4606
  call void @llvm.lifetime.end.p0(i64 4, ptr %91) #11
  br label %4641

4641:                                             ; preds = %4640
  br label %4642

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

4643:                                             ; No predecessors!
  br label %4644

4644:                                             ; preds = %4643
  br label %4645

4645:                                             ; preds = %4644, %4586
  br label %4646

4646:                                             ; preds = %4645
  br label %4647

4647:                                             ; preds = %4646
  br label %4648

4648:                                             ; preds = %4647
  %4649 = load i32, ptr @test_count, align 4, !tbaa !5
  %4650 = add nsw i32 %4649, 1
  store i32 %4650, ptr @test_count, align 4, !tbaa !5
  %4651 = load i64, ptr %89, align 8, !tbaa !50
  %4652 = getelementptr inbounds [9 x i32], ptr %88, i64 0, i64 %4651
  %4653 = load i32, ptr %4652, align 4, !tbaa !5
  %4654 = load i32, ptr %71, align 4, !tbaa !5
  %4655 = icmp eq i32 %4653, %4654
  br i1 %4655, label %4709, label %4656

4656:                                             ; preds = %4648
  br label %4657

4657:                                             ; preds = %4656
  br label %4658

4658:                                             ; preds = %4657
  call void @llvm.lifetime.start.p0(i64 4, ptr %92) #11
  %4659 = call ptr @__errno_location() #12
  %4660 = load i32, ptr %4659, align 4, !tbaa !5
  store i32 %4660, ptr %92, align 4, !tbaa !5
  %4661 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4662 = call i32 @s2n_print_stacktrace(ptr noundef %4661)
  %4663 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4664 = trunc i8 %4663 to i1
  br i1 %4664, label %4665, label %4687

4665:                                             ; preds = %4658
  %4666 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4667 = call i32 @fileno(ptr noundef %4666) #11
  %4668 = call i32 @isatty(i32 noundef %4667) #11
  %4669 = icmp ne i32 %4668, 0
  br i1 %4669, label %4670, label %4687

4670:                                             ; preds = %4665
  %4671 = load i32, ptr %92, align 4, !tbaa !5
  %4672 = call ptr @__errno_location() #12
  store i32 %4671, ptr %4672, align 4, !tbaa !5
  %4673 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4674 = load i32, ptr @test_count, align 4, !tbaa !5
  %4675 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4676 = load i32, ptr %4675, align 4, !tbaa !5
  %4677 = call ptr @s2n_strerror(i32 noundef %4676, ptr noundef @.str.11)
  %4678 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4679 = load i32, ptr %4678, align 4, !tbaa !5
  %4680 = call ptr @s2n_strerror_debug(i32 noundef %4679, ptr noundef @.str.11)
  %4681 = call ptr @__errno_location() #12
  %4682 = load i32, ptr %4681, align 4, !tbaa !5
  %4683 = call ptr @strerror(i32 noundef %4682) #11
  %4684 = call ptr @__errno_location() #12
  %4685 = load i32, ptr %4684, align 4, !tbaa !5
  %4686 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4673, ptr noundef @.str.9, i32 noundef %4674, ptr noundef @.str.61, ptr noundef @.str.8, i32 noundef 263, ptr noundef %4677, ptr noundef %4680, ptr noundef %4683, i32 noundef %4685) #11
  br label %4704

4687:                                             ; preds = %4665, %4658
  %4688 = load i32, ptr %92, align 4, !tbaa !5
  %4689 = call ptr @__errno_location() #12
  store i32 %4688, ptr %4689, align 4, !tbaa !5
  %4690 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4691 = load i32, ptr @test_count, align 4, !tbaa !5
  %4692 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4693 = load i32, ptr %4692, align 4, !tbaa !5
  %4694 = call ptr @s2n_strerror(i32 noundef %4693, ptr noundef @.str.11)
  %4695 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4696 = load i32, ptr %4695, align 4, !tbaa !5
  %4697 = call ptr @s2n_strerror_debug(i32 noundef %4696, ptr noundef @.str.11)
  %4698 = call ptr @__errno_location() #12
  %4699 = load i32, ptr %4698, align 4, !tbaa !5
  %4700 = call ptr @strerror(i32 noundef %4699) #11
  %4701 = call ptr @__errno_location() #12
  %4702 = load i32, ptr %4701, align 4, !tbaa !5
  %4703 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4690, ptr noundef @.str.12, i32 noundef %4691, ptr noundef @.str.61, ptr noundef @.str.8, i32 noundef 263, ptr noundef %4694, ptr noundef %4697, ptr noundef %4700, i32 noundef %4702) #11
  br label %4704

4704:                                             ; preds = %4687, %4670
  call void @llvm.lifetime.end.p0(i64 4, ptr %92) #11
  br label %4705

4705:                                             ; preds = %4704
  br label %4706

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

4707:                                             ; No predecessors!
  br label %4708

4708:                                             ; preds = %4707
  br label %4709

4709:                                             ; preds = %4708, %4648
  br label %4710

4710:                                             ; preds = %4709
  br label %4711

4711:                                             ; preds = %4710
  br label %4712

4712:                                             ; preds = %4711
  %4713 = load i32, ptr @test_count, align 4, !tbaa !5
  %4714 = add nsw i32 %4713, 1
  store i32 %4714, ptr @test_count, align 4, !tbaa !5
  %4715 = load ptr, ptr %69, align 8, !tbaa !9
  %4716 = call i32 @s2n_connection_get_selected_digest_algorithm(ptr noundef %4715, ptr noundef %71)
  %4717 = icmp eq i32 %4716, -1
  br i1 %4717, label %4718, label %4771

4718:                                             ; preds = %4712
  br label %4719

4719:                                             ; preds = %4718
  br label %4720

4720:                                             ; preds = %4719
  call void @llvm.lifetime.start.p0(i64 4, ptr %93) #11
  %4721 = call ptr @__errno_location() #12
  %4722 = load i32, ptr %4721, align 4, !tbaa !5
  store i32 %4722, ptr %93, align 4, !tbaa !5
  %4723 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4724 = call i32 @s2n_print_stacktrace(ptr noundef %4723)
  %4725 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4726 = trunc i8 %4725 to i1
  br i1 %4726, label %4727, label %4749

4727:                                             ; preds = %4720
  %4728 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4729 = call i32 @fileno(ptr noundef %4728) #11
  %4730 = call i32 @isatty(i32 noundef %4729) #11
  %4731 = icmp ne i32 %4730, 0
  br i1 %4731, label %4732, label %4749

4732:                                             ; preds = %4727
  %4733 = load i32, ptr %93, align 4, !tbaa !5
  %4734 = call ptr @__errno_location() #12
  store i32 %4733, ptr %4734, align 4, !tbaa !5
  %4735 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4736 = load i32, ptr @test_count, align 4, !tbaa !5
  %4737 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4738 = load i32, ptr %4737, align 4, !tbaa !5
  %4739 = call ptr @s2n_strerror(i32 noundef %4738, ptr noundef @.str.11)
  %4740 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4741 = load i32, ptr %4740, align 4, !tbaa !5
  %4742 = call ptr @s2n_strerror_debug(i32 noundef %4741, ptr noundef @.str.11)
  %4743 = call ptr @__errno_location() #12
  %4744 = load i32, ptr %4743, align 4, !tbaa !5
  %4745 = call ptr @strerror(i32 noundef %4744) #11
  %4746 = call ptr @__errno_location() #12
  %4747 = load i32, ptr %4746, align 4, !tbaa !5
  %4748 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4735, ptr noundef @.str.9, i32 noundef %4736, ptr noundef @.str.60, ptr noundef @.str.8, i32 noundef 265, ptr noundef %4739, ptr noundef %4742, ptr noundef %4745, i32 noundef %4747) #11
  br label %4766

4749:                                             ; preds = %4727, %4720
  %4750 = load i32, ptr %93, align 4, !tbaa !5
  %4751 = call ptr @__errno_location() #12
  store i32 %4750, ptr %4751, align 4, !tbaa !5
  %4752 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4753 = load i32, ptr @test_count, align 4, !tbaa !5
  %4754 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4755 = load i32, ptr %4754, align 4, !tbaa !5
  %4756 = call ptr @s2n_strerror(i32 noundef %4755, ptr noundef @.str.11)
  %4757 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4758 = load i32, ptr %4757, align 4, !tbaa !5
  %4759 = call ptr @s2n_strerror_debug(i32 noundef %4758, ptr noundef @.str.11)
  %4760 = call ptr @__errno_location() #12
  %4761 = load i32, ptr %4760, align 4, !tbaa !5
  %4762 = call ptr @strerror(i32 noundef %4761) #11
  %4763 = call ptr @__errno_location() #12
  %4764 = load i32, ptr %4763, align 4, !tbaa !5
  %4765 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4752, ptr noundef @.str.12, i32 noundef %4753, ptr noundef @.str.60, ptr noundef @.str.8, i32 noundef 265, ptr noundef %4756, ptr noundef %4759, ptr noundef %4762, i32 noundef %4764) #11
  br label %4766

4766:                                             ; preds = %4749, %4732
  call void @llvm.lifetime.end.p0(i64 4, ptr %93) #11
  br label %4767

4767:                                             ; preds = %4766
  br label %4768

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

4769:                                             ; No predecessors!
  br label %4770

4770:                                             ; preds = %4769
  br label %4771

4771:                                             ; preds = %4770, %4712
  br label %4772

4772:                                             ; preds = %4771
  br label %4773

4773:                                             ; preds = %4772
  br label %4774

4774:                                             ; preds = %4773
  %4775 = load i32, ptr @test_count, align 4, !tbaa !5
  %4776 = add nsw i32 %4775, 1
  store i32 %4776, ptr @test_count, align 4, !tbaa !5
  %4777 = load i64, ptr %89, align 8, !tbaa !50
  %4778 = getelementptr inbounds [9 x i32], ptr %88, i64 0, i64 %4777
  %4779 = load i32, ptr %4778, align 4, !tbaa !5
  %4780 = load i32, ptr %71, align 4, !tbaa !5
  %4781 = icmp eq i32 %4779, %4780
  br i1 %4781, label %4835, label %4782

4782:                                             ; preds = %4774
  br label %4783

4783:                                             ; preds = %4782
  br label %4784

4784:                                             ; preds = %4783
  call void @llvm.lifetime.start.p0(i64 4, ptr %94) #11
  %4785 = call ptr @__errno_location() #12
  %4786 = load i32, ptr %4785, align 4, !tbaa !5
  store i32 %4786, ptr %94, align 4, !tbaa !5
  %4787 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4788 = call i32 @s2n_print_stacktrace(ptr noundef %4787)
  %4789 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4790 = trunc i8 %4789 to i1
  br i1 %4790, label %4791, label %4813

4791:                                             ; preds = %4784
  %4792 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4793 = call i32 @fileno(ptr noundef %4792) #11
  %4794 = call i32 @isatty(i32 noundef %4793) #11
  %4795 = icmp ne i32 %4794, 0
  br i1 %4795, label %4796, label %4813

4796:                                             ; preds = %4791
  %4797 = load i32, ptr %94, align 4, !tbaa !5
  %4798 = call ptr @__errno_location() #12
  store i32 %4797, ptr %4798, align 4, !tbaa !5
  %4799 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4800 = load i32, ptr @test_count, align 4, !tbaa !5
  %4801 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4802 = load i32, ptr %4801, align 4, !tbaa !5
  %4803 = call ptr @s2n_strerror(i32 noundef %4802, ptr noundef @.str.11)
  %4804 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4805 = load i32, ptr %4804, align 4, !tbaa !5
  %4806 = call ptr @s2n_strerror_debug(i32 noundef %4805, ptr noundef @.str.11)
  %4807 = call ptr @__errno_location() #12
  %4808 = load i32, ptr %4807, align 4, !tbaa !5
  %4809 = call ptr @strerror(i32 noundef %4808) #11
  %4810 = call ptr @__errno_location() #12
  %4811 = load i32, ptr %4810, align 4, !tbaa !5
  %4812 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4799, ptr noundef @.str.9, i32 noundef %4800, ptr noundef @.str.61, ptr noundef @.str.8, i32 noundef 266, ptr noundef %4803, ptr noundef %4806, ptr noundef %4809, i32 noundef %4811) #11
  br label %4830

4813:                                             ; preds = %4791, %4784
  %4814 = load i32, ptr %94, align 4, !tbaa !5
  %4815 = call ptr @__errno_location() #12
  store i32 %4814, ptr %4815, align 4, !tbaa !5
  %4816 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4817 = load i32, ptr @test_count, align 4, !tbaa !5
  %4818 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4819 = load i32, ptr %4818, align 4, !tbaa !5
  %4820 = call ptr @s2n_strerror(i32 noundef %4819, ptr noundef @.str.11)
  %4821 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4822 = load i32, ptr %4821, align 4, !tbaa !5
  %4823 = call ptr @s2n_strerror_debug(i32 noundef %4822, ptr noundef @.str.11)
  %4824 = call ptr @__errno_location() #12
  %4825 = load i32, ptr %4824, align 4, !tbaa !5
  %4826 = call ptr @strerror(i32 noundef %4825) #11
  %4827 = call ptr @__errno_location() #12
  %4828 = load i32, ptr %4827, align 4, !tbaa !5
  %4829 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4816, ptr noundef @.str.12, i32 noundef %4817, ptr noundef @.str.61, ptr noundef @.str.8, i32 noundef 266, ptr noundef %4820, ptr noundef %4823, ptr noundef %4826, i32 noundef %4828) #11
  br label %4830

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

4831:                                             ; preds = %4830
  br label %4832

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

4833:                                             ; No predecessors!
  br label %4834

4834:                                             ; preds = %4833
  br label %4835

4835:                                             ; preds = %4834, %4774
  br label %4836

4836:                                             ; preds = %4835
  br label %4837

4837:                                             ; preds = %4836
  br label %5085

4838:                                             ; preds = %4569
  br label %4839

4839:                                             ; preds = %4838
  %4840 = load i32, ptr @test_count, align 4, !tbaa !5
  %4841 = add nsw i32 %4840, 1
  store i32 %4841, ptr @test_count, align 4, !tbaa !5
  %4842 = load ptr, ptr %69, align 8, !tbaa !9
  %4843 = call i32 @s2n_connection_get_selected_client_cert_digest_algorithm(ptr noundef %4842, ptr noundef %71)
  %4844 = icmp eq i32 %4843, -1
  br i1 %4844, label %4845, label %4898

4845:                                             ; preds = %4839
  br label %4846

4846:                                             ; preds = %4845
  br label %4847

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

4854:                                             ; preds = %4847
  %4855 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4856 = call i32 @fileno(ptr noundef %4855) #11
  %4857 = call i32 @isatty(i32 noundef %4856) #11
  %4858 = icmp ne i32 %4857, 0
  br i1 %4858, label %4859, label %4876

4859:                                             ; preds = %4854
  %4860 = load i32, ptr %95, align 4, !tbaa !5
  %4861 = call ptr @__errno_location() #12
  store i32 %4860, ptr %4861, align 4, !tbaa !5
  %4862 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4863 = load i32, ptr @test_count, align 4, !tbaa !5
  %4864 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4865 = load i32, ptr %4864, align 4, !tbaa !5
  %4866 = call ptr @s2n_strerror(i32 noundef %4865, ptr noundef @.str.11)
  %4867 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4868 = load i32, ptr %4867, align 4, !tbaa !5
  %4869 = call ptr @s2n_strerror_debug(i32 noundef %4868, ptr noundef @.str.11)
  %4870 = call ptr @__errno_location() #12
  %4871 = load i32, ptr %4870, align 4, !tbaa !5
  %4872 = call ptr @strerror(i32 noundef %4871) #11
  %4873 = call ptr @__errno_location() #12
  %4874 = load i32, ptr %4873, align 4, !tbaa !5
  %4875 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4862, ptr noundef @.str.9, i32 noundef %4863, ptr noundef @.str.58, ptr noundef @.str.8, i32 noundef 268, ptr noundef %4866, ptr noundef %4869, ptr noundef %4872, i32 noundef %4874) #11
  br label %4893

4876:                                             ; preds = %4854, %4847
  %4877 = load i32, ptr %95, align 4, !tbaa !5
  %4878 = call ptr @__errno_location() #12
  store i32 %4877, ptr %4878, align 4, !tbaa !5
  %4879 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4880 = load i32, ptr @test_count, align 4, !tbaa !5
  %4881 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4882 = load i32, ptr %4881, align 4, !tbaa !5
  %4883 = call ptr @s2n_strerror(i32 noundef %4882, ptr noundef @.str.11)
  %4884 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4885 = load i32, ptr %4884, align 4, !tbaa !5
  %4886 = call ptr @s2n_strerror_debug(i32 noundef %4885, ptr noundef @.str.11)
  %4887 = call ptr @__errno_location() #12
  %4888 = load i32, ptr %4887, align 4, !tbaa !5
  %4889 = call ptr @strerror(i32 noundef %4888) #11
  %4890 = call ptr @__errno_location() #12
  %4891 = load i32, ptr %4890, align 4, !tbaa !5
  %4892 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4879, ptr noundef @.str.12, i32 noundef %4880, ptr noundef @.str.58, ptr noundef @.str.8, i32 noundef 268, ptr noundef %4883, ptr noundef %4886, ptr noundef %4889, i32 noundef %4891) #11
  br label %4893

4893:                                             ; preds = %4876, %4859
  call void @llvm.lifetime.end.p0(i64 4, ptr %95) #11
  br label %4894

4894:                                             ; preds = %4893
  br label %4895

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

4896:                                             ; No predecessors!
  br label %4897

4897:                                             ; preds = %4896
  br label %4898

4898:                                             ; preds = %4897, %4839
  br label %4899

4899:                                             ; preds = %4898
  br label %4900

4900:                                             ; preds = %4899
  br label %4901

4901:                                             ; preds = %4900
  %4902 = load i32, ptr @test_count, align 4, !tbaa !5
  %4903 = add nsw i32 %4902, 1
  store i32 %4903, ptr @test_count, align 4, !tbaa !5
  %4904 = load i32, ptr %71, align 4, !tbaa !5
  %4905 = icmp eq i32 0, %4904
  br i1 %4905, label %4959, label %4906

4906:                                             ; preds = %4901
  br label %4907

4907:                                             ; preds = %4906
  br label %4908

4908:                                             ; preds = %4907
  call void @llvm.lifetime.start.p0(i64 4, ptr %96) #11
  %4909 = call ptr @__errno_location() #12
  %4910 = load i32, ptr %4909, align 4, !tbaa !5
  store i32 %4910, ptr %96, align 4, !tbaa !5
  %4911 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4912 = call i32 @s2n_print_stacktrace(ptr noundef %4911)
  %4913 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4914 = trunc i8 %4913 to i1
  br i1 %4914, label %4915, label %4937

4915:                                             ; preds = %4908
  %4916 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4917 = call i32 @fileno(ptr noundef %4916) #11
  %4918 = call i32 @isatty(i32 noundef %4917) #11
  %4919 = icmp ne i32 %4918, 0
  br i1 %4919, label %4920, label %4937

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

4937:                                             ; preds = %4915, %4908
  %4938 = load i32, ptr %96, align 4, !tbaa !5
  %4939 = call ptr @__errno_location() #12
  store i32 %4938, ptr %4939, align 4, !tbaa !5
  %4940 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4941 = load i32, ptr @test_count, align 4, !tbaa !5
  %4942 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4943 = load i32, ptr %4942, align 4, !tbaa !5
  %4944 = call ptr @s2n_strerror(i32 noundef %4943, ptr noundef @.str.11)
  %4945 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4946 = load i32, ptr %4945, align 4, !tbaa !5
  %4947 = call ptr @s2n_strerror_debug(i32 noundef %4946, ptr noundef @.str.11)
  %4948 = call ptr @__errno_location() #12
  %4949 = load i32, ptr %4948, align 4, !tbaa !5
  %4950 = call ptr @strerror(i32 noundef %4949) #11
  %4951 = call ptr @__errno_location() #12
  %4952 = load i32, ptr %4951, align 4, !tbaa !5
  %4953 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4940, ptr noundef @.str.12, i32 noundef %4941, ptr noundef @.str.59, ptr noundef @.str.8, i32 noundef 269, ptr noundef %4944, ptr noundef %4947, ptr noundef %4950, i32 noundef %4952) #11
  br label %4954

4954:                                             ; preds = %4937, %4920
  call void @llvm.lifetime.end.p0(i64 4, ptr %96) #11
  br label %4955

4955:                                             ; preds = %4954
  br label %4956

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

4957:                                             ; No predecessors!
  br label %4958

4958:                                             ; preds = %4957
  br label %4959

4959:                                             ; preds = %4958, %4901
  br label %4960

4960:                                             ; preds = %4959
  br label %4961

4961:                                             ; preds = %4960
  br label %4962

4962:                                             ; preds = %4961
  %4963 = load i32, ptr @test_count, align 4, !tbaa !5
  %4964 = add nsw i32 %4963, 1
  store i32 %4964, ptr @test_count, align 4, !tbaa !5
  %4965 = load ptr, ptr %69, align 8, !tbaa !9
  %4966 = call i32 @s2n_connection_get_selected_digest_algorithm(ptr noundef %4965, ptr noundef %71)
  %4967 = icmp eq i32 %4966, -1
  br i1 %4967, label %4968, label %5021

4968:                                             ; preds = %4962
  br label %4969

4969:                                             ; preds = %4968
  br label %4970

4970:                                             ; preds = %4969
  call void @llvm.lifetime.start.p0(i64 4, ptr %97) #11
  %4971 = call ptr @__errno_location() #12
  %4972 = load i32, ptr %4971, align 4, !tbaa !5
  store i32 %4972, ptr %97, align 4, !tbaa !5
  %4973 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4974 = call i32 @s2n_print_stacktrace(ptr noundef %4973)
  %4975 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4976 = trunc i8 %4975 to i1
  br i1 %4976, label %4977, label %4999

4977:                                             ; preds = %4970
  %4978 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4979 = call i32 @fileno(ptr noundef %4978) #11
  %4980 = call i32 @isatty(i32 noundef %4979) #11
  %4981 = icmp ne i32 %4980, 0
  br i1 %4981, label %4982, label %4999

4982:                                             ; preds = %4977
  %4983 = load i32, ptr %97, align 4, !tbaa !5
  %4984 = call ptr @__errno_location() #12
  store i32 %4983, ptr %4984, align 4, !tbaa !5
  %4985 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4986 = load i32, ptr @test_count, align 4, !tbaa !5
  %4987 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4988 = load i32, ptr %4987, align 4, !tbaa !5
  %4989 = call ptr @s2n_strerror(i32 noundef %4988, ptr noundef @.str.11)
  %4990 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4991 = load i32, ptr %4990, align 4, !tbaa !5
  %4992 = call ptr @s2n_strerror_debug(i32 noundef %4991, ptr noundef @.str.11)
  %4993 = call ptr @__errno_location() #12
  %4994 = load i32, ptr %4993, align 4, !tbaa !5
  %4995 = call ptr @strerror(i32 noundef %4994) #11
  %4996 = call ptr @__errno_location() #12
  %4997 = load i32, ptr %4996, align 4, !tbaa !5
  %4998 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4985, ptr noundef @.str.9, i32 noundef %4986, ptr noundef @.str.60, ptr noundef @.str.8, i32 noundef 271, ptr noundef %4989, ptr noundef %4992, ptr noundef %4995, i32 noundef %4997) #11
  br label %5016

4999:                                             ; preds = %4977, %4970
  %5000 = load i32, ptr %97, align 4, !tbaa !5
  %5001 = call ptr @__errno_location() #12
  store i32 %5000, ptr %5001, align 4, !tbaa !5
  %5002 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5003 = load i32, ptr @test_count, align 4, !tbaa !5
  %5004 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5005 = load i32, ptr %5004, align 4, !tbaa !5
  %5006 = call ptr @s2n_strerror(i32 noundef %5005, ptr noundef @.str.11)
  %5007 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5008 = load i32, ptr %5007, align 4, !tbaa !5
  %5009 = call ptr @s2n_strerror_debug(i32 noundef %5008, ptr noundef @.str.11)
  %5010 = call ptr @__errno_location() #12
  %5011 = load i32, ptr %5010, align 4, !tbaa !5
  %5012 = call ptr @strerror(i32 noundef %5011) #11
  %5013 = call ptr @__errno_location() #12
  %5014 = load i32, ptr %5013, align 4, !tbaa !5
  %5015 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5002, ptr noundef @.str.12, i32 noundef %5003, ptr noundef @.str.60, ptr noundef @.str.8, i32 noundef 271, ptr noundef %5006, ptr noundef %5009, ptr noundef %5012, i32 noundef %5014) #11
  br label %5016

5016:                                             ; preds = %4999, %4982
  call void @llvm.lifetime.end.p0(i64 4, ptr %97) #11
  br label %5017

5017:                                             ; preds = %5016
  br label %5018

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

5019:                                             ; No predecessors!
  br label %5020

5020:                                             ; preds = %5019
  br label %5021

5021:                                             ; preds = %5020, %4962
  br label %5022

5022:                                             ; preds = %5021
  br label %5023

5023:                                             ; preds = %5022
  br label %5024

5024:                                             ; preds = %5023
  %5025 = load i32, ptr @test_count, align 4, !tbaa !5
  %5026 = add nsw i32 %5025, 1
  store i32 %5026, ptr @test_count, align 4, !tbaa !5
  %5027 = load i32, ptr %71, align 4, !tbaa !5
  %5028 = icmp eq i32 0, %5027
  br i1 %5028, label %5082, label %5029

5029:                                             ; preds = %5024
  br label %5030

5030:                                             ; preds = %5029
  br label %5031

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

5038:                                             ; preds = %5031
  %5039 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5040 = call i32 @fileno(ptr noundef %5039) #11
  %5041 = call i32 @isatty(i32 noundef %5040) #11
  %5042 = icmp ne i32 %5041, 0
  br i1 %5042, label %5043, label %5060

5043:                                             ; preds = %5038
  %5044 = load i32, ptr %98, align 4, !tbaa !5
  %5045 = call ptr @__errno_location() #12
  store i32 %5044, ptr %5045, align 4, !tbaa !5
  %5046 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5047 = load i32, ptr @test_count, align 4, !tbaa !5
  %5048 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5049 = load i32, ptr %5048, align 4, !tbaa !5
  %5050 = call ptr @s2n_strerror(i32 noundef %5049, ptr noundef @.str.11)
  %5051 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5052 = load i32, ptr %5051, align 4, !tbaa !5
  %5053 = call ptr @s2n_strerror_debug(i32 noundef %5052, ptr noundef @.str.11)
  %5054 = call ptr @__errno_location() #12
  %5055 = load i32, ptr %5054, align 4, !tbaa !5
  %5056 = call ptr @strerror(i32 noundef %5055) #11
  %5057 = call ptr @__errno_location() #12
  %5058 = load i32, ptr %5057, align 4, !tbaa !5
  %5059 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5046, ptr noundef @.str.9, i32 noundef %5047, ptr noundef @.str.59, ptr noundef @.str.8, i32 noundef 272, ptr noundef %5050, ptr noundef %5053, ptr noundef %5056, i32 noundef %5058) #11
  br label %5077

5060:                                             ; preds = %5038, %5031
  %5061 = load i32, ptr %98, align 4, !tbaa !5
  %5062 = call ptr @__errno_location() #12
  store i32 %5061, ptr %5062, align 4, !tbaa !5
  %5063 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5064 = load i32, ptr @test_count, align 4, !tbaa !5
  %5065 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5066 = load i32, ptr %5065, align 4, !tbaa !5
  %5067 = call ptr @s2n_strerror(i32 noundef %5066, ptr noundef @.str.11)
  %5068 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5069 = load i32, ptr %5068, align 4, !tbaa !5
  %5070 = call ptr @s2n_strerror_debug(i32 noundef %5069, ptr noundef @.str.11)
  %5071 = call ptr @__errno_location() #12
  %5072 = load i32, ptr %5071, align 4, !tbaa !5
  %5073 = call ptr @strerror(i32 noundef %5072) #11
  %5074 = call ptr @__errno_location() #12
  %5075 = load i32, ptr %5074, align 4, !tbaa !5
  %5076 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5063, ptr noundef @.str.12, i32 noundef %5064, ptr noundef @.str.59, ptr noundef @.str.8, i32 noundef 272, ptr noundef %5067, ptr noundef %5070, ptr noundef %5073, i32 noundef %5075) #11
  br label %5077

5077:                                             ; preds = %5060, %5043
  call void @llvm.lifetime.end.p0(i64 4, ptr %98) #11
  br label %5078

5078:                                             ; preds = %5077
  br label %5079

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

5080:                                             ; No predecessors!
  br label %5081

5081:                                             ; preds = %5080
  br label %5082

5082:                                             ; preds = %5081, %5024
  br label %5083

5083:                                             ; preds = %5082
  br label %5084

5084:                                             ; preds = %5083
  br label %5085

5085:                                             ; preds = %5084, %4837
  call void @llvm.lifetime.end.p0(i64 40, ptr %90) #11
  br label %5086

5086:                                             ; preds = %5085
  %5087 = load i64, ptr %89, align 8, !tbaa !50
  %5088 = add i64 %5087, 1
  store i64 %5088, ptr %89, align 8, !tbaa !50
  br label %4565, !llvm.loop !57

5089:                                             ; preds = %4568
  br label %5090

5090:                                             ; preds = %5089
  %5091 = load i32, ptr @test_count, align 4, !tbaa !5
  %5092 = add nsw i32 %5091, 1
  store i32 %5092, ptr @test_count, align 4, !tbaa !5
  %5093 = load ptr, ptr %69, align 8, !tbaa !9
  %5094 = call i32 @s2n_connection_free(ptr noundef %5093)
  %5095 = icmp eq i32 %5094, -1
  br i1 %5095, label %5096, label %5149

5096:                                             ; preds = %5090
  br label %5097

5097:                                             ; preds = %5096
  br label %5098

5098:                                             ; preds = %5097
  call void @llvm.lifetime.start.p0(i64 4, ptr %99) #11
  %5099 = call ptr @__errno_location() #12
  %5100 = load i32, ptr %5099, align 4, !tbaa !5
  store i32 %5100, ptr %99, align 4, !tbaa !5
  %5101 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5102 = call i32 @s2n_print_stacktrace(ptr noundef %5101)
  %5103 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5104 = trunc i8 %5103 to i1
  br i1 %5104, label %5105, label %5127

5105:                                             ; preds = %5098
  %5106 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5107 = call i32 @fileno(ptr noundef %5106) #11
  %5108 = call i32 @isatty(i32 noundef %5107) #11
  %5109 = icmp ne i32 %5108, 0
  br i1 %5109, label %5110, label %5127

5110:                                             ; preds = %5105
  %5111 = load i32, ptr %99, align 4, !tbaa !5
  %5112 = call ptr @__errno_location() #12
  store i32 %5111, ptr %5112, align 4, !tbaa !5
  %5113 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5114 = load i32, ptr @test_count, align 4, !tbaa !5
  %5115 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5116 = load i32, ptr %5115, align 4, !tbaa !5
  %5117 = call ptr @s2n_strerror(i32 noundef %5116, ptr noundef @.str.11)
  %5118 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5119 = load i32, ptr %5118, align 4, !tbaa !5
  %5120 = call ptr @s2n_strerror_debug(i32 noundef %5119, ptr noundef @.str.11)
  %5121 = call ptr @__errno_location() #12
  %5122 = load i32, ptr %5121, align 4, !tbaa !5
  %5123 = call ptr @strerror(i32 noundef %5122) #11
  %5124 = call ptr @__errno_location() #12
  %5125 = load i32, ptr %5124, align 4, !tbaa !5
  %5126 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5113, ptr noundef @.str.9, i32 noundef %5114, ptr noundef @.str.25, ptr noundef @.str.8, i32 noundef 276, ptr noundef %5117, ptr noundef %5120, ptr noundef %5123, i32 noundef %5125) #11
  br label %5144

5127:                                             ; preds = %5105, %5098
  %5128 = load i32, ptr %99, align 4, !tbaa !5
  %5129 = call ptr @__errno_location() #12
  store i32 %5128, ptr %5129, align 4, !tbaa !5
  %5130 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5131 = load i32, ptr @test_count, align 4, !tbaa !5
  %5132 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5133 = load i32, ptr %5132, align 4, !tbaa !5
  %5134 = call ptr @s2n_strerror(i32 noundef %5133, ptr noundef @.str.11)
  %5135 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5136 = load i32, ptr %5135, align 4, !tbaa !5
  %5137 = call ptr @s2n_strerror_debug(i32 noundef %5136, ptr noundef @.str.11)
  %5138 = call ptr @__errno_location() #12
  %5139 = load i32, ptr %5138, align 4, !tbaa !5
  %5140 = call ptr @strerror(i32 noundef %5139) #11
  %5141 = call ptr @__errno_location() #12
  %5142 = load i32, ptr %5141, align 4, !tbaa !5
  %5143 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5130, ptr noundef @.str.12, i32 noundef %5131, ptr noundef @.str.25, ptr noundef @.str.8, i32 noundef 276, ptr noundef %5134, ptr noundef %5137, ptr noundef %5140, i32 noundef %5142) #11
  br label %5144

5144:                                             ; preds = %5127, %5110
  call void @llvm.lifetime.end.p0(i64 4, ptr %99) #11
  br label %5145

5145:                                             ; preds = %5144
  br label %5146

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

5147:                                             ; No predecessors!
  br label %5148

5148:                                             ; preds = %5147
  br label %5149

5149:                                             ; preds = %5148, %5090
  br label %5150

5150:                                             ; preds = %5149
  br label %5151

5151:                                             ; preds = %5150
  call void @llvm.lifetime.end.p0(i64 36, ptr %88) #11
  call void @llvm.lifetime.end.p0(i64 4, ptr %71) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %69) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %100) #11
  store ptr null, ptr %100, align 8, !tbaa !9
  br label %5152

5152:                                             ; preds = %5151
  %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 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %5155, ptr %100, align 8, !tbaa !9
  %5156 = icmp eq ptr %5155, null
  br i1 %5156, label %5157, label %5210

5157:                                             ; preds = %5152
  br label %5158

5158:                                             ; preds = %5157
  br label %5159

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

5166:                                             ; preds = %5159
  %5167 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5168 = call i32 @fileno(ptr noundef %5167) #11
  %5169 = call i32 @isatty(i32 noundef %5168) #11
  %5170 = icmp ne i32 %5169, 0
  br i1 %5170, label %5171, label %5188

5171:                                             ; preds = %5166
  %5172 = load i32, ptr %101, align 4, !tbaa !5
  %5173 = call ptr @__errno_location() #12
  store i32 %5172, ptr %5173, align 4, !tbaa !5
  %5174 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5175 = load i32, ptr @test_count, align 4, !tbaa !5
  %5176 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5177 = load i32, ptr %5176, align 4, !tbaa !5
  %5178 = call ptr @s2n_strerror(i32 noundef %5177, ptr noundef @.str.11)
  %5179 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5180 = load i32, ptr %5179, align 4, !tbaa !5
  %5181 = call ptr @s2n_strerror_debug(i32 noundef %5180, ptr noundef @.str.11)
  %5182 = call ptr @__errno_location() #12
  %5183 = load i32, ptr %5182, align 4, !tbaa !5
  %5184 = call ptr @strerror(i32 noundef %5183) #11
  %5185 = call ptr @__errno_location() #12
  %5186 = load i32, ptr %5185, align 4, !tbaa !5
  %5187 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5174, ptr noundef @.str.9, i32 noundef %5175, ptr noundef @.str.23, ptr noundef @.str.8, i32 noundef 282, ptr noundef %5178, ptr noundef %5181, ptr noundef %5184, i32 noundef %5186) #11
  br label %5205

5188:                                             ; preds = %5166, %5159
  %5189 = load i32, ptr %101, align 4, !tbaa !5
  %5190 = call ptr @__errno_location() #12
  store i32 %5189, ptr %5190, align 4, !tbaa !5
  %5191 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5192 = load i32, ptr @test_count, align 4, !tbaa !5
  %5193 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5194 = load i32, ptr %5193, align 4, !tbaa !5
  %5195 = call ptr @s2n_strerror(i32 noundef %5194, ptr noundef @.str.11)
  %5196 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5197 = load i32, ptr %5196, align 4, !tbaa !5
  %5198 = call ptr @s2n_strerror_debug(i32 noundef %5197, ptr noundef @.str.11)
  %5199 = call ptr @__errno_location() #12
  %5200 = load i32, ptr %5199, align 4, !tbaa !5
  %5201 = call ptr @strerror(i32 noundef %5200) #11
  %5202 = call ptr @__errno_location() #12
  %5203 = load i32, ptr %5202, align 4, !tbaa !5
  %5204 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5191, ptr noundef @.str.12, i32 noundef %5192, ptr noundef @.str.23, ptr noundef @.str.8, i32 noundef 282, ptr noundef %5195, ptr noundef %5198, ptr noundef %5201, i32 noundef %5203) #11
  br label %5205

5205:                                             ; preds = %5188, %5171
  call void @llvm.lifetime.end.p0(i64 4, ptr %101) #11
  br label %5206

5206:                                             ; preds = %5205
  br label %5207

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

5208:                                             ; No predecessors!
  br label %5209

5209:                                             ; preds = %5208
  br label %5210

5210:                                             ; preds = %5209, %5152
  br label %5211

5211:                                             ; preds = %5210
  br label %5212

5212:                                             ; preds = %5211
  call void @llvm.lifetime.start.p0(i64 4, ptr %102) #11
  store i32 0, ptr %102, align 4, !tbaa !5
  br label %5213

5213:                                             ; preds = %5212
  br label %5214

5214:                                             ; preds = %5213
  %5215 = load i32, ptr @test_count, align 4, !tbaa !5
  %5216 = add nsw i32 %5215, 1
  store i32 %5216, ptr @test_count, align 4, !tbaa !5
  %5217 = call i32 @s2n_connection_get_selected_signature_algorithm(ptr noundef null, ptr noundef %102)
  %5218 = icmp eq i32 %5217, -1
  br i1 %5218, label %5272, label %5219

5219:                                             ; preds = %5214
  br label %5220

5220:                                             ; preds = %5219
  br label %5221

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

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

5233:                                             ; preds = %5228
  %5234 = load i32, ptr %103, align 4, !tbaa !5
  %5235 = call ptr @__errno_location() #12
  store i32 %5234, ptr %5235, align 4, !tbaa !5
  %5236 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5237 = load i32, ptr @test_count, align 4, !tbaa !5
  %5238 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5239 = load i32, ptr %5238, align 4, !tbaa !5
  %5240 = call ptr @s2n_strerror(i32 noundef %5239, ptr noundef @.str.11)
  %5241 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5242 = load i32, ptr %5241, align 4, !tbaa !5
  %5243 = call ptr @s2n_strerror_debug(i32 noundef %5242, ptr noundef @.str.11)
  %5244 = call ptr @__errno_location() #12
  %5245 = load i32, ptr %5244, align 4, !tbaa !5
  %5246 = call ptr @strerror(i32 noundef %5245) #11
  %5247 = call ptr @__errno_location() #12
  %5248 = load i32, ptr %5247, align 4, !tbaa !5
  %5249 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5236, ptr noundef @.str.9, i32 noundef %5237, ptr noundef @.str.62, ptr noundef @.str.8, i32 noundef 286, ptr noundef %5240, ptr noundef %5243, ptr noundef %5246, i32 noundef %5248) #11
  br label %5267

5250:                                             ; preds = %5228, %5221
  %5251 = load i32, ptr %103, align 4, !tbaa !5
  %5252 = call ptr @__errno_location() #12
  store i32 %5251, ptr %5252, align 4, !tbaa !5
  %5253 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5254 = load i32, ptr @test_count, align 4, !tbaa !5
  %5255 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5256 = load i32, ptr %5255, align 4, !tbaa !5
  %5257 = call ptr @s2n_strerror(i32 noundef %5256, ptr noundef @.str.11)
  %5258 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5259 = load i32, ptr %5258, align 4, !tbaa !5
  %5260 = call ptr @s2n_strerror_debug(i32 noundef %5259, ptr noundef @.str.11)
  %5261 = call ptr @__errno_location() #12
  %5262 = load i32, ptr %5261, align 4, !tbaa !5
  %5263 = call ptr @strerror(i32 noundef %5262) #11
  %5264 = call ptr @__errno_location() #12
  %5265 = load i32, ptr %5264, align 4, !tbaa !5
  %5266 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5253, ptr noundef @.str.12, i32 noundef %5254, ptr noundef @.str.62, ptr noundef @.str.8, i32 noundef 286, ptr noundef %5257, ptr noundef %5260, ptr noundef %5263, i32 noundef %5265) #11
  br label %5267

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

5268:                                             ; preds = %5267
  br label %5269

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

5270:                                             ; No predecessors!
  br label %5271

5271:                                             ; preds = %5270
  br label %5272

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

5273:                                             ; preds = %5272
  br label %5274

5274:                                             ; preds = %5273
  br label %5275

5275:                                             ; preds = %5274
  %5276 = load i32, ptr @test_count, align 4, !tbaa !5
  %5277 = add nsw i32 %5276, 1
  store i32 %5277, ptr @test_count, align 4, !tbaa !5
  %5278 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5279 = load i32, ptr %5278, align 4, !tbaa !5
  %5280 = icmp eq i32 %5279, 0
  br i1 %5280, label %5281, label %5334

5281:                                             ; preds = %5275
  br label %5282

5282:                                             ; preds = %5281
  br label %5283

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

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

5295:                                             ; preds = %5290
  %5296 = load i32, ptr %104, align 4, !tbaa !5
  %5297 = call ptr @__errno_location() #12
  store i32 %5296, ptr %5297, align 4, !tbaa !5
  %5298 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5299 = load i32, ptr @test_count, align 4, !tbaa !5
  %5300 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5301 = load i32, ptr %5300, align 4, !tbaa !5
  %5302 = call ptr @s2n_strerror(i32 noundef %5301, ptr noundef @.str.11)
  %5303 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5304 = load i32, ptr %5303, align 4, !tbaa !5
  %5305 = call ptr @s2n_strerror_debug(i32 noundef %5304, ptr noundef @.str.11)
  %5306 = call ptr @__errno_location() #12
  %5307 = load i32, ptr %5306, align 4, !tbaa !5
  %5308 = call ptr @strerror(i32 noundef %5307) #11
  %5309 = call ptr @__errno_location() #12
  %5310 = load i32, ptr %5309, align 4, !tbaa !5
  %5311 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5298, ptr noundef @.str.9, i32 noundef %5299, ptr noundef @.str.53, ptr noundef @.str.8, i32 noundef 286, ptr noundef %5302, ptr noundef %5305, ptr noundef %5308, i32 noundef %5310) #11
  br label %5329

5312:                                             ; preds = %5290, %5283
  %5313 = load i32, ptr %104, align 4, !tbaa !5
  %5314 = call ptr @__errno_location() #12
  store i32 %5313, ptr %5314, align 4, !tbaa !5
  %5315 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5316 = load i32, ptr @test_count, align 4, !tbaa !5
  %5317 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5318 = load i32, ptr %5317, align 4, !tbaa !5
  %5319 = call ptr @s2n_strerror(i32 noundef %5318, ptr noundef @.str.11)
  %5320 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5321 = load i32, ptr %5320, align 4, !tbaa !5
  %5322 = call ptr @s2n_strerror_debug(i32 noundef %5321, ptr noundef @.str.11)
  %5323 = call ptr @__errno_location() #12
  %5324 = load i32, ptr %5323, align 4, !tbaa !5
  %5325 = call ptr @strerror(i32 noundef %5324) #11
  %5326 = call ptr @__errno_location() #12
  %5327 = load i32, ptr %5326, align 4, !tbaa !5
  %5328 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5315, ptr noundef @.str.12, i32 noundef %5316, ptr noundef @.str.53, ptr noundef @.str.8, i32 noundef 286, ptr noundef %5319, ptr noundef %5322, ptr noundef %5325, i32 noundef %5327) #11
  br label %5329

5329:                                             ; preds = %5312, %5295
  call void @llvm.lifetime.end.p0(i64 4, ptr %104) #11
  br label %5330

5330:                                             ; preds = %5329
  br label %5331

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

5332:                                             ; No predecessors!
  br label %5333

5333:                                             ; preds = %5332
  br label %5334

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

5335:                                             ; preds = %5334
  br label %5336

5336:                                             ; preds = %5335
  br label %5337

5337:                                             ; preds = %5336
  %5338 = load i32, ptr @test_count, align 4, !tbaa !5
  %5339 = add nsw i32 %5338, 1
  store i32 %5339, ptr @test_count, align 4, !tbaa !5
  %5340 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5341 = load i32, ptr %5340, align 4, !tbaa !5
  %5342 = call ptr @s2n_strerror_debug(i32 noundef %5341, ptr noundef @.str.11)
  %5343 = icmp eq ptr %5342, null
  br i1 %5343, label %5344, label %5397

5344:                                             ; preds = %5337
  br label %5345

5345:                                             ; preds = %5344
  br label %5346

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

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

5358:                                             ; preds = %5353
  %5359 = load i32, ptr %105, align 4, !tbaa !5
  %5360 = call ptr @__errno_location() #12
  store i32 %5359, ptr %5360, align 4, !tbaa !5
  %5361 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5362 = load i32, ptr @test_count, align 4, !tbaa !5
  %5363 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5364 = load i32, ptr %5363, align 4, !tbaa !5
  %5365 = call ptr @s2n_strerror(i32 noundef %5364, ptr noundef @.str.11)
  %5366 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5367 = load i32, ptr %5366, align 4, !tbaa !5
  %5368 = call ptr @s2n_strerror_debug(i32 noundef %5367, ptr noundef @.str.11)
  %5369 = call ptr @__errno_location() #12
  %5370 = load i32, ptr %5369, align 4, !tbaa !5
  %5371 = call ptr @strerror(i32 noundef %5370) #11
  %5372 = call ptr @__errno_location() #12
  %5373 = load i32, ptr %5372, align 4, !tbaa !5
  %5374 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5361, ptr noundef @.str.9, i32 noundef %5362, ptr noundef @.str.54, ptr noundef @.str.8, i32 noundef 286, ptr noundef %5365, ptr noundef %5368, ptr noundef %5371, i32 noundef %5373) #11
  br label %5392

5375:                                             ; preds = %5353, %5346
  %5376 = load i32, ptr %105, align 4, !tbaa !5
  %5377 = call ptr @__errno_location() #12
  store i32 %5376, ptr %5377, align 4, !tbaa !5
  %5378 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5379 = load i32, ptr @test_count, align 4, !tbaa !5
  %5380 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5381 = load i32, ptr %5380, align 4, !tbaa !5
  %5382 = call ptr @s2n_strerror(i32 noundef %5381, ptr noundef @.str.11)
  %5383 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5384 = load i32, ptr %5383, align 4, !tbaa !5
  %5385 = call ptr @s2n_strerror_debug(i32 noundef %5384, ptr noundef @.str.11)
  %5386 = call ptr @__errno_location() #12
  %5387 = load i32, ptr %5386, align 4, !tbaa !5
  %5388 = call ptr @strerror(i32 noundef %5387) #11
  %5389 = call ptr @__errno_location() #12
  %5390 = load i32, ptr %5389, align 4, !tbaa !5
  %5391 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5378, ptr noundef @.str.12, i32 noundef %5379, ptr noundef @.str.54, ptr noundef @.str.8, i32 noundef 286, ptr noundef %5382, ptr noundef %5385, ptr noundef %5388, i32 noundef %5390) #11
  br label %5392

5392:                                             ; preds = %5375, %5358
  call void @llvm.lifetime.end.p0(i64 4, ptr %105) #11
  br label %5393

5393:                                             ; preds = %5392
  br label %5394

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

5395:                                             ; No predecessors!
  br label %5396

5396:                                             ; preds = %5395
  br label %5397

5397:                                             ; preds = %5396, %5337
  br label %5398

5398:                                             ; preds = %5397
  br label %5399

5399:                                             ; preds = %5398
  br label %5400

5400:                                             ; preds = %5399
  %5401 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %5401, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %5402 = call ptr @__errno_location() #12
  store i32 0, ptr %5402, align 4, !tbaa !5
  br label %5403

5403:                                             ; preds = %5400
  br label %5404

5404:                                             ; preds = %5403
  br label %5405

5405:                                             ; preds = %5404
  br label %5406

5406:                                             ; preds = %5405
  br label %5407

5407:                                             ; preds = %5406
  br label %5408

5408:                                             ; preds = %5407
  %5409 = load i32, ptr @test_count, align 4, !tbaa !5
  %5410 = add nsw i32 %5409, 1
  store i32 %5410, ptr @test_count, align 4, !tbaa !5
  %5411 = load ptr, ptr %100, align 8, !tbaa !9
  %5412 = call i32 @s2n_connection_get_selected_signature_algorithm(ptr noundef %5411, ptr noundef null)
  %5413 = icmp eq i32 %5412, -1
  br i1 %5413, label %5467, label %5414

5414:                                             ; preds = %5408
  br label %5415

5415:                                             ; preds = %5414
  br label %5416

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

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

5428:                                             ; preds = %5423
  %5429 = load i32, ptr %106, align 4, !tbaa !5
  %5430 = call ptr @__errno_location() #12
  store i32 %5429, ptr %5430, align 4, !tbaa !5
  %5431 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5432 = load i32, ptr @test_count, align 4, !tbaa !5
  %5433 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5434 = load i32, ptr %5433, align 4, !tbaa !5
  %5435 = call ptr @s2n_strerror(i32 noundef %5434, ptr noundef @.str.11)
  %5436 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5437 = load i32, ptr %5436, align 4, !tbaa !5
  %5438 = call ptr @s2n_strerror_debug(i32 noundef %5437, ptr noundef @.str.11)
  %5439 = call ptr @__errno_location() #12
  %5440 = load i32, ptr %5439, align 4, !tbaa !5
  %5441 = call ptr @strerror(i32 noundef %5440) #11
  %5442 = call ptr @__errno_location() #12
  %5443 = load i32, ptr %5442, align 4, !tbaa !5
  %5444 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5431, ptr noundef @.str.9, i32 noundef %5432, ptr noundef @.str.63, ptr noundef @.str.8, i32 noundef 287, ptr noundef %5435, ptr noundef %5438, ptr noundef %5441, i32 noundef %5443) #11
  br label %5462

5445:                                             ; preds = %5423, %5416
  %5446 = load i32, ptr %106, align 4, !tbaa !5
  %5447 = call ptr @__errno_location() #12
  store i32 %5446, ptr %5447, align 4, !tbaa !5
  %5448 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5449 = load i32, ptr @test_count, align 4, !tbaa !5
  %5450 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5451 = load i32, ptr %5450, align 4, !tbaa !5
  %5452 = call ptr @s2n_strerror(i32 noundef %5451, ptr noundef @.str.11)
  %5453 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5454 = load i32, ptr %5453, align 4, !tbaa !5
  %5455 = call ptr @s2n_strerror_debug(i32 noundef %5454, ptr noundef @.str.11)
  %5456 = call ptr @__errno_location() #12
  %5457 = load i32, ptr %5456, align 4, !tbaa !5
  %5458 = call ptr @strerror(i32 noundef %5457) #11
  %5459 = call ptr @__errno_location() #12
  %5460 = load i32, ptr %5459, align 4, !tbaa !5
  %5461 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5448, ptr noundef @.str.12, i32 noundef %5449, ptr noundef @.str.63, ptr noundef @.str.8, i32 noundef 287, ptr noundef %5452, ptr noundef %5455, ptr noundef %5458, i32 noundef %5460) #11
  br label %5462

5462:                                             ; preds = %5445, %5428
  call void @llvm.lifetime.end.p0(i64 4, ptr %106) #11
  br label %5463

5463:                                             ; preds = %5462
  br label %5464

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

5465:                                             ; No predecessors!
  br label %5466

5466:                                             ; preds = %5465
  br label %5467

5467:                                             ; preds = %5466, %5408
  br label %5468

5468:                                             ; preds = %5467
  br label %5469

5469:                                             ; preds = %5468
  br label %5470

5470:                                             ; preds = %5469
  %5471 = load i32, ptr @test_count, align 4, !tbaa !5
  %5472 = add nsw i32 %5471, 1
  store i32 %5472, ptr @test_count, align 4, !tbaa !5
  %5473 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5474 = load i32, ptr %5473, align 4, !tbaa !5
  %5475 = icmp eq i32 %5474, 0
  br i1 %5475, label %5476, label %5529

5476:                                             ; preds = %5470
  br label %5477

5477:                                             ; preds = %5476
  br label %5478

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

5485:                                             ; preds = %5478
  %5486 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5487 = call i32 @fileno(ptr noundef %5486) #11
  %5488 = call i32 @isatty(i32 noundef %5487) #11
  %5489 = icmp ne i32 %5488, 0
  br i1 %5489, label %5490, label %5507

5490:                                             ; preds = %5485
  %5491 = load i32, ptr %107, align 4, !tbaa !5
  %5492 = call ptr @__errno_location() #12
  store i32 %5491, ptr %5492, align 4, !tbaa !5
  %5493 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5494 = load i32, ptr @test_count, align 4, !tbaa !5
  %5495 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5496 = load i32, ptr %5495, align 4, !tbaa !5
  %5497 = call ptr @s2n_strerror(i32 noundef %5496, ptr noundef @.str.11)
  %5498 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5499 = load i32, ptr %5498, align 4, !tbaa !5
  %5500 = call ptr @s2n_strerror_debug(i32 noundef %5499, ptr noundef @.str.11)
  %5501 = call ptr @__errno_location() #12
  %5502 = load i32, ptr %5501, align 4, !tbaa !5
  %5503 = call ptr @strerror(i32 noundef %5502) #11
  %5504 = call ptr @__errno_location() #12
  %5505 = load i32, ptr %5504, align 4, !tbaa !5
  %5506 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5493, ptr noundef @.str.9, i32 noundef %5494, ptr noundef @.str.53, ptr noundef @.str.8, i32 noundef 287, ptr noundef %5497, ptr noundef %5500, ptr noundef %5503, i32 noundef %5505) #11
  br label %5524

5507:                                             ; preds = %5485, %5478
  %5508 = load i32, ptr %107, align 4, !tbaa !5
  %5509 = call ptr @__errno_location() #12
  store i32 %5508, ptr %5509, align 4, !tbaa !5
  %5510 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5511 = load i32, ptr @test_count, align 4, !tbaa !5
  %5512 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5513 = load i32, ptr %5512, align 4, !tbaa !5
  %5514 = call ptr @s2n_strerror(i32 noundef %5513, ptr noundef @.str.11)
  %5515 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5516 = load i32, ptr %5515, align 4, !tbaa !5
  %5517 = call ptr @s2n_strerror_debug(i32 noundef %5516, ptr noundef @.str.11)
  %5518 = call ptr @__errno_location() #12
  %5519 = load i32, ptr %5518, align 4, !tbaa !5
  %5520 = call ptr @strerror(i32 noundef %5519) #11
  %5521 = call ptr @__errno_location() #12
  %5522 = load i32, ptr %5521, align 4, !tbaa !5
  %5523 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5510, ptr noundef @.str.12, i32 noundef %5511, ptr noundef @.str.53, ptr noundef @.str.8, i32 noundef 287, ptr noundef %5514, ptr noundef %5517, ptr noundef %5520, i32 noundef %5522) #11
  br label %5524

5524:                                             ; preds = %5507, %5490
  call void @llvm.lifetime.end.p0(i64 4, ptr %107) #11
  br label %5525

5525:                                             ; preds = %5524
  br label %5526

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

5527:                                             ; No predecessors!
  br label %5528

5528:                                             ; preds = %5527
  br label %5529

5529:                                             ; preds = %5528, %5470
  br label %5530

5530:                                             ; preds = %5529
  br label %5531

5531:                                             ; preds = %5530
  br label %5532

5532:                                             ; preds = %5531
  %5533 = load i32, ptr @test_count, align 4, !tbaa !5
  %5534 = add nsw i32 %5533, 1
  store i32 %5534, ptr @test_count, align 4, !tbaa !5
  %5535 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5536 = load i32, ptr %5535, align 4, !tbaa !5
  %5537 = call ptr @s2n_strerror_debug(i32 noundef %5536, ptr noundef @.str.11)
  %5538 = icmp eq ptr %5537, null
  br i1 %5538, label %5539, label %5592

5539:                                             ; preds = %5532
  br label %5540

5540:                                             ; preds = %5539
  br label %5541

5541:                                             ; preds = %5540
  call void @llvm.lifetime.start.p0(i64 4, ptr %108) #11
  %5542 = call ptr @__errno_location() #12
  %5543 = load i32, ptr %5542, align 4, !tbaa !5
  store i32 %5543, ptr %108, align 4, !tbaa !5
  %5544 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5545 = call i32 @s2n_print_stacktrace(ptr noundef %5544)
  %5546 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5547 = trunc i8 %5546 to i1
  br i1 %5547, label %5548, label %5570

5548:                                             ; preds = %5541
  %5549 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5550 = call i32 @fileno(ptr noundef %5549) #11
  %5551 = call i32 @isatty(i32 noundef %5550) #11
  %5552 = icmp ne i32 %5551, 0
  br i1 %5552, label %5553, label %5570

5553:                                             ; preds = %5548
  %5554 = load i32, ptr %108, align 4, !tbaa !5
  %5555 = call ptr @__errno_location() #12
  store i32 %5554, ptr %5555, align 4, !tbaa !5
  %5556 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5557 = load i32, ptr @test_count, align 4, !tbaa !5
  %5558 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5559 = load i32, ptr %5558, align 4, !tbaa !5
  %5560 = call ptr @s2n_strerror(i32 noundef %5559, ptr noundef @.str.11)
  %5561 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5562 = load i32, ptr %5561, align 4, !tbaa !5
  %5563 = call ptr @s2n_strerror_debug(i32 noundef %5562, ptr noundef @.str.11)
  %5564 = call ptr @__errno_location() #12
  %5565 = load i32, ptr %5564, align 4, !tbaa !5
  %5566 = call ptr @strerror(i32 noundef %5565) #11
  %5567 = call ptr @__errno_location() #12
  %5568 = load i32, ptr %5567, align 4, !tbaa !5
  %5569 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5556, ptr noundef @.str.9, i32 noundef %5557, ptr noundef @.str.54, ptr noundef @.str.8, i32 noundef 287, ptr noundef %5560, ptr noundef %5563, ptr noundef %5566, i32 noundef %5568) #11
  br label %5587

5570:                                             ; preds = %5548, %5541
  %5571 = load i32, ptr %108, align 4, !tbaa !5
  %5572 = call ptr @__errno_location() #12
  store i32 %5571, ptr %5572, align 4, !tbaa !5
  %5573 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5574 = load i32, ptr @test_count, align 4, !tbaa !5
  %5575 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5576 = load i32, ptr %5575, align 4, !tbaa !5
  %5577 = call ptr @s2n_strerror(i32 noundef %5576, ptr noundef @.str.11)
  %5578 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5579 = load i32, ptr %5578, align 4, !tbaa !5
  %5580 = call ptr @s2n_strerror_debug(i32 noundef %5579, ptr noundef @.str.11)
  %5581 = call ptr @__errno_location() #12
  %5582 = load i32, ptr %5581, align 4, !tbaa !5
  %5583 = call ptr @strerror(i32 noundef %5582) #11
  %5584 = call ptr @__errno_location() #12
  %5585 = load i32, ptr %5584, align 4, !tbaa !5
  %5586 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5573, ptr noundef @.str.12, i32 noundef %5574, ptr noundef @.str.54, ptr noundef @.str.8, i32 noundef 287, ptr noundef %5577, ptr noundef %5580, ptr noundef %5583, i32 noundef %5585) #11
  br label %5587

5587:                                             ; preds = %5570, %5553
  call void @llvm.lifetime.end.p0(i64 4, ptr %108) #11
  br label %5588

5588:                                             ; preds = %5587
  br label %5589

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

5590:                                             ; No predecessors!
  br label %5591

5591:                                             ; preds = %5590
  br label %5592

5592:                                             ; preds = %5591, %5532
  br label %5593

5593:                                             ; preds = %5592
  br label %5594

5594:                                             ; preds = %5593
  br label %5595

5595:                                             ; preds = %5594
  %5596 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %5596, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %5597 = call ptr @__errno_location() #12
  store i32 0, ptr %5597, align 4, !tbaa !5
  br label %5598

5598:                                             ; preds = %5595
  br label %5599

5599:                                             ; preds = %5598
  br label %5600

5600:                                             ; preds = %5599
  br label %5601

5601:                                             ; preds = %5600
  br label %5602

5602:                                             ; preds = %5601
  br label %5603

5603:                                             ; preds = %5602
  %5604 = load i32, ptr @test_count, align 4, !tbaa !5
  %5605 = add nsw i32 %5604, 1
  store i32 %5605, ptr @test_count, align 4, !tbaa !5
  %5606 = call i32 @s2n_connection_get_selected_client_cert_signature_algorithm(ptr noundef null, ptr noundef %102)
  %5607 = icmp eq i32 %5606, -1
  br i1 %5607, label %5661, label %5608

5608:                                             ; preds = %5603
  br label %5609

5609:                                             ; preds = %5608
  br label %5610

5610:                                             ; preds = %5609
  call void @llvm.lifetime.start.p0(i64 4, ptr %109) #11
  %5611 = call ptr @__errno_location() #12
  %5612 = load i32, ptr %5611, align 4, !tbaa !5
  store i32 %5612, ptr %109, align 4, !tbaa !5
  %5613 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5614 = call i32 @s2n_print_stacktrace(ptr noundef %5613)
  %5615 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5616 = trunc i8 %5615 to i1
  br i1 %5616, label %5617, label %5639

5617:                                             ; preds = %5610
  %5618 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5619 = call i32 @fileno(ptr noundef %5618) #11
  %5620 = call i32 @isatty(i32 noundef %5619) #11
  %5621 = icmp ne i32 %5620, 0
  br i1 %5621, label %5622, label %5639

5622:                                             ; preds = %5617
  %5623 = load i32, ptr %109, align 4, !tbaa !5
  %5624 = call ptr @__errno_location() #12
  store i32 %5623, ptr %5624, align 4, !tbaa !5
  %5625 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5626 = load i32, ptr @test_count, align 4, !tbaa !5
  %5627 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5628 = load i32, ptr %5627, align 4, !tbaa !5
  %5629 = call ptr @s2n_strerror(i32 noundef %5628, ptr noundef @.str.11)
  %5630 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5631 = load i32, ptr %5630, align 4, !tbaa !5
  %5632 = call ptr @s2n_strerror_debug(i32 noundef %5631, ptr noundef @.str.11)
  %5633 = call ptr @__errno_location() #12
  %5634 = load i32, ptr %5633, align 4, !tbaa !5
  %5635 = call ptr @strerror(i32 noundef %5634) #11
  %5636 = call ptr @__errno_location() #12
  %5637 = load i32, ptr %5636, align 4, !tbaa !5
  %5638 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5625, ptr noundef @.str.9, i32 noundef %5626, ptr noundef @.str.64, ptr noundef @.str.8, i32 noundef 288, ptr noundef %5629, ptr noundef %5632, ptr noundef %5635, i32 noundef %5637) #11
  br label %5656

5639:                                             ; preds = %5617, %5610
  %5640 = load i32, ptr %109, align 4, !tbaa !5
  %5641 = call ptr @__errno_location() #12
  store i32 %5640, ptr %5641, align 4, !tbaa !5
  %5642 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5643 = load i32, ptr @test_count, align 4, !tbaa !5
  %5644 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5645 = load i32, ptr %5644, align 4, !tbaa !5
  %5646 = call ptr @s2n_strerror(i32 noundef %5645, ptr noundef @.str.11)
  %5647 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5648 = load i32, ptr %5647, align 4, !tbaa !5
  %5649 = call ptr @s2n_strerror_debug(i32 noundef %5648, ptr noundef @.str.11)
  %5650 = call ptr @__errno_location() #12
  %5651 = load i32, ptr %5650, align 4, !tbaa !5
  %5652 = call ptr @strerror(i32 noundef %5651) #11
  %5653 = call ptr @__errno_location() #12
  %5654 = load i32, ptr %5653, align 4, !tbaa !5
  %5655 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5642, ptr noundef @.str.12, i32 noundef %5643, ptr noundef @.str.64, ptr noundef @.str.8, i32 noundef 288, ptr noundef %5646, ptr noundef %5649, ptr noundef %5652, i32 noundef %5654) #11
  br label %5656

5656:                                             ; preds = %5639, %5622
  call void @llvm.lifetime.end.p0(i64 4, ptr %109) #11
  br label %5657

5657:                                             ; preds = %5656
  br label %5658

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

5659:                                             ; No predecessors!
  br label %5660

5660:                                             ; preds = %5659
  br label %5661

5661:                                             ; preds = %5660, %5603
  br label %5662

5662:                                             ; preds = %5661
  br label %5663

5663:                                             ; preds = %5662
  br label %5664

5664:                                             ; preds = %5663
  %5665 = load i32, ptr @test_count, align 4, !tbaa !5
  %5666 = add nsw i32 %5665, 1
  store i32 %5666, ptr @test_count, align 4, !tbaa !5
  %5667 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5668 = load i32, ptr %5667, align 4, !tbaa !5
  %5669 = icmp eq i32 %5668, 0
  br i1 %5669, label %5670, label %5723

5670:                                             ; preds = %5664
  br label %5671

5671:                                             ; preds = %5670
  br label %5672

5672:                                             ; preds = %5671
  call void @llvm.lifetime.start.p0(i64 4, ptr %110) #11
  %5673 = call ptr @__errno_location() #12
  %5674 = load i32, ptr %5673, align 4, !tbaa !5
  store i32 %5674, ptr %110, align 4, !tbaa !5
  %5675 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5676 = call i32 @s2n_print_stacktrace(ptr noundef %5675)
  %5677 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5678 = trunc i8 %5677 to i1
  br i1 %5678, label %5679, label %5701

5679:                                             ; preds = %5672
  %5680 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5681 = call i32 @fileno(ptr noundef %5680) #11
  %5682 = call i32 @isatty(i32 noundef %5681) #11
  %5683 = icmp ne i32 %5682, 0
  br i1 %5683, label %5684, label %5701

5684:                                             ; preds = %5679
  %5685 = load i32, ptr %110, align 4, !tbaa !5
  %5686 = call ptr @__errno_location() #12
  store i32 %5685, ptr %5686, align 4, !tbaa !5
  %5687 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5688 = load i32, ptr @test_count, align 4, !tbaa !5
  %5689 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5690 = load i32, ptr %5689, align 4, !tbaa !5
  %5691 = call ptr @s2n_strerror(i32 noundef %5690, ptr noundef @.str.11)
  %5692 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5693 = load i32, ptr %5692, align 4, !tbaa !5
  %5694 = call ptr @s2n_strerror_debug(i32 noundef %5693, ptr noundef @.str.11)
  %5695 = call ptr @__errno_location() #12
  %5696 = load i32, ptr %5695, align 4, !tbaa !5
  %5697 = call ptr @strerror(i32 noundef %5696) #11
  %5698 = call ptr @__errno_location() #12
  %5699 = load i32, ptr %5698, align 4, !tbaa !5
  %5700 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5687, ptr noundef @.str.9, i32 noundef %5688, ptr noundef @.str.53, ptr noundef @.str.8, i32 noundef 288, ptr noundef %5691, ptr noundef %5694, ptr noundef %5697, i32 noundef %5699) #11
  br label %5718

5701:                                             ; preds = %5679, %5672
  %5702 = load i32, ptr %110, align 4, !tbaa !5
  %5703 = call ptr @__errno_location() #12
  store i32 %5702, ptr %5703, align 4, !tbaa !5
  %5704 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5705 = load i32, ptr @test_count, align 4, !tbaa !5
  %5706 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5707 = load i32, ptr %5706, align 4, !tbaa !5
  %5708 = call ptr @s2n_strerror(i32 noundef %5707, ptr noundef @.str.11)
  %5709 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5710 = load i32, ptr %5709, align 4, !tbaa !5
  %5711 = call ptr @s2n_strerror_debug(i32 noundef %5710, ptr noundef @.str.11)
  %5712 = call ptr @__errno_location() #12
  %5713 = load i32, ptr %5712, align 4, !tbaa !5
  %5714 = call ptr @strerror(i32 noundef %5713) #11
  %5715 = call ptr @__errno_location() #12
  %5716 = load i32, ptr %5715, align 4, !tbaa !5
  %5717 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5704, ptr noundef @.str.12, i32 noundef %5705, ptr noundef @.str.53, ptr noundef @.str.8, i32 noundef 288, ptr noundef %5708, ptr noundef %5711, ptr noundef %5714, i32 noundef %5716) #11
  br label %5718

5718:                                             ; preds = %5701, %5684
  call void @llvm.lifetime.end.p0(i64 4, ptr %110) #11
  br label %5719

5719:                                             ; preds = %5718
  br label %5720

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

5721:                                             ; No predecessors!
  br label %5722

5722:                                             ; preds = %5721
  br label %5723

5723:                                             ; preds = %5722, %5664
  br label %5724

5724:                                             ; preds = %5723
  br label %5725

5725:                                             ; preds = %5724
  br label %5726

5726:                                             ; preds = %5725
  %5727 = load i32, ptr @test_count, align 4, !tbaa !5
  %5728 = add nsw i32 %5727, 1
  store i32 %5728, ptr @test_count, align 4, !tbaa !5
  %5729 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5730 = load i32, ptr %5729, align 4, !tbaa !5
  %5731 = call ptr @s2n_strerror_debug(i32 noundef %5730, ptr noundef @.str.11)
  %5732 = icmp eq ptr %5731, null
  br i1 %5732, label %5733, label %5786

5733:                                             ; preds = %5726
  br label %5734

5734:                                             ; preds = %5733
  br label %5735

5735:                                             ; preds = %5734
  call void @llvm.lifetime.start.p0(i64 4, ptr %111) #11
  %5736 = call ptr @__errno_location() #12
  %5737 = load i32, ptr %5736, align 4, !tbaa !5
  store i32 %5737, ptr %111, align 4, !tbaa !5
  %5738 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5739 = call i32 @s2n_print_stacktrace(ptr noundef %5738)
  %5740 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5741 = trunc i8 %5740 to i1
  br i1 %5741, label %5742, label %5764

5742:                                             ; preds = %5735
  %5743 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5744 = call i32 @fileno(ptr noundef %5743) #11
  %5745 = call i32 @isatty(i32 noundef %5744) #11
  %5746 = icmp ne i32 %5745, 0
  br i1 %5746, label %5747, label %5764

5747:                                             ; preds = %5742
  %5748 = load i32, ptr %111, align 4, !tbaa !5
  %5749 = call ptr @__errno_location() #12
  store i32 %5748, ptr %5749, align 4, !tbaa !5
  %5750 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5751 = load i32, ptr @test_count, align 4, !tbaa !5
  %5752 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5753 = load i32, ptr %5752, align 4, !tbaa !5
  %5754 = call ptr @s2n_strerror(i32 noundef %5753, ptr noundef @.str.11)
  %5755 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5756 = load i32, ptr %5755, align 4, !tbaa !5
  %5757 = call ptr @s2n_strerror_debug(i32 noundef %5756, ptr noundef @.str.11)
  %5758 = call ptr @__errno_location() #12
  %5759 = load i32, ptr %5758, align 4, !tbaa !5
  %5760 = call ptr @strerror(i32 noundef %5759) #11
  %5761 = call ptr @__errno_location() #12
  %5762 = load i32, ptr %5761, align 4, !tbaa !5
  %5763 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5750, ptr noundef @.str.9, i32 noundef %5751, ptr noundef @.str.54, ptr noundef @.str.8, i32 noundef 288, ptr noundef %5754, ptr noundef %5757, ptr noundef %5760, i32 noundef %5762) #11
  br label %5781

5764:                                             ; preds = %5742, %5735
  %5765 = load i32, ptr %111, align 4, !tbaa !5
  %5766 = call ptr @__errno_location() #12
  store i32 %5765, ptr %5766, align 4, !tbaa !5
  %5767 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5768 = load i32, ptr @test_count, align 4, !tbaa !5
  %5769 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5770 = load i32, ptr %5769, align 4, !tbaa !5
  %5771 = call ptr @s2n_strerror(i32 noundef %5770, ptr noundef @.str.11)
  %5772 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5773 = load i32, ptr %5772, align 4, !tbaa !5
  %5774 = call ptr @s2n_strerror_debug(i32 noundef %5773, ptr noundef @.str.11)
  %5775 = call ptr @__errno_location() #12
  %5776 = load i32, ptr %5775, align 4, !tbaa !5
  %5777 = call ptr @strerror(i32 noundef %5776) #11
  %5778 = call ptr @__errno_location() #12
  %5779 = load i32, ptr %5778, align 4, !tbaa !5
  %5780 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5767, ptr noundef @.str.12, i32 noundef %5768, ptr noundef @.str.54, ptr noundef @.str.8, i32 noundef 288, ptr noundef %5771, ptr noundef %5774, ptr noundef %5777, i32 noundef %5779) #11
  br label %5781

5781:                                             ; preds = %5764, %5747
  call void @llvm.lifetime.end.p0(i64 4, ptr %111) #11
  br label %5782

5782:                                             ; preds = %5781
  br label %5783

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

5784:                                             ; No predecessors!
  br label %5785

5785:                                             ; preds = %5784
  br label %5786

5786:                                             ; preds = %5785, %5726
  br label %5787

5787:                                             ; preds = %5786
  br label %5788

5788:                                             ; preds = %5787
  br label %5789

5789:                                             ; preds = %5788
  %5790 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %5790, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %5791 = call ptr @__errno_location() #12
  store i32 0, ptr %5791, align 4, !tbaa !5
  br label %5792

5792:                                             ; preds = %5789
  br label %5793

5793:                                             ; preds = %5792
  br label %5794

5794:                                             ; preds = %5793
  br label %5795

5795:                                             ; preds = %5794
  br label %5796

5796:                                             ; preds = %5795
  br label %5797

5797:                                             ; preds = %5796
  %5798 = load i32, ptr @test_count, align 4, !tbaa !5
  %5799 = add nsw i32 %5798, 1
  store i32 %5799, ptr @test_count, align 4, !tbaa !5
  %5800 = load ptr, ptr %100, align 8, !tbaa !9
  %5801 = call i32 @s2n_connection_get_selected_client_cert_signature_algorithm(ptr noundef %5800, ptr noundef null)
  %5802 = icmp eq i32 %5801, -1
  br i1 %5802, label %5856, label %5803

5803:                                             ; preds = %5797
  br label %5804

5804:                                             ; preds = %5803
  br label %5805

5805:                                             ; preds = %5804
  call void @llvm.lifetime.start.p0(i64 4, ptr %112) #11
  %5806 = call ptr @__errno_location() #12
  %5807 = load i32, ptr %5806, align 4, !tbaa !5
  store i32 %5807, ptr %112, align 4, !tbaa !5
  %5808 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5809 = call i32 @s2n_print_stacktrace(ptr noundef %5808)
  %5810 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5811 = trunc i8 %5810 to i1
  br i1 %5811, label %5812, label %5834

5812:                                             ; preds = %5805
  %5813 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5814 = call i32 @fileno(ptr noundef %5813) #11
  %5815 = call i32 @isatty(i32 noundef %5814) #11
  %5816 = icmp ne i32 %5815, 0
  br i1 %5816, label %5817, label %5834

5817:                                             ; preds = %5812
  %5818 = load i32, ptr %112, align 4, !tbaa !5
  %5819 = call ptr @__errno_location() #12
  store i32 %5818, ptr %5819, align 4, !tbaa !5
  %5820 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5821 = load i32, ptr @test_count, align 4, !tbaa !5
  %5822 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5823 = load i32, ptr %5822, align 4, !tbaa !5
  %5824 = call ptr @s2n_strerror(i32 noundef %5823, ptr noundef @.str.11)
  %5825 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5826 = load i32, ptr %5825, align 4, !tbaa !5
  %5827 = call ptr @s2n_strerror_debug(i32 noundef %5826, ptr noundef @.str.11)
  %5828 = call ptr @__errno_location() #12
  %5829 = load i32, ptr %5828, align 4, !tbaa !5
  %5830 = call ptr @strerror(i32 noundef %5829) #11
  %5831 = call ptr @__errno_location() #12
  %5832 = load i32, ptr %5831, align 4, !tbaa !5
  %5833 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5820, ptr noundef @.str.9, i32 noundef %5821, ptr noundef @.str.65, ptr noundef @.str.8, i32 noundef 289, ptr noundef %5824, ptr noundef %5827, ptr noundef %5830, i32 noundef %5832) #11
  br label %5851

5834:                                             ; preds = %5812, %5805
  %5835 = load i32, ptr %112, align 4, !tbaa !5
  %5836 = call ptr @__errno_location() #12
  store i32 %5835, ptr %5836, align 4, !tbaa !5
  %5837 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5838 = load i32, ptr @test_count, align 4, !tbaa !5
  %5839 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5840 = load i32, ptr %5839, align 4, !tbaa !5
  %5841 = call ptr @s2n_strerror(i32 noundef %5840, ptr noundef @.str.11)
  %5842 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5843 = load i32, ptr %5842, align 4, !tbaa !5
  %5844 = call ptr @s2n_strerror_debug(i32 noundef %5843, ptr noundef @.str.11)
  %5845 = call ptr @__errno_location() #12
  %5846 = load i32, ptr %5845, align 4, !tbaa !5
  %5847 = call ptr @strerror(i32 noundef %5846) #11
  %5848 = call ptr @__errno_location() #12
  %5849 = load i32, ptr %5848, align 4, !tbaa !5
  %5850 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5837, ptr noundef @.str.12, i32 noundef %5838, ptr noundef @.str.65, ptr noundef @.str.8, i32 noundef 289, ptr noundef %5841, ptr noundef %5844, ptr noundef %5847, i32 noundef %5849) #11
  br label %5851

5851:                                             ; preds = %5834, %5817
  call void @llvm.lifetime.end.p0(i64 4, ptr %112) #11
  br label %5852

5852:                                             ; preds = %5851
  br label %5853

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

5854:                                             ; No predecessors!
  br label %5855

5855:                                             ; preds = %5854
  br label %5856

5856:                                             ; preds = %5855, %5797
  br label %5857

5857:                                             ; preds = %5856
  br label %5858

5858:                                             ; preds = %5857
  br label %5859

5859:                                             ; preds = %5858
  %5860 = load i32, ptr @test_count, align 4, !tbaa !5
  %5861 = add nsw i32 %5860, 1
  store i32 %5861, ptr @test_count, align 4, !tbaa !5
  %5862 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5863 = load i32, ptr %5862, align 4, !tbaa !5
  %5864 = icmp eq i32 %5863, 0
  br i1 %5864, label %5865, label %5918

5865:                                             ; preds = %5859
  br label %5866

5866:                                             ; preds = %5865
  br label %5867

5867:                                             ; preds = %5866
  call void @llvm.lifetime.start.p0(i64 4, ptr %113) #11
  %5868 = call ptr @__errno_location() #12
  %5869 = load i32, ptr %5868, align 4, !tbaa !5
  store i32 %5869, ptr %113, align 4, !tbaa !5
  %5870 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5871 = call i32 @s2n_print_stacktrace(ptr noundef %5870)
  %5872 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5873 = trunc i8 %5872 to i1
  br i1 %5873, label %5874, label %5896

5874:                                             ; preds = %5867
  %5875 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5876 = call i32 @fileno(ptr noundef %5875) #11
  %5877 = call i32 @isatty(i32 noundef %5876) #11
  %5878 = icmp ne i32 %5877, 0
  br i1 %5878, label %5879, label %5896

5879:                                             ; preds = %5874
  %5880 = load i32, ptr %113, align 4, !tbaa !5
  %5881 = call ptr @__errno_location() #12
  store i32 %5880, ptr %5881, align 4, !tbaa !5
  %5882 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5883 = load i32, ptr @test_count, align 4, !tbaa !5
  %5884 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5885 = load i32, ptr %5884, align 4, !tbaa !5
  %5886 = call ptr @s2n_strerror(i32 noundef %5885, ptr noundef @.str.11)
  %5887 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5888 = load i32, ptr %5887, align 4, !tbaa !5
  %5889 = call ptr @s2n_strerror_debug(i32 noundef %5888, ptr noundef @.str.11)
  %5890 = call ptr @__errno_location() #12
  %5891 = load i32, ptr %5890, align 4, !tbaa !5
  %5892 = call ptr @strerror(i32 noundef %5891) #11
  %5893 = call ptr @__errno_location() #12
  %5894 = load i32, ptr %5893, align 4, !tbaa !5
  %5895 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5882, ptr noundef @.str.9, i32 noundef %5883, ptr noundef @.str.53, ptr noundef @.str.8, i32 noundef 289, ptr noundef %5886, ptr noundef %5889, ptr noundef %5892, i32 noundef %5894) #11
  br label %5913

5896:                                             ; preds = %5874, %5867
  %5897 = load i32, ptr %113, align 4, !tbaa !5
  %5898 = call ptr @__errno_location() #12
  store i32 %5897, ptr %5898, align 4, !tbaa !5
  %5899 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5900 = load i32, ptr @test_count, align 4, !tbaa !5
  %5901 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5902 = load i32, ptr %5901, align 4, !tbaa !5
  %5903 = call ptr @s2n_strerror(i32 noundef %5902, ptr noundef @.str.11)
  %5904 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5905 = load i32, ptr %5904, align 4, !tbaa !5
  %5906 = call ptr @s2n_strerror_debug(i32 noundef %5905, ptr noundef @.str.11)
  %5907 = call ptr @__errno_location() #12
  %5908 = load i32, ptr %5907, align 4, !tbaa !5
  %5909 = call ptr @strerror(i32 noundef %5908) #11
  %5910 = call ptr @__errno_location() #12
  %5911 = load i32, ptr %5910, align 4, !tbaa !5
  %5912 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5899, ptr noundef @.str.12, i32 noundef %5900, ptr noundef @.str.53, ptr noundef @.str.8, i32 noundef 289, ptr noundef %5903, ptr noundef %5906, ptr noundef %5909, i32 noundef %5911) #11
  br label %5913

5913:                                             ; preds = %5896, %5879
  call void @llvm.lifetime.end.p0(i64 4, ptr %113) #11
  br label %5914

5914:                                             ; preds = %5913
  br label %5915

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

5916:                                             ; No predecessors!
  br label %5917

5917:                                             ; preds = %5916
  br label %5918

5918:                                             ; preds = %5917, %5859
  br label %5919

5919:                                             ; preds = %5918
  br label %5920

5920:                                             ; preds = %5919
  br label %5921

5921:                                             ; preds = %5920
  %5922 = load i32, ptr @test_count, align 4, !tbaa !5
  %5923 = add nsw i32 %5922, 1
  store i32 %5923, ptr @test_count, align 4, !tbaa !5
  %5924 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5925 = load i32, ptr %5924, align 4, !tbaa !5
  %5926 = call ptr @s2n_strerror_debug(i32 noundef %5925, ptr noundef @.str.11)
  %5927 = icmp eq ptr %5926, null
  br i1 %5927, label %5928, label %5981

5928:                                             ; preds = %5921
  br label %5929

5929:                                             ; preds = %5928
  br label %5930

5930:                                             ; preds = %5929
  call void @llvm.lifetime.start.p0(i64 4, ptr %114) #11
  %5931 = call ptr @__errno_location() #12
  %5932 = load i32, ptr %5931, align 4, !tbaa !5
  store i32 %5932, ptr %114, align 4, !tbaa !5
  %5933 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5934 = call i32 @s2n_print_stacktrace(ptr noundef %5933)
  %5935 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5936 = trunc i8 %5935 to i1
  br i1 %5936, label %5937, label %5959

5937:                                             ; preds = %5930
  %5938 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5939 = call i32 @fileno(ptr noundef %5938) #11
  %5940 = call i32 @isatty(i32 noundef %5939) #11
  %5941 = icmp ne i32 %5940, 0
  br i1 %5941, label %5942, label %5959

5942:                                             ; preds = %5937
  %5943 = load i32, ptr %114, align 4, !tbaa !5
  %5944 = call ptr @__errno_location() #12
  store i32 %5943, ptr %5944, align 4, !tbaa !5
  %5945 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5946 = load i32, ptr @test_count, align 4, !tbaa !5
  %5947 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5948 = load i32, ptr %5947, align 4, !tbaa !5
  %5949 = call ptr @s2n_strerror(i32 noundef %5948, ptr noundef @.str.11)
  %5950 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5951 = load i32, ptr %5950, align 4, !tbaa !5
  %5952 = call ptr @s2n_strerror_debug(i32 noundef %5951, ptr noundef @.str.11)
  %5953 = call ptr @__errno_location() #12
  %5954 = load i32, ptr %5953, align 4, !tbaa !5
  %5955 = call ptr @strerror(i32 noundef %5954) #11
  %5956 = call ptr @__errno_location() #12
  %5957 = load i32, ptr %5956, align 4, !tbaa !5
  %5958 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5945, ptr noundef @.str.9, i32 noundef %5946, ptr noundef @.str.54, ptr noundef @.str.8, i32 noundef 289, ptr noundef %5949, ptr noundef %5952, ptr noundef %5955, i32 noundef %5957) #11
  br label %5976

5959:                                             ; preds = %5937, %5930
  %5960 = load i32, ptr %114, align 4, !tbaa !5
  %5961 = call ptr @__errno_location() #12
  store i32 %5960, ptr %5961, align 4, !tbaa !5
  %5962 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5963 = load i32, ptr @test_count, align 4, !tbaa !5
  %5964 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5965 = load i32, ptr %5964, align 4, !tbaa !5
  %5966 = call ptr @s2n_strerror(i32 noundef %5965, ptr noundef @.str.11)
  %5967 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5968 = load i32, ptr %5967, align 4, !tbaa !5
  %5969 = call ptr @s2n_strerror_debug(i32 noundef %5968, ptr noundef @.str.11)
  %5970 = call ptr @__errno_location() #12
  %5971 = load i32, ptr %5970, align 4, !tbaa !5
  %5972 = call ptr @strerror(i32 noundef %5971) #11
  %5973 = call ptr @__errno_location() #12
  %5974 = load i32, ptr %5973, align 4, !tbaa !5
  %5975 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5962, ptr noundef @.str.12, i32 noundef %5963, ptr noundef @.str.54, ptr noundef @.str.8, i32 noundef 289, ptr noundef %5966, ptr noundef %5969, ptr noundef %5972, i32 noundef %5974) #11
  br label %5976

5976:                                             ; preds = %5959, %5942
  call void @llvm.lifetime.end.p0(i64 4, ptr %114) #11
  br label %5977

5977:                                             ; preds = %5976
  br label %5978

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

5979:                                             ; No predecessors!
  br label %5980

5980:                                             ; preds = %5979
  br label %5981

5981:                                             ; preds = %5980, %5921
  br label %5982

5982:                                             ; preds = %5981
  br label %5983

5983:                                             ; preds = %5982
  br label %5984

5984:                                             ; preds = %5983
  %5985 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %5985, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %5986 = call ptr @__errno_location() #12
  store i32 0, ptr %5986, align 4, !tbaa !5
  br label %5987

5987:                                             ; preds = %5984
  br label %5988

5988:                                             ; preds = %5987
  br label %5989

5989:                                             ; preds = %5988
  br label %5990

5990:                                             ; preds = %5989
  br label %5991

5991:                                             ; preds = %5990
  %5992 = load i32, ptr @test_count, align 4, !tbaa !5
  %5993 = add nsw i32 %5992, 1
  store i32 %5993, ptr @test_count, align 4, !tbaa !5
  %5994 = load ptr, ptr %100, align 8, !tbaa !9
  %5995 = call i32 @s2n_connection_get_selected_client_cert_signature_algorithm(ptr noundef %5994, ptr noundef %102)
  %5996 = icmp eq i32 %5995, -1
  br i1 %5996, label %5997, label %6050

5997:                                             ; preds = %5991
  br label %5998

5998:                                             ; preds = %5997
  br label %5999

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

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

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

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

6045:                                             ; preds = %6028, %6011
  call void @llvm.lifetime.end.p0(i64 4, ptr %115) #11
  br label %6046

6046:                                             ; preds = %6045
  br label %6047

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

6048:                                             ; No predecessors!
  br label %6049

6049:                                             ; preds = %6048
  br label %6050

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

6051:                                             ; preds = %6050
  br label %6052

6052:                                             ; preds = %6051
  br label %6053

6053:                                             ; preds = %6052
  %6054 = load i32, ptr @test_count, align 4, !tbaa !5
  %6055 = add nsw i32 %6054, 1
  store i32 %6055, ptr @test_count, align 4, !tbaa !5
  %6056 = load i32, ptr %102, align 4, !tbaa !5
  %6057 = icmp eq i32 0, %6056
  br i1 %6057, label %6111, label %6058

6058:                                             ; preds = %6053
  br label %6059

6059:                                             ; preds = %6058
  br label %6060

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

6067:                                             ; preds = %6060
  %6068 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6069 = call i32 @fileno(ptr noundef %6068) #11
  %6070 = call i32 @isatty(i32 noundef %6069) #11
  %6071 = icmp ne i32 %6070, 0
  br i1 %6071, label %6072, label %6089

6072:                                             ; preds = %6067
  %6073 = load i32, ptr %116, align 4, !tbaa !5
  %6074 = call ptr @__errno_location() #12
  store i32 %6073, ptr %6074, align 4, !tbaa !5
  %6075 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6076 = load i32, ptr @test_count, align 4, !tbaa !5
  %6077 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6078 = load i32, ptr %6077, align 4, !tbaa !5
  %6079 = call ptr @s2n_strerror(i32 noundef %6078, ptr noundef @.str.11)
  %6080 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6081 = load i32, ptr %6080, align 4, !tbaa !5
  %6082 = call ptr @s2n_strerror_debug(i32 noundef %6081, ptr noundef @.str.11)
  %6083 = call ptr @__errno_location() #12
  %6084 = load i32, ptr %6083, align 4, !tbaa !5
  %6085 = call ptr @strerror(i32 noundef %6084) #11
  %6086 = call ptr @__errno_location() #12
  %6087 = load i32, ptr %6086, align 4, !tbaa !5
  %6088 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6075, ptr noundef @.str.9, i32 noundef %6076, ptr noundef @.str.67, ptr noundef @.str.8, i32 noundef 292, ptr noundef %6079, ptr noundef %6082, ptr noundef %6085, i32 noundef %6087) #11
  br label %6106

6089:                                             ; preds = %6067, %6060
  %6090 = load i32, ptr %116, align 4, !tbaa !5
  %6091 = call ptr @__errno_location() #12
  store i32 %6090, ptr %6091, align 4, !tbaa !5
  %6092 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6093 = load i32, ptr @test_count, align 4, !tbaa !5
  %6094 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6095 = load i32, ptr %6094, align 4, !tbaa !5
  %6096 = call ptr @s2n_strerror(i32 noundef %6095, ptr noundef @.str.11)
  %6097 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6098 = load i32, ptr %6097, align 4, !tbaa !5
  %6099 = call ptr @s2n_strerror_debug(i32 noundef %6098, ptr noundef @.str.11)
  %6100 = call ptr @__errno_location() #12
  %6101 = load i32, ptr %6100, align 4, !tbaa !5
  %6102 = call ptr @strerror(i32 noundef %6101) #11
  %6103 = call ptr @__errno_location() #12
  %6104 = load i32, ptr %6103, align 4, !tbaa !5
  %6105 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6092, ptr noundef @.str.12, i32 noundef %6093, ptr noundef @.str.67, ptr noundef @.str.8, i32 noundef 292, ptr noundef %6096, ptr noundef %6099, ptr noundef %6102, i32 noundef %6104) #11
  br label %6106

6106:                                             ; preds = %6089, %6072
  call void @llvm.lifetime.end.p0(i64 4, ptr %116) #11
  br label %6107

6107:                                             ; preds = %6106
  br label %6108

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

6109:                                             ; No predecessors!
  br label %6110

6110:                                             ; preds = %6109
  br label %6111

6111:                                             ; preds = %6110, %6053
  br label %6112

6112:                                             ; preds = %6111
  br label %6113

6113:                                             ; preds = %6112
  br label %6114

6114:                                             ; preds = %6113
  %6115 = load i32, ptr @test_count, align 4, !tbaa !5
  %6116 = add nsw i32 %6115, 1
  store i32 %6116, ptr @test_count, align 4, !tbaa !5
  %6117 = load ptr, ptr %100, align 8, !tbaa !9
  %6118 = call i32 @s2n_connection_get_selected_signature_algorithm(ptr noundef %6117, ptr noundef %102)
  %6119 = icmp eq i32 %6118, -1
  br i1 %6119, label %6120, label %6173

6120:                                             ; preds = %6114
  br label %6121

6121:                                             ; preds = %6120
  br label %6122

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

6129:                                             ; preds = %6122
  %6130 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6131 = call i32 @fileno(ptr noundef %6130) #11
  %6132 = call i32 @isatty(i32 noundef %6131) #11
  %6133 = icmp ne i32 %6132, 0
  br i1 %6133, label %6134, label %6151

6134:                                             ; preds = %6129
  %6135 = load i32, ptr %117, align 4, !tbaa !5
  %6136 = call ptr @__errno_location() #12
  store i32 %6135, ptr %6136, align 4, !tbaa !5
  %6137 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6138 = load i32, ptr @test_count, align 4, !tbaa !5
  %6139 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6140 = load i32, ptr %6139, align 4, !tbaa !5
  %6141 = call ptr @s2n_strerror(i32 noundef %6140, ptr noundef @.str.11)
  %6142 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6143 = load i32, ptr %6142, align 4, !tbaa !5
  %6144 = call ptr @s2n_strerror_debug(i32 noundef %6143, ptr noundef @.str.11)
  %6145 = call ptr @__errno_location() #12
  %6146 = load i32, ptr %6145, align 4, !tbaa !5
  %6147 = call ptr @strerror(i32 noundef %6146) #11
  %6148 = call ptr @__errno_location() #12
  %6149 = load i32, ptr %6148, align 4, !tbaa !5
  %6150 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6137, ptr noundef @.str.9, i32 noundef %6138, ptr noundef @.str.68, ptr noundef @.str.8, i32 noundef 294, ptr noundef %6141, ptr noundef %6144, ptr noundef %6147, i32 noundef %6149) #11
  br label %6168

6151:                                             ; preds = %6129, %6122
  %6152 = load i32, ptr %117, align 4, !tbaa !5
  %6153 = call ptr @__errno_location() #12
  store i32 %6152, ptr %6153, align 4, !tbaa !5
  %6154 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6155 = load i32, ptr @test_count, align 4, !tbaa !5
  %6156 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6157 = load i32, ptr %6156, align 4, !tbaa !5
  %6158 = call ptr @s2n_strerror(i32 noundef %6157, ptr noundef @.str.11)
  %6159 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6160 = load i32, ptr %6159, align 4, !tbaa !5
  %6161 = call ptr @s2n_strerror_debug(i32 noundef %6160, ptr noundef @.str.11)
  %6162 = call ptr @__errno_location() #12
  %6163 = load i32, ptr %6162, align 4, !tbaa !5
  %6164 = call ptr @strerror(i32 noundef %6163) #11
  %6165 = call ptr @__errno_location() #12
  %6166 = load i32, ptr %6165, align 4, !tbaa !5
  %6167 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6154, ptr noundef @.str.12, i32 noundef %6155, ptr noundef @.str.68, ptr noundef @.str.8, i32 noundef 294, ptr noundef %6158, ptr noundef %6161, ptr noundef %6164, i32 noundef %6166) #11
  br label %6168

6168:                                             ; preds = %6151, %6134
  call void @llvm.lifetime.end.p0(i64 4, ptr %117) #11
  br label %6169

6169:                                             ; preds = %6168
  br label %6170

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

6171:                                             ; No predecessors!
  br label %6172

6172:                                             ; preds = %6171
  br label %6173

6173:                                             ; preds = %6172, %6114
  br label %6174

6174:                                             ; preds = %6173
  br label %6175

6175:                                             ; preds = %6174
  br label %6176

6176:                                             ; preds = %6175
  %6177 = load i32, ptr @test_count, align 4, !tbaa !5
  %6178 = add nsw i32 %6177, 1
  store i32 %6178, ptr @test_count, align 4, !tbaa !5
  %6179 = load i32, ptr %102, align 4, !tbaa !5
  %6180 = icmp eq i32 0, %6179
  br i1 %6180, label %6234, label %6181

6181:                                             ; preds = %6176
  br label %6182

6182:                                             ; preds = %6181
  br label %6183

6183:                                             ; preds = %6182
  call void @llvm.lifetime.start.p0(i64 4, ptr %118) #11
  %6184 = call ptr @__errno_location() #12
  %6185 = load i32, ptr %6184, align 4, !tbaa !5
  store i32 %6185, ptr %118, align 4, !tbaa !5
  %6186 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6187 = call i32 @s2n_print_stacktrace(ptr noundef %6186)
  %6188 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6189 = trunc i8 %6188 to i1
  br i1 %6189, label %6190, label %6212

6190:                                             ; preds = %6183
  %6191 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6192 = call i32 @fileno(ptr noundef %6191) #11
  %6193 = call i32 @isatty(i32 noundef %6192) #11
  %6194 = icmp ne i32 %6193, 0
  br i1 %6194, label %6195, label %6212

6195:                                             ; preds = %6190
  %6196 = load i32, ptr %118, align 4, !tbaa !5
  %6197 = call ptr @__errno_location() #12
  store i32 %6196, ptr %6197, align 4, !tbaa !5
  %6198 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6199 = load i32, ptr @test_count, align 4, !tbaa !5
  %6200 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6201 = load i32, ptr %6200, align 4, !tbaa !5
  %6202 = call ptr @s2n_strerror(i32 noundef %6201, ptr noundef @.str.11)
  %6203 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6204 = load i32, ptr %6203, align 4, !tbaa !5
  %6205 = call ptr @s2n_strerror_debug(i32 noundef %6204, ptr noundef @.str.11)
  %6206 = call ptr @__errno_location() #12
  %6207 = load i32, ptr %6206, align 4, !tbaa !5
  %6208 = call ptr @strerror(i32 noundef %6207) #11
  %6209 = call ptr @__errno_location() #12
  %6210 = load i32, ptr %6209, align 4, !tbaa !5
  %6211 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6198, ptr noundef @.str.9, i32 noundef %6199, ptr noundef @.str.67, ptr noundef @.str.8, i32 noundef 295, ptr noundef %6202, ptr noundef %6205, ptr noundef %6208, i32 noundef %6210) #11
  br label %6229

6212:                                             ; preds = %6190, %6183
  %6213 = load i32, ptr %118, align 4, !tbaa !5
  %6214 = call ptr @__errno_location() #12
  store i32 %6213, ptr %6214, align 4, !tbaa !5
  %6215 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6216 = load i32, ptr @test_count, align 4, !tbaa !5
  %6217 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6218 = load i32, ptr %6217, align 4, !tbaa !5
  %6219 = call ptr @s2n_strerror(i32 noundef %6218, ptr noundef @.str.11)
  %6220 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6221 = load i32, ptr %6220, align 4, !tbaa !5
  %6222 = call ptr @s2n_strerror_debug(i32 noundef %6221, ptr noundef @.str.11)
  %6223 = call ptr @__errno_location() #12
  %6224 = load i32, ptr %6223, align 4, !tbaa !5
  %6225 = call ptr @strerror(i32 noundef %6224) #11
  %6226 = call ptr @__errno_location() #12
  %6227 = load i32, ptr %6226, align 4, !tbaa !5
  %6228 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6215, ptr noundef @.str.12, i32 noundef %6216, ptr noundef @.str.67, ptr noundef @.str.8, i32 noundef 295, ptr noundef %6219, ptr noundef %6222, ptr noundef %6225, i32 noundef %6227) #11
  br label %6229

6229:                                             ; preds = %6212, %6195
  call void @llvm.lifetime.end.p0(i64 4, ptr %118) #11
  br label %6230

6230:                                             ; preds = %6229
  br label %6231

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

6232:                                             ; No predecessors!
  br label %6233

6233:                                             ; preds = %6232
  br label %6234

6234:                                             ; preds = %6233, %6176
  br label %6235

6235:                                             ; preds = %6234
  br label %6236

6236:                                             ; preds = %6235
  call void @llvm.lifetime.start.p0(i64 904, ptr %119) #11
  call void @llvm.memset.p0.i64(ptr align 16 %119, i8 0, i64 904, i1 false)
  %6237 = getelementptr inbounds [226 x i32], ptr %119, i32 0, i32 1
  store i32 1, ptr %6237, align 4
  %6238 = getelementptr inbounds [226 x i32], ptr %119, i32 0, i32 3
  store i32 3, ptr %6238, align 4
  %6239 = getelementptr inbounds [226 x i32], ptr %119, i32 0, i32 224
  store i32 224, ptr %6239, align 16
  %6240 = getelementptr inbounds [226 x i32], ptr %119, i32 0, i32 225
  store i32 225, ptr %6240, align 4
  call void @llvm.lifetime.start.p0(i64 8, ptr %120) #11
  store i64 0, ptr %120, align 8, !tbaa !50
  br label %6241

6241:                                             ; preds = %6762, %6236
  %6242 = load i64, ptr %120, align 8, !tbaa !50
  %6243 = icmp ule i64 %6242, 65535
  br i1 %6243, label %6245, label %6244

6244:                                             ; preds = %6241
  call void @llvm.lifetime.end.p0(i64 8, ptr %120) #11
  br label %6765

6245:                                             ; preds = %6241
  call void @llvm.lifetime.start.p0(i64 40, ptr %121) #11
  %6246 = load ptr, ptr %100, align 8, !tbaa !9
  %6247 = getelementptr inbounds %struct.s2n_connection, ptr %6246, i32 0, i32 32
  %6248 = getelementptr inbounds %struct.s2n_handshake_parameters, ptr %6247, i32 0, i32 6
  %6249 = load ptr, ptr %6248, align 8, !tbaa !51
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %121, ptr align 8 %6249, i64 40, i1 false), !tbaa.struct !52
  %6250 = load i64, ptr %120, align 8, !tbaa !50
  %6251 = trunc i64 %6250 to i32
  %6252 = getelementptr inbounds %struct.s2n_signature_scheme, ptr %121, i32 0, i32 3
  store i32 %6251, ptr %6252, align 4, !tbaa !59
  %6253 = load ptr, ptr %100, align 8, !tbaa !9
  %6254 = getelementptr inbounds %struct.s2n_connection, ptr %6253, i32 0, i32 32
  %6255 = getelementptr inbounds %struct.s2n_handshake_parameters, ptr %6254, i32 0, i32 6
  store ptr %121, ptr %6255, align 8, !tbaa !51
  %6256 = load ptr, ptr %100, align 8, !tbaa !9
  %6257 = getelementptr inbounds %struct.s2n_connection, ptr %6256, i32 0, i32 32
  %6258 = getelementptr inbounds %struct.s2n_handshake_parameters, ptr %6257, i32 0, i32 5
  store ptr %121, ptr %6258, align 8, !tbaa !56
  %6259 = load i64, ptr %120, align 8, !tbaa !50
  %6260 = icmp ult i64 %6259, 226
  br i1 %6260, label %6261, label %6514

6261:                                             ; preds = %6245
  br label %6262

6262:                                             ; preds = %6261
  %6263 = load i32, ptr @test_count, align 4, !tbaa !5
  %6264 = add nsw i32 %6263, 1
  store i32 %6264, ptr @test_count, align 4, !tbaa !5
  %6265 = load ptr, ptr %100, align 8, !tbaa !9
  %6266 = call i32 @s2n_connection_get_selected_client_cert_signature_algorithm(ptr noundef %6265, ptr noundef %102)
  %6267 = icmp eq i32 %6266, -1
  br i1 %6267, label %6268, label %6321

6268:                                             ; preds = %6262
  br label %6269

6269:                                             ; preds = %6268
  br label %6270

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

6277:                                             ; preds = %6270
  %6278 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6279 = call i32 @fileno(ptr noundef %6278) #11
  %6280 = call i32 @isatty(i32 noundef %6279) #11
  %6281 = icmp ne i32 %6280, 0
  br i1 %6281, label %6282, label %6299

6282:                                             ; preds = %6277
  %6283 = load i32, ptr %122, align 4, !tbaa !5
  %6284 = call ptr @__errno_location() #12
  store i32 %6283, ptr %6284, align 4, !tbaa !5
  %6285 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6286 = load i32, ptr @test_count, align 4, !tbaa !5
  %6287 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6288 = load i32, ptr %6287, align 4, !tbaa !5
  %6289 = call ptr @s2n_strerror(i32 noundef %6288, ptr noundef @.str.11)
  %6290 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6291 = load i32, ptr %6290, align 4, !tbaa !5
  %6292 = call ptr @s2n_strerror_debug(i32 noundef %6291, ptr noundef @.str.11)
  %6293 = call ptr @__errno_location() #12
  %6294 = load i32, ptr %6293, align 4, !tbaa !5
  %6295 = call ptr @strerror(i32 noundef %6294) #11
  %6296 = call ptr @__errno_location() #12
  %6297 = load i32, ptr %6296, align 4, !tbaa !5
  %6298 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6285, ptr noundef @.str.9, i32 noundef %6286, ptr noundef @.str.66, ptr noundef @.str.8, i32 noundef 312, ptr noundef %6289, ptr noundef %6292, ptr noundef %6295, i32 noundef %6297) #11
  br label %6316

6299:                                             ; preds = %6277, %6270
  %6300 = load i32, ptr %122, align 4, !tbaa !5
  %6301 = call ptr @__errno_location() #12
  store i32 %6300, ptr %6301, align 4, !tbaa !5
  %6302 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6303 = load i32, ptr @test_count, align 4, !tbaa !5
  %6304 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6305 = load i32, ptr %6304, align 4, !tbaa !5
  %6306 = call ptr @s2n_strerror(i32 noundef %6305, ptr noundef @.str.11)
  %6307 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6308 = load i32, ptr %6307, align 4, !tbaa !5
  %6309 = call ptr @s2n_strerror_debug(i32 noundef %6308, ptr noundef @.str.11)
  %6310 = call ptr @__errno_location() #12
  %6311 = load i32, ptr %6310, align 4, !tbaa !5
  %6312 = call ptr @strerror(i32 noundef %6311) #11
  %6313 = call ptr @__errno_location() #12
  %6314 = load i32, ptr %6313, align 4, !tbaa !5
  %6315 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6302, ptr noundef @.str.12, i32 noundef %6303, ptr noundef @.str.66, ptr noundef @.str.8, i32 noundef 312, ptr noundef %6306, ptr noundef %6309, ptr noundef %6312, i32 noundef %6314) #11
  br label %6316

6316:                                             ; preds = %6299, %6282
  call void @llvm.lifetime.end.p0(i64 4, ptr %122) #11
  br label %6317

6317:                                             ; preds = %6316
  br label %6318

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

6319:                                             ; No predecessors!
  br label %6320

6320:                                             ; preds = %6319
  br label %6321

6321:                                             ; preds = %6320, %6262
  br label %6322

6322:                                             ; preds = %6321
  br label %6323

6323:                                             ; preds = %6322
  br label %6324

6324:                                             ; preds = %6323
  %6325 = load i32, ptr @test_count, align 4, !tbaa !5
  %6326 = add nsw i32 %6325, 1
  store i32 %6326, ptr @test_count, align 4, !tbaa !5
  %6327 = load i64, ptr %120, align 8, !tbaa !50
  %6328 = getelementptr inbounds [226 x i32], ptr %119, i64 0, i64 %6327
  %6329 = load i32, ptr %6328, align 4, !tbaa !5
  %6330 = load i32, ptr %102, align 4, !tbaa !5
  %6331 = icmp eq i32 %6329, %6330
  br i1 %6331, label %6385, label %6332

6332:                                             ; preds = %6324
  br label %6333

6333:                                             ; preds = %6332
  br label %6334

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

6341:                                             ; preds = %6334
  %6342 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6343 = call i32 @fileno(ptr noundef %6342) #11
  %6344 = call i32 @isatty(i32 noundef %6343) #11
  %6345 = icmp ne i32 %6344, 0
  br i1 %6345, label %6346, label %6363

6346:                                             ; preds = %6341
  %6347 = load i32, ptr %123, align 4, !tbaa !5
  %6348 = call ptr @__errno_location() #12
  store i32 %6347, ptr %6348, align 4, !tbaa !5
  %6349 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6350 = load i32, ptr @test_count, align 4, !tbaa !5
  %6351 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6352 = load i32, ptr %6351, align 4, !tbaa !5
  %6353 = call ptr @s2n_strerror(i32 noundef %6352, ptr noundef @.str.11)
  %6354 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6355 = load i32, ptr %6354, align 4, !tbaa !5
  %6356 = call ptr @s2n_strerror_debug(i32 noundef %6355, ptr noundef @.str.11)
  %6357 = call ptr @__errno_location() #12
  %6358 = load i32, ptr %6357, align 4, !tbaa !5
  %6359 = call ptr @strerror(i32 noundef %6358) #11
  %6360 = call ptr @__errno_location() #12
  %6361 = load i32, ptr %6360, align 4, !tbaa !5
  %6362 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6349, ptr noundef @.str.9, i32 noundef %6350, ptr noundef @.str.61, ptr noundef @.str.8, i32 noundef 313, ptr noundef %6353, ptr noundef %6356, ptr noundef %6359, i32 noundef %6361) #11
  br label %6380

6363:                                             ; preds = %6341, %6334
  %6364 = load i32, ptr %123, align 4, !tbaa !5
  %6365 = call ptr @__errno_location() #12
  store i32 %6364, ptr %6365, align 4, !tbaa !5
  %6366 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6367 = load i32, ptr @test_count, align 4, !tbaa !5
  %6368 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6369 = load i32, ptr %6368, align 4, !tbaa !5
  %6370 = call ptr @s2n_strerror(i32 noundef %6369, ptr noundef @.str.11)
  %6371 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6372 = load i32, ptr %6371, align 4, !tbaa !5
  %6373 = call ptr @s2n_strerror_debug(i32 noundef %6372, ptr noundef @.str.11)
  %6374 = call ptr @__errno_location() #12
  %6375 = load i32, ptr %6374, align 4, !tbaa !5
  %6376 = call ptr @strerror(i32 noundef %6375) #11
  %6377 = call ptr @__errno_location() #12
  %6378 = load i32, ptr %6377, align 4, !tbaa !5
  %6379 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6366, ptr noundef @.str.12, i32 noundef %6367, ptr noundef @.str.61, ptr noundef @.str.8, i32 noundef 313, ptr noundef %6370, ptr noundef %6373, ptr noundef %6376, i32 noundef %6378) #11
  br label %6380

6380:                                             ; preds = %6363, %6346
  call void @llvm.lifetime.end.p0(i64 4, ptr %123) #11
  br label %6381

6381:                                             ; preds = %6380
  br label %6382

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

6383:                                             ; No predecessors!
  br label %6384

6384:                                             ; preds = %6383
  br label %6385

6385:                                             ; preds = %6384, %6324
  br label %6386

6386:                                             ; preds = %6385
  br label %6387

6387:                                             ; preds = %6386
  br label %6388

6388:                                             ; preds = %6387
  %6389 = load i32, ptr @test_count, align 4, !tbaa !5
  %6390 = add nsw i32 %6389, 1
  store i32 %6390, ptr @test_count, align 4, !tbaa !5
  %6391 = load ptr, ptr %100, align 8, !tbaa !9
  %6392 = call i32 @s2n_connection_get_selected_signature_algorithm(ptr noundef %6391, ptr noundef %102)
  %6393 = icmp eq i32 %6392, -1
  br i1 %6393, label %6394, label %6447

6394:                                             ; preds = %6388
  br label %6395

6395:                                             ; preds = %6394
  br label %6396

6396:                                             ; preds = %6395
  call void @llvm.lifetime.start.p0(i64 4, ptr %124) #11
  %6397 = call ptr @__errno_location() #12
  %6398 = load i32, ptr %6397, align 4, !tbaa !5
  store i32 %6398, ptr %124, align 4, !tbaa !5
  %6399 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6400 = call i32 @s2n_print_stacktrace(ptr noundef %6399)
  %6401 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6402 = trunc i8 %6401 to i1
  br i1 %6402, label %6403, label %6425

6403:                                             ; preds = %6396
  %6404 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6405 = call i32 @fileno(ptr noundef %6404) #11
  %6406 = call i32 @isatty(i32 noundef %6405) #11
  %6407 = icmp ne i32 %6406, 0
  br i1 %6407, label %6408, label %6425

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

6425:                                             ; preds = %6403, %6396
  %6426 = load i32, ptr %124, align 4, !tbaa !5
  %6427 = call ptr @__errno_location() #12
  store i32 %6426, ptr %6427, align 4, !tbaa !5
  %6428 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6429 = load i32, ptr @test_count, align 4, !tbaa !5
  %6430 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6431 = load i32, ptr %6430, align 4, !tbaa !5
  %6432 = call ptr @s2n_strerror(i32 noundef %6431, ptr noundef @.str.11)
  %6433 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6434 = load i32, ptr %6433, align 4, !tbaa !5
  %6435 = call ptr @s2n_strerror_debug(i32 noundef %6434, ptr noundef @.str.11)
  %6436 = call ptr @__errno_location() #12
  %6437 = load i32, ptr %6436, align 4, !tbaa !5
  %6438 = call ptr @strerror(i32 noundef %6437) #11
  %6439 = call ptr @__errno_location() #12
  %6440 = load i32, ptr %6439, align 4, !tbaa !5
  %6441 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6428, ptr noundef @.str.12, i32 noundef %6429, ptr noundef @.str.68, ptr noundef @.str.8, i32 noundef 315, ptr noundef %6432, ptr noundef %6435, ptr noundef %6438, i32 noundef %6440) #11
  br label %6442

6442:                                             ; preds = %6425, %6408
  call void @llvm.lifetime.end.p0(i64 4, ptr %124) #11
  br label %6443

6443:                                             ; preds = %6442
  br label %6444

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

6445:                                             ; No predecessors!
  br label %6446

6446:                                             ; preds = %6445
  br label %6447

6447:                                             ; preds = %6446, %6388
  br label %6448

6448:                                             ; preds = %6447
  br label %6449

6449:                                             ; preds = %6448
  br label %6450

6450:                                             ; preds = %6449
  %6451 = load i32, ptr @test_count, align 4, !tbaa !5
  %6452 = add nsw i32 %6451, 1
  store i32 %6452, ptr @test_count, align 4, !tbaa !5
  %6453 = load i64, ptr %120, align 8, !tbaa !50
  %6454 = getelementptr inbounds [226 x i32], ptr %119, i64 0, i64 %6453
  %6455 = load i32, ptr %6454, align 4, !tbaa !5
  %6456 = load i32, ptr %102, align 4, !tbaa !5
  %6457 = icmp eq i32 %6455, %6456
  br i1 %6457, label %6511, label %6458

6458:                                             ; preds = %6450
  br label %6459

6459:                                             ; preds = %6458
  br label %6460

6460:                                             ; preds = %6459
  call void @llvm.lifetime.start.p0(i64 4, ptr %125) #11
  %6461 = call ptr @__errno_location() #12
  %6462 = load i32, ptr %6461, align 4, !tbaa !5
  store i32 %6462, ptr %125, align 4, !tbaa !5
  %6463 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6464 = call i32 @s2n_print_stacktrace(ptr noundef %6463)
  %6465 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6466 = trunc i8 %6465 to i1
  br i1 %6466, label %6467, label %6489

6467:                                             ; preds = %6460
  %6468 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6469 = call i32 @fileno(ptr noundef %6468) #11
  %6470 = call i32 @isatty(i32 noundef %6469) #11
  %6471 = icmp ne i32 %6470, 0
  br i1 %6471, label %6472, label %6489

6472:                                             ; preds = %6467
  %6473 = load i32, ptr %125, align 4, !tbaa !5
  %6474 = call ptr @__errno_location() #12
  store i32 %6473, ptr %6474, align 4, !tbaa !5
  %6475 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6476 = load i32, ptr @test_count, align 4, !tbaa !5
  %6477 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6478 = load i32, ptr %6477, align 4, !tbaa !5
  %6479 = call ptr @s2n_strerror(i32 noundef %6478, ptr noundef @.str.11)
  %6480 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6481 = load i32, ptr %6480, align 4, !tbaa !5
  %6482 = call ptr @s2n_strerror_debug(i32 noundef %6481, ptr noundef @.str.11)
  %6483 = call ptr @__errno_location() #12
  %6484 = load i32, ptr %6483, align 4, !tbaa !5
  %6485 = call ptr @strerror(i32 noundef %6484) #11
  %6486 = call ptr @__errno_location() #12
  %6487 = load i32, ptr %6486, align 4, !tbaa !5
  %6488 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6475, ptr noundef @.str.9, i32 noundef %6476, ptr noundef @.str.61, ptr noundef @.str.8, i32 noundef 316, ptr noundef %6479, ptr noundef %6482, ptr noundef %6485, i32 noundef %6487) #11
  br label %6506

6489:                                             ; preds = %6467, %6460
  %6490 = load i32, ptr %125, align 4, !tbaa !5
  %6491 = call ptr @__errno_location() #12
  store i32 %6490, ptr %6491, align 4, !tbaa !5
  %6492 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6493 = load i32, ptr @test_count, align 4, !tbaa !5
  %6494 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6495 = load i32, ptr %6494, align 4, !tbaa !5
  %6496 = call ptr @s2n_strerror(i32 noundef %6495, ptr noundef @.str.11)
  %6497 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6498 = load i32, ptr %6497, align 4, !tbaa !5
  %6499 = call ptr @s2n_strerror_debug(i32 noundef %6498, ptr noundef @.str.11)
  %6500 = call ptr @__errno_location() #12
  %6501 = load i32, ptr %6500, align 4, !tbaa !5
  %6502 = call ptr @strerror(i32 noundef %6501) #11
  %6503 = call ptr @__errno_location() #12
  %6504 = load i32, ptr %6503, align 4, !tbaa !5
  %6505 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6492, ptr noundef @.str.12, i32 noundef %6493, ptr noundef @.str.61, ptr noundef @.str.8, i32 noundef 316, ptr noundef %6496, ptr noundef %6499, ptr noundef %6502, i32 noundef %6504) #11
  br label %6506

6506:                                             ; preds = %6489, %6472
  call void @llvm.lifetime.end.p0(i64 4, ptr %125) #11
  br label %6507

6507:                                             ; preds = %6506
  br label %6508

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

6509:                                             ; No predecessors!
  br label %6510

6510:                                             ; preds = %6509
  br label %6511

6511:                                             ; preds = %6510, %6450
  br label %6512

6512:                                             ; preds = %6511
  br label %6513

6513:                                             ; preds = %6512
  br label %6761

6514:                                             ; preds = %6245
  br label %6515

6515:                                             ; preds = %6514
  %6516 = load i32, ptr @test_count, align 4, !tbaa !5
  %6517 = add nsw i32 %6516, 1
  store i32 %6517, ptr @test_count, align 4, !tbaa !5
  %6518 = load ptr, ptr %100, align 8, !tbaa !9
  %6519 = call i32 @s2n_connection_get_selected_client_cert_signature_algorithm(ptr noundef %6518, ptr noundef %102)
  %6520 = icmp eq i32 %6519, -1
  br i1 %6520, label %6521, label %6574

6521:                                             ; preds = %6515
  br label %6522

6522:                                             ; preds = %6521
  br label %6523

6523:                                             ; preds = %6522
  call void @llvm.lifetime.start.p0(i64 4, ptr %126) #11
  %6524 = call ptr @__errno_location() #12
  %6525 = load i32, ptr %6524, align 4, !tbaa !5
  store i32 %6525, ptr %126, align 4, !tbaa !5
  %6526 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6527 = call i32 @s2n_print_stacktrace(ptr noundef %6526)
  %6528 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6529 = trunc i8 %6528 to i1
  br i1 %6529, label %6530, label %6552

6530:                                             ; preds = %6523
  %6531 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6532 = call i32 @fileno(ptr noundef %6531) #11
  %6533 = call i32 @isatty(i32 noundef %6532) #11
  %6534 = icmp ne i32 %6533, 0
  br i1 %6534, label %6535, label %6552

6535:                                             ; preds = %6530
  %6536 = load i32, ptr %126, align 4, !tbaa !5
  %6537 = call ptr @__errno_location() #12
  store i32 %6536, ptr %6537, align 4, !tbaa !5
  %6538 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6539 = load i32, ptr @test_count, align 4, !tbaa !5
  %6540 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6541 = load i32, ptr %6540, align 4, !tbaa !5
  %6542 = call ptr @s2n_strerror(i32 noundef %6541, ptr noundef @.str.11)
  %6543 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6544 = load i32, ptr %6543, align 4, !tbaa !5
  %6545 = call ptr @s2n_strerror_debug(i32 noundef %6544, ptr noundef @.str.11)
  %6546 = call ptr @__errno_location() #12
  %6547 = load i32, ptr %6546, align 4, !tbaa !5
  %6548 = call ptr @strerror(i32 noundef %6547) #11
  %6549 = call ptr @__errno_location() #12
  %6550 = load i32, ptr %6549, align 4, !tbaa !5
  %6551 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6538, ptr noundef @.str.9, i32 noundef %6539, ptr noundef @.str.66, ptr noundef @.str.8, i32 noundef 318, ptr noundef %6542, ptr noundef %6545, ptr noundef %6548, i32 noundef %6550) #11
  br label %6569

6552:                                             ; preds = %6530, %6523
  %6553 = load i32, ptr %126, align 4, !tbaa !5
  %6554 = call ptr @__errno_location() #12
  store i32 %6553, ptr %6554, align 4, !tbaa !5
  %6555 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6556 = load i32, ptr @test_count, align 4, !tbaa !5
  %6557 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6558 = load i32, ptr %6557, align 4, !tbaa !5
  %6559 = call ptr @s2n_strerror(i32 noundef %6558, ptr noundef @.str.11)
  %6560 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6561 = load i32, ptr %6560, align 4, !tbaa !5
  %6562 = call ptr @s2n_strerror_debug(i32 noundef %6561, ptr noundef @.str.11)
  %6563 = call ptr @__errno_location() #12
  %6564 = load i32, ptr %6563, align 4, !tbaa !5
  %6565 = call ptr @strerror(i32 noundef %6564) #11
  %6566 = call ptr @__errno_location() #12
  %6567 = load i32, ptr %6566, align 4, !tbaa !5
  %6568 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6555, ptr noundef @.str.12, i32 noundef %6556, ptr noundef @.str.66, ptr noundef @.str.8, i32 noundef 318, ptr noundef %6559, ptr noundef %6562, ptr noundef %6565, i32 noundef %6567) #11
  br label %6569

6569:                                             ; preds = %6552, %6535
  call void @llvm.lifetime.end.p0(i64 4, ptr %126) #11
  br label %6570

6570:                                             ; preds = %6569
  br label %6571

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

6572:                                             ; No predecessors!
  br label %6573

6573:                                             ; preds = %6572
  br label %6574

6574:                                             ; preds = %6573, %6515
  br label %6575

6575:                                             ; preds = %6574
  br label %6576

6576:                                             ; preds = %6575
  br label %6577

6577:                                             ; preds = %6576
  %6578 = load i32, ptr @test_count, align 4, !tbaa !5
  %6579 = add nsw i32 %6578, 1
  store i32 %6579, ptr @test_count, align 4, !tbaa !5
  %6580 = load i32, ptr %102, align 4, !tbaa !5
  %6581 = icmp eq i32 0, %6580
  br i1 %6581, label %6635, label %6582

6582:                                             ; preds = %6577
  br label %6583

6583:                                             ; preds = %6582
  br label %6584

6584:                                             ; preds = %6583
  call void @llvm.lifetime.start.p0(i64 4, ptr %127) #11
  %6585 = call ptr @__errno_location() #12
  %6586 = load i32, ptr %6585, align 4, !tbaa !5
  store i32 %6586, ptr %127, align 4, !tbaa !5
  %6587 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6588 = call i32 @s2n_print_stacktrace(ptr noundef %6587)
  %6589 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6590 = trunc i8 %6589 to i1
  br i1 %6590, label %6591, label %6613

6591:                                             ; preds = %6584
  %6592 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6593 = call i32 @fileno(ptr noundef %6592) #11
  %6594 = call i32 @isatty(i32 noundef %6593) #11
  %6595 = icmp ne i32 %6594, 0
  br i1 %6595, label %6596, label %6613

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

6613:                                             ; preds = %6591, %6584
  %6614 = load i32, ptr %127, align 4, !tbaa !5
  %6615 = call ptr @__errno_location() #12
  store i32 %6614, ptr %6615, align 4, !tbaa !5
  %6616 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6617 = load i32, ptr @test_count, align 4, !tbaa !5
  %6618 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6619 = load i32, ptr %6618, align 4, !tbaa !5
  %6620 = call ptr @s2n_strerror(i32 noundef %6619, ptr noundef @.str.11)
  %6621 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6622 = load i32, ptr %6621, align 4, !tbaa !5
  %6623 = call ptr @s2n_strerror_debug(i32 noundef %6622, ptr noundef @.str.11)
  %6624 = call ptr @__errno_location() #12
  %6625 = load i32, ptr %6624, align 4, !tbaa !5
  %6626 = call ptr @strerror(i32 noundef %6625) #11
  %6627 = call ptr @__errno_location() #12
  %6628 = load i32, ptr %6627, align 4, !tbaa !5
  %6629 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6616, ptr noundef @.str.12, i32 noundef %6617, ptr noundef @.str.67, ptr noundef @.str.8, i32 noundef 319, ptr noundef %6620, ptr noundef %6623, ptr noundef %6626, i32 noundef %6628) #11
  br label %6630

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

6631:                                             ; preds = %6630
  br label %6632

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

6633:                                             ; No predecessors!
  br label %6634

6634:                                             ; preds = %6633
  br label %6635

6635:                                             ; preds = %6634, %6577
  br label %6636

6636:                                             ; preds = %6635
  br label %6637

6637:                                             ; preds = %6636
  br label %6638

6638:                                             ; preds = %6637
  %6639 = load i32, ptr @test_count, align 4, !tbaa !5
  %6640 = add nsw i32 %6639, 1
  store i32 %6640, ptr @test_count, align 4, !tbaa !5
  %6641 = load ptr, ptr %100, align 8, !tbaa !9
  %6642 = call i32 @s2n_connection_get_selected_signature_algorithm(ptr noundef %6641, ptr noundef %102)
  %6643 = icmp eq i32 %6642, -1
  br i1 %6643, label %6644, label %6697

6644:                                             ; preds = %6638
  br label %6645

6645:                                             ; preds = %6644
  br label %6646

6646:                                             ; preds = %6645
  call void @llvm.lifetime.start.p0(i64 4, ptr %128) #11
  %6647 = call ptr @__errno_location() #12
  %6648 = load i32, ptr %6647, align 4, !tbaa !5
  store i32 %6648, ptr %128, align 4, !tbaa !5
  %6649 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6650 = call i32 @s2n_print_stacktrace(ptr noundef %6649)
  %6651 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6652 = trunc i8 %6651 to i1
  br i1 %6652, label %6653, label %6675

6653:                                             ; preds = %6646
  %6654 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6655 = call i32 @fileno(ptr noundef %6654) #11
  %6656 = call i32 @isatty(i32 noundef %6655) #11
  %6657 = icmp ne i32 %6656, 0
  br i1 %6657, label %6658, label %6675

6658:                                             ; preds = %6653
  %6659 = load i32, ptr %128, align 4, !tbaa !5
  %6660 = call ptr @__errno_location() #12
  store i32 %6659, ptr %6660, align 4, !tbaa !5
  %6661 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6662 = load i32, ptr @test_count, align 4, !tbaa !5
  %6663 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6664 = load i32, ptr %6663, align 4, !tbaa !5
  %6665 = call ptr @s2n_strerror(i32 noundef %6664, ptr noundef @.str.11)
  %6666 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6667 = load i32, ptr %6666, align 4, !tbaa !5
  %6668 = call ptr @s2n_strerror_debug(i32 noundef %6667, ptr noundef @.str.11)
  %6669 = call ptr @__errno_location() #12
  %6670 = load i32, ptr %6669, align 4, !tbaa !5
  %6671 = call ptr @strerror(i32 noundef %6670) #11
  %6672 = call ptr @__errno_location() #12
  %6673 = load i32, ptr %6672, align 4, !tbaa !5
  %6674 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6661, ptr noundef @.str.9, i32 noundef %6662, ptr noundef @.str.68, ptr noundef @.str.8, i32 noundef 321, ptr noundef %6665, ptr noundef %6668, ptr noundef %6671, i32 noundef %6673) #11
  br label %6692

6675:                                             ; preds = %6653, %6646
  %6676 = load i32, ptr %128, align 4, !tbaa !5
  %6677 = call ptr @__errno_location() #12
  store i32 %6676, ptr %6677, align 4, !tbaa !5
  %6678 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6679 = load i32, ptr @test_count, align 4, !tbaa !5
  %6680 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6681 = load i32, ptr %6680, align 4, !tbaa !5
  %6682 = call ptr @s2n_strerror(i32 noundef %6681, ptr noundef @.str.11)
  %6683 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6684 = load i32, ptr %6683, align 4, !tbaa !5
  %6685 = call ptr @s2n_strerror_debug(i32 noundef %6684, ptr noundef @.str.11)
  %6686 = call ptr @__errno_location() #12
  %6687 = load i32, ptr %6686, align 4, !tbaa !5
  %6688 = call ptr @strerror(i32 noundef %6687) #11
  %6689 = call ptr @__errno_location() #12
  %6690 = load i32, ptr %6689, align 4, !tbaa !5
  %6691 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6678, ptr noundef @.str.12, i32 noundef %6679, ptr noundef @.str.68, ptr noundef @.str.8, i32 noundef 321, ptr noundef %6682, ptr noundef %6685, ptr noundef %6688, i32 noundef %6690) #11
  br label %6692

6692:                                             ; preds = %6675, %6658
  call void @llvm.lifetime.end.p0(i64 4, ptr %128) #11
  br label %6693

6693:                                             ; preds = %6692
  br label %6694

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

6695:                                             ; No predecessors!
  br label %6696

6696:                                             ; preds = %6695
  br label %6697

6697:                                             ; preds = %6696, %6638
  br label %6698

6698:                                             ; preds = %6697
  br label %6699

6699:                                             ; preds = %6698
  br label %6700

6700:                                             ; preds = %6699
  %6701 = load i32, ptr @test_count, align 4, !tbaa !5
  %6702 = add nsw i32 %6701, 1
  store i32 %6702, ptr @test_count, align 4, !tbaa !5
  %6703 = load i32, ptr %102, align 4, !tbaa !5
  %6704 = icmp eq i32 0, %6703
  br i1 %6704, label %6758, label %6705

6705:                                             ; preds = %6700
  br label %6706

6706:                                             ; preds = %6705
  br label %6707

6707:                                             ; preds = %6706
  call void @llvm.lifetime.start.p0(i64 4, ptr %129) #11
  %6708 = call ptr @__errno_location() #12
  %6709 = load i32, ptr %6708, align 4, !tbaa !5
  store i32 %6709, ptr %129, align 4, !tbaa !5
  %6710 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6711 = call i32 @s2n_print_stacktrace(ptr noundef %6710)
  %6712 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6713 = trunc i8 %6712 to i1
  br i1 %6713, label %6714, label %6736

6714:                                             ; preds = %6707
  %6715 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6716 = call i32 @fileno(ptr noundef %6715) #11
  %6717 = call i32 @isatty(i32 noundef %6716) #11
  %6718 = icmp ne i32 %6717, 0
  br i1 %6718, label %6719, label %6736

6719:                                             ; preds = %6714
  %6720 = load i32, ptr %129, align 4, !tbaa !5
  %6721 = call ptr @__errno_location() #12
  store i32 %6720, ptr %6721, align 4, !tbaa !5
  %6722 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6723 = load i32, ptr @test_count, align 4, !tbaa !5
  %6724 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6725 = load i32, ptr %6724, align 4, !tbaa !5
  %6726 = call ptr @s2n_strerror(i32 noundef %6725, ptr noundef @.str.11)
  %6727 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6728 = load i32, ptr %6727, align 4, !tbaa !5
  %6729 = call ptr @s2n_strerror_debug(i32 noundef %6728, ptr noundef @.str.11)
  %6730 = call ptr @__errno_location() #12
  %6731 = load i32, ptr %6730, align 4, !tbaa !5
  %6732 = call ptr @strerror(i32 noundef %6731) #11
  %6733 = call ptr @__errno_location() #12
  %6734 = load i32, ptr %6733, align 4, !tbaa !5
  %6735 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6722, ptr noundef @.str.9, i32 noundef %6723, ptr noundef @.str.67, ptr noundef @.str.8, i32 noundef 322, ptr noundef %6726, ptr noundef %6729, ptr noundef %6732, i32 noundef %6734) #11
  br label %6753

6736:                                             ; preds = %6714, %6707
  %6737 = load i32, ptr %129, align 4, !tbaa !5
  %6738 = call ptr @__errno_location() #12
  store i32 %6737, ptr %6738, align 4, !tbaa !5
  %6739 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6740 = load i32, ptr @test_count, align 4, !tbaa !5
  %6741 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6742 = load i32, ptr %6741, align 4, !tbaa !5
  %6743 = call ptr @s2n_strerror(i32 noundef %6742, ptr noundef @.str.11)
  %6744 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6745 = load i32, ptr %6744, align 4, !tbaa !5
  %6746 = call ptr @s2n_strerror_debug(i32 noundef %6745, ptr noundef @.str.11)
  %6747 = call ptr @__errno_location() #12
  %6748 = load i32, ptr %6747, align 4, !tbaa !5
  %6749 = call ptr @strerror(i32 noundef %6748) #11
  %6750 = call ptr @__errno_location() #12
  %6751 = load i32, ptr %6750, align 4, !tbaa !5
  %6752 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6739, ptr noundef @.str.12, i32 noundef %6740, ptr noundef @.str.67, ptr noundef @.str.8, i32 noundef 322, ptr noundef %6743, ptr noundef %6746, ptr noundef %6749, i32 noundef %6751) #11
  br label %6753

6753:                                             ; preds = %6736, %6719
  call void @llvm.lifetime.end.p0(i64 4, ptr %129) #11
  br label %6754

6754:                                             ; preds = %6753
  br label %6755

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

6756:                                             ; No predecessors!
  br label %6757

6757:                                             ; preds = %6756
  br label %6758

6758:                                             ; preds = %6757, %6700
  br label %6759

6759:                                             ; preds = %6758
  br label %6760

6760:                                             ; preds = %6759
  br label %6761

6761:                                             ; preds = %6760, %6513
  call void @llvm.lifetime.end.p0(i64 40, ptr %121) #11
  br label %6762

6762:                                             ; preds = %6761
  %6763 = load i64, ptr %120, align 8, !tbaa !50
  %6764 = add i64 %6763, 1
  store i64 %6764, ptr %120, align 8, !tbaa !50
  br label %6241, !llvm.loop !60

6765:                                             ; preds = %6244
  br label %6766

6766:                                             ; preds = %6765
  %6767 = load i32, ptr @test_count, align 4, !tbaa !5
  %6768 = add nsw i32 %6767, 1
  store i32 %6768, ptr @test_count, align 4, !tbaa !5
  %6769 = load ptr, ptr %100, align 8, !tbaa !9
  %6770 = call i32 @s2n_connection_free(ptr noundef %6769)
  %6771 = icmp eq i32 %6770, -1
  br i1 %6771, label %6772, label %6825

6772:                                             ; preds = %6766
  br label %6773

6773:                                             ; preds = %6772
  br label %6774

6774:                                             ; preds = %6773
  call void @llvm.lifetime.start.p0(i64 4, ptr %130) #11
  %6775 = call ptr @__errno_location() #12
  %6776 = load i32, ptr %6775, align 4, !tbaa !5
  store i32 %6776, ptr %130, align 4, !tbaa !5
  %6777 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6778 = call i32 @s2n_print_stacktrace(ptr noundef %6777)
  %6779 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6780 = trunc i8 %6779 to i1
  br i1 %6780, label %6781, label %6803

6781:                                             ; preds = %6774
  %6782 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6783 = call i32 @fileno(ptr noundef %6782) #11
  %6784 = call i32 @isatty(i32 noundef %6783) #11
  %6785 = icmp ne i32 %6784, 0
  br i1 %6785, label %6786, label %6803

6786:                                             ; preds = %6781
  %6787 = load i32, ptr %130, align 4, !tbaa !5
  %6788 = call ptr @__errno_location() #12
  store i32 %6787, ptr %6788, align 4, !tbaa !5
  %6789 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6790 = load i32, ptr @test_count, align 4, !tbaa !5
  %6791 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6792 = load i32, ptr %6791, align 4, !tbaa !5
  %6793 = call ptr @s2n_strerror(i32 noundef %6792, ptr noundef @.str.11)
  %6794 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6795 = load i32, ptr %6794, align 4, !tbaa !5
  %6796 = call ptr @s2n_strerror_debug(i32 noundef %6795, ptr noundef @.str.11)
  %6797 = call ptr @__errno_location() #12
  %6798 = load i32, ptr %6797, align 4, !tbaa !5
  %6799 = call ptr @strerror(i32 noundef %6798) #11
  %6800 = call ptr @__errno_location() #12
  %6801 = load i32, ptr %6800, align 4, !tbaa !5
  %6802 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6789, ptr noundef @.str.9, i32 noundef %6790, ptr noundef @.str.25, ptr noundef @.str.8, i32 noundef 326, ptr noundef %6793, ptr noundef %6796, ptr noundef %6799, i32 noundef %6801) #11
  br label %6820

6803:                                             ; preds = %6781, %6774
  %6804 = load i32, ptr %130, align 4, !tbaa !5
  %6805 = call ptr @__errno_location() #12
  store i32 %6804, ptr %6805, align 4, !tbaa !5
  %6806 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6807 = load i32, ptr @test_count, align 4, !tbaa !5
  %6808 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6809 = load i32, ptr %6808, align 4, !tbaa !5
  %6810 = call ptr @s2n_strerror(i32 noundef %6809, ptr noundef @.str.11)
  %6811 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6812 = load i32, ptr %6811, align 4, !tbaa !5
  %6813 = call ptr @s2n_strerror_debug(i32 noundef %6812, ptr noundef @.str.11)
  %6814 = call ptr @__errno_location() #12
  %6815 = load i32, ptr %6814, align 4, !tbaa !5
  %6816 = call ptr @strerror(i32 noundef %6815) #11
  %6817 = call ptr @__errno_location() #12
  %6818 = load i32, ptr %6817, align 4, !tbaa !5
  %6819 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6806, ptr noundef @.str.12, i32 noundef %6807, ptr noundef @.str.25, ptr noundef @.str.8, i32 noundef 326, ptr noundef %6810, ptr noundef %6813, ptr noundef %6816, i32 noundef %6818) #11
  br label %6820

6820:                                             ; preds = %6803, %6786
  call void @llvm.lifetime.end.p0(i64 4, ptr %130) #11
  br label %6821

6821:                                             ; preds = %6820
  br label %6822

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

6823:                                             ; No predecessors!
  br label %6824

6824:                                             ; preds = %6823
  br label %6825

6825:                                             ; preds = %6824, %6766
  br label %6826

6826:                                             ; preds = %6825
  br label %6827

6827:                                             ; preds = %6826
  call void @llvm.lifetime.end.p0(i64 904, ptr %119) #11
  call void @llvm.lifetime.end.p0(i64 4, ptr %102) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %100) #11
  %6828 = call zeroext i1 (...) @s2n_is_tls13_fully_supported()
  br i1 %6828, label %6829, label %8080

6829:                                             ; preds = %6827
  call void @llvm.lifetime.start.p0(i64 8, ptr %131) #11
  %6830 = call ptr @s2n_config_new()
  store ptr %6830, ptr %131, align 8, !tbaa !9
  br label %6831

6831:                                             ; preds = %6829
  %6832 = load i32, ptr @test_count, align 4, !tbaa !5
  %6833 = add nsw i32 %6832, 1
  store i32 %6833, ptr @test_count, align 4, !tbaa !5
  %6834 = load ptr, ptr %131, align 8, !tbaa !9
  %6835 = icmp eq ptr %6834, null
  br i1 %6835, label %6836, label %6889

6836:                                             ; preds = %6831
  br label %6837

6837:                                             ; preds = %6836
  br label %6838

6838:                                             ; preds = %6837
  call void @llvm.lifetime.start.p0(i64 4, ptr %132) #11
  %6839 = call ptr @__errno_location() #12
  %6840 = load i32, ptr %6839, align 4, !tbaa !5
  store i32 %6840, ptr %132, align 4, !tbaa !5
  %6841 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6842 = call i32 @s2n_print_stacktrace(ptr noundef %6841)
  %6843 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6844 = trunc i8 %6843 to i1
  br i1 %6844, label %6845, label %6867

6845:                                             ; preds = %6838
  %6846 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6847 = call i32 @fileno(ptr noundef %6846) #11
  %6848 = call i32 @isatty(i32 noundef %6847) #11
  %6849 = icmp ne i32 %6848, 0
  br i1 %6849, label %6850, label %6867

6850:                                             ; preds = %6845
  %6851 = load i32, ptr %132, align 4, !tbaa !5
  %6852 = call ptr @__errno_location() #12
  store i32 %6851, ptr %6852, align 4, !tbaa !5
  %6853 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6854 = load i32, ptr @test_count, align 4, !tbaa !5
  %6855 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6856 = load i32, ptr %6855, align 4, !tbaa !5
  %6857 = call ptr @s2n_strerror(i32 noundef %6856, ptr noundef @.str.11)
  %6858 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6859 = load i32, ptr %6858, align 4, !tbaa !5
  %6860 = call ptr @s2n_strerror_debug(i32 noundef %6859, ptr noundef @.str.11)
  %6861 = call ptr @__errno_location() #12
  %6862 = load i32, ptr %6861, align 4, !tbaa !5
  %6863 = call ptr @strerror(i32 noundef %6862) #11
  %6864 = call ptr @__errno_location() #12
  %6865 = load i32, ptr %6864, align 4, !tbaa !5
  %6866 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6853, ptr noundef @.str.9, i32 noundef %6854, ptr noundef @.str.69, ptr noundef @.str.8, i32 noundef 337, ptr noundef %6857, ptr noundef %6860, ptr noundef %6863, i32 noundef %6865) #11
  br label %6884

6867:                                             ; preds = %6845, %6838
  %6868 = load i32, ptr %132, align 4, !tbaa !5
  %6869 = call ptr @__errno_location() #12
  store i32 %6868, ptr %6869, align 4, !tbaa !5
  %6870 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6871 = load i32, ptr @test_count, align 4, !tbaa !5
  %6872 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6873 = load i32, ptr %6872, align 4, !tbaa !5
  %6874 = call ptr @s2n_strerror(i32 noundef %6873, ptr noundef @.str.11)
  %6875 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6876 = load i32, ptr %6875, align 4, !tbaa !5
  %6877 = call ptr @s2n_strerror_debug(i32 noundef %6876, ptr noundef @.str.11)
  %6878 = call ptr @__errno_location() #12
  %6879 = load i32, ptr %6878, align 4, !tbaa !5
  %6880 = call ptr @strerror(i32 noundef %6879) #11
  %6881 = call ptr @__errno_location() #12
  %6882 = load i32, ptr %6881, align 4, !tbaa !5
  %6883 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6870, ptr noundef @.str.12, i32 noundef %6871, ptr noundef @.str.69, ptr noundef @.str.8, i32 noundef 337, ptr noundef %6874, ptr noundef %6877, ptr noundef %6880, i32 noundef %6882) #11
  br label %6884

6884:                                             ; preds = %6867, %6850
  call void @llvm.lifetime.end.p0(i64 4, ptr %132) #11
  br label %6885

6885:                                             ; preds = %6884
  br label %6886

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

6887:                                             ; No predecessors!
  br label %6888

6888:                                             ; preds = %6887
  br label %6889

6889:                                             ; preds = %6888, %6831
  br label %6890

6890:                                             ; preds = %6889
  br label %6891

6891:                                             ; preds = %6890
  br label %6892

6892:                                             ; preds = %6891
  %6893 = load i32, ptr @test_count, align 4, !tbaa !5
  %6894 = add nsw i32 %6893, 1
  store i32 %6894, ptr @test_count, align 4, !tbaa !5
  %6895 = load ptr, ptr %131, align 8, !tbaa !9
  %6896 = call i32 @s2n_config_set_unsafe_for_testing(ptr noundef %6895)
  %6897 = icmp eq i32 %6896, -1
  br i1 %6897, label %6898, label %6951

6898:                                             ; preds = %6892
  br label %6899

6899:                                             ; preds = %6898
  br label %6900

6900:                                             ; preds = %6899
  call void @llvm.lifetime.start.p0(i64 4, ptr %133) #11
  %6901 = call ptr @__errno_location() #12
  %6902 = load i32, ptr %6901, align 4, !tbaa !5
  store i32 %6902, ptr %133, align 4, !tbaa !5
  %6903 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6904 = call i32 @s2n_print_stacktrace(ptr noundef %6903)
  %6905 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6906 = trunc i8 %6905 to i1
  br i1 %6906, label %6907, label %6929

6907:                                             ; preds = %6900
  %6908 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6909 = call i32 @fileno(ptr noundef %6908) #11
  %6910 = call i32 @isatty(i32 noundef %6909) #11
  %6911 = icmp ne i32 %6910, 0
  br i1 %6911, label %6912, label %6929

6912:                                             ; preds = %6907
  %6913 = load i32, ptr %133, align 4, !tbaa !5
  %6914 = call ptr @__errno_location() #12
  store i32 %6913, ptr %6914, align 4, !tbaa !5
  %6915 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6916 = load i32, ptr @test_count, align 4, !tbaa !5
  %6917 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6918 = load i32, ptr %6917, align 4, !tbaa !5
  %6919 = call ptr @s2n_strerror(i32 noundef %6918, ptr noundef @.str.11)
  %6920 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6921 = load i32, ptr %6920, align 4, !tbaa !5
  %6922 = call ptr @s2n_strerror_debug(i32 noundef %6921, ptr noundef @.str.11)
  %6923 = call ptr @__errno_location() #12
  %6924 = load i32, ptr %6923, align 4, !tbaa !5
  %6925 = call ptr @strerror(i32 noundef %6924) #11
  %6926 = call ptr @__errno_location() #12
  %6927 = load i32, ptr %6926, align 4, !tbaa !5
  %6928 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6915, ptr noundef @.str.9, i32 noundef %6916, ptr noundef @.str.70, ptr noundef @.str.8, i32 noundef 338, ptr noundef %6919, ptr noundef %6922, ptr noundef %6925, i32 noundef %6927) #11
  br label %6946

6929:                                             ; preds = %6907, %6900
  %6930 = load i32, ptr %133, align 4, !tbaa !5
  %6931 = call ptr @__errno_location() #12
  store i32 %6930, ptr %6931, align 4, !tbaa !5
  %6932 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6933 = load i32, ptr @test_count, align 4, !tbaa !5
  %6934 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6935 = load i32, ptr %6934, align 4, !tbaa !5
  %6936 = call ptr @s2n_strerror(i32 noundef %6935, ptr noundef @.str.11)
  %6937 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6938 = load i32, ptr %6937, align 4, !tbaa !5
  %6939 = call ptr @s2n_strerror_debug(i32 noundef %6938, ptr noundef @.str.11)
  %6940 = call ptr @__errno_location() #12
  %6941 = load i32, ptr %6940, align 4, !tbaa !5
  %6942 = call ptr @strerror(i32 noundef %6941) #11
  %6943 = call ptr @__errno_location() #12
  %6944 = load i32, ptr %6943, align 4, !tbaa !5
  %6945 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6932, ptr noundef @.str.12, i32 noundef %6933, ptr noundef @.str.70, ptr noundef @.str.8, i32 noundef 338, ptr noundef %6936, ptr noundef %6939, ptr noundef %6942, i32 noundef %6944) #11
  br label %6946

6946:                                             ; preds = %6929, %6912
  call void @llvm.lifetime.end.p0(i64 4, ptr %133) #11
  br label %6947

6947:                                             ; preds = %6946
  br label %6948

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

6949:                                             ; No predecessors!
  br label %6950

6950:                                             ; preds = %6949
  br label %6951

6951:                                             ; preds = %6950, %6892
  br label %6952

6952:                                             ; preds = %6951
  br label %6953

6953:                                             ; preds = %6952
  br label %6954

6954:                                             ; preds = %6953
  %6955 = load i32, ptr @test_count, align 4, !tbaa !5
  %6956 = add nsw i32 %6955, 1
  store i32 %6956, ptr @test_count, align 4, !tbaa !5
  %6957 = load ptr, ptr %131, align 8, !tbaa !9
  %6958 = call i32 @s2n_config_set_client_auth_type(ptr noundef %6957, i32 noundef 1)
  %6959 = icmp eq i32 %6958, -1
  br i1 %6959, label %6960, label %7013

6960:                                             ; preds = %6954
  br label %6961

6961:                                             ; preds = %6960
  br label %6962

6962:                                             ; preds = %6961
  call void @llvm.lifetime.start.p0(i64 4, ptr %134) #11
  %6963 = call ptr @__errno_location() #12
  %6964 = load i32, ptr %6963, align 4, !tbaa !5
  store i32 %6964, ptr %134, align 4, !tbaa !5
  %6965 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6966 = call i32 @s2n_print_stacktrace(ptr noundef %6965)
  %6967 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6968 = trunc i8 %6967 to i1
  br i1 %6968, label %6969, label %6991

6969:                                             ; preds = %6962
  %6970 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6971 = call i32 @fileno(ptr noundef %6970) #11
  %6972 = call i32 @isatty(i32 noundef %6971) #11
  %6973 = icmp ne i32 %6972, 0
  br i1 %6973, label %6974, label %6991

6974:                                             ; preds = %6969
  %6975 = load i32, ptr %134, align 4, !tbaa !5
  %6976 = call ptr @__errno_location() #12
  store i32 %6975, ptr %6976, align 4, !tbaa !5
  %6977 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6978 = load i32, ptr @test_count, align 4, !tbaa !5
  %6979 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6980 = load i32, ptr %6979, align 4, !tbaa !5
  %6981 = call ptr @s2n_strerror(i32 noundef %6980, ptr noundef @.str.11)
  %6982 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6983 = load i32, ptr %6982, align 4, !tbaa !5
  %6984 = call ptr @s2n_strerror_debug(i32 noundef %6983, ptr noundef @.str.11)
  %6985 = call ptr @__errno_location() #12
  %6986 = load i32, ptr %6985, align 4, !tbaa !5
  %6987 = call ptr @strerror(i32 noundef %6986) #11
  %6988 = call ptr @__errno_location() #12
  %6989 = load i32, ptr %6988, align 4, !tbaa !5
  %6990 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6977, ptr noundef @.str.9, i32 noundef %6978, ptr noundef @.str.71, ptr noundef @.str.8, i32 noundef 339, ptr noundef %6981, ptr noundef %6984, ptr noundef %6987, i32 noundef %6989) #11
  br label %7008

6991:                                             ; preds = %6969, %6962
  %6992 = load i32, ptr %134, align 4, !tbaa !5
  %6993 = call ptr @__errno_location() #12
  store i32 %6992, ptr %6993, align 4, !tbaa !5
  %6994 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6995 = load i32, ptr @test_count, align 4, !tbaa !5
  %6996 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6997 = load i32, ptr %6996, align 4, !tbaa !5
  %6998 = call ptr @s2n_strerror(i32 noundef %6997, ptr noundef @.str.11)
  %6999 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7000 = load i32, ptr %6999, align 4, !tbaa !5
  %7001 = call ptr @s2n_strerror_debug(i32 noundef %7000, ptr noundef @.str.11)
  %7002 = call ptr @__errno_location() #12
  %7003 = load i32, ptr %7002, align 4, !tbaa !5
  %7004 = call ptr @strerror(i32 noundef %7003) #11
  %7005 = call ptr @__errno_location() #12
  %7006 = load i32, ptr %7005, align 4, !tbaa !5
  %7007 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6994, ptr noundef @.str.12, i32 noundef %6995, ptr noundef @.str.71, ptr noundef @.str.8, i32 noundef 339, ptr noundef %6998, ptr noundef %7001, ptr noundef %7004, i32 noundef %7006) #11
  br label %7008

7008:                                             ; preds = %6991, %6974
  call void @llvm.lifetime.end.p0(i64 4, ptr %134) #11
  br label %7009

7009:                                             ; preds = %7008
  br label %7010

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

7011:                                             ; No predecessors!
  br label %7012

7012:                                             ; preds = %7011
  br label %7013

7013:                                             ; preds = %7012, %6954
  br label %7014

7014:                                             ; preds = %7013
  br label %7015

7015:                                             ; preds = %7014
  br label %7016

7016:                                             ; preds = %7015
  %7017 = load i32, ptr @test_count, align 4, !tbaa !5
  %7018 = add nsw i32 %7017, 1
  store i32 %7018, ptr @test_count, align 4, !tbaa !5
  %7019 = load ptr, ptr %131, align 8, !tbaa !9
  %7020 = load ptr, ptr %9, align 8, !tbaa !9
  %7021 = call i32 @s2n_config_add_cert_chain_and_key_to_store(ptr noundef %7019, ptr noundef %7020)
  %7022 = icmp eq i32 %7021, -1
  br i1 %7022, label %7023, label %7076

7023:                                             ; preds = %7016
  br label %7024

7024:                                             ; preds = %7023
  br label %7025

7025:                                             ; preds = %7024
  call void @llvm.lifetime.start.p0(i64 4, ptr %135) #11
  %7026 = call ptr @__errno_location() #12
  %7027 = load i32, ptr %7026, align 4, !tbaa !5
  store i32 %7027, ptr %135, align 4, !tbaa !5
  %7028 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7029 = call i32 @s2n_print_stacktrace(ptr noundef %7028)
  %7030 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7031 = trunc i8 %7030 to i1
  br i1 %7031, label %7032, label %7054

7032:                                             ; preds = %7025
  %7033 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7034 = call i32 @fileno(ptr noundef %7033) #11
  %7035 = call i32 @isatty(i32 noundef %7034) #11
  %7036 = icmp ne i32 %7035, 0
  br i1 %7036, label %7037, label %7054

7037:                                             ; preds = %7032
  %7038 = load i32, ptr %135, align 4, !tbaa !5
  %7039 = call ptr @__errno_location() #12
  store i32 %7038, ptr %7039, align 4, !tbaa !5
  %7040 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7041 = load i32, ptr @test_count, align 4, !tbaa !5
  %7042 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7043 = load i32, ptr %7042, align 4, !tbaa !5
  %7044 = call ptr @s2n_strerror(i32 noundef %7043, ptr noundef @.str.11)
  %7045 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7046 = load i32, ptr %7045, align 4, !tbaa !5
  %7047 = call ptr @s2n_strerror_debug(i32 noundef %7046, ptr noundef @.str.11)
  %7048 = call ptr @__errno_location() #12
  %7049 = load i32, ptr %7048, align 4, !tbaa !5
  %7050 = call ptr @strerror(i32 noundef %7049) #11
  %7051 = call ptr @__errno_location() #12
  %7052 = load i32, ptr %7051, align 4, !tbaa !5
  %7053 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7040, ptr noundef @.str.9, i32 noundef %7041, ptr noundef @.str.72, ptr noundef @.str.8, i32 noundef 340, ptr noundef %7044, ptr noundef %7047, ptr noundef %7050, i32 noundef %7052) #11
  br label %7071

7054:                                             ; preds = %7032, %7025
  %7055 = load i32, ptr %135, align 4, !tbaa !5
  %7056 = call ptr @__errno_location() #12
  store i32 %7055, ptr %7056, align 4, !tbaa !5
  %7057 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7058 = load i32, ptr @test_count, align 4, !tbaa !5
  %7059 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7060 = load i32, ptr %7059, align 4, !tbaa !5
  %7061 = call ptr @s2n_strerror(i32 noundef %7060, ptr noundef @.str.11)
  %7062 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7063 = load i32, ptr %7062, align 4, !tbaa !5
  %7064 = call ptr @s2n_strerror_debug(i32 noundef %7063, ptr noundef @.str.11)
  %7065 = call ptr @__errno_location() #12
  %7066 = load i32, ptr %7065, align 4, !tbaa !5
  %7067 = call ptr @strerror(i32 noundef %7066) #11
  %7068 = call ptr @__errno_location() #12
  %7069 = load i32, ptr %7068, align 4, !tbaa !5
  %7070 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7057, ptr noundef @.str.12, i32 noundef %7058, ptr noundef @.str.72, ptr noundef @.str.8, i32 noundef 340, ptr noundef %7061, ptr noundef %7064, ptr noundef %7067, i32 noundef %7069) #11
  br label %7071

7071:                                             ; preds = %7054, %7037
  call void @llvm.lifetime.end.p0(i64 4, ptr %135) #11
  br label %7072

7072:                                             ; preds = %7071
  br label %7073

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

7074:                                             ; No predecessors!
  br label %7075

7075:                                             ; preds = %7074
  br label %7076

7076:                                             ; preds = %7075, %7016
  br label %7077

7077:                                             ; preds = %7076
  br label %7078

7078:                                             ; preds = %7077
  br label %7079

7079:                                             ; preds = %7078
  %7080 = load i32, ptr @test_count, align 4, !tbaa !5
  %7081 = add nsw i32 %7080, 1
  store i32 %7081, ptr @test_count, align 4, !tbaa !5
  %7082 = load ptr, ptr %131, align 8, !tbaa !9
  %7083 = call i32 @s2n_config_set_cipher_preferences(ptr noundef %7082, ptr noundef @.str.73)
  %7084 = icmp eq i32 %7083, -1
  br i1 %7084, label %7085, label %7138

7085:                                             ; preds = %7079
  br label %7086

7086:                                             ; preds = %7085
  br label %7087

7087:                                             ; preds = %7086
  call void @llvm.lifetime.start.p0(i64 4, ptr %136) #11
  %7088 = call ptr @__errno_location() #12
  %7089 = load i32, ptr %7088, align 4, !tbaa !5
  store i32 %7089, ptr %136, align 4, !tbaa !5
  %7090 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7091 = call i32 @s2n_print_stacktrace(ptr noundef %7090)
  %7092 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7093 = trunc i8 %7092 to i1
  br i1 %7093, label %7094, label %7116

7094:                                             ; preds = %7087
  %7095 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7096 = call i32 @fileno(ptr noundef %7095) #11
  %7097 = call i32 @isatty(i32 noundef %7096) #11
  %7098 = icmp ne i32 %7097, 0
  br i1 %7098, label %7099, label %7116

7099:                                             ; preds = %7094
  %7100 = load i32, ptr %136, align 4, !tbaa !5
  %7101 = call ptr @__errno_location() #12
  store i32 %7100, ptr %7101, align 4, !tbaa !5
  %7102 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7103 = load i32, ptr @test_count, align 4, !tbaa !5
  %7104 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7105 = load i32, ptr %7104, align 4, !tbaa !5
  %7106 = call ptr @s2n_strerror(i32 noundef %7105, ptr noundef @.str.11)
  %7107 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7108 = load i32, ptr %7107, align 4, !tbaa !5
  %7109 = call ptr @s2n_strerror_debug(i32 noundef %7108, ptr noundef @.str.11)
  %7110 = call ptr @__errno_location() #12
  %7111 = load i32, ptr %7110, align 4, !tbaa !5
  %7112 = call ptr @strerror(i32 noundef %7111) #11
  %7113 = call ptr @__errno_location() #12
  %7114 = load i32, ptr %7113, align 4, !tbaa !5
  %7115 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7102, ptr noundef @.str.9, i32 noundef %7103, ptr noundef @.str.74, ptr noundef @.str.8, i32 noundef 341, ptr noundef %7106, ptr noundef %7109, ptr noundef %7112, i32 noundef %7114) #11
  br label %7133

7116:                                             ; preds = %7094, %7087
  %7117 = load i32, ptr %136, align 4, !tbaa !5
  %7118 = call ptr @__errno_location() #12
  store i32 %7117, ptr %7118, align 4, !tbaa !5
  %7119 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7120 = load i32, ptr @test_count, align 4, !tbaa !5
  %7121 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7122 = load i32, ptr %7121, align 4, !tbaa !5
  %7123 = call ptr @s2n_strerror(i32 noundef %7122, ptr noundef @.str.11)
  %7124 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7125 = load i32, ptr %7124, align 4, !tbaa !5
  %7126 = call ptr @s2n_strerror_debug(i32 noundef %7125, ptr noundef @.str.11)
  %7127 = call ptr @__errno_location() #12
  %7128 = load i32, ptr %7127, align 4, !tbaa !5
  %7129 = call ptr @strerror(i32 noundef %7128) #11
  %7130 = call ptr @__errno_location() #12
  %7131 = load i32, ptr %7130, align 4, !tbaa !5
  %7132 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7119, ptr noundef @.str.12, i32 noundef %7120, ptr noundef @.str.74, ptr noundef @.str.8, i32 noundef 341, ptr noundef %7123, ptr noundef %7126, ptr noundef %7129, i32 noundef %7131) #11
  br label %7133

7133:                                             ; preds = %7116, %7099
  call void @llvm.lifetime.end.p0(i64 4, ptr %136) #11
  br label %7134

7134:                                             ; preds = %7133
  br label %7135

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

7136:                                             ; No predecessors!
  br label %7137

7137:                                             ; preds = %7136
  br label %7138

7138:                                             ; preds = %7137, %7079
  br label %7139

7139:                                             ; preds = %7138
  br label %7140

7140:                                             ; preds = %7139
  call void @llvm.lifetime.start.p0(i64 8, ptr %137) #11
  %7141 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %7141, ptr %137, align 8, !tbaa !9
  br label %7142

7142:                                             ; preds = %7140
  %7143 = load i32, ptr @test_count, align 4, !tbaa !5
  %7144 = add nsw i32 %7143, 1
  store i32 %7144, ptr @test_count, align 4, !tbaa !5
  %7145 = load ptr, ptr %137, align 8, !tbaa !9
  %7146 = icmp eq ptr %7145, null
  br i1 %7146, label %7147, label %7200

7147:                                             ; preds = %7142
  br label %7148

7148:                                             ; preds = %7147
  br label %7149

7149:                                             ; preds = %7148
  call void @llvm.lifetime.start.p0(i64 4, ptr %138) #11
  %7150 = call ptr @__errno_location() #12
  %7151 = load i32, ptr %7150, align 4, !tbaa !5
  store i32 %7151, ptr %138, align 4, !tbaa !5
  %7152 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7153 = call i32 @s2n_print_stacktrace(ptr noundef %7152)
  %7154 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7155 = trunc i8 %7154 to i1
  br i1 %7155, label %7156, label %7178

7156:                                             ; preds = %7149
  %7157 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7158 = call i32 @fileno(ptr noundef %7157) #11
  %7159 = call i32 @isatty(i32 noundef %7158) #11
  %7160 = icmp ne i32 %7159, 0
  br i1 %7160, label %7161, label %7178

7161:                                             ; preds = %7156
  %7162 = load i32, ptr %138, align 4, !tbaa !5
  %7163 = call ptr @__errno_location() #12
  store i32 %7162, ptr %7163, align 4, !tbaa !5
  %7164 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7165 = load i32, ptr @test_count, align 4, !tbaa !5
  %7166 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7167 = load i32, ptr %7166, align 4, !tbaa !5
  %7168 = call ptr @s2n_strerror(i32 noundef %7167, ptr noundef @.str.11)
  %7169 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7170 = load i32, ptr %7169, align 4, !tbaa !5
  %7171 = call ptr @s2n_strerror_debug(i32 noundef %7170, ptr noundef @.str.11)
  %7172 = call ptr @__errno_location() #12
  %7173 = load i32, ptr %7172, align 4, !tbaa !5
  %7174 = call ptr @strerror(i32 noundef %7173) #11
  %7175 = call ptr @__errno_location() #12
  %7176 = load i32, ptr %7175, align 4, !tbaa !5
  %7177 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7164, ptr noundef @.str.9, i32 noundef %7165, ptr noundef @.str.75, ptr noundef @.str.8, i32 noundef 344, ptr noundef %7168, ptr noundef %7171, ptr noundef %7174, i32 noundef %7176) #11
  br label %7195

7178:                                             ; preds = %7156, %7149
  %7179 = load i32, ptr %138, align 4, !tbaa !5
  %7180 = call ptr @__errno_location() #12
  store i32 %7179, ptr %7180, align 4, !tbaa !5
  %7181 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7182 = load i32, ptr @test_count, align 4, !tbaa !5
  %7183 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7184 = load i32, ptr %7183, align 4, !tbaa !5
  %7185 = call ptr @s2n_strerror(i32 noundef %7184, ptr noundef @.str.11)
  %7186 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7187 = load i32, ptr %7186, align 4, !tbaa !5
  %7188 = call ptr @s2n_strerror_debug(i32 noundef %7187, ptr noundef @.str.11)
  %7189 = call ptr @__errno_location() #12
  %7190 = load i32, ptr %7189, align 4, !tbaa !5
  %7191 = call ptr @strerror(i32 noundef %7190) #11
  %7192 = call ptr @__errno_location() #12
  %7193 = load i32, ptr %7192, align 4, !tbaa !5
  %7194 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7181, ptr noundef @.str.12, i32 noundef %7182, ptr noundef @.str.75, ptr noundef @.str.8, i32 noundef 344, ptr noundef %7185, ptr noundef %7188, ptr noundef %7191, i32 noundef %7193) #11
  br label %7195

7195:                                             ; preds = %7178, %7161
  call void @llvm.lifetime.end.p0(i64 4, ptr %138) #11
  br label %7196

7196:                                             ; preds = %7195
  br label %7197

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

7198:                                             ; No predecessors!
  br label %7199

7199:                                             ; preds = %7198
  br label %7200

7200:                                             ; preds = %7199, %7142
  br label %7201

7201:                                             ; preds = %7200
  br label %7202

7202:                                             ; preds = %7201
  br label %7203

7203:                                             ; preds = %7202
  %7204 = load i32, ptr @test_count, align 4, !tbaa !5
  %7205 = add nsw i32 %7204, 1
  store i32 %7205, ptr @test_count, align 4, !tbaa !5
  %7206 = load ptr, ptr %137, align 8, !tbaa !9
  %7207 = load ptr, ptr %131, align 8, !tbaa !9
  %7208 = call i32 @s2n_connection_set_config(ptr noundef %7206, ptr noundef %7207)
  %7209 = icmp eq i32 %7208, -1
  br i1 %7209, label %7210, label %7263

7210:                                             ; preds = %7203
  br label %7211

7211:                                             ; preds = %7210
  br label %7212

7212:                                             ; preds = %7211
  call void @llvm.lifetime.start.p0(i64 4, ptr %139) #11
  %7213 = call ptr @__errno_location() #12
  %7214 = load i32, ptr %7213, align 4, !tbaa !5
  store i32 %7214, ptr %139, align 4, !tbaa !5
  %7215 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7216 = call i32 @s2n_print_stacktrace(ptr noundef %7215)
  %7217 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7218 = trunc i8 %7217 to i1
  br i1 %7218, label %7219, label %7241

7219:                                             ; preds = %7212
  %7220 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7221 = call i32 @fileno(ptr noundef %7220) #11
  %7222 = call i32 @isatty(i32 noundef %7221) #11
  %7223 = icmp ne i32 %7222, 0
  br i1 %7223, label %7224, label %7241

7224:                                             ; preds = %7219
  %7225 = load i32, ptr %139, align 4, !tbaa !5
  %7226 = call ptr @__errno_location() #12
  store i32 %7225, ptr %7226, align 4, !tbaa !5
  %7227 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7228 = load i32, ptr @test_count, align 4, !tbaa !5
  %7229 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7230 = load i32, ptr %7229, align 4, !tbaa !5
  %7231 = call ptr @s2n_strerror(i32 noundef %7230, ptr noundef @.str.11)
  %7232 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7233 = load i32, ptr %7232, align 4, !tbaa !5
  %7234 = call ptr @s2n_strerror_debug(i32 noundef %7233, ptr noundef @.str.11)
  %7235 = call ptr @__errno_location() #12
  %7236 = load i32, ptr %7235, align 4, !tbaa !5
  %7237 = call ptr @strerror(i32 noundef %7236) #11
  %7238 = call ptr @__errno_location() #12
  %7239 = load i32, ptr %7238, align 4, !tbaa !5
  %7240 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7227, ptr noundef @.str.9, i32 noundef %7228, ptr noundef @.str.76, ptr noundef @.str.8, i32 noundef 345, ptr noundef %7231, ptr noundef %7234, ptr noundef %7237, i32 noundef %7239) #11
  br label %7258

7241:                                             ; preds = %7219, %7212
  %7242 = load i32, ptr %139, align 4, !tbaa !5
  %7243 = call ptr @__errno_location() #12
  store i32 %7242, ptr %7243, align 4, !tbaa !5
  %7244 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7245 = load i32, ptr @test_count, align 4, !tbaa !5
  %7246 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7247 = load i32, ptr %7246, align 4, !tbaa !5
  %7248 = call ptr @s2n_strerror(i32 noundef %7247, ptr noundef @.str.11)
  %7249 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7250 = load i32, ptr %7249, align 4, !tbaa !5
  %7251 = call ptr @s2n_strerror_debug(i32 noundef %7250, ptr noundef @.str.11)
  %7252 = call ptr @__errno_location() #12
  %7253 = load i32, ptr %7252, align 4, !tbaa !5
  %7254 = call ptr @strerror(i32 noundef %7253) #11
  %7255 = call ptr @__errno_location() #12
  %7256 = load i32, ptr %7255, align 4, !tbaa !5
  %7257 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7244, ptr noundef @.str.12, i32 noundef %7245, ptr noundef @.str.76, ptr noundef @.str.8, i32 noundef 345, ptr noundef %7248, ptr noundef %7251, ptr noundef %7254, i32 noundef %7256) #11
  br label %7258

7258:                                             ; preds = %7241, %7224
  call void @llvm.lifetime.end.p0(i64 4, ptr %139) #11
  br label %7259

7259:                                             ; preds = %7258
  br label %7260

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

7261:                                             ; No predecessors!
  br label %7262

7262:                                             ; preds = %7261
  br label %7263

7263:                                             ; preds = %7262, %7203
  br label %7264

7264:                                             ; preds = %7263
  br label %7265

7265:                                             ; preds = %7264
  call void @llvm.lifetime.start.p0(i64 8, ptr %140) #11
  %7266 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %7266, ptr %140, align 8, !tbaa !9
  br label %7267

7267:                                             ; preds = %7265
  %7268 = load i32, ptr @test_count, align 4, !tbaa !5
  %7269 = add nsw i32 %7268, 1
  store i32 %7269, ptr @test_count, align 4, !tbaa !5
  %7270 = load ptr, ptr %140, align 8, !tbaa !9
  %7271 = icmp eq ptr %7270, null
  br i1 %7271, label %7272, label %7325

7272:                                             ; preds = %7267
  br label %7273

7273:                                             ; preds = %7272
  br label %7274

7274:                                             ; preds = %7273
  call void @llvm.lifetime.start.p0(i64 4, ptr %141) #11
  %7275 = call ptr @__errno_location() #12
  %7276 = load i32, ptr %7275, align 4, !tbaa !5
  store i32 %7276, ptr %141, align 4, !tbaa !5
  %7277 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7278 = call i32 @s2n_print_stacktrace(ptr noundef %7277)
  %7279 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7280 = trunc i8 %7279 to i1
  br i1 %7280, label %7281, label %7303

7281:                                             ; preds = %7274
  %7282 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7283 = call i32 @fileno(ptr noundef %7282) #11
  %7284 = call i32 @isatty(i32 noundef %7283) #11
  %7285 = icmp ne i32 %7284, 0
  br i1 %7285, label %7286, label %7303

7286:                                             ; preds = %7281
  %7287 = load i32, ptr %141, align 4, !tbaa !5
  %7288 = call ptr @__errno_location() #12
  store i32 %7287, ptr %7288, align 4, !tbaa !5
  %7289 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7290 = load i32, ptr @test_count, align 4, !tbaa !5
  %7291 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7292 = load i32, ptr %7291, align 4, !tbaa !5
  %7293 = call ptr @s2n_strerror(i32 noundef %7292, ptr noundef @.str.11)
  %7294 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7295 = load i32, ptr %7294, align 4, !tbaa !5
  %7296 = call ptr @s2n_strerror_debug(i32 noundef %7295, ptr noundef @.str.11)
  %7297 = call ptr @__errno_location() #12
  %7298 = load i32, ptr %7297, align 4, !tbaa !5
  %7299 = call ptr @strerror(i32 noundef %7298) #11
  %7300 = call ptr @__errno_location() #12
  %7301 = load i32, ptr %7300, align 4, !tbaa !5
  %7302 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7289, ptr noundef @.str.9, i32 noundef %7290, ptr noundef @.str.77, ptr noundef @.str.8, i32 noundef 348, ptr noundef %7293, ptr noundef %7296, ptr noundef %7299, i32 noundef %7301) #11
  br label %7320

7303:                                             ; preds = %7281, %7274
  %7304 = load i32, ptr %141, align 4, !tbaa !5
  %7305 = call ptr @__errno_location() #12
  store i32 %7304, ptr %7305, align 4, !tbaa !5
  %7306 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7307 = load i32, ptr @test_count, align 4, !tbaa !5
  %7308 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7309 = load i32, ptr %7308, align 4, !tbaa !5
  %7310 = call ptr @s2n_strerror(i32 noundef %7309, ptr noundef @.str.11)
  %7311 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7312 = load i32, ptr %7311, align 4, !tbaa !5
  %7313 = call ptr @s2n_strerror_debug(i32 noundef %7312, ptr noundef @.str.11)
  %7314 = call ptr @__errno_location() #12
  %7315 = load i32, ptr %7314, align 4, !tbaa !5
  %7316 = call ptr @strerror(i32 noundef %7315) #11
  %7317 = call ptr @__errno_location() #12
  %7318 = load i32, ptr %7317, align 4, !tbaa !5
  %7319 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7306, ptr noundef @.str.12, i32 noundef %7307, ptr noundef @.str.77, ptr noundef @.str.8, i32 noundef 348, ptr noundef %7310, ptr noundef %7313, ptr noundef %7316, i32 noundef %7318) #11
  br label %7320

7320:                                             ; preds = %7303, %7286
  call void @llvm.lifetime.end.p0(i64 4, ptr %141) #11
  br label %7321

7321:                                             ; preds = %7320
  br label %7322

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

7323:                                             ; No predecessors!
  br label %7324

7324:                                             ; preds = %7323
  br label %7325

7325:                                             ; preds = %7324, %7267
  br label %7326

7326:                                             ; preds = %7325
  br label %7327

7327:                                             ; preds = %7326
  br label %7328

7328:                                             ; preds = %7327
  %7329 = load i32, ptr @test_count, align 4, !tbaa !5
  %7330 = add nsw i32 %7329, 1
  store i32 %7330, ptr @test_count, align 4, !tbaa !5
  %7331 = load ptr, ptr %140, align 8, !tbaa !9
  %7332 = load ptr, ptr %131, align 8, !tbaa !9
  %7333 = call i32 @s2n_connection_set_config(ptr noundef %7331, ptr noundef %7332)
  %7334 = icmp eq i32 %7333, -1
  br i1 %7334, label %7335, label %7388

7335:                                             ; preds = %7328
  br label %7336

7336:                                             ; preds = %7335
  br label %7337

7337:                                             ; preds = %7336
  call void @llvm.lifetime.start.p0(i64 4, ptr %142) #11
  %7338 = call ptr @__errno_location() #12
  %7339 = load i32, ptr %7338, align 4, !tbaa !5
  store i32 %7339, ptr %142, align 4, !tbaa !5
  %7340 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7341 = call i32 @s2n_print_stacktrace(ptr noundef %7340)
  %7342 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7343 = trunc i8 %7342 to i1
  br i1 %7343, label %7344, label %7366

7344:                                             ; preds = %7337
  %7345 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7346 = call i32 @fileno(ptr noundef %7345) #11
  %7347 = call i32 @isatty(i32 noundef %7346) #11
  %7348 = icmp ne i32 %7347, 0
  br i1 %7348, label %7349, label %7366

7349:                                             ; preds = %7344
  %7350 = load i32, ptr %142, align 4, !tbaa !5
  %7351 = call ptr @__errno_location() #12
  store i32 %7350, ptr %7351, align 4, !tbaa !5
  %7352 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7353 = load i32, ptr @test_count, align 4, !tbaa !5
  %7354 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7355 = load i32, ptr %7354, align 4, !tbaa !5
  %7356 = call ptr @s2n_strerror(i32 noundef %7355, ptr noundef @.str.11)
  %7357 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7358 = load i32, ptr %7357, align 4, !tbaa !5
  %7359 = call ptr @s2n_strerror_debug(i32 noundef %7358, ptr noundef @.str.11)
  %7360 = call ptr @__errno_location() #12
  %7361 = load i32, ptr %7360, align 4, !tbaa !5
  %7362 = call ptr @strerror(i32 noundef %7361) #11
  %7363 = call ptr @__errno_location() #12
  %7364 = load i32, ptr %7363, align 4, !tbaa !5
  %7365 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7352, ptr noundef @.str.9, i32 noundef %7353, ptr noundef @.str.40, ptr noundef @.str.8, i32 noundef 349, ptr noundef %7356, ptr noundef %7359, ptr noundef %7362, i32 noundef %7364) #11
  br label %7383

7366:                                             ; preds = %7344, %7337
  %7367 = load i32, ptr %142, align 4, !tbaa !5
  %7368 = call ptr @__errno_location() #12
  store i32 %7367, ptr %7368, align 4, !tbaa !5
  %7369 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7370 = load i32, ptr @test_count, align 4, !tbaa !5
  %7371 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7372 = load i32, ptr %7371, align 4, !tbaa !5
  %7373 = call ptr @s2n_strerror(i32 noundef %7372, ptr noundef @.str.11)
  %7374 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7375 = load i32, ptr %7374, align 4, !tbaa !5
  %7376 = call ptr @s2n_strerror_debug(i32 noundef %7375, ptr noundef @.str.11)
  %7377 = call ptr @__errno_location() #12
  %7378 = load i32, ptr %7377, align 4, !tbaa !5
  %7379 = call ptr @strerror(i32 noundef %7378) #11
  %7380 = call ptr @__errno_location() #12
  %7381 = load i32, ptr %7380, align 4, !tbaa !5
  %7382 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7369, ptr noundef @.str.12, i32 noundef %7370, ptr noundef @.str.40, ptr noundef @.str.8, i32 noundef 349, ptr noundef %7373, ptr noundef %7376, ptr noundef %7379, i32 noundef %7381) #11
  br label %7383

7383:                                             ; preds = %7366, %7349
  call void @llvm.lifetime.end.p0(i64 4, ptr %142) #11
  br label %7384

7384:                                             ; preds = %7383
  br label %7385

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

7386:                                             ; No predecessors!
  br label %7387

7387:                                             ; preds = %7386
  br label %7388

7388:                                             ; preds = %7387, %7328
  br label %7389

7389:                                             ; preds = %7388
  br label %7390

7390:                                             ; preds = %7389
  call void @llvm.lifetime.start.p0(i64 8, ptr %143) #11
  call void @llvm.memset.p0.i64(ptr align 4 %143, i8 0, i64 8, i1 false)
  br label %7391

7391:                                             ; preds = %7390
  %7392 = load i32, ptr @test_count, align 4, !tbaa !5
  %7393 = add nsw i32 %7392, 1
  store i32 %7393, ptr @test_count, align 4, !tbaa !5
  %7394 = call i32 @s2n_io_pair_init_non_blocking(ptr noundef %143)
  %7395 = icmp eq i32 %7394, -1
  br i1 %7395, label %7396, label %7449

7396:                                             ; preds = %7391
  br label %7397

7397:                                             ; preds = %7396
  br label %7398

7398:                                             ; preds = %7397
  call void @llvm.lifetime.start.p0(i64 4, ptr %144) #11
  %7399 = call ptr @__errno_location() #12
  %7400 = load i32, ptr %7399, align 4, !tbaa !5
  store i32 %7400, ptr %144, align 4, !tbaa !5
  %7401 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7402 = call i32 @s2n_print_stacktrace(ptr noundef %7401)
  %7403 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7404 = trunc i8 %7403 to i1
  br i1 %7404, label %7405, label %7427

7405:                                             ; preds = %7398
  %7406 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7407 = call i32 @fileno(ptr noundef %7406) #11
  %7408 = call i32 @isatty(i32 noundef %7407) #11
  %7409 = icmp ne i32 %7408, 0
  br i1 %7409, label %7410, label %7427

7410:                                             ; preds = %7405
  %7411 = load i32, ptr %144, align 4, !tbaa !5
  %7412 = call ptr @__errno_location() #12
  store i32 %7411, ptr %7412, align 4, !tbaa !5
  %7413 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7414 = load i32, ptr @test_count, align 4, !tbaa !5
  %7415 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7416 = load i32, ptr %7415, align 4, !tbaa !5
  %7417 = call ptr @s2n_strerror(i32 noundef %7416, ptr noundef @.str.11)
  %7418 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7419 = load i32, ptr %7418, align 4, !tbaa !5
  %7420 = call ptr @s2n_strerror_debug(i32 noundef %7419, ptr noundef @.str.11)
  %7421 = call ptr @__errno_location() #12
  %7422 = load i32, ptr %7421, align 4, !tbaa !5
  %7423 = call ptr @strerror(i32 noundef %7422) #11
  %7424 = call ptr @__errno_location() #12
  %7425 = load i32, ptr %7424, align 4, !tbaa !5
  %7426 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7413, ptr noundef @.str.9, i32 noundef %7414, ptr noundef @.str.78, ptr noundef @.str.8, i32 noundef 352, ptr noundef %7417, ptr noundef %7420, ptr noundef %7423, i32 noundef %7425) #11
  br label %7444

7427:                                             ; preds = %7405, %7398
  %7428 = load i32, ptr %144, align 4, !tbaa !5
  %7429 = call ptr @__errno_location() #12
  store i32 %7428, ptr %7429, align 4, !tbaa !5
  %7430 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7431 = load i32, ptr @test_count, align 4, !tbaa !5
  %7432 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7433 = load i32, ptr %7432, align 4, !tbaa !5
  %7434 = call ptr @s2n_strerror(i32 noundef %7433, ptr noundef @.str.11)
  %7435 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7436 = load i32, ptr %7435, align 4, !tbaa !5
  %7437 = call ptr @s2n_strerror_debug(i32 noundef %7436, ptr noundef @.str.11)
  %7438 = call ptr @__errno_location() #12
  %7439 = load i32, ptr %7438, align 4, !tbaa !5
  %7440 = call ptr @strerror(i32 noundef %7439) #11
  %7441 = call ptr @__errno_location() #12
  %7442 = load i32, ptr %7441, align 4, !tbaa !5
  %7443 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7430, ptr noundef @.str.12, i32 noundef %7431, ptr noundef @.str.78, ptr noundef @.str.8, i32 noundef 352, ptr noundef %7434, ptr noundef %7437, ptr noundef %7440, i32 noundef %7442) #11
  br label %7444

7444:                                             ; preds = %7427, %7410
  call void @llvm.lifetime.end.p0(i64 4, ptr %144) #11
  br label %7445

7445:                                             ; preds = %7444
  br label %7446

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

7447:                                             ; No predecessors!
  br label %7448

7448:                                             ; preds = %7447
  br label %7449

7449:                                             ; preds = %7448, %7391
  br label %7450

7450:                                             ; preds = %7449
  br label %7451

7451:                                             ; preds = %7450
  br label %7452

7452:                                             ; preds = %7451
  %7453 = load i32, ptr @test_count, align 4, !tbaa !5
  %7454 = add nsw i32 %7453, 1
  store i32 %7454, ptr @test_count, align 4, !tbaa !5
  %7455 = load ptr, ptr %137, align 8, !tbaa !9
  %7456 = call i32 @s2n_connection_set_io_pair(ptr noundef %7455, ptr noundef %143)
  %7457 = icmp eq i32 %7456, -1
  br i1 %7457, label %7458, label %7511

7458:                                             ; preds = %7452
  br label %7459

7459:                                             ; preds = %7458
  br label %7460

7460:                                             ; preds = %7459
  call void @llvm.lifetime.start.p0(i64 4, ptr %145) #11
  %7461 = call ptr @__errno_location() #12
  %7462 = load i32, ptr %7461, align 4, !tbaa !5
  store i32 %7462, ptr %145, align 4, !tbaa !5
  %7463 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7464 = call i32 @s2n_print_stacktrace(ptr noundef %7463)
  %7465 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7466 = trunc i8 %7465 to i1
  br i1 %7466, label %7467, label %7489

7467:                                             ; preds = %7460
  %7468 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7469 = call i32 @fileno(ptr noundef %7468) #11
  %7470 = call i32 @isatty(i32 noundef %7469) #11
  %7471 = icmp ne i32 %7470, 0
  br i1 %7471, label %7472, label %7489

7472:                                             ; preds = %7467
  %7473 = load i32, ptr %145, align 4, !tbaa !5
  %7474 = call ptr @__errno_location() #12
  store i32 %7473, ptr %7474, align 4, !tbaa !5
  %7475 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7476 = load i32, ptr @test_count, align 4, !tbaa !5
  %7477 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7478 = load i32, ptr %7477, align 4, !tbaa !5
  %7479 = call ptr @s2n_strerror(i32 noundef %7478, ptr noundef @.str.11)
  %7480 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7481 = load i32, ptr %7480, align 4, !tbaa !5
  %7482 = call ptr @s2n_strerror_debug(i32 noundef %7481, ptr noundef @.str.11)
  %7483 = call ptr @__errno_location() #12
  %7484 = load i32, ptr %7483, align 4, !tbaa !5
  %7485 = call ptr @strerror(i32 noundef %7484) #11
  %7486 = call ptr @__errno_location() #12
  %7487 = load i32, ptr %7486, align 4, !tbaa !5
  %7488 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7475, ptr noundef @.str.9, i32 noundef %7476, ptr noundef @.str.79, ptr noundef @.str.8, i32 noundef 353, ptr noundef %7479, ptr noundef %7482, ptr noundef %7485, i32 noundef %7487) #11
  br label %7506

7489:                                             ; preds = %7467, %7460
  %7490 = load i32, ptr %145, align 4, !tbaa !5
  %7491 = call ptr @__errno_location() #12
  store i32 %7490, ptr %7491, align 4, !tbaa !5
  %7492 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7493 = load i32, ptr @test_count, align 4, !tbaa !5
  %7494 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7495 = load i32, ptr %7494, align 4, !tbaa !5
  %7496 = call ptr @s2n_strerror(i32 noundef %7495, ptr noundef @.str.11)
  %7497 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7498 = load i32, ptr %7497, align 4, !tbaa !5
  %7499 = call ptr @s2n_strerror_debug(i32 noundef %7498, ptr noundef @.str.11)
  %7500 = call ptr @__errno_location() #12
  %7501 = load i32, ptr %7500, align 4, !tbaa !5
  %7502 = call ptr @strerror(i32 noundef %7501) #11
  %7503 = call ptr @__errno_location() #12
  %7504 = load i32, ptr %7503, align 4, !tbaa !5
  %7505 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7492, ptr noundef @.str.12, i32 noundef %7493, ptr noundef @.str.79, ptr noundef @.str.8, i32 noundef 353, ptr noundef %7496, ptr noundef %7499, ptr noundef %7502, i32 noundef %7504) #11
  br label %7506

7506:                                             ; preds = %7489, %7472
  call void @llvm.lifetime.end.p0(i64 4, ptr %145) #11
  br label %7507

7507:                                             ; preds = %7506
  br label %7508

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

7509:                                             ; No predecessors!
  br label %7510

7510:                                             ; preds = %7509
  br label %7511

7511:                                             ; preds = %7510, %7452
  br label %7512

7512:                                             ; preds = %7511
  br label %7513

7513:                                             ; preds = %7512
  br label %7514

7514:                                             ; preds = %7513
  %7515 = load i32, ptr @test_count, align 4, !tbaa !5
  %7516 = add nsw i32 %7515, 1
  store i32 %7516, ptr @test_count, align 4, !tbaa !5
  %7517 = load ptr, ptr %140, align 8, !tbaa !9
  %7518 = call i32 @s2n_connection_set_io_pair(ptr noundef %7517, ptr noundef %143)
  %7519 = icmp eq i32 %7518, -1
  br i1 %7519, label %7520, label %7573

7520:                                             ; preds = %7514
  br label %7521

7521:                                             ; preds = %7520
  br label %7522

7522:                                             ; preds = %7521
  call void @llvm.lifetime.start.p0(i64 4, ptr %146) #11
  %7523 = call ptr @__errno_location() #12
  %7524 = load i32, ptr %7523, align 4, !tbaa !5
  store i32 %7524, ptr %146, align 4, !tbaa !5
  %7525 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7526 = call i32 @s2n_print_stacktrace(ptr noundef %7525)
  %7527 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7528 = trunc i8 %7527 to i1
  br i1 %7528, label %7529, label %7551

7529:                                             ; preds = %7522
  %7530 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7531 = call i32 @fileno(ptr noundef %7530) #11
  %7532 = call i32 @isatty(i32 noundef %7531) #11
  %7533 = icmp ne i32 %7532, 0
  br i1 %7533, label %7534, label %7551

7534:                                             ; preds = %7529
  %7535 = load i32, ptr %146, align 4, !tbaa !5
  %7536 = call ptr @__errno_location() #12
  store i32 %7535, ptr %7536, align 4, !tbaa !5
  %7537 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7538 = load i32, ptr @test_count, align 4, !tbaa !5
  %7539 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7540 = load i32, ptr %7539, align 4, !tbaa !5
  %7541 = call ptr @s2n_strerror(i32 noundef %7540, ptr noundef @.str.11)
  %7542 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7543 = load i32, ptr %7542, align 4, !tbaa !5
  %7544 = call ptr @s2n_strerror_debug(i32 noundef %7543, ptr noundef @.str.11)
  %7545 = call ptr @__errno_location() #12
  %7546 = load i32, ptr %7545, align 4, !tbaa !5
  %7547 = call ptr @strerror(i32 noundef %7546) #11
  %7548 = call ptr @__errno_location() #12
  %7549 = load i32, ptr %7548, align 4, !tbaa !5
  %7550 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7537, ptr noundef @.str.9, i32 noundef %7538, ptr noundef @.str.80, ptr noundef @.str.8, i32 noundef 354, ptr noundef %7541, ptr noundef %7544, ptr noundef %7547, i32 noundef %7549) #11
  br label %7568

7551:                                             ; preds = %7529, %7522
  %7552 = load i32, ptr %146, align 4, !tbaa !5
  %7553 = call ptr @__errno_location() #12
  store i32 %7552, ptr %7553, align 4, !tbaa !5
  %7554 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7555 = load i32, ptr @test_count, align 4, !tbaa !5
  %7556 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7557 = load i32, ptr %7556, align 4, !tbaa !5
  %7558 = call ptr @s2n_strerror(i32 noundef %7557, ptr noundef @.str.11)
  %7559 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7560 = load i32, ptr %7559, align 4, !tbaa !5
  %7561 = call ptr @s2n_strerror_debug(i32 noundef %7560, ptr noundef @.str.11)
  %7562 = call ptr @__errno_location() #12
  %7563 = load i32, ptr %7562, align 4, !tbaa !5
  %7564 = call ptr @strerror(i32 noundef %7563) #11
  %7565 = call ptr @__errno_location() #12
  %7566 = load i32, ptr %7565, align 4, !tbaa !5
  %7567 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7554, ptr noundef @.str.12, i32 noundef %7555, ptr noundef @.str.80, ptr noundef @.str.8, i32 noundef 354, ptr noundef %7558, ptr noundef %7561, ptr noundef %7564, i32 noundef %7566) #11
  br label %7568

7568:                                             ; preds = %7551, %7534
  call void @llvm.lifetime.end.p0(i64 4, ptr %146) #11
  br label %7569

7569:                                             ; preds = %7568
  br label %7570

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

7571:                                             ; No predecessors!
  br label %7572

7572:                                             ; preds = %7571
  br label %7573

7573:                                             ; preds = %7572, %7514
  br label %7574

7574:                                             ; preds = %7573
  br label %7575

7575:                                             ; preds = %7574
  br label %7576

7576:                                             ; preds = %7575
  %7577 = load i32, ptr @test_count, align 4, !tbaa !5
  %7578 = add nsw i32 %7577, 1
  store i32 %7578, ptr @test_count, align 4, !tbaa !5
  %7579 = load ptr, ptr %140, align 8, !tbaa !9
  %7580 = load ptr, ptr %137, align 8, !tbaa !9
  %7581 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef %7579, ptr noundef %7580)
  %7582 = icmp eq i32 %7581, -1
  br i1 %7582, label %7583, label %7636

7583:                                             ; preds = %7576
  br label %7584

7584:                                             ; preds = %7583
  br label %7585

7585:                                             ; preds = %7584
  call void @llvm.lifetime.start.p0(i64 4, ptr %147) #11
  %7586 = call ptr @__errno_location() #12
  %7587 = load i32, ptr %7586, align 4, !tbaa !5
  store i32 %7587, ptr %147, align 4, !tbaa !5
  %7588 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7589 = call i32 @s2n_print_stacktrace(ptr noundef %7588)
  %7590 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7591 = trunc i8 %7590 to i1
  br i1 %7591, label %7592, label %7614

7592:                                             ; preds = %7585
  %7593 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7594 = call i32 @fileno(ptr noundef %7593) #11
  %7595 = call i32 @isatty(i32 noundef %7594) #11
  %7596 = icmp ne i32 %7595, 0
  br i1 %7596, label %7597, label %7614

7597:                                             ; preds = %7592
  %7598 = load i32, ptr %147, align 4, !tbaa !5
  %7599 = call ptr @__errno_location() #12
  store i32 %7598, ptr %7599, align 4, !tbaa !5
  %7600 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7601 = load i32, ptr @test_count, align 4, !tbaa !5
  %7602 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7603 = load i32, ptr %7602, align 4, !tbaa !5
  %7604 = call ptr @s2n_strerror(i32 noundef %7603, ptr noundef @.str.11)
  %7605 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7606 = load i32, ptr %7605, align 4, !tbaa !5
  %7607 = call ptr @s2n_strerror_debug(i32 noundef %7606, ptr noundef @.str.11)
  %7608 = call ptr @__errno_location() #12
  %7609 = load i32, ptr %7608, align 4, !tbaa !5
  %7610 = call ptr @strerror(i32 noundef %7609) #11
  %7611 = call ptr @__errno_location() #12
  %7612 = load i32, ptr %7611, align 4, !tbaa !5
  %7613 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7600, ptr noundef @.str.9, i32 noundef %7601, ptr noundef @.str.81, ptr noundef @.str.8, i32 noundef 356, ptr noundef %7604, ptr noundef %7607, ptr noundef %7610, i32 noundef %7612) #11
  br label %7631

7614:                                             ; preds = %7592, %7585
  %7615 = load i32, ptr %147, align 4, !tbaa !5
  %7616 = call ptr @__errno_location() #12
  store i32 %7615, ptr %7616, align 4, !tbaa !5
  %7617 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7618 = load i32, ptr @test_count, align 4, !tbaa !5
  %7619 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7620 = load i32, ptr %7619, align 4, !tbaa !5
  %7621 = call ptr @s2n_strerror(i32 noundef %7620, ptr noundef @.str.11)
  %7622 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7623 = load i32, ptr %7622, align 4, !tbaa !5
  %7624 = call ptr @s2n_strerror_debug(i32 noundef %7623, ptr noundef @.str.11)
  %7625 = call ptr @__errno_location() #12
  %7626 = load i32, ptr %7625, align 4, !tbaa !5
  %7627 = call ptr @strerror(i32 noundef %7626) #11
  %7628 = call ptr @__errno_location() #12
  %7629 = load i32, ptr %7628, align 4, !tbaa !5
  %7630 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7617, ptr noundef @.str.12, i32 noundef %7618, ptr noundef @.str.81, ptr noundef @.str.8, i32 noundef 356, ptr noundef %7621, ptr noundef %7624, ptr noundef %7627, i32 noundef %7629) #11
  br label %7631

7631:                                             ; preds = %7614, %7597
  call void @llvm.lifetime.end.p0(i64 4, ptr %147) #11
  br label %7632

7632:                                             ; preds = %7631
  br label %7633

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

7634:                                             ; No predecessors!
  br label %7635

7635:                                             ; preds = %7634
  br label %7636

7636:                                             ; preds = %7635, %7576
  br label %7637

7637:                                             ; preds = %7636
  br label %7638

7638:                                             ; preds = %7637
  br label %7639

7639:                                             ; preds = %7638
  %7640 = load i32, ptr @test_count, align 4, !tbaa !5
  %7641 = add nsw i32 %7640, 1
  store i32 %7641, ptr @test_count, align 4, !tbaa !5
  %7642 = load ptr, ptr %140, align 8, !tbaa !9
  %7643 = getelementptr inbounds %struct.s2n_connection, ptr %7642, i32 0, i32 23
  %7644 = load i8, ptr %7643, align 4, !tbaa !49
  %7645 = zext i8 %7644 to i32
  %7646 = icmp eq i32 %7645, 34
  br i1 %7646, label %7700, label %7647

7647:                                             ; preds = %7639
  br label %7648

7648:                                             ; preds = %7647
  br label %7649

7649:                                             ; preds = %7648
  call void @llvm.lifetime.start.p0(i64 4, ptr %148) #11
  %7650 = call ptr @__errno_location() #12
  %7651 = load i32, ptr %7650, align 4, !tbaa !5
  store i32 %7651, ptr %148, align 4, !tbaa !5
  %7652 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7653 = call i32 @s2n_print_stacktrace(ptr noundef %7652)
  %7654 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7655 = trunc i8 %7654 to i1
  br i1 %7655, label %7656, label %7678

7656:                                             ; preds = %7649
  %7657 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7658 = call i32 @fileno(ptr noundef %7657) #11
  %7659 = call i32 @isatty(i32 noundef %7658) #11
  %7660 = icmp ne i32 %7659, 0
  br i1 %7660, label %7661, label %7678

7661:                                             ; preds = %7656
  %7662 = load i32, ptr %148, align 4, !tbaa !5
  %7663 = call ptr @__errno_location() #12
  store i32 %7662, ptr %7663, align 4, !tbaa !5
  %7664 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7665 = load i32, ptr @test_count, align 4, !tbaa !5
  %7666 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7667 = load i32, ptr %7666, align 4, !tbaa !5
  %7668 = call ptr @s2n_strerror(i32 noundef %7667, ptr noundef @.str.11)
  %7669 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7670 = load i32, ptr %7669, align 4, !tbaa !5
  %7671 = call ptr @s2n_strerror_debug(i32 noundef %7670, ptr noundef @.str.11)
  %7672 = call ptr @__errno_location() #12
  %7673 = load i32, ptr %7672, align 4, !tbaa !5
  %7674 = call ptr @strerror(i32 noundef %7673) #11
  %7675 = call ptr @__errno_location() #12
  %7676 = load i32, ptr %7675, align 4, !tbaa !5
  %7677 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7664, ptr noundef @.str.9, i32 noundef %7665, ptr noundef @.str.82, ptr noundef @.str.8, i32 noundef 357, ptr noundef %7668, ptr noundef %7671, ptr noundef %7674, i32 noundef %7676) #11
  br label %7695

7678:                                             ; preds = %7656, %7649
  %7679 = load i32, ptr %148, 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.11)
  %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.11)
  %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.12, i32 noundef %7682, ptr noundef @.str.82, ptr noundef @.str.8, i32 noundef 357, ptr noundef %7685, ptr noundef %7688, ptr noundef %7691, i32 noundef %7693) #11
  br label %7695

7695:                                             ; preds = %7678, %7661
  call void @llvm.lifetime.end.p0(i64 4, ptr %148) #11
  br label %7696

7696:                                             ; preds = %7695
  br label %7697

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

7698:                                             ; No predecessors!
  br label %7699

7699:                                             ; preds = %7698
  br label %7700

7700:                                             ; preds = %7699, %7639
  br label %7701

7701:                                             ; preds = %7700
  br label %7702

7702:                                             ; preds = %7701
  br label %7703

7703:                                             ; preds = %7702
  %7704 = load i32, ptr @test_count, align 4, !tbaa !5
  %7705 = add nsw i32 %7704, 1
  store i32 %7705, ptr @test_count, align 4, !tbaa !5
  %7706 = load ptr, ptr %140, align 8, !tbaa !9
  %7707 = getelementptr inbounds %struct.s2n_connection, ptr %7706, i32 0, i32 23
  %7708 = load i8, ptr %7707, align 4, !tbaa !49
  %7709 = zext i8 %7708 to i32
  %7710 = icmp eq i32 %7709, 34
  br i1 %7710, label %7764, label %7711

7711:                                             ; preds = %7703
  br label %7712

7712:                                             ; preds = %7711
  br label %7713

7713:                                             ; preds = %7712
  call void @llvm.lifetime.start.p0(i64 4, ptr %149) #11
  %7714 = call ptr @__errno_location() #12
  %7715 = load i32, ptr %7714, align 4, !tbaa !5
  store i32 %7715, ptr %149, align 4, !tbaa !5
  %7716 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7717 = call i32 @s2n_print_stacktrace(ptr noundef %7716)
  %7718 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7719 = trunc i8 %7718 to i1
  br i1 %7719, label %7720, label %7742

7720:                                             ; preds = %7713
  %7721 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7722 = call i32 @fileno(ptr noundef %7721) #11
  %7723 = call i32 @isatty(i32 noundef %7722) #11
  %7724 = icmp ne i32 %7723, 0
  br i1 %7724, label %7725, label %7742

7725:                                             ; preds = %7720
  %7726 = load i32, ptr %149, align 4, !tbaa !5
  %7727 = call ptr @__errno_location() #12
  store i32 %7726, ptr %7727, align 4, !tbaa !5
  %7728 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7729 = load i32, ptr @test_count, align 4, !tbaa !5
  %7730 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7731 = load i32, ptr %7730, align 4, !tbaa !5
  %7732 = call ptr @s2n_strerror(i32 noundef %7731, ptr noundef @.str.11)
  %7733 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7734 = load i32, ptr %7733, align 4, !tbaa !5
  %7735 = call ptr @s2n_strerror_debug(i32 noundef %7734, ptr noundef @.str.11)
  %7736 = call ptr @__errno_location() #12
  %7737 = load i32, ptr %7736, align 4, !tbaa !5
  %7738 = call ptr @strerror(i32 noundef %7737) #11
  %7739 = call ptr @__errno_location() #12
  %7740 = load i32, ptr %7739, align 4, !tbaa !5
  %7741 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7728, ptr noundef @.str.9, i32 noundef %7729, ptr noundef @.str.82, ptr noundef @.str.8, i32 noundef 358, ptr noundef %7732, ptr noundef %7735, ptr noundef %7738, i32 noundef %7740) #11
  br label %7759

7742:                                             ; preds = %7720, %7713
  %7743 = load i32, ptr %149, align 4, !tbaa !5
  %7744 = call ptr @__errno_location() #12
  store i32 %7743, ptr %7744, align 4, !tbaa !5
  %7745 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7746 = load i32, ptr @test_count, align 4, !tbaa !5
  %7747 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7748 = load i32, ptr %7747, align 4, !tbaa !5
  %7749 = call ptr @s2n_strerror(i32 noundef %7748, ptr noundef @.str.11)
  %7750 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7751 = load i32, ptr %7750, align 4, !tbaa !5
  %7752 = call ptr @s2n_strerror_debug(i32 noundef %7751, ptr noundef @.str.11)
  %7753 = call ptr @__errno_location() #12
  %7754 = load i32, ptr %7753, align 4, !tbaa !5
  %7755 = call ptr @strerror(i32 noundef %7754) #11
  %7756 = call ptr @__errno_location() #12
  %7757 = load i32, ptr %7756, align 4, !tbaa !5
  %7758 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7745, ptr noundef @.str.12, i32 noundef %7746, ptr noundef @.str.82, ptr noundef @.str.8, i32 noundef 358, ptr noundef %7749, ptr noundef %7752, ptr noundef %7755, i32 noundef %7757) #11
  br label %7759

7759:                                             ; preds = %7742, %7725
  call void @llvm.lifetime.end.p0(i64 4, ptr %149) #11
  br label %7760

7760:                                             ; preds = %7759
  br label %7761

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

7762:                                             ; No predecessors!
  br label %7763

7763:                                             ; preds = %7762
  br label %7764

7764:                                             ; preds = %7763, %7703
  br label %7765

7765:                                             ; preds = %7764
  br label %7766

7766:                                             ; preds = %7765
  br label %7767

7767:                                             ; preds = %7766
  %7768 = load i32, ptr @test_count, align 4, !tbaa !5
  %7769 = add nsw i32 %7768, 1
  store i32 %7769, ptr @test_count, align 4, !tbaa !5
  %7770 = load ptr, ptr %140, align 8, !tbaa !9
  %7771 = load ptr, ptr %137, align 8, !tbaa !9
  %7772 = call i32 @s2n_test_all_signature_schemes_valid(i32 noundef 3, ptr noundef %7770, ptr noundef %7771)
  %7773 = getelementptr inbounds %struct.s2n_result, ptr %150, i32 0, i32 0
  store i32 %7772, ptr %7773, align 4
  %7774 = getelementptr inbounds %struct.s2n_result, ptr %150, i32 0, i32 0
  %7775 = load i32, ptr %7774, align 4
  %7776 = call zeroext i1 @s2n_result_is_ok(i32 %7775)
  br i1 %7776, label %7830, label %7777

7777:                                             ; preds = %7767
  br label %7778

7778:                                             ; preds = %7777
  br label %7779

7779:                                             ; preds = %7778
  call void @llvm.lifetime.start.p0(i64 4, ptr %151) #11
  %7780 = call ptr @__errno_location() #12
  %7781 = load i32, ptr %7780, align 4, !tbaa !5
  store i32 %7781, ptr %151, align 4, !tbaa !5
  %7782 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7783 = call i32 @s2n_print_stacktrace(ptr noundef %7782)
  %7784 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7785 = trunc i8 %7784 to i1
  br i1 %7785, label %7786, label %7808

7786:                                             ; preds = %7779
  %7787 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7788 = call i32 @fileno(ptr noundef %7787) #11
  %7789 = call i32 @isatty(i32 noundef %7788) #11
  %7790 = icmp ne i32 %7789, 0
  br i1 %7790, label %7791, label %7808

7791:                                             ; preds = %7786
  %7792 = load i32, ptr %151, align 4, !tbaa !5
  %7793 = call ptr @__errno_location() #12
  store i32 %7792, ptr %7793, align 4, !tbaa !5
  %7794 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7795 = load i32, ptr @test_count, align 4, !tbaa !5
  %7796 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7797 = load i32, ptr %7796, align 4, !tbaa !5
  %7798 = call ptr @s2n_strerror(i32 noundef %7797, ptr noundef @.str.11)
  %7799 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7800 = load i32, ptr %7799, align 4, !tbaa !5
  %7801 = call ptr @s2n_strerror_debug(i32 noundef %7800, ptr noundef @.str.11)
  %7802 = call ptr @__errno_location() #12
  %7803 = load i32, ptr %7802, align 4, !tbaa !5
  %7804 = call ptr @strerror(i32 noundef %7803) #11
  %7805 = call ptr @__errno_location() #12
  %7806 = load i32, ptr %7805, align 4, !tbaa !5
  %7807 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7794, ptr noundef @.str.9, i32 noundef %7795, ptr noundef @.str.83, ptr noundef @.str.8, i32 noundef 359, ptr noundef %7798, ptr noundef %7801, ptr noundef %7804, i32 noundef %7806) #11
  br label %7825

7808:                                             ; preds = %7786, %7779
  %7809 = load i32, ptr %151, align 4, !tbaa !5
  %7810 = call ptr @__errno_location() #12
  store i32 %7809, ptr %7810, align 4, !tbaa !5
  %7811 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7812 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %7814, ptr noundef @.str.11)
  %7816 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7817 = load i32, ptr %7816, align 4, !tbaa !5
  %7818 = call ptr @s2n_strerror_debug(i32 noundef %7817, ptr noundef @.str.11)
  %7819 = call ptr @__errno_location() #12
  %7820 = load i32, ptr %7819, align 4, !tbaa !5
  %7821 = call ptr @strerror(i32 noundef %7820) #11
  %7822 = call ptr @__errno_location() #12
  %7823 = load i32, ptr %7822, align 4, !tbaa !5
  %7824 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7811, ptr noundef @.str.12, i32 noundef %7812, ptr noundef @.str.83, ptr noundef @.str.8, i32 noundef 359, ptr noundef %7815, ptr noundef %7818, ptr noundef %7821, i32 noundef %7823) #11
  br label %7825

7825:                                             ; preds = %7808, %7791
  call void @llvm.lifetime.end.p0(i64 4, ptr %151) #11
  br label %7826

7826:                                             ; preds = %7825
  br label %7827

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

7828:                                             ; No predecessors!
  br label %7829

7829:                                             ; preds = %7828
  br label %7830

7830:                                             ; preds = %7829, %7767
  br label %7831

7831:                                             ; preds = %7830
  br label %7832

7832:                                             ; preds = %7831
  br label %7833

7833:                                             ; preds = %7832
  %7834 = load i32, ptr @test_count, align 4, !tbaa !5
  %7835 = add nsw i32 %7834, 1
  store i32 %7835, ptr @test_count, align 4, !tbaa !5
  %7836 = load ptr, ptr %140, align 8, !tbaa !9
  %7837 = call i32 @s2n_connection_free(ptr noundef %7836)
  %7838 = icmp eq i32 %7837, -1
  br i1 %7838, label %7839, label %7892

7839:                                             ; preds = %7833
  br label %7840

7840:                                             ; preds = %7839
  br label %7841

7841:                                             ; preds = %7840
  call void @llvm.lifetime.start.p0(i64 4, ptr %152) #11
  %7842 = call ptr @__errno_location() #12
  %7843 = load i32, ptr %7842, align 4, !tbaa !5
  store i32 %7843, ptr %152, align 4, !tbaa !5
  %7844 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7845 = call i32 @s2n_print_stacktrace(ptr noundef %7844)
  %7846 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7847 = trunc i8 %7846 to i1
  br i1 %7847, label %7848, label %7870

7848:                                             ; preds = %7841
  %7849 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7850 = call i32 @fileno(ptr noundef %7849) #11
  %7851 = call i32 @isatty(i32 noundef %7850) #11
  %7852 = icmp ne i32 %7851, 0
  br i1 %7852, label %7853, label %7870

7853:                                             ; preds = %7848
  %7854 = load i32, ptr %152, align 4, !tbaa !5
  %7855 = call ptr @__errno_location() #12
  store i32 %7854, ptr %7855, align 4, !tbaa !5
  %7856 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7857 = load i32, ptr @test_count, align 4, !tbaa !5
  %7858 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7859 = load i32, ptr %7858, align 4, !tbaa !5
  %7860 = call ptr @s2n_strerror(i32 noundef %7859, ptr noundef @.str.11)
  %7861 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7862 = load i32, ptr %7861, align 4, !tbaa !5
  %7863 = call ptr @s2n_strerror_debug(i32 noundef %7862, ptr noundef @.str.11)
  %7864 = call ptr @__errno_location() #12
  %7865 = load i32, ptr %7864, align 4, !tbaa !5
  %7866 = call ptr @strerror(i32 noundef %7865) #11
  %7867 = call ptr @__errno_location() #12
  %7868 = load i32, ptr %7867, align 4, !tbaa !5
  %7869 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7856, ptr noundef @.str.9, i32 noundef %7857, ptr noundef @.str.37, ptr noundef @.str.8, i32 noundef 361, ptr noundef %7860, ptr noundef %7863, ptr noundef %7866, i32 noundef %7868) #11
  br label %7887

7870:                                             ; preds = %7848, %7841
  %7871 = load i32, ptr %152, align 4, !tbaa !5
  %7872 = call ptr @__errno_location() #12
  store i32 %7871, ptr %7872, align 4, !tbaa !5
  %7873 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7874 = load i32, ptr @test_count, align 4, !tbaa !5
  %7875 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7876 = load i32, ptr %7875, align 4, !tbaa !5
  %7877 = call ptr @s2n_strerror(i32 noundef %7876, ptr noundef @.str.11)
  %7878 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7879 = load i32, ptr %7878, align 4, !tbaa !5
  %7880 = call ptr @s2n_strerror_debug(i32 noundef %7879, ptr noundef @.str.11)
  %7881 = call ptr @__errno_location() #12
  %7882 = load i32, ptr %7881, align 4, !tbaa !5
  %7883 = call ptr @strerror(i32 noundef %7882) #11
  %7884 = call ptr @__errno_location() #12
  %7885 = load i32, ptr %7884, align 4, !tbaa !5
  %7886 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7873, ptr noundef @.str.12, i32 noundef %7874, ptr noundef @.str.37, ptr noundef @.str.8, i32 noundef 361, ptr noundef %7877, ptr noundef %7880, ptr noundef %7883, i32 noundef %7885) #11
  br label %7887

7887:                                             ; preds = %7870, %7853
  call void @llvm.lifetime.end.p0(i64 4, ptr %152) #11
  br label %7888

7888:                                             ; preds = %7887
  br label %7889

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

7890:                                             ; No predecessors!
  br label %7891

7891:                                             ; preds = %7890
  br label %7892

7892:                                             ; preds = %7891, %7833
  br label %7893

7893:                                             ; preds = %7892
  br label %7894

7894:                                             ; preds = %7893
  br label %7895

7895:                                             ; preds = %7894
  %7896 = load i32, ptr @test_count, align 4, !tbaa !5
  %7897 = add nsw i32 %7896, 1
  store i32 %7897, ptr @test_count, align 4, !tbaa !5
  %7898 = load ptr, ptr %137, align 8, !tbaa !9
  %7899 = call i32 @s2n_connection_free(ptr noundef %7898)
  %7900 = icmp eq i32 %7899, -1
  br i1 %7900, label %7901, label %7954

7901:                                             ; preds = %7895
  br label %7902

7902:                                             ; preds = %7901
  br label %7903

7903:                                             ; preds = %7902
  call void @llvm.lifetime.start.p0(i64 4, ptr %153) #11
  %7904 = call ptr @__errno_location() #12
  %7905 = load i32, ptr %7904, align 4, !tbaa !5
  store i32 %7905, ptr %153, align 4, !tbaa !5
  %7906 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7907 = call i32 @s2n_print_stacktrace(ptr noundef %7906)
  %7908 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7909 = trunc i8 %7908 to i1
  br i1 %7909, label %7910, label %7932

7910:                                             ; preds = %7903
  %7911 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7912 = call i32 @fileno(ptr noundef %7911) #11
  %7913 = call i32 @isatty(i32 noundef %7912) #11
  %7914 = icmp ne i32 %7913, 0
  br i1 %7914, label %7915, label %7932

7915:                                             ; preds = %7910
  %7916 = load i32, ptr %153, align 4, !tbaa !5
  %7917 = call ptr @__errno_location() #12
  store i32 %7916, ptr %7917, align 4, !tbaa !5
  %7918 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7919 = load i32, ptr @test_count, align 4, !tbaa !5
  %7920 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7921 = load i32, ptr %7920, align 4, !tbaa !5
  %7922 = call ptr @s2n_strerror(i32 noundef %7921, ptr noundef @.str.11)
  %7923 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7924 = load i32, ptr %7923, align 4, !tbaa !5
  %7925 = call ptr @s2n_strerror_debug(i32 noundef %7924, ptr noundef @.str.11)
  %7926 = call ptr @__errno_location() #12
  %7927 = load i32, ptr %7926, align 4, !tbaa !5
  %7928 = call ptr @strerror(i32 noundef %7927) #11
  %7929 = call ptr @__errno_location() #12
  %7930 = load i32, ptr %7929, align 4, !tbaa !5
  %7931 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7918, ptr noundef @.str.9, i32 noundef %7919, ptr noundef @.str.36, ptr noundef @.str.8, i32 noundef 362, ptr noundef %7922, ptr noundef %7925, ptr noundef %7928, i32 noundef %7930) #11
  br label %7949

7932:                                             ; preds = %7910, %7903
  %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.11)
  %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.11)
  %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.12, i32 noundef %7936, ptr noundef @.str.36, ptr noundef @.str.8, i32 noundef 362, ptr noundef %7939, ptr noundef %7942, ptr noundef %7945, i32 noundef %7947) #11
  br label %7949

7949:                                             ; preds = %7932, %7915
  call void @llvm.lifetime.end.p0(i64 4, ptr %153) #11
  br label %7950

7950:                                             ; preds = %7949
  br label %7951

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

7952:                                             ; No predecessors!
  br label %7953

7953:                                             ; preds = %7952
  br label %7954

7954:                                             ; preds = %7953, %7895
  br label %7955

7955:                                             ; preds = %7954
  br label %7956

7956:                                             ; preds = %7955
  br label %7957

7957:                                             ; preds = %7956
  %7958 = load i32, ptr @test_count, align 4, !tbaa !5
  %7959 = add nsw i32 %7958, 1
  store i32 %7959, ptr @test_count, align 4, !tbaa !5
  %7960 = call i32 @s2n_io_pair_close(ptr noundef %143)
  %7961 = icmp eq i32 %7960, -1
  br i1 %7961, label %7962, label %8015

7962:                                             ; preds = %7957
  br label %7963

7963:                                             ; preds = %7962
  br label %7964

7964:                                             ; preds = %7963
  call void @llvm.lifetime.start.p0(i64 4, ptr %154) #11
  %7965 = call ptr @__errno_location() #12
  %7966 = load i32, ptr %7965, align 4, !tbaa !5
  store i32 %7966, ptr %154, align 4, !tbaa !5
  %7967 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7968 = call i32 @s2n_print_stacktrace(ptr noundef %7967)
  %7969 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7970 = trunc i8 %7969 to i1
  br i1 %7970, label %7971, label %7993

7971:                                             ; preds = %7964
  %7972 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7973 = call i32 @fileno(ptr noundef %7972) #11
  %7974 = call i32 @isatty(i32 noundef %7973) #11
  %7975 = icmp ne i32 %7974, 0
  br i1 %7975, label %7976, label %7993

7976:                                             ; preds = %7971
  %7977 = load i32, ptr %154, align 4, !tbaa !5
  %7978 = call ptr @__errno_location() #12
  store i32 %7977, ptr %7978, align 4, !tbaa !5
  %7979 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7980 = load i32, ptr @test_count, align 4, !tbaa !5
  %7981 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7982 = load i32, ptr %7981, align 4, !tbaa !5
  %7983 = call ptr @s2n_strerror(i32 noundef %7982, ptr noundef @.str.11)
  %7984 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7985 = load i32, ptr %7984, align 4, !tbaa !5
  %7986 = call ptr @s2n_strerror_debug(i32 noundef %7985, ptr noundef @.str.11)
  %7987 = call ptr @__errno_location() #12
  %7988 = load i32, ptr %7987, align 4, !tbaa !5
  %7989 = call ptr @strerror(i32 noundef %7988) #11
  %7990 = call ptr @__errno_location() #12
  %7991 = load i32, ptr %7990, align 4, !tbaa !5
  %7992 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7979, ptr noundef @.str.9, i32 noundef %7980, ptr noundef @.str.84, ptr noundef @.str.8, i32 noundef 363, ptr noundef %7983, ptr noundef %7986, ptr noundef %7989, i32 noundef %7991) #11
  br label %8010

7993:                                             ; preds = %7971, %7964
  %7994 = load i32, ptr %154, align 4, !tbaa !5
  %7995 = call ptr @__errno_location() #12
  store i32 %7994, ptr %7995, align 4, !tbaa !5
  %7996 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7997 = load i32, ptr @test_count, align 4, !tbaa !5
  %7998 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7999 = load i32, ptr %7998, align 4, !tbaa !5
  %8000 = call ptr @s2n_strerror(i32 noundef %7999, ptr noundef @.str.11)
  %8001 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8002 = load i32, ptr %8001, align 4, !tbaa !5
  %8003 = call ptr @s2n_strerror_debug(i32 noundef %8002, ptr noundef @.str.11)
  %8004 = call ptr @__errno_location() #12
  %8005 = load i32, ptr %8004, align 4, !tbaa !5
  %8006 = call ptr @strerror(i32 noundef %8005) #11
  %8007 = call ptr @__errno_location() #12
  %8008 = load i32, ptr %8007, align 4, !tbaa !5
  %8009 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7996, ptr noundef @.str.12, i32 noundef %7997, ptr noundef @.str.84, ptr noundef @.str.8, i32 noundef 363, ptr noundef %8000, ptr noundef %8003, ptr noundef %8006, i32 noundef %8008) #11
  br label %8010

8010:                                             ; preds = %7993, %7976
  call void @llvm.lifetime.end.p0(i64 4, ptr %154) #11
  br label %8011

8011:                                             ; preds = %8010
  br label %8012

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

8013:                                             ; No predecessors!
  br label %8014

8014:                                             ; preds = %8013
  br label %8015

8015:                                             ; preds = %8014, %7957
  br label %8016

8016:                                             ; preds = %8015
  br label %8017

8017:                                             ; preds = %8016
  br label %8018

8018:                                             ; preds = %8017
  %8019 = load i32, ptr @test_count, align 4, !tbaa !5
  %8020 = add nsw i32 %8019, 1
  store i32 %8020, ptr @test_count, align 4, !tbaa !5
  %8021 = load ptr, ptr %131, align 8, !tbaa !9
  %8022 = call i32 @s2n_config_free(ptr noundef %8021)
  %8023 = icmp eq i32 %8022, -1
  br i1 %8023, label %8024, label %8077

8024:                                             ; preds = %8018
  br label %8025

8025:                                             ; preds = %8024
  br label %8026

8026:                                             ; preds = %8025
  call void @llvm.lifetime.start.p0(i64 4, ptr %155) #11
  %8027 = call ptr @__errno_location() #12
  %8028 = load i32, ptr %8027, align 4, !tbaa !5
  store i32 %8028, ptr %155, align 4, !tbaa !5
  %8029 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8030 = call i32 @s2n_print_stacktrace(ptr noundef %8029)
  %8031 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8032 = trunc i8 %8031 to i1
  br i1 %8032, label %8033, label %8055

8033:                                             ; preds = %8026
  %8034 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8035 = call i32 @fileno(ptr noundef %8034) #11
  %8036 = call i32 @isatty(i32 noundef %8035) #11
  %8037 = icmp ne i32 %8036, 0
  br i1 %8037, label %8038, label %8055

8038:                                             ; preds = %8033
  %8039 = load i32, ptr %155, align 4, !tbaa !5
  %8040 = call ptr @__errno_location() #12
  store i32 %8039, ptr %8040, align 4, !tbaa !5
  %8041 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8042 = load i32, ptr @test_count, align 4, !tbaa !5
  %8043 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8044 = load i32, ptr %8043, align 4, !tbaa !5
  %8045 = call ptr @s2n_strerror(i32 noundef %8044, ptr noundef @.str.11)
  %8046 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8047 = load i32, ptr %8046, align 4, !tbaa !5
  %8048 = call ptr @s2n_strerror_debug(i32 noundef %8047, ptr noundef @.str.11)
  %8049 = call ptr @__errno_location() #12
  %8050 = load i32, ptr %8049, align 4, !tbaa !5
  %8051 = call ptr @strerror(i32 noundef %8050) #11
  %8052 = call ptr @__errno_location() #12
  %8053 = load i32, ptr %8052, align 4, !tbaa !5
  %8054 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8041, ptr noundef @.str.9, i32 noundef %8042, ptr noundef @.str.44, ptr noundef @.str.8, i32 noundef 364, ptr noundef %8045, ptr noundef %8048, ptr noundef %8051, i32 noundef %8053) #11
  br label %8072

8055:                                             ; preds = %8033, %8026
  %8056 = load i32, ptr %155, align 4, !tbaa !5
  %8057 = call ptr @__errno_location() #12
  store i32 %8056, ptr %8057, align 4, !tbaa !5
  %8058 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8059 = load i32, ptr @test_count, align 4, !tbaa !5
  %8060 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8061 = load i32, ptr %8060, align 4, !tbaa !5
  %8062 = call ptr @s2n_strerror(i32 noundef %8061, ptr noundef @.str.11)
  %8063 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8064 = load i32, ptr %8063, align 4, !tbaa !5
  %8065 = call ptr @s2n_strerror_debug(i32 noundef %8064, ptr noundef @.str.11)
  %8066 = call ptr @__errno_location() #12
  %8067 = load i32, ptr %8066, align 4, !tbaa !5
  %8068 = call ptr @strerror(i32 noundef %8067) #11
  %8069 = call ptr @__errno_location() #12
  %8070 = load i32, ptr %8069, align 4, !tbaa !5
  %8071 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8058, ptr noundef @.str.12, i32 noundef %8059, ptr noundef @.str.44, ptr noundef @.str.8, i32 noundef 364, ptr noundef %8062, ptr noundef %8065, ptr noundef %8068, i32 noundef %8070) #11
  br label %8072

8072:                                             ; preds = %8055, %8038
  call void @llvm.lifetime.end.p0(i64 4, ptr %155) #11
  br label %8073

8073:                                             ; preds = %8072
  br label %8074

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

8075:                                             ; No predecessors!
  br label %8076

8076:                                             ; preds = %8075
  br label %8077

8077:                                             ; preds = %8076, %8018
  br label %8078

8078:                                             ; preds = %8077
  br label %8079

8079:                                             ; preds = %8078
  call void @llvm.lifetime.end.p0(i64 8, ptr %143) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %140) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %137) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %131) #11
  br label %8080

8080:                                             ; preds = %8079, %6827
  call void @llvm.lifetime.start.p0(i64 8, ptr %156) #11
  %8081 = call ptr @s2n_config_new()
  store ptr %8081, ptr %156, align 8, !tbaa !9
  br label %8082

8082:                                             ; preds = %8080
  %8083 = load i32, ptr @test_count, align 4, !tbaa !5
  %8084 = add nsw i32 %8083, 1
  store i32 %8084, ptr @test_count, align 4, !tbaa !5
  %8085 = load ptr, ptr %156, align 8, !tbaa !9
  %8086 = icmp eq ptr %8085, null
  br i1 %8086, label %8087, label %8140

8087:                                             ; preds = %8082
  br label %8088

8088:                                             ; preds = %8087
  br label %8089

8089:                                             ; preds = %8088
  call void @llvm.lifetime.start.p0(i64 4, ptr %157) #11
  %8090 = call ptr @__errno_location() #12
  %8091 = load i32, ptr %8090, align 4, !tbaa !5
  store i32 %8091, ptr %157, align 4, !tbaa !5
  %8092 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8093 = call i32 @s2n_print_stacktrace(ptr noundef %8092)
  %8094 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8095 = trunc i8 %8094 to i1
  br i1 %8095, label %8096, label %8118

8096:                                             ; preds = %8089
  %8097 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8098 = call i32 @fileno(ptr noundef %8097) #11
  %8099 = call i32 @isatty(i32 noundef %8098) #11
  %8100 = icmp ne i32 %8099, 0
  br i1 %8100, label %8101, label %8118

8101:                                             ; preds = %8096
  %8102 = load i32, ptr %157, align 4, !tbaa !5
  %8103 = call ptr @__errno_location() #12
  store i32 %8102, ptr %8103, align 4, !tbaa !5
  %8104 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8105 = load i32, ptr @test_count, align 4, !tbaa !5
  %8106 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8107 = load i32, ptr %8106, align 4, !tbaa !5
  %8108 = call ptr @s2n_strerror(i32 noundef %8107, ptr noundef @.str.11)
  %8109 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8110 = load i32, ptr %8109, align 4, !tbaa !5
  %8111 = call ptr @s2n_strerror_debug(i32 noundef %8110, ptr noundef @.str.11)
  %8112 = call ptr @__errno_location() #12
  %8113 = load i32, ptr %8112, align 4, !tbaa !5
  %8114 = call ptr @strerror(i32 noundef %8113) #11
  %8115 = call ptr @__errno_location() #12
  %8116 = load i32, ptr %8115, align 4, !tbaa !5
  %8117 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8104, ptr noundef @.str.9, i32 noundef %8105, ptr noundef @.str.69, ptr noundef @.str.8, i32 noundef 370, ptr noundef %8108, ptr noundef %8111, ptr noundef %8114, i32 noundef %8116) #11
  br label %8135

8118:                                             ; preds = %8096, %8089
  %8119 = load i32, ptr %157, align 4, !tbaa !5
  %8120 = call ptr @__errno_location() #12
  store i32 %8119, ptr %8120, align 4, !tbaa !5
  %8121 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8122 = load i32, ptr @test_count, align 4, !tbaa !5
  %8123 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8124 = load i32, ptr %8123, align 4, !tbaa !5
  %8125 = call ptr @s2n_strerror(i32 noundef %8124, ptr noundef @.str.11)
  %8126 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8127 = load i32, ptr %8126, align 4, !tbaa !5
  %8128 = call ptr @s2n_strerror_debug(i32 noundef %8127, ptr noundef @.str.11)
  %8129 = call ptr @__errno_location() #12
  %8130 = load i32, ptr %8129, align 4, !tbaa !5
  %8131 = call ptr @strerror(i32 noundef %8130) #11
  %8132 = call ptr @__errno_location() #12
  %8133 = load i32, ptr %8132, align 4, !tbaa !5
  %8134 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8121, ptr noundef @.str.12, i32 noundef %8122, ptr noundef @.str.69, ptr noundef @.str.8, i32 noundef 370, ptr noundef %8125, ptr noundef %8128, ptr noundef %8131, i32 noundef %8133) #11
  br label %8135

8135:                                             ; preds = %8118, %8101
  call void @llvm.lifetime.end.p0(i64 4, ptr %157) #11
  br label %8136

8136:                                             ; preds = %8135
  br label %8137

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

8138:                                             ; No predecessors!
  br label %8139

8139:                                             ; preds = %8138
  br label %8140

8140:                                             ; preds = %8139, %8082
  br label %8141

8141:                                             ; preds = %8140
  br label %8142

8142:                                             ; preds = %8141
  br label %8143

8143:                                             ; preds = %8142
  %8144 = load i32, ptr @test_count, align 4, !tbaa !5
  %8145 = add nsw i32 %8144, 1
  store i32 %8145, ptr @test_count, align 4, !tbaa !5
  %8146 = load ptr, ptr %156, align 8, !tbaa !9
  %8147 = call i32 @s2n_config_set_unsafe_for_testing(ptr noundef %8146)
  %8148 = icmp eq i32 %8147, -1
  br i1 %8148, label %8149, label %8202

8149:                                             ; preds = %8143
  br label %8150

8150:                                             ; preds = %8149
  br label %8151

8151:                                             ; preds = %8150
  call void @llvm.lifetime.start.p0(i64 4, ptr %158) #11
  %8152 = call ptr @__errno_location() #12
  %8153 = load i32, ptr %8152, align 4, !tbaa !5
  store i32 %8153, ptr %158, align 4, !tbaa !5
  %8154 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8155 = call i32 @s2n_print_stacktrace(ptr noundef %8154)
  %8156 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8157 = trunc i8 %8156 to i1
  br i1 %8157, label %8158, label %8180

8158:                                             ; preds = %8151
  %8159 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8160 = call i32 @fileno(ptr noundef %8159) #11
  %8161 = call i32 @isatty(i32 noundef %8160) #11
  %8162 = icmp ne i32 %8161, 0
  br i1 %8162, label %8163, label %8180

8163:                                             ; preds = %8158
  %8164 = load i32, ptr %158, align 4, !tbaa !5
  %8165 = call ptr @__errno_location() #12
  store i32 %8164, ptr %8165, align 4, !tbaa !5
  %8166 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8167 = load i32, ptr @test_count, align 4, !tbaa !5
  %8168 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8169 = load i32, ptr %8168, align 4, !tbaa !5
  %8170 = call ptr @s2n_strerror(i32 noundef %8169, ptr noundef @.str.11)
  %8171 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8172 = load i32, ptr %8171, align 4, !tbaa !5
  %8173 = call ptr @s2n_strerror_debug(i32 noundef %8172, ptr noundef @.str.11)
  %8174 = call ptr @__errno_location() #12
  %8175 = load i32, ptr %8174, align 4, !tbaa !5
  %8176 = call ptr @strerror(i32 noundef %8175) #11
  %8177 = call ptr @__errno_location() #12
  %8178 = load i32, ptr %8177, align 4, !tbaa !5
  %8179 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8166, ptr noundef @.str.9, i32 noundef %8167, ptr noundef @.str.70, ptr noundef @.str.8, i32 noundef 371, ptr noundef %8170, ptr noundef %8173, ptr noundef %8176, i32 noundef %8178) #11
  br label %8197

8180:                                             ; preds = %8158, %8151
  %8181 = load i32, ptr %158, align 4, !tbaa !5
  %8182 = call ptr @__errno_location() #12
  store i32 %8181, ptr %8182, align 4, !tbaa !5
  %8183 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8184 = load i32, ptr @test_count, align 4, !tbaa !5
  %8185 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8186 = load i32, ptr %8185, align 4, !tbaa !5
  %8187 = call ptr @s2n_strerror(i32 noundef %8186, ptr noundef @.str.11)
  %8188 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8189 = load i32, ptr %8188, align 4, !tbaa !5
  %8190 = call ptr @s2n_strerror_debug(i32 noundef %8189, ptr noundef @.str.11)
  %8191 = call ptr @__errno_location() #12
  %8192 = load i32, ptr %8191, align 4, !tbaa !5
  %8193 = call ptr @strerror(i32 noundef %8192) #11
  %8194 = call ptr @__errno_location() #12
  %8195 = load i32, ptr %8194, align 4, !tbaa !5
  %8196 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8183, ptr noundef @.str.12, i32 noundef %8184, ptr noundef @.str.70, ptr noundef @.str.8, i32 noundef 371, ptr noundef %8187, ptr noundef %8190, ptr noundef %8193, i32 noundef %8195) #11
  br label %8197

8197:                                             ; preds = %8180, %8163
  call void @llvm.lifetime.end.p0(i64 4, ptr %158) #11
  br label %8198

8198:                                             ; preds = %8197
  br label %8199

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

8200:                                             ; No predecessors!
  br label %8201

8201:                                             ; preds = %8200
  br label %8202

8202:                                             ; preds = %8201, %8143
  br label %8203

8203:                                             ; preds = %8202
  br label %8204

8204:                                             ; preds = %8203
  br label %8205

8205:                                             ; preds = %8204
  %8206 = load i32, ptr @test_count, align 4, !tbaa !5
  %8207 = add nsw i32 %8206, 1
  store i32 %8207, ptr @test_count, align 4, !tbaa !5
  %8208 = load ptr, ptr %156, align 8, !tbaa !9
  %8209 = call i32 @s2n_config_set_client_auth_type(ptr noundef %8208, i32 noundef 1)
  %8210 = icmp eq i32 %8209, -1
  br i1 %8210, label %8211, label %8264

8211:                                             ; preds = %8205
  br label %8212

8212:                                             ; preds = %8211
  br label %8213

8213:                                             ; preds = %8212
  call void @llvm.lifetime.start.p0(i64 4, ptr %159) #11
  %8214 = call ptr @__errno_location() #12
  %8215 = load i32, ptr %8214, align 4, !tbaa !5
  store i32 %8215, ptr %159, align 4, !tbaa !5
  %8216 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8217 = call i32 @s2n_print_stacktrace(ptr noundef %8216)
  %8218 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8219 = trunc i8 %8218 to i1
  br i1 %8219, label %8220, label %8242

8220:                                             ; preds = %8213
  %8221 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8222 = call i32 @fileno(ptr noundef %8221) #11
  %8223 = call i32 @isatty(i32 noundef %8222) #11
  %8224 = icmp ne i32 %8223, 0
  br i1 %8224, label %8225, label %8242

8225:                                             ; preds = %8220
  %8226 = load i32, ptr %159, align 4, !tbaa !5
  %8227 = call ptr @__errno_location() #12
  store i32 %8226, ptr %8227, align 4, !tbaa !5
  %8228 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8229 = load i32, ptr @test_count, align 4, !tbaa !5
  %8230 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8231 = load i32, ptr %8230, align 4, !tbaa !5
  %8232 = call ptr @s2n_strerror(i32 noundef %8231, ptr noundef @.str.11)
  %8233 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8234 = load i32, ptr %8233, align 4, !tbaa !5
  %8235 = call ptr @s2n_strerror_debug(i32 noundef %8234, ptr noundef @.str.11)
  %8236 = call ptr @__errno_location() #12
  %8237 = load i32, ptr %8236, align 4, !tbaa !5
  %8238 = call ptr @strerror(i32 noundef %8237) #11
  %8239 = call ptr @__errno_location() #12
  %8240 = load i32, ptr %8239, align 4, !tbaa !5
  %8241 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8228, ptr noundef @.str.9, i32 noundef %8229, ptr noundef @.str.71, ptr noundef @.str.8, i32 noundef 372, ptr noundef %8232, ptr noundef %8235, ptr noundef %8238, i32 noundef %8240) #11
  br label %8259

8242:                                             ; preds = %8220, %8213
  %8243 = load i32, ptr %159, align 4, !tbaa !5
  %8244 = call ptr @__errno_location() #12
  store i32 %8243, ptr %8244, align 4, !tbaa !5
  %8245 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8246 = load i32, ptr @test_count, align 4, !tbaa !5
  %8247 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8248 = load i32, ptr %8247, align 4, !tbaa !5
  %8249 = call ptr @s2n_strerror(i32 noundef %8248, ptr noundef @.str.11)
  %8250 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8251 = load i32, ptr %8250, align 4, !tbaa !5
  %8252 = call ptr @s2n_strerror_debug(i32 noundef %8251, ptr noundef @.str.11)
  %8253 = call ptr @__errno_location() #12
  %8254 = load i32, ptr %8253, align 4, !tbaa !5
  %8255 = call ptr @strerror(i32 noundef %8254) #11
  %8256 = call ptr @__errno_location() #12
  %8257 = load i32, ptr %8256, align 4, !tbaa !5
  %8258 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8245, ptr noundef @.str.12, i32 noundef %8246, ptr noundef @.str.71, ptr noundef @.str.8, i32 noundef 372, ptr noundef %8249, ptr noundef %8252, ptr noundef %8255, i32 noundef %8257) #11
  br label %8259

8259:                                             ; preds = %8242, %8225
  call void @llvm.lifetime.end.p0(i64 4, ptr %159) #11
  br label %8260

8260:                                             ; preds = %8259
  br label %8261

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

8262:                                             ; No predecessors!
  br label %8263

8263:                                             ; preds = %8262
  br label %8264

8264:                                             ; preds = %8263, %8205
  br label %8265

8265:                                             ; preds = %8264
  br label %8266

8266:                                             ; preds = %8265
  br label %8267

8267:                                             ; preds = %8266
  %8268 = load i32, ptr @test_count, align 4, !tbaa !5
  %8269 = add nsw i32 %8268, 1
  store i32 %8269, ptr @test_count, align 4, !tbaa !5
  %8270 = load ptr, ptr %156, align 8, !tbaa !9
  %8271 = load ptr, ptr %11, align 8, !tbaa !9
  %8272 = call i32 @s2n_config_add_cert_chain_and_key_to_store(ptr noundef %8270, ptr noundef %8271)
  %8273 = icmp eq i32 %8272, -1
  br i1 %8273, label %8274, label %8327

8274:                                             ; preds = %8267
  br label %8275

8275:                                             ; preds = %8274
  br label %8276

8276:                                             ; preds = %8275
  call void @llvm.lifetime.start.p0(i64 4, ptr %160) #11
  %8277 = call ptr @__errno_location() #12
  %8278 = load i32, ptr %8277, align 4, !tbaa !5
  store i32 %8278, ptr %160, align 4, !tbaa !5
  %8279 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8280 = call i32 @s2n_print_stacktrace(ptr noundef %8279)
  %8281 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8282 = trunc i8 %8281 to i1
  br i1 %8282, label %8283, label %8305

8283:                                             ; preds = %8276
  %8284 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8285 = call i32 @fileno(ptr noundef %8284) #11
  %8286 = call i32 @isatty(i32 noundef %8285) #11
  %8287 = icmp ne i32 %8286, 0
  br i1 %8287, label %8288, label %8305

8288:                                             ; preds = %8283
  %8289 = load i32, ptr %160, align 4, !tbaa !5
  %8290 = call ptr @__errno_location() #12
  store i32 %8289, ptr %8290, align 4, !tbaa !5
  %8291 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8292 = load i32, ptr @test_count, align 4, !tbaa !5
  %8293 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8294 = load i32, ptr %8293, align 4, !tbaa !5
  %8295 = call ptr @s2n_strerror(i32 noundef %8294, ptr noundef @.str.11)
  %8296 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8297 = load i32, ptr %8296, align 4, !tbaa !5
  %8298 = call ptr @s2n_strerror_debug(i32 noundef %8297, ptr noundef @.str.11)
  %8299 = call ptr @__errno_location() #12
  %8300 = load i32, ptr %8299, align 4, !tbaa !5
  %8301 = call ptr @strerror(i32 noundef %8300) #11
  %8302 = call ptr @__errno_location() #12
  %8303 = load i32, ptr %8302, align 4, !tbaa !5
  %8304 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8291, ptr noundef @.str.9, i32 noundef %8292, ptr noundef @.str.85, ptr noundef @.str.8, i32 noundef 373, ptr noundef %8295, ptr noundef %8298, ptr noundef %8301, i32 noundef %8303) #11
  br label %8322

8305:                                             ; preds = %8283, %8276
  %8306 = load i32, ptr %160, align 4, !tbaa !5
  %8307 = call ptr @__errno_location() #12
  store i32 %8306, ptr %8307, align 4, !tbaa !5
  %8308 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8309 = load i32, ptr @test_count, align 4, !tbaa !5
  %8310 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8311 = load i32, ptr %8310, align 4, !tbaa !5
  %8312 = call ptr @s2n_strerror(i32 noundef %8311, ptr noundef @.str.11)
  %8313 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8314 = load i32, ptr %8313, align 4, !tbaa !5
  %8315 = call ptr @s2n_strerror_debug(i32 noundef %8314, ptr noundef @.str.11)
  %8316 = call ptr @__errno_location() #12
  %8317 = load i32, ptr %8316, align 4, !tbaa !5
  %8318 = call ptr @strerror(i32 noundef %8317) #11
  %8319 = call ptr @__errno_location() #12
  %8320 = load i32, ptr %8319, align 4, !tbaa !5
  %8321 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8308, ptr noundef @.str.12, i32 noundef %8309, ptr noundef @.str.85, ptr noundef @.str.8, i32 noundef 373, ptr noundef %8312, ptr noundef %8315, ptr noundef %8318, i32 noundef %8320) #11
  br label %8322

8322:                                             ; preds = %8305, %8288
  call void @llvm.lifetime.end.p0(i64 4, ptr %160) #11
  br label %8323

8323:                                             ; preds = %8322
  br label %8324

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

8325:                                             ; No predecessors!
  br label %8326

8326:                                             ; preds = %8325
  br label %8327

8327:                                             ; preds = %8326, %8267
  br label %8328

8328:                                             ; preds = %8327
  br label %8329

8329:                                             ; preds = %8328
  br label %8330

8330:                                             ; preds = %8329
  %8331 = load i32, ptr @test_count, align 4, !tbaa !5
  %8332 = add nsw i32 %8331, 1
  store i32 %8332, ptr @test_count, align 4, !tbaa !5
  %8333 = load ptr, ptr %156, align 8, !tbaa !9
  %8334 = call i32 @s2n_config_set_cipher_preferences(ptr noundef %8333, ptr noundef @.str.86)
  %8335 = icmp eq i32 %8334, -1
  br i1 %8335, label %8336, label %8389

8336:                                             ; preds = %8330
  br label %8337

8337:                                             ; preds = %8336
  br label %8338

8338:                                             ; preds = %8337
  call void @llvm.lifetime.start.p0(i64 4, ptr %161) #11
  %8339 = call ptr @__errno_location() #12
  %8340 = load i32, ptr %8339, align 4, !tbaa !5
  store i32 %8340, ptr %161, align 4, !tbaa !5
  %8341 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8342 = call i32 @s2n_print_stacktrace(ptr noundef %8341)
  %8343 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8344 = trunc i8 %8343 to i1
  br i1 %8344, label %8345, label %8367

8345:                                             ; preds = %8338
  %8346 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8347 = call i32 @fileno(ptr noundef %8346) #11
  %8348 = call i32 @isatty(i32 noundef %8347) #11
  %8349 = icmp ne i32 %8348, 0
  br i1 %8349, label %8350, label %8367

8350:                                             ; preds = %8345
  %8351 = load i32, ptr %161, align 4, !tbaa !5
  %8352 = call ptr @__errno_location() #12
  store i32 %8351, ptr %8352, align 4, !tbaa !5
  %8353 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8354 = load i32, ptr @test_count, align 4, !tbaa !5
  %8355 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8356 = load i32, ptr %8355, align 4, !tbaa !5
  %8357 = call ptr @s2n_strerror(i32 noundef %8356, ptr noundef @.str.11)
  %8358 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8359 = load i32, ptr %8358, align 4, !tbaa !5
  %8360 = call ptr @s2n_strerror_debug(i32 noundef %8359, ptr noundef @.str.11)
  %8361 = call ptr @__errno_location() #12
  %8362 = load i32, ptr %8361, align 4, !tbaa !5
  %8363 = call ptr @strerror(i32 noundef %8362) #11
  %8364 = call ptr @__errno_location() #12
  %8365 = load i32, ptr %8364, align 4, !tbaa !5
  %8366 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8353, ptr noundef @.str.9, i32 noundef %8354, ptr noundef @.str.87, ptr noundef @.str.8, i32 noundef 374, ptr noundef %8357, ptr noundef %8360, ptr noundef %8363, i32 noundef %8365) #11
  br label %8384

8367:                                             ; preds = %8345, %8338
  %8368 = load i32, ptr %161, align 4, !tbaa !5
  %8369 = call ptr @__errno_location() #12
  store i32 %8368, ptr %8369, align 4, !tbaa !5
  %8370 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8371 = load i32, ptr @test_count, align 4, !tbaa !5
  %8372 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8373 = load i32, ptr %8372, align 4, !tbaa !5
  %8374 = call ptr @s2n_strerror(i32 noundef %8373, ptr noundef @.str.11)
  %8375 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8376 = load i32, ptr %8375, align 4, !tbaa !5
  %8377 = call ptr @s2n_strerror_debug(i32 noundef %8376, ptr noundef @.str.11)
  %8378 = call ptr @__errno_location() #12
  %8379 = load i32, ptr %8378, align 4, !tbaa !5
  %8380 = call ptr @strerror(i32 noundef %8379) #11
  %8381 = call ptr @__errno_location() #12
  %8382 = load i32, ptr %8381, align 4, !tbaa !5
  %8383 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8370, ptr noundef @.str.12, i32 noundef %8371, ptr noundef @.str.87, ptr noundef @.str.8, i32 noundef 374, ptr noundef %8374, ptr noundef %8377, ptr noundef %8380, i32 noundef %8382) #11
  br label %8384

8384:                                             ; preds = %8367, %8350
  call void @llvm.lifetime.end.p0(i64 4, ptr %161) #11
  br label %8385

8385:                                             ; preds = %8384
  br label %8386

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

8387:                                             ; No predecessors!
  br label %8388

8388:                                             ; preds = %8387
  br label %8389

8389:                                             ; preds = %8388, %8330
  br label %8390

8390:                                             ; preds = %8389
  br label %8391

8391:                                             ; preds = %8390
  call void @llvm.lifetime.start.p0(i64 8, ptr %162) #11
  %8392 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %8392, ptr %162, align 8, !tbaa !9
  br label %8393

8393:                                             ; preds = %8391
  %8394 = load i32, ptr @test_count, align 4, !tbaa !5
  %8395 = add nsw i32 %8394, 1
  store i32 %8395, ptr @test_count, align 4, !tbaa !5
  %8396 = load ptr, ptr %162, align 8, !tbaa !9
  %8397 = icmp eq ptr %8396, null
  br i1 %8397, label %8398, label %8451

8398:                                             ; preds = %8393
  br label %8399

8399:                                             ; preds = %8398
  br label %8400

8400:                                             ; preds = %8399
  call void @llvm.lifetime.start.p0(i64 4, ptr %163) #11
  %8401 = call ptr @__errno_location() #12
  %8402 = load i32, ptr %8401, align 4, !tbaa !5
  store i32 %8402, ptr %163, align 4, !tbaa !5
  %8403 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8404 = call i32 @s2n_print_stacktrace(ptr noundef %8403)
  %8405 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8406 = trunc i8 %8405 to i1
  br i1 %8406, label %8407, label %8429

8407:                                             ; preds = %8400
  %8408 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8409 = call i32 @fileno(ptr noundef %8408) #11
  %8410 = call i32 @isatty(i32 noundef %8409) #11
  %8411 = icmp ne i32 %8410, 0
  br i1 %8411, label %8412, label %8429

8412:                                             ; preds = %8407
  %8413 = load i32, ptr %163, align 4, !tbaa !5
  %8414 = call ptr @__errno_location() #12
  store i32 %8413, ptr %8414, align 4, !tbaa !5
  %8415 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8416 = load i32, ptr @test_count, align 4, !tbaa !5
  %8417 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8418 = load i32, ptr %8417, align 4, !tbaa !5
  %8419 = call ptr @s2n_strerror(i32 noundef %8418, ptr noundef @.str.11)
  %8420 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8421 = load i32, ptr %8420, align 4, !tbaa !5
  %8422 = call ptr @s2n_strerror_debug(i32 noundef %8421, ptr noundef @.str.11)
  %8423 = call ptr @__errno_location() #12
  %8424 = load i32, ptr %8423, align 4, !tbaa !5
  %8425 = call ptr @strerror(i32 noundef %8424) #11
  %8426 = call ptr @__errno_location() #12
  %8427 = load i32, ptr %8426, align 4, !tbaa !5
  %8428 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8415, ptr noundef @.str.9, i32 noundef %8416, ptr noundef @.str.75, ptr noundef @.str.8, i32 noundef 377, ptr noundef %8419, ptr noundef %8422, ptr noundef %8425, i32 noundef %8427) #11
  br label %8446

8429:                                             ; preds = %8407, %8400
  %8430 = load i32, ptr %163, align 4, !tbaa !5
  %8431 = call ptr @__errno_location() #12
  store i32 %8430, ptr %8431, align 4, !tbaa !5
  %8432 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8433 = load i32, ptr @test_count, align 4, !tbaa !5
  %8434 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8435 = load i32, ptr %8434, align 4, !tbaa !5
  %8436 = call ptr @s2n_strerror(i32 noundef %8435, ptr noundef @.str.11)
  %8437 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8438 = load i32, ptr %8437, align 4, !tbaa !5
  %8439 = call ptr @s2n_strerror_debug(i32 noundef %8438, ptr noundef @.str.11)
  %8440 = call ptr @__errno_location() #12
  %8441 = load i32, ptr %8440, align 4, !tbaa !5
  %8442 = call ptr @strerror(i32 noundef %8441) #11
  %8443 = call ptr @__errno_location() #12
  %8444 = load i32, ptr %8443, align 4, !tbaa !5
  %8445 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8432, ptr noundef @.str.12, i32 noundef %8433, ptr noundef @.str.75, ptr noundef @.str.8, i32 noundef 377, ptr noundef %8436, ptr noundef %8439, ptr noundef %8442, i32 noundef %8444) #11
  br label %8446

8446:                                             ; preds = %8429, %8412
  call void @llvm.lifetime.end.p0(i64 4, ptr %163) #11
  br label %8447

8447:                                             ; preds = %8446
  br label %8448

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

8449:                                             ; No predecessors!
  br label %8450

8450:                                             ; preds = %8449
  br label %8451

8451:                                             ; preds = %8450, %8393
  br label %8452

8452:                                             ; preds = %8451
  br label %8453

8453:                                             ; preds = %8452
  br label %8454

8454:                                             ; preds = %8453
  %8455 = load i32, ptr @test_count, align 4, !tbaa !5
  %8456 = add nsw i32 %8455, 1
  store i32 %8456, ptr @test_count, align 4, !tbaa !5
  %8457 = load ptr, ptr %162, align 8, !tbaa !9
  %8458 = load ptr, ptr %156, align 8, !tbaa !9
  %8459 = call i32 @s2n_connection_set_config(ptr noundef %8457, ptr noundef %8458)
  %8460 = icmp eq i32 %8459, -1
  br i1 %8460, label %8461, label %8514

8461:                                             ; preds = %8454
  br label %8462

8462:                                             ; preds = %8461
  br label %8463

8463:                                             ; preds = %8462
  call void @llvm.lifetime.start.p0(i64 4, ptr %164) #11
  %8464 = call ptr @__errno_location() #12
  %8465 = load i32, ptr %8464, align 4, !tbaa !5
  store i32 %8465, ptr %164, align 4, !tbaa !5
  %8466 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8467 = call i32 @s2n_print_stacktrace(ptr noundef %8466)
  %8468 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8469 = trunc i8 %8468 to i1
  br i1 %8469, label %8470, label %8492

8470:                                             ; preds = %8463
  %8471 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8472 = call i32 @fileno(ptr noundef %8471) #11
  %8473 = call i32 @isatty(i32 noundef %8472) #11
  %8474 = icmp ne i32 %8473, 0
  br i1 %8474, label %8475, label %8492

8475:                                             ; preds = %8470
  %8476 = load i32, ptr %164, align 4, !tbaa !5
  %8477 = call ptr @__errno_location() #12
  store i32 %8476, ptr %8477, align 4, !tbaa !5
  %8478 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8479 = load i32, ptr @test_count, align 4, !tbaa !5
  %8480 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8481 = load i32, ptr %8480, align 4, !tbaa !5
  %8482 = call ptr @s2n_strerror(i32 noundef %8481, ptr noundef @.str.11)
  %8483 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8484 = load i32, ptr %8483, align 4, !tbaa !5
  %8485 = call ptr @s2n_strerror_debug(i32 noundef %8484, ptr noundef @.str.11)
  %8486 = call ptr @__errno_location() #12
  %8487 = load i32, ptr %8486, align 4, !tbaa !5
  %8488 = call ptr @strerror(i32 noundef %8487) #11
  %8489 = call ptr @__errno_location() #12
  %8490 = load i32, ptr %8489, align 4, !tbaa !5
  %8491 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8478, ptr noundef @.str.9, i32 noundef %8479, ptr noundef @.str.76, ptr noundef @.str.8, i32 noundef 378, ptr noundef %8482, ptr noundef %8485, ptr noundef %8488, i32 noundef %8490) #11
  br label %8509

8492:                                             ; preds = %8470, %8463
  %8493 = load i32, ptr %164, align 4, !tbaa !5
  %8494 = call ptr @__errno_location() #12
  store i32 %8493, ptr %8494, align 4, !tbaa !5
  %8495 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8496 = load i32, ptr @test_count, align 4, !tbaa !5
  %8497 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8498 = load i32, ptr %8497, align 4, !tbaa !5
  %8499 = call ptr @s2n_strerror(i32 noundef %8498, ptr noundef @.str.11)
  %8500 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8501 = load i32, ptr %8500, align 4, !tbaa !5
  %8502 = call ptr @s2n_strerror_debug(i32 noundef %8501, ptr noundef @.str.11)
  %8503 = call ptr @__errno_location() #12
  %8504 = load i32, ptr %8503, align 4, !tbaa !5
  %8505 = call ptr @strerror(i32 noundef %8504) #11
  %8506 = call ptr @__errno_location() #12
  %8507 = load i32, ptr %8506, align 4, !tbaa !5
  %8508 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8495, ptr noundef @.str.12, i32 noundef %8496, ptr noundef @.str.76, ptr noundef @.str.8, i32 noundef 378, ptr noundef %8499, ptr noundef %8502, ptr noundef %8505, i32 noundef %8507) #11
  br label %8509

8509:                                             ; preds = %8492, %8475
  call void @llvm.lifetime.end.p0(i64 4, ptr %164) #11
  br label %8510

8510:                                             ; preds = %8509
  br label %8511

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

8512:                                             ; No predecessors!
  br label %8513

8513:                                             ; preds = %8512
  br label %8514

8514:                                             ; preds = %8513, %8454
  br label %8515

8515:                                             ; preds = %8514
  br label %8516

8516:                                             ; preds = %8515
  call void @llvm.lifetime.start.p0(i64 8, ptr %165) #11
  %8517 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %8517, ptr %165, align 8, !tbaa !9
  br label %8518

8518:                                             ; preds = %8516
  %8519 = load i32, ptr @test_count, align 4, !tbaa !5
  %8520 = add nsw i32 %8519, 1
  store i32 %8520, ptr @test_count, align 4, !tbaa !5
  %8521 = load ptr, ptr %165, align 8, !tbaa !9
  %8522 = icmp eq ptr %8521, null
  br i1 %8522, label %8523, label %8576

8523:                                             ; preds = %8518
  br label %8524

8524:                                             ; preds = %8523
  br label %8525

8525:                                             ; preds = %8524
  call void @llvm.lifetime.start.p0(i64 4, ptr %166) #11
  %8526 = call ptr @__errno_location() #12
  %8527 = load i32, ptr %8526, align 4, !tbaa !5
  store i32 %8527, ptr %166, align 4, !tbaa !5
  %8528 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8529 = call i32 @s2n_print_stacktrace(ptr noundef %8528)
  %8530 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8531 = trunc i8 %8530 to i1
  br i1 %8531, label %8532, label %8554

8532:                                             ; preds = %8525
  %8533 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8534 = call i32 @fileno(ptr noundef %8533) #11
  %8535 = call i32 @isatty(i32 noundef %8534) #11
  %8536 = icmp ne i32 %8535, 0
  br i1 %8536, label %8537, label %8554

8537:                                             ; preds = %8532
  %8538 = load i32, ptr %166, align 4, !tbaa !5
  %8539 = call ptr @__errno_location() #12
  store i32 %8538, ptr %8539, align 4, !tbaa !5
  %8540 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8541 = load i32, ptr @test_count, align 4, !tbaa !5
  %8542 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8543 = load i32, ptr %8542, align 4, !tbaa !5
  %8544 = call ptr @s2n_strerror(i32 noundef %8543, ptr noundef @.str.11)
  %8545 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8546 = load i32, ptr %8545, align 4, !tbaa !5
  %8547 = call ptr @s2n_strerror_debug(i32 noundef %8546, ptr noundef @.str.11)
  %8548 = call ptr @__errno_location() #12
  %8549 = load i32, ptr %8548, align 4, !tbaa !5
  %8550 = call ptr @strerror(i32 noundef %8549) #11
  %8551 = call ptr @__errno_location() #12
  %8552 = load i32, ptr %8551, align 4, !tbaa !5
  %8553 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8540, ptr noundef @.str.9, i32 noundef %8541, ptr noundef @.str.77, ptr noundef @.str.8, i32 noundef 381, ptr noundef %8544, ptr noundef %8547, ptr noundef %8550, i32 noundef %8552) #11
  br label %8571

8554:                                             ; preds = %8532, %8525
  %8555 = load i32, ptr %166, align 4, !tbaa !5
  %8556 = call ptr @__errno_location() #12
  store i32 %8555, ptr %8556, align 4, !tbaa !5
  %8557 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8558 = load i32, ptr @test_count, align 4, !tbaa !5
  %8559 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8560 = load i32, ptr %8559, align 4, !tbaa !5
  %8561 = call ptr @s2n_strerror(i32 noundef %8560, ptr noundef @.str.11)
  %8562 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8563 = load i32, ptr %8562, align 4, !tbaa !5
  %8564 = call ptr @s2n_strerror_debug(i32 noundef %8563, ptr noundef @.str.11)
  %8565 = call ptr @__errno_location() #12
  %8566 = load i32, ptr %8565, align 4, !tbaa !5
  %8567 = call ptr @strerror(i32 noundef %8566) #11
  %8568 = call ptr @__errno_location() #12
  %8569 = load i32, ptr %8568, align 4, !tbaa !5
  %8570 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8557, ptr noundef @.str.12, i32 noundef %8558, ptr noundef @.str.77, ptr noundef @.str.8, i32 noundef 381, ptr noundef %8561, ptr noundef %8564, ptr noundef %8567, i32 noundef %8569) #11
  br label %8571

8571:                                             ; preds = %8554, %8537
  call void @llvm.lifetime.end.p0(i64 4, ptr %166) #11
  br label %8572

8572:                                             ; preds = %8571
  br label %8573

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

8574:                                             ; No predecessors!
  br label %8575

8575:                                             ; preds = %8574
  br label %8576

8576:                                             ; preds = %8575, %8518
  br label %8577

8577:                                             ; preds = %8576
  br label %8578

8578:                                             ; preds = %8577
  br label %8579

8579:                                             ; preds = %8578
  %8580 = load i32, ptr @test_count, align 4, !tbaa !5
  %8581 = add nsw i32 %8580, 1
  store i32 %8581, ptr @test_count, align 4, !tbaa !5
  %8582 = load ptr, ptr %165, align 8, !tbaa !9
  %8583 = load ptr, ptr %156, align 8, !tbaa !9
  %8584 = call i32 @s2n_connection_set_config(ptr noundef %8582, ptr noundef %8583)
  %8585 = icmp eq i32 %8584, -1
  br i1 %8585, label %8586, label %8639

8586:                                             ; preds = %8579
  br label %8587

8587:                                             ; preds = %8586
  br label %8588

8588:                                             ; preds = %8587
  call void @llvm.lifetime.start.p0(i64 4, ptr %167) #11
  %8589 = call ptr @__errno_location() #12
  %8590 = load i32, ptr %8589, align 4, !tbaa !5
  store i32 %8590, ptr %167, align 4, !tbaa !5
  %8591 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8592 = call i32 @s2n_print_stacktrace(ptr noundef %8591)
  %8593 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8594 = trunc i8 %8593 to i1
  br i1 %8594, label %8595, label %8617

8595:                                             ; preds = %8588
  %8596 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8597 = call i32 @fileno(ptr noundef %8596) #11
  %8598 = call i32 @isatty(i32 noundef %8597) #11
  %8599 = icmp ne i32 %8598, 0
  br i1 %8599, label %8600, label %8617

8600:                                             ; preds = %8595
  %8601 = load i32, ptr %167, align 4, !tbaa !5
  %8602 = call ptr @__errno_location() #12
  store i32 %8601, ptr %8602, align 4, !tbaa !5
  %8603 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8604 = load i32, ptr @test_count, align 4, !tbaa !5
  %8605 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8606 = load i32, ptr %8605, align 4, !tbaa !5
  %8607 = call ptr @s2n_strerror(i32 noundef %8606, ptr noundef @.str.11)
  %8608 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8609 = load i32, ptr %8608, align 4, !tbaa !5
  %8610 = call ptr @s2n_strerror_debug(i32 noundef %8609, ptr noundef @.str.11)
  %8611 = call ptr @__errno_location() #12
  %8612 = load i32, ptr %8611, align 4, !tbaa !5
  %8613 = call ptr @strerror(i32 noundef %8612) #11
  %8614 = call ptr @__errno_location() #12
  %8615 = load i32, ptr %8614, align 4, !tbaa !5
  %8616 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8603, ptr noundef @.str.9, i32 noundef %8604, ptr noundef @.str.40, ptr noundef @.str.8, i32 noundef 382, ptr noundef %8607, ptr noundef %8610, ptr noundef %8613, i32 noundef %8615) #11
  br label %8634

8617:                                             ; preds = %8595, %8588
  %8618 = load i32, ptr %167, align 4, !tbaa !5
  %8619 = call ptr @__errno_location() #12
  store i32 %8618, ptr %8619, align 4, !tbaa !5
  %8620 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8621 = load i32, ptr @test_count, align 4, !tbaa !5
  %8622 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8623 = load i32, ptr %8622, align 4, !tbaa !5
  %8624 = call ptr @s2n_strerror(i32 noundef %8623, ptr noundef @.str.11)
  %8625 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8626 = load i32, ptr %8625, align 4, !tbaa !5
  %8627 = call ptr @s2n_strerror_debug(i32 noundef %8626, ptr noundef @.str.11)
  %8628 = call ptr @__errno_location() #12
  %8629 = load i32, ptr %8628, align 4, !tbaa !5
  %8630 = call ptr @strerror(i32 noundef %8629) #11
  %8631 = call ptr @__errno_location() #12
  %8632 = load i32, ptr %8631, align 4, !tbaa !5
  %8633 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8620, ptr noundef @.str.12, i32 noundef %8621, ptr noundef @.str.40, ptr noundef @.str.8, i32 noundef 382, ptr noundef %8624, ptr noundef %8627, ptr noundef %8630, i32 noundef %8632) #11
  br label %8634

8634:                                             ; preds = %8617, %8600
  call void @llvm.lifetime.end.p0(i64 4, ptr %167) #11
  br label %8635

8635:                                             ; preds = %8634
  br label %8636

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

8637:                                             ; No predecessors!
  br label %8638

8638:                                             ; preds = %8637
  br label %8639

8639:                                             ; preds = %8638, %8579
  br label %8640

8640:                                             ; preds = %8639
  br label %8641

8641:                                             ; preds = %8640
  call void @llvm.lifetime.start.p0(i64 8, ptr %168) #11
  call void @llvm.memset.p0.i64(ptr align 4 %168, i8 0, i64 8, i1 false)
  br label %8642

8642:                                             ; preds = %8641
  %8643 = load i32, ptr @test_count, align 4, !tbaa !5
  %8644 = add nsw i32 %8643, 1
  store i32 %8644, ptr @test_count, align 4, !tbaa !5
  %8645 = call i32 @s2n_io_pair_init_non_blocking(ptr noundef %168)
  %8646 = icmp eq i32 %8645, -1
  br i1 %8646, label %8647, label %8700

8647:                                             ; preds = %8642
  br label %8648

8648:                                             ; preds = %8647
  br label %8649

8649:                                             ; preds = %8648
  call void @llvm.lifetime.start.p0(i64 4, ptr %169) #11
  %8650 = call ptr @__errno_location() #12
  %8651 = load i32, ptr %8650, align 4, !tbaa !5
  store i32 %8651, ptr %169, align 4, !tbaa !5
  %8652 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8653 = call i32 @s2n_print_stacktrace(ptr noundef %8652)
  %8654 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8655 = trunc i8 %8654 to i1
  br i1 %8655, label %8656, label %8678

8656:                                             ; preds = %8649
  %8657 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8658 = call i32 @fileno(ptr noundef %8657) #11
  %8659 = call i32 @isatty(i32 noundef %8658) #11
  %8660 = icmp ne i32 %8659, 0
  br i1 %8660, label %8661, label %8678

8661:                                             ; preds = %8656
  %8662 = load i32, ptr %169, align 4, !tbaa !5
  %8663 = call ptr @__errno_location() #12
  store i32 %8662, ptr %8663, align 4, !tbaa !5
  %8664 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8665 = load i32, ptr @test_count, align 4, !tbaa !5
  %8666 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8667 = load i32, ptr %8666, align 4, !tbaa !5
  %8668 = call ptr @s2n_strerror(i32 noundef %8667, ptr noundef @.str.11)
  %8669 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8670 = load i32, ptr %8669, align 4, !tbaa !5
  %8671 = call ptr @s2n_strerror_debug(i32 noundef %8670, ptr noundef @.str.11)
  %8672 = call ptr @__errno_location() #12
  %8673 = load i32, ptr %8672, align 4, !tbaa !5
  %8674 = call ptr @strerror(i32 noundef %8673) #11
  %8675 = call ptr @__errno_location() #12
  %8676 = load i32, ptr %8675, align 4, !tbaa !5
  %8677 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8664, ptr noundef @.str.9, i32 noundef %8665, ptr noundef @.str.78, ptr noundef @.str.8, i32 noundef 385, ptr noundef %8668, ptr noundef %8671, ptr noundef %8674, i32 noundef %8676) #11
  br label %8695

8678:                                             ; preds = %8656, %8649
  %8679 = load i32, ptr %169, align 4, !tbaa !5
  %8680 = call ptr @__errno_location() #12
  store i32 %8679, ptr %8680, align 4, !tbaa !5
  %8681 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8682 = load i32, ptr @test_count, align 4, !tbaa !5
  %8683 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8684 = load i32, ptr %8683, align 4, !tbaa !5
  %8685 = call ptr @s2n_strerror(i32 noundef %8684, ptr noundef @.str.11)
  %8686 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8687 = load i32, ptr %8686, align 4, !tbaa !5
  %8688 = call ptr @s2n_strerror_debug(i32 noundef %8687, ptr noundef @.str.11)
  %8689 = call ptr @__errno_location() #12
  %8690 = load i32, ptr %8689, align 4, !tbaa !5
  %8691 = call ptr @strerror(i32 noundef %8690) #11
  %8692 = call ptr @__errno_location() #12
  %8693 = load i32, ptr %8692, align 4, !tbaa !5
  %8694 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8681, ptr noundef @.str.12, i32 noundef %8682, ptr noundef @.str.78, ptr noundef @.str.8, i32 noundef 385, ptr noundef %8685, ptr noundef %8688, ptr noundef %8691, i32 noundef %8693) #11
  br label %8695

8695:                                             ; preds = %8678, %8661
  call void @llvm.lifetime.end.p0(i64 4, ptr %169) #11
  br label %8696

8696:                                             ; preds = %8695
  br label %8697

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

8698:                                             ; No predecessors!
  br label %8699

8699:                                             ; preds = %8698
  br label %8700

8700:                                             ; preds = %8699, %8642
  br label %8701

8701:                                             ; preds = %8700
  br label %8702

8702:                                             ; preds = %8701
  br label %8703

8703:                                             ; preds = %8702
  %8704 = load i32, ptr @test_count, align 4, !tbaa !5
  %8705 = add nsw i32 %8704, 1
  store i32 %8705, ptr @test_count, align 4, !tbaa !5
  %8706 = load ptr, ptr %162, align 8, !tbaa !9
  %8707 = call i32 @s2n_connection_set_io_pair(ptr noundef %8706, ptr noundef %168)
  %8708 = icmp eq i32 %8707, -1
  br i1 %8708, label %8709, label %8762

8709:                                             ; preds = %8703
  br label %8710

8710:                                             ; preds = %8709
  br label %8711

8711:                                             ; preds = %8710
  call void @llvm.lifetime.start.p0(i64 4, ptr %170) #11
  %8712 = call ptr @__errno_location() #12
  %8713 = load i32, ptr %8712, align 4, !tbaa !5
  store i32 %8713, ptr %170, align 4, !tbaa !5
  %8714 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8715 = call i32 @s2n_print_stacktrace(ptr noundef %8714)
  %8716 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8717 = trunc i8 %8716 to i1
  br i1 %8717, label %8718, label %8740

8718:                                             ; preds = %8711
  %8719 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8720 = call i32 @fileno(ptr noundef %8719) #11
  %8721 = call i32 @isatty(i32 noundef %8720) #11
  %8722 = icmp ne i32 %8721, 0
  br i1 %8722, label %8723, label %8740

8723:                                             ; preds = %8718
  %8724 = load i32, ptr %170, align 4, !tbaa !5
  %8725 = call ptr @__errno_location() #12
  store i32 %8724, ptr %8725, align 4, !tbaa !5
  %8726 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8727 = load i32, ptr @test_count, align 4, !tbaa !5
  %8728 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8729 = load i32, ptr %8728, align 4, !tbaa !5
  %8730 = call ptr @s2n_strerror(i32 noundef %8729, ptr noundef @.str.11)
  %8731 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8732 = load i32, ptr %8731, align 4, !tbaa !5
  %8733 = call ptr @s2n_strerror_debug(i32 noundef %8732, ptr noundef @.str.11)
  %8734 = call ptr @__errno_location() #12
  %8735 = load i32, ptr %8734, align 4, !tbaa !5
  %8736 = call ptr @strerror(i32 noundef %8735) #11
  %8737 = call ptr @__errno_location() #12
  %8738 = load i32, ptr %8737, align 4, !tbaa !5
  %8739 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8726, ptr noundef @.str.9, i32 noundef %8727, ptr noundef @.str.79, ptr noundef @.str.8, i32 noundef 386, ptr noundef %8730, ptr noundef %8733, ptr noundef %8736, i32 noundef %8738) #11
  br label %8757

8740:                                             ; preds = %8718, %8711
  %8741 = load i32, ptr %170, align 4, !tbaa !5
  %8742 = call ptr @__errno_location() #12
  store i32 %8741, ptr %8742, align 4, !tbaa !5
  %8743 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8744 = load i32, ptr @test_count, align 4, !tbaa !5
  %8745 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8746 = load i32, ptr %8745, align 4, !tbaa !5
  %8747 = call ptr @s2n_strerror(i32 noundef %8746, ptr noundef @.str.11)
  %8748 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8749 = load i32, ptr %8748, align 4, !tbaa !5
  %8750 = call ptr @s2n_strerror_debug(i32 noundef %8749, ptr noundef @.str.11)
  %8751 = call ptr @__errno_location() #12
  %8752 = load i32, ptr %8751, align 4, !tbaa !5
  %8753 = call ptr @strerror(i32 noundef %8752) #11
  %8754 = call ptr @__errno_location() #12
  %8755 = load i32, ptr %8754, align 4, !tbaa !5
  %8756 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8743, ptr noundef @.str.12, i32 noundef %8744, ptr noundef @.str.79, ptr noundef @.str.8, i32 noundef 386, ptr noundef %8747, ptr noundef %8750, ptr noundef %8753, i32 noundef %8755) #11
  br label %8757

8757:                                             ; preds = %8740, %8723
  call void @llvm.lifetime.end.p0(i64 4, ptr %170) #11
  br label %8758

8758:                                             ; preds = %8757
  br label %8759

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

8760:                                             ; No predecessors!
  br label %8761

8761:                                             ; preds = %8760
  br label %8762

8762:                                             ; preds = %8761, %8703
  br label %8763

8763:                                             ; preds = %8762
  br label %8764

8764:                                             ; preds = %8763
  br label %8765

8765:                                             ; preds = %8764
  %8766 = load i32, ptr @test_count, align 4, !tbaa !5
  %8767 = add nsw i32 %8766, 1
  store i32 %8767, ptr @test_count, align 4, !tbaa !5
  %8768 = load ptr, ptr %165, align 8, !tbaa !9
  %8769 = call i32 @s2n_connection_set_io_pair(ptr noundef %8768, ptr noundef %168)
  %8770 = icmp eq i32 %8769, -1
  br i1 %8770, label %8771, label %8824

8771:                                             ; preds = %8765
  br label %8772

8772:                                             ; preds = %8771
  br label %8773

8773:                                             ; preds = %8772
  call void @llvm.lifetime.start.p0(i64 4, ptr %171) #11
  %8774 = call ptr @__errno_location() #12
  %8775 = load i32, ptr %8774, align 4, !tbaa !5
  store i32 %8775, ptr %171, align 4, !tbaa !5
  %8776 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8777 = call i32 @s2n_print_stacktrace(ptr noundef %8776)
  %8778 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8779 = trunc i8 %8778 to i1
  br i1 %8779, label %8780, label %8802

8780:                                             ; preds = %8773
  %8781 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8782 = call i32 @fileno(ptr noundef %8781) #11
  %8783 = call i32 @isatty(i32 noundef %8782) #11
  %8784 = icmp ne i32 %8783, 0
  br i1 %8784, label %8785, label %8802

8785:                                             ; preds = %8780
  %8786 = load i32, ptr %171, align 4, !tbaa !5
  %8787 = call ptr @__errno_location() #12
  store i32 %8786, ptr %8787, align 4, !tbaa !5
  %8788 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8789 = load i32, ptr @test_count, align 4, !tbaa !5
  %8790 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8791 = load i32, ptr %8790, align 4, !tbaa !5
  %8792 = call ptr @s2n_strerror(i32 noundef %8791, ptr noundef @.str.11)
  %8793 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8794 = load i32, ptr %8793, align 4, !tbaa !5
  %8795 = call ptr @s2n_strerror_debug(i32 noundef %8794, ptr noundef @.str.11)
  %8796 = call ptr @__errno_location() #12
  %8797 = load i32, ptr %8796, align 4, !tbaa !5
  %8798 = call ptr @strerror(i32 noundef %8797) #11
  %8799 = call ptr @__errno_location() #12
  %8800 = load i32, ptr %8799, align 4, !tbaa !5
  %8801 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8788, ptr noundef @.str.9, i32 noundef %8789, ptr noundef @.str.80, ptr noundef @.str.8, i32 noundef 387, ptr noundef %8792, ptr noundef %8795, ptr noundef %8798, i32 noundef %8800) #11
  br label %8819

8802:                                             ; preds = %8780, %8773
  %8803 = load i32, ptr %171, align 4, !tbaa !5
  %8804 = call ptr @__errno_location() #12
  store i32 %8803, ptr %8804, align 4, !tbaa !5
  %8805 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8806 = load i32, ptr @test_count, align 4, !tbaa !5
  %8807 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8808 = load i32, ptr %8807, align 4, !tbaa !5
  %8809 = call ptr @s2n_strerror(i32 noundef %8808, ptr noundef @.str.11)
  %8810 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8811 = load i32, ptr %8810, align 4, !tbaa !5
  %8812 = call ptr @s2n_strerror_debug(i32 noundef %8811, ptr noundef @.str.11)
  %8813 = call ptr @__errno_location() #12
  %8814 = load i32, ptr %8813, align 4, !tbaa !5
  %8815 = call ptr @strerror(i32 noundef %8814) #11
  %8816 = call ptr @__errno_location() #12
  %8817 = load i32, ptr %8816, align 4, !tbaa !5
  %8818 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8805, ptr noundef @.str.12, i32 noundef %8806, ptr noundef @.str.80, ptr noundef @.str.8, i32 noundef 387, ptr noundef %8809, ptr noundef %8812, ptr noundef %8815, i32 noundef %8817) #11
  br label %8819

8819:                                             ; preds = %8802, %8785
  call void @llvm.lifetime.end.p0(i64 4, ptr %171) #11
  br label %8820

8820:                                             ; preds = %8819
  br label %8821

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

8822:                                             ; No predecessors!
  br label %8823

8823:                                             ; preds = %8822
  br label %8824

8824:                                             ; preds = %8823, %8765
  br label %8825

8825:                                             ; preds = %8824
  br label %8826

8826:                                             ; preds = %8825
  br label %8827

8827:                                             ; preds = %8826
  %8828 = load i32, ptr @test_count, align 4, !tbaa !5
  %8829 = add nsw i32 %8828, 1
  store i32 %8829, ptr @test_count, align 4, !tbaa !5
  %8830 = load ptr, ptr %165, align 8, !tbaa !9
  %8831 = load ptr, ptr %162, align 8, !tbaa !9
  %8832 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef %8830, ptr noundef %8831)
  %8833 = icmp eq i32 %8832, -1
  br i1 %8833, label %8834, label %8887

8834:                                             ; preds = %8827
  br label %8835

8835:                                             ; preds = %8834
  br label %8836

8836:                                             ; preds = %8835
  call void @llvm.lifetime.start.p0(i64 4, ptr %172) #11
  %8837 = call ptr @__errno_location() #12
  %8838 = load i32, ptr %8837, align 4, !tbaa !5
  store i32 %8838, ptr %172, align 4, !tbaa !5
  %8839 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8840 = call i32 @s2n_print_stacktrace(ptr noundef %8839)
  %8841 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8842 = trunc i8 %8841 to i1
  br i1 %8842, label %8843, label %8865

8843:                                             ; preds = %8836
  %8844 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8845 = call i32 @fileno(ptr noundef %8844) #11
  %8846 = call i32 @isatty(i32 noundef %8845) #11
  %8847 = icmp ne i32 %8846, 0
  br i1 %8847, label %8848, label %8865

8848:                                             ; preds = %8843
  %8849 = load i32, ptr %172, align 4, !tbaa !5
  %8850 = call ptr @__errno_location() #12
  store i32 %8849, ptr %8850, align 4, !tbaa !5
  %8851 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8852 = load i32, ptr @test_count, align 4, !tbaa !5
  %8853 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8854 = load i32, ptr %8853, align 4, !tbaa !5
  %8855 = call ptr @s2n_strerror(i32 noundef %8854, ptr noundef @.str.11)
  %8856 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8857 = load i32, ptr %8856, align 4, !tbaa !5
  %8858 = call ptr @s2n_strerror_debug(i32 noundef %8857, ptr noundef @.str.11)
  %8859 = call ptr @__errno_location() #12
  %8860 = load i32, ptr %8859, align 4, !tbaa !5
  %8861 = call ptr @strerror(i32 noundef %8860) #11
  %8862 = call ptr @__errno_location() #12
  %8863 = load i32, ptr %8862, align 4, !tbaa !5
  %8864 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8851, ptr noundef @.str.9, i32 noundef %8852, ptr noundef @.str.81, ptr noundef @.str.8, i32 noundef 389, ptr noundef %8855, ptr noundef %8858, ptr noundef %8861, i32 noundef %8863) #11
  br label %8882

8865:                                             ; preds = %8843, %8836
  %8866 = load i32, ptr %172, align 4, !tbaa !5
  %8867 = call ptr @__errno_location() #12
  store i32 %8866, ptr %8867, align 4, !tbaa !5
  %8868 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8869 = load i32, ptr @test_count, align 4, !tbaa !5
  %8870 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8871 = load i32, ptr %8870, align 4, !tbaa !5
  %8872 = call ptr @s2n_strerror(i32 noundef %8871, ptr noundef @.str.11)
  %8873 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8874 = load i32, ptr %8873, align 4, !tbaa !5
  %8875 = call ptr @s2n_strerror_debug(i32 noundef %8874, ptr noundef @.str.11)
  %8876 = call ptr @__errno_location() #12
  %8877 = load i32, ptr %8876, align 4, !tbaa !5
  %8878 = call ptr @strerror(i32 noundef %8877) #11
  %8879 = call ptr @__errno_location() #12
  %8880 = load i32, ptr %8879, align 4, !tbaa !5
  %8881 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8868, ptr noundef @.str.12, i32 noundef %8869, ptr noundef @.str.81, ptr noundef @.str.8, i32 noundef 389, ptr noundef %8872, ptr noundef %8875, ptr noundef %8878, i32 noundef %8880) #11
  br label %8882

8882:                                             ; preds = %8865, %8848
  call void @llvm.lifetime.end.p0(i64 4, ptr %172) #11
  br label %8883

8883:                                             ; preds = %8882
  br label %8884

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

8885:                                             ; No predecessors!
  br label %8886

8886:                                             ; preds = %8885
  br label %8887

8887:                                             ; preds = %8886, %8827
  br label %8888

8888:                                             ; preds = %8887
  br label %8889

8889:                                             ; preds = %8888
  br label %8890

8890:                                             ; preds = %8889
  %8891 = load i32, ptr @test_count, align 4, !tbaa !5
  %8892 = add nsw i32 %8891, 1
  store i32 %8892, ptr @test_count, align 4, !tbaa !5
  %8893 = load ptr, ptr %165, align 8, !tbaa !9
  %8894 = getelementptr inbounds %struct.s2n_connection, ptr %8893, i32 0, i32 23
  %8895 = load i8, ptr %8894, align 4, !tbaa !49
  %8896 = zext i8 %8895 to i32
  %8897 = icmp eq i32 %8896, 33
  br i1 %8897, label %8951, label %8898

8898:                                             ; preds = %8890
  br label %8899

8899:                                             ; preds = %8898
  br label %8900

8900:                                             ; preds = %8899
  call void @llvm.lifetime.start.p0(i64 4, ptr %173) #11
  %8901 = call ptr @__errno_location() #12
  %8902 = load i32, ptr %8901, align 4, !tbaa !5
  store i32 %8902, ptr %173, align 4, !tbaa !5
  %8903 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8904 = call i32 @s2n_print_stacktrace(ptr noundef %8903)
  %8905 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8906 = trunc i8 %8905 to i1
  br i1 %8906, label %8907, label %8929

8907:                                             ; preds = %8900
  %8908 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8909 = call i32 @fileno(ptr noundef %8908) #11
  %8910 = call i32 @isatty(i32 noundef %8909) #11
  %8911 = icmp ne i32 %8910, 0
  br i1 %8911, label %8912, label %8929

8912:                                             ; preds = %8907
  %8913 = load i32, ptr %173, align 4, !tbaa !5
  %8914 = call ptr @__errno_location() #12
  store i32 %8913, ptr %8914, align 4, !tbaa !5
  %8915 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8916 = load i32, ptr @test_count, align 4, !tbaa !5
  %8917 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8918 = load i32, ptr %8917, align 4, !tbaa !5
  %8919 = call ptr @s2n_strerror(i32 noundef %8918, ptr noundef @.str.11)
  %8920 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8921 = load i32, ptr %8920, align 4, !tbaa !5
  %8922 = call ptr @s2n_strerror_debug(i32 noundef %8921, ptr noundef @.str.11)
  %8923 = call ptr @__errno_location() #12
  %8924 = load i32, ptr %8923, align 4, !tbaa !5
  %8925 = call ptr @strerror(i32 noundef %8924) #11
  %8926 = call ptr @__errno_location() #12
  %8927 = load i32, ptr %8926, align 4, !tbaa !5
  %8928 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8915, ptr noundef @.str.9, i32 noundef %8916, ptr noundef @.str.88, ptr noundef @.str.8, i32 noundef 390, ptr noundef %8919, ptr noundef %8922, ptr noundef %8925, i32 noundef %8927) #11
  br label %8946

8929:                                             ; preds = %8907, %8900
  %8930 = load i32, ptr %173, align 4, !tbaa !5
  %8931 = call ptr @__errno_location() #12
  store i32 %8930, ptr %8931, align 4, !tbaa !5
  %8932 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8933 = load i32, ptr @test_count, align 4, !tbaa !5
  %8934 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8935 = load i32, ptr %8934, align 4, !tbaa !5
  %8936 = call ptr @s2n_strerror(i32 noundef %8935, ptr noundef @.str.11)
  %8937 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8938 = load i32, ptr %8937, align 4, !tbaa !5
  %8939 = call ptr @s2n_strerror_debug(i32 noundef %8938, ptr noundef @.str.11)
  %8940 = call ptr @__errno_location() #12
  %8941 = load i32, ptr %8940, align 4, !tbaa !5
  %8942 = call ptr @strerror(i32 noundef %8941) #11
  %8943 = call ptr @__errno_location() #12
  %8944 = load i32, ptr %8943, align 4, !tbaa !5
  %8945 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8932, ptr noundef @.str.12, i32 noundef %8933, ptr noundef @.str.88, ptr noundef @.str.8, i32 noundef 390, ptr noundef %8936, ptr noundef %8939, ptr noundef %8942, i32 noundef %8944) #11
  br label %8946

8946:                                             ; preds = %8929, %8912
  call void @llvm.lifetime.end.p0(i64 4, ptr %173) #11
  br label %8947

8947:                                             ; preds = %8946
  br label %8948

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

8949:                                             ; No predecessors!
  br label %8950

8950:                                             ; preds = %8949
  br label %8951

8951:                                             ; preds = %8950, %8890
  br label %8952

8952:                                             ; preds = %8951
  br label %8953

8953:                                             ; preds = %8952
  br label %8954

8954:                                             ; preds = %8953
  %8955 = load i32, ptr @test_count, align 4, !tbaa !5
  %8956 = add nsw i32 %8955, 1
  store i32 %8956, ptr @test_count, align 4, !tbaa !5
  %8957 = load ptr, ptr %165, align 8, !tbaa !9
  %8958 = getelementptr inbounds %struct.s2n_connection, ptr %8957, i32 0, i32 23
  %8959 = load i8, ptr %8958, align 4, !tbaa !49
  %8960 = zext i8 %8959 to i32
  %8961 = icmp eq i32 %8960, 33
  br i1 %8961, label %9015, label %8962

8962:                                             ; preds = %8954
  br label %8963

8963:                                             ; preds = %8962
  br label %8964

8964:                                             ; preds = %8963
  call void @llvm.lifetime.start.p0(i64 4, ptr %174) #11
  %8965 = call ptr @__errno_location() #12
  %8966 = load i32, ptr %8965, align 4, !tbaa !5
  store i32 %8966, ptr %174, align 4, !tbaa !5
  %8967 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8968 = call i32 @s2n_print_stacktrace(ptr noundef %8967)
  %8969 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8970 = trunc i8 %8969 to i1
  br i1 %8970, label %8971, label %8993

8971:                                             ; preds = %8964
  %8972 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8973 = call i32 @fileno(ptr noundef %8972) #11
  %8974 = call i32 @isatty(i32 noundef %8973) #11
  %8975 = icmp ne i32 %8974, 0
  br i1 %8975, label %8976, label %8993

8976:                                             ; preds = %8971
  %8977 = load i32, ptr %174, align 4, !tbaa !5
  %8978 = call ptr @__errno_location() #12
  store i32 %8977, ptr %8978, align 4, !tbaa !5
  %8979 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8980 = load i32, ptr @test_count, align 4, !tbaa !5
  %8981 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8982 = load i32, ptr %8981, align 4, !tbaa !5
  %8983 = call ptr @s2n_strerror(i32 noundef %8982, ptr noundef @.str.11)
  %8984 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8985 = load i32, ptr %8984, align 4, !tbaa !5
  %8986 = call ptr @s2n_strerror_debug(i32 noundef %8985, ptr noundef @.str.11)
  %8987 = call ptr @__errno_location() #12
  %8988 = load i32, ptr %8987, align 4, !tbaa !5
  %8989 = call ptr @strerror(i32 noundef %8988) #11
  %8990 = call ptr @__errno_location() #12
  %8991 = load i32, ptr %8990, align 4, !tbaa !5
  %8992 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8979, ptr noundef @.str.9, i32 noundef %8980, ptr noundef @.str.88, ptr noundef @.str.8, i32 noundef 391, ptr noundef %8983, ptr noundef %8986, ptr noundef %8989, i32 noundef %8991) #11
  br label %9010

8993:                                             ; preds = %8971, %8964
  %8994 = load i32, ptr %174, align 4, !tbaa !5
  %8995 = call ptr @__errno_location() #12
  store i32 %8994, ptr %8995, align 4, !tbaa !5
  %8996 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8997 = load i32, ptr @test_count, align 4, !tbaa !5
  %8998 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8999 = load i32, ptr %8998, align 4, !tbaa !5
  %9000 = call ptr @s2n_strerror(i32 noundef %8999, ptr noundef @.str.11)
  %9001 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9002 = load i32, ptr %9001, align 4, !tbaa !5
  %9003 = call ptr @s2n_strerror_debug(i32 noundef %9002, ptr noundef @.str.11)
  %9004 = call ptr @__errno_location() #12
  %9005 = load i32, ptr %9004, align 4, !tbaa !5
  %9006 = call ptr @strerror(i32 noundef %9005) #11
  %9007 = call ptr @__errno_location() #12
  %9008 = load i32, ptr %9007, align 4, !tbaa !5
  %9009 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8996, ptr noundef @.str.12, i32 noundef %8997, ptr noundef @.str.88, ptr noundef @.str.8, i32 noundef 391, ptr noundef %9000, ptr noundef %9003, ptr noundef %9006, i32 noundef %9008) #11
  br label %9010

9010:                                             ; preds = %8993, %8976
  call void @llvm.lifetime.end.p0(i64 4, ptr %174) #11
  br label %9011

9011:                                             ; preds = %9010
  br label %9012

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

9013:                                             ; No predecessors!
  br label %9014

9014:                                             ; preds = %9013
  br label %9015

9015:                                             ; preds = %9014, %8954
  br label %9016

9016:                                             ; preds = %9015
  br label %9017

9017:                                             ; preds = %9016
  br label %9018

9018:                                             ; preds = %9017
  %9019 = load i32, ptr @test_count, align 4, !tbaa !5
  %9020 = add nsw i32 %9019, 1
  store i32 %9020, ptr @test_count, align 4, !tbaa !5
  %9021 = load ptr, ptr %165, align 8, !tbaa !9
  %9022 = load ptr, ptr %162, align 8, !tbaa !9
  %9023 = call i32 @s2n_test_all_signature_schemes_valid(i32 noundef 1, ptr noundef %9021, ptr noundef %9022)
  %9024 = getelementptr inbounds %struct.s2n_result, ptr %175, i32 0, i32 0
  store i32 %9023, ptr %9024, align 4
  %9025 = getelementptr inbounds %struct.s2n_result, ptr %175, i32 0, i32 0
  %9026 = load i32, ptr %9025, align 4
  %9027 = call zeroext i1 @s2n_result_is_ok(i32 %9026)
  br i1 %9027, label %9081, label %9028

9028:                                             ; preds = %9018
  br label %9029

9029:                                             ; preds = %9028
  br label %9030

9030:                                             ; preds = %9029
  call void @llvm.lifetime.start.p0(i64 4, ptr %176) #11
  %9031 = call ptr @__errno_location() #12
  %9032 = load i32, ptr %9031, align 4, !tbaa !5
  store i32 %9032, ptr %176, align 4, !tbaa !5
  %9033 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9034 = call i32 @s2n_print_stacktrace(ptr noundef %9033)
  %9035 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9036 = trunc i8 %9035 to i1
  br i1 %9036, label %9037, label %9059

9037:                                             ; preds = %9030
  %9038 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9039 = call i32 @fileno(ptr noundef %9038) #11
  %9040 = call i32 @isatty(i32 noundef %9039) #11
  %9041 = icmp ne i32 %9040, 0
  br i1 %9041, label %9042, label %9059

9042:                                             ; preds = %9037
  %9043 = load i32, ptr %176, align 4, !tbaa !5
  %9044 = call ptr @__errno_location() #12
  store i32 %9043, ptr %9044, align 4, !tbaa !5
  %9045 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9046 = load i32, ptr @test_count, align 4, !tbaa !5
  %9047 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9048 = load i32, ptr %9047, align 4, !tbaa !5
  %9049 = call ptr @s2n_strerror(i32 noundef %9048, ptr noundef @.str.11)
  %9050 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9051 = load i32, ptr %9050, align 4, !tbaa !5
  %9052 = call ptr @s2n_strerror_debug(i32 noundef %9051, ptr noundef @.str.11)
  %9053 = call ptr @__errno_location() #12
  %9054 = load i32, ptr %9053, align 4, !tbaa !5
  %9055 = call ptr @strerror(i32 noundef %9054) #11
  %9056 = call ptr @__errno_location() #12
  %9057 = load i32, ptr %9056, align 4, !tbaa !5
  %9058 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9045, ptr noundef @.str.9, i32 noundef %9046, ptr noundef @.str.89, ptr noundef @.str.8, i32 noundef 392, ptr noundef %9049, ptr noundef %9052, ptr noundef %9055, i32 noundef %9057) #11
  br label %9076

9059:                                             ; preds = %9037, %9030
  %9060 = load i32, ptr %176, align 4, !tbaa !5
  %9061 = call ptr @__errno_location() #12
  store i32 %9060, ptr %9061, align 4, !tbaa !5
  %9062 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9063 = load i32, ptr @test_count, align 4, !tbaa !5
  %9064 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9065 = load i32, ptr %9064, align 4, !tbaa !5
  %9066 = call ptr @s2n_strerror(i32 noundef %9065, ptr noundef @.str.11)
  %9067 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9068 = load i32, ptr %9067, align 4, !tbaa !5
  %9069 = call ptr @s2n_strerror_debug(i32 noundef %9068, ptr noundef @.str.11)
  %9070 = call ptr @__errno_location() #12
  %9071 = load i32, ptr %9070, align 4, !tbaa !5
  %9072 = call ptr @strerror(i32 noundef %9071) #11
  %9073 = call ptr @__errno_location() #12
  %9074 = load i32, ptr %9073, align 4, !tbaa !5
  %9075 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9062, ptr noundef @.str.12, i32 noundef %9063, ptr noundef @.str.89, ptr noundef @.str.8, i32 noundef 392, ptr noundef %9066, ptr noundef %9069, ptr noundef %9072, i32 noundef %9074) #11
  br label %9076

9076:                                             ; preds = %9059, %9042
  call void @llvm.lifetime.end.p0(i64 4, ptr %176) #11
  br label %9077

9077:                                             ; preds = %9076
  br label %9078

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

9079:                                             ; No predecessors!
  br label %9080

9080:                                             ; preds = %9079
  br label %9081

9081:                                             ; preds = %9080, %9018
  br label %9082

9082:                                             ; preds = %9081
  br label %9083

9083:                                             ; preds = %9082
  br label %9084

9084:                                             ; preds = %9083
  %9085 = load i32, ptr @test_count, align 4, !tbaa !5
  %9086 = add nsw i32 %9085, 1
  store i32 %9086, ptr @test_count, align 4, !tbaa !5
  %9087 = load ptr, ptr %165, align 8, !tbaa !9
  %9088 = call i32 @s2n_connection_free(ptr noundef %9087)
  %9089 = icmp eq i32 %9088, -1
  br i1 %9089, label %9090, label %9143

9090:                                             ; preds = %9084
  br label %9091

9091:                                             ; preds = %9090
  br label %9092

9092:                                             ; preds = %9091
  call void @llvm.lifetime.start.p0(i64 4, ptr %177) #11
  %9093 = call ptr @__errno_location() #12
  %9094 = load i32, ptr %9093, align 4, !tbaa !5
  store i32 %9094, ptr %177, align 4, !tbaa !5
  %9095 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9096 = call i32 @s2n_print_stacktrace(ptr noundef %9095)
  %9097 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9098 = trunc i8 %9097 to i1
  br i1 %9098, label %9099, label %9121

9099:                                             ; preds = %9092
  %9100 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9101 = call i32 @fileno(ptr noundef %9100) #11
  %9102 = call i32 @isatty(i32 noundef %9101) #11
  %9103 = icmp ne i32 %9102, 0
  br i1 %9103, label %9104, label %9121

9104:                                             ; preds = %9099
  %9105 = load i32, ptr %177, align 4, !tbaa !5
  %9106 = call ptr @__errno_location() #12
  store i32 %9105, ptr %9106, align 4, !tbaa !5
  %9107 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9108 = load i32, ptr @test_count, align 4, !tbaa !5
  %9109 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9110 = load i32, ptr %9109, align 4, !tbaa !5
  %9111 = call ptr @s2n_strerror(i32 noundef %9110, ptr noundef @.str.11)
  %9112 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9113 = load i32, ptr %9112, align 4, !tbaa !5
  %9114 = call ptr @s2n_strerror_debug(i32 noundef %9113, ptr noundef @.str.11)
  %9115 = call ptr @__errno_location() #12
  %9116 = load i32, ptr %9115, align 4, !tbaa !5
  %9117 = call ptr @strerror(i32 noundef %9116) #11
  %9118 = call ptr @__errno_location() #12
  %9119 = load i32, ptr %9118, align 4, !tbaa !5
  %9120 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9107, ptr noundef @.str.9, i32 noundef %9108, ptr noundef @.str.37, ptr noundef @.str.8, i32 noundef 394, ptr noundef %9111, ptr noundef %9114, ptr noundef %9117, i32 noundef %9119) #11
  br label %9138

9121:                                             ; preds = %9099, %9092
  %9122 = load i32, ptr %177, align 4, !tbaa !5
  %9123 = call ptr @__errno_location() #12
  store i32 %9122, ptr %9123, align 4, !tbaa !5
  %9124 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9125 = load i32, ptr @test_count, align 4, !tbaa !5
  %9126 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9127 = load i32, ptr %9126, align 4, !tbaa !5
  %9128 = call ptr @s2n_strerror(i32 noundef %9127, ptr noundef @.str.11)
  %9129 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9130 = load i32, ptr %9129, align 4, !tbaa !5
  %9131 = call ptr @s2n_strerror_debug(i32 noundef %9130, ptr noundef @.str.11)
  %9132 = call ptr @__errno_location() #12
  %9133 = load i32, ptr %9132, align 4, !tbaa !5
  %9134 = call ptr @strerror(i32 noundef %9133) #11
  %9135 = call ptr @__errno_location() #12
  %9136 = load i32, ptr %9135, align 4, !tbaa !5
  %9137 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9124, ptr noundef @.str.12, i32 noundef %9125, ptr noundef @.str.37, ptr noundef @.str.8, i32 noundef 394, ptr noundef %9128, ptr noundef %9131, ptr noundef %9134, i32 noundef %9136) #11
  br label %9138

9138:                                             ; preds = %9121, %9104
  call void @llvm.lifetime.end.p0(i64 4, ptr %177) #11
  br label %9139

9139:                                             ; preds = %9138
  br label %9140

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

9141:                                             ; No predecessors!
  br label %9142

9142:                                             ; preds = %9141
  br label %9143

9143:                                             ; preds = %9142, %9084
  br label %9144

9144:                                             ; preds = %9143
  br label %9145

9145:                                             ; preds = %9144
  br label %9146

9146:                                             ; preds = %9145
  %9147 = load i32, ptr @test_count, align 4, !tbaa !5
  %9148 = add nsw i32 %9147, 1
  store i32 %9148, ptr @test_count, align 4, !tbaa !5
  %9149 = load ptr, ptr %162, align 8, !tbaa !9
  %9150 = call i32 @s2n_connection_free(ptr noundef %9149)
  %9151 = icmp eq i32 %9150, -1
  br i1 %9151, label %9152, label %9205

9152:                                             ; preds = %9146
  br label %9153

9153:                                             ; preds = %9152
  br label %9154

9154:                                             ; preds = %9153
  call void @llvm.lifetime.start.p0(i64 4, ptr %178) #11
  %9155 = call ptr @__errno_location() #12
  %9156 = load i32, ptr %9155, align 4, !tbaa !5
  store i32 %9156, ptr %178, align 4, !tbaa !5
  %9157 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9158 = call i32 @s2n_print_stacktrace(ptr noundef %9157)
  %9159 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9160 = trunc i8 %9159 to i1
  br i1 %9160, label %9161, label %9183

9161:                                             ; preds = %9154
  %9162 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9163 = call i32 @fileno(ptr noundef %9162) #11
  %9164 = call i32 @isatty(i32 noundef %9163) #11
  %9165 = icmp ne i32 %9164, 0
  br i1 %9165, label %9166, label %9183

9166:                                             ; preds = %9161
  %9167 = load i32, ptr %178, align 4, !tbaa !5
  %9168 = call ptr @__errno_location() #12
  store i32 %9167, ptr %9168, align 4, !tbaa !5
  %9169 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9170 = load i32, ptr @test_count, align 4, !tbaa !5
  %9171 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9172 = load i32, ptr %9171, align 4, !tbaa !5
  %9173 = call ptr @s2n_strerror(i32 noundef %9172, ptr noundef @.str.11)
  %9174 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9175 = load i32, ptr %9174, align 4, !tbaa !5
  %9176 = call ptr @s2n_strerror_debug(i32 noundef %9175, ptr noundef @.str.11)
  %9177 = call ptr @__errno_location() #12
  %9178 = load i32, ptr %9177, align 4, !tbaa !5
  %9179 = call ptr @strerror(i32 noundef %9178) #11
  %9180 = call ptr @__errno_location() #12
  %9181 = load i32, ptr %9180, align 4, !tbaa !5
  %9182 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9169, ptr noundef @.str.9, i32 noundef %9170, ptr noundef @.str.36, ptr noundef @.str.8, i32 noundef 395, ptr noundef %9173, ptr noundef %9176, ptr noundef %9179, i32 noundef %9181) #11
  br label %9200

9183:                                             ; preds = %9161, %9154
  %9184 = load i32, ptr %178, align 4, !tbaa !5
  %9185 = call ptr @__errno_location() #12
  store i32 %9184, ptr %9185, align 4, !tbaa !5
  %9186 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9187 = load i32, ptr @test_count, align 4, !tbaa !5
  %9188 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9189 = load i32, ptr %9188, align 4, !tbaa !5
  %9190 = call ptr @s2n_strerror(i32 noundef %9189, ptr noundef @.str.11)
  %9191 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9192 = load i32, ptr %9191, align 4, !tbaa !5
  %9193 = call ptr @s2n_strerror_debug(i32 noundef %9192, ptr noundef @.str.11)
  %9194 = call ptr @__errno_location() #12
  %9195 = load i32, ptr %9194, align 4, !tbaa !5
  %9196 = call ptr @strerror(i32 noundef %9195) #11
  %9197 = call ptr @__errno_location() #12
  %9198 = load i32, ptr %9197, align 4, !tbaa !5
  %9199 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9186, ptr noundef @.str.12, i32 noundef %9187, ptr noundef @.str.36, ptr noundef @.str.8, i32 noundef 395, ptr noundef %9190, ptr noundef %9193, ptr noundef %9196, i32 noundef %9198) #11
  br label %9200

9200:                                             ; preds = %9183, %9166
  call void @llvm.lifetime.end.p0(i64 4, ptr %178) #11
  br label %9201

9201:                                             ; preds = %9200
  br label %9202

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

9203:                                             ; No predecessors!
  br label %9204

9204:                                             ; preds = %9203
  br label %9205

9205:                                             ; preds = %9204, %9146
  br label %9206

9206:                                             ; preds = %9205
  br label %9207

9207:                                             ; preds = %9206
  br label %9208

9208:                                             ; preds = %9207
  %9209 = load i32, ptr @test_count, align 4, !tbaa !5
  %9210 = add nsw i32 %9209, 1
  store i32 %9210, ptr @test_count, align 4, !tbaa !5
  %9211 = call i32 @s2n_io_pair_close(ptr noundef %168)
  %9212 = icmp eq i32 %9211, -1
  br i1 %9212, label %9213, label %9266

9213:                                             ; preds = %9208
  br label %9214

9214:                                             ; preds = %9213
  br label %9215

9215:                                             ; preds = %9214
  call void @llvm.lifetime.start.p0(i64 4, ptr %179) #11
  %9216 = call ptr @__errno_location() #12
  %9217 = load i32, ptr %9216, align 4, !tbaa !5
  store i32 %9217, ptr %179, align 4, !tbaa !5
  %9218 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9219 = call i32 @s2n_print_stacktrace(ptr noundef %9218)
  %9220 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9221 = trunc i8 %9220 to i1
  br i1 %9221, label %9222, label %9244

9222:                                             ; preds = %9215
  %9223 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9224 = call i32 @fileno(ptr noundef %9223) #11
  %9225 = call i32 @isatty(i32 noundef %9224) #11
  %9226 = icmp ne i32 %9225, 0
  br i1 %9226, label %9227, label %9244

9227:                                             ; preds = %9222
  %9228 = load i32, ptr %179, align 4, !tbaa !5
  %9229 = call ptr @__errno_location() #12
  store i32 %9228, ptr %9229, align 4, !tbaa !5
  %9230 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9231 = load i32, ptr @test_count, align 4, !tbaa !5
  %9232 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9233 = load i32, ptr %9232, align 4, !tbaa !5
  %9234 = call ptr @s2n_strerror(i32 noundef %9233, ptr noundef @.str.11)
  %9235 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9236 = load i32, ptr %9235, align 4, !tbaa !5
  %9237 = call ptr @s2n_strerror_debug(i32 noundef %9236, ptr noundef @.str.11)
  %9238 = call ptr @__errno_location() #12
  %9239 = load i32, ptr %9238, align 4, !tbaa !5
  %9240 = call ptr @strerror(i32 noundef %9239) #11
  %9241 = call ptr @__errno_location() #12
  %9242 = load i32, ptr %9241, align 4, !tbaa !5
  %9243 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9230, ptr noundef @.str.9, i32 noundef %9231, ptr noundef @.str.84, ptr noundef @.str.8, i32 noundef 396, ptr noundef %9234, ptr noundef %9237, ptr noundef %9240, i32 noundef %9242) #11
  br label %9261

9244:                                             ; preds = %9222, %9215
  %9245 = load i32, ptr %179, align 4, !tbaa !5
  %9246 = call ptr @__errno_location() #12
  store i32 %9245, ptr %9246, align 4, !tbaa !5
  %9247 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9248 = load i32, ptr @test_count, align 4, !tbaa !5
  %9249 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9250 = load i32, ptr %9249, align 4, !tbaa !5
  %9251 = call ptr @s2n_strerror(i32 noundef %9250, ptr noundef @.str.11)
  %9252 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9253 = load i32, ptr %9252, align 4, !tbaa !5
  %9254 = call ptr @s2n_strerror_debug(i32 noundef %9253, ptr noundef @.str.11)
  %9255 = call ptr @__errno_location() #12
  %9256 = load i32, ptr %9255, align 4, !tbaa !5
  %9257 = call ptr @strerror(i32 noundef %9256) #11
  %9258 = call ptr @__errno_location() #12
  %9259 = load i32, ptr %9258, align 4, !tbaa !5
  %9260 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9247, ptr noundef @.str.12, i32 noundef %9248, ptr noundef @.str.84, ptr noundef @.str.8, i32 noundef 396, ptr noundef %9251, ptr noundef %9254, ptr noundef %9257, i32 noundef %9259) #11
  br label %9261

9261:                                             ; preds = %9244, %9227
  call void @llvm.lifetime.end.p0(i64 4, ptr %179) #11
  br label %9262

9262:                                             ; preds = %9261
  br label %9263

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

9264:                                             ; No predecessors!
  br label %9265

9265:                                             ; preds = %9264
  br label %9266

9266:                                             ; preds = %9265, %9208
  br label %9267

9267:                                             ; preds = %9266
  br label %9268

9268:                                             ; preds = %9267
  br label %9269

9269:                                             ; preds = %9268
  %9270 = load i32, ptr @test_count, align 4, !tbaa !5
  %9271 = add nsw i32 %9270, 1
  store i32 %9271, ptr @test_count, align 4, !tbaa !5
  %9272 = load ptr, ptr %156, align 8, !tbaa !9
  %9273 = call i32 @s2n_config_free(ptr noundef %9272)
  %9274 = icmp eq i32 %9273, -1
  br i1 %9274, label %9275, label %9328

9275:                                             ; preds = %9269
  br label %9276

9276:                                             ; preds = %9275
  br label %9277

9277:                                             ; preds = %9276
  call void @llvm.lifetime.start.p0(i64 4, ptr %180) #11
  %9278 = call ptr @__errno_location() #12
  %9279 = load i32, ptr %9278, align 4, !tbaa !5
  store i32 %9279, ptr %180, align 4, !tbaa !5
  %9280 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9281 = call i32 @s2n_print_stacktrace(ptr noundef %9280)
  %9282 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9283 = trunc i8 %9282 to i1
  br i1 %9283, label %9284, label %9306

9284:                                             ; preds = %9277
  %9285 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9286 = call i32 @fileno(ptr noundef %9285) #11
  %9287 = call i32 @isatty(i32 noundef %9286) #11
  %9288 = icmp ne i32 %9287, 0
  br i1 %9288, label %9289, label %9306

9289:                                             ; preds = %9284
  %9290 = load i32, ptr %180, align 4, !tbaa !5
  %9291 = call ptr @__errno_location() #12
  store i32 %9290, ptr %9291, align 4, !tbaa !5
  %9292 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9293 = load i32, ptr @test_count, align 4, !tbaa !5
  %9294 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9295 = load i32, ptr %9294, align 4, !tbaa !5
  %9296 = call ptr @s2n_strerror(i32 noundef %9295, ptr noundef @.str.11)
  %9297 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9298 = load i32, ptr %9297, align 4, !tbaa !5
  %9299 = call ptr @s2n_strerror_debug(i32 noundef %9298, ptr noundef @.str.11)
  %9300 = call ptr @__errno_location() #12
  %9301 = load i32, ptr %9300, align 4, !tbaa !5
  %9302 = call ptr @strerror(i32 noundef %9301) #11
  %9303 = call ptr @__errno_location() #12
  %9304 = load i32, ptr %9303, align 4, !tbaa !5
  %9305 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9292, ptr noundef @.str.9, i32 noundef %9293, ptr noundef @.str.44, ptr noundef @.str.8, i32 noundef 397, ptr noundef %9296, ptr noundef %9299, ptr noundef %9302, i32 noundef %9304) #11
  br label %9323

9306:                                             ; preds = %9284, %9277
  %9307 = load i32, ptr %180, align 4, !tbaa !5
  %9308 = call ptr @__errno_location() #12
  store i32 %9307, ptr %9308, align 4, !tbaa !5
  %9309 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9310 = load i32, ptr @test_count, align 4, !tbaa !5
  %9311 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9312 = load i32, ptr %9311, align 4, !tbaa !5
  %9313 = call ptr @s2n_strerror(i32 noundef %9312, ptr noundef @.str.11)
  %9314 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9315 = load i32, ptr %9314, align 4, !tbaa !5
  %9316 = call ptr @s2n_strerror_debug(i32 noundef %9315, ptr noundef @.str.11)
  %9317 = call ptr @__errno_location() #12
  %9318 = load i32, ptr %9317, align 4, !tbaa !5
  %9319 = call ptr @strerror(i32 noundef %9318) #11
  %9320 = call ptr @__errno_location() #12
  %9321 = load i32, ptr %9320, align 4, !tbaa !5
  %9322 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9309, ptr noundef @.str.12, i32 noundef %9310, ptr noundef @.str.44, ptr noundef @.str.8, i32 noundef 397, ptr noundef %9313, ptr noundef %9316, ptr noundef %9319, i32 noundef %9321) #11
  br label %9323

9323:                                             ; preds = %9306, %9289
  call void @llvm.lifetime.end.p0(i64 4, ptr %180) #11
  br label %9324

9324:                                             ; preds = %9323
  br label %9325

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

9326:                                             ; No predecessors!
  br label %9327

9327:                                             ; preds = %9326
  br label %9328

9328:                                             ; preds = %9327, %9269
  br label %9329

9329:                                             ; preds = %9328
  br label %9330

9330:                                             ; preds = %9329
  call void @llvm.lifetime.end.p0(i64 8, ptr %168) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %165) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %162) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %156) #11
  call void @llvm.lifetime.start.p0(i64 1, ptr %181) #11
  store i8 2, ptr %181, align 1, !tbaa !18
  call void @llvm.lifetime.start.p0(i64 2, ptr %182) #11
  store i16 1024, ptr %182, align 2, !tbaa !53
  call void @llvm.lifetime.start.p0(i64 2, ptr %183) #11
  store i16 10, ptr %183, align 2, !tbaa !53
  call void @llvm.lifetime.start.p0(i64 2, ptr %184) #11
  store i16 -1, ptr %184, align 2, !tbaa !53
  br label %9331

9331:                                             ; preds = %9330
  br label %9332

9332:                                             ; preds = %9331
  br label %9333

9333:                                             ; preds = %9332
  %9334 = load i32, ptr @test_count, align 4, !tbaa !5
  %9335 = add nsw i32 %9334, 1
  store i32 %9335, ptr @test_count, align 4, !tbaa !5
  %9336 = call i32 @s2n_connection_set_max_fragment_length(ptr noundef null, i16 noundef zeroext 1)
  %9337 = getelementptr inbounds %struct.s2n_result, ptr %185, i32 0, i32 0
  store i32 %9336, ptr %9337, align 4
  %9338 = getelementptr inbounds %struct.s2n_result, ptr %185, i32 0, i32 0
  %9339 = load i32, ptr %9338, align 4
  %9340 = call zeroext i1 @s2n_result_is_error(i32 %9339)
  br i1 %9340, label %9394, label %9341

9341:                                             ; preds = %9333
  br label %9342

9342:                                             ; preds = %9341
  br label %9343

9343:                                             ; preds = %9342
  call void @llvm.lifetime.start.p0(i64 4, ptr %186) #11
  %9344 = call ptr @__errno_location() #12
  %9345 = load i32, ptr %9344, align 4, !tbaa !5
  store i32 %9345, ptr %186, align 4, !tbaa !5
  %9346 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9347 = call i32 @s2n_print_stacktrace(ptr noundef %9346)
  %9348 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9349 = trunc i8 %9348 to i1
  br i1 %9349, label %9350, label %9372

9350:                                             ; preds = %9343
  %9351 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9352 = call i32 @fileno(ptr noundef %9351) #11
  %9353 = call i32 @isatty(i32 noundef %9352) #11
  %9354 = icmp ne i32 %9353, 0
  br i1 %9354, label %9355, label %9372

9355:                                             ; preds = %9350
  %9356 = load i32, ptr %186, align 4, !tbaa !5
  %9357 = call ptr @__errno_location() #12
  store i32 %9356, ptr %9357, align 4, !tbaa !5
  %9358 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9359 = load i32, ptr @test_count, align 4, !tbaa !5
  %9360 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9361 = load i32, ptr %9360, align 4, !tbaa !5
  %9362 = call ptr @s2n_strerror(i32 noundef %9361, ptr noundef @.str.11)
  %9363 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9364 = load i32, ptr %9363, align 4, !tbaa !5
  %9365 = call ptr @s2n_strerror_debug(i32 noundef %9364, ptr noundef @.str.11)
  %9366 = call ptr @__errno_location() #12
  %9367 = load i32, ptr %9366, align 4, !tbaa !5
  %9368 = call ptr @strerror(i32 noundef %9367) #11
  %9369 = call ptr @__errno_location() #12
  %9370 = load i32, ptr %9369, align 4, !tbaa !5
  %9371 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9358, ptr noundef @.str.9, i32 noundef %9359, ptr noundef @.str.90, ptr noundef @.str.8, i32 noundef 409, ptr noundef %9362, ptr noundef %9365, ptr noundef %9368, i32 noundef %9370) #11
  br label %9389

9372:                                             ; preds = %9350, %9343
  %9373 = load i32, ptr %186, align 4, !tbaa !5
  %9374 = call ptr @__errno_location() #12
  store i32 %9373, ptr %9374, align 4, !tbaa !5
  %9375 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9376 = load i32, ptr @test_count, align 4, !tbaa !5
  %9377 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9378 = load i32, ptr %9377, align 4, !tbaa !5
  %9379 = call ptr @s2n_strerror(i32 noundef %9378, ptr noundef @.str.11)
  %9380 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9381 = load i32, ptr %9380, align 4, !tbaa !5
  %9382 = call ptr @s2n_strerror_debug(i32 noundef %9381, ptr noundef @.str.11)
  %9383 = call ptr @__errno_location() #12
  %9384 = load i32, ptr %9383, align 4, !tbaa !5
  %9385 = call ptr @strerror(i32 noundef %9384) #11
  %9386 = call ptr @__errno_location() #12
  %9387 = load i32, ptr %9386, align 4, !tbaa !5
  %9388 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9375, ptr noundef @.str.12, i32 noundef %9376, ptr noundef @.str.90, ptr noundef @.str.8, i32 noundef 409, ptr noundef %9379, ptr noundef %9382, ptr noundef %9385, i32 noundef %9387) #11
  br label %9389

9389:                                             ; preds = %9372, %9355
  call void @llvm.lifetime.end.p0(i64 4, ptr %186) #11
  br label %9390

9390:                                             ; preds = %9389
  br label %9391

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

9392:                                             ; No predecessors!
  br label %9393

9393:                                             ; preds = %9392
  br label %9394

9394:                                             ; preds = %9393, %9333
  br label %9395

9395:                                             ; preds = %9394
  br label %9396

9396:                                             ; preds = %9395
  br label %9397

9397:                                             ; preds = %9396
  %9398 = load i32, ptr @test_count, align 4, !tbaa !5
  %9399 = add nsw i32 %9398, 1
  store i32 %9399, ptr @test_count, align 4, !tbaa !5
  %9400 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9401 = load i32, ptr %9400, align 4, !tbaa !5
  %9402 = icmp eq i32 %9401, 402653193
  br i1 %9402, label %9456, label %9403

9403:                                             ; preds = %9397
  br label %9404

9404:                                             ; preds = %9403
  br label %9405

9405:                                             ; preds = %9404
  call void @llvm.lifetime.start.p0(i64 4, ptr %187) #11
  %9406 = call ptr @__errno_location() #12
  %9407 = load i32, ptr %9406, align 4, !tbaa !5
  store i32 %9407, ptr %187, align 4, !tbaa !5
  %9408 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9409 = call i32 @s2n_print_stacktrace(ptr noundef %9408)
  %9410 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9411 = trunc i8 %9410 to i1
  br i1 %9411, label %9412, label %9434

9412:                                             ; preds = %9405
  %9413 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9414 = call i32 @fileno(ptr noundef %9413) #11
  %9415 = call i32 @isatty(i32 noundef %9414) #11
  %9416 = icmp ne i32 %9415, 0
  br i1 %9416, label %9417, label %9434

9417:                                             ; preds = %9412
  %9418 = load i32, ptr %187, align 4, !tbaa !5
  %9419 = call ptr @__errno_location() #12
  store i32 %9418, ptr %9419, align 4, !tbaa !5
  %9420 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9421 = load i32, ptr @test_count, align 4, !tbaa !5
  %9422 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9423 = load i32, ptr %9422, align 4, !tbaa !5
  %9424 = call ptr @s2n_strerror(i32 noundef %9423, ptr noundef @.str.11)
  %9425 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9426 = load i32, ptr %9425, align 4, !tbaa !5
  %9427 = call ptr @s2n_strerror_debug(i32 noundef %9426, ptr noundef @.str.11)
  %9428 = call ptr @__errno_location() #12
  %9429 = load i32, ptr %9428, align 4, !tbaa !5
  %9430 = call ptr @strerror(i32 noundef %9429) #11
  %9431 = call ptr @__errno_location() #12
  %9432 = load i32, ptr %9431, align 4, !tbaa !5
  %9433 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9420, ptr noundef @.str.9, i32 noundef %9421, ptr noundef @.str.91, ptr noundef @.str.8, i32 noundef 409, ptr noundef %9424, ptr noundef %9427, ptr noundef %9430, i32 noundef %9432) #11
  br label %9451

9434:                                             ; preds = %9412, %9405
  %9435 = load i32, ptr %187, align 4, !tbaa !5
  %9436 = call ptr @__errno_location() #12
  store i32 %9435, ptr %9436, align 4, !tbaa !5
  %9437 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9438 = load i32, ptr @test_count, align 4, !tbaa !5
  %9439 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9440 = load i32, ptr %9439, align 4, !tbaa !5
  %9441 = call ptr @s2n_strerror(i32 noundef %9440, ptr noundef @.str.11)
  %9442 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9443 = load i32, ptr %9442, align 4, !tbaa !5
  %9444 = call ptr @s2n_strerror_debug(i32 noundef %9443, ptr noundef @.str.11)
  %9445 = call ptr @__errno_location() #12
  %9446 = load i32, ptr %9445, align 4, !tbaa !5
  %9447 = call ptr @strerror(i32 noundef %9446) #11
  %9448 = call ptr @__errno_location() #12
  %9449 = load i32, ptr %9448, align 4, !tbaa !5
  %9450 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9437, ptr noundef @.str.12, i32 noundef %9438, ptr noundef @.str.91, ptr noundef @.str.8, i32 noundef 409, ptr noundef %9441, ptr noundef %9444, ptr noundef %9447, i32 noundef %9449) #11
  br label %9451

9451:                                             ; preds = %9434, %9417
  call void @llvm.lifetime.end.p0(i64 4, ptr %187) #11
  br label %9452

9452:                                             ; preds = %9451
  br label %9453

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

9454:                                             ; No predecessors!
  br label %9455

9455:                                             ; preds = %9454
  br label %9456

9456:                                             ; preds = %9455, %9397
  br label %9457

9457:                                             ; preds = %9456
  br label %9458

9458:                                             ; preds = %9457
  br label %9459

9459:                                             ; preds = %9458
  %9460 = load i32, ptr @test_count, align 4, !tbaa !5
  %9461 = add nsw i32 %9460, 1
  store i32 %9461, ptr @test_count, align 4, !tbaa !5
  %9462 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9463 = load i32, ptr %9462, align 4, !tbaa !5
  %9464 = call ptr @s2n_strerror_debug(i32 noundef %9463, ptr noundef @.str.11)
  %9465 = icmp eq ptr %9464, null
  br i1 %9465, label %9466, label %9519

9466:                                             ; preds = %9459
  br label %9467

9467:                                             ; preds = %9466
  br label %9468

9468:                                             ; preds = %9467
  call void @llvm.lifetime.start.p0(i64 4, ptr %188) #11
  %9469 = call ptr @__errno_location() #12
  %9470 = load i32, ptr %9469, align 4, !tbaa !5
  store i32 %9470, ptr %188, align 4, !tbaa !5
  %9471 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9472 = call i32 @s2n_print_stacktrace(ptr noundef %9471)
  %9473 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9474 = trunc i8 %9473 to i1
  br i1 %9474, label %9475, label %9497

9475:                                             ; preds = %9468
  %9476 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9477 = call i32 @fileno(ptr noundef %9476) #11
  %9478 = call i32 @isatty(i32 noundef %9477) #11
  %9479 = icmp ne i32 %9478, 0
  br i1 %9479, label %9480, label %9497

9480:                                             ; preds = %9475
  %9481 = load i32, ptr %188, align 4, !tbaa !5
  %9482 = call ptr @__errno_location() #12
  store i32 %9481, ptr %9482, align 4, !tbaa !5
  %9483 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9484 = load i32, ptr @test_count, align 4, !tbaa !5
  %9485 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9486 = load i32, ptr %9485, align 4, !tbaa !5
  %9487 = call ptr @s2n_strerror(i32 noundef %9486, ptr noundef @.str.11)
  %9488 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9489 = load i32, ptr %9488, align 4, !tbaa !5
  %9490 = call ptr @s2n_strerror_debug(i32 noundef %9489, ptr noundef @.str.11)
  %9491 = call ptr @__errno_location() #12
  %9492 = load i32, ptr %9491, align 4, !tbaa !5
  %9493 = call ptr @strerror(i32 noundef %9492) #11
  %9494 = call ptr @__errno_location() #12
  %9495 = load i32, ptr %9494, align 4, !tbaa !5
  %9496 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9483, ptr noundef @.str.9, i32 noundef %9484, ptr noundef @.str.54, ptr noundef @.str.8, i32 noundef 409, ptr noundef %9487, ptr noundef %9490, ptr noundef %9493, i32 noundef %9495) #11
  br label %9514

9497:                                             ; preds = %9475, %9468
  %9498 = load i32, ptr %188, align 4, !tbaa !5
  %9499 = call ptr @__errno_location() #12
  store i32 %9498, ptr %9499, align 4, !tbaa !5
  %9500 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9501 = load i32, ptr @test_count, align 4, !tbaa !5
  %9502 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9503 = load i32, ptr %9502, align 4, !tbaa !5
  %9504 = call ptr @s2n_strerror(i32 noundef %9503, ptr noundef @.str.11)
  %9505 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9506 = load i32, ptr %9505, align 4, !tbaa !5
  %9507 = call ptr @s2n_strerror_debug(i32 noundef %9506, ptr noundef @.str.11)
  %9508 = call ptr @__errno_location() #12
  %9509 = load i32, ptr %9508, align 4, !tbaa !5
  %9510 = call ptr @strerror(i32 noundef %9509) #11
  %9511 = call ptr @__errno_location() #12
  %9512 = load i32, ptr %9511, align 4, !tbaa !5
  %9513 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9500, ptr noundef @.str.12, i32 noundef %9501, ptr noundef @.str.54, ptr noundef @.str.8, i32 noundef 409, ptr noundef %9504, ptr noundef %9507, ptr noundef %9510, i32 noundef %9512) #11
  br label %9514

9514:                                             ; preds = %9497, %9480
  call void @llvm.lifetime.end.p0(i64 4, ptr %188) #11
  br label %9515

9515:                                             ; preds = %9514
  br label %9516

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

9517:                                             ; No predecessors!
  br label %9518

9518:                                             ; preds = %9517
  br label %9519

9519:                                             ; preds = %9518, %9459
  br label %9520

9520:                                             ; preds = %9519
  br label %9521

9521:                                             ; preds = %9520
  br label %9522

9522:                                             ; preds = %9521
  br label %9523

9523:                                             ; preds = %9522
  br label %9524

9524:                                             ; preds = %9523
  %9525 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %9525, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %9526 = call ptr @__errno_location() #12
  store i32 0, ptr %9526, align 4, !tbaa !5
  br label %9527

9527:                                             ; preds = %9524
  br label %9528

9528:                                             ; preds = %9527
  br label %9529

9529:                                             ; preds = %9528
  br label %9530

9530:                                             ; preds = %9529
  call void @llvm.lifetime.start.p0(i64 8, ptr %189) #11
  %9531 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %9531, ptr %189, align 8, !tbaa !9
  br label %9532

9532:                                             ; preds = %9530
  %9533 = load i32, ptr @test_count, align 4, !tbaa !5
  %9534 = add nsw i32 %9533, 1
  store i32 %9534, ptr @test_count, align 4, !tbaa !5
  %9535 = load ptr, ptr %189, align 8, !tbaa !9
  %9536 = icmp eq ptr %9535, null
  br i1 %9536, label %9537, label %9590

9537:                                             ; preds = %9532
  br label %9538

9538:                                             ; preds = %9537
  br label %9539

9539:                                             ; preds = %9538
  call void @llvm.lifetime.start.p0(i64 4, ptr %190) #11
  %9540 = call ptr @__errno_location() #12
  %9541 = load i32, ptr %9540, align 4, !tbaa !5
  store i32 %9541, ptr %190, align 4, !tbaa !5
  %9542 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9543 = call i32 @s2n_print_stacktrace(ptr noundef %9542)
  %9544 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9545 = trunc i8 %9544 to i1
  br i1 %9545, label %9546, label %9568

9546:                                             ; preds = %9539
  %9547 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9548 = call i32 @fileno(ptr noundef %9547) #11
  %9549 = call i32 @isatty(i32 noundef %9548) #11
  %9550 = icmp ne i32 %9549, 0
  br i1 %9550, label %9551, label %9568

9551:                                             ; preds = %9546
  %9552 = load i32, ptr %190, align 4, !tbaa !5
  %9553 = call ptr @__errno_location() #12
  store i32 %9552, ptr %9553, align 4, !tbaa !5
  %9554 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9555 = load i32, ptr @test_count, align 4, !tbaa !5
  %9556 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9557 = load i32, ptr %9556, align 4, !tbaa !5
  %9558 = call ptr @s2n_strerror(i32 noundef %9557, ptr noundef @.str.11)
  %9559 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9560 = load i32, ptr %9559, align 4, !tbaa !5
  %9561 = call ptr @s2n_strerror_debug(i32 noundef %9560, ptr noundef @.str.11)
  %9562 = call ptr @__errno_location() #12
  %9563 = load i32, ptr %9562, align 4, !tbaa !5
  %9564 = call ptr @strerror(i32 noundef %9563) #11
  %9565 = call ptr @__errno_location() #12
  %9566 = load i32, ptr %9565, align 4, !tbaa !5
  %9567 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9554, ptr noundef @.str.9, i32 noundef %9555, ptr noundef @.str.92, ptr noundef @.str.8, i32 noundef 412, ptr noundef %9558, ptr noundef %9561, ptr noundef %9564, i32 noundef %9566) #11
  br label %9585

9568:                                             ; preds = %9546, %9539
  %9569 = load i32, ptr %190, align 4, !tbaa !5
  %9570 = call ptr @__errno_location() #12
  store i32 %9569, ptr %9570, align 4, !tbaa !5
  %9571 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9572 = load i32, ptr @test_count, align 4, !tbaa !5
  %9573 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9574 = load i32, ptr %9573, align 4, !tbaa !5
  %9575 = call ptr @s2n_strerror(i32 noundef %9574, ptr noundef @.str.11)
  %9576 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9577 = load i32, ptr %9576, align 4, !tbaa !5
  %9578 = call ptr @s2n_strerror_debug(i32 noundef %9577, ptr noundef @.str.11)
  %9579 = call ptr @__errno_location() #12
  %9580 = load i32, ptr %9579, align 4, !tbaa !5
  %9581 = call ptr @strerror(i32 noundef %9580) #11
  %9582 = call ptr @__errno_location() #12
  %9583 = load i32, ptr %9582, align 4, !tbaa !5
  %9584 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9571, ptr noundef @.str.12, i32 noundef %9572, ptr noundef @.str.92, ptr noundef @.str.8, i32 noundef 412, ptr noundef %9575, ptr noundef %9578, ptr noundef %9581, i32 noundef %9583) #11
  br label %9585

9585:                                             ; preds = %9568, %9551
  call void @llvm.lifetime.end.p0(i64 4, ptr %190) #11
  br label %9586

9586:                                             ; preds = %9585
  br label %9587

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

9588:                                             ; No predecessors!
  br label %9589

9589:                                             ; preds = %9588
  br label %9590

9590:                                             ; preds = %9589, %9532
  br label %9591

9591:                                             ; preds = %9590
  br label %9592

9592:                                             ; preds = %9591
  %9593 = load ptr, ptr %189, align 8, !tbaa !9
  %9594 = getelementptr inbounds %struct.s2n_connection, ptr %9593, i32 0, i32 53
  store i16 1, ptr %9594, align 8, !tbaa !61
  br label %9595

9595:                                             ; preds = %9592
  %9596 = load i32, ptr @test_count, align 4, !tbaa !5
  %9597 = add nsw i32 %9596, 1
  store i32 %9597, ptr @test_count, align 4, !tbaa !5
  %9598 = load ptr, ptr %189, align 8, !tbaa !9
  %9599 = call i32 @s2n_connection_set_max_fragment_length(ptr noundef %9598, i16 noundef zeroext -1)
  %9600 = getelementptr inbounds %struct.s2n_result, ptr %191, i32 0, i32 0
  store i32 %9599, ptr %9600, align 4
  %9601 = getelementptr inbounds %struct.s2n_result, ptr %191, i32 0, i32 0
  %9602 = load i32, ptr %9601, align 4
  %9603 = call zeroext i1 @s2n_result_is_ok(i32 %9602)
  br i1 %9603, label %9657, label %9604

9604:                                             ; preds = %9595
  br label %9605

9605:                                             ; preds = %9604
  br label %9606

9606:                                             ; preds = %9605
  call void @llvm.lifetime.start.p0(i64 4, ptr %192) #11
  %9607 = call ptr @__errno_location() #12
  %9608 = load i32, ptr %9607, align 4, !tbaa !5
  store i32 %9608, ptr %192, align 4, !tbaa !5
  %9609 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9610 = call i32 @s2n_print_stacktrace(ptr noundef %9609)
  %9611 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9612 = trunc i8 %9611 to i1
  br i1 %9612, label %9613, label %9635

9613:                                             ; preds = %9606
  %9614 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9615 = call i32 @fileno(ptr noundef %9614) #11
  %9616 = call i32 @isatty(i32 noundef %9615) #11
  %9617 = icmp ne i32 %9616, 0
  br i1 %9617, label %9618, label %9635

9618:                                             ; preds = %9613
  %9619 = load i32, ptr %192, align 4, !tbaa !5
  %9620 = call ptr @__errno_location() #12
  store i32 %9619, ptr %9620, align 4, !tbaa !5
  %9621 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9622 = load i32, ptr @test_count, align 4, !tbaa !5
  %9623 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9624 = load i32, ptr %9623, align 4, !tbaa !5
  %9625 = call ptr @s2n_strerror(i32 noundef %9624, ptr noundef @.str.11)
  %9626 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9627 = load i32, ptr %9626, align 4, !tbaa !5
  %9628 = call ptr @s2n_strerror_debug(i32 noundef %9627, ptr noundef @.str.11)
  %9629 = call ptr @__errno_location() #12
  %9630 = load i32, ptr %9629, align 4, !tbaa !5
  %9631 = call ptr @strerror(i32 noundef %9630) #11
  %9632 = call ptr @__errno_location() #12
  %9633 = load i32, ptr %9632, align 4, !tbaa !5
  %9634 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9621, ptr noundef @.str.9, i32 noundef %9622, ptr noundef @.str.93, ptr noundef @.str.8, i32 noundef 417, ptr noundef %9625, ptr noundef %9628, ptr noundef %9631, i32 noundef %9633) #11
  br label %9652

9635:                                             ; preds = %9613, %9606
  %9636 = load i32, ptr %192, align 4, !tbaa !5
  %9637 = call ptr @__errno_location() #12
  store i32 %9636, ptr %9637, align 4, !tbaa !5
  %9638 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9639 = load i32, ptr @test_count, align 4, !tbaa !5
  %9640 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9641 = load i32, ptr %9640, align 4, !tbaa !5
  %9642 = call ptr @s2n_strerror(i32 noundef %9641, ptr noundef @.str.11)
  %9643 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9644 = load i32, ptr %9643, align 4, !tbaa !5
  %9645 = call ptr @s2n_strerror_debug(i32 noundef %9644, ptr noundef @.str.11)
  %9646 = call ptr @__errno_location() #12
  %9647 = load i32, ptr %9646, align 4, !tbaa !5
  %9648 = call ptr @strerror(i32 noundef %9647) #11
  %9649 = call ptr @__errno_location() #12
  %9650 = load i32, ptr %9649, align 4, !tbaa !5
  %9651 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9638, ptr noundef @.str.12, i32 noundef %9639, ptr noundef @.str.93, ptr noundef @.str.8, i32 noundef 417, ptr noundef %9642, ptr noundef %9645, ptr noundef %9648, i32 noundef %9650) #11
  br label %9652

9652:                                             ; preds = %9635, %9618
  call void @llvm.lifetime.end.p0(i64 4, ptr %192) #11
  br label %9653

9653:                                             ; preds = %9652
  br label %9654

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

9655:                                             ; No predecessors!
  br label %9656

9656:                                             ; preds = %9655
  br label %9657

9657:                                             ; preds = %9656, %9595
  br label %9658

9658:                                             ; preds = %9657
  br label %9659

9659:                                             ; preds = %9658
  br label %9660

9660:                                             ; preds = %9659
  %9661 = load i32, ptr @test_count, align 4, !tbaa !5
  %9662 = add nsw i32 %9661, 1
  store i32 %9662, ptr @test_count, align 4, !tbaa !5
  %9663 = load ptr, ptr %189, align 8, !tbaa !9
  %9664 = getelementptr inbounds %struct.s2n_connection, ptr %9663, i32 0, i32 53
  %9665 = load i16, ptr %9664, align 8, !tbaa !61
  %9666 = zext i16 %9665 to i32
  %9667 = icmp eq i32 %9666, 65535
  br i1 %9667, label %9721, label %9668

9668:                                             ; preds = %9660
  br label %9669

9669:                                             ; preds = %9668
  br label %9670

9670:                                             ; preds = %9669
  call void @llvm.lifetime.start.p0(i64 4, ptr %193) #11
  %9671 = call ptr @__errno_location() #12
  %9672 = load i32, ptr %9671, align 4, !tbaa !5
  store i32 %9672, ptr %193, align 4, !tbaa !5
  %9673 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9674 = call i32 @s2n_print_stacktrace(ptr noundef %9673)
  %9675 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9676 = trunc i8 %9675 to i1
  br i1 %9676, label %9677, label %9699

9677:                                             ; preds = %9670
  %9678 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9679 = call i32 @fileno(ptr noundef %9678) #11
  %9680 = call i32 @isatty(i32 noundef %9679) #11
  %9681 = icmp ne i32 %9680, 0
  br i1 %9681, label %9682, label %9699

9682:                                             ; preds = %9677
  %9683 = load i32, ptr %193, align 4, !tbaa !5
  %9684 = call ptr @__errno_location() #12
  store i32 %9683, ptr %9684, align 4, !tbaa !5
  %9685 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9686 = load i32, ptr @test_count, align 4, !tbaa !5
  %9687 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9688 = load i32, ptr %9687, align 4, !tbaa !5
  %9689 = call ptr @s2n_strerror(i32 noundef %9688, ptr noundef @.str.11)
  %9690 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9691 = load i32, ptr %9690, align 4, !tbaa !5
  %9692 = call ptr @s2n_strerror_debug(i32 noundef %9691, ptr noundef @.str.11)
  %9693 = call ptr @__errno_location() #12
  %9694 = load i32, ptr %9693, align 4, !tbaa !5
  %9695 = call ptr @strerror(i32 noundef %9694) #11
  %9696 = call ptr @__errno_location() #12
  %9697 = load i32, ptr %9696, align 4, !tbaa !5
  %9698 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9685, ptr noundef @.str.9, i32 noundef %9686, ptr noundef @.str.94, ptr noundef @.str.8, i32 noundef 418, ptr noundef %9689, ptr noundef %9692, ptr noundef %9695, i32 noundef %9697) #11
  br label %9716

9699:                                             ; preds = %9677, %9670
  %9700 = load i32, ptr %193, 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.11)
  %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.11)
  %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.12, i32 noundef %9703, ptr noundef @.str.94, ptr noundef @.str.8, i32 noundef 418, ptr noundef %9706, ptr noundef %9709, ptr noundef %9712, i32 noundef %9714) #11
  br label %9716

9716:                                             ; preds = %9699, %9682
  call void @llvm.lifetime.end.p0(i64 4, ptr %193) #11
  br label %9717

9717:                                             ; preds = %9716
  br label %9718

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

9719:                                             ; No predecessors!
  br label %9720

9720:                                             ; preds = %9719
  br label %9721

9721:                                             ; preds = %9720, %9660
  br label %9722

9722:                                             ; preds = %9721
  br label %9723

9723:                                             ; preds = %9722
  br label %9724

9724:                                             ; preds = %9723
  %9725 = load i32, ptr @test_count, align 4, !tbaa !5
  %9726 = add nsw i32 %9725, 1
  store i32 %9726, ptr @test_count, align 4, !tbaa !5
  %9727 = load ptr, ptr %189, align 8, !tbaa !9
  %9728 = getelementptr inbounds %struct.s2n_connection, ptr %9727, i32 0, i32 41
  %9729 = getelementptr inbounds %struct.s2n_stuffer, ptr %9728, i32 0, i32 0
  %9730 = getelementptr inbounds %struct.s2n_blob, ptr %9729, i32 0, i32 1
  %9731 = load i32, ptr %9730, align 8, !tbaa !62
  %9732 = icmp eq i32 %9731, 0
  br i1 %9732, label %9786, label %9733

9733:                                             ; preds = %9724
  br label %9734

9734:                                             ; preds = %9733
  br label %9735

9735:                                             ; preds = %9734
  call void @llvm.lifetime.start.p0(i64 4, ptr %194) #11
  %9736 = call ptr @__errno_location() #12
  %9737 = load i32, ptr %9736, align 4, !tbaa !5
  store i32 %9737, ptr %194, align 4, !tbaa !5
  %9738 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9739 = call i32 @s2n_print_stacktrace(ptr noundef %9738)
  %9740 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9741 = trunc i8 %9740 to i1
  br i1 %9741, label %9742, label %9764

9742:                                             ; preds = %9735
  %9743 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9744 = call i32 @fileno(ptr noundef %9743) #11
  %9745 = call i32 @isatty(i32 noundef %9744) #11
  %9746 = icmp ne i32 %9745, 0
  br i1 %9746, label %9747, label %9764

9747:                                             ; preds = %9742
  %9748 = load i32, ptr %194, align 4, !tbaa !5
  %9749 = call ptr @__errno_location() #12
  store i32 %9748, ptr %9749, align 4, !tbaa !5
  %9750 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9751 = load i32, ptr @test_count, align 4, !tbaa !5
  %9752 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9753 = load i32, ptr %9752, align 4, !tbaa !5
  %9754 = call ptr @s2n_strerror(i32 noundef %9753, ptr noundef @.str.11)
  %9755 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9756 = load i32, ptr %9755, align 4, !tbaa !5
  %9757 = call ptr @s2n_strerror_debug(i32 noundef %9756, ptr noundef @.str.11)
  %9758 = call ptr @__errno_location() #12
  %9759 = load i32, ptr %9758, align 4, !tbaa !5
  %9760 = call ptr @strerror(i32 noundef %9759) #11
  %9761 = call ptr @__errno_location() #12
  %9762 = load i32, ptr %9761, align 4, !tbaa !5
  %9763 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9750, ptr noundef @.str.9, i32 noundef %9751, ptr noundef @.str.95, ptr noundef @.str.8, i32 noundef 419, ptr noundef %9754, ptr noundef %9757, ptr noundef %9760, i32 noundef %9762) #11
  br label %9781

9764:                                             ; preds = %9742, %9735
  %9765 = load i32, ptr %194, align 4, !tbaa !5
  %9766 = call ptr @__errno_location() #12
  store i32 %9765, ptr %9766, align 4, !tbaa !5
  %9767 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9768 = load i32, ptr @test_count, align 4, !tbaa !5
  %9769 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9770 = load i32, ptr %9769, align 4, !tbaa !5
  %9771 = call ptr @s2n_strerror(i32 noundef %9770, ptr noundef @.str.11)
  %9772 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9773 = load i32, ptr %9772, align 4, !tbaa !5
  %9774 = call ptr @s2n_strerror_debug(i32 noundef %9773, ptr noundef @.str.11)
  %9775 = call ptr @__errno_location() #12
  %9776 = load i32, ptr %9775, align 4, !tbaa !5
  %9777 = call ptr @strerror(i32 noundef %9776) #11
  %9778 = call ptr @__errno_location() #12
  %9779 = load i32, ptr %9778, align 4, !tbaa !5
  %9780 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9767, ptr noundef @.str.12, i32 noundef %9768, ptr noundef @.str.95, ptr noundef @.str.8, i32 noundef 419, ptr noundef %9771, ptr noundef %9774, ptr noundef %9777, i32 noundef %9779) #11
  br label %9781

9781:                                             ; preds = %9764, %9747
  call void @llvm.lifetime.end.p0(i64 4, ptr %194) #11
  br label %9782

9782:                                             ; preds = %9781
  br label %9783

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

9784:                                             ; No predecessors!
  br label %9785

9785:                                             ; preds = %9784
  br label %9786

9786:                                             ; preds = %9785, %9724
  br label %9787

9787:                                             ; preds = %9786
  br label %9788

9788:                                             ; preds = %9787
  %9789 = load ptr, ptr %189, align 8, !tbaa !9
  %9790 = getelementptr inbounds %struct.s2n_connection, ptr %9789, i32 0, i32 53
  store i16 1, ptr %9790, align 8, !tbaa !61
  br label %9791

9791:                                             ; preds = %9788
  %9792 = load i32, ptr @test_count, align 4, !tbaa !5
  %9793 = add nsw i32 %9792, 1
  store i32 %9793, ptr @test_count, align 4, !tbaa !5
  %9794 = load ptr, ptr %189, align 8, !tbaa !9
  %9795 = call i32 @s2n_connection_set_max_fragment_length(ptr noundef %9794, i16 noundef zeroext 10)
  %9796 = getelementptr inbounds %struct.s2n_result, ptr %195, i32 0, i32 0
  store i32 %9795, ptr %9796, align 4
  %9797 = getelementptr inbounds %struct.s2n_result, ptr %195, i32 0, i32 0
  %9798 = load i32, ptr %9797, align 4
  %9799 = call zeroext i1 @s2n_result_is_ok(i32 %9798)
  br i1 %9799, label %9853, label %9800

9800:                                             ; preds = %9791
  br label %9801

9801:                                             ; preds = %9800
  br label %9802

9802:                                             ; preds = %9801
  call void @llvm.lifetime.start.p0(i64 4, ptr %196) #11
  %9803 = call ptr @__errno_location() #12
  %9804 = load i32, ptr %9803, align 4, !tbaa !5
  store i32 %9804, ptr %196, align 4, !tbaa !5
  %9805 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9806 = call i32 @s2n_print_stacktrace(ptr noundef %9805)
  %9807 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9808 = trunc i8 %9807 to i1
  br i1 %9808, label %9809, label %9831

9809:                                             ; preds = %9802
  %9810 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9811 = call i32 @fileno(ptr noundef %9810) #11
  %9812 = call i32 @isatty(i32 noundef %9811) #11
  %9813 = icmp ne i32 %9812, 0
  br i1 %9813, label %9814, label %9831

9814:                                             ; preds = %9809
  %9815 = load i32, ptr %196, align 4, !tbaa !5
  %9816 = call ptr @__errno_location() #12
  store i32 %9815, ptr %9816, align 4, !tbaa !5
  %9817 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9818 = load i32, ptr @test_count, align 4, !tbaa !5
  %9819 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9820 = load i32, ptr %9819, align 4, !tbaa !5
  %9821 = call ptr @s2n_strerror(i32 noundef %9820, ptr noundef @.str.11)
  %9822 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9823 = load i32, ptr %9822, align 4, !tbaa !5
  %9824 = call ptr @s2n_strerror_debug(i32 noundef %9823, ptr noundef @.str.11)
  %9825 = call ptr @__errno_location() #12
  %9826 = load i32, ptr %9825, align 4, !tbaa !5
  %9827 = call ptr @strerror(i32 noundef %9826) #11
  %9828 = call ptr @__errno_location() #12
  %9829 = load i32, ptr %9828, align 4, !tbaa !5
  %9830 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9817, ptr noundef @.str.9, i32 noundef %9818, ptr noundef @.str.96, ptr noundef @.str.8, i32 noundef 425, ptr noundef %9821, ptr noundef %9824, ptr noundef %9827, i32 noundef %9829) #11
  br label %9848

9831:                                             ; preds = %9809, %9802
  %9832 = load i32, ptr %196, align 4, !tbaa !5
  %9833 = call ptr @__errno_location() #12
  store i32 %9832, ptr %9833, align 4, !tbaa !5
  %9834 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9835 = load i32, ptr @test_count, align 4, !tbaa !5
  %9836 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9837 = load i32, ptr %9836, align 4, !tbaa !5
  %9838 = call ptr @s2n_strerror(i32 noundef %9837, ptr noundef @.str.11)
  %9839 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9840 = load i32, ptr %9839, align 4, !tbaa !5
  %9841 = call ptr @s2n_strerror_debug(i32 noundef %9840, ptr noundef @.str.11)
  %9842 = call ptr @__errno_location() #12
  %9843 = load i32, ptr %9842, align 4, !tbaa !5
  %9844 = call ptr @strerror(i32 noundef %9843) #11
  %9845 = call ptr @__errno_location() #12
  %9846 = load i32, ptr %9845, align 4, !tbaa !5
  %9847 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9834, ptr noundef @.str.12, i32 noundef %9835, ptr noundef @.str.96, ptr noundef @.str.8, i32 noundef 425, ptr noundef %9838, ptr noundef %9841, ptr noundef %9844, i32 noundef %9846) #11
  br label %9848

9848:                                             ; preds = %9831, %9814
  call void @llvm.lifetime.end.p0(i64 4, ptr %196) #11
  br label %9849

9849:                                             ; preds = %9848
  br label %9850

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

9851:                                             ; No predecessors!
  br label %9852

9852:                                             ; preds = %9851
  br label %9853

9853:                                             ; preds = %9852, %9791
  br label %9854

9854:                                             ; preds = %9853
  br label %9855

9855:                                             ; preds = %9854
  br label %9856

9856:                                             ; preds = %9855
  %9857 = load i32, ptr @test_count, align 4, !tbaa !5
  %9858 = add nsw i32 %9857, 1
  store i32 %9858, ptr @test_count, align 4, !tbaa !5
  %9859 = load ptr, ptr %189, align 8, !tbaa !9
  %9860 = getelementptr inbounds %struct.s2n_connection, ptr %9859, i32 0, i32 53
  %9861 = load i16, ptr %9860, align 8, !tbaa !61
  %9862 = zext i16 %9861 to i32
  %9863 = icmp eq i32 %9862, 10
  br i1 %9863, label %9917, label %9864

9864:                                             ; preds = %9856
  br label %9865

9865:                                             ; preds = %9864
  br label %9866

9866:                                             ; preds = %9865
  call void @llvm.lifetime.start.p0(i64 4, ptr %197) #11
  %9867 = call ptr @__errno_location() #12
  %9868 = load i32, ptr %9867, align 4, !tbaa !5
  store i32 %9868, ptr %197, align 4, !tbaa !5
  %9869 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9870 = call i32 @s2n_print_stacktrace(ptr noundef %9869)
  %9871 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9872 = trunc i8 %9871 to i1
  br i1 %9872, label %9873, label %9895

9873:                                             ; preds = %9866
  %9874 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9875 = call i32 @fileno(ptr noundef %9874) #11
  %9876 = call i32 @isatty(i32 noundef %9875) #11
  %9877 = icmp ne i32 %9876, 0
  br i1 %9877, label %9878, label %9895

9878:                                             ; preds = %9873
  %9879 = load i32, ptr %197, align 4, !tbaa !5
  %9880 = call ptr @__errno_location() #12
  store i32 %9879, ptr %9880, align 4, !tbaa !5
  %9881 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9882 = load i32, ptr @test_count, align 4, !tbaa !5
  %9883 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9884 = load i32, ptr %9883, align 4, !tbaa !5
  %9885 = call ptr @s2n_strerror(i32 noundef %9884, ptr noundef @.str.11)
  %9886 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9887 = load i32, ptr %9886, align 4, !tbaa !5
  %9888 = call ptr @s2n_strerror_debug(i32 noundef %9887, ptr noundef @.str.11)
  %9889 = call ptr @__errno_location() #12
  %9890 = load i32, ptr %9889, align 4, !tbaa !5
  %9891 = call ptr @strerror(i32 noundef %9890) #11
  %9892 = call ptr @__errno_location() #12
  %9893 = load i32, ptr %9892, align 4, !tbaa !5
  %9894 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9881, ptr noundef @.str.9, i32 noundef %9882, ptr noundef @.str.97, ptr noundef @.str.8, i32 noundef 426, ptr noundef %9885, ptr noundef %9888, ptr noundef %9891, i32 noundef %9893) #11
  br label %9912

9895:                                             ; preds = %9873, %9866
  %9896 = load i32, ptr %197, align 4, !tbaa !5
  %9897 = call ptr @__errno_location() #12
  store i32 %9896, ptr %9897, align 4, !tbaa !5
  %9898 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9899 = load i32, ptr @test_count, align 4, !tbaa !5
  %9900 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9901 = load i32, ptr %9900, align 4, !tbaa !5
  %9902 = call ptr @s2n_strerror(i32 noundef %9901, ptr noundef @.str.11)
  %9903 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9904 = load i32, ptr %9903, align 4, !tbaa !5
  %9905 = call ptr @s2n_strerror_debug(i32 noundef %9904, ptr noundef @.str.11)
  %9906 = call ptr @__errno_location() #12
  %9907 = load i32, ptr %9906, align 4, !tbaa !5
  %9908 = call ptr @strerror(i32 noundef %9907) #11
  %9909 = call ptr @__errno_location() #12
  %9910 = load i32, ptr %9909, align 4, !tbaa !5
  %9911 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9898, ptr noundef @.str.12, i32 noundef %9899, ptr noundef @.str.97, ptr noundef @.str.8, i32 noundef 426, ptr noundef %9902, ptr noundef %9905, ptr noundef %9908, i32 noundef %9910) #11
  br label %9912

9912:                                             ; preds = %9895, %9878
  call void @llvm.lifetime.end.p0(i64 4, ptr %197) #11
  br label %9913

9913:                                             ; preds = %9912
  br label %9914

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

9915:                                             ; No predecessors!
  br label %9916

9916:                                             ; preds = %9915
  br label %9917

9917:                                             ; preds = %9916, %9856
  br label %9918

9918:                                             ; preds = %9917
  br label %9919

9919:                                             ; preds = %9918
  br label %9920

9920:                                             ; preds = %9919
  %9921 = load i32, ptr @test_count, align 4, !tbaa !5
  %9922 = add nsw i32 %9921, 1
  store i32 %9922, ptr @test_count, align 4, !tbaa !5
  %9923 = load ptr, ptr %189, align 8, !tbaa !9
  %9924 = getelementptr inbounds %struct.s2n_connection, ptr %9923, i32 0, i32 41
  %9925 = getelementptr inbounds %struct.s2n_stuffer, ptr %9924, i32 0, i32 0
  %9926 = getelementptr inbounds %struct.s2n_blob, ptr %9925, i32 0, i32 1
  %9927 = load i32, ptr %9926, align 8, !tbaa !62
  %9928 = icmp eq i32 %9927, 0
  br i1 %9928, label %9982, label %9929

9929:                                             ; preds = %9920
  br label %9930

9930:                                             ; preds = %9929
  br label %9931

9931:                                             ; preds = %9930
  call void @llvm.lifetime.start.p0(i64 4, ptr %198) #11
  %9932 = call ptr @__errno_location() #12
  %9933 = load i32, ptr %9932, align 4, !tbaa !5
  store i32 %9933, ptr %198, align 4, !tbaa !5
  %9934 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9935 = call i32 @s2n_print_stacktrace(ptr noundef %9934)
  %9936 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9937 = trunc i8 %9936 to i1
  br i1 %9937, label %9938, label %9960

9938:                                             ; preds = %9931
  %9939 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9940 = call i32 @fileno(ptr noundef %9939) #11
  %9941 = call i32 @isatty(i32 noundef %9940) #11
  %9942 = icmp ne i32 %9941, 0
  br i1 %9942, label %9943, label %9960

9943:                                             ; preds = %9938
  %9944 = load i32, ptr %198, align 4, !tbaa !5
  %9945 = call ptr @__errno_location() #12
  store i32 %9944, ptr %9945, align 4, !tbaa !5
  %9946 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9947 = load i32, ptr @test_count, align 4, !tbaa !5
  %9948 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9949 = load i32, ptr %9948, align 4, !tbaa !5
  %9950 = call ptr @s2n_strerror(i32 noundef %9949, ptr noundef @.str.11)
  %9951 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9952 = load i32, ptr %9951, align 4, !tbaa !5
  %9953 = call ptr @s2n_strerror_debug(i32 noundef %9952, ptr noundef @.str.11)
  %9954 = call ptr @__errno_location() #12
  %9955 = load i32, ptr %9954, align 4, !tbaa !5
  %9956 = call ptr @strerror(i32 noundef %9955) #11
  %9957 = call ptr @__errno_location() #12
  %9958 = load i32, ptr %9957, align 4, !tbaa !5
  %9959 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9946, ptr noundef @.str.9, i32 noundef %9947, ptr noundef @.str.95, ptr noundef @.str.8, i32 noundef 427, ptr noundef %9950, ptr noundef %9953, ptr noundef %9956, i32 noundef %9958) #11
  br label %9977

9960:                                             ; preds = %9938, %9931
  %9961 = load i32, ptr %198, align 4, !tbaa !5
  %9962 = call ptr @__errno_location() #12
  store i32 %9961, ptr %9962, align 4, !tbaa !5
  %9963 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9964 = load i32, ptr @test_count, align 4, !tbaa !5
  %9965 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9966 = load i32, ptr %9965, align 4, !tbaa !5
  %9967 = call ptr @s2n_strerror(i32 noundef %9966, ptr noundef @.str.11)
  %9968 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9969 = load i32, ptr %9968, align 4, !tbaa !5
  %9970 = call ptr @s2n_strerror_debug(i32 noundef %9969, ptr noundef @.str.11)
  %9971 = call ptr @__errno_location() #12
  %9972 = load i32, ptr %9971, align 4, !tbaa !5
  %9973 = call ptr @strerror(i32 noundef %9972) #11
  %9974 = call ptr @__errno_location() #12
  %9975 = load i32, ptr %9974, align 4, !tbaa !5
  %9976 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9963, ptr noundef @.str.12, i32 noundef %9964, ptr noundef @.str.95, ptr noundef @.str.8, i32 noundef 427, ptr noundef %9967, ptr noundef %9970, ptr noundef %9973, i32 noundef %9975) #11
  br label %9977

9977:                                             ; preds = %9960, %9943
  call void @llvm.lifetime.end.p0(i64 4, ptr %198) #11
  br label %9978

9978:                                             ; preds = %9977
  br label %9979

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

9980:                                             ; No predecessors!
  br label %9981

9981:                                             ; preds = %9980
  br label %9982

9982:                                             ; preds = %9981, %9920
  br label %9983

9983:                                             ; preds = %9982
  br label %9984

9984:                                             ; preds = %9983
  %9985 = load ptr, ptr %189, align 8, !tbaa !9
  %9986 = getelementptr inbounds %struct.s2n_connection, ptr %9985, i32 0, i32 57
  store i8 2, ptr %9986, align 8, !tbaa !63
  %9987 = load ptr, ptr %189, align 8, !tbaa !9
  %9988 = getelementptr inbounds %struct.s2n_connection, ptr %9987, i32 0, i32 53
  store i16 1, ptr %9988, align 8, !tbaa !61
  br label %9989

9989:                                             ; preds = %9984
  %9990 = load i32, ptr @test_count, align 4, !tbaa !5
  %9991 = add nsw i32 %9990, 1
  store i32 %9991, ptr @test_count, align 4, !tbaa !5
  %9992 = load ptr, ptr %189, align 8, !tbaa !9
  %9993 = call i32 @s2n_connection_set_max_fragment_length(ptr noundef %9992, i16 noundef zeroext -1)
  %9994 = getelementptr inbounds %struct.s2n_result, ptr %199, i32 0, i32 0
  store i32 %9993, ptr %9994, align 4
  %9995 = getelementptr inbounds %struct.s2n_result, ptr %199, i32 0, i32 0
  %9996 = load i32, ptr %9995, align 4
  %9997 = call zeroext i1 @s2n_result_is_ok(i32 %9996)
  br i1 %9997, label %10051, label %9998

9998:                                             ; preds = %9989
  br label %9999

9999:                                             ; preds = %9998
  br label %10000

10000:                                            ; preds = %9999
  call void @llvm.lifetime.start.p0(i64 4, ptr %200) #11
  %10001 = call ptr @__errno_location() #12
  %10002 = load i32, ptr %10001, align 4, !tbaa !5
  store i32 %10002, ptr %200, align 4, !tbaa !5
  %10003 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10004 = call i32 @s2n_print_stacktrace(ptr noundef %10003)
  %10005 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10006 = trunc i8 %10005 to i1
  br i1 %10006, label %10007, label %10029

10007:                                            ; preds = %10000
  %10008 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10009 = call i32 @fileno(ptr noundef %10008) #11
  %10010 = call i32 @isatty(i32 noundef %10009) #11
  %10011 = icmp ne i32 %10010, 0
  br i1 %10011, label %10012, label %10029

10012:                                            ; preds = %10007
  %10013 = load i32, ptr %200, align 4, !tbaa !5
  %10014 = call ptr @__errno_location() #12
  store i32 %10013, ptr %10014, align 4, !tbaa !5
  %10015 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10016 = load i32, ptr @test_count, align 4, !tbaa !5
  %10017 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10018 = load i32, ptr %10017, align 4, !tbaa !5
  %10019 = call ptr @s2n_strerror(i32 noundef %10018, ptr noundef @.str.11)
  %10020 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10021 = load i32, ptr %10020, align 4, !tbaa !5
  %10022 = call ptr @s2n_strerror_debug(i32 noundef %10021, ptr noundef @.str.11)
  %10023 = call ptr @__errno_location() #12
  %10024 = load i32, ptr %10023, align 4, !tbaa !5
  %10025 = call ptr @strerror(i32 noundef %10024) #11
  %10026 = call ptr @__errno_location() #12
  %10027 = load i32, ptr %10026, align 4, !tbaa !5
  %10028 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10015, ptr noundef @.str.9, i32 noundef %10016, ptr noundef @.str.93, ptr noundef @.str.8, i32 noundef 434, ptr noundef %10019, ptr noundef %10022, ptr noundef %10025, i32 noundef %10027) #11
  br label %10046

10029:                                            ; preds = %10007, %10000
  %10030 = load i32, ptr %200, align 4, !tbaa !5
  %10031 = call ptr @__errno_location() #12
  store i32 %10030, ptr %10031, align 4, !tbaa !5
  %10032 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10033 = load i32, ptr @test_count, align 4, !tbaa !5
  %10034 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10035 = load i32, ptr %10034, align 4, !tbaa !5
  %10036 = call ptr @s2n_strerror(i32 noundef %10035, ptr noundef @.str.11)
  %10037 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10038 = load i32, ptr %10037, align 4, !tbaa !5
  %10039 = call ptr @s2n_strerror_debug(i32 noundef %10038, ptr noundef @.str.11)
  %10040 = call ptr @__errno_location() #12
  %10041 = load i32, ptr %10040, align 4, !tbaa !5
  %10042 = call ptr @strerror(i32 noundef %10041) #11
  %10043 = call ptr @__errno_location() #12
  %10044 = load i32, ptr %10043, align 4, !tbaa !5
  %10045 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10032, ptr noundef @.str.12, i32 noundef %10033, ptr noundef @.str.93, ptr noundef @.str.8, i32 noundef 434, ptr noundef %10036, ptr noundef %10039, ptr noundef %10042, i32 noundef %10044) #11
  br label %10046

10046:                                            ; preds = %10029, %10012
  call void @llvm.lifetime.end.p0(i64 4, ptr %200) #11
  br label %10047

10047:                                            ; preds = %10046
  br label %10048

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

10049:                                            ; No predecessors!
  br label %10050

10050:                                            ; preds = %10049
  br label %10051

10051:                                            ; preds = %10050, %9989
  br label %10052

10052:                                            ; preds = %10051
  br label %10053

10053:                                            ; preds = %10052
  br label %10054

10054:                                            ; preds = %10053
  %10055 = load i32, ptr @test_count, align 4, !tbaa !5
  %10056 = add nsw i32 %10055, 1
  store i32 %10056, ptr @test_count, align 4, !tbaa !5
  %10057 = load ptr, ptr %189, align 8, !tbaa !9
  %10058 = getelementptr inbounds %struct.s2n_connection, ptr %10057, i32 0, i32 53
  %10059 = load i16, ptr %10058, align 8, !tbaa !61
  %10060 = zext i16 %10059 to i32
  %10061 = icmp eq i32 %10060, 1024
  br i1 %10061, label %10115, label %10062

10062:                                            ; preds = %10054
  br label %10063

10063:                                            ; preds = %10062
  br label %10064

10064:                                            ; preds = %10063
  call void @llvm.lifetime.start.p0(i64 4, ptr %201) #11
  %10065 = call ptr @__errno_location() #12
  %10066 = load i32, ptr %10065, align 4, !tbaa !5
  store i32 %10066, ptr %201, align 4, !tbaa !5
  %10067 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10068 = call i32 @s2n_print_stacktrace(ptr noundef %10067)
  %10069 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10070 = trunc i8 %10069 to i1
  br i1 %10070, label %10071, label %10093

10071:                                            ; preds = %10064
  %10072 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10073 = call i32 @fileno(ptr noundef %10072) #11
  %10074 = call i32 @isatty(i32 noundef %10073) #11
  %10075 = icmp ne i32 %10074, 0
  br i1 %10075, label %10076, label %10093

10076:                                            ; preds = %10071
  %10077 = load i32, ptr %201, align 4, !tbaa !5
  %10078 = call ptr @__errno_location() #12
  store i32 %10077, ptr %10078, align 4, !tbaa !5
  %10079 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10080 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %10082, ptr noundef @.str.11)
  %10084 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10085 = load i32, ptr %10084, align 4, !tbaa !5
  %10086 = call ptr @s2n_strerror_debug(i32 noundef %10085, ptr noundef @.str.11)
  %10087 = call ptr @__errno_location() #12
  %10088 = load i32, ptr %10087, align 4, !tbaa !5
  %10089 = call ptr @strerror(i32 noundef %10088) #11
  %10090 = call ptr @__errno_location() #12
  %10091 = load i32, ptr %10090, align 4, !tbaa !5
  %10092 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10079, ptr noundef @.str.9, i32 noundef %10080, ptr noundef @.str.98, ptr noundef @.str.8, i32 noundef 435, ptr noundef %10083, ptr noundef %10086, ptr noundef %10089, i32 noundef %10091) #11
  br label %10110

10093:                                            ; preds = %10071, %10064
  %10094 = load i32, ptr %201, align 4, !tbaa !5
  %10095 = call ptr @__errno_location() #12
  store i32 %10094, ptr %10095, align 4, !tbaa !5
  %10096 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10097 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %10099, ptr noundef @.str.11)
  %10101 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10102 = load i32, ptr %10101, align 4, !tbaa !5
  %10103 = call ptr @s2n_strerror_debug(i32 noundef %10102, ptr noundef @.str.11)
  %10104 = call ptr @__errno_location() #12
  %10105 = load i32, ptr %10104, align 4, !tbaa !5
  %10106 = call ptr @strerror(i32 noundef %10105) #11
  %10107 = call ptr @__errno_location() #12
  %10108 = load i32, ptr %10107, align 4, !tbaa !5
  %10109 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10096, ptr noundef @.str.12, i32 noundef %10097, ptr noundef @.str.98, ptr noundef @.str.8, i32 noundef 435, ptr noundef %10100, ptr noundef %10103, ptr noundef %10106, i32 noundef %10108) #11
  br label %10110

10110:                                            ; preds = %10093, %10076
  call void @llvm.lifetime.end.p0(i64 4, ptr %201) #11
  br label %10111

10111:                                            ; preds = %10110
  br label %10112

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

10113:                                            ; No predecessors!
  br label %10114

10114:                                            ; preds = %10113
  br label %10115

10115:                                            ; preds = %10114, %10054
  br label %10116

10116:                                            ; preds = %10115
  br label %10117

10117:                                            ; preds = %10116
  br label %10118

10118:                                            ; preds = %10117
  %10119 = load i32, ptr @test_count, align 4, !tbaa !5
  %10120 = add nsw i32 %10119, 1
  store i32 %10120, ptr @test_count, align 4, !tbaa !5
  %10121 = load ptr, ptr %189, align 8, !tbaa !9
  %10122 = getelementptr inbounds %struct.s2n_connection, ptr %10121, i32 0, i32 41
  %10123 = getelementptr inbounds %struct.s2n_stuffer, ptr %10122, i32 0, i32 0
  %10124 = getelementptr inbounds %struct.s2n_blob, ptr %10123, i32 0, i32 1
  %10125 = load i32, ptr %10124, align 8, !tbaa !62
  %10126 = icmp eq i32 %10125, 0
  br i1 %10126, label %10180, label %10127

10127:                                            ; preds = %10118
  br label %10128

10128:                                            ; preds = %10127
  br label %10129

10129:                                            ; preds = %10128
  call void @llvm.lifetime.start.p0(i64 4, ptr %202) #11
  %10130 = call ptr @__errno_location() #12
  %10131 = load i32, ptr %10130, align 4, !tbaa !5
  store i32 %10131, ptr %202, align 4, !tbaa !5
  %10132 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10133 = call i32 @s2n_print_stacktrace(ptr noundef %10132)
  %10134 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10135 = trunc i8 %10134 to i1
  br i1 %10135, label %10136, label %10158

10136:                                            ; preds = %10129
  %10137 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10138 = call i32 @fileno(ptr noundef %10137) #11
  %10139 = call i32 @isatty(i32 noundef %10138) #11
  %10140 = icmp ne i32 %10139, 0
  br i1 %10140, label %10141, label %10158

10141:                                            ; preds = %10136
  %10142 = load i32, ptr %202, align 4, !tbaa !5
  %10143 = call ptr @__errno_location() #12
  store i32 %10142, ptr %10143, align 4, !tbaa !5
  %10144 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10145 = load i32, ptr @test_count, align 4, !tbaa !5
  %10146 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10147 = load i32, ptr %10146, align 4, !tbaa !5
  %10148 = call ptr @s2n_strerror(i32 noundef %10147, ptr noundef @.str.11)
  %10149 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10150 = load i32, ptr %10149, align 4, !tbaa !5
  %10151 = call ptr @s2n_strerror_debug(i32 noundef %10150, ptr noundef @.str.11)
  %10152 = call ptr @__errno_location() #12
  %10153 = load i32, ptr %10152, align 4, !tbaa !5
  %10154 = call ptr @strerror(i32 noundef %10153) #11
  %10155 = call ptr @__errno_location() #12
  %10156 = load i32, ptr %10155, align 4, !tbaa !5
  %10157 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10144, ptr noundef @.str.9, i32 noundef %10145, ptr noundef @.str.95, ptr noundef @.str.8, i32 noundef 436, ptr noundef %10148, ptr noundef %10151, ptr noundef %10154, i32 noundef %10156) #11
  br label %10175

10158:                                            ; preds = %10136, %10129
  %10159 = load i32, ptr %202, align 4, !tbaa !5
  %10160 = call ptr @__errno_location() #12
  store i32 %10159, ptr %10160, align 4, !tbaa !5
  %10161 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10162 = load i32, ptr @test_count, align 4, !tbaa !5
  %10163 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10164 = load i32, ptr %10163, align 4, !tbaa !5
  %10165 = call ptr @s2n_strerror(i32 noundef %10164, ptr noundef @.str.11)
  %10166 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10167 = load i32, ptr %10166, align 4, !tbaa !5
  %10168 = call ptr @s2n_strerror_debug(i32 noundef %10167, ptr noundef @.str.11)
  %10169 = call ptr @__errno_location() #12
  %10170 = load i32, ptr %10169, align 4, !tbaa !5
  %10171 = call ptr @strerror(i32 noundef %10170) #11
  %10172 = call ptr @__errno_location() #12
  %10173 = load i32, ptr %10172, align 4, !tbaa !5
  %10174 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10161, ptr noundef @.str.12, i32 noundef %10162, ptr noundef @.str.95, ptr noundef @.str.8, i32 noundef 436, ptr noundef %10165, ptr noundef %10168, ptr noundef %10171, i32 noundef %10173) #11
  br label %10175

10175:                                            ; preds = %10158, %10141
  call void @llvm.lifetime.end.p0(i64 4, ptr %202) #11
  br label %10176

10176:                                            ; preds = %10175
  br label %10177

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

10178:                                            ; No predecessors!
  br label %10179

10179:                                            ; preds = %10178
  br label %10180

10180:                                            ; preds = %10179, %10118
  br label %10181

10181:                                            ; preds = %10180
  br label %10182

10182:                                            ; preds = %10181
  %10183 = load ptr, ptr %189, align 8, !tbaa !9
  %10184 = getelementptr inbounds %struct.s2n_connection, ptr %10183, i32 0, i32 57
  store i8 2, ptr %10184, align 8, !tbaa !63
  %10185 = load ptr, ptr %189, align 8, !tbaa !9
  %10186 = getelementptr inbounds %struct.s2n_connection, ptr %10185, i32 0, i32 53
  store i16 1, ptr %10186, align 8, !tbaa !61
  br label %10187

10187:                                            ; preds = %10182
  %10188 = load i32, ptr @test_count, align 4, !tbaa !5
  %10189 = add nsw i32 %10188, 1
  store i32 %10189, ptr @test_count, align 4, !tbaa !5
  %10190 = load ptr, ptr %189, align 8, !tbaa !9
  %10191 = call i32 @s2n_connection_set_max_fragment_length(ptr noundef %10190, i16 noundef zeroext 10)
  %10192 = getelementptr inbounds %struct.s2n_result, ptr %203, i32 0, i32 0
  store i32 %10191, ptr %10192, align 4
  %10193 = getelementptr inbounds %struct.s2n_result, ptr %203, i32 0, i32 0
  %10194 = load i32, ptr %10193, align 4
  %10195 = call zeroext i1 @s2n_result_is_ok(i32 %10194)
  br i1 %10195, label %10249, label %10196

10196:                                            ; preds = %10187
  br label %10197

10197:                                            ; preds = %10196
  br label %10198

10198:                                            ; preds = %10197
  call void @llvm.lifetime.start.p0(i64 4, ptr %204) #11
  %10199 = call ptr @__errno_location() #12
  %10200 = load i32, ptr %10199, align 4, !tbaa !5
  store i32 %10200, ptr %204, align 4, !tbaa !5
  %10201 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10202 = call i32 @s2n_print_stacktrace(ptr noundef %10201)
  %10203 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10204 = trunc i8 %10203 to i1
  br i1 %10204, label %10205, label %10227

10205:                                            ; preds = %10198
  %10206 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10207 = call i32 @fileno(ptr noundef %10206) #11
  %10208 = call i32 @isatty(i32 noundef %10207) #11
  %10209 = icmp ne i32 %10208, 0
  br i1 %10209, label %10210, label %10227

10210:                                            ; preds = %10205
  %10211 = load i32, ptr %204, align 4, !tbaa !5
  %10212 = call ptr @__errno_location() #12
  store i32 %10211, ptr %10212, align 4, !tbaa !5
  %10213 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10214 = load i32, ptr @test_count, align 4, !tbaa !5
  %10215 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10216 = load i32, ptr %10215, align 4, !tbaa !5
  %10217 = call ptr @s2n_strerror(i32 noundef %10216, ptr noundef @.str.11)
  %10218 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10219 = load i32, ptr %10218, align 4, !tbaa !5
  %10220 = call ptr @s2n_strerror_debug(i32 noundef %10219, ptr noundef @.str.11)
  %10221 = call ptr @__errno_location() #12
  %10222 = load i32, ptr %10221, align 4, !tbaa !5
  %10223 = call ptr @strerror(i32 noundef %10222) #11
  %10224 = call ptr @__errno_location() #12
  %10225 = load i32, ptr %10224, align 4, !tbaa !5
  %10226 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10213, ptr noundef @.str.9, i32 noundef %10214, ptr noundef @.str.96, ptr noundef @.str.8, i32 noundef 443, ptr noundef %10217, ptr noundef %10220, ptr noundef %10223, i32 noundef %10225) #11
  br label %10244

10227:                                            ; preds = %10205, %10198
  %10228 = load i32, ptr %204, align 4, !tbaa !5
  %10229 = call ptr @__errno_location() #12
  store i32 %10228, ptr %10229, align 4, !tbaa !5
  %10230 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10231 = load i32, ptr @test_count, align 4, !tbaa !5
  %10232 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10233 = load i32, ptr %10232, align 4, !tbaa !5
  %10234 = call ptr @s2n_strerror(i32 noundef %10233, ptr noundef @.str.11)
  %10235 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10236 = load i32, ptr %10235, align 4, !tbaa !5
  %10237 = call ptr @s2n_strerror_debug(i32 noundef %10236, ptr noundef @.str.11)
  %10238 = call ptr @__errno_location() #12
  %10239 = load i32, ptr %10238, align 4, !tbaa !5
  %10240 = call ptr @strerror(i32 noundef %10239) #11
  %10241 = call ptr @__errno_location() #12
  %10242 = load i32, ptr %10241, align 4, !tbaa !5
  %10243 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10230, ptr noundef @.str.12, i32 noundef %10231, ptr noundef @.str.96, ptr noundef @.str.8, i32 noundef 443, ptr noundef %10234, ptr noundef %10237, ptr noundef %10240, i32 noundef %10242) #11
  br label %10244

10244:                                            ; preds = %10227, %10210
  call void @llvm.lifetime.end.p0(i64 4, ptr %204) #11
  br label %10245

10245:                                            ; preds = %10244
  br label %10246

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

10247:                                            ; No predecessors!
  br label %10248

10248:                                            ; preds = %10247
  br label %10249

10249:                                            ; preds = %10248, %10187
  br label %10250

10250:                                            ; preds = %10249
  br label %10251

10251:                                            ; preds = %10250
  br label %10252

10252:                                            ; preds = %10251
  %10253 = load i32, ptr @test_count, align 4, !tbaa !5
  %10254 = add nsw i32 %10253, 1
  store i32 %10254, ptr @test_count, align 4, !tbaa !5
  %10255 = load ptr, ptr %189, align 8, !tbaa !9
  %10256 = getelementptr inbounds %struct.s2n_connection, ptr %10255, i32 0, i32 53
  %10257 = load i16, ptr %10256, align 8, !tbaa !61
  %10258 = zext i16 %10257 to i32
  %10259 = icmp eq i32 %10258, 10
  br i1 %10259, label %10313, label %10260

10260:                                            ; preds = %10252
  br label %10261

10261:                                            ; preds = %10260
  br label %10262

10262:                                            ; preds = %10261
  call void @llvm.lifetime.start.p0(i64 4, ptr %205) #11
  %10263 = call ptr @__errno_location() #12
  %10264 = load i32, ptr %10263, align 4, !tbaa !5
  store i32 %10264, ptr %205, align 4, !tbaa !5
  %10265 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10266 = call i32 @s2n_print_stacktrace(ptr noundef %10265)
  %10267 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10268 = trunc i8 %10267 to i1
  br i1 %10268, label %10269, label %10291

10269:                                            ; preds = %10262
  %10270 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10271 = call i32 @fileno(ptr noundef %10270) #11
  %10272 = call i32 @isatty(i32 noundef %10271) #11
  %10273 = icmp ne i32 %10272, 0
  br i1 %10273, label %10274, label %10291

10274:                                            ; preds = %10269
  %10275 = load i32, ptr %205, align 4, !tbaa !5
  %10276 = call ptr @__errno_location() #12
  store i32 %10275, ptr %10276, align 4, !tbaa !5
  %10277 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10278 = load i32, ptr @test_count, align 4, !tbaa !5
  %10279 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10280 = load i32, ptr %10279, align 4, !tbaa !5
  %10281 = call ptr @s2n_strerror(i32 noundef %10280, ptr noundef @.str.11)
  %10282 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10283 = load i32, ptr %10282, align 4, !tbaa !5
  %10284 = call ptr @s2n_strerror_debug(i32 noundef %10283, ptr noundef @.str.11)
  %10285 = call ptr @__errno_location() #12
  %10286 = load i32, ptr %10285, align 4, !tbaa !5
  %10287 = call ptr @strerror(i32 noundef %10286) #11
  %10288 = call ptr @__errno_location() #12
  %10289 = load i32, ptr %10288, align 4, !tbaa !5
  %10290 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10277, ptr noundef @.str.9, i32 noundef %10278, ptr noundef @.str.97, ptr noundef @.str.8, i32 noundef 444, ptr noundef %10281, ptr noundef %10284, ptr noundef %10287, i32 noundef %10289) #11
  br label %10308

10291:                                            ; preds = %10269, %10262
  %10292 = load i32, ptr %205, align 4, !tbaa !5
  %10293 = call ptr @__errno_location() #12
  store i32 %10292, ptr %10293, align 4, !tbaa !5
  %10294 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10295 = load i32, ptr @test_count, align 4, !tbaa !5
  %10296 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10297 = load i32, ptr %10296, align 4, !tbaa !5
  %10298 = call ptr @s2n_strerror(i32 noundef %10297, ptr noundef @.str.11)
  %10299 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10300 = load i32, ptr %10299, align 4, !tbaa !5
  %10301 = call ptr @s2n_strerror_debug(i32 noundef %10300, ptr noundef @.str.11)
  %10302 = call ptr @__errno_location() #12
  %10303 = load i32, ptr %10302, align 4, !tbaa !5
  %10304 = call ptr @strerror(i32 noundef %10303) #11
  %10305 = call ptr @__errno_location() #12
  %10306 = load i32, ptr %10305, align 4, !tbaa !5
  %10307 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10294, ptr noundef @.str.12, i32 noundef %10295, ptr noundef @.str.97, ptr noundef @.str.8, i32 noundef 444, ptr noundef %10298, ptr noundef %10301, ptr noundef %10304, i32 noundef %10306) #11
  br label %10308

10308:                                            ; preds = %10291, %10274
  call void @llvm.lifetime.end.p0(i64 4, ptr %205) #11
  br label %10309

10309:                                            ; preds = %10308
  br label %10310

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

10311:                                            ; No predecessors!
  br label %10312

10312:                                            ; preds = %10311
  br label %10313

10313:                                            ; preds = %10312, %10252
  br label %10314

10314:                                            ; preds = %10313
  br label %10315

10315:                                            ; preds = %10314
  br label %10316

10316:                                            ; preds = %10315
  %10317 = load i32, ptr @test_count, align 4, !tbaa !5
  %10318 = add nsw i32 %10317, 1
  store i32 %10318, ptr @test_count, align 4, !tbaa !5
  %10319 = load ptr, ptr %189, align 8, !tbaa !9
  %10320 = getelementptr inbounds %struct.s2n_connection, ptr %10319, i32 0, i32 41
  %10321 = getelementptr inbounds %struct.s2n_stuffer, ptr %10320, i32 0, i32 0
  %10322 = getelementptr inbounds %struct.s2n_blob, ptr %10321, i32 0, i32 1
  %10323 = load i32, ptr %10322, align 8, !tbaa !62
  %10324 = icmp eq i32 %10323, 0
  br i1 %10324, label %10378, label %10325

10325:                                            ; preds = %10316
  br label %10326

10326:                                            ; preds = %10325
  br label %10327

10327:                                            ; preds = %10326
  call void @llvm.lifetime.start.p0(i64 4, ptr %206) #11
  %10328 = call ptr @__errno_location() #12
  %10329 = load i32, ptr %10328, align 4, !tbaa !5
  store i32 %10329, ptr %206, align 4, !tbaa !5
  %10330 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10331 = call i32 @s2n_print_stacktrace(ptr noundef %10330)
  %10332 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10333 = trunc i8 %10332 to i1
  br i1 %10333, label %10334, label %10356

10334:                                            ; preds = %10327
  %10335 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10336 = call i32 @fileno(ptr noundef %10335) #11
  %10337 = call i32 @isatty(i32 noundef %10336) #11
  %10338 = icmp ne i32 %10337, 0
  br i1 %10338, label %10339, label %10356

10339:                                            ; preds = %10334
  %10340 = load i32, ptr %206, align 4, !tbaa !5
  %10341 = call ptr @__errno_location() #12
  store i32 %10340, ptr %10341, align 4, !tbaa !5
  %10342 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10343 = load i32, ptr @test_count, align 4, !tbaa !5
  %10344 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10345 = load i32, ptr %10344, align 4, !tbaa !5
  %10346 = call ptr @s2n_strerror(i32 noundef %10345, ptr noundef @.str.11)
  %10347 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10348 = load i32, ptr %10347, align 4, !tbaa !5
  %10349 = call ptr @s2n_strerror_debug(i32 noundef %10348, ptr noundef @.str.11)
  %10350 = call ptr @__errno_location() #12
  %10351 = load i32, ptr %10350, align 4, !tbaa !5
  %10352 = call ptr @strerror(i32 noundef %10351) #11
  %10353 = call ptr @__errno_location() #12
  %10354 = load i32, ptr %10353, align 4, !tbaa !5
  %10355 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10342, ptr noundef @.str.9, i32 noundef %10343, ptr noundef @.str.95, ptr noundef @.str.8, i32 noundef 445, ptr noundef %10346, ptr noundef %10349, ptr noundef %10352, i32 noundef %10354) #11
  br label %10373

10356:                                            ; preds = %10334, %10327
  %10357 = load i32, ptr %206, align 4, !tbaa !5
  %10358 = call ptr @__errno_location() #12
  store i32 %10357, ptr %10358, align 4, !tbaa !5
  %10359 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10360 = load i32, ptr @test_count, align 4, !tbaa !5
  %10361 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10362 = load i32, ptr %10361, align 4, !tbaa !5
  %10363 = call ptr @s2n_strerror(i32 noundef %10362, ptr noundef @.str.11)
  %10364 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10365 = load i32, ptr %10364, align 4, !tbaa !5
  %10366 = call ptr @s2n_strerror_debug(i32 noundef %10365, ptr noundef @.str.11)
  %10367 = call ptr @__errno_location() #12
  %10368 = load i32, ptr %10367, align 4, !tbaa !5
  %10369 = call ptr @strerror(i32 noundef %10368) #11
  %10370 = call ptr @__errno_location() #12
  %10371 = load i32, ptr %10370, align 4, !tbaa !5
  %10372 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10359, ptr noundef @.str.12, i32 noundef %10360, ptr noundef @.str.95, ptr noundef @.str.8, i32 noundef 445, ptr noundef %10363, ptr noundef %10366, ptr noundef %10369, i32 noundef %10371) #11
  br label %10373

10373:                                            ; preds = %10356, %10339
  call void @llvm.lifetime.end.p0(i64 4, ptr %206) #11
  br label %10374

10374:                                            ; preds = %10373
  br label %10375

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

10376:                                            ; No predecessors!
  br label %10377

10377:                                            ; preds = %10376
  br label %10378

10378:                                            ; preds = %10377, %10316
  br label %10379

10379:                                            ; preds = %10378
  br label %10380

10380:                                            ; preds = %10379
  %10381 = load ptr, ptr %189, align 8, !tbaa !9
  %10382 = getelementptr inbounds %struct.s2n_connection, ptr %10381, i32 0, i32 57
  store i8 -1, ptr %10382, align 8, !tbaa !63
  br label %10383

10383:                                            ; preds = %10380
  br label %10384

10384:                                            ; preds = %10383
  br label %10385

10385:                                            ; preds = %10384
  %10386 = load i32, ptr @test_count, align 4, !tbaa !5
  %10387 = add nsw i32 %10386, 1
  store i32 %10387, ptr @test_count, align 4, !tbaa !5
  %10388 = load ptr, ptr %189, align 8, !tbaa !9
  %10389 = call i32 @s2n_connection_set_max_fragment_length(ptr noundef %10388, i16 noundef zeroext 10)
  %10390 = getelementptr inbounds %struct.s2n_result, ptr %207, i32 0, i32 0
  store i32 %10389, ptr %10390, align 4
  %10391 = getelementptr inbounds %struct.s2n_result, ptr %207, i32 0, i32 0
  %10392 = load i32, ptr %10391, align 4
  %10393 = call zeroext i1 @s2n_result_is_error(i32 %10392)
  br i1 %10393, label %10447, label %10394

10394:                                            ; preds = %10385
  br label %10395

10395:                                            ; preds = %10394
  br label %10396

10396:                                            ; preds = %10395
  call void @llvm.lifetime.start.p0(i64 4, ptr %208) #11
  %10397 = call ptr @__errno_location() #12
  %10398 = load i32, ptr %10397, align 4, !tbaa !5
  store i32 %10398, ptr %208, align 4, !tbaa !5
  %10399 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10400 = call i32 @s2n_print_stacktrace(ptr noundef %10399)
  %10401 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10402 = trunc i8 %10401 to i1
  br i1 %10402, label %10403, label %10425

10403:                                            ; preds = %10396
  %10404 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10405 = call i32 @fileno(ptr noundef %10404) #11
  %10406 = call i32 @isatty(i32 noundef %10405) #11
  %10407 = icmp ne i32 %10406, 0
  br i1 %10407, label %10408, label %10425

10408:                                            ; preds = %10403
  %10409 = load i32, ptr %208, align 4, !tbaa !5
  %10410 = call ptr @__errno_location() #12
  store i32 %10409, ptr %10410, align 4, !tbaa !5
  %10411 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10412 = load i32, ptr @test_count, align 4, !tbaa !5
  %10413 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10414 = load i32, ptr %10413, align 4, !tbaa !5
  %10415 = call ptr @s2n_strerror(i32 noundef %10414, ptr noundef @.str.11)
  %10416 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10417 = load i32, ptr %10416, align 4, !tbaa !5
  %10418 = call ptr @s2n_strerror_debug(i32 noundef %10417, ptr noundef @.str.11)
  %10419 = call ptr @__errno_location() #12
  %10420 = load i32, ptr %10419, align 4, !tbaa !5
  %10421 = call ptr @strerror(i32 noundef %10420) #11
  %10422 = call ptr @__errno_location() #12
  %10423 = load i32, ptr %10422, align 4, !tbaa !5
  %10424 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10411, ptr noundef @.str.9, i32 noundef %10412, ptr noundef @.str.99, ptr noundef @.str.8, i32 noundef 451, ptr noundef %10415, ptr noundef %10418, ptr noundef %10421, i32 noundef %10423) #11
  br label %10442

10425:                                            ; preds = %10403, %10396
  %10426 = load i32, ptr %208, align 4, !tbaa !5
  %10427 = call ptr @__errno_location() #12
  store i32 %10426, ptr %10427, align 4, !tbaa !5
  %10428 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10429 = load i32, ptr @test_count, align 4, !tbaa !5
  %10430 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10431 = load i32, ptr %10430, align 4, !tbaa !5
  %10432 = call ptr @s2n_strerror(i32 noundef %10431, ptr noundef @.str.11)
  %10433 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10434 = load i32, ptr %10433, align 4, !tbaa !5
  %10435 = call ptr @s2n_strerror_debug(i32 noundef %10434, ptr noundef @.str.11)
  %10436 = call ptr @__errno_location() #12
  %10437 = load i32, ptr %10436, align 4, !tbaa !5
  %10438 = call ptr @strerror(i32 noundef %10437) #11
  %10439 = call ptr @__errno_location() #12
  %10440 = load i32, ptr %10439, align 4, !tbaa !5
  %10441 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10428, ptr noundef @.str.12, i32 noundef %10429, ptr noundef @.str.99, ptr noundef @.str.8, i32 noundef 451, ptr noundef %10432, ptr noundef %10435, ptr noundef %10438, i32 noundef %10440) #11
  br label %10442

10442:                                            ; preds = %10425, %10408
  call void @llvm.lifetime.end.p0(i64 4, ptr %208) #11
  br label %10443

10443:                                            ; preds = %10442
  br label %10444

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

10445:                                            ; No predecessors!
  br label %10446

10446:                                            ; preds = %10445
  br label %10447

10447:                                            ; preds = %10446, %10385
  br label %10448

10448:                                            ; preds = %10447
  br label %10449

10449:                                            ; preds = %10448
  br label %10450

10450:                                            ; preds = %10449
  %10451 = load i32, ptr @test_count, align 4, !tbaa !5
  %10452 = add nsw i32 %10451, 1
  store i32 %10452, ptr @test_count, align 4, !tbaa !5
  %10453 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10454 = load i32, ptr %10453, align 4, !tbaa !5
  %10455 = icmp eq i32 %10454, 402653194
  br i1 %10455, label %10509, label %10456

10456:                                            ; preds = %10450
  br label %10457

10457:                                            ; preds = %10456
  br label %10458

10458:                                            ; preds = %10457
  call void @llvm.lifetime.start.p0(i64 4, ptr %209) #11
  %10459 = call ptr @__errno_location() #12
  %10460 = load i32, ptr %10459, align 4, !tbaa !5
  store i32 %10460, ptr %209, align 4, !tbaa !5
  %10461 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10462 = call i32 @s2n_print_stacktrace(ptr noundef %10461)
  %10463 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10464 = trunc i8 %10463 to i1
  br i1 %10464, label %10465, label %10487

10465:                                            ; preds = %10458
  %10466 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10467 = call i32 @fileno(ptr noundef %10466) #11
  %10468 = call i32 @isatty(i32 noundef %10467) #11
  %10469 = icmp ne i32 %10468, 0
  br i1 %10469, label %10470, label %10487

10470:                                            ; preds = %10465
  %10471 = load i32, ptr %209, align 4, !tbaa !5
  %10472 = call ptr @__errno_location() #12
  store i32 %10471, ptr %10472, align 4, !tbaa !5
  %10473 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10474 = load i32, ptr @test_count, align 4, !tbaa !5
  %10475 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10476 = load i32, ptr %10475, align 4, !tbaa !5
  %10477 = call ptr @s2n_strerror(i32 noundef %10476, ptr noundef @.str.11)
  %10478 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10479 = load i32, ptr %10478, align 4, !tbaa !5
  %10480 = call ptr @s2n_strerror_debug(i32 noundef %10479, ptr noundef @.str.11)
  %10481 = call ptr @__errno_location() #12
  %10482 = load i32, ptr %10481, align 4, !tbaa !5
  %10483 = call ptr @strerror(i32 noundef %10482) #11
  %10484 = call ptr @__errno_location() #12
  %10485 = load i32, ptr %10484, align 4, !tbaa !5
  %10486 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10473, ptr noundef @.str.9, i32 noundef %10474, ptr noundef @.str.100, ptr noundef @.str.8, i32 noundef 451, ptr noundef %10477, ptr noundef %10480, ptr noundef %10483, i32 noundef %10485) #11
  br label %10504

10487:                                            ; preds = %10465, %10458
  %10488 = load i32, ptr %209, align 4, !tbaa !5
  %10489 = call ptr @__errno_location() #12
  store i32 %10488, ptr %10489, align 4, !tbaa !5
  %10490 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10491 = load i32, ptr @test_count, align 4, !tbaa !5
  %10492 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10493 = load i32, ptr %10492, align 4, !tbaa !5
  %10494 = call ptr @s2n_strerror(i32 noundef %10493, ptr noundef @.str.11)
  %10495 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10496 = load i32, ptr %10495, align 4, !tbaa !5
  %10497 = call ptr @s2n_strerror_debug(i32 noundef %10496, ptr noundef @.str.11)
  %10498 = call ptr @__errno_location() #12
  %10499 = load i32, ptr %10498, align 4, !tbaa !5
  %10500 = call ptr @strerror(i32 noundef %10499) #11
  %10501 = call ptr @__errno_location() #12
  %10502 = load i32, ptr %10501, align 4, !tbaa !5
  %10503 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10490, ptr noundef @.str.12, i32 noundef %10491, ptr noundef @.str.100, ptr noundef @.str.8, i32 noundef 451, ptr noundef %10494, ptr noundef %10497, ptr noundef %10500, i32 noundef %10502) #11
  br label %10504

10504:                                            ; preds = %10487, %10470
  call void @llvm.lifetime.end.p0(i64 4, ptr %209) #11
  br label %10505

10505:                                            ; preds = %10504
  br label %10506

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

10507:                                            ; No predecessors!
  br label %10508

10508:                                            ; preds = %10507
  br label %10509

10509:                                            ; preds = %10508, %10450
  br label %10510

10510:                                            ; preds = %10509
  br label %10511

10511:                                            ; preds = %10510
  br label %10512

10512:                                            ; preds = %10511
  %10513 = load i32, ptr @test_count, align 4, !tbaa !5
  %10514 = add nsw i32 %10513, 1
  store i32 %10514, ptr @test_count, align 4, !tbaa !5
  %10515 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10516 = load i32, ptr %10515, align 4, !tbaa !5
  %10517 = call ptr @s2n_strerror_debug(i32 noundef %10516, ptr noundef @.str.11)
  %10518 = icmp eq ptr %10517, null
  br i1 %10518, label %10519, label %10572

10519:                                            ; preds = %10512
  br label %10520

10520:                                            ; preds = %10519
  br label %10521

10521:                                            ; preds = %10520
  call void @llvm.lifetime.start.p0(i64 4, ptr %210) #11
  %10522 = call ptr @__errno_location() #12
  %10523 = load i32, ptr %10522, align 4, !tbaa !5
  store i32 %10523, ptr %210, align 4, !tbaa !5
  %10524 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10525 = call i32 @s2n_print_stacktrace(ptr noundef %10524)
  %10526 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10527 = trunc i8 %10526 to i1
  br i1 %10527, label %10528, label %10550

10528:                                            ; preds = %10521
  %10529 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10530 = call i32 @fileno(ptr noundef %10529) #11
  %10531 = call i32 @isatty(i32 noundef %10530) #11
  %10532 = icmp ne i32 %10531, 0
  br i1 %10532, label %10533, label %10550

10533:                                            ; preds = %10528
  %10534 = load i32, ptr %210, align 4, !tbaa !5
  %10535 = call ptr @__errno_location() #12
  store i32 %10534, ptr %10535, align 4, !tbaa !5
  %10536 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10537 = load i32, ptr @test_count, align 4, !tbaa !5
  %10538 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10539 = load i32, ptr %10538, align 4, !tbaa !5
  %10540 = call ptr @s2n_strerror(i32 noundef %10539, ptr noundef @.str.11)
  %10541 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10542 = load i32, ptr %10541, align 4, !tbaa !5
  %10543 = call ptr @s2n_strerror_debug(i32 noundef %10542, ptr noundef @.str.11)
  %10544 = call ptr @__errno_location() #12
  %10545 = load i32, ptr %10544, align 4, !tbaa !5
  %10546 = call ptr @strerror(i32 noundef %10545) #11
  %10547 = call ptr @__errno_location() #12
  %10548 = load i32, ptr %10547, align 4, !tbaa !5
  %10549 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10536, ptr noundef @.str.9, i32 noundef %10537, ptr noundef @.str.54, ptr noundef @.str.8, i32 noundef 451, ptr noundef %10540, ptr noundef %10543, ptr noundef %10546, i32 noundef %10548) #11
  br label %10567

10550:                                            ; preds = %10528, %10521
  %10551 = load i32, ptr %210, align 4, !tbaa !5
  %10552 = call ptr @__errno_location() #12
  store i32 %10551, ptr %10552, align 4, !tbaa !5
  %10553 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10554 = load i32, ptr @test_count, align 4, !tbaa !5
  %10555 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10556 = load i32, ptr %10555, align 4, !tbaa !5
  %10557 = call ptr @s2n_strerror(i32 noundef %10556, ptr noundef @.str.11)
  %10558 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10559 = load i32, ptr %10558, align 4, !tbaa !5
  %10560 = call ptr @s2n_strerror_debug(i32 noundef %10559, ptr noundef @.str.11)
  %10561 = call ptr @__errno_location() #12
  %10562 = load i32, ptr %10561, align 4, !tbaa !5
  %10563 = call ptr @strerror(i32 noundef %10562) #11
  %10564 = call ptr @__errno_location() #12
  %10565 = load i32, ptr %10564, align 4, !tbaa !5
  %10566 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10553, ptr noundef @.str.12, i32 noundef %10554, ptr noundef @.str.54, ptr noundef @.str.8, i32 noundef 451, ptr noundef %10557, ptr noundef %10560, ptr noundef %10563, i32 noundef %10565) #11
  br label %10567

10567:                                            ; preds = %10550, %10533
  call void @llvm.lifetime.end.p0(i64 4, ptr %210) #11
  br label %10568

10568:                                            ; preds = %10567
  br label %10569

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

10570:                                            ; No predecessors!
  br label %10571

10571:                                            ; preds = %10570
  br label %10572

10572:                                            ; preds = %10571, %10512
  br label %10573

10573:                                            ; preds = %10572
  br label %10574

10574:                                            ; preds = %10573
  br label %10575

10575:                                            ; preds = %10574
  br label %10576

10576:                                            ; preds = %10575
  br label %10577

10577:                                            ; preds = %10576
  %10578 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %10578, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %10579 = call ptr @__errno_location() #12
  store i32 0, ptr %10579, align 4, !tbaa !5
  br label %10580

10580:                                            ; preds = %10577
  br label %10581

10581:                                            ; preds = %10580
  br label %10582

10582:                                            ; preds = %10581
  br label %10583

10583:                                            ; preds = %10582
  %10584 = load ptr, ptr %189, align 8, !tbaa !9
  %10585 = getelementptr inbounds %struct.s2n_connection, ptr %10584, i32 0, i32 57
  store i8 0, ptr %10585, align 8, !tbaa !63
  br label %10586

10586:                                            ; preds = %10583
  %10587 = load i32, ptr @test_count, align 4, !tbaa !5
  %10588 = add nsw i32 %10587, 1
  store i32 %10588, ptr @test_count, align 4, !tbaa !5
  %10589 = load ptr, ptr %189, align 8, !tbaa !9
  %10590 = getelementptr inbounds %struct.s2n_connection, ptr %10589, i32 0, i32 41
  %10591 = getelementptr inbounds %struct.s2n_stuffer, ptr %10590, i32 0, i32 0
  %10592 = call i32 @s2n_realloc(ptr noundef %10591, i32 noundef 1)
  %10593 = icmp eq i32 %10592, -1
  br i1 %10593, label %10594, label %10647

10594:                                            ; preds = %10586
  br label %10595

10595:                                            ; preds = %10594
  br label %10596

10596:                                            ; preds = %10595
  call void @llvm.lifetime.start.p0(i64 4, ptr %211) #11
  %10597 = call ptr @__errno_location() #12
  %10598 = load i32, ptr %10597, align 4, !tbaa !5
  store i32 %10598, ptr %211, align 4, !tbaa !5
  %10599 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10600 = call i32 @s2n_print_stacktrace(ptr noundef %10599)
  %10601 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10602 = trunc i8 %10601 to i1
  br i1 %10602, label %10603, label %10625

10603:                                            ; preds = %10596
  %10604 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10605 = call i32 @fileno(ptr noundef %10604) #11
  %10606 = call i32 @isatty(i32 noundef %10605) #11
  %10607 = icmp ne i32 %10606, 0
  br i1 %10607, label %10608, label %10625

10608:                                            ; preds = %10603
  %10609 = load i32, ptr %211, align 4, !tbaa !5
  %10610 = call ptr @__errno_location() #12
  store i32 %10609, ptr %10610, align 4, !tbaa !5
  %10611 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10612 = load i32, ptr @test_count, align 4, !tbaa !5
  %10613 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10614 = load i32, ptr %10613, align 4, !tbaa !5
  %10615 = call ptr @s2n_strerror(i32 noundef %10614, ptr noundef @.str.11)
  %10616 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10617 = load i32, ptr %10616, align 4, !tbaa !5
  %10618 = call ptr @s2n_strerror_debug(i32 noundef %10617, ptr noundef @.str.11)
  %10619 = call ptr @__errno_location() #12
  %10620 = load i32, ptr %10619, align 4, !tbaa !5
  %10621 = call ptr @strerror(i32 noundef %10620) #11
  %10622 = call ptr @__errno_location() #12
  %10623 = load i32, ptr %10622, align 4, !tbaa !5
  %10624 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10611, ptr noundef @.str.9, i32 noundef %10612, ptr noundef @.str.101, ptr noundef @.str.8, i32 noundef 457, ptr noundef %10615, ptr noundef %10618, ptr noundef %10621, i32 noundef %10623) #11
  br label %10642

10625:                                            ; preds = %10603, %10596
  %10626 = load i32, ptr %211, align 4, !tbaa !5
  %10627 = call ptr @__errno_location() #12
  store i32 %10626, ptr %10627, align 4, !tbaa !5
  %10628 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10629 = load i32, ptr @test_count, align 4, !tbaa !5
  %10630 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10631 = load i32, ptr %10630, align 4, !tbaa !5
  %10632 = call ptr @s2n_strerror(i32 noundef %10631, ptr noundef @.str.11)
  %10633 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10634 = load i32, ptr %10633, align 4, !tbaa !5
  %10635 = call ptr @s2n_strerror_debug(i32 noundef %10634, ptr noundef @.str.11)
  %10636 = call ptr @__errno_location() #12
  %10637 = load i32, ptr %10636, align 4, !tbaa !5
  %10638 = call ptr @strerror(i32 noundef %10637) #11
  %10639 = call ptr @__errno_location() #12
  %10640 = load i32, ptr %10639, align 4, !tbaa !5
  %10641 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10628, ptr noundef @.str.12, i32 noundef %10629, ptr noundef @.str.101, ptr noundef @.str.8, i32 noundef 457, ptr noundef %10632, ptr noundef %10635, ptr noundef %10638, i32 noundef %10640) #11
  br label %10642

10642:                                            ; preds = %10625, %10608
  call void @llvm.lifetime.end.p0(i64 4, ptr %211) #11
  br label %10643

10643:                                            ; preds = %10642
  br label %10644

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

10645:                                            ; No predecessors!
  br label %10646

10646:                                            ; preds = %10645
  br label %10647

10647:                                            ; preds = %10646, %10586
  br label %10648

10648:                                            ; preds = %10647
  br label %10649

10649:                                            ; preds = %10648
  br label %10650

10650:                                            ; preds = %10649
  %10651 = load i32, ptr @test_count, align 4, !tbaa !5
  %10652 = add nsw i32 %10651, 1
  store i32 %10652, ptr @test_count, align 4, !tbaa !5
  %10653 = load ptr, ptr %189, align 8, !tbaa !9
  %10654 = call i32 @s2n_connection_set_max_fragment_length(ptr noundef %10653, i16 noundef zeroext 16384)
  %10655 = getelementptr inbounds %struct.s2n_result, ptr %212, i32 0, i32 0
  store i32 %10654, ptr %10655, align 4
  %10656 = getelementptr inbounds %struct.s2n_result, ptr %212, i32 0, i32 0
  %10657 = load i32, ptr %10656, align 4
  %10658 = call zeroext i1 @s2n_result_is_ok(i32 %10657)
  br i1 %10658, label %10712, label %10659

10659:                                            ; preds = %10650
  br label %10660

10660:                                            ; preds = %10659
  br label %10661

10661:                                            ; preds = %10660
  call void @llvm.lifetime.start.p0(i64 4, ptr %213) #11
  %10662 = call ptr @__errno_location() #12
  %10663 = load i32, ptr %10662, align 4, !tbaa !5
  store i32 %10663, ptr %213, align 4, !tbaa !5
  %10664 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10665 = call i32 @s2n_print_stacktrace(ptr noundef %10664)
  %10666 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10667 = trunc i8 %10666 to i1
  br i1 %10667, label %10668, label %10690

10668:                                            ; preds = %10661
  %10669 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10670 = call i32 @fileno(ptr noundef %10669) #11
  %10671 = call i32 @isatty(i32 noundef %10670) #11
  %10672 = icmp ne i32 %10671, 0
  br i1 %10672, label %10673, label %10690

10673:                                            ; preds = %10668
  %10674 = load i32, ptr %213, align 4, !tbaa !5
  %10675 = call ptr @__errno_location() #12
  store i32 %10674, ptr %10675, align 4, !tbaa !5
  %10676 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10677 = load i32, ptr @test_count, align 4, !tbaa !5
  %10678 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10679 = load i32, ptr %10678, align 4, !tbaa !5
  %10680 = call ptr @s2n_strerror(i32 noundef %10679, ptr noundef @.str.11)
  %10681 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10682 = load i32, ptr %10681, align 4, !tbaa !5
  %10683 = call ptr @s2n_strerror_debug(i32 noundef %10682, ptr noundef @.str.11)
  %10684 = call ptr @__errno_location() #12
  %10685 = load i32, ptr %10684, align 4, !tbaa !5
  %10686 = call ptr @strerror(i32 noundef %10685) #11
  %10687 = call ptr @__errno_location() #12
  %10688 = load i32, ptr %10687, align 4, !tbaa !5
  %10689 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10676, ptr noundef @.str.9, i32 noundef %10677, ptr noundef @.str.102, ptr noundef @.str.8, i32 noundef 458, ptr noundef %10680, ptr noundef %10683, ptr noundef %10686, i32 noundef %10688) #11
  br label %10707

10690:                                            ; preds = %10668, %10661
  %10691 = load i32, ptr %213, align 4, !tbaa !5
  %10692 = call ptr @__errno_location() #12
  store i32 %10691, ptr %10692, align 4, !tbaa !5
  %10693 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10694 = load i32, ptr @test_count, align 4, !tbaa !5
  %10695 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10696 = load i32, ptr %10695, align 4, !tbaa !5
  %10697 = call ptr @s2n_strerror(i32 noundef %10696, ptr noundef @.str.11)
  %10698 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10699 = load i32, ptr %10698, align 4, !tbaa !5
  %10700 = call ptr @s2n_strerror_debug(i32 noundef %10699, ptr noundef @.str.11)
  %10701 = call ptr @__errno_location() #12
  %10702 = load i32, ptr %10701, align 4, !tbaa !5
  %10703 = call ptr @strerror(i32 noundef %10702) #11
  %10704 = call ptr @__errno_location() #12
  %10705 = load i32, ptr %10704, align 4, !tbaa !5
  %10706 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10693, ptr noundef @.str.12, i32 noundef %10694, ptr noundef @.str.102, ptr noundef @.str.8, i32 noundef 458, ptr noundef %10697, ptr noundef %10700, ptr noundef %10703, i32 noundef %10705) #11
  br label %10707

10707:                                            ; preds = %10690, %10673
  call void @llvm.lifetime.end.p0(i64 4, ptr %213) #11
  br label %10708

10708:                                            ; preds = %10707
  br label %10709

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

10710:                                            ; No predecessors!
  br label %10711

10711:                                            ; preds = %10710
  br label %10712

10712:                                            ; preds = %10711, %10650
  br label %10713

10713:                                            ; preds = %10712
  br label %10714

10714:                                            ; preds = %10713
  br label %10715

10715:                                            ; preds = %10714
  %10716 = load i32, ptr @test_count, align 4, !tbaa !5
  %10717 = add nsw i32 %10716, 1
  store i32 %10717, ptr @test_count, align 4, !tbaa !5
  %10718 = load ptr, ptr %189, align 8, !tbaa !9
  %10719 = getelementptr inbounds %struct.s2n_connection, ptr %10718, i32 0, i32 53
  %10720 = load i16, ptr %10719, align 8, !tbaa !61
  %10721 = zext i16 %10720 to i32
  %10722 = icmp eq i32 %10721, 16384
  br i1 %10722, label %10776, label %10723

10723:                                            ; preds = %10715
  br label %10724

10724:                                            ; preds = %10723
  br label %10725

10725:                                            ; preds = %10724
  call void @llvm.lifetime.start.p0(i64 4, ptr %214) #11
  %10726 = call ptr @__errno_location() #12
  %10727 = load i32, ptr %10726, align 4, !tbaa !5
  store i32 %10727, ptr %214, align 4, !tbaa !5
  %10728 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10729 = call i32 @s2n_print_stacktrace(ptr noundef %10728)
  %10730 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10731 = trunc i8 %10730 to i1
  br i1 %10731, label %10732, label %10754

10732:                                            ; preds = %10725
  %10733 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10734 = call i32 @fileno(ptr noundef %10733) #11
  %10735 = call i32 @isatty(i32 noundef %10734) #11
  %10736 = icmp ne i32 %10735, 0
  br i1 %10736, label %10737, label %10754

10737:                                            ; preds = %10732
  %10738 = load i32, ptr %214, align 4, !tbaa !5
  %10739 = call ptr @__errno_location() #12
  store i32 %10738, ptr %10739, align 4, !tbaa !5
  %10740 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10741 = load i32, ptr @test_count, align 4, !tbaa !5
  %10742 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10743 = load i32, ptr %10742, align 4, !tbaa !5
  %10744 = call ptr @s2n_strerror(i32 noundef %10743, ptr noundef @.str.11)
  %10745 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10746 = load i32, ptr %10745, align 4, !tbaa !5
  %10747 = call ptr @s2n_strerror_debug(i32 noundef %10746, ptr noundef @.str.11)
  %10748 = call ptr @__errno_location() #12
  %10749 = load i32, ptr %10748, align 4, !tbaa !5
  %10750 = call ptr @strerror(i32 noundef %10749) #11
  %10751 = call ptr @__errno_location() #12
  %10752 = load i32, ptr %10751, align 4, !tbaa !5
  %10753 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10740, ptr noundef @.str.9, i32 noundef %10741, ptr noundef @.str.103, ptr noundef @.str.8, i32 noundef 459, ptr noundef %10744, ptr noundef %10747, ptr noundef %10750, i32 noundef %10752) #11
  br label %10771

10754:                                            ; preds = %10732, %10725
  %10755 = load i32, ptr %214, align 4, !tbaa !5
  %10756 = call ptr @__errno_location() #12
  store i32 %10755, ptr %10756, align 4, !tbaa !5
  %10757 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10758 = load i32, ptr @test_count, align 4, !tbaa !5
  %10759 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10760 = load i32, ptr %10759, align 4, !tbaa !5
  %10761 = call ptr @s2n_strerror(i32 noundef %10760, ptr noundef @.str.11)
  %10762 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10763 = load i32, ptr %10762, align 4, !tbaa !5
  %10764 = call ptr @s2n_strerror_debug(i32 noundef %10763, ptr noundef @.str.11)
  %10765 = call ptr @__errno_location() #12
  %10766 = load i32, ptr %10765, align 4, !tbaa !5
  %10767 = call ptr @strerror(i32 noundef %10766) #11
  %10768 = call ptr @__errno_location() #12
  %10769 = load i32, ptr %10768, align 4, !tbaa !5
  %10770 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10757, ptr noundef @.str.12, i32 noundef %10758, ptr noundef @.str.103, ptr noundef @.str.8, i32 noundef 459, ptr noundef %10761, ptr noundef %10764, ptr noundef %10767, i32 noundef %10769) #11
  br label %10771

10771:                                            ; preds = %10754, %10737
  call void @llvm.lifetime.end.p0(i64 4, ptr %214) #11
  br label %10772

10772:                                            ; preds = %10771
  br label %10773

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

10774:                                            ; No predecessors!
  br label %10775

10775:                                            ; preds = %10774
  br label %10776

10776:                                            ; preds = %10775, %10715
  br label %10777

10777:                                            ; preds = %10776
  br label %10778

10778:                                            ; preds = %10777
  br label %10779

10779:                                            ; preds = %10778
  %10780 = load i32, ptr @test_count, align 4, !tbaa !5
  %10781 = add nsw i32 %10780, 1
  store i32 %10781, ptr @test_count, align 4, !tbaa !5
  %10782 = load ptr, ptr %189, align 8, !tbaa !9
  %10783 = getelementptr inbounds %struct.s2n_connection, ptr %10782, i32 0, i32 41
  %10784 = getelementptr inbounds %struct.s2n_stuffer, ptr %10783, i32 0, i32 0
  %10785 = getelementptr inbounds %struct.s2n_blob, ptr %10784, i32 0, i32 1
  %10786 = load i32, ptr %10785, align 8, !tbaa !62
  %10787 = icmp eq i32 %10786, 17413
  br i1 %10787, label %10841, label %10788

10788:                                            ; preds = %10779
  br label %10789

10789:                                            ; preds = %10788
  br label %10790

10790:                                            ; preds = %10789
  call void @llvm.lifetime.start.p0(i64 4, ptr %215) #11
  %10791 = call ptr @__errno_location() #12
  %10792 = load i32, ptr %10791, align 4, !tbaa !5
  store i32 %10792, ptr %215, align 4, !tbaa !5
  %10793 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10794 = call i32 @s2n_print_stacktrace(ptr noundef %10793)
  %10795 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10796 = trunc i8 %10795 to i1
  br i1 %10796, label %10797, label %10819

10797:                                            ; preds = %10790
  %10798 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10799 = call i32 @fileno(ptr noundef %10798) #11
  %10800 = call i32 @isatty(i32 noundef %10799) #11
  %10801 = icmp ne i32 %10800, 0
  br i1 %10801, label %10802, label %10819

10802:                                            ; preds = %10797
  %10803 = load i32, ptr %215, align 4, !tbaa !5
  %10804 = call ptr @__errno_location() #12
  store i32 %10803, ptr %10804, align 4, !tbaa !5
  %10805 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10806 = load i32, ptr @test_count, align 4, !tbaa !5
  %10807 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10808 = load i32, ptr %10807, align 4, !tbaa !5
  %10809 = call ptr @s2n_strerror(i32 noundef %10808, ptr noundef @.str.11)
  %10810 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10811 = load i32, ptr %10810, align 4, !tbaa !5
  %10812 = call ptr @s2n_strerror_debug(i32 noundef %10811, ptr noundef @.str.11)
  %10813 = call ptr @__errno_location() #12
  %10814 = load i32, ptr %10813, align 4, !tbaa !5
  %10815 = call ptr @strerror(i32 noundef %10814) #11
  %10816 = call ptr @__errno_location() #12
  %10817 = load i32, ptr %10816, align 4, !tbaa !5
  %10818 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10805, ptr noundef @.str.9, i32 noundef %10806, ptr noundef @.str.104, ptr noundef @.str.8, i32 noundef 460, ptr noundef %10809, ptr noundef %10812, ptr noundef %10815, i32 noundef %10817) #11
  br label %10836

10819:                                            ; preds = %10797, %10790
  %10820 = load i32, ptr %215, align 4, !tbaa !5
  %10821 = call ptr @__errno_location() #12
  store i32 %10820, ptr %10821, align 4, !tbaa !5
  %10822 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10823 = load i32, ptr @test_count, align 4, !tbaa !5
  %10824 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10825 = load i32, ptr %10824, align 4, !tbaa !5
  %10826 = call ptr @s2n_strerror(i32 noundef %10825, ptr noundef @.str.11)
  %10827 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10828 = load i32, ptr %10827, align 4, !tbaa !5
  %10829 = call ptr @s2n_strerror_debug(i32 noundef %10828, ptr noundef @.str.11)
  %10830 = call ptr @__errno_location() #12
  %10831 = load i32, ptr %10830, align 4, !tbaa !5
  %10832 = call ptr @strerror(i32 noundef %10831) #11
  %10833 = call ptr @__errno_location() #12
  %10834 = load i32, ptr %10833, align 4, !tbaa !5
  %10835 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10822, ptr noundef @.str.12, i32 noundef %10823, ptr noundef @.str.104, ptr noundef @.str.8, i32 noundef 460, ptr noundef %10826, ptr noundef %10829, ptr noundef %10832, i32 noundef %10834) #11
  br label %10836

10836:                                            ; preds = %10819, %10802
  call void @llvm.lifetime.end.p0(i64 4, ptr %215) #11
  br label %10837

10837:                                            ; preds = %10836
  br label %10838

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

10839:                                            ; No predecessors!
  br label %10840

10840:                                            ; preds = %10839
  br label %10841

10841:                                            ; preds = %10840, %10779
  br label %10842

10842:                                            ; preds = %10841
  br label %10843

10843:                                            ; preds = %10842
  br label %10844

10844:                                            ; preds = %10843
  %10845 = load i32, ptr @test_count, align 4, !tbaa !5
  %10846 = add nsw i32 %10845, 1
  store i32 %10846, ptr @test_count, align 4, !tbaa !5
  %10847 = load ptr, ptr %189, align 8, !tbaa !9
  %10848 = getelementptr inbounds %struct.s2n_connection, ptr %10847, i32 0, i32 41
  %10849 = getelementptr inbounds %struct.s2n_stuffer, ptr %10848, i32 0, i32 0
  %10850 = call i32 @s2n_free(ptr noundef %10849)
  %10851 = icmp eq i32 %10850, -1
  br i1 %10851, label %10852, label %10905

10852:                                            ; preds = %10844
  br label %10853

10853:                                            ; preds = %10852
  br label %10854

10854:                                            ; preds = %10853
  call void @llvm.lifetime.start.p0(i64 4, ptr %216) #11
  %10855 = call ptr @__errno_location() #12
  %10856 = load i32, ptr %10855, align 4, !tbaa !5
  store i32 %10856, ptr %216, align 4, !tbaa !5
  %10857 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10858 = call i32 @s2n_print_stacktrace(ptr noundef %10857)
  %10859 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10860 = trunc i8 %10859 to i1
  br i1 %10860, label %10861, label %10883

10861:                                            ; preds = %10854
  %10862 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10863 = call i32 @fileno(ptr noundef %10862) #11
  %10864 = call i32 @isatty(i32 noundef %10863) #11
  %10865 = icmp ne i32 %10864, 0
  br i1 %10865, label %10866, label %10883

10866:                                            ; preds = %10861
  %10867 = load i32, ptr %216, align 4, !tbaa !5
  %10868 = call ptr @__errno_location() #12
  store i32 %10867, ptr %10868, align 4, !tbaa !5
  %10869 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10870 = load i32, ptr @test_count, align 4, !tbaa !5
  %10871 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10872 = load i32, ptr %10871, align 4, !tbaa !5
  %10873 = call ptr @s2n_strerror(i32 noundef %10872, ptr noundef @.str.11)
  %10874 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10875 = load i32, ptr %10874, align 4, !tbaa !5
  %10876 = call ptr @s2n_strerror_debug(i32 noundef %10875, ptr noundef @.str.11)
  %10877 = call ptr @__errno_location() #12
  %10878 = load i32, ptr %10877, align 4, !tbaa !5
  %10879 = call ptr @strerror(i32 noundef %10878) #11
  %10880 = call ptr @__errno_location() #12
  %10881 = load i32, ptr %10880, align 4, !tbaa !5
  %10882 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10869, ptr noundef @.str.9, i32 noundef %10870, ptr noundef @.str.105, ptr noundef @.str.8, i32 noundef 461, ptr noundef %10873, ptr noundef %10876, ptr noundef %10879, i32 noundef %10881) #11
  br label %10900

10883:                                            ; preds = %10861, %10854
  %10884 = load i32, ptr %216, align 4, !tbaa !5
  %10885 = call ptr @__errno_location() #12
  store i32 %10884, ptr %10885, align 4, !tbaa !5
  %10886 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10887 = load i32, ptr @test_count, align 4, !tbaa !5
  %10888 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10889 = load i32, ptr %10888, align 4, !tbaa !5
  %10890 = call ptr @s2n_strerror(i32 noundef %10889, ptr noundef @.str.11)
  %10891 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10892 = load i32, ptr %10891, align 4, !tbaa !5
  %10893 = call ptr @s2n_strerror_debug(i32 noundef %10892, ptr noundef @.str.11)
  %10894 = call ptr @__errno_location() #12
  %10895 = load i32, ptr %10894, align 4, !tbaa !5
  %10896 = call ptr @strerror(i32 noundef %10895) #11
  %10897 = call ptr @__errno_location() #12
  %10898 = load i32, ptr %10897, align 4, !tbaa !5
  %10899 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10886, ptr noundef @.str.12, i32 noundef %10887, ptr noundef @.str.105, ptr noundef @.str.8, i32 noundef 461, ptr noundef %10890, ptr noundef %10893, ptr noundef %10896, i32 noundef %10898) #11
  br label %10900

10900:                                            ; preds = %10883, %10866
  call void @llvm.lifetime.end.p0(i64 4, ptr %216) #11
  br label %10901

10901:                                            ; preds = %10900
  br label %10902

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

10903:                                            ; No predecessors!
  br label %10904

10904:                                            ; preds = %10903
  br label %10905

10905:                                            ; preds = %10904, %10844
  br label %10906

10906:                                            ; preds = %10905
  br label %10907

10907:                                            ; preds = %10906
  br label %10908

10908:                                            ; preds = %10907
  %10909 = load i32, ptr @test_count, align 4, !tbaa !5
  %10910 = add nsw i32 %10909, 1
  store i32 %10910, ptr @test_count, align 4, !tbaa !5
  %10911 = load ptr, ptr %189, align 8, !tbaa !9
  %10912 = getelementptr inbounds %struct.s2n_connection, ptr %10911, i32 0, i32 41
  %10913 = getelementptr inbounds %struct.s2n_stuffer, ptr %10912, i32 0, i32 0
  %10914 = call i32 @s2n_realloc(ptr noundef %10913, i32 noundef 65535)
  %10915 = icmp eq i32 %10914, -1
  br i1 %10915, label %10916, label %10969

10916:                                            ; preds = %10908
  br label %10917

10917:                                            ; preds = %10916
  br label %10918

10918:                                            ; preds = %10917
  call void @llvm.lifetime.start.p0(i64 4, ptr %217) #11
  %10919 = call ptr @__errno_location() #12
  %10920 = load i32, ptr %10919, align 4, !tbaa !5
  store i32 %10920, ptr %217, align 4, !tbaa !5
  %10921 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10922 = call i32 @s2n_print_stacktrace(ptr noundef %10921)
  %10923 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10924 = trunc i8 %10923 to i1
  br i1 %10924, label %10925, label %10947

10925:                                            ; preds = %10918
  %10926 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10927 = call i32 @fileno(ptr noundef %10926) #11
  %10928 = call i32 @isatty(i32 noundef %10927) #11
  %10929 = icmp ne i32 %10928, 0
  br i1 %10929, label %10930, label %10947

10930:                                            ; preds = %10925
  %10931 = load i32, ptr %217, align 4, !tbaa !5
  %10932 = call ptr @__errno_location() #12
  store i32 %10931, ptr %10932, align 4, !tbaa !5
  %10933 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10934 = load i32, ptr @test_count, align 4, !tbaa !5
  %10935 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10936 = load i32, ptr %10935, align 4, !tbaa !5
  %10937 = call ptr @s2n_strerror(i32 noundef %10936, ptr noundef @.str.11)
  %10938 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10939 = load i32, ptr %10938, align 4, !tbaa !5
  %10940 = call ptr @s2n_strerror_debug(i32 noundef %10939, ptr noundef @.str.11)
  %10941 = call ptr @__errno_location() #12
  %10942 = load i32, ptr %10941, align 4, !tbaa !5
  %10943 = call ptr @strerror(i32 noundef %10942) #11
  %10944 = call ptr @__errno_location() #12
  %10945 = load i32, ptr %10944, align 4, !tbaa !5
  %10946 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10933, ptr noundef @.str.9, i32 noundef %10934, ptr noundef @.str.106, ptr noundef @.str.8, i32 noundef 466, ptr noundef %10937, ptr noundef %10940, ptr noundef %10943, i32 noundef %10945) #11
  br label %10964

10947:                                            ; preds = %10925, %10918
  %10948 = load i32, ptr %217, align 4, !tbaa !5
  %10949 = call ptr @__errno_location() #12
  store i32 %10948, ptr %10949, align 4, !tbaa !5
  %10950 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10951 = load i32, ptr @test_count, align 4, !tbaa !5
  %10952 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10953 = load i32, ptr %10952, align 4, !tbaa !5
  %10954 = call ptr @s2n_strerror(i32 noundef %10953, ptr noundef @.str.11)
  %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_debug(i32 noundef %10956, ptr noundef @.str.11)
  %10958 = call ptr @__errno_location() #12
  %10959 = load i32, ptr %10958, align 4, !tbaa !5
  %10960 = call ptr @strerror(i32 noundef %10959) #11
  %10961 = call ptr @__errno_location() #12
  %10962 = load i32, ptr %10961, align 4, !tbaa !5
  %10963 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10950, ptr noundef @.str.12, i32 noundef %10951, ptr noundef @.str.106, ptr noundef @.str.8, i32 noundef 466, ptr noundef %10954, ptr noundef %10957, ptr noundef %10960, i32 noundef %10962) #11
  br label %10964

10964:                                            ; preds = %10947, %10930
  call void @llvm.lifetime.end.p0(i64 4, ptr %217) #11
  br label %10965

10965:                                            ; preds = %10964
  br label %10966

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

10967:                                            ; No predecessors!
  br label %10968

10968:                                            ; preds = %10967
  br label %10969

10969:                                            ; preds = %10968, %10908
  br label %10970

10970:                                            ; preds = %10969
  br label %10971

10971:                                            ; preds = %10970
  br label %10972

10972:                                            ; preds = %10971
  %10973 = load i32, ptr @test_count, align 4, !tbaa !5
  %10974 = add nsw i32 %10973, 1
  store i32 %10974, ptr @test_count, align 4, !tbaa !5
  %10975 = load ptr, ptr %189, align 8, !tbaa !9
  %10976 = call i32 @s2n_connection_set_max_fragment_length(ptr noundef %10975, i16 noundef zeroext 10)
  %10977 = getelementptr inbounds %struct.s2n_result, ptr %218, i32 0, i32 0
  store i32 %10976, ptr %10977, align 4
  %10978 = getelementptr inbounds %struct.s2n_result, ptr %218, i32 0, i32 0
  %10979 = load i32, ptr %10978, align 4
  %10980 = call zeroext i1 @s2n_result_is_ok(i32 %10979)
  br i1 %10980, label %11034, label %10981

10981:                                            ; preds = %10972
  br label %10982

10982:                                            ; preds = %10981
  br label %10983

10983:                                            ; preds = %10982
  call void @llvm.lifetime.start.p0(i64 4, ptr %219) #11
  %10984 = call ptr @__errno_location() #12
  %10985 = load i32, ptr %10984, align 4, !tbaa !5
  store i32 %10985, ptr %219, align 4, !tbaa !5
  %10986 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10987 = call i32 @s2n_print_stacktrace(ptr noundef %10986)
  %10988 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10989 = trunc i8 %10988 to i1
  br i1 %10989, label %10990, label %11012

10990:                                            ; preds = %10983
  %10991 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10992 = call i32 @fileno(ptr noundef %10991) #11
  %10993 = call i32 @isatty(i32 noundef %10992) #11
  %10994 = icmp ne i32 %10993, 0
  br i1 %10994, label %10995, label %11012

10995:                                            ; preds = %10990
  %10996 = load i32, ptr %219, align 4, !tbaa !5
  %10997 = call ptr @__errno_location() #12
  store i32 %10996, ptr %10997, align 4, !tbaa !5
  %10998 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10999 = load i32, ptr @test_count, align 4, !tbaa !5
  %11000 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11001 = load i32, ptr %11000, align 4, !tbaa !5
  %11002 = call ptr @s2n_strerror(i32 noundef %11001, ptr noundef @.str.11)
  %11003 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11004 = load i32, ptr %11003, align 4, !tbaa !5
  %11005 = call ptr @s2n_strerror_debug(i32 noundef %11004, ptr noundef @.str.11)
  %11006 = call ptr @__errno_location() #12
  %11007 = load i32, ptr %11006, align 4, !tbaa !5
  %11008 = call ptr @strerror(i32 noundef %11007) #11
  %11009 = call ptr @__errno_location() #12
  %11010 = load i32, ptr %11009, align 4, !tbaa !5
  %11011 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10998, ptr noundef @.str.9, i32 noundef %10999, ptr noundef @.str.96, ptr noundef @.str.8, i32 noundef 467, ptr noundef %11002, ptr noundef %11005, ptr noundef %11008, i32 noundef %11010) #11
  br label %11029

11012:                                            ; preds = %10990, %10983
  %11013 = load i32, ptr %219, align 4, !tbaa !5
  %11014 = call ptr @__errno_location() #12
  store i32 %11013, ptr %11014, align 4, !tbaa !5
  %11015 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11016 = load i32, ptr @test_count, align 4, !tbaa !5
  %11017 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11018 = load i32, ptr %11017, align 4, !tbaa !5
  %11019 = call ptr @s2n_strerror(i32 noundef %11018, ptr noundef @.str.11)
  %11020 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11021 = load i32, ptr %11020, align 4, !tbaa !5
  %11022 = call ptr @s2n_strerror_debug(i32 noundef %11021, ptr noundef @.str.11)
  %11023 = call ptr @__errno_location() #12
  %11024 = load i32, ptr %11023, align 4, !tbaa !5
  %11025 = call ptr @strerror(i32 noundef %11024) #11
  %11026 = call ptr @__errno_location() #12
  %11027 = load i32, ptr %11026, align 4, !tbaa !5
  %11028 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11015, ptr noundef @.str.12, i32 noundef %11016, ptr noundef @.str.96, ptr noundef @.str.8, i32 noundef 467, ptr noundef %11019, ptr noundef %11022, ptr noundef %11025, i32 noundef %11027) #11
  br label %11029

11029:                                            ; preds = %11012, %10995
  call void @llvm.lifetime.end.p0(i64 4, ptr %219) #11
  br label %11030

11030:                                            ; preds = %11029
  br label %11031

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

11032:                                            ; No predecessors!
  br label %11033

11033:                                            ; preds = %11032
  br label %11034

11034:                                            ; preds = %11033, %10972
  br label %11035

11035:                                            ; preds = %11034
  br label %11036

11036:                                            ; preds = %11035
  br label %11037

11037:                                            ; preds = %11036
  %11038 = load i32, ptr @test_count, align 4, !tbaa !5
  %11039 = add nsw i32 %11038, 1
  store i32 %11039, ptr @test_count, align 4, !tbaa !5
  %11040 = load ptr, ptr %189, align 8, !tbaa !9
  %11041 = getelementptr inbounds %struct.s2n_connection, ptr %11040, i32 0, i32 53
  %11042 = load i16, ptr %11041, align 8, !tbaa !61
  %11043 = zext i16 %11042 to i32
  %11044 = icmp eq i32 %11043, 10
  br i1 %11044, label %11098, label %11045

11045:                                            ; preds = %11037
  br label %11046

11046:                                            ; preds = %11045
  br label %11047

11047:                                            ; preds = %11046
  call void @llvm.lifetime.start.p0(i64 4, ptr %220) #11
  %11048 = call ptr @__errno_location() #12
  %11049 = load i32, ptr %11048, align 4, !tbaa !5
  store i32 %11049, ptr %220, align 4, !tbaa !5
  %11050 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11051 = call i32 @s2n_print_stacktrace(ptr noundef %11050)
  %11052 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11053 = trunc i8 %11052 to i1
  br i1 %11053, label %11054, label %11076

11054:                                            ; preds = %11047
  %11055 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11056 = call i32 @fileno(ptr noundef %11055) #11
  %11057 = call i32 @isatty(i32 noundef %11056) #11
  %11058 = icmp ne i32 %11057, 0
  br i1 %11058, label %11059, label %11076

11059:                                            ; preds = %11054
  %11060 = load i32, ptr %220, align 4, !tbaa !5
  %11061 = call ptr @__errno_location() #12
  store i32 %11060, ptr %11061, align 4, !tbaa !5
  %11062 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11063 = load i32, ptr @test_count, align 4, !tbaa !5
  %11064 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11065 = load i32, ptr %11064, align 4, !tbaa !5
  %11066 = call ptr @s2n_strerror(i32 noundef %11065, ptr noundef @.str.11)
  %11067 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11068 = load i32, ptr %11067, align 4, !tbaa !5
  %11069 = call ptr @s2n_strerror_debug(i32 noundef %11068, ptr noundef @.str.11)
  %11070 = call ptr @__errno_location() #12
  %11071 = load i32, ptr %11070, align 4, !tbaa !5
  %11072 = call ptr @strerror(i32 noundef %11071) #11
  %11073 = call ptr @__errno_location() #12
  %11074 = load i32, ptr %11073, align 4, !tbaa !5
  %11075 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11062, ptr noundef @.str.9, i32 noundef %11063, ptr noundef @.str.97, ptr noundef @.str.8, i32 noundef 468, ptr noundef %11066, ptr noundef %11069, ptr noundef %11072, i32 noundef %11074) #11
  br label %11093

11076:                                            ; preds = %11054, %11047
  %11077 = load i32, ptr %220, 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.11)
  %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.11)
  %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.12, i32 noundef %11080, ptr noundef @.str.97, ptr noundef @.str.8, i32 noundef 468, ptr noundef %11083, ptr noundef %11086, ptr noundef %11089, i32 noundef %11091) #11
  br label %11093

11093:                                            ; preds = %11076, %11059
  call void @llvm.lifetime.end.p0(i64 4, ptr %220) #11
  br label %11094

11094:                                            ; preds = %11093
  br label %11095

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

11096:                                            ; No predecessors!
  br label %11097

11097:                                            ; preds = %11096
  br label %11098

11098:                                            ; preds = %11097, %11037
  br label %11099

11099:                                            ; preds = %11098
  br label %11100

11100:                                            ; preds = %11099
  br label %11101

11101:                                            ; preds = %11100
  %11102 = load i32, ptr @test_count, align 4, !tbaa !5
  %11103 = add nsw i32 %11102, 1
  store i32 %11103, ptr @test_count, align 4, !tbaa !5
  %11104 = load ptr, ptr %189, align 8, !tbaa !9
  %11105 = getelementptr inbounds %struct.s2n_connection, ptr %11104, i32 0, i32 41
  %11106 = getelementptr inbounds %struct.s2n_stuffer, ptr %11105, i32 0, i32 0
  %11107 = getelementptr inbounds %struct.s2n_blob, ptr %11106, i32 0, i32 1
  %11108 = load i32, ptr %11107, align 8, !tbaa !62
  %11109 = icmp eq i32 %11108, 65535
  br i1 %11109, label %11163, label %11110

11110:                                            ; preds = %11101
  br label %11111

11111:                                            ; preds = %11110
  br label %11112

11112:                                            ; preds = %11111
  call void @llvm.lifetime.start.p0(i64 4, ptr %221) #11
  %11113 = call ptr @__errno_location() #12
  %11114 = load i32, ptr %11113, align 4, !tbaa !5
  store i32 %11114, ptr %221, align 4, !tbaa !5
  %11115 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11116 = call i32 @s2n_print_stacktrace(ptr noundef %11115)
  %11117 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11118 = trunc i8 %11117 to i1
  br i1 %11118, label %11119, label %11141

11119:                                            ; preds = %11112
  %11120 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11121 = call i32 @fileno(ptr noundef %11120) #11
  %11122 = call i32 @isatty(i32 noundef %11121) #11
  %11123 = icmp ne i32 %11122, 0
  br i1 %11123, label %11124, label %11141

11124:                                            ; preds = %11119
  %11125 = load i32, ptr %221, align 4, !tbaa !5
  %11126 = call ptr @__errno_location() #12
  store i32 %11125, ptr %11126, align 4, !tbaa !5
  %11127 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11128 = load i32, ptr @test_count, align 4, !tbaa !5
  %11129 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11130 = load i32, ptr %11129, align 4, !tbaa !5
  %11131 = call ptr @s2n_strerror(i32 noundef %11130, ptr noundef @.str.11)
  %11132 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11133 = load i32, ptr %11132, align 4, !tbaa !5
  %11134 = call ptr @s2n_strerror_debug(i32 noundef %11133, ptr noundef @.str.11)
  %11135 = call ptr @__errno_location() #12
  %11136 = load i32, ptr %11135, align 4, !tbaa !5
  %11137 = call ptr @strerror(i32 noundef %11136) #11
  %11138 = call ptr @__errno_location() #12
  %11139 = load i32, ptr %11138, align 4, !tbaa !5
  %11140 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11127, ptr noundef @.str.9, i32 noundef %11128, ptr noundef @.str.107, ptr noundef @.str.8, i32 noundef 469, ptr noundef %11131, ptr noundef %11134, ptr noundef %11137, i32 noundef %11139) #11
  br label %11158

11141:                                            ; preds = %11119, %11112
  %11142 = load i32, ptr %221, align 4, !tbaa !5
  %11143 = call ptr @__errno_location() #12
  store i32 %11142, ptr %11143, align 4, !tbaa !5
  %11144 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11145 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %11147, ptr noundef @.str.11)
  %11149 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11150 = load i32, ptr %11149, align 4, !tbaa !5
  %11151 = call ptr @s2n_strerror_debug(i32 noundef %11150, ptr noundef @.str.11)
  %11152 = call ptr @__errno_location() #12
  %11153 = load i32, ptr %11152, align 4, !tbaa !5
  %11154 = call ptr @strerror(i32 noundef %11153) #11
  %11155 = call ptr @__errno_location() #12
  %11156 = load i32, ptr %11155, align 4, !tbaa !5
  %11157 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11144, ptr noundef @.str.12, i32 noundef %11145, ptr noundef @.str.107, ptr noundef @.str.8, i32 noundef 469, ptr noundef %11148, ptr noundef %11151, ptr noundef %11154, i32 noundef %11156) #11
  br label %11158

11158:                                            ; preds = %11141, %11124
  call void @llvm.lifetime.end.p0(i64 4, ptr %221) #11
  br label %11159

11159:                                            ; preds = %11158
  br label %11160

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

11161:                                            ; No predecessors!
  br label %11162

11162:                                            ; preds = %11161
  br label %11163

11163:                                            ; preds = %11162, %11101
  br label %11164

11164:                                            ; preds = %11163
  br label %11165

11165:                                            ; preds = %11164
  br label %11166

11166:                                            ; preds = %11165
  %11167 = load i32, ptr @test_count, align 4, !tbaa !5
  %11168 = add nsw i32 %11167, 1
  store i32 %11168, ptr @test_count, align 4, !tbaa !5
  %11169 = load ptr, ptr %189, align 8, !tbaa !9
  %11170 = getelementptr inbounds %struct.s2n_connection, ptr %11169, i32 0, i32 41
  %11171 = getelementptr inbounds %struct.s2n_stuffer, ptr %11170, i32 0, i32 0
  %11172 = call i32 @s2n_free(ptr noundef %11171)
  %11173 = icmp eq i32 %11172, -1
  br i1 %11173, label %11174, label %11227

11174:                                            ; preds = %11166
  br label %11175

11175:                                            ; preds = %11174
  br label %11176

11176:                                            ; preds = %11175
  call void @llvm.lifetime.start.p0(i64 4, ptr %222) #11
  %11177 = call ptr @__errno_location() #12
  %11178 = load i32, ptr %11177, align 4, !tbaa !5
  store i32 %11178, ptr %222, align 4, !tbaa !5
  %11179 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11180 = call i32 @s2n_print_stacktrace(ptr noundef %11179)
  %11181 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11182 = trunc i8 %11181 to i1
  br i1 %11182, label %11183, label %11205

11183:                                            ; preds = %11176
  %11184 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11185 = call i32 @fileno(ptr noundef %11184) #11
  %11186 = call i32 @isatty(i32 noundef %11185) #11
  %11187 = icmp ne i32 %11186, 0
  br i1 %11187, label %11188, label %11205

11188:                                            ; preds = %11183
  %11189 = load i32, ptr %222, align 4, !tbaa !5
  %11190 = call ptr @__errno_location() #12
  store i32 %11189, ptr %11190, align 4, !tbaa !5
  %11191 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11192 = load i32, ptr @test_count, align 4, !tbaa !5
  %11193 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11194 = load i32, ptr %11193, align 4, !tbaa !5
  %11195 = call ptr @s2n_strerror(i32 noundef %11194, ptr noundef @.str.11)
  %11196 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11197 = load i32, ptr %11196, align 4, !tbaa !5
  %11198 = call ptr @s2n_strerror_debug(i32 noundef %11197, ptr noundef @.str.11)
  %11199 = call ptr @__errno_location() #12
  %11200 = load i32, ptr %11199, align 4, !tbaa !5
  %11201 = call ptr @strerror(i32 noundef %11200) #11
  %11202 = call ptr @__errno_location() #12
  %11203 = load i32, ptr %11202, align 4, !tbaa !5
  %11204 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11191, ptr noundef @.str.9, i32 noundef %11192, ptr noundef @.str.105, ptr noundef @.str.8, i32 noundef 470, ptr noundef %11195, ptr noundef %11198, ptr noundef %11201, i32 noundef %11203) #11
  br label %11222

11205:                                            ; preds = %11183, %11176
  %11206 = load i32, ptr %222, align 4, !tbaa !5
  %11207 = call ptr @__errno_location() #12
  store i32 %11206, ptr %11207, align 4, !tbaa !5
  %11208 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11209 = load i32, ptr @test_count, align 4, !tbaa !5
  %11210 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11211 = load i32, ptr %11210, align 4, !tbaa !5
  %11212 = call ptr @s2n_strerror(i32 noundef %11211, ptr noundef @.str.11)
  %11213 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11214 = load i32, ptr %11213, align 4, !tbaa !5
  %11215 = call ptr @s2n_strerror_debug(i32 noundef %11214, ptr noundef @.str.11)
  %11216 = call ptr @__errno_location() #12
  %11217 = load i32, ptr %11216, align 4, !tbaa !5
  %11218 = call ptr @strerror(i32 noundef %11217) #11
  %11219 = call ptr @__errno_location() #12
  %11220 = load i32, ptr %11219, align 4, !tbaa !5
  %11221 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11208, ptr noundef @.str.12, i32 noundef %11209, ptr noundef @.str.105, ptr noundef @.str.8, i32 noundef 470, ptr noundef %11212, ptr noundef %11215, ptr noundef %11218, i32 noundef %11220) #11
  br label %11222

11222:                                            ; preds = %11205, %11188
  call void @llvm.lifetime.end.p0(i64 4, ptr %222) #11
  br label %11223

11223:                                            ; preds = %11222
  br label %11224

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

11225:                                            ; No predecessors!
  br label %11226

11226:                                            ; preds = %11225
  br label %11227

11227:                                            ; preds = %11226, %11166
  br label %11228

11228:                                            ; preds = %11227
  br label %11229

11229:                                            ; preds = %11228
  br label %11230

11230:                                            ; preds = %11229
  %11231 = load i32, ptr @test_count, align 4, !tbaa !5
  %11232 = add nsw i32 %11231, 1
  store i32 %11232, ptr @test_count, align 4, !tbaa !5
  %11233 = load ptr, ptr %189, align 8, !tbaa !9
  %11234 = call i32 @s2n_connection_free(ptr noundef %11233)
  %11235 = icmp eq i32 %11234, -1
  br i1 %11235, label %11236, label %11289

11236:                                            ; preds = %11230
  br label %11237

11237:                                            ; preds = %11236
  br label %11238

11238:                                            ; preds = %11237
  call void @llvm.lifetime.start.p0(i64 4, ptr %223) #11
  %11239 = call ptr @__errno_location() #12
  %11240 = load i32, ptr %11239, align 4, !tbaa !5
  store i32 %11240, ptr %223, align 4, !tbaa !5
  %11241 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11242 = call i32 @s2n_print_stacktrace(ptr noundef %11241)
  %11243 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11244 = trunc i8 %11243 to i1
  br i1 %11244, label %11245, label %11267

11245:                                            ; preds = %11238
  %11246 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11247 = call i32 @fileno(ptr noundef %11246) #11
  %11248 = call i32 @isatty(i32 noundef %11247) #11
  %11249 = icmp ne i32 %11248, 0
  br i1 %11249, label %11250, label %11267

11250:                                            ; preds = %11245
  %11251 = load i32, ptr %223, align 4, !tbaa !5
  %11252 = call ptr @__errno_location() #12
  store i32 %11251, ptr %11252, align 4, !tbaa !5
  %11253 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11254 = load i32, ptr @test_count, align 4, !tbaa !5
  %11255 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11256 = load i32, ptr %11255, align 4, !tbaa !5
  %11257 = call ptr @s2n_strerror(i32 noundef %11256, ptr noundef @.str.11)
  %11258 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11259 = load i32, ptr %11258, align 4, !tbaa !5
  %11260 = call ptr @s2n_strerror_debug(i32 noundef %11259, ptr noundef @.str.11)
  %11261 = call ptr @__errno_location() #12
  %11262 = load i32, ptr %11261, align 4, !tbaa !5
  %11263 = call ptr @strerror(i32 noundef %11262) #11
  %11264 = call ptr @__errno_location() #12
  %11265 = load i32, ptr %11264, align 4, !tbaa !5
  %11266 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11253, ptr noundef @.str.9, i32 noundef %11254, ptr noundef @.str.25, ptr noundef @.str.8, i32 noundef 473, ptr noundef %11257, ptr noundef %11260, ptr noundef %11263, i32 noundef %11265) #11
  br label %11284

11267:                                            ; preds = %11245, %11238
  %11268 = load i32, ptr %223, align 4, !tbaa !5
  %11269 = call ptr @__errno_location() #12
  store i32 %11268, ptr %11269, align 4, !tbaa !5
  %11270 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11271 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %11273, ptr noundef @.str.11)
  %11275 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11276 = load i32, ptr %11275, align 4, !tbaa !5
  %11277 = call ptr @s2n_strerror_debug(i32 noundef %11276, ptr noundef @.str.11)
  %11278 = call ptr @__errno_location() #12
  %11279 = load i32, ptr %11278, align 4, !tbaa !5
  %11280 = call ptr @strerror(i32 noundef %11279) #11
  %11281 = call ptr @__errno_location() #12
  %11282 = load i32, ptr %11281, align 4, !tbaa !5
  %11283 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11270, ptr noundef @.str.12, i32 noundef %11271, ptr noundef @.str.25, ptr noundef @.str.8, i32 noundef 473, ptr noundef %11274, ptr noundef %11277, ptr noundef %11280, i32 noundef %11282) #11
  br label %11284

11284:                                            ; preds = %11267, %11250
  call void @llvm.lifetime.end.p0(i64 4, ptr %223) #11
  br label %11285

11285:                                            ; preds = %11284
  br label %11286

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

11287:                                            ; No predecessors!
  br label %11288

11288:                                            ; preds = %11287
  br label %11289

11289:                                            ; preds = %11288, %11230
  br label %11290

11290:                                            ; preds = %11289
  br label %11291

11291:                                            ; preds = %11290
  call void @llvm.lifetime.end.p0(i64 8, ptr %189) #11
  call void @llvm.lifetime.end.p0(i64 2, ptr %184) #11
  call void @llvm.lifetime.end.p0(i64 2, ptr %183) #11
  call void @llvm.lifetime.end.p0(i64 2, ptr %182) #11
  call void @llvm.lifetime.end.p0(i64 1, ptr %181) #11
  br label %11292

11292:                                            ; preds = %11291
  br label %11293

11293:                                            ; preds = %11292
  br label %11294

11294:                                            ; preds = %11293
  %11295 = load i32, ptr @test_count, align 4, !tbaa !5
  %11296 = add nsw i32 %11295, 1
  store i32 %11296, ptr @test_count, align 4, !tbaa !5
  %11297 = call i32 @s2n_connection_set_fd(ptr noundef null, i32 noundef 1)
  %11298 = icmp eq i32 %11297, -1
  br i1 %11298, label %11352, label %11299

11299:                                            ; preds = %11294
  br label %11300

11300:                                            ; preds = %11299
  br label %11301

11301:                                            ; preds = %11300
  call void @llvm.lifetime.start.p0(i64 4, ptr %224) #11
  %11302 = call ptr @__errno_location() #12
  %11303 = load i32, ptr %11302, align 4, !tbaa !5
  store i32 %11303, ptr %224, align 4, !tbaa !5
  %11304 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11305 = call i32 @s2n_print_stacktrace(ptr noundef %11304)
  %11306 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11307 = trunc i8 %11306 to i1
  br i1 %11307, label %11308, label %11330

11308:                                            ; preds = %11301
  %11309 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11310 = call i32 @fileno(ptr noundef %11309) #11
  %11311 = call i32 @isatty(i32 noundef %11310) #11
  %11312 = icmp ne i32 %11311, 0
  br i1 %11312, label %11313, label %11330

11313:                                            ; preds = %11308
  %11314 = load i32, ptr %224, align 4, !tbaa !5
  %11315 = call ptr @__errno_location() #12
  store i32 %11314, ptr %11315, align 4, !tbaa !5
  %11316 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11317 = load i32, ptr @test_count, align 4, !tbaa !5
  %11318 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11319 = load i32, ptr %11318, align 4, !tbaa !5
  %11320 = call ptr @s2n_strerror(i32 noundef %11319, ptr noundef @.str.11)
  %11321 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11322 = load i32, ptr %11321, align 4, !tbaa !5
  %11323 = call ptr @s2n_strerror_debug(i32 noundef %11322, ptr noundef @.str.11)
  %11324 = call ptr @__errno_location() #12
  %11325 = load i32, ptr %11324, align 4, !tbaa !5
  %11326 = call ptr @strerror(i32 noundef %11325) #11
  %11327 = call ptr @__errno_location() #12
  %11328 = load i32, ptr %11327, align 4, !tbaa !5
  %11329 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11316, ptr noundef @.str.9, i32 noundef %11317, ptr noundef @.str.108, ptr noundef @.str.8, i32 noundef 483, ptr noundef %11320, ptr noundef %11323, ptr noundef %11326, i32 noundef %11328) #11
  br label %11347

11330:                                            ; preds = %11308, %11301
  %11331 = load i32, ptr %224, align 4, !tbaa !5
  %11332 = call ptr @__errno_location() #12
  store i32 %11331, ptr %11332, align 4, !tbaa !5
  %11333 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11334 = load i32, ptr @test_count, align 4, !tbaa !5
  %11335 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11336 = load i32, ptr %11335, align 4, !tbaa !5
  %11337 = call ptr @s2n_strerror(i32 noundef %11336, ptr noundef @.str.11)
  %11338 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11339 = load i32, ptr %11338, align 4, !tbaa !5
  %11340 = call ptr @s2n_strerror_debug(i32 noundef %11339, ptr noundef @.str.11)
  %11341 = call ptr @__errno_location() #12
  %11342 = load i32, ptr %11341, align 4, !tbaa !5
  %11343 = call ptr @strerror(i32 noundef %11342) #11
  %11344 = call ptr @__errno_location() #12
  %11345 = load i32, ptr %11344, align 4, !tbaa !5
  %11346 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11333, ptr noundef @.str.12, i32 noundef %11334, ptr noundef @.str.108, ptr noundef @.str.8, i32 noundef 483, ptr noundef %11337, ptr noundef %11340, ptr noundef %11343, i32 noundef %11345) #11
  br label %11347

11347:                                            ; preds = %11330, %11313
  call void @llvm.lifetime.end.p0(i64 4, ptr %224) #11
  br label %11348

11348:                                            ; preds = %11347
  br label %11349

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

11350:                                            ; No predecessors!
  br label %11351

11351:                                            ; preds = %11350
  br label %11352

11352:                                            ; preds = %11351, %11294
  br label %11353

11353:                                            ; preds = %11352
  br label %11354

11354:                                            ; preds = %11353
  br label %11355

11355:                                            ; preds = %11354
  %11356 = load i32, ptr @test_count, align 4, !tbaa !5
  %11357 = add nsw i32 %11356, 1
  store i32 %11357, ptr @test_count, align 4, !tbaa !5
  %11358 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11359 = load i32, ptr %11358, align 4, !tbaa !5
  %11360 = icmp eq i32 %11359, 402653193
  br i1 %11360, label %11414, label %11361

11361:                                            ; preds = %11355
  br label %11362

11362:                                            ; preds = %11361
  br label %11363

11363:                                            ; preds = %11362
  call void @llvm.lifetime.start.p0(i64 4, ptr %225) #11
  %11364 = call ptr @__errno_location() #12
  %11365 = load i32, ptr %11364, align 4, !tbaa !5
  store i32 %11365, ptr %225, align 4, !tbaa !5
  %11366 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11367 = call i32 @s2n_print_stacktrace(ptr noundef %11366)
  %11368 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11369 = trunc i8 %11368 to i1
  br i1 %11369, label %11370, label %11392

11370:                                            ; preds = %11363
  %11371 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11372 = call i32 @fileno(ptr noundef %11371) #11
  %11373 = call i32 @isatty(i32 noundef %11372) #11
  %11374 = icmp ne i32 %11373, 0
  br i1 %11374, label %11375, label %11392

11375:                                            ; preds = %11370
  %11376 = load i32, ptr %225, align 4, !tbaa !5
  %11377 = call ptr @__errno_location() #12
  store i32 %11376, ptr %11377, align 4, !tbaa !5
  %11378 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11379 = load i32, ptr @test_count, align 4, !tbaa !5
  %11380 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11381 = load i32, ptr %11380, align 4, !tbaa !5
  %11382 = call ptr @s2n_strerror(i32 noundef %11381, ptr noundef @.str.11)
  %11383 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11384 = load i32, ptr %11383, align 4, !tbaa !5
  %11385 = call ptr @s2n_strerror_debug(i32 noundef %11384, ptr noundef @.str.11)
  %11386 = call ptr @__errno_location() #12
  %11387 = load i32, ptr %11386, align 4, !tbaa !5
  %11388 = call ptr @strerror(i32 noundef %11387) #11
  %11389 = call ptr @__errno_location() #12
  %11390 = load i32, ptr %11389, align 4, !tbaa !5
  %11391 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11378, ptr noundef @.str.9, i32 noundef %11379, ptr noundef @.str.91, ptr noundef @.str.8, i32 noundef 483, ptr noundef %11382, ptr noundef %11385, ptr noundef %11388, i32 noundef %11390) #11
  br label %11409

11392:                                            ; preds = %11370, %11363
  %11393 = load i32, ptr %225, align 4, !tbaa !5
  %11394 = call ptr @__errno_location() #12
  store i32 %11393, ptr %11394, align 4, !tbaa !5
  %11395 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11396 = load i32, ptr @test_count, align 4, !tbaa !5
  %11397 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11398 = load i32, ptr %11397, align 4, !tbaa !5
  %11399 = call ptr @s2n_strerror(i32 noundef %11398, ptr noundef @.str.11)
  %11400 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11401 = load i32, ptr %11400, align 4, !tbaa !5
  %11402 = call ptr @s2n_strerror_debug(i32 noundef %11401, ptr noundef @.str.11)
  %11403 = call ptr @__errno_location() #12
  %11404 = load i32, ptr %11403, align 4, !tbaa !5
  %11405 = call ptr @strerror(i32 noundef %11404) #11
  %11406 = call ptr @__errno_location() #12
  %11407 = load i32, ptr %11406, align 4, !tbaa !5
  %11408 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11395, ptr noundef @.str.12, i32 noundef %11396, ptr noundef @.str.91, ptr noundef @.str.8, i32 noundef 483, ptr noundef %11399, ptr noundef %11402, ptr noundef %11405, i32 noundef %11407) #11
  br label %11409

11409:                                            ; preds = %11392, %11375
  call void @llvm.lifetime.end.p0(i64 4, ptr %225) #11
  br label %11410

11410:                                            ; preds = %11409
  br label %11411

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

11412:                                            ; No predecessors!
  br label %11413

11413:                                            ; preds = %11412
  br label %11414

11414:                                            ; preds = %11413, %11355
  br label %11415

11415:                                            ; preds = %11414
  br label %11416

11416:                                            ; preds = %11415
  br label %11417

11417:                                            ; preds = %11416
  %11418 = load i32, ptr @test_count, align 4, !tbaa !5
  %11419 = add nsw i32 %11418, 1
  store i32 %11419, ptr @test_count, align 4, !tbaa !5
  %11420 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11421 = load i32, ptr %11420, align 4, !tbaa !5
  %11422 = call ptr @s2n_strerror_debug(i32 noundef %11421, ptr noundef @.str.11)
  %11423 = icmp eq ptr %11422, null
  br i1 %11423, label %11424, label %11477

11424:                                            ; preds = %11417
  br label %11425

11425:                                            ; preds = %11424
  br label %11426

11426:                                            ; preds = %11425
  call void @llvm.lifetime.start.p0(i64 4, ptr %226) #11
  %11427 = call ptr @__errno_location() #12
  %11428 = load i32, ptr %11427, align 4, !tbaa !5
  store i32 %11428, ptr %226, align 4, !tbaa !5
  %11429 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11430 = call i32 @s2n_print_stacktrace(ptr noundef %11429)
  %11431 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11432 = trunc i8 %11431 to i1
  br i1 %11432, label %11433, label %11455

11433:                                            ; preds = %11426
  %11434 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11435 = call i32 @fileno(ptr noundef %11434) #11
  %11436 = call i32 @isatty(i32 noundef %11435) #11
  %11437 = icmp ne i32 %11436, 0
  br i1 %11437, label %11438, label %11455

11438:                                            ; preds = %11433
  %11439 = load i32, ptr %226, align 4, !tbaa !5
  %11440 = call ptr @__errno_location() #12
  store i32 %11439, ptr %11440, align 4, !tbaa !5
  %11441 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11442 = load i32, ptr @test_count, align 4, !tbaa !5
  %11443 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11444 = load i32, ptr %11443, align 4, !tbaa !5
  %11445 = call ptr @s2n_strerror(i32 noundef %11444, ptr noundef @.str.11)
  %11446 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11447 = load i32, ptr %11446, align 4, !tbaa !5
  %11448 = call ptr @s2n_strerror_debug(i32 noundef %11447, ptr noundef @.str.11)
  %11449 = call ptr @__errno_location() #12
  %11450 = load i32, ptr %11449, align 4, !tbaa !5
  %11451 = call ptr @strerror(i32 noundef %11450) #11
  %11452 = call ptr @__errno_location() #12
  %11453 = load i32, ptr %11452, align 4, !tbaa !5
  %11454 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11441, ptr noundef @.str.9, i32 noundef %11442, ptr noundef @.str.54, ptr noundef @.str.8, i32 noundef 483, ptr noundef %11445, ptr noundef %11448, ptr noundef %11451, i32 noundef %11453) #11
  br label %11472

11455:                                            ; preds = %11433, %11426
  %11456 = load i32, ptr %226, align 4, !tbaa !5
  %11457 = call ptr @__errno_location() #12
  store i32 %11456, ptr %11457, align 4, !tbaa !5
  %11458 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11459 = load i32, ptr @test_count, align 4, !tbaa !5
  %11460 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11461 = load i32, ptr %11460, align 4, !tbaa !5
  %11462 = call ptr @s2n_strerror(i32 noundef %11461, ptr noundef @.str.11)
  %11463 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11464 = load i32, ptr %11463, align 4, !tbaa !5
  %11465 = call ptr @s2n_strerror_debug(i32 noundef %11464, ptr noundef @.str.11)
  %11466 = call ptr @__errno_location() #12
  %11467 = load i32, ptr %11466, align 4, !tbaa !5
  %11468 = call ptr @strerror(i32 noundef %11467) #11
  %11469 = call ptr @__errno_location() #12
  %11470 = load i32, ptr %11469, align 4, !tbaa !5
  %11471 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11458, ptr noundef @.str.12, i32 noundef %11459, ptr noundef @.str.54, ptr noundef @.str.8, i32 noundef 483, ptr noundef %11462, ptr noundef %11465, ptr noundef %11468, i32 noundef %11470) #11
  br label %11472

11472:                                            ; preds = %11455, %11438
  call void @llvm.lifetime.end.p0(i64 4, ptr %226) #11
  br label %11473

11473:                                            ; preds = %11472
  br label %11474

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

11475:                                            ; No predecessors!
  br label %11476

11476:                                            ; preds = %11475
  br label %11477

11477:                                            ; preds = %11476, %11417
  br label %11478

11478:                                            ; preds = %11477
  br label %11479

11479:                                            ; preds = %11478
  br label %11480

11480:                                            ; preds = %11479
  br label %11481

11481:                                            ; preds = %11480
  br label %11482

11482:                                            ; preds = %11481
  %11483 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %11483, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %11484 = call ptr @__errno_location() #12
  store i32 0, ptr %11484, align 4, !tbaa !5
  br label %11485

11485:                                            ; preds = %11482
  br label %11486

11486:                                            ; preds = %11485
  br label %11487

11487:                                            ; preds = %11486
  br label %11488

11488:                                            ; preds = %11487
  br label %11489

11489:                                            ; preds = %11488
  br label %11490

11490:                                            ; preds = %11489
  br label %11491

11491:                                            ; preds = %11490
  %11492 = load i32, ptr @test_count, align 4, !tbaa !5
  %11493 = add nsw i32 %11492, 1
  store i32 %11493, ptr @test_count, align 4, !tbaa !5
  %11494 = call i32 @s2n_connection_set_read_fd(ptr noundef null, i32 noundef 1)
  %11495 = icmp eq i32 %11494, -1
  br i1 %11495, label %11549, label %11496

11496:                                            ; preds = %11491
  br label %11497

11497:                                            ; preds = %11496
  br label %11498

11498:                                            ; preds = %11497
  call void @llvm.lifetime.start.p0(i64 4, ptr %227) #11
  %11499 = call ptr @__errno_location() #12
  %11500 = load i32, ptr %11499, align 4, !tbaa !5
  store i32 %11500, ptr %227, align 4, !tbaa !5
  %11501 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11502 = call i32 @s2n_print_stacktrace(ptr noundef %11501)
  %11503 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11504 = trunc i8 %11503 to i1
  br i1 %11504, label %11505, label %11527

11505:                                            ; preds = %11498
  %11506 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11507 = call i32 @fileno(ptr noundef %11506) #11
  %11508 = call i32 @isatty(i32 noundef %11507) #11
  %11509 = icmp ne i32 %11508, 0
  br i1 %11509, label %11510, label %11527

11510:                                            ; preds = %11505
  %11511 = load i32, ptr %227, align 4, !tbaa !5
  %11512 = call ptr @__errno_location() #12
  store i32 %11511, ptr %11512, align 4, !tbaa !5
  %11513 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11514 = load i32, ptr @test_count, align 4, !tbaa !5
  %11515 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11516 = load i32, ptr %11515, align 4, !tbaa !5
  %11517 = call ptr @s2n_strerror(i32 noundef %11516, ptr noundef @.str.11)
  %11518 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11519 = load i32, ptr %11518, align 4, !tbaa !5
  %11520 = call ptr @s2n_strerror_debug(i32 noundef %11519, ptr noundef @.str.11)
  %11521 = call ptr @__errno_location() #12
  %11522 = load i32, ptr %11521, align 4, !tbaa !5
  %11523 = call ptr @strerror(i32 noundef %11522) #11
  %11524 = call ptr @__errno_location() #12
  %11525 = load i32, ptr %11524, align 4, !tbaa !5
  %11526 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11513, ptr noundef @.str.9, i32 noundef %11514, ptr noundef @.str.109, ptr noundef @.str.8, i32 noundef 484, ptr noundef %11517, ptr noundef %11520, ptr noundef %11523, i32 noundef %11525) #11
  br label %11544

11527:                                            ; preds = %11505, %11498
  %11528 = load i32, ptr %227, align 4, !tbaa !5
  %11529 = call ptr @__errno_location() #12
  store i32 %11528, ptr %11529, align 4, !tbaa !5
  %11530 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11531 = load i32, ptr @test_count, align 4, !tbaa !5
  %11532 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11533 = load i32, ptr %11532, align 4, !tbaa !5
  %11534 = call ptr @s2n_strerror(i32 noundef %11533, ptr noundef @.str.11)
  %11535 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11536 = load i32, ptr %11535, align 4, !tbaa !5
  %11537 = call ptr @s2n_strerror_debug(i32 noundef %11536, ptr noundef @.str.11)
  %11538 = call ptr @__errno_location() #12
  %11539 = load i32, ptr %11538, align 4, !tbaa !5
  %11540 = call ptr @strerror(i32 noundef %11539) #11
  %11541 = call ptr @__errno_location() #12
  %11542 = load i32, ptr %11541, align 4, !tbaa !5
  %11543 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11530, ptr noundef @.str.12, i32 noundef %11531, ptr noundef @.str.109, ptr noundef @.str.8, i32 noundef 484, ptr noundef %11534, ptr noundef %11537, ptr noundef %11540, i32 noundef %11542) #11
  br label %11544

11544:                                            ; preds = %11527, %11510
  call void @llvm.lifetime.end.p0(i64 4, ptr %227) #11
  br label %11545

11545:                                            ; preds = %11544
  br label %11546

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

11547:                                            ; No predecessors!
  br label %11548

11548:                                            ; preds = %11547
  br label %11549

11549:                                            ; preds = %11548, %11491
  br label %11550

11550:                                            ; preds = %11549
  br label %11551

11551:                                            ; preds = %11550
  br label %11552

11552:                                            ; preds = %11551
  %11553 = load i32, ptr @test_count, align 4, !tbaa !5
  %11554 = add nsw i32 %11553, 1
  store i32 %11554, ptr @test_count, align 4, !tbaa !5
  %11555 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11556 = load i32, ptr %11555, align 4, !tbaa !5
  %11557 = icmp eq i32 %11556, 402653193
  br i1 %11557, label %11611, label %11558

11558:                                            ; preds = %11552
  br label %11559

11559:                                            ; preds = %11558
  br label %11560

11560:                                            ; preds = %11559
  call void @llvm.lifetime.start.p0(i64 4, ptr %228) #11
  %11561 = call ptr @__errno_location() #12
  %11562 = load i32, ptr %11561, align 4, !tbaa !5
  store i32 %11562, ptr %228, align 4, !tbaa !5
  %11563 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11564 = call i32 @s2n_print_stacktrace(ptr noundef %11563)
  %11565 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11566 = trunc i8 %11565 to i1
  br i1 %11566, label %11567, label %11589

11567:                                            ; preds = %11560
  %11568 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11569 = call i32 @fileno(ptr noundef %11568) #11
  %11570 = call i32 @isatty(i32 noundef %11569) #11
  %11571 = icmp ne i32 %11570, 0
  br i1 %11571, label %11572, label %11589

11572:                                            ; preds = %11567
  %11573 = load i32, ptr %228, align 4, !tbaa !5
  %11574 = call ptr @__errno_location() #12
  store i32 %11573, ptr %11574, align 4, !tbaa !5
  %11575 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11576 = load i32, ptr @test_count, align 4, !tbaa !5
  %11577 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11578 = load i32, ptr %11577, align 4, !tbaa !5
  %11579 = call ptr @s2n_strerror(i32 noundef %11578, ptr noundef @.str.11)
  %11580 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11581 = load i32, ptr %11580, align 4, !tbaa !5
  %11582 = call ptr @s2n_strerror_debug(i32 noundef %11581, ptr noundef @.str.11)
  %11583 = call ptr @__errno_location() #12
  %11584 = load i32, ptr %11583, align 4, !tbaa !5
  %11585 = call ptr @strerror(i32 noundef %11584) #11
  %11586 = call ptr @__errno_location() #12
  %11587 = load i32, ptr %11586, align 4, !tbaa !5
  %11588 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11575, ptr noundef @.str.9, i32 noundef %11576, ptr noundef @.str.91, ptr noundef @.str.8, i32 noundef 484, ptr noundef %11579, ptr noundef %11582, ptr noundef %11585, i32 noundef %11587) #11
  br label %11606

11589:                                            ; preds = %11567, %11560
  %11590 = load i32, ptr %228, align 4, !tbaa !5
  %11591 = call ptr @__errno_location() #12
  store i32 %11590, ptr %11591, align 4, !tbaa !5
  %11592 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11593 = load i32, ptr @test_count, align 4, !tbaa !5
  %11594 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11595 = load i32, ptr %11594, align 4, !tbaa !5
  %11596 = call ptr @s2n_strerror(i32 noundef %11595, ptr noundef @.str.11)
  %11597 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11598 = load i32, ptr %11597, align 4, !tbaa !5
  %11599 = call ptr @s2n_strerror_debug(i32 noundef %11598, ptr noundef @.str.11)
  %11600 = call ptr @__errno_location() #12
  %11601 = load i32, ptr %11600, align 4, !tbaa !5
  %11602 = call ptr @strerror(i32 noundef %11601) #11
  %11603 = call ptr @__errno_location() #12
  %11604 = load i32, ptr %11603, align 4, !tbaa !5
  %11605 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11592, ptr noundef @.str.12, i32 noundef %11593, ptr noundef @.str.91, ptr noundef @.str.8, i32 noundef 484, ptr noundef %11596, ptr noundef %11599, ptr noundef %11602, i32 noundef %11604) #11
  br label %11606

11606:                                            ; preds = %11589, %11572
  call void @llvm.lifetime.end.p0(i64 4, ptr %228) #11
  br label %11607

11607:                                            ; preds = %11606
  br label %11608

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

11609:                                            ; No predecessors!
  br label %11610

11610:                                            ; preds = %11609
  br label %11611

11611:                                            ; preds = %11610, %11552
  br label %11612

11612:                                            ; preds = %11611
  br label %11613

11613:                                            ; preds = %11612
  br label %11614

11614:                                            ; preds = %11613
  %11615 = load i32, ptr @test_count, align 4, !tbaa !5
  %11616 = add nsw i32 %11615, 1
  store i32 %11616, ptr @test_count, align 4, !tbaa !5
  %11617 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11618 = load i32, ptr %11617, align 4, !tbaa !5
  %11619 = call ptr @s2n_strerror_debug(i32 noundef %11618, ptr noundef @.str.11)
  %11620 = icmp eq ptr %11619, null
  br i1 %11620, label %11621, label %11674

11621:                                            ; preds = %11614
  br label %11622

11622:                                            ; preds = %11621
  br label %11623

11623:                                            ; preds = %11622
  call void @llvm.lifetime.start.p0(i64 4, ptr %229) #11
  %11624 = call ptr @__errno_location() #12
  %11625 = load i32, ptr %11624, align 4, !tbaa !5
  store i32 %11625, ptr %229, align 4, !tbaa !5
  %11626 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11627 = call i32 @s2n_print_stacktrace(ptr noundef %11626)
  %11628 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11629 = trunc i8 %11628 to i1
  br i1 %11629, label %11630, label %11652

11630:                                            ; preds = %11623
  %11631 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11632 = call i32 @fileno(ptr noundef %11631) #11
  %11633 = call i32 @isatty(i32 noundef %11632) #11
  %11634 = icmp ne i32 %11633, 0
  br i1 %11634, label %11635, label %11652

11635:                                            ; preds = %11630
  %11636 = load i32, ptr %229, align 4, !tbaa !5
  %11637 = call ptr @__errno_location() #12
  store i32 %11636, ptr %11637, align 4, !tbaa !5
  %11638 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11639 = load i32, ptr @test_count, align 4, !tbaa !5
  %11640 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11641 = load i32, ptr %11640, align 4, !tbaa !5
  %11642 = call ptr @s2n_strerror(i32 noundef %11641, ptr noundef @.str.11)
  %11643 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11644 = load i32, ptr %11643, align 4, !tbaa !5
  %11645 = call ptr @s2n_strerror_debug(i32 noundef %11644, ptr noundef @.str.11)
  %11646 = call ptr @__errno_location() #12
  %11647 = load i32, ptr %11646, align 4, !tbaa !5
  %11648 = call ptr @strerror(i32 noundef %11647) #11
  %11649 = call ptr @__errno_location() #12
  %11650 = load i32, ptr %11649, align 4, !tbaa !5
  %11651 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11638, ptr noundef @.str.9, i32 noundef %11639, ptr noundef @.str.54, ptr noundef @.str.8, i32 noundef 484, ptr noundef %11642, ptr noundef %11645, ptr noundef %11648, i32 noundef %11650) #11
  br label %11669

11652:                                            ; preds = %11630, %11623
  %11653 = load i32, ptr %229, align 4, !tbaa !5
  %11654 = call ptr @__errno_location() #12
  store i32 %11653, ptr %11654, align 4, !tbaa !5
  %11655 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11656 = load i32, ptr @test_count, align 4, !tbaa !5
  %11657 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11658 = load i32, ptr %11657, align 4, !tbaa !5
  %11659 = call ptr @s2n_strerror(i32 noundef %11658, ptr noundef @.str.11)
  %11660 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11661 = load i32, ptr %11660, align 4, !tbaa !5
  %11662 = call ptr @s2n_strerror_debug(i32 noundef %11661, ptr noundef @.str.11)
  %11663 = call ptr @__errno_location() #12
  %11664 = load i32, ptr %11663, align 4, !tbaa !5
  %11665 = call ptr @strerror(i32 noundef %11664) #11
  %11666 = call ptr @__errno_location() #12
  %11667 = load i32, ptr %11666, align 4, !tbaa !5
  %11668 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11655, ptr noundef @.str.12, i32 noundef %11656, ptr noundef @.str.54, ptr noundef @.str.8, i32 noundef 484, ptr noundef %11659, ptr noundef %11662, ptr noundef %11665, i32 noundef %11667) #11
  br label %11669

11669:                                            ; preds = %11652, %11635
  call void @llvm.lifetime.end.p0(i64 4, ptr %229) #11
  br label %11670

11670:                                            ; preds = %11669
  br label %11671

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

11672:                                            ; No predecessors!
  br label %11673

11673:                                            ; preds = %11672
  br label %11674

11674:                                            ; preds = %11673, %11614
  br label %11675

11675:                                            ; preds = %11674
  br label %11676

11676:                                            ; preds = %11675
  br label %11677

11677:                                            ; preds = %11676
  br label %11678

11678:                                            ; preds = %11677
  br label %11679

11679:                                            ; preds = %11678
  %11680 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %11680, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %11681 = call ptr @__errno_location() #12
  store i32 0, ptr %11681, align 4, !tbaa !5
  br label %11682

11682:                                            ; preds = %11679
  br label %11683

11683:                                            ; preds = %11682
  br label %11684

11684:                                            ; preds = %11683
  br label %11685

11685:                                            ; preds = %11684
  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 i32 @s2n_connection_set_write_fd(ptr noundef null, i32 noundef 2)
  %11692 = icmp eq i32 %11691, -1
  br i1 %11692, label %11746, label %11693

11693:                                            ; preds = %11688
  br label %11694

11694:                                            ; preds = %11693
  br label %11695

11695:                                            ; preds = %11694
  call void @llvm.lifetime.start.p0(i64 4, ptr %230) #11
  %11696 = call ptr @__errno_location() #12
  %11697 = load i32, ptr %11696, align 4, !tbaa !5
  store i32 %11697, ptr %230, align 4, !tbaa !5
  %11698 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11699 = call i32 @s2n_print_stacktrace(ptr noundef %11698)
  %11700 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11701 = trunc i8 %11700 to i1
  br i1 %11701, label %11702, label %11724

11702:                                            ; preds = %11695
  %11703 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11704 = call i32 @fileno(ptr noundef %11703) #11
  %11705 = call i32 @isatty(i32 noundef %11704) #11
  %11706 = icmp ne i32 %11705, 0
  br i1 %11706, label %11707, label %11724

11707:                                            ; preds = %11702
  %11708 = load i32, ptr %230, align 4, !tbaa !5
  %11709 = call ptr @__errno_location() #12
  store i32 %11708, ptr %11709, align 4, !tbaa !5
  %11710 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11711 = load i32, ptr @test_count, align 4, !tbaa !5
  %11712 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11713 = load i32, ptr %11712, align 4, !tbaa !5
  %11714 = call ptr @s2n_strerror(i32 noundef %11713, ptr noundef @.str.11)
  %11715 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11716 = load i32, ptr %11715, align 4, !tbaa !5
  %11717 = call ptr @s2n_strerror_debug(i32 noundef %11716, ptr noundef @.str.11)
  %11718 = call ptr @__errno_location() #12
  %11719 = load i32, ptr %11718, align 4, !tbaa !5
  %11720 = call ptr @strerror(i32 noundef %11719) #11
  %11721 = call ptr @__errno_location() #12
  %11722 = load i32, ptr %11721, align 4, !tbaa !5
  %11723 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11710, ptr noundef @.str.9, i32 noundef %11711, ptr noundef @.str.110, ptr noundef @.str.8, i32 noundef 485, ptr noundef %11714, ptr noundef %11717, ptr noundef %11720, i32 noundef %11722) #11
  br label %11741

11724:                                            ; preds = %11702, %11695
  %11725 = load i32, ptr %230, align 4, !tbaa !5
  %11726 = call ptr @__errno_location() #12
  store i32 %11725, ptr %11726, align 4, !tbaa !5
  %11727 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11728 = load i32, ptr @test_count, align 4, !tbaa !5
  %11729 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11730 = load i32, ptr %11729, align 4, !tbaa !5
  %11731 = call ptr @s2n_strerror(i32 noundef %11730, ptr noundef @.str.11)
  %11732 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11733 = load i32, ptr %11732, align 4, !tbaa !5
  %11734 = call ptr @s2n_strerror_debug(i32 noundef %11733, ptr noundef @.str.11)
  %11735 = call ptr @__errno_location() #12
  %11736 = load i32, ptr %11735, align 4, !tbaa !5
  %11737 = call ptr @strerror(i32 noundef %11736) #11
  %11738 = call ptr @__errno_location() #12
  %11739 = load i32, ptr %11738, align 4, !tbaa !5
  %11740 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11727, ptr noundef @.str.12, i32 noundef %11728, ptr noundef @.str.110, ptr noundef @.str.8, i32 noundef 485, ptr noundef %11731, ptr noundef %11734, ptr noundef %11737, i32 noundef %11739) #11
  br label %11741

11741:                                            ; preds = %11724, %11707
  call void @llvm.lifetime.end.p0(i64 4, ptr %230) #11
  br label %11742

11742:                                            ; preds = %11741
  br label %11743

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

11744:                                            ; No predecessors!
  br label %11745

11745:                                            ; preds = %11744
  br label %11746

11746:                                            ; preds = %11745, %11688
  br label %11747

11747:                                            ; preds = %11746
  br label %11748

11748:                                            ; preds = %11747
  br label %11749

11749:                                            ; preds = %11748
  %11750 = load i32, ptr @test_count, align 4, !tbaa !5
  %11751 = add nsw i32 %11750, 1
  store i32 %11751, ptr @test_count, align 4, !tbaa !5
  %11752 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11753 = load i32, ptr %11752, align 4, !tbaa !5
  %11754 = icmp eq i32 %11753, 402653193
  br i1 %11754, label %11808, label %11755

11755:                                            ; preds = %11749
  br label %11756

11756:                                            ; preds = %11755
  br label %11757

11757:                                            ; preds = %11756
  call void @llvm.lifetime.start.p0(i64 4, ptr %231) #11
  %11758 = call ptr @__errno_location() #12
  %11759 = load i32, ptr %11758, align 4, !tbaa !5
  store i32 %11759, ptr %231, align 4, !tbaa !5
  %11760 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11761 = call i32 @s2n_print_stacktrace(ptr noundef %11760)
  %11762 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11763 = trunc i8 %11762 to i1
  br i1 %11763, label %11764, label %11786

11764:                                            ; preds = %11757
  %11765 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11766 = call i32 @fileno(ptr noundef %11765) #11
  %11767 = call i32 @isatty(i32 noundef %11766) #11
  %11768 = icmp ne i32 %11767, 0
  br i1 %11768, label %11769, label %11786

11769:                                            ; preds = %11764
  %11770 = load i32, ptr %231, align 4, !tbaa !5
  %11771 = call ptr @__errno_location() #12
  store i32 %11770, ptr %11771, align 4, !tbaa !5
  %11772 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11773 = load i32, ptr @test_count, align 4, !tbaa !5
  %11774 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11775 = load i32, ptr %11774, align 4, !tbaa !5
  %11776 = call ptr @s2n_strerror(i32 noundef %11775, ptr noundef @.str.11)
  %11777 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11778 = load i32, ptr %11777, align 4, !tbaa !5
  %11779 = call ptr @s2n_strerror_debug(i32 noundef %11778, ptr noundef @.str.11)
  %11780 = call ptr @__errno_location() #12
  %11781 = load i32, ptr %11780, align 4, !tbaa !5
  %11782 = call ptr @strerror(i32 noundef %11781) #11
  %11783 = call ptr @__errno_location() #12
  %11784 = load i32, ptr %11783, align 4, !tbaa !5
  %11785 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11772, ptr noundef @.str.9, i32 noundef %11773, ptr noundef @.str.91, ptr noundef @.str.8, i32 noundef 485, ptr noundef %11776, ptr noundef %11779, ptr noundef %11782, i32 noundef %11784) #11
  br label %11803

11786:                                            ; preds = %11764, %11757
  %11787 = load i32, ptr %231, align 4, !tbaa !5
  %11788 = call ptr @__errno_location() #12
  store i32 %11787, ptr %11788, align 4, !tbaa !5
  %11789 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11790 = load i32, ptr @test_count, align 4, !tbaa !5
  %11791 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11792 = load i32, ptr %11791, align 4, !tbaa !5
  %11793 = call ptr @s2n_strerror(i32 noundef %11792, ptr noundef @.str.11)
  %11794 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11795 = load i32, ptr %11794, align 4, !tbaa !5
  %11796 = call ptr @s2n_strerror_debug(i32 noundef %11795, ptr noundef @.str.11)
  %11797 = call ptr @__errno_location() #12
  %11798 = load i32, ptr %11797, align 4, !tbaa !5
  %11799 = call ptr @strerror(i32 noundef %11798) #11
  %11800 = call ptr @__errno_location() #12
  %11801 = load i32, ptr %11800, align 4, !tbaa !5
  %11802 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11789, ptr noundef @.str.12, i32 noundef %11790, ptr noundef @.str.91, ptr noundef @.str.8, i32 noundef 485, ptr noundef %11793, ptr noundef %11796, ptr noundef %11799, i32 noundef %11801) #11
  br label %11803

11803:                                            ; preds = %11786, %11769
  call void @llvm.lifetime.end.p0(i64 4, ptr %231) #11
  br label %11804

11804:                                            ; preds = %11803
  br label %11805

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

11806:                                            ; No predecessors!
  br label %11807

11807:                                            ; preds = %11806
  br label %11808

11808:                                            ; preds = %11807, %11749
  br label %11809

11809:                                            ; preds = %11808
  br label %11810

11810:                                            ; preds = %11809
  br label %11811

11811:                                            ; preds = %11810
  %11812 = load i32, ptr @test_count, align 4, !tbaa !5
  %11813 = add nsw i32 %11812, 1
  store i32 %11813, ptr @test_count, align 4, !tbaa !5
  %11814 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11815 = load i32, ptr %11814, align 4, !tbaa !5
  %11816 = call ptr @s2n_strerror_debug(i32 noundef %11815, ptr noundef @.str.11)
  %11817 = icmp eq ptr %11816, null
  br i1 %11817, label %11818, label %11871

11818:                                            ; preds = %11811
  br label %11819

11819:                                            ; preds = %11818
  br label %11820

11820:                                            ; preds = %11819
  call void @llvm.lifetime.start.p0(i64 4, ptr %232) #11
  %11821 = call ptr @__errno_location() #12
  %11822 = load i32, ptr %11821, align 4, !tbaa !5
  store i32 %11822, ptr %232, align 4, !tbaa !5
  %11823 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11824 = call i32 @s2n_print_stacktrace(ptr noundef %11823)
  %11825 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11826 = trunc i8 %11825 to i1
  br i1 %11826, label %11827, label %11849

11827:                                            ; preds = %11820
  %11828 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11829 = call i32 @fileno(ptr noundef %11828) #11
  %11830 = call i32 @isatty(i32 noundef %11829) #11
  %11831 = icmp ne i32 %11830, 0
  br i1 %11831, label %11832, label %11849

11832:                                            ; preds = %11827
  %11833 = load i32, ptr %232, align 4, !tbaa !5
  %11834 = call ptr @__errno_location() #12
  store i32 %11833, ptr %11834, align 4, !tbaa !5
  %11835 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11836 = load i32, ptr @test_count, align 4, !tbaa !5
  %11837 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11838 = load i32, ptr %11837, align 4, !tbaa !5
  %11839 = call ptr @s2n_strerror(i32 noundef %11838, ptr noundef @.str.11)
  %11840 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11841 = load i32, ptr %11840, align 4, !tbaa !5
  %11842 = call ptr @s2n_strerror_debug(i32 noundef %11841, ptr noundef @.str.11)
  %11843 = call ptr @__errno_location() #12
  %11844 = load i32, ptr %11843, align 4, !tbaa !5
  %11845 = call ptr @strerror(i32 noundef %11844) #11
  %11846 = call ptr @__errno_location() #12
  %11847 = load i32, ptr %11846, align 4, !tbaa !5
  %11848 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11835, ptr noundef @.str.9, i32 noundef %11836, ptr noundef @.str.54, ptr noundef @.str.8, i32 noundef 485, ptr noundef %11839, ptr noundef %11842, ptr noundef %11845, i32 noundef %11847) #11
  br label %11866

11849:                                            ; preds = %11827, %11820
  %11850 = load i32, ptr %232, align 4, !tbaa !5
  %11851 = call ptr @__errno_location() #12
  store i32 %11850, ptr %11851, align 4, !tbaa !5
  %11852 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11853 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %11855, ptr noundef @.str.11)
  %11857 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11858 = load i32, ptr %11857, align 4, !tbaa !5
  %11859 = call ptr @s2n_strerror_debug(i32 noundef %11858, ptr noundef @.str.11)
  %11860 = call ptr @__errno_location() #12
  %11861 = load i32, ptr %11860, align 4, !tbaa !5
  %11862 = call ptr @strerror(i32 noundef %11861) #11
  %11863 = call ptr @__errno_location() #12
  %11864 = load i32, ptr %11863, align 4, !tbaa !5
  %11865 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11852, ptr noundef @.str.12, i32 noundef %11853, ptr noundef @.str.54, ptr noundef @.str.8, i32 noundef 485, ptr noundef %11856, ptr noundef %11859, ptr noundef %11862, i32 noundef %11864) #11
  br label %11866

11866:                                            ; preds = %11849, %11832
  call void @llvm.lifetime.end.p0(i64 4, ptr %232) #11
  br label %11867

11867:                                            ; preds = %11866
  br label %11868

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

11869:                                            ; No predecessors!
  br label %11870

11870:                                            ; preds = %11869
  br label %11871

11871:                                            ; preds = %11870, %11811
  br label %11872

11872:                                            ; preds = %11871
  br label %11873

11873:                                            ; preds = %11872
  br label %11874

11874:                                            ; preds = %11873
  br label %11875

11875:                                            ; preds = %11874
  br label %11876

11876:                                            ; preds = %11875
  %11877 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %11877, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %11878 = call ptr @__errno_location() #12
  store i32 0, ptr %11878, align 4, !tbaa !5
  br label %11879

11879:                                            ; preds = %11876
  br label %11880

11880:                                            ; preds = %11879
  br label %11881

11881:                                            ; preds = %11880
  br label %11882

11882:                                            ; preds = %11881
  br label %11883

11883:                                            ; preds = %11882
  br label %11884

11884:                                            ; preds = %11883
  br label %11885

11885:                                            ; preds = %11884
  %11886 = load i32, ptr @test_count, align 4, !tbaa !5
  %11887 = add nsw i32 %11886, 1
  store i32 %11887, ptr @test_count, align 4, !tbaa !5
  %11888 = call i32 @s2n_connection_get_write_fd(ptr noundef null, ptr noundef @main.getWriteFd)
  %11889 = icmp eq i32 %11888, -1
  br i1 %11889, label %11943, label %11890

11890:                                            ; preds = %11885
  br label %11891

11891:                                            ; preds = %11890
  br label %11892

11892:                                            ; preds = %11891
  call void @llvm.lifetime.start.p0(i64 4, ptr %233) #11
  %11893 = call ptr @__errno_location() #12
  %11894 = load i32, ptr %11893, align 4, !tbaa !5
  store i32 %11894, ptr %233, align 4, !tbaa !5
  %11895 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11896 = call i32 @s2n_print_stacktrace(ptr noundef %11895)
  %11897 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11898 = trunc i8 %11897 to i1
  br i1 %11898, label %11899, label %11921

11899:                                            ; preds = %11892
  %11900 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11901 = call i32 @fileno(ptr noundef %11900) #11
  %11902 = call i32 @isatty(i32 noundef %11901) #11
  %11903 = icmp ne i32 %11902, 0
  br i1 %11903, label %11904, label %11921

11904:                                            ; preds = %11899
  %11905 = load i32, ptr %233, align 4, !tbaa !5
  %11906 = call ptr @__errno_location() #12
  store i32 %11905, ptr %11906, align 4, !tbaa !5
  %11907 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11908 = load i32, ptr @test_count, align 4, !tbaa !5
  %11909 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11910 = load i32, ptr %11909, align 4, !tbaa !5
  %11911 = call ptr @s2n_strerror(i32 noundef %11910, ptr noundef @.str.11)
  %11912 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11913 = load i32, ptr %11912, align 4, !tbaa !5
  %11914 = call ptr @s2n_strerror_debug(i32 noundef %11913, ptr noundef @.str.11)
  %11915 = call ptr @__errno_location() #12
  %11916 = load i32, ptr %11915, align 4, !tbaa !5
  %11917 = call ptr @strerror(i32 noundef %11916) #11
  %11918 = call ptr @__errno_location() #12
  %11919 = load i32, ptr %11918, align 4, !tbaa !5
  %11920 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11907, ptr noundef @.str.9, i32 noundef %11908, ptr noundef @.str.111, ptr noundef @.str.8, i32 noundef 486, ptr noundef %11911, ptr noundef %11914, ptr noundef %11917, i32 noundef %11919) #11
  br label %11938

11921:                                            ; preds = %11899, %11892
  %11922 = load i32, ptr %233, align 4, !tbaa !5
  %11923 = call ptr @__errno_location() #12
  store i32 %11922, ptr %11923, align 4, !tbaa !5
  %11924 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11925 = load i32, ptr @test_count, align 4, !tbaa !5
  %11926 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11927 = load i32, ptr %11926, align 4, !tbaa !5
  %11928 = call ptr @s2n_strerror(i32 noundef %11927, ptr noundef @.str.11)
  %11929 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11930 = load i32, ptr %11929, align 4, !tbaa !5
  %11931 = call ptr @s2n_strerror_debug(i32 noundef %11930, ptr noundef @.str.11)
  %11932 = call ptr @__errno_location() #12
  %11933 = load i32, ptr %11932, align 4, !tbaa !5
  %11934 = call ptr @strerror(i32 noundef %11933) #11
  %11935 = call ptr @__errno_location() #12
  %11936 = load i32, ptr %11935, align 4, !tbaa !5
  %11937 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11924, ptr noundef @.str.12, i32 noundef %11925, ptr noundef @.str.111, ptr noundef @.str.8, i32 noundef 486, ptr noundef %11928, ptr noundef %11931, ptr noundef %11934, i32 noundef %11936) #11
  br label %11938

11938:                                            ; preds = %11921, %11904
  call void @llvm.lifetime.end.p0(i64 4, ptr %233) #11
  br label %11939

11939:                                            ; preds = %11938
  br label %11940

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

11941:                                            ; No predecessors!
  br label %11942

11942:                                            ; preds = %11941
  br label %11943

11943:                                            ; preds = %11942, %11885
  br label %11944

11944:                                            ; preds = %11943
  br label %11945

11945:                                            ; preds = %11944
  br label %11946

11946:                                            ; preds = %11945
  %11947 = load i32, ptr @test_count, align 4, !tbaa !5
  %11948 = add nsw i32 %11947, 1
  store i32 %11948, ptr @test_count, align 4, !tbaa !5
  %11949 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11950 = load i32, ptr %11949, align 4, !tbaa !5
  %11951 = icmp eq i32 %11950, 402653193
  br i1 %11951, label %12005, label %11952

11952:                                            ; preds = %11946
  br label %11953

11953:                                            ; preds = %11952
  br label %11954

11954:                                            ; preds = %11953
  call void @llvm.lifetime.start.p0(i64 4, ptr %234) #11
  %11955 = call ptr @__errno_location() #12
  %11956 = load i32, ptr %11955, align 4, !tbaa !5
  store i32 %11956, ptr %234, align 4, !tbaa !5
  %11957 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11958 = call i32 @s2n_print_stacktrace(ptr noundef %11957)
  %11959 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11960 = trunc i8 %11959 to i1
  br i1 %11960, label %11961, label %11983

11961:                                            ; preds = %11954
  %11962 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11963 = call i32 @fileno(ptr noundef %11962) #11
  %11964 = call i32 @isatty(i32 noundef %11963) #11
  %11965 = icmp ne i32 %11964, 0
  br i1 %11965, label %11966, label %11983

11966:                                            ; preds = %11961
  %11967 = load i32, ptr %234, align 4, !tbaa !5
  %11968 = call ptr @__errno_location() #12
  store i32 %11967, ptr %11968, align 4, !tbaa !5
  %11969 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11970 = load i32, ptr @test_count, align 4, !tbaa !5
  %11971 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11972 = load i32, ptr %11971, align 4, !tbaa !5
  %11973 = call ptr @s2n_strerror(i32 noundef %11972, ptr noundef @.str.11)
  %11974 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11975 = load i32, ptr %11974, align 4, !tbaa !5
  %11976 = call ptr @s2n_strerror_debug(i32 noundef %11975, ptr noundef @.str.11)
  %11977 = call ptr @__errno_location() #12
  %11978 = load i32, ptr %11977, align 4, !tbaa !5
  %11979 = call ptr @strerror(i32 noundef %11978) #11
  %11980 = call ptr @__errno_location() #12
  %11981 = load i32, ptr %11980, align 4, !tbaa !5
  %11982 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11969, ptr noundef @.str.9, i32 noundef %11970, ptr noundef @.str.91, ptr noundef @.str.8, i32 noundef 486, ptr noundef %11973, ptr noundef %11976, ptr noundef %11979, i32 noundef %11981) #11
  br label %12000

11983:                                            ; preds = %11961, %11954
  %11984 = load i32, ptr %234, align 4, !tbaa !5
  %11985 = call ptr @__errno_location() #12
  store i32 %11984, ptr %11985, align 4, !tbaa !5
  %11986 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11987 = load i32, ptr @test_count, align 4, !tbaa !5
  %11988 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11989 = load i32, ptr %11988, align 4, !tbaa !5
  %11990 = call ptr @s2n_strerror(i32 noundef %11989, ptr noundef @.str.11)
  %11991 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11992 = load i32, ptr %11991, align 4, !tbaa !5
  %11993 = call ptr @s2n_strerror_debug(i32 noundef %11992, ptr noundef @.str.11)
  %11994 = call ptr @__errno_location() #12
  %11995 = load i32, ptr %11994, align 4, !tbaa !5
  %11996 = call ptr @strerror(i32 noundef %11995) #11
  %11997 = call ptr @__errno_location() #12
  %11998 = load i32, ptr %11997, align 4, !tbaa !5
  %11999 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11986, ptr noundef @.str.12, i32 noundef %11987, ptr noundef @.str.91, ptr noundef @.str.8, i32 noundef 486, ptr noundef %11990, ptr noundef %11993, ptr noundef %11996, i32 noundef %11998) #11
  br label %12000

12000:                                            ; preds = %11983, %11966
  call void @llvm.lifetime.end.p0(i64 4, ptr %234) #11
  br label %12001

12001:                                            ; preds = %12000
  br label %12002

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

12003:                                            ; No predecessors!
  br label %12004

12004:                                            ; preds = %12003
  br label %12005

12005:                                            ; preds = %12004, %11946
  br label %12006

12006:                                            ; preds = %12005
  br label %12007

12007:                                            ; preds = %12006
  br label %12008

12008:                                            ; preds = %12007
  %12009 = load i32, ptr @test_count, align 4, !tbaa !5
  %12010 = add nsw i32 %12009, 1
  store i32 %12010, ptr @test_count, align 4, !tbaa !5
  %12011 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12012 = load i32, ptr %12011, align 4, !tbaa !5
  %12013 = call ptr @s2n_strerror_debug(i32 noundef %12012, ptr noundef @.str.11)
  %12014 = icmp eq ptr %12013, null
  br i1 %12014, label %12015, label %12068

12015:                                            ; preds = %12008
  br label %12016

12016:                                            ; preds = %12015
  br label %12017

12017:                                            ; preds = %12016
  call void @llvm.lifetime.start.p0(i64 4, ptr %235) #11
  %12018 = call ptr @__errno_location() #12
  %12019 = load i32, ptr %12018, align 4, !tbaa !5
  store i32 %12019, ptr %235, align 4, !tbaa !5
  %12020 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12021 = call i32 @s2n_print_stacktrace(ptr noundef %12020)
  %12022 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12023 = trunc i8 %12022 to i1
  br i1 %12023, label %12024, label %12046

12024:                                            ; preds = %12017
  %12025 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12026 = call i32 @fileno(ptr noundef %12025) #11
  %12027 = call i32 @isatty(i32 noundef %12026) #11
  %12028 = icmp ne i32 %12027, 0
  br i1 %12028, label %12029, label %12046

12029:                                            ; preds = %12024
  %12030 = load i32, ptr %235, align 4, !tbaa !5
  %12031 = call ptr @__errno_location() #12
  store i32 %12030, ptr %12031, align 4, !tbaa !5
  %12032 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12033 = load i32, ptr @test_count, align 4, !tbaa !5
  %12034 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12035 = load i32, ptr %12034, align 4, !tbaa !5
  %12036 = call ptr @s2n_strerror(i32 noundef %12035, ptr noundef @.str.11)
  %12037 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12038 = load i32, ptr %12037, align 4, !tbaa !5
  %12039 = call ptr @s2n_strerror_debug(i32 noundef %12038, ptr noundef @.str.11)
  %12040 = call ptr @__errno_location() #12
  %12041 = load i32, ptr %12040, align 4, !tbaa !5
  %12042 = call ptr @strerror(i32 noundef %12041) #11
  %12043 = call ptr @__errno_location() #12
  %12044 = load i32, ptr %12043, align 4, !tbaa !5
  %12045 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12032, ptr noundef @.str.9, i32 noundef %12033, ptr noundef @.str.54, ptr noundef @.str.8, i32 noundef 486, ptr noundef %12036, ptr noundef %12039, ptr noundef %12042, i32 noundef %12044) #11
  br label %12063

12046:                                            ; preds = %12024, %12017
  %12047 = load i32, ptr %235, align 4, !tbaa !5
  %12048 = call ptr @__errno_location() #12
  store i32 %12047, ptr %12048, align 4, !tbaa !5
  %12049 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12050 = load i32, ptr @test_count, align 4, !tbaa !5
  %12051 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12052 = load i32, ptr %12051, align 4, !tbaa !5
  %12053 = call ptr @s2n_strerror(i32 noundef %12052, ptr noundef @.str.11)
  %12054 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12055 = load i32, ptr %12054, align 4, !tbaa !5
  %12056 = call ptr @s2n_strerror_debug(i32 noundef %12055, ptr noundef @.str.11)
  %12057 = call ptr @__errno_location() #12
  %12058 = load i32, ptr %12057, align 4, !tbaa !5
  %12059 = call ptr @strerror(i32 noundef %12058) #11
  %12060 = call ptr @__errno_location() #12
  %12061 = load i32, ptr %12060, align 4, !tbaa !5
  %12062 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12049, ptr noundef @.str.12, i32 noundef %12050, ptr noundef @.str.54, ptr noundef @.str.8, i32 noundef 486, ptr noundef %12053, ptr noundef %12056, ptr noundef %12059, i32 noundef %12061) #11
  br label %12063

12063:                                            ; preds = %12046, %12029
  call void @llvm.lifetime.end.p0(i64 4, ptr %235) #11
  br label %12064

12064:                                            ; preds = %12063
  br label %12065

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

12066:                                            ; No predecessors!
  br label %12067

12067:                                            ; preds = %12066
  br label %12068

12068:                                            ; preds = %12067, %12008
  br label %12069

12069:                                            ; preds = %12068
  br label %12070

12070:                                            ; preds = %12069
  br label %12071

12071:                                            ; preds = %12070
  br label %12072

12072:                                            ; preds = %12071
  br label %12073

12073:                                            ; preds = %12072
  %12074 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %12074, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %12075 = call ptr @__errno_location() #12
  store i32 0, ptr %12075, align 4, !tbaa !5
  br label %12076

12076:                                            ; preds = %12073
  br label %12077

12077:                                            ; preds = %12076
  br label %12078

12078:                                            ; preds = %12077
  br label %12079

12079:                                            ; preds = %12078
  br label %12080

12080:                                            ; preds = %12079
  br label %12081

12081:                                            ; preds = %12080
  br label %12082

12082:                                            ; preds = %12081
  %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
  %12085 = call i32 @s2n_connection_get_read_fd(ptr noundef null, ptr noundef @main.getReadFd)
  %12086 = icmp eq i32 %12085, -1
  br i1 %12086, label %12140, label %12087

12087:                                            ; preds = %12082
  br label %12088

12088:                                            ; preds = %12087
  br label %12089

12089:                                            ; preds = %12088
  call void @llvm.lifetime.start.p0(i64 4, ptr %236) #11
  %12090 = call ptr @__errno_location() #12
  %12091 = load i32, ptr %12090, align 4, !tbaa !5
  store i32 %12091, ptr %236, align 4, !tbaa !5
  %12092 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12093 = call i32 @s2n_print_stacktrace(ptr noundef %12092)
  %12094 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12095 = trunc i8 %12094 to i1
  br i1 %12095, label %12096, label %12118

12096:                                            ; preds = %12089
  %12097 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12098 = call i32 @fileno(ptr noundef %12097) #11
  %12099 = call i32 @isatty(i32 noundef %12098) #11
  %12100 = icmp ne i32 %12099, 0
  br i1 %12100, label %12101, label %12118

12101:                                            ; preds = %12096
  %12102 = load i32, ptr %236, align 4, !tbaa !5
  %12103 = call ptr @__errno_location() #12
  store i32 %12102, ptr %12103, align 4, !tbaa !5
  %12104 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12105 = load i32, ptr @test_count, align 4, !tbaa !5
  %12106 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12107 = load i32, ptr %12106, align 4, !tbaa !5
  %12108 = call ptr @s2n_strerror(i32 noundef %12107, ptr noundef @.str.11)
  %12109 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12110 = load i32, ptr %12109, align 4, !tbaa !5
  %12111 = call ptr @s2n_strerror_debug(i32 noundef %12110, ptr noundef @.str.11)
  %12112 = call ptr @__errno_location() #12
  %12113 = load i32, ptr %12112, align 4, !tbaa !5
  %12114 = call ptr @strerror(i32 noundef %12113) #11
  %12115 = call ptr @__errno_location() #12
  %12116 = load i32, ptr %12115, align 4, !tbaa !5
  %12117 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12104, ptr noundef @.str.9, i32 noundef %12105, ptr noundef @.str.112, ptr noundef @.str.8, i32 noundef 487, ptr noundef %12108, ptr noundef %12111, ptr noundef %12114, i32 noundef %12116) #11
  br label %12135

12118:                                            ; preds = %12096, %12089
  %12119 = load i32, ptr %236, align 4, !tbaa !5
  %12120 = call ptr @__errno_location() #12
  store i32 %12119, ptr %12120, align 4, !tbaa !5
  %12121 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12122 = load i32, ptr @test_count, align 4, !tbaa !5
  %12123 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12124 = load i32, ptr %12123, align 4, !tbaa !5
  %12125 = call ptr @s2n_strerror(i32 noundef %12124, ptr noundef @.str.11)
  %12126 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12127 = load i32, ptr %12126, align 4, !tbaa !5
  %12128 = call ptr @s2n_strerror_debug(i32 noundef %12127, ptr noundef @.str.11)
  %12129 = call ptr @__errno_location() #12
  %12130 = load i32, ptr %12129, align 4, !tbaa !5
  %12131 = call ptr @strerror(i32 noundef %12130) #11
  %12132 = call ptr @__errno_location() #12
  %12133 = load i32, ptr %12132, align 4, !tbaa !5
  %12134 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12121, ptr noundef @.str.12, i32 noundef %12122, ptr noundef @.str.112, ptr noundef @.str.8, i32 noundef 487, ptr noundef %12125, ptr noundef %12128, ptr noundef %12131, i32 noundef %12133) #11
  br label %12135

12135:                                            ; preds = %12118, %12101
  call void @llvm.lifetime.end.p0(i64 4, ptr %236) #11
  br label %12136

12136:                                            ; preds = %12135
  br label %12137

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

12138:                                            ; No predecessors!
  br label %12139

12139:                                            ; preds = %12138
  br label %12140

12140:                                            ; preds = %12139, %12082
  br label %12141

12141:                                            ; preds = %12140
  br label %12142

12142:                                            ; preds = %12141
  br label %12143

12143:                                            ; preds = %12142
  %12144 = load i32, ptr @test_count, align 4, !tbaa !5
  %12145 = add nsw i32 %12144, 1
  store i32 %12145, ptr @test_count, align 4, !tbaa !5
  %12146 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12147 = load i32, ptr %12146, align 4, !tbaa !5
  %12148 = icmp eq i32 %12147, 402653193
  br i1 %12148, label %12202, label %12149

12149:                                            ; preds = %12143
  br label %12150

12150:                                            ; preds = %12149
  br label %12151

12151:                                            ; preds = %12150
  call void @llvm.lifetime.start.p0(i64 4, ptr %237) #11
  %12152 = call ptr @__errno_location() #12
  %12153 = load i32, ptr %12152, align 4, !tbaa !5
  store i32 %12153, ptr %237, align 4, !tbaa !5
  %12154 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12155 = call i32 @s2n_print_stacktrace(ptr noundef %12154)
  %12156 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12157 = trunc i8 %12156 to i1
  br i1 %12157, label %12158, label %12180

12158:                                            ; preds = %12151
  %12159 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12160 = call i32 @fileno(ptr noundef %12159) #11
  %12161 = call i32 @isatty(i32 noundef %12160) #11
  %12162 = icmp ne i32 %12161, 0
  br i1 %12162, label %12163, label %12180

12163:                                            ; preds = %12158
  %12164 = load i32, ptr %237, align 4, !tbaa !5
  %12165 = call ptr @__errno_location() #12
  store i32 %12164, ptr %12165, align 4, !tbaa !5
  %12166 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12167 = load i32, ptr @test_count, align 4, !tbaa !5
  %12168 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12169 = load i32, ptr %12168, align 4, !tbaa !5
  %12170 = call ptr @s2n_strerror(i32 noundef %12169, ptr noundef @.str.11)
  %12171 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12172 = load i32, ptr %12171, align 4, !tbaa !5
  %12173 = call ptr @s2n_strerror_debug(i32 noundef %12172, ptr noundef @.str.11)
  %12174 = call ptr @__errno_location() #12
  %12175 = load i32, ptr %12174, align 4, !tbaa !5
  %12176 = call ptr @strerror(i32 noundef %12175) #11
  %12177 = call ptr @__errno_location() #12
  %12178 = load i32, ptr %12177, align 4, !tbaa !5
  %12179 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12166, ptr noundef @.str.9, i32 noundef %12167, ptr noundef @.str.91, ptr noundef @.str.8, i32 noundef 487, ptr noundef %12170, ptr noundef %12173, ptr noundef %12176, i32 noundef %12178) #11
  br label %12197

12180:                                            ; preds = %12158, %12151
  %12181 = load i32, ptr %237, align 4, !tbaa !5
  %12182 = call ptr @__errno_location() #12
  store i32 %12181, ptr %12182, align 4, !tbaa !5
  %12183 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12184 = load i32, ptr @test_count, align 4, !tbaa !5
  %12185 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12186 = load i32, ptr %12185, align 4, !tbaa !5
  %12187 = call ptr @s2n_strerror(i32 noundef %12186, ptr noundef @.str.11)
  %12188 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12189 = load i32, ptr %12188, align 4, !tbaa !5
  %12190 = call ptr @s2n_strerror_debug(i32 noundef %12189, ptr noundef @.str.11)
  %12191 = call ptr @__errno_location() #12
  %12192 = load i32, ptr %12191, align 4, !tbaa !5
  %12193 = call ptr @strerror(i32 noundef %12192) #11
  %12194 = call ptr @__errno_location() #12
  %12195 = load i32, ptr %12194, align 4, !tbaa !5
  %12196 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12183, ptr noundef @.str.12, i32 noundef %12184, ptr noundef @.str.91, ptr noundef @.str.8, i32 noundef 487, ptr noundef %12187, ptr noundef %12190, ptr noundef %12193, i32 noundef %12195) #11
  br label %12197

12197:                                            ; preds = %12180, %12163
  call void @llvm.lifetime.end.p0(i64 4, ptr %237) #11
  br label %12198

12198:                                            ; preds = %12197
  br label %12199

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

12200:                                            ; No predecessors!
  br label %12201

12201:                                            ; preds = %12200
  br label %12202

12202:                                            ; preds = %12201, %12143
  br label %12203

12203:                                            ; preds = %12202
  br label %12204

12204:                                            ; preds = %12203
  br label %12205

12205:                                            ; preds = %12204
  %12206 = load i32, ptr @test_count, align 4, !tbaa !5
  %12207 = add nsw i32 %12206, 1
  store i32 %12207, ptr @test_count, align 4, !tbaa !5
  %12208 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12209 = load i32, ptr %12208, align 4, !tbaa !5
  %12210 = call ptr @s2n_strerror_debug(i32 noundef %12209, ptr noundef @.str.11)
  %12211 = icmp eq ptr %12210, null
  br i1 %12211, label %12212, label %12265

12212:                                            ; preds = %12205
  br label %12213

12213:                                            ; preds = %12212
  br label %12214

12214:                                            ; preds = %12213
  call void @llvm.lifetime.start.p0(i64 4, ptr %238) #11
  %12215 = call ptr @__errno_location() #12
  %12216 = load i32, ptr %12215, align 4, !tbaa !5
  store i32 %12216, ptr %238, align 4, !tbaa !5
  %12217 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12218 = call i32 @s2n_print_stacktrace(ptr noundef %12217)
  %12219 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12220 = trunc i8 %12219 to i1
  br i1 %12220, label %12221, label %12243

12221:                                            ; preds = %12214
  %12222 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12223 = call i32 @fileno(ptr noundef %12222) #11
  %12224 = call i32 @isatty(i32 noundef %12223) #11
  %12225 = icmp ne i32 %12224, 0
  br i1 %12225, label %12226, label %12243

12226:                                            ; preds = %12221
  %12227 = load i32, ptr %238, align 4, !tbaa !5
  %12228 = call ptr @__errno_location() #12
  store i32 %12227, ptr %12228, align 4, !tbaa !5
  %12229 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12230 = load i32, ptr @test_count, align 4, !tbaa !5
  %12231 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12232 = load i32, ptr %12231, align 4, !tbaa !5
  %12233 = call ptr @s2n_strerror(i32 noundef %12232, ptr noundef @.str.11)
  %12234 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12235 = load i32, ptr %12234, align 4, !tbaa !5
  %12236 = call ptr @s2n_strerror_debug(i32 noundef %12235, ptr noundef @.str.11)
  %12237 = call ptr @__errno_location() #12
  %12238 = load i32, ptr %12237, align 4, !tbaa !5
  %12239 = call ptr @strerror(i32 noundef %12238) #11
  %12240 = call ptr @__errno_location() #12
  %12241 = load i32, ptr %12240, align 4, !tbaa !5
  %12242 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12229, ptr noundef @.str.9, i32 noundef %12230, ptr noundef @.str.54, ptr noundef @.str.8, i32 noundef 487, ptr noundef %12233, ptr noundef %12236, ptr noundef %12239, i32 noundef %12241) #11
  br label %12260

12243:                                            ; preds = %12221, %12214
  %12244 = load i32, ptr %238, align 4, !tbaa !5
  %12245 = call ptr @__errno_location() #12
  store i32 %12244, ptr %12245, align 4, !tbaa !5
  %12246 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12247 = load i32, ptr @test_count, align 4, !tbaa !5
  %12248 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12249 = load i32, ptr %12248, align 4, !tbaa !5
  %12250 = call ptr @s2n_strerror(i32 noundef %12249, ptr noundef @.str.11)
  %12251 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12252 = load i32, ptr %12251, align 4, !tbaa !5
  %12253 = call ptr @s2n_strerror_debug(i32 noundef %12252, ptr noundef @.str.11)
  %12254 = call ptr @__errno_location() #12
  %12255 = load i32, ptr %12254, align 4, !tbaa !5
  %12256 = call ptr @strerror(i32 noundef %12255) #11
  %12257 = call ptr @__errno_location() #12
  %12258 = load i32, ptr %12257, align 4, !tbaa !5
  %12259 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12246, ptr noundef @.str.12, i32 noundef %12247, ptr noundef @.str.54, ptr noundef @.str.8, i32 noundef 487, ptr noundef %12250, ptr noundef %12253, ptr noundef %12256, i32 noundef %12258) #11
  br label %12260

12260:                                            ; preds = %12243, %12226
  call void @llvm.lifetime.end.p0(i64 4, ptr %238) #11
  br label %12261

12261:                                            ; preds = %12260
  br label %12262

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

12263:                                            ; No predecessors!
  br label %12264

12264:                                            ; preds = %12263
  br label %12265

12265:                                            ; preds = %12264, %12205
  br label %12266

12266:                                            ; preds = %12265
  br label %12267

12267:                                            ; preds = %12266
  br label %12268

12268:                                            ; preds = %12267
  br label %12269

12269:                                            ; preds = %12268
  br label %12270

12270:                                            ; preds = %12269
  %12271 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %12271, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %12272 = call ptr @__errno_location() #12
  store i32 0, ptr %12272, align 4, !tbaa !5
  br label %12273

12273:                                            ; preds = %12270
  br label %12274

12274:                                            ; preds = %12273
  br label %12275

12275:                                            ; preds = %12274
  br label %12276

12276:                                            ; preds = %12275
  call void @llvm.lifetime.start.p0(i64 8, ptr %239) #11
  %12277 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %12277, ptr %239, align 8, !tbaa !9
  br label %12278

12278:                                            ; preds = %12276
  %12279 = load i32, ptr @test_count, align 4, !tbaa !5
  %12280 = add nsw i32 %12279, 1
  store i32 %12280, ptr @test_count, align 4, !tbaa !5
  %12281 = load ptr, ptr %239, align 8, !tbaa !9
  %12282 = icmp eq ptr %12281, null
  br i1 %12282, label %12283, label %12336

12283:                                            ; preds = %12278
  br label %12284

12284:                                            ; preds = %12283
  br label %12285

12285:                                            ; preds = %12284
  call void @llvm.lifetime.start.p0(i64 4, ptr %240) #11
  %12286 = call ptr @__errno_location() #12
  %12287 = load i32, ptr %12286, align 4, !tbaa !5
  store i32 %12287, ptr %240, align 4, !tbaa !5
  %12288 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12289 = call i32 @s2n_print_stacktrace(ptr noundef %12288)
  %12290 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12291 = trunc i8 %12290 to i1
  br i1 %12291, label %12292, label %12314

12292:                                            ; preds = %12285
  %12293 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12294 = call i32 @fileno(ptr noundef %12293) #11
  %12295 = call i32 @isatty(i32 noundef %12294) #11
  %12296 = icmp ne i32 %12295, 0
  br i1 %12296, label %12297, label %12314

12297:                                            ; preds = %12292
  %12298 = load i32, ptr %240, align 4, !tbaa !5
  %12299 = call ptr @__errno_location() #12
  store i32 %12298, ptr %12299, align 4, !tbaa !5
  %12300 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12301 = load i32, ptr @test_count, align 4, !tbaa !5
  %12302 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12303 = load i32, ptr %12302, align 4, !tbaa !5
  %12304 = call ptr @s2n_strerror(i32 noundef %12303, ptr noundef @.str.11)
  %12305 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12306 = load i32, ptr %12305, align 4, !tbaa !5
  %12307 = call ptr @s2n_strerror_debug(i32 noundef %12306, ptr noundef @.str.11)
  %12308 = call ptr @__errno_location() #12
  %12309 = load i32, ptr %12308, align 4, !tbaa !5
  %12310 = call ptr @strerror(i32 noundef %12309) #11
  %12311 = call ptr @__errno_location() #12
  %12312 = load i32, ptr %12311, align 4, !tbaa !5
  %12313 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12300, ptr noundef @.str.9, i32 noundef %12301, ptr noundef @.str.92, ptr noundef @.str.8, i32 noundef 490, ptr noundef %12304, ptr noundef %12307, ptr noundef %12310, i32 noundef %12312) #11
  br label %12331

12314:                                            ; preds = %12292, %12285
  %12315 = load i32, ptr %240, align 4, !tbaa !5
  %12316 = call ptr @__errno_location() #12
  store i32 %12315, ptr %12316, align 4, !tbaa !5
  %12317 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12318 = load i32, ptr @test_count, align 4, !tbaa !5
  %12319 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12320 = load i32, ptr %12319, align 4, !tbaa !5
  %12321 = call ptr @s2n_strerror(i32 noundef %12320, ptr noundef @.str.11)
  %12322 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12323 = load i32, ptr %12322, align 4, !tbaa !5
  %12324 = call ptr @s2n_strerror_debug(i32 noundef %12323, ptr noundef @.str.11)
  %12325 = call ptr @__errno_location() #12
  %12326 = load i32, ptr %12325, align 4, !tbaa !5
  %12327 = call ptr @strerror(i32 noundef %12326) #11
  %12328 = call ptr @__errno_location() #12
  %12329 = load i32, ptr %12328, align 4, !tbaa !5
  %12330 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12317, ptr noundef @.str.12, i32 noundef %12318, ptr noundef @.str.92, ptr noundef @.str.8, i32 noundef 490, ptr noundef %12321, ptr noundef %12324, ptr noundef %12327, i32 noundef %12329) #11
  br label %12331

12331:                                            ; preds = %12314, %12297
  call void @llvm.lifetime.end.p0(i64 4, ptr %240) #11
  br label %12332

12332:                                            ; preds = %12331
  br label %12333

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

12334:                                            ; No predecessors!
  br label %12335

12335:                                            ; preds = %12334
  br label %12336

12336:                                            ; preds = %12335, %12278
  br label %12337

12337:                                            ; preds = %12336
  br label %12338

12338:                                            ; preds = %12337
  br label %12339

12339:                                            ; preds = %12338
  %12340 = load i32, ptr @test_count, align 4, !tbaa !5
  %12341 = add nsw i32 %12340, 1
  store i32 %12341, ptr @test_count, align 4, !tbaa !5
  %12342 = load ptr, ptr %239, align 8, !tbaa !9
  %12343 = call i32 @s2n_connection_set_fd(ptr noundef %12342, i32 noundef 1)
  %12344 = icmp eq i32 %12343, -1
  br i1 %12344, label %12345, label %12398

12345:                                            ; preds = %12339
  br label %12346

12346:                                            ; preds = %12345
  br label %12347

12347:                                            ; preds = %12346
  call void @llvm.lifetime.start.p0(i64 4, ptr %241) #11
  %12348 = call ptr @__errno_location() #12
  %12349 = load i32, ptr %12348, align 4, !tbaa !5
  store i32 %12349, ptr %241, align 4, !tbaa !5
  %12350 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12351 = call i32 @s2n_print_stacktrace(ptr noundef %12350)
  %12352 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12353 = trunc i8 %12352 to i1
  br i1 %12353, label %12354, label %12376

12354:                                            ; preds = %12347
  %12355 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12356 = call i32 @fileno(ptr noundef %12355) #11
  %12357 = call i32 @isatty(i32 noundef %12356) #11
  %12358 = icmp ne i32 %12357, 0
  br i1 %12358, label %12359, label %12376

12359:                                            ; preds = %12354
  %12360 = load i32, ptr %241, align 4, !tbaa !5
  %12361 = call ptr @__errno_location() #12
  store i32 %12360, ptr %12361, align 4, !tbaa !5
  %12362 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12363 = load i32, ptr @test_count, align 4, !tbaa !5
  %12364 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12365 = load i32, ptr %12364, align 4, !tbaa !5
  %12366 = call ptr @s2n_strerror(i32 noundef %12365, ptr noundef @.str.11)
  %12367 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12368 = load i32, ptr %12367, align 4, !tbaa !5
  %12369 = call ptr @s2n_strerror_debug(i32 noundef %12368, ptr noundef @.str.11)
  %12370 = call ptr @__errno_location() #12
  %12371 = load i32, ptr %12370, align 4, !tbaa !5
  %12372 = call ptr @strerror(i32 noundef %12371) #11
  %12373 = call ptr @__errno_location() #12
  %12374 = load i32, ptr %12373, align 4, !tbaa !5
  %12375 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12362, ptr noundef @.str.9, i32 noundef %12363, ptr noundef @.str.113, ptr noundef @.str.8, i32 noundef 493, ptr noundef %12366, ptr noundef %12369, ptr noundef %12372, i32 noundef %12374) #11
  br label %12393

12376:                                            ; preds = %12354, %12347
  %12377 = load i32, ptr %241, align 4, !tbaa !5
  %12378 = call ptr @__errno_location() #12
  store i32 %12377, ptr %12378, align 4, !tbaa !5
  %12379 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12380 = load i32, ptr @test_count, align 4, !tbaa !5
  %12381 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12382 = load i32, ptr %12381, align 4, !tbaa !5
  %12383 = call ptr @s2n_strerror(i32 noundef %12382, ptr noundef @.str.11)
  %12384 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12385 = load i32, ptr %12384, align 4, !tbaa !5
  %12386 = call ptr @s2n_strerror_debug(i32 noundef %12385, ptr noundef @.str.11)
  %12387 = call ptr @__errno_location() #12
  %12388 = load i32, ptr %12387, align 4, !tbaa !5
  %12389 = call ptr @strerror(i32 noundef %12388) #11
  %12390 = call ptr @__errno_location() #12
  %12391 = load i32, ptr %12390, align 4, !tbaa !5
  %12392 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12379, ptr noundef @.str.12, i32 noundef %12380, ptr noundef @.str.113, ptr noundef @.str.8, i32 noundef 493, ptr noundef %12383, ptr noundef %12386, ptr noundef %12389, i32 noundef %12391) #11
  br label %12393

12393:                                            ; preds = %12376, %12359
  call void @llvm.lifetime.end.p0(i64 4, ptr %241) #11
  br label %12394

12394:                                            ; preds = %12393
  br label %12395

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

12396:                                            ; No predecessors!
  br label %12397

12397:                                            ; preds = %12396
  br label %12398

12398:                                            ; preds = %12397, %12339
  br label %12399

12399:                                            ; preds = %12398
  br label %12400

12400:                                            ; preds = %12399
  br label %12401

12401:                                            ; preds = %12400
  %12402 = load i32, ptr @test_count, align 4, !tbaa !5
  %12403 = add nsw i32 %12402, 1
  store i32 %12403, ptr @test_count, align 4, !tbaa !5
  %12404 = load ptr, ptr %239, align 8, !tbaa !9
  %12405 = call i32 @s2n_connection_get_write_fd(ptr noundef %12404, ptr noundef @main.getWriteFd)
  %12406 = icmp eq i32 %12405, -1
  br i1 %12406, label %12407, label %12460

12407:                                            ; preds = %12401
  br label %12408

12408:                                            ; preds = %12407
  br label %12409

12409:                                            ; preds = %12408
  call void @llvm.lifetime.start.p0(i64 4, ptr %242) #11
  %12410 = call ptr @__errno_location() #12
  %12411 = load i32, ptr %12410, align 4, !tbaa !5
  store i32 %12411, ptr %242, align 4, !tbaa !5
  %12412 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12413 = call i32 @s2n_print_stacktrace(ptr noundef %12412)
  %12414 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12415 = trunc i8 %12414 to i1
  br i1 %12415, label %12416, label %12438

12416:                                            ; preds = %12409
  %12417 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12418 = call i32 @fileno(ptr noundef %12417) #11
  %12419 = call i32 @isatty(i32 noundef %12418) #11
  %12420 = icmp ne i32 %12419, 0
  br i1 %12420, label %12421, label %12438

12421:                                            ; preds = %12416
  %12422 = load i32, ptr %242, align 4, !tbaa !5
  %12423 = call ptr @__errno_location() #12
  store i32 %12422, ptr %12423, align 4, !tbaa !5
  %12424 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12425 = load i32, ptr @test_count, align 4, !tbaa !5
  %12426 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12427 = load i32, ptr %12426, align 4, !tbaa !5
  %12428 = call ptr @s2n_strerror(i32 noundef %12427, ptr noundef @.str.11)
  %12429 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12430 = load i32, ptr %12429, align 4, !tbaa !5
  %12431 = call ptr @s2n_strerror_debug(i32 noundef %12430, ptr noundef @.str.11)
  %12432 = call ptr @__errno_location() #12
  %12433 = load i32, ptr %12432, align 4, !tbaa !5
  %12434 = call ptr @strerror(i32 noundef %12433) #11
  %12435 = call ptr @__errno_location() #12
  %12436 = load i32, ptr %12435, align 4, !tbaa !5
  %12437 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12424, ptr noundef @.str.9, i32 noundef %12425, ptr noundef @.str.114, ptr noundef @.str.8, i32 noundef 494, ptr noundef %12428, ptr noundef %12431, ptr noundef %12434, i32 noundef %12436) #11
  br label %12455

12438:                                            ; preds = %12416, %12409
  %12439 = load i32, ptr %242, align 4, !tbaa !5
  %12440 = call ptr @__errno_location() #12
  store i32 %12439, ptr %12440, align 4, !tbaa !5
  %12441 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12442 = load i32, ptr @test_count, align 4, !tbaa !5
  %12443 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12444 = load i32, ptr %12443, align 4, !tbaa !5
  %12445 = call ptr @s2n_strerror(i32 noundef %12444, ptr noundef @.str.11)
  %12446 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12447 = load i32, ptr %12446, align 4, !tbaa !5
  %12448 = call ptr @s2n_strerror_debug(i32 noundef %12447, ptr noundef @.str.11)
  %12449 = call ptr @__errno_location() #12
  %12450 = load i32, ptr %12449, align 4, !tbaa !5
  %12451 = call ptr @strerror(i32 noundef %12450) #11
  %12452 = call ptr @__errno_location() #12
  %12453 = load i32, ptr %12452, align 4, !tbaa !5
  %12454 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12441, ptr noundef @.str.12, i32 noundef %12442, ptr noundef @.str.114, ptr noundef @.str.8, i32 noundef 494, ptr noundef %12445, ptr noundef %12448, ptr noundef %12451, i32 noundef %12453) #11
  br label %12455

12455:                                            ; preds = %12438, %12421
  call void @llvm.lifetime.end.p0(i64 4, ptr %242) #11
  br label %12456

12456:                                            ; preds = %12455
  br label %12457

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

12458:                                            ; No predecessors!
  br label %12459

12459:                                            ; preds = %12458
  br label %12460

12460:                                            ; preds = %12459, %12401
  br label %12461

12461:                                            ; preds = %12460
  br label %12462

12462:                                            ; preds = %12461
  br label %12463

12463:                                            ; preds = %12462
  %12464 = load i32, ptr @test_count, align 4, !tbaa !5
  %12465 = add nsw i32 %12464, 1
  store i32 %12465, ptr @test_count, align 4, !tbaa !5
  %12466 = load ptr, ptr %239, align 8, !tbaa !9
  %12467 = call i32 @s2n_connection_get_read_fd(ptr noundef %12466, ptr noundef @main.getReadFd)
  %12468 = icmp eq i32 %12467, -1
  br i1 %12468, label %12469, label %12522

12469:                                            ; preds = %12463
  br label %12470

12470:                                            ; preds = %12469
  br label %12471

12471:                                            ; preds = %12470
  call void @llvm.lifetime.start.p0(i64 4, ptr %243) #11
  %12472 = call ptr @__errno_location() #12
  %12473 = load i32, ptr %12472, align 4, !tbaa !5
  store i32 %12473, ptr %243, align 4, !tbaa !5
  %12474 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12475 = call i32 @s2n_print_stacktrace(ptr noundef %12474)
  %12476 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12477 = trunc i8 %12476 to i1
  br i1 %12477, label %12478, label %12500

12478:                                            ; preds = %12471
  %12479 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12480 = call i32 @fileno(ptr noundef %12479) #11
  %12481 = call i32 @isatty(i32 noundef %12480) #11
  %12482 = icmp ne i32 %12481, 0
  br i1 %12482, label %12483, label %12500

12483:                                            ; preds = %12478
  %12484 = load i32, ptr %243, align 4, !tbaa !5
  %12485 = call ptr @__errno_location() #12
  store i32 %12484, ptr %12485, align 4, !tbaa !5
  %12486 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12487 = load i32, ptr @test_count, align 4, !tbaa !5
  %12488 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12489 = load i32, ptr %12488, align 4, !tbaa !5
  %12490 = call ptr @s2n_strerror(i32 noundef %12489, ptr noundef @.str.11)
  %12491 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12492 = load i32, ptr %12491, align 4, !tbaa !5
  %12493 = call ptr @s2n_strerror_debug(i32 noundef %12492, ptr noundef @.str.11)
  %12494 = call ptr @__errno_location() #12
  %12495 = load i32, ptr %12494, align 4, !tbaa !5
  %12496 = call ptr @strerror(i32 noundef %12495) #11
  %12497 = call ptr @__errno_location() #12
  %12498 = load i32, ptr %12497, align 4, !tbaa !5
  %12499 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12486, ptr noundef @.str.9, i32 noundef %12487, ptr noundef @.str.115, ptr noundef @.str.8, i32 noundef 495, ptr noundef %12490, ptr noundef %12493, ptr noundef %12496, i32 noundef %12498) #11
  br label %12517

12500:                                            ; preds = %12478, %12471
  %12501 = load i32, ptr %243, align 4, !tbaa !5
  %12502 = call ptr @__errno_location() #12
  store i32 %12501, ptr %12502, align 4, !tbaa !5
  %12503 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12504 = load i32, ptr @test_count, align 4, !tbaa !5
  %12505 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12506 = load i32, ptr %12505, align 4, !tbaa !5
  %12507 = call ptr @s2n_strerror(i32 noundef %12506, ptr noundef @.str.11)
  %12508 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12509 = load i32, ptr %12508, align 4, !tbaa !5
  %12510 = call ptr @s2n_strerror_debug(i32 noundef %12509, ptr noundef @.str.11)
  %12511 = call ptr @__errno_location() #12
  %12512 = load i32, ptr %12511, align 4, !tbaa !5
  %12513 = call ptr @strerror(i32 noundef %12512) #11
  %12514 = call ptr @__errno_location() #12
  %12515 = load i32, ptr %12514, align 4, !tbaa !5
  %12516 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12503, ptr noundef @.str.12, i32 noundef %12504, ptr noundef @.str.115, ptr noundef @.str.8, i32 noundef 495, ptr noundef %12507, ptr noundef %12510, ptr noundef %12513, i32 noundef %12515) #11
  br label %12517

12517:                                            ; preds = %12500, %12483
  call void @llvm.lifetime.end.p0(i64 4, ptr %243) #11
  br label %12518

12518:                                            ; preds = %12517
  br label %12519

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

12520:                                            ; No predecessors!
  br label %12521

12521:                                            ; preds = %12520
  br label %12522

12522:                                            ; preds = %12521, %12463
  br label %12523

12523:                                            ; preds = %12522
  br label %12524

12524:                                            ; preds = %12523
  br label %12525

12525:                                            ; preds = %12524
  %12526 = load i32, ptr @test_count, align 4, !tbaa !5
  %12527 = add nsw i32 %12526, 1
  store i32 %12527, ptr @test_count, align 4, !tbaa !5
  %12528 = load i32, ptr @main.getReadFd, align 4, !tbaa !5
  %12529 = icmp eq i32 %12528, 1
  br i1 %12529, label %12583, label %12530

12530:                                            ; preds = %12525
  br label %12531

12531:                                            ; preds = %12530
  br label %12532

12532:                                            ; preds = %12531
  call void @llvm.lifetime.start.p0(i64 4, ptr %244) #11
  %12533 = call ptr @__errno_location() #12
  %12534 = load i32, ptr %12533, align 4, !tbaa !5
  store i32 %12534, ptr %244, align 4, !tbaa !5
  %12535 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12536 = call i32 @s2n_print_stacktrace(ptr noundef %12535)
  %12537 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12538 = trunc i8 %12537 to i1
  br i1 %12538, label %12539, label %12561

12539:                                            ; preds = %12532
  %12540 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12541 = call i32 @fileno(ptr noundef %12540) #11
  %12542 = call i32 @isatty(i32 noundef %12541) #11
  %12543 = icmp ne i32 %12542, 0
  br i1 %12543, label %12544, label %12561

12544:                                            ; preds = %12539
  %12545 = load i32, ptr %244, align 4, !tbaa !5
  %12546 = call ptr @__errno_location() #12
  store i32 %12545, ptr %12546, align 4, !tbaa !5
  %12547 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12548 = load i32, ptr @test_count, align 4, !tbaa !5
  %12549 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12550 = load i32, ptr %12549, align 4, !tbaa !5
  %12551 = call ptr @s2n_strerror(i32 noundef %12550, ptr noundef @.str.11)
  %12552 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12553 = load i32, ptr %12552, align 4, !tbaa !5
  %12554 = call ptr @s2n_strerror_debug(i32 noundef %12553, ptr noundef @.str.11)
  %12555 = call ptr @__errno_location() #12
  %12556 = load i32, ptr %12555, align 4, !tbaa !5
  %12557 = call ptr @strerror(i32 noundef %12556) #11
  %12558 = call ptr @__errno_location() #12
  %12559 = load i32, ptr %12558, align 4, !tbaa !5
  %12560 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12547, ptr noundef @.str.9, i32 noundef %12548, ptr noundef @.str.116, ptr noundef @.str.8, i32 noundef 496, ptr noundef %12551, ptr noundef %12554, ptr noundef %12557, i32 noundef %12559) #11
  br label %12578

12561:                                            ; preds = %12539, %12532
  %12562 = load i32, ptr %244, align 4, !tbaa !5
  %12563 = call ptr @__errno_location() #12
  store i32 %12562, ptr %12563, align 4, !tbaa !5
  %12564 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12565 = load i32, ptr @test_count, align 4, !tbaa !5
  %12566 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12567 = load i32, ptr %12566, align 4, !tbaa !5
  %12568 = call ptr @s2n_strerror(i32 noundef %12567, ptr noundef @.str.11)
  %12569 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12570 = load i32, ptr %12569, align 4, !tbaa !5
  %12571 = call ptr @s2n_strerror_debug(i32 noundef %12570, ptr noundef @.str.11)
  %12572 = call ptr @__errno_location() #12
  %12573 = load i32, ptr %12572, align 4, !tbaa !5
  %12574 = call ptr @strerror(i32 noundef %12573) #11
  %12575 = call ptr @__errno_location() #12
  %12576 = load i32, ptr %12575, align 4, !tbaa !5
  %12577 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12564, ptr noundef @.str.12, i32 noundef %12565, ptr noundef @.str.116, ptr noundef @.str.8, i32 noundef 496, ptr noundef %12568, ptr noundef %12571, ptr noundef %12574, i32 noundef %12576) #11
  br label %12578

12578:                                            ; preds = %12561, %12544
  call void @llvm.lifetime.end.p0(i64 4, ptr %244) #11
  br label %12579

12579:                                            ; preds = %12578
  br label %12580

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

12581:                                            ; No predecessors!
  br label %12582

12582:                                            ; preds = %12581
  br label %12583

12583:                                            ; preds = %12582, %12525
  br label %12584

12584:                                            ; preds = %12583
  br label %12585

12585:                                            ; preds = %12584
  br label %12586

12586:                                            ; preds = %12585
  %12587 = load i32, ptr @test_count, align 4, !tbaa !5
  %12588 = add nsw i32 %12587, 1
  store i32 %12588, ptr @test_count, align 4, !tbaa !5
  %12589 = load i32, ptr @main.getWriteFd, align 4, !tbaa !5
  %12590 = icmp eq i32 %12589, 1
  br i1 %12590, label %12644, label %12591

12591:                                            ; preds = %12586
  br label %12592

12592:                                            ; preds = %12591
  br label %12593

12593:                                            ; preds = %12592
  call void @llvm.lifetime.start.p0(i64 4, ptr %245) #11
  %12594 = call ptr @__errno_location() #12
  %12595 = load i32, ptr %12594, align 4, !tbaa !5
  store i32 %12595, ptr %245, align 4, !tbaa !5
  %12596 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12597 = call i32 @s2n_print_stacktrace(ptr noundef %12596)
  %12598 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12599 = trunc i8 %12598 to i1
  br i1 %12599, label %12600, label %12622

12600:                                            ; preds = %12593
  %12601 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12602 = call i32 @fileno(ptr noundef %12601) #11
  %12603 = call i32 @isatty(i32 noundef %12602) #11
  %12604 = icmp ne i32 %12603, 0
  br i1 %12604, label %12605, label %12622

12605:                                            ; preds = %12600
  %12606 = load i32, ptr %245, align 4, !tbaa !5
  %12607 = call ptr @__errno_location() #12
  store i32 %12606, ptr %12607, align 4, !tbaa !5
  %12608 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12609 = load i32, ptr @test_count, align 4, !tbaa !5
  %12610 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12611 = load i32, ptr %12610, align 4, !tbaa !5
  %12612 = call ptr @s2n_strerror(i32 noundef %12611, ptr noundef @.str.11)
  %12613 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12614 = load i32, ptr %12613, align 4, !tbaa !5
  %12615 = call ptr @s2n_strerror_debug(i32 noundef %12614, ptr noundef @.str.11)
  %12616 = call ptr @__errno_location() #12
  %12617 = load i32, ptr %12616, align 4, !tbaa !5
  %12618 = call ptr @strerror(i32 noundef %12617) #11
  %12619 = call ptr @__errno_location() #12
  %12620 = load i32, ptr %12619, align 4, !tbaa !5
  %12621 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12608, ptr noundef @.str.9, i32 noundef %12609, ptr noundef @.str.117, ptr noundef @.str.8, i32 noundef 497, ptr noundef %12612, ptr noundef %12615, ptr noundef %12618, i32 noundef %12620) #11
  br label %12639

12622:                                            ; preds = %12600, %12593
  %12623 = load i32, ptr %245, align 4, !tbaa !5
  %12624 = call ptr @__errno_location() #12
  store i32 %12623, ptr %12624, align 4, !tbaa !5
  %12625 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12626 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %12628, ptr noundef @.str.11)
  %12630 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12631 = load i32, ptr %12630, align 4, !tbaa !5
  %12632 = call ptr @s2n_strerror_debug(i32 noundef %12631, ptr noundef @.str.11)
  %12633 = call ptr @__errno_location() #12
  %12634 = load i32, ptr %12633, align 4, !tbaa !5
  %12635 = call ptr @strerror(i32 noundef %12634) #11
  %12636 = call ptr @__errno_location() #12
  %12637 = load i32, ptr %12636, align 4, !tbaa !5
  %12638 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12625, ptr noundef @.str.12, i32 noundef %12626, ptr noundef @.str.117, ptr noundef @.str.8, i32 noundef 497, ptr noundef %12629, ptr noundef %12632, ptr noundef %12635, i32 noundef %12637) #11
  br label %12639

12639:                                            ; preds = %12622, %12605
  call void @llvm.lifetime.end.p0(i64 4, ptr %245) #11
  br label %12640

12640:                                            ; preds = %12639
  br label %12641

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

12642:                                            ; No predecessors!
  br label %12643

12643:                                            ; preds = %12642
  br label %12644

12644:                                            ; preds = %12643, %12586
  br label %12645

12645:                                            ; preds = %12644
  br label %12646

12646:                                            ; preds = %12645
  br label %12647

12647:                                            ; preds = %12646
  %12648 = load i32, ptr @test_count, align 4, !tbaa !5
  %12649 = add nsw i32 %12648, 1
  store i32 %12649, ptr @test_count, align 4, !tbaa !5
  %12650 = load ptr, ptr %239, align 8, !tbaa !9
  %12651 = call i32 @s2n_connection_wipe(ptr noundef %12650)
  %12652 = icmp eq i32 %12651, -1
  br i1 %12652, label %12653, label %12706

12653:                                            ; preds = %12647
  br label %12654

12654:                                            ; preds = %12653
  br label %12655

12655:                                            ; preds = %12654
  call void @llvm.lifetime.start.p0(i64 4, ptr %246) #11
  %12656 = call ptr @__errno_location() #12
  %12657 = load i32, ptr %12656, align 4, !tbaa !5
  store i32 %12657, ptr %246, align 4, !tbaa !5
  %12658 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12659 = call i32 @s2n_print_stacktrace(ptr noundef %12658)
  %12660 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12661 = trunc i8 %12660 to i1
  br i1 %12661, label %12662, label %12684

12662:                                            ; preds = %12655
  %12663 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12664 = call i32 @fileno(ptr noundef %12663) #11
  %12665 = call i32 @isatty(i32 noundef %12664) #11
  %12666 = icmp ne i32 %12665, 0
  br i1 %12666, label %12667, label %12684

12667:                                            ; preds = %12662
  %12668 = load i32, ptr %246, align 4, !tbaa !5
  %12669 = call ptr @__errno_location() #12
  store i32 %12668, ptr %12669, align 4, !tbaa !5
  %12670 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12671 = load i32, ptr @test_count, align 4, !tbaa !5
  %12672 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12673 = load i32, ptr %12672, align 4, !tbaa !5
  %12674 = call ptr @s2n_strerror(i32 noundef %12673, ptr noundef @.str.11)
  %12675 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12676 = load i32, ptr %12675, align 4, !tbaa !5
  %12677 = call ptr @s2n_strerror_debug(i32 noundef %12676, ptr noundef @.str.11)
  %12678 = call ptr @__errno_location() #12
  %12679 = load i32, ptr %12678, align 4, !tbaa !5
  %12680 = call ptr @strerror(i32 noundef %12679) #11
  %12681 = call ptr @__errno_location() #12
  %12682 = load i32, ptr %12681, align 4, !tbaa !5
  %12683 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12670, ptr noundef @.str.9, i32 noundef %12671, ptr noundef @.str.118, ptr noundef @.str.8, i32 noundef 500, ptr noundef %12674, ptr noundef %12677, ptr noundef %12680, i32 noundef %12682) #11
  br label %12701

12684:                                            ; preds = %12662, %12655
  %12685 = load i32, ptr %246, align 4, !tbaa !5
  %12686 = call ptr @__errno_location() #12
  store i32 %12685, ptr %12686, align 4, !tbaa !5
  %12687 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12688 = load i32, ptr @test_count, align 4, !tbaa !5
  %12689 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12690 = load i32, ptr %12689, align 4, !tbaa !5
  %12691 = call ptr @s2n_strerror(i32 noundef %12690, ptr noundef @.str.11)
  %12692 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12693 = load i32, ptr %12692, align 4, !tbaa !5
  %12694 = call ptr @s2n_strerror_debug(i32 noundef %12693, ptr noundef @.str.11)
  %12695 = call ptr @__errno_location() #12
  %12696 = load i32, ptr %12695, align 4, !tbaa !5
  %12697 = call ptr @strerror(i32 noundef %12696) #11
  %12698 = call ptr @__errno_location() #12
  %12699 = load i32, ptr %12698, align 4, !tbaa !5
  %12700 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12687, ptr noundef @.str.12, i32 noundef %12688, ptr noundef @.str.118, ptr noundef @.str.8, i32 noundef 500, ptr noundef %12691, ptr noundef %12694, ptr noundef %12697, i32 noundef %12699) #11
  br label %12701

12701:                                            ; preds = %12684, %12667
  call void @llvm.lifetime.end.p0(i64 4, ptr %246) #11
  br label %12702

12702:                                            ; preds = %12701
  br label %12703

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

12704:                                            ; No predecessors!
  br label %12705

12705:                                            ; preds = %12704
  br label %12706

12706:                                            ; preds = %12705, %12647
  br label %12707

12707:                                            ; preds = %12706
  br label %12708

12708:                                            ; preds = %12707
  br label %12709

12709:                                            ; preds = %12708
  %12710 = load i32, ptr @test_count, align 4, !tbaa !5
  %12711 = add nsw i32 %12710, 1
  store i32 %12711, ptr @test_count, align 4, !tbaa !5
  %12712 = load ptr, ptr %239, align 8, !tbaa !9
  %12713 = call i32 @s2n_connection_set_read_fd(ptr noundef %12712, i32 noundef 1)
  %12714 = icmp eq i32 %12713, -1
  br i1 %12714, label %12715, label %12768

12715:                                            ; preds = %12709
  br label %12716

12716:                                            ; preds = %12715
  br label %12717

12717:                                            ; preds = %12716
  call void @llvm.lifetime.start.p0(i64 4, ptr %247) #11
  %12718 = call ptr @__errno_location() #12
  %12719 = load i32, ptr %12718, align 4, !tbaa !5
  store i32 %12719, ptr %247, align 4, !tbaa !5
  %12720 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12721 = call i32 @s2n_print_stacktrace(ptr noundef %12720)
  %12722 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12723 = trunc i8 %12722 to i1
  br i1 %12723, label %12724, label %12746

12724:                                            ; preds = %12717
  %12725 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12726 = call i32 @fileno(ptr noundef %12725) #11
  %12727 = call i32 @isatty(i32 noundef %12726) #11
  %12728 = icmp ne i32 %12727, 0
  br i1 %12728, label %12729, label %12746

12729:                                            ; preds = %12724
  %12730 = load i32, ptr %247, align 4, !tbaa !5
  %12731 = call ptr @__errno_location() #12
  store i32 %12730, ptr %12731, align 4, !tbaa !5
  %12732 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12733 = load i32, ptr @test_count, align 4, !tbaa !5
  %12734 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12735 = load i32, ptr %12734, align 4, !tbaa !5
  %12736 = call ptr @s2n_strerror(i32 noundef %12735, ptr noundef @.str.11)
  %12737 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12738 = load i32, ptr %12737, align 4, !tbaa !5
  %12739 = call ptr @s2n_strerror_debug(i32 noundef %12738, ptr noundef @.str.11)
  %12740 = call ptr @__errno_location() #12
  %12741 = load i32, ptr %12740, align 4, !tbaa !5
  %12742 = call ptr @strerror(i32 noundef %12741) #11
  %12743 = call ptr @__errno_location() #12
  %12744 = load i32, ptr %12743, align 4, !tbaa !5
  %12745 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12732, ptr noundef @.str.9, i32 noundef %12733, ptr noundef @.str.119, ptr noundef @.str.8, i32 noundef 501, ptr noundef %12736, ptr noundef %12739, ptr noundef %12742, i32 noundef %12744) #11
  br label %12763

12746:                                            ; preds = %12724, %12717
  %12747 = load i32, ptr %247, align 4, !tbaa !5
  %12748 = call ptr @__errno_location() #12
  store i32 %12747, ptr %12748, align 4, !tbaa !5
  %12749 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12750 = load i32, ptr @test_count, align 4, !tbaa !5
  %12751 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12752 = load i32, ptr %12751, align 4, !tbaa !5
  %12753 = call ptr @s2n_strerror(i32 noundef %12752, ptr noundef @.str.11)
  %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_debug(i32 noundef %12755, ptr noundef @.str.11)
  %12757 = call ptr @__errno_location() #12
  %12758 = load i32, ptr %12757, align 4, !tbaa !5
  %12759 = call ptr @strerror(i32 noundef %12758) #11
  %12760 = call ptr @__errno_location() #12
  %12761 = load i32, ptr %12760, align 4, !tbaa !5
  %12762 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12749, ptr noundef @.str.12, i32 noundef %12750, ptr noundef @.str.119, ptr noundef @.str.8, i32 noundef 501, ptr noundef %12753, ptr noundef %12756, ptr noundef %12759, i32 noundef %12761) #11
  br label %12763

12763:                                            ; preds = %12746, %12729
  call void @llvm.lifetime.end.p0(i64 4, ptr %247) #11
  br label %12764

12764:                                            ; preds = %12763
  br label %12765

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

12766:                                            ; No predecessors!
  br label %12767

12767:                                            ; preds = %12766
  br label %12768

12768:                                            ; preds = %12767, %12709
  br label %12769

12769:                                            ; preds = %12768
  br label %12770

12770:                                            ; preds = %12769
  br label %12771

12771:                                            ; preds = %12770
  br label %12772

12772:                                            ; preds = %12771
  br label %12773

12773:                                            ; preds = %12772
  %12774 = load i32, ptr @test_count, align 4, !tbaa !5
  %12775 = add nsw i32 %12774, 1
  store i32 %12775, ptr @test_count, align 4, !tbaa !5
  %12776 = load ptr, ptr %239, align 8, !tbaa !9
  %12777 = call i32 @s2n_connection_get_write_fd(ptr noundef %12776, ptr noundef @main.getWriteFd)
  %12778 = icmp eq i32 %12777, -1
  br i1 %12778, label %12832, label %12779

12779:                                            ; preds = %12773
  br label %12780

12780:                                            ; preds = %12779
  br label %12781

12781:                                            ; preds = %12780
  call void @llvm.lifetime.start.p0(i64 4, ptr %248) #11
  %12782 = call ptr @__errno_location() #12
  %12783 = load i32, ptr %12782, align 4, !tbaa !5
  store i32 %12783, ptr %248, align 4, !tbaa !5
  %12784 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12785 = call i32 @s2n_print_stacktrace(ptr noundef %12784)
  %12786 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12787 = trunc i8 %12786 to i1
  br i1 %12787, label %12788, label %12810

12788:                                            ; preds = %12781
  %12789 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12790 = call i32 @fileno(ptr noundef %12789) #11
  %12791 = call i32 @isatty(i32 noundef %12790) #11
  %12792 = icmp ne i32 %12791, 0
  br i1 %12792, label %12793, label %12810

12793:                                            ; preds = %12788
  %12794 = load i32, ptr %248, align 4, !tbaa !5
  %12795 = call ptr @__errno_location() #12
  store i32 %12794, ptr %12795, align 4, !tbaa !5
  %12796 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12797 = load i32, ptr @test_count, align 4, !tbaa !5
  %12798 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12799 = load i32, ptr %12798, align 4, !tbaa !5
  %12800 = call ptr @s2n_strerror(i32 noundef %12799, ptr noundef @.str.11)
  %12801 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12802 = load i32, ptr %12801, align 4, !tbaa !5
  %12803 = call ptr @s2n_strerror_debug(i32 noundef %12802, ptr noundef @.str.11)
  %12804 = call ptr @__errno_location() #12
  %12805 = load i32, ptr %12804, align 4, !tbaa !5
  %12806 = call ptr @strerror(i32 noundef %12805) #11
  %12807 = call ptr @__errno_location() #12
  %12808 = load i32, ptr %12807, align 4, !tbaa !5
  %12809 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12796, ptr noundef @.str.9, i32 noundef %12797, ptr noundef @.str.120, ptr noundef @.str.8, i32 noundef 502, ptr noundef %12800, ptr noundef %12803, ptr noundef %12806, i32 noundef %12808) #11
  br label %12827

12810:                                            ; preds = %12788, %12781
  %12811 = load i32, ptr %248, align 4, !tbaa !5
  %12812 = call ptr @__errno_location() #12
  store i32 %12811, ptr %12812, align 4, !tbaa !5
  %12813 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12814 = load i32, ptr @test_count, align 4, !tbaa !5
  %12815 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12816 = load i32, ptr %12815, align 4, !tbaa !5
  %12817 = call ptr @s2n_strerror(i32 noundef %12816, ptr noundef @.str.11)
  %12818 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12819 = load i32, ptr %12818, align 4, !tbaa !5
  %12820 = call ptr @s2n_strerror_debug(i32 noundef %12819, ptr noundef @.str.11)
  %12821 = call ptr @__errno_location() #12
  %12822 = load i32, ptr %12821, align 4, !tbaa !5
  %12823 = call ptr @strerror(i32 noundef %12822) #11
  %12824 = call ptr @__errno_location() #12
  %12825 = load i32, ptr %12824, align 4, !tbaa !5
  %12826 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12813, ptr noundef @.str.12, i32 noundef %12814, ptr noundef @.str.120, ptr noundef @.str.8, i32 noundef 502, ptr noundef %12817, ptr noundef %12820, ptr noundef %12823, i32 noundef %12825) #11
  br label %12827

12827:                                            ; preds = %12810, %12793
  call void @llvm.lifetime.end.p0(i64 4, ptr %248) #11
  br label %12828

12828:                                            ; preds = %12827
  br label %12829

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

12830:                                            ; No predecessors!
  br label %12831

12831:                                            ; preds = %12830
  br label %12832

12832:                                            ; preds = %12831, %12773
  br label %12833

12833:                                            ; preds = %12832
  br label %12834

12834:                                            ; preds = %12833
  br label %12835

12835:                                            ; preds = %12834
  %12836 = load i32, ptr @test_count, align 4, !tbaa !5
  %12837 = add nsw i32 %12836, 1
  store i32 %12837, ptr @test_count, align 4, !tbaa !5
  %12838 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12839 = load i32, ptr %12838, align 4, !tbaa !5
  %12840 = icmp eq i32 %12839, 469762112
  br i1 %12840, label %12894, label %12841

12841:                                            ; preds = %12835
  br label %12842

12842:                                            ; preds = %12841
  br label %12843

12843:                                            ; preds = %12842
  call void @llvm.lifetime.start.p0(i64 4, ptr %249) #11
  %12844 = call ptr @__errno_location() #12
  %12845 = load i32, ptr %12844, align 4, !tbaa !5
  store i32 %12845, ptr %249, align 4, !tbaa !5
  %12846 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12847 = call i32 @s2n_print_stacktrace(ptr noundef %12846)
  %12848 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12849 = trunc i8 %12848 to i1
  br i1 %12849, label %12850, label %12872

12850:                                            ; preds = %12843
  %12851 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12852 = call i32 @fileno(ptr noundef %12851) #11
  %12853 = call i32 @isatty(i32 noundef %12852) #11
  %12854 = icmp ne i32 %12853, 0
  br i1 %12854, label %12855, label %12872

12855:                                            ; preds = %12850
  %12856 = load i32, ptr %249, align 4, !tbaa !5
  %12857 = call ptr @__errno_location() #12
  store i32 %12856, ptr %12857, align 4, !tbaa !5
  %12858 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12859 = load i32, ptr @test_count, align 4, !tbaa !5
  %12860 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12861 = load i32, ptr %12860, align 4, !tbaa !5
  %12862 = call ptr @s2n_strerror(i32 noundef %12861, ptr noundef @.str.11)
  %12863 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12864 = load i32, ptr %12863, align 4, !tbaa !5
  %12865 = call ptr @s2n_strerror_debug(i32 noundef %12864, ptr noundef @.str.11)
  %12866 = call ptr @__errno_location() #12
  %12867 = load i32, ptr %12866, align 4, !tbaa !5
  %12868 = call ptr @strerror(i32 noundef %12867) #11
  %12869 = call ptr @__errno_location() #12
  %12870 = load i32, ptr %12869, align 4, !tbaa !5
  %12871 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12858, ptr noundef @.str.9, i32 noundef %12859, ptr noundef @.str.121, ptr noundef @.str.8, i32 noundef 502, ptr noundef %12862, ptr noundef %12865, ptr noundef %12868, i32 noundef %12870) #11
  br label %12889

12872:                                            ; preds = %12850, %12843
  %12873 = load i32, ptr %249, align 4, !tbaa !5
  %12874 = call ptr @__errno_location() #12
  store i32 %12873, ptr %12874, align 4, !tbaa !5
  %12875 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12876 = load i32, ptr @test_count, align 4, !tbaa !5
  %12877 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12878 = load i32, ptr %12877, align 4, !tbaa !5
  %12879 = call ptr @s2n_strerror(i32 noundef %12878, ptr noundef @.str.11)
  %12880 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12881 = load i32, ptr %12880, align 4, !tbaa !5
  %12882 = call ptr @s2n_strerror_debug(i32 noundef %12881, ptr noundef @.str.11)
  %12883 = call ptr @__errno_location() #12
  %12884 = load i32, ptr %12883, align 4, !tbaa !5
  %12885 = call ptr @strerror(i32 noundef %12884) #11
  %12886 = call ptr @__errno_location() #12
  %12887 = load i32, ptr %12886, align 4, !tbaa !5
  %12888 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12875, ptr noundef @.str.12, i32 noundef %12876, ptr noundef @.str.121, ptr noundef @.str.8, i32 noundef 502, ptr noundef %12879, ptr noundef %12882, ptr noundef %12885, i32 noundef %12887) #11
  br label %12889

12889:                                            ; preds = %12872, %12855
  call void @llvm.lifetime.end.p0(i64 4, ptr %249) #11
  br label %12890

12890:                                            ; preds = %12889
  br label %12891

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

12892:                                            ; No predecessors!
  br label %12893

12893:                                            ; preds = %12892
  br label %12894

12894:                                            ; preds = %12893, %12835
  br label %12895

12895:                                            ; preds = %12894
  br label %12896

12896:                                            ; preds = %12895
  br label %12897

12897:                                            ; preds = %12896
  %12898 = load i32, ptr @test_count, align 4, !tbaa !5
  %12899 = add nsw i32 %12898, 1
  store i32 %12899, ptr @test_count, align 4, !tbaa !5
  %12900 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12901 = load i32, ptr %12900, align 4, !tbaa !5
  %12902 = call ptr @s2n_strerror_debug(i32 noundef %12901, ptr noundef @.str.11)
  %12903 = icmp eq ptr %12902, null
  br i1 %12903, label %12904, label %12957

12904:                                            ; preds = %12897
  br label %12905

12905:                                            ; preds = %12904
  br label %12906

12906:                                            ; preds = %12905
  call void @llvm.lifetime.start.p0(i64 4, ptr %250) #11
  %12907 = call ptr @__errno_location() #12
  %12908 = load i32, ptr %12907, align 4, !tbaa !5
  store i32 %12908, ptr %250, align 4, !tbaa !5
  %12909 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12910 = call i32 @s2n_print_stacktrace(ptr noundef %12909)
  %12911 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12912 = trunc i8 %12911 to i1
  br i1 %12912, label %12913, label %12935

12913:                                            ; preds = %12906
  %12914 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12915 = call i32 @fileno(ptr noundef %12914) #11
  %12916 = call i32 @isatty(i32 noundef %12915) #11
  %12917 = icmp ne i32 %12916, 0
  br i1 %12917, label %12918, label %12935

12918:                                            ; preds = %12913
  %12919 = load i32, ptr %250, align 4, !tbaa !5
  %12920 = call ptr @__errno_location() #12
  store i32 %12919, ptr %12920, align 4, !tbaa !5
  %12921 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12922 = load i32, ptr @test_count, align 4, !tbaa !5
  %12923 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12924 = load i32, ptr %12923, align 4, !tbaa !5
  %12925 = call ptr @s2n_strerror(i32 noundef %12924, ptr noundef @.str.11)
  %12926 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12927 = load i32, ptr %12926, align 4, !tbaa !5
  %12928 = call ptr @s2n_strerror_debug(i32 noundef %12927, ptr noundef @.str.11)
  %12929 = call ptr @__errno_location() #12
  %12930 = load i32, ptr %12929, align 4, !tbaa !5
  %12931 = call ptr @strerror(i32 noundef %12930) #11
  %12932 = call ptr @__errno_location() #12
  %12933 = load i32, ptr %12932, align 4, !tbaa !5
  %12934 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12921, ptr noundef @.str.9, i32 noundef %12922, ptr noundef @.str.54, ptr noundef @.str.8, i32 noundef 502, ptr noundef %12925, ptr noundef %12928, ptr noundef %12931, i32 noundef %12933) #11
  br label %12952

12935:                                            ; preds = %12913, %12906
  %12936 = load i32, ptr %250, align 4, !tbaa !5
  %12937 = call ptr @__errno_location() #12
  store i32 %12936, ptr %12937, align 4, !tbaa !5
  %12938 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12939 = load i32, ptr @test_count, align 4, !tbaa !5
  %12940 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12941 = load i32, ptr %12940, align 4, !tbaa !5
  %12942 = call ptr @s2n_strerror(i32 noundef %12941, ptr noundef @.str.11)
  %12943 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12944 = load i32, ptr %12943, align 4, !tbaa !5
  %12945 = call ptr @s2n_strerror_debug(i32 noundef %12944, ptr noundef @.str.11)
  %12946 = call ptr @__errno_location() #12
  %12947 = load i32, ptr %12946, align 4, !tbaa !5
  %12948 = call ptr @strerror(i32 noundef %12947) #11
  %12949 = call ptr @__errno_location() #12
  %12950 = load i32, ptr %12949, align 4, !tbaa !5
  %12951 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12938, ptr noundef @.str.12, i32 noundef %12939, ptr noundef @.str.54, ptr noundef @.str.8, i32 noundef 502, ptr noundef %12942, ptr noundef %12945, ptr noundef %12948, i32 noundef %12950) #11
  br label %12952

12952:                                            ; preds = %12935, %12918
  call void @llvm.lifetime.end.p0(i64 4, ptr %250) #11
  br label %12953

12953:                                            ; preds = %12952
  br label %12954

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

12955:                                            ; No predecessors!
  br label %12956

12956:                                            ; preds = %12955
  br label %12957

12957:                                            ; preds = %12956, %12897
  br label %12958

12958:                                            ; preds = %12957
  br label %12959

12959:                                            ; preds = %12958
  br label %12960

12960:                                            ; preds = %12959
  br label %12961

12961:                                            ; preds = %12960
  br label %12962

12962:                                            ; preds = %12961
  %12963 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %12963, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %12964 = call ptr @__errno_location() #12
  store i32 0, ptr %12964, align 4, !tbaa !5
  br label %12965

12965:                                            ; preds = %12962
  br label %12966

12966:                                            ; preds = %12965
  br label %12967

12967:                                            ; preds = %12966
  br label %12968

12968:                                            ; preds = %12967
  br label %12969

12969:                                            ; preds = %12968
  %12970 = load i32, ptr @test_count, align 4, !tbaa !5
  %12971 = add nsw i32 %12970, 1
  store i32 %12971, ptr @test_count, align 4, !tbaa !5
  %12972 = load ptr, ptr %239, align 8, !tbaa !9
  %12973 = call i32 @s2n_connection_get_read_fd(ptr noundef %12972, ptr noundef @main.getReadFd)
  %12974 = icmp eq i32 %12973, -1
  br i1 %12974, label %12975, label %13028

12975:                                            ; preds = %12969
  br label %12976

12976:                                            ; preds = %12975
  br label %12977

12977:                                            ; preds = %12976
  call void @llvm.lifetime.start.p0(i64 4, ptr %251) #11
  %12978 = call ptr @__errno_location() #12
  %12979 = load i32, ptr %12978, align 4, !tbaa !5
  store i32 %12979, ptr %251, align 4, !tbaa !5
  %12980 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12981 = call i32 @s2n_print_stacktrace(ptr noundef %12980)
  %12982 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12983 = trunc i8 %12982 to i1
  br i1 %12983, label %12984, label %13006

12984:                                            ; preds = %12977
  %12985 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12986 = call i32 @fileno(ptr noundef %12985) #11
  %12987 = call i32 @isatty(i32 noundef %12986) #11
  %12988 = icmp ne i32 %12987, 0
  br i1 %12988, label %12989, label %13006

12989:                                            ; preds = %12984
  %12990 = load i32, ptr %251, align 4, !tbaa !5
  %12991 = call ptr @__errno_location() #12
  store i32 %12990, ptr %12991, align 4, !tbaa !5
  %12992 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12993 = load i32, ptr @test_count, align 4, !tbaa !5
  %12994 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12995 = load i32, ptr %12994, align 4, !tbaa !5
  %12996 = call ptr @s2n_strerror(i32 noundef %12995, ptr noundef @.str.11)
  %12997 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12998 = load i32, ptr %12997, align 4, !tbaa !5
  %12999 = call ptr @s2n_strerror_debug(i32 noundef %12998, ptr noundef @.str.11)
  %13000 = call ptr @__errno_location() #12
  %13001 = load i32, ptr %13000, align 4, !tbaa !5
  %13002 = call ptr @strerror(i32 noundef %13001) #11
  %13003 = call ptr @__errno_location() #12
  %13004 = load i32, ptr %13003, align 4, !tbaa !5
  %13005 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12992, ptr noundef @.str.9, i32 noundef %12993, ptr noundef @.str.115, ptr noundef @.str.8, i32 noundef 503, ptr noundef %12996, ptr noundef %12999, ptr noundef %13002, i32 noundef %13004) #11
  br label %13023

13006:                                            ; preds = %12984, %12977
  %13007 = load i32, ptr %251, align 4, !tbaa !5
  %13008 = call ptr @__errno_location() #12
  store i32 %13007, ptr %13008, align 4, !tbaa !5
  %13009 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13010 = load i32, ptr @test_count, align 4, !tbaa !5
  %13011 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13012 = load i32, ptr %13011, align 4, !tbaa !5
  %13013 = call ptr @s2n_strerror(i32 noundef %13012, ptr noundef @.str.11)
  %13014 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13015 = load i32, ptr %13014, align 4, !tbaa !5
  %13016 = call ptr @s2n_strerror_debug(i32 noundef %13015, ptr noundef @.str.11)
  %13017 = call ptr @__errno_location() #12
  %13018 = load i32, ptr %13017, align 4, !tbaa !5
  %13019 = call ptr @strerror(i32 noundef %13018) #11
  %13020 = call ptr @__errno_location() #12
  %13021 = load i32, ptr %13020, align 4, !tbaa !5
  %13022 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13009, ptr noundef @.str.12, i32 noundef %13010, ptr noundef @.str.115, ptr noundef @.str.8, i32 noundef 503, ptr noundef %13013, ptr noundef %13016, ptr noundef %13019, i32 noundef %13021) #11
  br label %13023

13023:                                            ; preds = %13006, %12989
  call void @llvm.lifetime.end.p0(i64 4, ptr %251) #11
  br label %13024

13024:                                            ; preds = %13023
  br label %13025

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

13026:                                            ; No predecessors!
  br label %13027

13027:                                            ; preds = %13026
  br label %13028

13028:                                            ; preds = %13027, %12969
  br label %13029

13029:                                            ; preds = %13028
  br label %13030

13030:                                            ; preds = %13029
  br label %13031

13031:                                            ; preds = %13030
  %13032 = load i32, ptr @test_count, align 4, !tbaa !5
  %13033 = add nsw i32 %13032, 1
  store i32 %13033, ptr @test_count, align 4, !tbaa !5
  %13034 = load i32, ptr @main.getReadFd, align 4, !tbaa !5
  %13035 = icmp eq i32 %13034, 1
  br i1 %13035, label %13089, label %13036

13036:                                            ; preds = %13031
  br label %13037

13037:                                            ; preds = %13036
  br label %13038

13038:                                            ; preds = %13037
  call void @llvm.lifetime.start.p0(i64 4, ptr %252) #11
  %13039 = call ptr @__errno_location() #12
  %13040 = load i32, ptr %13039, align 4, !tbaa !5
  store i32 %13040, ptr %252, align 4, !tbaa !5
  %13041 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13042 = call i32 @s2n_print_stacktrace(ptr noundef %13041)
  %13043 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13044 = trunc i8 %13043 to i1
  br i1 %13044, label %13045, label %13067

13045:                                            ; preds = %13038
  %13046 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13047 = call i32 @fileno(ptr noundef %13046) #11
  %13048 = call i32 @isatty(i32 noundef %13047) #11
  %13049 = icmp ne i32 %13048, 0
  br i1 %13049, label %13050, label %13067

13050:                                            ; preds = %13045
  %13051 = load i32, ptr %252, align 4, !tbaa !5
  %13052 = call ptr @__errno_location() #12
  store i32 %13051, ptr %13052, align 4, !tbaa !5
  %13053 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13054 = load i32, ptr @test_count, align 4, !tbaa !5
  %13055 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13056 = load i32, ptr %13055, align 4, !tbaa !5
  %13057 = call ptr @s2n_strerror(i32 noundef %13056, ptr noundef @.str.11)
  %13058 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13059 = load i32, ptr %13058, align 4, !tbaa !5
  %13060 = call ptr @s2n_strerror_debug(i32 noundef %13059, ptr noundef @.str.11)
  %13061 = call ptr @__errno_location() #12
  %13062 = load i32, ptr %13061, align 4, !tbaa !5
  %13063 = call ptr @strerror(i32 noundef %13062) #11
  %13064 = call ptr @__errno_location() #12
  %13065 = load i32, ptr %13064, align 4, !tbaa !5
  %13066 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13053, ptr noundef @.str.9, i32 noundef %13054, ptr noundef @.str.116, ptr noundef @.str.8, i32 noundef 504, ptr noundef %13057, ptr noundef %13060, ptr noundef %13063, i32 noundef %13065) #11
  br label %13084

13067:                                            ; preds = %13045, %13038
  %13068 = load i32, ptr %252, align 4, !tbaa !5
  %13069 = call ptr @__errno_location() #12
  store i32 %13068, ptr %13069, align 4, !tbaa !5
  %13070 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13071 = load i32, ptr @test_count, align 4, !tbaa !5
  %13072 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13073 = load i32, ptr %13072, align 4, !tbaa !5
  %13074 = call ptr @s2n_strerror(i32 noundef %13073, ptr noundef @.str.11)
  %13075 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13076 = load i32, ptr %13075, align 4, !tbaa !5
  %13077 = call ptr @s2n_strerror_debug(i32 noundef %13076, ptr noundef @.str.11)
  %13078 = call ptr @__errno_location() #12
  %13079 = load i32, ptr %13078, align 4, !tbaa !5
  %13080 = call ptr @strerror(i32 noundef %13079) #11
  %13081 = call ptr @__errno_location() #12
  %13082 = load i32, ptr %13081, align 4, !tbaa !5
  %13083 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13070, ptr noundef @.str.12, i32 noundef %13071, ptr noundef @.str.116, ptr noundef @.str.8, i32 noundef 504, ptr noundef %13074, ptr noundef %13077, ptr noundef %13080, i32 noundef %13082) #11
  br label %13084

13084:                                            ; preds = %13067, %13050
  call void @llvm.lifetime.end.p0(i64 4, ptr %252) #11
  br label %13085

13085:                                            ; preds = %13084
  br label %13086

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

13087:                                            ; No predecessors!
  br label %13088

13088:                                            ; preds = %13087
  br label %13089

13089:                                            ; preds = %13088, %13031
  br label %13090

13090:                                            ; preds = %13089
  br label %13091

13091:                                            ; preds = %13090
  br label %13092

13092:                                            ; preds = %13091
  %13093 = load i32, ptr @test_count, align 4, !tbaa !5
  %13094 = add nsw i32 %13093, 1
  store i32 %13094, ptr @test_count, align 4, !tbaa !5
  %13095 = load ptr, ptr %239, align 8, !tbaa !9
  %13096 = call i32 @s2n_connection_wipe(ptr noundef %13095)
  %13097 = icmp eq i32 %13096, -1
  br i1 %13097, label %13098, label %13151

13098:                                            ; preds = %13092
  br label %13099

13099:                                            ; preds = %13098
  br label %13100

13100:                                            ; preds = %13099
  call void @llvm.lifetime.start.p0(i64 4, ptr %253) #11
  %13101 = call ptr @__errno_location() #12
  %13102 = load i32, ptr %13101, align 4, !tbaa !5
  store i32 %13102, ptr %253, align 4, !tbaa !5
  %13103 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13104 = call i32 @s2n_print_stacktrace(ptr noundef %13103)
  %13105 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13106 = trunc i8 %13105 to i1
  br i1 %13106, label %13107, label %13129

13107:                                            ; preds = %13100
  %13108 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13109 = call i32 @fileno(ptr noundef %13108) #11
  %13110 = call i32 @isatty(i32 noundef %13109) #11
  %13111 = icmp ne i32 %13110, 0
  br i1 %13111, label %13112, label %13129

13112:                                            ; preds = %13107
  %13113 = load i32, ptr %253, align 4, !tbaa !5
  %13114 = call ptr @__errno_location() #12
  store i32 %13113, ptr %13114, align 4, !tbaa !5
  %13115 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13116 = load i32, ptr @test_count, align 4, !tbaa !5
  %13117 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13118 = load i32, ptr %13117, align 4, !tbaa !5
  %13119 = call ptr @s2n_strerror(i32 noundef %13118, ptr noundef @.str.11)
  %13120 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13121 = load i32, ptr %13120, align 4, !tbaa !5
  %13122 = call ptr @s2n_strerror_debug(i32 noundef %13121, ptr noundef @.str.11)
  %13123 = call ptr @__errno_location() #12
  %13124 = load i32, ptr %13123, align 4, !tbaa !5
  %13125 = call ptr @strerror(i32 noundef %13124) #11
  %13126 = call ptr @__errno_location() #12
  %13127 = load i32, ptr %13126, align 4, !tbaa !5
  %13128 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13115, ptr noundef @.str.9, i32 noundef %13116, ptr noundef @.str.118, ptr noundef @.str.8, i32 noundef 507, ptr noundef %13119, ptr noundef %13122, ptr noundef %13125, i32 noundef %13127) #11
  br label %13146

13129:                                            ; preds = %13107, %13100
  %13130 = load i32, ptr %253, 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.11)
  %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.11)
  %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.12, i32 noundef %13133, ptr noundef @.str.118, ptr noundef @.str.8, i32 noundef 507, ptr noundef %13136, ptr noundef %13139, ptr noundef %13142, i32 noundef %13144) #11
  br label %13146

13146:                                            ; preds = %13129, %13112
  call void @llvm.lifetime.end.p0(i64 4, ptr %253) #11
  br label %13147

13147:                                            ; preds = %13146
  br label %13148

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

13149:                                            ; No predecessors!
  br label %13150

13150:                                            ; preds = %13149
  br label %13151

13151:                                            ; preds = %13150, %13092
  br label %13152

13152:                                            ; preds = %13151
  br label %13153

13153:                                            ; preds = %13152
  br label %13154

13154:                                            ; preds = %13153
  %13155 = load i32, ptr @test_count, align 4, !tbaa !5
  %13156 = add nsw i32 %13155, 1
  store i32 %13156, ptr @test_count, align 4, !tbaa !5
  %13157 = load ptr, ptr %239, align 8, !tbaa !9
  %13158 = call i32 @s2n_connection_set_write_fd(ptr noundef %13157, i32 noundef 2)
  %13159 = icmp eq i32 %13158, -1
  br i1 %13159, label %13160, label %13213

13160:                                            ; preds = %13154
  br label %13161

13161:                                            ; preds = %13160
  br label %13162

13162:                                            ; preds = %13161
  call void @llvm.lifetime.start.p0(i64 4, ptr %254) #11
  %13163 = call ptr @__errno_location() #12
  %13164 = load i32, ptr %13163, align 4, !tbaa !5
  store i32 %13164, ptr %254, align 4, !tbaa !5
  %13165 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13166 = call i32 @s2n_print_stacktrace(ptr noundef %13165)
  %13167 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13168 = trunc i8 %13167 to i1
  br i1 %13168, label %13169, label %13191

13169:                                            ; preds = %13162
  %13170 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13171 = call i32 @fileno(ptr noundef %13170) #11
  %13172 = call i32 @isatty(i32 noundef %13171) #11
  %13173 = icmp ne i32 %13172, 0
  br i1 %13173, label %13174, label %13191

13174:                                            ; preds = %13169
  %13175 = load i32, ptr %254, align 4, !tbaa !5
  %13176 = call ptr @__errno_location() #12
  store i32 %13175, ptr %13176, align 4, !tbaa !5
  %13177 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13178 = load i32, ptr @test_count, align 4, !tbaa !5
  %13179 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13180 = load i32, ptr %13179, align 4, !tbaa !5
  %13181 = call ptr @s2n_strerror(i32 noundef %13180, ptr noundef @.str.11)
  %13182 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13183 = load i32, ptr %13182, align 4, !tbaa !5
  %13184 = call ptr @s2n_strerror_debug(i32 noundef %13183, ptr noundef @.str.11)
  %13185 = call ptr @__errno_location() #12
  %13186 = load i32, ptr %13185, align 4, !tbaa !5
  %13187 = call ptr @strerror(i32 noundef %13186) #11
  %13188 = call ptr @__errno_location() #12
  %13189 = load i32, ptr %13188, align 4, !tbaa !5
  %13190 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13177, ptr noundef @.str.9, i32 noundef %13178, ptr noundef @.str.122, ptr noundef @.str.8, i32 noundef 508, ptr noundef %13181, ptr noundef %13184, ptr noundef %13187, i32 noundef %13189) #11
  br label %13208

13191:                                            ; preds = %13169, %13162
  %13192 = load i32, ptr %254, align 4, !tbaa !5
  %13193 = call ptr @__errno_location() #12
  store i32 %13192, ptr %13193, align 4, !tbaa !5
  %13194 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13195 = load i32, ptr @test_count, align 4, !tbaa !5
  %13196 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13197 = load i32, ptr %13196, align 4, !tbaa !5
  %13198 = call ptr @s2n_strerror(i32 noundef %13197, ptr noundef @.str.11)
  %13199 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13200 = load i32, ptr %13199, align 4, !tbaa !5
  %13201 = call ptr @s2n_strerror_debug(i32 noundef %13200, ptr noundef @.str.11)
  %13202 = call ptr @__errno_location() #12
  %13203 = load i32, ptr %13202, align 4, !tbaa !5
  %13204 = call ptr @strerror(i32 noundef %13203) #11
  %13205 = call ptr @__errno_location() #12
  %13206 = load i32, ptr %13205, align 4, !tbaa !5
  %13207 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13194, ptr noundef @.str.12, i32 noundef %13195, ptr noundef @.str.122, ptr noundef @.str.8, i32 noundef 508, ptr noundef %13198, ptr noundef %13201, ptr noundef %13204, i32 noundef %13206) #11
  br label %13208

13208:                                            ; preds = %13191, %13174
  call void @llvm.lifetime.end.p0(i64 4, ptr %254) #11
  br label %13209

13209:                                            ; preds = %13208
  br label %13210

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

13211:                                            ; No predecessors!
  br label %13212

13212:                                            ; preds = %13211
  br label %13213

13213:                                            ; preds = %13212, %13154
  br label %13214

13214:                                            ; preds = %13213
  br label %13215

13215:                                            ; preds = %13214
  br label %13216

13216:                                            ; preds = %13215
  %13217 = load i32, ptr @test_count, align 4, !tbaa !5
  %13218 = add nsw i32 %13217, 1
  store i32 %13218, ptr @test_count, align 4, !tbaa !5
  %13219 = load ptr, ptr %239, align 8, !tbaa !9
  %13220 = call i32 @s2n_connection_get_write_fd(ptr noundef %13219, ptr noundef @main.getWriteFd)
  %13221 = icmp eq i32 %13220, -1
  br i1 %13221, label %13222, label %13275

13222:                                            ; preds = %13216
  br label %13223

13223:                                            ; preds = %13222
  br label %13224

13224:                                            ; preds = %13223
  call void @llvm.lifetime.start.p0(i64 4, ptr %255) #11
  %13225 = call ptr @__errno_location() #12
  %13226 = load i32, ptr %13225, align 4, !tbaa !5
  store i32 %13226, ptr %255, align 4, !tbaa !5
  %13227 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13228 = call i32 @s2n_print_stacktrace(ptr noundef %13227)
  %13229 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13230 = trunc i8 %13229 to i1
  br i1 %13230, label %13231, label %13253

13231:                                            ; preds = %13224
  %13232 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13233 = call i32 @fileno(ptr noundef %13232) #11
  %13234 = call i32 @isatty(i32 noundef %13233) #11
  %13235 = icmp ne i32 %13234, 0
  br i1 %13235, label %13236, label %13253

13236:                                            ; preds = %13231
  %13237 = load i32, ptr %255, align 4, !tbaa !5
  %13238 = call ptr @__errno_location() #12
  store i32 %13237, ptr %13238, align 4, !tbaa !5
  %13239 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13240 = load i32, ptr @test_count, align 4, !tbaa !5
  %13241 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13242 = load i32, ptr %13241, align 4, !tbaa !5
  %13243 = call ptr @s2n_strerror(i32 noundef %13242, ptr noundef @.str.11)
  %13244 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13245 = load i32, ptr %13244, align 4, !tbaa !5
  %13246 = call ptr @s2n_strerror_debug(i32 noundef %13245, ptr noundef @.str.11)
  %13247 = call ptr @__errno_location() #12
  %13248 = load i32, ptr %13247, align 4, !tbaa !5
  %13249 = call ptr @strerror(i32 noundef %13248) #11
  %13250 = call ptr @__errno_location() #12
  %13251 = load i32, ptr %13250, align 4, !tbaa !5
  %13252 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13239, ptr noundef @.str.9, i32 noundef %13240, ptr noundef @.str.114, ptr noundef @.str.8, i32 noundef 509, ptr noundef %13243, ptr noundef %13246, ptr noundef %13249, i32 noundef %13251) #11
  br label %13270

13253:                                            ; preds = %13231, %13224
  %13254 = load i32, ptr %255, align 4, !tbaa !5
  %13255 = call ptr @__errno_location() #12
  store i32 %13254, ptr %13255, align 4, !tbaa !5
  %13256 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13257 = load i32, ptr @test_count, align 4, !tbaa !5
  %13258 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13259 = load i32, ptr %13258, align 4, !tbaa !5
  %13260 = call ptr @s2n_strerror(i32 noundef %13259, ptr noundef @.str.11)
  %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_debug(i32 noundef %13262, ptr noundef @.str.11)
  %13264 = call ptr @__errno_location() #12
  %13265 = load i32, ptr %13264, align 4, !tbaa !5
  %13266 = call ptr @strerror(i32 noundef %13265) #11
  %13267 = call ptr @__errno_location() #12
  %13268 = load i32, ptr %13267, align 4, !tbaa !5
  %13269 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13256, ptr noundef @.str.12, i32 noundef %13257, ptr noundef @.str.114, ptr noundef @.str.8, i32 noundef 509, ptr noundef %13260, ptr noundef %13263, ptr noundef %13266, i32 noundef %13268) #11
  br label %13270

13270:                                            ; preds = %13253, %13236
  call void @llvm.lifetime.end.p0(i64 4, ptr %255) #11
  br label %13271

13271:                                            ; preds = %13270
  br label %13272

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

13273:                                            ; No predecessors!
  br label %13274

13274:                                            ; preds = %13273
  br label %13275

13275:                                            ; preds = %13274, %13216
  br label %13276

13276:                                            ; preds = %13275
  br label %13277

13277:                                            ; preds = %13276
  br label %13278

13278:                                            ; preds = %13277
  br label %13279

13279:                                            ; preds = %13278
  br label %13280

13280:                                            ; preds = %13279
  %13281 = load i32, ptr @test_count, align 4, !tbaa !5
  %13282 = add nsw i32 %13281, 1
  store i32 %13282, ptr @test_count, align 4, !tbaa !5
  %13283 = load ptr, ptr %239, align 8, !tbaa !9
  %13284 = call i32 @s2n_connection_get_read_fd(ptr noundef %13283, ptr noundef @main.getReadFd)
  %13285 = icmp eq i32 %13284, -1
  br i1 %13285, label %13339, label %13286

13286:                                            ; preds = %13280
  br label %13287

13287:                                            ; preds = %13286
  br label %13288

13288:                                            ; preds = %13287
  call void @llvm.lifetime.start.p0(i64 4, ptr %256) #11
  %13289 = call ptr @__errno_location() #12
  %13290 = load i32, ptr %13289, align 4, !tbaa !5
  store i32 %13290, ptr %256, align 4, !tbaa !5
  %13291 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13292 = call i32 @s2n_print_stacktrace(ptr noundef %13291)
  %13293 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13294 = trunc i8 %13293 to i1
  br i1 %13294, label %13295, label %13317

13295:                                            ; preds = %13288
  %13296 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13297 = call i32 @fileno(ptr noundef %13296) #11
  %13298 = call i32 @isatty(i32 noundef %13297) #11
  %13299 = icmp ne i32 %13298, 0
  br i1 %13299, label %13300, label %13317

13300:                                            ; preds = %13295
  %13301 = load i32, ptr %256, align 4, !tbaa !5
  %13302 = call ptr @__errno_location() #12
  store i32 %13301, ptr %13302, align 4, !tbaa !5
  %13303 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13304 = load i32, ptr @test_count, align 4, !tbaa !5
  %13305 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13306 = load i32, ptr %13305, align 4, !tbaa !5
  %13307 = call ptr @s2n_strerror(i32 noundef %13306, ptr noundef @.str.11)
  %13308 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13309 = load i32, ptr %13308, align 4, !tbaa !5
  %13310 = call ptr @s2n_strerror_debug(i32 noundef %13309, ptr noundef @.str.11)
  %13311 = call ptr @__errno_location() #12
  %13312 = load i32, ptr %13311, align 4, !tbaa !5
  %13313 = call ptr @strerror(i32 noundef %13312) #11
  %13314 = call ptr @__errno_location() #12
  %13315 = load i32, ptr %13314, align 4, !tbaa !5
  %13316 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13303, ptr noundef @.str.9, i32 noundef %13304, ptr noundef @.str.123, ptr noundef @.str.8, i32 noundef 510, ptr noundef %13307, ptr noundef %13310, ptr noundef %13313, i32 noundef %13315) #11
  br label %13334

13317:                                            ; preds = %13295, %13288
  %13318 = load i32, ptr %256, align 4, !tbaa !5
  %13319 = call ptr @__errno_location() #12
  store i32 %13318, ptr %13319, align 4, !tbaa !5
  %13320 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13321 = load i32, ptr @test_count, align 4, !tbaa !5
  %13322 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13323 = load i32, ptr %13322, align 4, !tbaa !5
  %13324 = call ptr @s2n_strerror(i32 noundef %13323, ptr noundef @.str.11)
  %13325 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13326 = load i32, ptr %13325, align 4, !tbaa !5
  %13327 = call ptr @s2n_strerror_debug(i32 noundef %13326, ptr noundef @.str.11)
  %13328 = call ptr @__errno_location() #12
  %13329 = load i32, ptr %13328, align 4, !tbaa !5
  %13330 = call ptr @strerror(i32 noundef %13329) #11
  %13331 = call ptr @__errno_location() #12
  %13332 = load i32, ptr %13331, align 4, !tbaa !5
  %13333 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13320, ptr noundef @.str.12, i32 noundef %13321, ptr noundef @.str.123, ptr noundef @.str.8, i32 noundef 510, ptr noundef %13324, ptr noundef %13327, ptr noundef %13330, i32 noundef %13332) #11
  br label %13334

13334:                                            ; preds = %13317, %13300
  call void @llvm.lifetime.end.p0(i64 4, ptr %256) #11
  br label %13335

13335:                                            ; preds = %13334
  br label %13336

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

13337:                                            ; No predecessors!
  br label %13338

13338:                                            ; preds = %13337
  br label %13339

13339:                                            ; preds = %13338, %13280
  br label %13340

13340:                                            ; preds = %13339
  br label %13341

13341:                                            ; preds = %13340
  br label %13342

13342:                                            ; preds = %13341
  %13343 = load i32, ptr @test_count, align 4, !tbaa !5
  %13344 = add nsw i32 %13343, 1
  store i32 %13344, ptr @test_count, align 4, !tbaa !5
  %13345 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13346 = load i32, ptr %13345, align 4, !tbaa !5
  %13347 = icmp eq i32 %13346, 469762112
  br i1 %13347, label %13401, label %13348

13348:                                            ; preds = %13342
  br label %13349

13349:                                            ; preds = %13348
  br label %13350

13350:                                            ; preds = %13349
  call void @llvm.lifetime.start.p0(i64 4, ptr %257) #11
  %13351 = call ptr @__errno_location() #12
  %13352 = load i32, ptr %13351, align 4, !tbaa !5
  store i32 %13352, ptr %257, align 4, !tbaa !5
  %13353 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13354 = call i32 @s2n_print_stacktrace(ptr noundef %13353)
  %13355 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13356 = trunc i8 %13355 to i1
  br i1 %13356, label %13357, label %13379

13357:                                            ; preds = %13350
  %13358 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13359 = call i32 @fileno(ptr noundef %13358) #11
  %13360 = call i32 @isatty(i32 noundef %13359) #11
  %13361 = icmp ne i32 %13360, 0
  br i1 %13361, label %13362, label %13379

13362:                                            ; preds = %13357
  %13363 = load i32, ptr %257, align 4, !tbaa !5
  %13364 = call ptr @__errno_location() #12
  store i32 %13363, ptr %13364, align 4, !tbaa !5
  %13365 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13366 = load i32, ptr @test_count, align 4, !tbaa !5
  %13367 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13368 = load i32, ptr %13367, align 4, !tbaa !5
  %13369 = call ptr @s2n_strerror(i32 noundef %13368, ptr noundef @.str.11)
  %13370 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13371 = load i32, ptr %13370, align 4, !tbaa !5
  %13372 = call ptr @s2n_strerror_debug(i32 noundef %13371, ptr noundef @.str.11)
  %13373 = call ptr @__errno_location() #12
  %13374 = load i32, ptr %13373, align 4, !tbaa !5
  %13375 = call ptr @strerror(i32 noundef %13374) #11
  %13376 = call ptr @__errno_location() #12
  %13377 = load i32, ptr %13376, align 4, !tbaa !5
  %13378 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13365, ptr noundef @.str.9, i32 noundef %13366, ptr noundef @.str.121, ptr noundef @.str.8, i32 noundef 510, ptr noundef %13369, ptr noundef %13372, ptr noundef %13375, i32 noundef %13377) #11
  br label %13396

13379:                                            ; preds = %13357, %13350
  %13380 = load i32, ptr %257, align 4, !tbaa !5
  %13381 = call ptr @__errno_location() #12
  store i32 %13380, ptr %13381, align 4, !tbaa !5
  %13382 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13383 = load i32, ptr @test_count, align 4, !tbaa !5
  %13384 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13385 = load i32, ptr %13384, align 4, !tbaa !5
  %13386 = call ptr @s2n_strerror(i32 noundef %13385, ptr noundef @.str.11)
  %13387 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13388 = load i32, ptr %13387, align 4, !tbaa !5
  %13389 = call ptr @s2n_strerror_debug(i32 noundef %13388, ptr noundef @.str.11)
  %13390 = call ptr @__errno_location() #12
  %13391 = load i32, ptr %13390, align 4, !tbaa !5
  %13392 = call ptr @strerror(i32 noundef %13391) #11
  %13393 = call ptr @__errno_location() #12
  %13394 = load i32, ptr %13393, align 4, !tbaa !5
  %13395 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13382, ptr noundef @.str.12, i32 noundef %13383, ptr noundef @.str.121, ptr noundef @.str.8, i32 noundef 510, ptr noundef %13386, ptr noundef %13389, ptr noundef %13392, i32 noundef %13394) #11
  br label %13396

13396:                                            ; preds = %13379, %13362
  call void @llvm.lifetime.end.p0(i64 4, ptr %257) #11
  br label %13397

13397:                                            ; preds = %13396
  br label %13398

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

13399:                                            ; No predecessors!
  br label %13400

13400:                                            ; preds = %13399
  br label %13401

13401:                                            ; preds = %13400, %13342
  br label %13402

13402:                                            ; preds = %13401
  br label %13403

13403:                                            ; preds = %13402
  br label %13404

13404:                                            ; preds = %13403
  %13405 = load i32, ptr @test_count, align 4, !tbaa !5
  %13406 = add nsw i32 %13405, 1
  store i32 %13406, ptr @test_count, align 4, !tbaa !5
  %13407 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13408 = load i32, ptr %13407, align 4, !tbaa !5
  %13409 = call ptr @s2n_strerror_debug(i32 noundef %13408, ptr noundef @.str.11)
  %13410 = icmp eq ptr %13409, null
  br i1 %13410, label %13411, label %13464

13411:                                            ; preds = %13404
  br label %13412

13412:                                            ; preds = %13411
  br label %13413

13413:                                            ; preds = %13412
  call void @llvm.lifetime.start.p0(i64 4, ptr %258) #11
  %13414 = call ptr @__errno_location() #12
  %13415 = load i32, ptr %13414, align 4, !tbaa !5
  store i32 %13415, ptr %258, align 4, !tbaa !5
  %13416 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13417 = call i32 @s2n_print_stacktrace(ptr noundef %13416)
  %13418 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13419 = trunc i8 %13418 to i1
  br i1 %13419, label %13420, label %13442

13420:                                            ; preds = %13413
  %13421 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13422 = call i32 @fileno(ptr noundef %13421) #11
  %13423 = call i32 @isatty(i32 noundef %13422) #11
  %13424 = icmp ne i32 %13423, 0
  br i1 %13424, label %13425, label %13442

13425:                                            ; preds = %13420
  %13426 = load i32, ptr %258, align 4, !tbaa !5
  %13427 = call ptr @__errno_location() #12
  store i32 %13426, ptr %13427, align 4, !tbaa !5
  %13428 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13429 = load i32, ptr @test_count, align 4, !tbaa !5
  %13430 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13431 = load i32, ptr %13430, align 4, !tbaa !5
  %13432 = call ptr @s2n_strerror(i32 noundef %13431, ptr noundef @.str.11)
  %13433 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13434 = load i32, ptr %13433, align 4, !tbaa !5
  %13435 = call ptr @s2n_strerror_debug(i32 noundef %13434, ptr noundef @.str.11)
  %13436 = call ptr @__errno_location() #12
  %13437 = load i32, ptr %13436, align 4, !tbaa !5
  %13438 = call ptr @strerror(i32 noundef %13437) #11
  %13439 = call ptr @__errno_location() #12
  %13440 = load i32, ptr %13439, align 4, !tbaa !5
  %13441 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13428, ptr noundef @.str.9, i32 noundef %13429, ptr noundef @.str.54, ptr noundef @.str.8, i32 noundef 510, ptr noundef %13432, ptr noundef %13435, ptr noundef %13438, i32 noundef %13440) #11
  br label %13459

13442:                                            ; preds = %13420, %13413
  %13443 = load i32, ptr %258, align 4, !tbaa !5
  %13444 = call ptr @__errno_location() #12
  store i32 %13443, ptr %13444, align 4, !tbaa !5
  %13445 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13446 = load i32, ptr @test_count, align 4, !tbaa !5
  %13447 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13448 = load i32, ptr %13447, align 4, !tbaa !5
  %13449 = call ptr @s2n_strerror(i32 noundef %13448, ptr noundef @.str.11)
  %13450 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13451 = load i32, ptr %13450, align 4, !tbaa !5
  %13452 = call ptr @s2n_strerror_debug(i32 noundef %13451, ptr noundef @.str.11)
  %13453 = call ptr @__errno_location() #12
  %13454 = load i32, ptr %13453, align 4, !tbaa !5
  %13455 = call ptr @strerror(i32 noundef %13454) #11
  %13456 = call ptr @__errno_location() #12
  %13457 = load i32, ptr %13456, align 4, !tbaa !5
  %13458 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13445, ptr noundef @.str.12, i32 noundef %13446, ptr noundef @.str.54, ptr noundef @.str.8, i32 noundef 510, ptr noundef %13449, ptr noundef %13452, ptr noundef %13455, i32 noundef %13457) #11
  br label %13459

13459:                                            ; preds = %13442, %13425
  call void @llvm.lifetime.end.p0(i64 4, ptr %258) #11
  br label %13460

13460:                                            ; preds = %13459
  br label %13461

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

13462:                                            ; No predecessors!
  br label %13463

13463:                                            ; preds = %13462
  br label %13464

13464:                                            ; preds = %13463, %13404
  br label %13465

13465:                                            ; preds = %13464
  br label %13466

13466:                                            ; preds = %13465
  br label %13467

13467:                                            ; preds = %13466
  br label %13468

13468:                                            ; preds = %13467
  br label %13469

13469:                                            ; preds = %13468
  %13470 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %13470, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %13471 = call ptr @__errno_location() #12
  store i32 0, ptr %13471, align 4, !tbaa !5
  br label %13472

13472:                                            ; preds = %13469
  br label %13473

13473:                                            ; preds = %13472
  br label %13474

13474:                                            ; preds = %13473
  br label %13475

13475:                                            ; preds = %13474
  br label %13476

13476:                                            ; preds = %13475
  %13477 = load i32, ptr @test_count, align 4, !tbaa !5
  %13478 = add nsw i32 %13477, 1
  store i32 %13478, ptr @test_count, align 4, !tbaa !5
  %13479 = load i32, ptr @main.getWriteFd, align 4, !tbaa !5
  %13480 = icmp eq i32 %13479, 2
  br i1 %13480, label %13534, label %13481

13481:                                            ; preds = %13476
  br label %13482

13482:                                            ; preds = %13481
  br label %13483

13483:                                            ; preds = %13482
  call void @llvm.lifetime.start.p0(i64 4, ptr %259) #11
  %13484 = call ptr @__errno_location() #12
  %13485 = load i32, ptr %13484, align 4, !tbaa !5
  store i32 %13485, ptr %259, align 4, !tbaa !5
  %13486 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13487 = call i32 @s2n_print_stacktrace(ptr noundef %13486)
  %13488 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13489 = trunc i8 %13488 to i1
  br i1 %13489, label %13490, label %13512

13490:                                            ; preds = %13483
  %13491 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13492 = call i32 @fileno(ptr noundef %13491) #11
  %13493 = call i32 @isatty(i32 noundef %13492) #11
  %13494 = icmp ne i32 %13493, 0
  br i1 %13494, label %13495, label %13512

13495:                                            ; preds = %13490
  %13496 = load i32, ptr %259, align 4, !tbaa !5
  %13497 = call ptr @__errno_location() #12
  store i32 %13496, ptr %13497, align 4, !tbaa !5
  %13498 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13499 = load i32, ptr @test_count, align 4, !tbaa !5
  %13500 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13501 = load i32, ptr %13500, align 4, !tbaa !5
  %13502 = call ptr @s2n_strerror(i32 noundef %13501, ptr noundef @.str.11)
  %13503 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13504 = load i32, ptr %13503, align 4, !tbaa !5
  %13505 = call ptr @s2n_strerror_debug(i32 noundef %13504, ptr noundef @.str.11)
  %13506 = call ptr @__errno_location() #12
  %13507 = load i32, ptr %13506, align 4, !tbaa !5
  %13508 = call ptr @strerror(i32 noundef %13507) #11
  %13509 = call ptr @__errno_location() #12
  %13510 = load i32, ptr %13509, align 4, !tbaa !5
  %13511 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13498, ptr noundef @.str.9, i32 noundef %13499, ptr noundef @.str.124, ptr noundef @.str.8, i32 noundef 511, ptr noundef %13502, ptr noundef %13505, ptr noundef %13508, i32 noundef %13510) #11
  br label %13529

13512:                                            ; preds = %13490, %13483
  %13513 = load i32, ptr %259, align 4, !tbaa !5
  %13514 = call ptr @__errno_location() #12
  store i32 %13513, ptr %13514, align 4, !tbaa !5
  %13515 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13516 = load i32, ptr @test_count, align 4, !tbaa !5
  %13517 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13518 = load i32, ptr %13517, align 4, !tbaa !5
  %13519 = call ptr @s2n_strerror(i32 noundef %13518, ptr noundef @.str.11)
  %13520 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13521 = load i32, ptr %13520, align 4, !tbaa !5
  %13522 = call ptr @s2n_strerror_debug(i32 noundef %13521, ptr noundef @.str.11)
  %13523 = call ptr @__errno_location() #12
  %13524 = load i32, ptr %13523, align 4, !tbaa !5
  %13525 = call ptr @strerror(i32 noundef %13524) #11
  %13526 = call ptr @__errno_location() #12
  %13527 = load i32, ptr %13526, align 4, !tbaa !5
  %13528 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13515, ptr noundef @.str.12, i32 noundef %13516, ptr noundef @.str.124, ptr noundef @.str.8, i32 noundef 511, ptr noundef %13519, ptr noundef %13522, ptr noundef %13525, i32 noundef %13527) #11
  br label %13529

13529:                                            ; preds = %13512, %13495
  call void @llvm.lifetime.end.p0(i64 4, ptr %259) #11
  br label %13530

13530:                                            ; preds = %13529
  br label %13531

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

13532:                                            ; No predecessors!
  br label %13533

13533:                                            ; preds = %13532
  br label %13534

13534:                                            ; preds = %13533, %13476
  br label %13535

13535:                                            ; preds = %13534
  br label %13536

13536:                                            ; preds = %13535
  br label %13537

13537:                                            ; preds = %13536
  %13538 = load i32, ptr @test_count, align 4, !tbaa !5
  %13539 = add nsw i32 %13538, 1
  store i32 %13539, ptr @test_count, align 4, !tbaa !5
  %13540 = load ptr, ptr %239, align 8, !tbaa !9
  %13541 = call i32 @s2n_connection_free(ptr noundef %13540)
  %13542 = icmp eq i32 %13541, -1
  br i1 %13542, label %13543, label %13596

13543:                                            ; preds = %13537
  br label %13544

13544:                                            ; preds = %13543
  br label %13545

13545:                                            ; preds = %13544
  call void @llvm.lifetime.start.p0(i64 4, ptr %260) #11
  %13546 = call ptr @__errno_location() #12
  %13547 = load i32, ptr %13546, align 4, !tbaa !5
  store i32 %13547, ptr %260, align 4, !tbaa !5
  %13548 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13549 = call i32 @s2n_print_stacktrace(ptr noundef %13548)
  %13550 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13551 = trunc i8 %13550 to i1
  br i1 %13551, label %13552, label %13574

13552:                                            ; preds = %13545
  %13553 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13554 = call i32 @fileno(ptr noundef %13553) #11
  %13555 = call i32 @isatty(i32 noundef %13554) #11
  %13556 = icmp ne i32 %13555, 0
  br i1 %13556, label %13557, label %13574

13557:                                            ; preds = %13552
  %13558 = load i32, ptr %260, align 4, !tbaa !5
  %13559 = call ptr @__errno_location() #12
  store i32 %13558, ptr %13559, align 4, !tbaa !5
  %13560 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13561 = load i32, ptr @test_count, align 4, !tbaa !5
  %13562 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13563 = load i32, ptr %13562, align 4, !tbaa !5
  %13564 = call ptr @s2n_strerror(i32 noundef %13563, ptr noundef @.str.11)
  %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.11)
  %13568 = call ptr @__errno_location() #12
  %13569 = load i32, ptr %13568, align 4, !tbaa !5
  %13570 = call ptr @strerror(i32 noundef %13569) #11
  %13571 = call ptr @__errno_location() #12
  %13572 = load i32, ptr %13571, align 4, !tbaa !5
  %13573 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13560, ptr noundef @.str.9, i32 noundef %13561, ptr noundef @.str.25, ptr noundef @.str.8, i32 noundef 513, ptr noundef %13564, ptr noundef %13567, ptr noundef %13570, i32 noundef %13572) #11
  br label %13591

13574:                                            ; preds = %13552, %13545
  %13575 = load i32, ptr %260, align 4, !tbaa !5
  %13576 = call ptr @__errno_location() #12
  store i32 %13575, ptr %13576, align 4, !tbaa !5
  %13577 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13578 = load i32, ptr @test_count, align 4, !tbaa !5
  %13579 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13580 = load i32, ptr %13579, align 4, !tbaa !5
  %13581 = call ptr @s2n_strerror(i32 noundef %13580, ptr noundef @.str.11)
  %13582 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13583 = load i32, ptr %13582, align 4, !tbaa !5
  %13584 = call ptr @s2n_strerror_debug(i32 noundef %13583, ptr noundef @.str.11)
  %13585 = call ptr @__errno_location() #12
  %13586 = load i32, ptr %13585, align 4, !tbaa !5
  %13587 = call ptr @strerror(i32 noundef %13586) #11
  %13588 = call ptr @__errno_location() #12
  %13589 = load i32, ptr %13588, align 4, !tbaa !5
  %13590 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13577, ptr noundef @.str.12, i32 noundef %13578, ptr noundef @.str.25, ptr noundef @.str.8, i32 noundef 513, ptr noundef %13581, ptr noundef %13584, ptr noundef %13587, i32 noundef %13589) #11
  br label %13591

13591:                                            ; preds = %13574, %13557
  call void @llvm.lifetime.end.p0(i64 4, ptr %260) #11
  br label %13592

13592:                                            ; preds = %13591
  br label %13593

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

13594:                                            ; No predecessors!
  br label %13595

13595:                                            ; preds = %13594
  br label %13596

13596:                                            ; preds = %13595, %13537
  br label %13597

13597:                                            ; preds = %13596
  br label %13598

13598:                                            ; preds = %13597
  call void @llvm.lifetime.end.p0(i64 8, ptr %239) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %261) #11
  %13599 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %13599, ptr %261, align 8, !tbaa !9
  br label %13600

13600:                                            ; preds = %13598
  %13601 = load i32, ptr @test_count, align 4, !tbaa !5
  %13602 = add nsw i32 %13601, 1
  store i32 %13602, ptr @test_count, align 4, !tbaa !5
  %13603 = load ptr, ptr %261, align 8, !tbaa !9
  %13604 = icmp eq ptr %13603, null
  br i1 %13604, label %13605, label %13658

13605:                                            ; preds = %13600
  br label %13606

13606:                                            ; preds = %13605
  br label %13607

13607:                                            ; preds = %13606
  call void @llvm.lifetime.start.p0(i64 4, ptr %262) #11
  %13608 = call ptr @__errno_location() #12
  %13609 = load i32, ptr %13608, align 4, !tbaa !5
  store i32 %13609, ptr %262, align 4, !tbaa !5
  %13610 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13611 = call i32 @s2n_print_stacktrace(ptr noundef %13610)
  %13612 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13613 = trunc i8 %13612 to i1
  br i1 %13613, label %13614, label %13636

13614:                                            ; preds = %13607
  %13615 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13616 = call i32 @fileno(ptr noundef %13615) #11
  %13617 = call i32 @isatty(i32 noundef %13616) #11
  %13618 = icmp ne i32 %13617, 0
  br i1 %13618, label %13619, label %13636

13619:                                            ; preds = %13614
  %13620 = load i32, ptr %262, align 4, !tbaa !5
  %13621 = call ptr @__errno_location() #12
  store i32 %13620, ptr %13621, align 4, !tbaa !5
  %13622 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13623 = load i32, ptr @test_count, align 4, !tbaa !5
  %13624 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13625 = load i32, ptr %13624, align 4, !tbaa !5
  %13626 = call ptr @s2n_strerror(i32 noundef %13625, ptr noundef @.str.11)
  %13627 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13628 = load i32, ptr %13627, align 4, !tbaa !5
  %13629 = call ptr @s2n_strerror_debug(i32 noundef %13628, ptr noundef @.str.11)
  %13630 = call ptr @__errno_location() #12
  %13631 = load i32, ptr %13630, align 4, !tbaa !5
  %13632 = call ptr @strerror(i32 noundef %13631) #11
  %13633 = call ptr @__errno_location() #12
  %13634 = load i32, ptr %13633, align 4, !tbaa !5
  %13635 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13622, ptr noundef @.str.9, i32 noundef %13623, ptr noundef @.str.92, ptr noundef @.str.8, i32 noundef 523, ptr noundef %13626, ptr noundef %13629, ptr noundef %13632, i32 noundef %13634) #11
  br label %13653

13636:                                            ; preds = %13614, %13607
  %13637 = load i32, ptr %262, align 4, !tbaa !5
  %13638 = call ptr @__errno_location() #12
  store i32 %13637, ptr %13638, align 4, !tbaa !5
  %13639 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13640 = load i32, ptr @test_count, align 4, !tbaa !5
  %13641 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13642 = load i32, ptr %13641, align 4, !tbaa !5
  %13643 = call ptr @s2n_strerror(i32 noundef %13642, ptr noundef @.str.11)
  %13644 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13645 = load i32, ptr %13644, align 4, !tbaa !5
  %13646 = call ptr @s2n_strerror_debug(i32 noundef %13645, ptr noundef @.str.11)
  %13647 = call ptr @__errno_location() #12
  %13648 = load i32, ptr %13647, align 4, !tbaa !5
  %13649 = call ptr @strerror(i32 noundef %13648) #11
  %13650 = call ptr @__errno_location() #12
  %13651 = load i32, ptr %13650, align 4, !tbaa !5
  %13652 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13639, ptr noundef @.str.12, i32 noundef %13640, ptr noundef @.str.92, ptr noundef @.str.8, i32 noundef 523, ptr noundef %13643, ptr noundef %13646, ptr noundef %13649, i32 noundef %13651) #11
  br label %13653

13653:                                            ; preds = %13636, %13619
  call void @llvm.lifetime.end.p0(i64 4, ptr %262) #11
  br label %13654

13654:                                            ; preds = %13653
  br label %13655

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

13656:                                            ; No predecessors!
  br label %13657

13657:                                            ; preds = %13656
  br label %13658

13658:                                            ; preds = %13657, %13600
  br label %13659

13659:                                            ; preds = %13658
  br label %13660

13660:                                            ; preds = %13659
  br label %13661

13661:                                            ; preds = %13660
  %13662 = load i32, ptr @test_count, align 4, !tbaa !5
  %13663 = add nsw i32 %13662, 1
  store i32 %13663, ptr @test_count, align 4, !tbaa !5
  %13664 = load ptr, ptr %261, align 8, !tbaa !9
  %13665 = call i32 @s2n_connection_set_fd(ptr noundef %13664, i32 noundef 1)
  %13666 = icmp eq i32 %13665, -1
  br i1 %13666, label %13667, label %13720

13667:                                            ; preds = %13661
  br label %13668

13668:                                            ; preds = %13667
  br label %13669

13669:                                            ; preds = %13668
  call void @llvm.lifetime.start.p0(i64 4, ptr %263) #11
  %13670 = call ptr @__errno_location() #12
  %13671 = load i32, ptr %13670, align 4, !tbaa !5
  store i32 %13671, ptr %263, align 4, !tbaa !5
  %13672 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13673 = call i32 @s2n_print_stacktrace(ptr noundef %13672)
  %13674 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13675 = trunc i8 %13674 to i1
  br i1 %13675, label %13676, label %13698

13676:                                            ; preds = %13669
  %13677 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13678 = call i32 @fileno(ptr noundef %13677) #11
  %13679 = call i32 @isatty(i32 noundef %13678) #11
  %13680 = icmp ne i32 %13679, 0
  br i1 %13680, label %13681, label %13698

13681:                                            ; preds = %13676
  %13682 = load i32, ptr %263, align 4, !tbaa !5
  %13683 = call ptr @__errno_location() #12
  store i32 %13682, ptr %13683, align 4, !tbaa !5
  %13684 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13685 = load i32, ptr @test_count, align 4, !tbaa !5
  %13686 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13687 = load i32, ptr %13686, align 4, !tbaa !5
  %13688 = call ptr @s2n_strerror(i32 noundef %13687, ptr noundef @.str.11)
  %13689 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13690 = load i32, ptr %13689, align 4, !tbaa !5
  %13691 = call ptr @s2n_strerror_debug(i32 noundef %13690, ptr noundef @.str.11)
  %13692 = call ptr @__errno_location() #12
  %13693 = load i32, ptr %13692, align 4, !tbaa !5
  %13694 = call ptr @strerror(i32 noundef %13693) #11
  %13695 = call ptr @__errno_location() #12
  %13696 = load i32, ptr %13695, align 4, !tbaa !5
  %13697 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13684, ptr noundef @.str.9, i32 noundef %13685, ptr noundef @.str.127, ptr noundef @.str.8, i32 noundef 525, ptr noundef %13688, ptr noundef %13691, ptr noundef %13694, i32 noundef %13696) #11
  br label %13715

13698:                                            ; preds = %13676, %13669
  %13699 = load i32, ptr %263, align 4, !tbaa !5
  %13700 = call ptr @__errno_location() #12
  store i32 %13699, ptr %13700, align 4, !tbaa !5
  %13701 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13702 = load i32, ptr @test_count, align 4, !tbaa !5
  %13703 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13704 = load i32, ptr %13703, align 4, !tbaa !5
  %13705 = call ptr @s2n_strerror(i32 noundef %13704, ptr noundef @.str.11)
  %13706 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13707 = load i32, ptr %13706, align 4, !tbaa !5
  %13708 = call ptr @s2n_strerror_debug(i32 noundef %13707, ptr noundef @.str.11)
  %13709 = call ptr @__errno_location() #12
  %13710 = load i32, ptr %13709, align 4, !tbaa !5
  %13711 = call ptr @strerror(i32 noundef %13710) #11
  %13712 = call ptr @__errno_location() #12
  %13713 = load i32, ptr %13712, align 4, !tbaa !5
  %13714 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13701, ptr noundef @.str.12, i32 noundef %13702, ptr noundef @.str.127, ptr noundef @.str.8, i32 noundef 525, ptr noundef %13705, ptr noundef %13708, ptr noundef %13711, i32 noundef %13713) #11
  br label %13715

13715:                                            ; preds = %13698, %13681
  call void @llvm.lifetime.end.p0(i64 4, ptr %263) #11
  br label %13716

13716:                                            ; preds = %13715
  br label %13717

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

13718:                                            ; No predecessors!
  br label %13719

13719:                                            ; preds = %13718
  br label %13720

13720:                                            ; preds = %13719, %13661
  br label %13721

13721:                                            ; preds = %13720
  br label %13722

13722:                                            ; preds = %13721
  br label %13723

13723:                                            ; preds = %13722
  %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 = load ptr, ptr %261, align 8, !tbaa !9
  %13727 = call i32 @s2n_connection_set_fd(ptr noundef %13726, i32 noundef 2)
  %13728 = icmp eq i32 %13727, -1
  br i1 %13728, label %13729, label %13782

13729:                                            ; preds = %13723
  br label %13730

13730:                                            ; preds = %13729
  br label %13731

13731:                                            ; preds = %13730
  call void @llvm.lifetime.start.p0(i64 4, ptr %264) #11
  %13732 = call ptr @__errno_location() #12
  %13733 = load i32, ptr %13732, align 4, !tbaa !5
  store i32 %13733, ptr %264, align 4, !tbaa !5
  %13734 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13735 = call i32 @s2n_print_stacktrace(ptr noundef %13734)
  %13736 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13737 = trunc i8 %13736 to i1
  br i1 %13737, label %13738, label %13760

13738:                                            ; preds = %13731
  %13739 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13740 = call i32 @fileno(ptr noundef %13739) #11
  %13741 = call i32 @isatty(i32 noundef %13740) #11
  %13742 = icmp ne i32 %13741, 0
  br i1 %13742, label %13743, label %13760

13743:                                            ; preds = %13738
  %13744 = load i32, ptr %264, align 4, !tbaa !5
  %13745 = call ptr @__errno_location() #12
  store i32 %13744, ptr %13745, align 4, !tbaa !5
  %13746 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13747 = load i32, ptr @test_count, align 4, !tbaa !5
  %13748 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13749 = load i32, ptr %13748, align 4, !tbaa !5
  %13750 = call ptr @s2n_strerror(i32 noundef %13749, ptr noundef @.str.11)
  %13751 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13752 = load i32, ptr %13751, align 4, !tbaa !5
  %13753 = call ptr @s2n_strerror_debug(i32 noundef %13752, ptr noundef @.str.11)
  %13754 = call ptr @__errno_location() #12
  %13755 = load i32, ptr %13754, align 4, !tbaa !5
  %13756 = call ptr @strerror(i32 noundef %13755) #11
  %13757 = call ptr @__errno_location() #12
  %13758 = load i32, ptr %13757, align 4, !tbaa !5
  %13759 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13746, ptr noundef @.str.9, i32 noundef %13747, ptr noundef @.str.128, ptr noundef @.str.8, i32 noundef 526, ptr noundef %13750, ptr noundef %13753, ptr noundef %13756, i32 noundef %13758) #11
  br label %13777

13760:                                            ; preds = %13738, %13731
  %13761 = load i32, ptr %264, align 4, !tbaa !5
  %13762 = call ptr @__errno_location() #12
  store i32 %13761, ptr %13762, align 4, !tbaa !5
  %13763 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13764 = load i32, ptr @test_count, align 4, !tbaa !5
  %13765 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13766 = load i32, ptr %13765, align 4, !tbaa !5
  %13767 = call ptr @s2n_strerror(i32 noundef %13766, ptr noundef @.str.11)
  %13768 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13769 = load i32, ptr %13768, align 4, !tbaa !5
  %13770 = call ptr @s2n_strerror_debug(i32 noundef %13769, ptr noundef @.str.11)
  %13771 = call ptr @__errno_location() #12
  %13772 = load i32, ptr %13771, align 4, !tbaa !5
  %13773 = call ptr @strerror(i32 noundef %13772) #11
  %13774 = call ptr @__errno_location() #12
  %13775 = load i32, ptr %13774, align 4, !tbaa !5
  %13776 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13763, ptr noundef @.str.12, i32 noundef %13764, ptr noundef @.str.128, ptr noundef @.str.8, i32 noundef 526, ptr noundef %13767, ptr noundef %13770, ptr noundef %13773, i32 noundef %13775) #11
  br label %13777

13777:                                            ; preds = %13760, %13743
  call void @llvm.lifetime.end.p0(i64 4, ptr %264) #11
  br label %13778

13778:                                            ; preds = %13777
  br label %13779

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

13780:                                            ; No predecessors!
  br label %13781

13781:                                            ; preds = %13780
  br label %13782

13782:                                            ; preds = %13781, %13723
  br label %13783

13783:                                            ; preds = %13782
  br label %13784

13784:                                            ; preds = %13783
  br label %13785

13785:                                            ; preds = %13784
  %13786 = load i32, ptr @test_count, align 4, !tbaa !5
  %13787 = add nsw i32 %13786, 1
  store i32 %13787, ptr @test_count, align 4, !tbaa !5
  %13788 = load ptr, ptr %261, align 8, !tbaa !9
  %13789 = call i32 @s2n_connection_get_write_fd(ptr noundef %13788, ptr noundef @main.getWriteFd.126)
  %13790 = icmp eq i32 %13789, -1
  br i1 %13790, label %13791, label %13844

13791:                                            ; preds = %13785
  br label %13792

13792:                                            ; preds = %13791
  br label %13793

13793:                                            ; preds = %13792
  call void @llvm.lifetime.start.p0(i64 4, ptr %265) #11
  %13794 = call ptr @__errno_location() #12
  %13795 = load i32, ptr %13794, align 4, !tbaa !5
  store i32 %13795, ptr %265, align 4, !tbaa !5
  %13796 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13797 = call i32 @s2n_print_stacktrace(ptr noundef %13796)
  %13798 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13799 = trunc i8 %13798 to i1
  br i1 %13799, label %13800, label %13822

13800:                                            ; preds = %13793
  %13801 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13802 = call i32 @fileno(ptr noundef %13801) #11
  %13803 = call i32 @isatty(i32 noundef %13802) #11
  %13804 = icmp ne i32 %13803, 0
  br i1 %13804, label %13805, label %13822

13805:                                            ; preds = %13800
  %13806 = load i32, ptr %265, align 4, !tbaa !5
  %13807 = call ptr @__errno_location() #12
  store i32 %13806, ptr %13807, align 4, !tbaa !5
  %13808 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13809 = load i32, ptr @test_count, align 4, !tbaa !5
  %13810 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13811 = load i32, ptr %13810, align 4, !tbaa !5
  %13812 = call ptr @s2n_strerror(i32 noundef %13811, ptr noundef @.str.11)
  %13813 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13814 = load i32, ptr %13813, align 4, !tbaa !5
  %13815 = call ptr @s2n_strerror_debug(i32 noundef %13814, ptr noundef @.str.11)
  %13816 = call ptr @__errno_location() #12
  %13817 = load i32, ptr %13816, align 4, !tbaa !5
  %13818 = call ptr @strerror(i32 noundef %13817) #11
  %13819 = call ptr @__errno_location() #12
  %13820 = load i32, ptr %13819, align 4, !tbaa !5
  %13821 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13808, ptr noundef @.str.9, i32 noundef %13809, ptr noundef @.str.114, ptr noundef @.str.8, i32 noundef 528, ptr noundef %13812, ptr noundef %13815, ptr noundef %13818, i32 noundef %13820) #11
  br label %13839

13822:                                            ; preds = %13800, %13793
  %13823 = load i32, ptr %265, align 4, !tbaa !5
  %13824 = call ptr @__errno_location() #12
  store i32 %13823, ptr %13824, align 4, !tbaa !5
  %13825 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13826 = load i32, ptr @test_count, align 4, !tbaa !5
  %13827 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13828 = load i32, ptr %13827, align 4, !tbaa !5
  %13829 = call ptr @s2n_strerror(i32 noundef %13828, ptr noundef @.str.11)
  %13830 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13831 = load i32, ptr %13830, align 4, !tbaa !5
  %13832 = call ptr @s2n_strerror_debug(i32 noundef %13831, ptr noundef @.str.11)
  %13833 = call ptr @__errno_location() #12
  %13834 = load i32, ptr %13833, align 4, !tbaa !5
  %13835 = call ptr @strerror(i32 noundef %13834) #11
  %13836 = call ptr @__errno_location() #12
  %13837 = load i32, ptr %13836, align 4, !tbaa !5
  %13838 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13825, ptr noundef @.str.12, i32 noundef %13826, ptr noundef @.str.114, ptr noundef @.str.8, i32 noundef 528, ptr noundef %13829, ptr noundef %13832, ptr noundef %13835, i32 noundef %13837) #11
  br label %13839

13839:                                            ; preds = %13822, %13805
  call void @llvm.lifetime.end.p0(i64 4, ptr %265) #11
  br label %13840

13840:                                            ; preds = %13839
  br label %13841

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

13842:                                            ; No predecessors!
  br label %13843

13843:                                            ; preds = %13842
  br label %13844

13844:                                            ; preds = %13843, %13785
  br label %13845

13845:                                            ; preds = %13844
  br label %13846

13846:                                            ; preds = %13845
  br label %13847

13847:                                            ; preds = %13846
  %13848 = load i32, ptr @test_count, align 4, !tbaa !5
  %13849 = add nsw i32 %13848, 1
  store i32 %13849, ptr @test_count, align 4, !tbaa !5
  %13850 = load ptr, ptr %261, align 8, !tbaa !9
  %13851 = call i32 @s2n_connection_get_read_fd(ptr noundef %13850, ptr noundef @main.getReadFd.125)
  %13852 = icmp eq i32 %13851, -1
  br i1 %13852, label %13853, label %13906

13853:                                            ; preds = %13847
  br label %13854

13854:                                            ; preds = %13853
  br label %13855

13855:                                            ; preds = %13854
  call void @llvm.lifetime.start.p0(i64 4, ptr %266) #11
  %13856 = call ptr @__errno_location() #12
  %13857 = load i32, ptr %13856, align 4, !tbaa !5
  store i32 %13857, ptr %266, align 4, !tbaa !5
  %13858 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13859 = call i32 @s2n_print_stacktrace(ptr noundef %13858)
  %13860 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13861 = trunc i8 %13860 to i1
  br i1 %13861, label %13862, label %13884

13862:                                            ; preds = %13855
  %13863 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13864 = call i32 @fileno(ptr noundef %13863) #11
  %13865 = call i32 @isatty(i32 noundef %13864) #11
  %13866 = icmp ne i32 %13865, 0
  br i1 %13866, label %13867, label %13884

13867:                                            ; preds = %13862
  %13868 = load i32, ptr %266, align 4, !tbaa !5
  %13869 = call ptr @__errno_location() #12
  store i32 %13868, ptr %13869, align 4, !tbaa !5
  %13870 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13871 = load i32, ptr @test_count, align 4, !tbaa !5
  %13872 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13873 = load i32, ptr %13872, align 4, !tbaa !5
  %13874 = call ptr @s2n_strerror(i32 noundef %13873, ptr noundef @.str.11)
  %13875 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13876 = load i32, ptr %13875, align 4, !tbaa !5
  %13877 = call ptr @s2n_strerror_debug(i32 noundef %13876, ptr noundef @.str.11)
  %13878 = call ptr @__errno_location() #12
  %13879 = load i32, ptr %13878, align 4, !tbaa !5
  %13880 = call ptr @strerror(i32 noundef %13879) #11
  %13881 = call ptr @__errno_location() #12
  %13882 = load i32, ptr %13881, align 4, !tbaa !5
  %13883 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13870, ptr noundef @.str.9, i32 noundef %13871, ptr noundef @.str.115, ptr noundef @.str.8, i32 noundef 529, ptr noundef %13874, ptr noundef %13877, ptr noundef %13880, i32 noundef %13882) #11
  br label %13901

13884:                                            ; preds = %13862, %13855
  %13885 = load i32, ptr %266, align 4, !tbaa !5
  %13886 = call ptr @__errno_location() #12
  store i32 %13885, ptr %13886, align 4, !tbaa !5
  %13887 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13888 = load i32, ptr @test_count, align 4, !tbaa !5
  %13889 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13890 = load i32, ptr %13889, align 4, !tbaa !5
  %13891 = call ptr @s2n_strerror(i32 noundef %13890, ptr noundef @.str.11)
  %13892 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13893 = load i32, ptr %13892, align 4, !tbaa !5
  %13894 = call ptr @s2n_strerror_debug(i32 noundef %13893, ptr noundef @.str.11)
  %13895 = call ptr @__errno_location() #12
  %13896 = load i32, ptr %13895, align 4, !tbaa !5
  %13897 = call ptr @strerror(i32 noundef %13896) #11
  %13898 = call ptr @__errno_location() #12
  %13899 = load i32, ptr %13898, align 4, !tbaa !5
  %13900 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13887, ptr noundef @.str.12, i32 noundef %13888, ptr noundef @.str.115, ptr noundef @.str.8, i32 noundef 529, ptr noundef %13891, ptr noundef %13894, ptr noundef %13897, i32 noundef %13899) #11
  br label %13901

13901:                                            ; preds = %13884, %13867
  call void @llvm.lifetime.end.p0(i64 4, ptr %266) #11
  br label %13902

13902:                                            ; preds = %13901
  br label %13903

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

13904:                                            ; No predecessors!
  br label %13905

13905:                                            ; preds = %13904
  br label %13906

13906:                                            ; preds = %13905, %13847
  br label %13907

13907:                                            ; preds = %13906
  br label %13908

13908:                                            ; preds = %13907
  br label %13909

13909:                                            ; preds = %13908
  %13910 = load i32, ptr @test_count, align 4, !tbaa !5
  %13911 = add nsw i32 %13910, 1
  store i32 %13911, ptr @test_count, align 4, !tbaa !5
  %13912 = load i32, ptr @main.getReadFd.125, align 4, !tbaa !5
  %13913 = icmp eq i32 %13912, 2
  br i1 %13913, label %13967, label %13914

13914:                                            ; preds = %13909
  br label %13915

13915:                                            ; preds = %13914
  br label %13916

13916:                                            ; preds = %13915
  call void @llvm.lifetime.start.p0(i64 4, ptr %267) #11
  %13917 = call ptr @__errno_location() #12
  %13918 = load i32, ptr %13917, align 4, !tbaa !5
  store i32 %13918, ptr %267, align 4, !tbaa !5
  %13919 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13920 = call i32 @s2n_print_stacktrace(ptr noundef %13919)
  %13921 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13922 = trunc i8 %13921 to i1
  br i1 %13922, label %13923, label %13945

13923:                                            ; preds = %13916
  %13924 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13925 = call i32 @fileno(ptr noundef %13924) #11
  %13926 = call i32 @isatty(i32 noundef %13925) #11
  %13927 = icmp ne i32 %13926, 0
  br i1 %13927, label %13928, label %13945

13928:                                            ; preds = %13923
  %13929 = load i32, ptr %267, align 4, !tbaa !5
  %13930 = call ptr @__errno_location() #12
  store i32 %13929, ptr %13930, align 4, !tbaa !5
  %13931 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13932 = load i32, ptr @test_count, align 4, !tbaa !5
  %13933 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13934 = load i32, ptr %13933, align 4, !tbaa !5
  %13935 = call ptr @s2n_strerror(i32 noundef %13934, ptr noundef @.str.11)
  %13936 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13937 = load i32, ptr %13936, align 4, !tbaa !5
  %13938 = call ptr @s2n_strerror_debug(i32 noundef %13937, ptr noundef @.str.11)
  %13939 = call ptr @__errno_location() #12
  %13940 = load i32, ptr %13939, align 4, !tbaa !5
  %13941 = call ptr @strerror(i32 noundef %13940) #11
  %13942 = call ptr @__errno_location() #12
  %13943 = load i32, ptr %13942, align 4, !tbaa !5
  %13944 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13931, ptr noundef @.str.9, i32 noundef %13932, ptr noundef @.str.129, ptr noundef @.str.8, i32 noundef 530, ptr noundef %13935, ptr noundef %13938, ptr noundef %13941, i32 noundef %13943) #11
  br label %13962

13945:                                            ; preds = %13923, %13916
  %13946 = load i32, ptr %267, align 4, !tbaa !5
  %13947 = call ptr @__errno_location() #12
  store i32 %13946, ptr %13947, align 4, !tbaa !5
  %13948 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13949 = load i32, ptr @test_count, align 4, !tbaa !5
  %13950 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13951 = load i32, ptr %13950, align 4, !tbaa !5
  %13952 = call ptr @s2n_strerror(i32 noundef %13951, ptr noundef @.str.11)
  %13953 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13954 = load i32, ptr %13953, align 4, !tbaa !5
  %13955 = call ptr @s2n_strerror_debug(i32 noundef %13954, ptr noundef @.str.11)
  %13956 = call ptr @__errno_location() #12
  %13957 = load i32, ptr %13956, align 4, !tbaa !5
  %13958 = call ptr @strerror(i32 noundef %13957) #11
  %13959 = call ptr @__errno_location() #12
  %13960 = load i32, ptr %13959, align 4, !tbaa !5
  %13961 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13948, ptr noundef @.str.12, i32 noundef %13949, ptr noundef @.str.129, ptr noundef @.str.8, i32 noundef 530, ptr noundef %13952, ptr noundef %13955, ptr noundef %13958, i32 noundef %13960) #11
  br label %13962

13962:                                            ; preds = %13945, %13928
  call void @llvm.lifetime.end.p0(i64 4, ptr %267) #11
  br label %13963

13963:                                            ; preds = %13962
  br label %13964

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

13965:                                            ; No predecessors!
  br label %13966

13966:                                            ; preds = %13965
  br label %13967

13967:                                            ; preds = %13966, %13909
  br label %13968

13968:                                            ; preds = %13967
  br label %13969

13969:                                            ; preds = %13968
  br label %13970

13970:                                            ; preds = %13969
  %13971 = load i32, ptr @test_count, align 4, !tbaa !5
  %13972 = add nsw i32 %13971, 1
  store i32 %13972, ptr @test_count, align 4, !tbaa !5
  %13973 = load i32, ptr @main.getWriteFd.126, align 4, !tbaa !5
  %13974 = icmp eq i32 %13973, 2
  br i1 %13974, label %14028, label %13975

13975:                                            ; preds = %13970
  br label %13976

13976:                                            ; preds = %13975
  br label %13977

13977:                                            ; preds = %13976
  call void @llvm.lifetime.start.p0(i64 4, ptr %268) #11
  %13978 = call ptr @__errno_location() #12
  %13979 = load i32, ptr %13978, align 4, !tbaa !5
  store i32 %13979, ptr %268, align 4, !tbaa !5
  %13980 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13981 = call i32 @s2n_print_stacktrace(ptr noundef %13980)
  %13982 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13983 = trunc i8 %13982 to i1
  br i1 %13983, label %13984, label %14006

13984:                                            ; preds = %13977
  %13985 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13986 = call i32 @fileno(ptr noundef %13985) #11
  %13987 = call i32 @isatty(i32 noundef %13986) #11
  %13988 = icmp ne i32 %13987, 0
  br i1 %13988, label %13989, label %14006

13989:                                            ; preds = %13984
  %13990 = load i32, ptr %268, align 4, !tbaa !5
  %13991 = call ptr @__errno_location() #12
  store i32 %13990, ptr %13991, align 4, !tbaa !5
  %13992 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13993 = load i32, ptr @test_count, align 4, !tbaa !5
  %13994 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13995 = load i32, ptr %13994, align 4, !tbaa !5
  %13996 = call ptr @s2n_strerror(i32 noundef %13995, ptr noundef @.str.11)
  %13997 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13998 = load i32, ptr %13997, align 4, !tbaa !5
  %13999 = call ptr @s2n_strerror_debug(i32 noundef %13998, ptr noundef @.str.11)
  %14000 = call ptr @__errno_location() #12
  %14001 = load i32, ptr %14000, align 4, !tbaa !5
  %14002 = call ptr @strerror(i32 noundef %14001) #11
  %14003 = call ptr @__errno_location() #12
  %14004 = load i32, ptr %14003, align 4, !tbaa !5
  %14005 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13992, ptr noundef @.str.9, i32 noundef %13993, ptr noundef @.str.130, ptr noundef @.str.8, i32 noundef 531, ptr noundef %13996, ptr noundef %13999, ptr noundef %14002, i32 noundef %14004) #11
  br label %14023

14006:                                            ; preds = %13984, %13977
  %14007 = load i32, ptr %268, align 4, !tbaa !5
  %14008 = call ptr @__errno_location() #12
  store i32 %14007, ptr %14008, align 4, !tbaa !5
  %14009 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14010 = load i32, ptr @test_count, align 4, !tbaa !5
  %14011 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14012 = load i32, ptr %14011, align 4, !tbaa !5
  %14013 = call ptr @s2n_strerror(i32 noundef %14012, ptr noundef @.str.11)
  %14014 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14015 = load i32, ptr %14014, align 4, !tbaa !5
  %14016 = call ptr @s2n_strerror_debug(i32 noundef %14015, ptr noundef @.str.11)
  %14017 = call ptr @__errno_location() #12
  %14018 = load i32, ptr %14017, align 4, !tbaa !5
  %14019 = call ptr @strerror(i32 noundef %14018) #11
  %14020 = call ptr @__errno_location() #12
  %14021 = load i32, ptr %14020, align 4, !tbaa !5
  %14022 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14009, ptr noundef @.str.12, i32 noundef %14010, ptr noundef @.str.130, ptr noundef @.str.8, i32 noundef 531, ptr noundef %14013, ptr noundef %14016, ptr noundef %14019, i32 noundef %14021) #11
  br label %14023

14023:                                            ; preds = %14006, %13989
  call void @llvm.lifetime.end.p0(i64 4, ptr %268) #11
  br label %14024

14024:                                            ; preds = %14023
  br label %14025

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

14026:                                            ; No predecessors!
  br label %14027

14027:                                            ; preds = %14026
  br label %14028

14028:                                            ; preds = %14027, %13970
  br label %14029

14029:                                            ; preds = %14028
  br label %14030

14030:                                            ; preds = %14029
  br label %14031

14031:                                            ; preds = %14030
  %14032 = load i32, ptr @test_count, align 4, !tbaa !5
  %14033 = add nsw i32 %14032, 1
  store i32 %14033, ptr @test_count, align 4, !tbaa !5
  %14034 = load ptr, ptr %261, align 8, !tbaa !9
  %14035 = call i32 @s2n_connection_free(ptr noundef %14034)
  %14036 = icmp eq i32 %14035, -1
  br i1 %14036, label %14037, label %14090

14037:                                            ; preds = %14031
  br label %14038

14038:                                            ; preds = %14037
  br label %14039

14039:                                            ; preds = %14038
  call void @llvm.lifetime.start.p0(i64 4, ptr %269) #11
  %14040 = call ptr @__errno_location() #12
  %14041 = load i32, ptr %14040, align 4, !tbaa !5
  store i32 %14041, ptr %269, align 4, !tbaa !5
  %14042 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14043 = call i32 @s2n_print_stacktrace(ptr noundef %14042)
  %14044 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14045 = trunc i8 %14044 to i1
  br i1 %14045, label %14046, label %14068

14046:                                            ; preds = %14039
  %14047 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14048 = call i32 @fileno(ptr noundef %14047) #11
  %14049 = call i32 @isatty(i32 noundef %14048) #11
  %14050 = icmp ne i32 %14049, 0
  br i1 %14050, label %14051, label %14068

14051:                                            ; preds = %14046
  %14052 = load i32, ptr %269, align 4, !tbaa !5
  %14053 = call ptr @__errno_location() #12
  store i32 %14052, ptr %14053, align 4, !tbaa !5
  %14054 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14055 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %14057, ptr noundef @.str.11)
  %14059 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14060 = load i32, ptr %14059, align 4, !tbaa !5
  %14061 = call ptr @s2n_strerror_debug(i32 noundef %14060, ptr noundef @.str.11)
  %14062 = call ptr @__errno_location() #12
  %14063 = load i32, ptr %14062, align 4, !tbaa !5
  %14064 = call ptr @strerror(i32 noundef %14063) #11
  %14065 = call ptr @__errno_location() #12
  %14066 = load i32, ptr %14065, align 4, !tbaa !5
  %14067 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14054, ptr noundef @.str.9, i32 noundef %14055, ptr noundef @.str.25, ptr noundef @.str.8, i32 noundef 533, ptr noundef %14058, ptr noundef %14061, ptr noundef %14064, i32 noundef %14066) #11
  br label %14085

14068:                                            ; preds = %14046, %14039
  %14069 = load i32, ptr %269, align 4, !tbaa !5
  %14070 = call ptr @__errno_location() #12
  store i32 %14069, ptr %14070, align 4, !tbaa !5
  %14071 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14072 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %14074, ptr noundef @.str.11)
  %14076 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14077 = load i32, ptr %14076, align 4, !tbaa !5
  %14078 = call ptr @s2n_strerror_debug(i32 noundef %14077, ptr noundef @.str.11)
  %14079 = call ptr @__errno_location() #12
  %14080 = load i32, ptr %14079, align 4, !tbaa !5
  %14081 = call ptr @strerror(i32 noundef %14080) #11
  %14082 = call ptr @__errno_location() #12
  %14083 = load i32, ptr %14082, align 4, !tbaa !5
  %14084 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14071, ptr noundef @.str.12, i32 noundef %14072, ptr noundef @.str.25, ptr noundef @.str.8, i32 noundef 533, ptr noundef %14075, ptr noundef %14078, ptr noundef %14081, i32 noundef %14083) #11
  br label %14085

14085:                                            ; preds = %14068, %14051
  call void @llvm.lifetime.end.p0(i64 4, ptr %269) #11
  br label %14086

14086:                                            ; preds = %14085
  br label %14087

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

14088:                                            ; No predecessors!
  br label %14089

14089:                                            ; preds = %14088
  br label %14090

14090:                                            ; preds = %14089, %14031
  br label %14091

14091:                                            ; preds = %14090
  br label %14092

14092:                                            ; preds = %14091
  call void @llvm.lifetime.end.p0(i64 8, ptr %261) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %270) #11
  %14093 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %14093, ptr %270, align 8, !tbaa !9
  br label %14094

14094:                                            ; preds = %14092
  %14095 = load i32, ptr @test_count, align 4, !tbaa !5
  %14096 = add nsw i32 %14095, 1
  store i32 %14096, ptr @test_count, align 4, !tbaa !5
  %14097 = load ptr, ptr %270, align 8, !tbaa !9
  %14098 = icmp eq ptr %14097, null
  br i1 %14098, label %14099, label %14152

14099:                                            ; preds = %14094
  br label %14100

14100:                                            ; preds = %14099
  br label %14101

14101:                                            ; preds = %14100
  call void @llvm.lifetime.start.p0(i64 4, ptr %271) #11
  %14102 = call ptr @__errno_location() #12
  %14103 = load i32, ptr %14102, align 4, !tbaa !5
  store i32 %14103, ptr %271, align 4, !tbaa !5
  %14104 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14105 = call i32 @s2n_print_stacktrace(ptr noundef %14104)
  %14106 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14107 = trunc i8 %14106 to i1
  br i1 %14107, label %14108, label %14130

14108:                                            ; preds = %14101
  %14109 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14110 = call i32 @fileno(ptr noundef %14109) #11
  %14111 = call i32 @isatty(i32 noundef %14110) #11
  %14112 = icmp ne i32 %14111, 0
  br i1 %14112, label %14113, label %14130

14113:                                            ; preds = %14108
  %14114 = load i32, ptr %271, align 4, !tbaa !5
  %14115 = call ptr @__errno_location() #12
  store i32 %14114, ptr %14115, align 4, !tbaa !5
  %14116 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14117 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %14119, ptr noundef @.str.11)
  %14121 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14122 = load i32, ptr %14121, align 4, !tbaa !5
  %14123 = call ptr @s2n_strerror_debug(i32 noundef %14122, ptr noundef @.str.11)
  %14124 = call ptr @__errno_location() #12
  %14125 = load i32, ptr %14124, align 4, !tbaa !5
  %14126 = call ptr @strerror(i32 noundef %14125) #11
  %14127 = call ptr @__errno_location() #12
  %14128 = load i32, ptr %14127, align 4, !tbaa !5
  %14129 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14116, ptr noundef @.str.9, i32 noundef %14117, ptr noundef @.str.92, ptr noundef @.str.8, i32 noundef 544, ptr noundef %14120, ptr noundef %14123, ptr noundef %14126, i32 noundef %14128) #11
  br label %14147

14130:                                            ; preds = %14108, %14101
  %14131 = load i32, ptr %271, align 4, !tbaa !5
  %14132 = call ptr @__errno_location() #12
  store i32 %14131, ptr %14132, align 4, !tbaa !5
  %14133 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14134 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %14136, ptr noundef @.str.11)
  %14138 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14139 = load i32, ptr %14138, align 4, !tbaa !5
  %14140 = call ptr @s2n_strerror_debug(i32 noundef %14139, ptr noundef @.str.11)
  %14141 = call ptr @__errno_location() #12
  %14142 = load i32, ptr %14141, align 4, !tbaa !5
  %14143 = call ptr @strerror(i32 noundef %14142) #11
  %14144 = call ptr @__errno_location() #12
  %14145 = load i32, ptr %14144, align 4, !tbaa !5
  %14146 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14133, ptr noundef @.str.12, i32 noundef %14134, ptr noundef @.str.92, ptr noundef @.str.8, i32 noundef 544, ptr noundef %14137, ptr noundef %14140, ptr noundef %14143, i32 noundef %14145) #11
  br label %14147

14147:                                            ; preds = %14130, %14113
  call void @llvm.lifetime.end.p0(i64 4, ptr %271) #11
  br label %14148

14148:                                            ; preds = %14147
  br label %14149

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

14150:                                            ; No predecessors!
  br label %14151

14151:                                            ; preds = %14150
  br label %14152

14152:                                            ; preds = %14151, %14094
  br label %14153

14153:                                            ; preds = %14152
  br label %14154

14154:                                            ; preds = %14153
  br label %14155

14155:                                            ; preds = %14154
  %14156 = load i32, ptr @test_count, align 4, !tbaa !5
  %14157 = add nsw i32 %14156, 1
  store i32 %14157, ptr @test_count, align 4, !tbaa !5
  %14158 = load ptr, ptr %270, align 8, !tbaa !9
  %14159 = call i32 @s2n_connection_set_fd(ptr noundef %14158, i32 noundef 1)
  %14160 = icmp eq i32 %14159, -1
  br i1 %14160, label %14161, label %14214

14161:                                            ; preds = %14155
  br label %14162

14162:                                            ; preds = %14161
  br label %14163

14163:                                            ; preds = %14162
  call void @llvm.lifetime.start.p0(i64 4, ptr %272) #11
  %14164 = call ptr @__errno_location() #12
  %14165 = load i32, ptr %14164, align 4, !tbaa !5
  store i32 %14165, ptr %272, align 4, !tbaa !5
  %14166 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14167 = call i32 @s2n_print_stacktrace(ptr noundef %14166)
  %14168 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14169 = trunc i8 %14168 to i1
  br i1 %14169, label %14170, label %14192

14170:                                            ; preds = %14163
  %14171 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14172 = call i32 @fileno(ptr noundef %14171) #11
  %14173 = call i32 @isatty(i32 noundef %14172) #11
  %14174 = icmp ne i32 %14173, 0
  br i1 %14174, label %14175, label %14192

14175:                                            ; preds = %14170
  %14176 = load i32, ptr %272, align 4, !tbaa !5
  %14177 = call ptr @__errno_location() #12
  store i32 %14176, ptr %14177, align 4, !tbaa !5
  %14178 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14179 = load i32, ptr @test_count, align 4, !tbaa !5
  %14180 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14181 = load i32, ptr %14180, align 4, !tbaa !5
  %14182 = call ptr @s2n_strerror(i32 noundef %14181, ptr noundef @.str.11)
  %14183 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14184 = load i32, ptr %14183, align 4, !tbaa !5
  %14185 = call ptr @s2n_strerror_debug(i32 noundef %14184, ptr noundef @.str.11)
  %14186 = call ptr @__errno_location() #12
  %14187 = load i32, ptr %14186, align 4, !tbaa !5
  %14188 = call ptr @strerror(i32 noundef %14187) #11
  %14189 = call ptr @__errno_location() #12
  %14190 = load i32, ptr %14189, align 4, !tbaa !5
  %14191 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14178, ptr noundef @.str.9, i32 noundef %14179, ptr noundef @.str.127, ptr noundef @.str.8, i32 noundef 546, ptr noundef %14182, ptr noundef %14185, ptr noundef %14188, i32 noundef %14190) #11
  br label %14209

14192:                                            ; preds = %14170, %14163
  %14193 = load i32, ptr %272, align 4, !tbaa !5
  %14194 = call ptr @__errno_location() #12
  store i32 %14193, ptr %14194, align 4, !tbaa !5
  %14195 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14196 = load i32, ptr @test_count, align 4, !tbaa !5
  %14197 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14198 = load i32, ptr %14197, align 4, !tbaa !5
  %14199 = call ptr @s2n_strerror(i32 noundef %14198, ptr noundef @.str.11)
  %14200 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14201 = load i32, ptr %14200, align 4, !tbaa !5
  %14202 = call ptr @s2n_strerror_debug(i32 noundef %14201, ptr noundef @.str.11)
  %14203 = call ptr @__errno_location() #12
  %14204 = load i32, ptr %14203, align 4, !tbaa !5
  %14205 = call ptr @strerror(i32 noundef %14204) #11
  %14206 = call ptr @__errno_location() #12
  %14207 = load i32, ptr %14206, align 4, !tbaa !5
  %14208 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14195, ptr noundef @.str.12, i32 noundef %14196, ptr noundef @.str.127, ptr noundef @.str.8, i32 noundef 546, ptr noundef %14199, ptr noundef %14202, ptr noundef %14205, i32 noundef %14207) #11
  br label %14209

14209:                                            ; preds = %14192, %14175
  call void @llvm.lifetime.end.p0(i64 4, ptr %272) #11
  br label %14210

14210:                                            ; preds = %14209
  br label %14211

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

14212:                                            ; No predecessors!
  br label %14213

14213:                                            ; preds = %14212
  br label %14214

14214:                                            ; preds = %14213, %14155
  br label %14215

14215:                                            ; preds = %14214
  br label %14216

14216:                                            ; preds = %14215
  br label %14217

14217:                                            ; preds = %14216
  %14218 = load i32, ptr @test_count, align 4, !tbaa !5
  %14219 = add nsw i32 %14218, 1
  store i32 %14219, ptr @test_count, align 4, !tbaa !5
  %14220 = load ptr, ptr %270, align 8, !tbaa !9
  %14221 = call i32 @s2n_connection_set_read_fd(ptr noundef %14220, i32 noundef 2)
  %14222 = icmp eq i32 %14221, -1
  br i1 %14222, label %14223, label %14276

14223:                                            ; preds = %14217
  br label %14224

14224:                                            ; preds = %14223
  br label %14225

14225:                                            ; preds = %14224
  call void @llvm.lifetime.start.p0(i64 4, ptr %273) #11
  %14226 = call ptr @__errno_location() #12
  %14227 = load i32, ptr %14226, align 4, !tbaa !5
  store i32 %14227, ptr %273, align 4, !tbaa !5
  %14228 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14229 = call i32 @s2n_print_stacktrace(ptr noundef %14228)
  %14230 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14231 = trunc i8 %14230 to i1
  br i1 %14231, label %14232, label %14254

14232:                                            ; preds = %14225
  %14233 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14234 = call i32 @fileno(ptr noundef %14233) #11
  %14235 = call i32 @isatty(i32 noundef %14234) #11
  %14236 = icmp ne i32 %14235, 0
  br i1 %14236, label %14237, label %14254

14237:                                            ; preds = %14232
  %14238 = load i32, ptr %273, align 4, !tbaa !5
  %14239 = call ptr @__errno_location() #12
  store i32 %14238, ptr %14239, align 4, !tbaa !5
  %14240 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14241 = load i32, ptr @test_count, align 4, !tbaa !5
  %14242 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14243 = load i32, ptr %14242, align 4, !tbaa !5
  %14244 = call ptr @s2n_strerror(i32 noundef %14243, ptr noundef @.str.11)
  %14245 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14246 = load i32, ptr %14245, align 4, !tbaa !5
  %14247 = call ptr @s2n_strerror_debug(i32 noundef %14246, ptr noundef @.str.11)
  %14248 = call ptr @__errno_location() #12
  %14249 = load i32, ptr %14248, align 4, !tbaa !5
  %14250 = call ptr @strerror(i32 noundef %14249) #11
  %14251 = call ptr @__errno_location() #12
  %14252 = load i32, ptr %14251, align 4, !tbaa !5
  %14253 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14240, ptr noundef @.str.9, i32 noundef %14241, ptr noundef @.str.135, ptr noundef @.str.8, i32 noundef 547, ptr noundef %14244, ptr noundef %14247, ptr noundef %14250, i32 noundef %14252) #11
  br label %14271

14254:                                            ; preds = %14232, %14225
  %14255 = load i32, ptr %273, align 4, !tbaa !5
  %14256 = call ptr @__errno_location() #12
  store i32 %14255, ptr %14256, align 4, !tbaa !5
  %14257 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14258 = load i32, ptr @test_count, align 4, !tbaa !5
  %14259 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14260 = load i32, ptr %14259, align 4, !tbaa !5
  %14261 = call ptr @s2n_strerror(i32 noundef %14260, ptr noundef @.str.11)
  %14262 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14263 = load i32, ptr %14262, align 4, !tbaa !5
  %14264 = call ptr @s2n_strerror_debug(i32 noundef %14263, ptr noundef @.str.11)
  %14265 = call ptr @__errno_location() #12
  %14266 = load i32, ptr %14265, align 4, !tbaa !5
  %14267 = call ptr @strerror(i32 noundef %14266) #11
  %14268 = call ptr @__errno_location() #12
  %14269 = load i32, ptr %14268, align 4, !tbaa !5
  %14270 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14257, ptr noundef @.str.12, i32 noundef %14258, ptr noundef @.str.135, ptr noundef @.str.8, i32 noundef 547, ptr noundef %14261, ptr noundef %14264, ptr noundef %14267, i32 noundef %14269) #11
  br label %14271

14271:                                            ; preds = %14254, %14237
  call void @llvm.lifetime.end.p0(i64 4, ptr %273) #11
  br label %14272

14272:                                            ; preds = %14271
  br label %14273

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

14274:                                            ; No predecessors!
  br label %14275

14275:                                            ; preds = %14274
  br label %14276

14276:                                            ; preds = %14275, %14217
  br label %14277

14277:                                            ; preds = %14276
  br label %14278

14278:                                            ; preds = %14277
  br label %14279

14279:                                            ; preds = %14278
  %14280 = load i32, ptr @test_count, align 4, !tbaa !5
  %14281 = add nsw i32 %14280, 1
  store i32 %14281, ptr @test_count, align 4, !tbaa !5
  %14282 = load ptr, ptr %270, align 8, !tbaa !9
  %14283 = call i32 @s2n_connection_set_write_fd(ptr noundef %14282, i32 noundef 2)
  %14284 = icmp eq i32 %14283, -1
  br i1 %14284, label %14285, label %14338

14285:                                            ; preds = %14279
  br label %14286

14286:                                            ; preds = %14285
  br label %14287

14287:                                            ; preds = %14286
  call void @llvm.lifetime.start.p0(i64 4, ptr %274) #11
  %14288 = call ptr @__errno_location() #12
  %14289 = load i32, ptr %14288, align 4, !tbaa !5
  store i32 %14289, ptr %274, align 4, !tbaa !5
  %14290 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14291 = call i32 @s2n_print_stacktrace(ptr noundef %14290)
  %14292 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14293 = trunc i8 %14292 to i1
  br i1 %14293, label %14294, label %14316

14294:                                            ; preds = %14287
  %14295 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14296 = call i32 @fileno(ptr noundef %14295) #11
  %14297 = call i32 @isatty(i32 noundef %14296) #11
  %14298 = icmp ne i32 %14297, 0
  br i1 %14298, label %14299, label %14316

14299:                                            ; preds = %14294
  %14300 = load i32, ptr %274, align 4, !tbaa !5
  %14301 = call ptr @__errno_location() #12
  store i32 %14300, ptr %14301, align 4, !tbaa !5
  %14302 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14303 = load i32, ptr @test_count, align 4, !tbaa !5
  %14304 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14305 = load i32, ptr %14304, align 4, !tbaa !5
  %14306 = call ptr @s2n_strerror(i32 noundef %14305, ptr noundef @.str.11)
  %14307 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14308 = load i32, ptr %14307, align 4, !tbaa !5
  %14309 = call ptr @s2n_strerror_debug(i32 noundef %14308, ptr noundef @.str.11)
  %14310 = call ptr @__errno_location() #12
  %14311 = load i32, ptr %14310, align 4, !tbaa !5
  %14312 = call ptr @strerror(i32 noundef %14311) #11
  %14313 = call ptr @__errno_location() #12
  %14314 = load i32, ptr %14313, align 4, !tbaa !5
  %14315 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14302, ptr noundef @.str.9, i32 noundef %14303, ptr noundef @.str.136, ptr noundef @.str.8, i32 noundef 548, ptr noundef %14306, ptr noundef %14309, ptr noundef %14312, i32 noundef %14314) #11
  br label %14333

14316:                                            ; preds = %14294, %14287
  %14317 = load i32, ptr %274, align 4, !tbaa !5
  %14318 = call ptr @__errno_location() #12
  store i32 %14317, ptr %14318, align 4, !tbaa !5
  %14319 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14320 = load i32, ptr @test_count, align 4, !tbaa !5
  %14321 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14322 = load i32, ptr %14321, align 4, !tbaa !5
  %14323 = call ptr @s2n_strerror(i32 noundef %14322, ptr noundef @.str.11)
  %14324 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14325 = load i32, ptr %14324, align 4, !tbaa !5
  %14326 = call ptr @s2n_strerror_debug(i32 noundef %14325, ptr noundef @.str.11)
  %14327 = call ptr @__errno_location() #12
  %14328 = load i32, ptr %14327, align 4, !tbaa !5
  %14329 = call ptr @strerror(i32 noundef %14328) #11
  %14330 = call ptr @__errno_location() #12
  %14331 = load i32, ptr %14330, align 4, !tbaa !5
  %14332 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14319, ptr noundef @.str.12, i32 noundef %14320, ptr noundef @.str.136, ptr noundef @.str.8, i32 noundef 548, ptr noundef %14323, ptr noundef %14326, ptr noundef %14329, i32 noundef %14331) #11
  br label %14333

14333:                                            ; preds = %14316, %14299
  call void @llvm.lifetime.end.p0(i64 4, ptr %274) #11
  br label %14334

14334:                                            ; preds = %14333
  br label %14335

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

14336:                                            ; No predecessors!
  br label %14337

14337:                                            ; preds = %14336
  br label %14338

14338:                                            ; preds = %14337, %14279
  br label %14339

14339:                                            ; preds = %14338
  br label %14340

14340:                                            ; preds = %14339
  br label %14341

14341:                                            ; preds = %14340
  %14342 = load i32, ptr @test_count, align 4, !tbaa !5
  %14343 = add nsw i32 %14342, 1
  store i32 %14343, ptr @test_count, align 4, !tbaa !5
  %14344 = load ptr, ptr %270, align 8, !tbaa !9
  %14345 = call i32 @s2n_connection_get_write_fd(ptr noundef %14344, ptr noundef @main.getWriteFd.134)
  %14346 = icmp eq i32 %14345, -1
  br i1 %14346, label %14347, label %14400

14347:                                            ; preds = %14341
  br label %14348

14348:                                            ; preds = %14347
  br label %14349

14349:                                            ; preds = %14348
  call void @llvm.lifetime.start.p0(i64 4, ptr %275) #11
  %14350 = call ptr @__errno_location() #12
  %14351 = load i32, ptr %14350, align 4, !tbaa !5
  store i32 %14351, ptr %275, align 4, !tbaa !5
  %14352 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14353 = call i32 @s2n_print_stacktrace(ptr noundef %14352)
  %14354 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14355 = trunc i8 %14354 to i1
  br i1 %14355, label %14356, label %14378

14356:                                            ; preds = %14349
  %14357 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14358 = call i32 @fileno(ptr noundef %14357) #11
  %14359 = call i32 @isatty(i32 noundef %14358) #11
  %14360 = icmp ne i32 %14359, 0
  br i1 %14360, label %14361, label %14378

14361:                                            ; preds = %14356
  %14362 = load i32, ptr %275, align 4, !tbaa !5
  %14363 = call ptr @__errno_location() #12
  store i32 %14362, ptr %14363, align 4, !tbaa !5
  %14364 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14365 = load i32, ptr @test_count, align 4, !tbaa !5
  %14366 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14367 = load i32, ptr %14366, align 4, !tbaa !5
  %14368 = call ptr @s2n_strerror(i32 noundef %14367, ptr noundef @.str.11)
  %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_debug(i32 noundef %14370, ptr noundef @.str.11)
  %14372 = call ptr @__errno_location() #12
  %14373 = load i32, ptr %14372, align 4, !tbaa !5
  %14374 = call ptr @strerror(i32 noundef %14373) #11
  %14375 = call ptr @__errno_location() #12
  %14376 = load i32, ptr %14375, align 4, !tbaa !5
  %14377 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14364, ptr noundef @.str.9, i32 noundef %14365, ptr noundef @.str.114, ptr noundef @.str.8, i32 noundef 550, ptr noundef %14368, ptr noundef %14371, ptr noundef %14374, i32 noundef %14376) #11
  br label %14395

14378:                                            ; preds = %14356, %14349
  %14379 = load i32, ptr %275, align 4, !tbaa !5
  %14380 = call ptr @__errno_location() #12
  store i32 %14379, ptr %14380, align 4, !tbaa !5
  %14381 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14382 = load i32, ptr @test_count, align 4, !tbaa !5
  %14383 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14384 = load i32, ptr %14383, align 4, !tbaa !5
  %14385 = call ptr @s2n_strerror(i32 noundef %14384, ptr noundef @.str.11)
  %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_debug(i32 noundef %14387, ptr noundef @.str.11)
  %14389 = call ptr @__errno_location() #12
  %14390 = load i32, ptr %14389, align 4, !tbaa !5
  %14391 = call ptr @strerror(i32 noundef %14390) #11
  %14392 = call ptr @__errno_location() #12
  %14393 = load i32, ptr %14392, align 4, !tbaa !5
  %14394 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14381, ptr noundef @.str.12, i32 noundef %14382, ptr noundef @.str.114, ptr noundef @.str.8, i32 noundef 550, ptr noundef %14385, ptr noundef %14388, ptr noundef %14391, i32 noundef %14393) #11
  br label %14395

14395:                                            ; preds = %14378, %14361
  call void @llvm.lifetime.end.p0(i64 4, ptr %275) #11
  br label %14396

14396:                                            ; preds = %14395
  br label %14397

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

14398:                                            ; No predecessors!
  br label %14399

14399:                                            ; preds = %14398
  br label %14400

14400:                                            ; preds = %14399, %14341
  br label %14401

14401:                                            ; preds = %14400
  br label %14402

14402:                                            ; preds = %14401
  br label %14403

14403:                                            ; preds = %14402
  %14404 = load i32, ptr @test_count, align 4, !tbaa !5
  %14405 = add nsw i32 %14404, 1
  store i32 %14405, ptr @test_count, align 4, !tbaa !5
  %14406 = load ptr, ptr %270, align 8, !tbaa !9
  %14407 = call i32 @s2n_connection_get_read_fd(ptr noundef %14406, ptr noundef @main.getReadFd.133)
  %14408 = icmp eq i32 %14407, -1
  br i1 %14408, label %14409, label %14462

14409:                                            ; preds = %14403
  br label %14410

14410:                                            ; preds = %14409
  br label %14411

14411:                                            ; preds = %14410
  call void @llvm.lifetime.start.p0(i64 4, ptr %276) #11
  %14412 = call ptr @__errno_location() #12
  %14413 = load i32, ptr %14412, align 4, !tbaa !5
  store i32 %14413, ptr %276, align 4, !tbaa !5
  %14414 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14415 = call i32 @s2n_print_stacktrace(ptr noundef %14414)
  %14416 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14417 = trunc i8 %14416 to i1
  br i1 %14417, label %14418, label %14440

14418:                                            ; preds = %14411
  %14419 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14420 = call i32 @fileno(ptr noundef %14419) #11
  %14421 = call i32 @isatty(i32 noundef %14420) #11
  %14422 = icmp ne i32 %14421, 0
  br i1 %14422, label %14423, label %14440

14423:                                            ; preds = %14418
  %14424 = load i32, ptr %276, align 4, !tbaa !5
  %14425 = call ptr @__errno_location() #12
  store i32 %14424, ptr %14425, align 4, !tbaa !5
  %14426 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14427 = load i32, ptr @test_count, align 4, !tbaa !5
  %14428 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14429 = load i32, ptr %14428, align 4, !tbaa !5
  %14430 = call ptr @s2n_strerror(i32 noundef %14429, ptr noundef @.str.11)
  %14431 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14432 = load i32, ptr %14431, align 4, !tbaa !5
  %14433 = call ptr @s2n_strerror_debug(i32 noundef %14432, ptr noundef @.str.11)
  %14434 = call ptr @__errno_location() #12
  %14435 = load i32, ptr %14434, align 4, !tbaa !5
  %14436 = call ptr @strerror(i32 noundef %14435) #11
  %14437 = call ptr @__errno_location() #12
  %14438 = load i32, ptr %14437, align 4, !tbaa !5
  %14439 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14426, ptr noundef @.str.9, i32 noundef %14427, ptr noundef @.str.115, ptr noundef @.str.8, i32 noundef 551, ptr noundef %14430, ptr noundef %14433, ptr noundef %14436, i32 noundef %14438) #11
  br label %14457

14440:                                            ; preds = %14418, %14411
  %14441 = load i32, ptr %276, align 4, !tbaa !5
  %14442 = call ptr @__errno_location() #12
  store i32 %14441, ptr %14442, align 4, !tbaa !5
  %14443 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14444 = load i32, ptr @test_count, align 4, !tbaa !5
  %14445 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14446 = load i32, ptr %14445, align 4, !tbaa !5
  %14447 = call ptr @s2n_strerror(i32 noundef %14446, ptr noundef @.str.11)
  %14448 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14449 = load i32, ptr %14448, align 4, !tbaa !5
  %14450 = call ptr @s2n_strerror_debug(i32 noundef %14449, ptr noundef @.str.11)
  %14451 = call ptr @__errno_location() #12
  %14452 = load i32, ptr %14451, align 4, !tbaa !5
  %14453 = call ptr @strerror(i32 noundef %14452) #11
  %14454 = call ptr @__errno_location() #12
  %14455 = load i32, ptr %14454, align 4, !tbaa !5
  %14456 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14443, ptr noundef @.str.12, i32 noundef %14444, ptr noundef @.str.115, ptr noundef @.str.8, i32 noundef 551, ptr noundef %14447, ptr noundef %14450, ptr noundef %14453, i32 noundef %14455) #11
  br label %14457

14457:                                            ; preds = %14440, %14423
  call void @llvm.lifetime.end.p0(i64 4, ptr %276) #11
  br label %14458

14458:                                            ; preds = %14457
  br label %14459

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

14460:                                            ; No predecessors!
  br label %14461

14461:                                            ; preds = %14460
  br label %14462

14462:                                            ; preds = %14461, %14403
  br label %14463

14463:                                            ; preds = %14462
  br label %14464

14464:                                            ; preds = %14463
  br label %14465

14465:                                            ; preds = %14464
  %14466 = load i32, ptr @test_count, align 4, !tbaa !5
  %14467 = add nsw i32 %14466, 1
  store i32 %14467, ptr @test_count, align 4, !tbaa !5
  %14468 = load i32, ptr @main.getReadFd.133, align 4, !tbaa !5
  %14469 = icmp eq i32 %14468, 2
  br i1 %14469, label %14523, label %14470

14470:                                            ; preds = %14465
  br label %14471

14471:                                            ; preds = %14470
  br label %14472

14472:                                            ; preds = %14471
  call void @llvm.lifetime.start.p0(i64 4, ptr %277) #11
  %14473 = call ptr @__errno_location() #12
  %14474 = load i32, ptr %14473, align 4, !tbaa !5
  store i32 %14474, ptr %277, align 4, !tbaa !5
  %14475 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14476 = call i32 @s2n_print_stacktrace(ptr noundef %14475)
  %14477 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14478 = trunc i8 %14477 to i1
  br i1 %14478, label %14479, label %14501

14479:                                            ; preds = %14472
  %14480 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14481 = call i32 @fileno(ptr noundef %14480) #11
  %14482 = call i32 @isatty(i32 noundef %14481) #11
  %14483 = icmp ne i32 %14482, 0
  br i1 %14483, label %14484, label %14501

14484:                                            ; preds = %14479
  %14485 = load i32, ptr %277, align 4, !tbaa !5
  %14486 = call ptr @__errno_location() #12
  store i32 %14485, ptr %14486, align 4, !tbaa !5
  %14487 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14488 = load i32, ptr @test_count, align 4, !tbaa !5
  %14489 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14490 = load i32, ptr %14489, align 4, !tbaa !5
  %14491 = call ptr @s2n_strerror(i32 noundef %14490, ptr noundef @.str.11)
  %14492 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14493 = load i32, ptr %14492, align 4, !tbaa !5
  %14494 = call ptr @s2n_strerror_debug(i32 noundef %14493, ptr noundef @.str.11)
  %14495 = call ptr @__errno_location() #12
  %14496 = load i32, ptr %14495, align 4, !tbaa !5
  %14497 = call ptr @strerror(i32 noundef %14496) #11
  %14498 = call ptr @__errno_location() #12
  %14499 = load i32, ptr %14498, align 4, !tbaa !5
  %14500 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14487, ptr noundef @.str.9, i32 noundef %14488, ptr noundef @.str.129, ptr noundef @.str.8, i32 noundef 552, ptr noundef %14491, ptr noundef %14494, ptr noundef %14497, i32 noundef %14499) #11
  br label %14518

14501:                                            ; preds = %14479, %14472
  %14502 = load i32, ptr %277, align 4, !tbaa !5
  %14503 = call ptr @__errno_location() #12
  store i32 %14502, ptr %14503, align 4, !tbaa !5
  %14504 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14505 = load i32, ptr @test_count, align 4, !tbaa !5
  %14506 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14507 = load i32, ptr %14506, align 4, !tbaa !5
  %14508 = call ptr @s2n_strerror(i32 noundef %14507, ptr noundef @.str.11)
  %14509 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14510 = load i32, ptr %14509, align 4, !tbaa !5
  %14511 = call ptr @s2n_strerror_debug(i32 noundef %14510, ptr noundef @.str.11)
  %14512 = call ptr @__errno_location() #12
  %14513 = load i32, ptr %14512, align 4, !tbaa !5
  %14514 = call ptr @strerror(i32 noundef %14513) #11
  %14515 = call ptr @__errno_location() #12
  %14516 = load i32, ptr %14515, align 4, !tbaa !5
  %14517 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14504, ptr noundef @.str.12, i32 noundef %14505, ptr noundef @.str.129, ptr noundef @.str.8, i32 noundef 552, ptr noundef %14508, ptr noundef %14511, ptr noundef %14514, i32 noundef %14516) #11
  br label %14518

14518:                                            ; preds = %14501, %14484
  call void @llvm.lifetime.end.p0(i64 4, ptr %277) #11
  br label %14519

14519:                                            ; preds = %14518
  br label %14520

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

14521:                                            ; No predecessors!
  br label %14522

14522:                                            ; preds = %14521
  br label %14523

14523:                                            ; preds = %14522, %14465
  br label %14524

14524:                                            ; preds = %14523
  br label %14525

14525:                                            ; preds = %14524
  br label %14526

14526:                                            ; preds = %14525
  %14527 = load i32, ptr @test_count, align 4, !tbaa !5
  %14528 = add nsw i32 %14527, 1
  store i32 %14528, ptr @test_count, align 4, !tbaa !5
  %14529 = load i32, ptr @main.getWriteFd.134, align 4, !tbaa !5
  %14530 = icmp eq i32 %14529, 2
  br i1 %14530, label %14584, label %14531

14531:                                            ; preds = %14526
  br label %14532

14532:                                            ; preds = %14531
  br label %14533

14533:                                            ; preds = %14532
  call void @llvm.lifetime.start.p0(i64 4, ptr %278) #11
  %14534 = call ptr @__errno_location() #12
  %14535 = load i32, ptr %14534, align 4, !tbaa !5
  store i32 %14535, ptr %278, align 4, !tbaa !5
  %14536 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14537 = call i32 @s2n_print_stacktrace(ptr noundef %14536)
  %14538 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14539 = trunc i8 %14538 to i1
  br i1 %14539, label %14540, label %14562

14540:                                            ; preds = %14533
  %14541 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14542 = call i32 @fileno(ptr noundef %14541) #11
  %14543 = call i32 @isatty(i32 noundef %14542) #11
  %14544 = icmp ne i32 %14543, 0
  br i1 %14544, label %14545, label %14562

14545:                                            ; preds = %14540
  %14546 = load i32, ptr %278, align 4, !tbaa !5
  %14547 = call ptr @__errno_location() #12
  store i32 %14546, ptr %14547, align 4, !tbaa !5
  %14548 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14549 = load i32, ptr @test_count, align 4, !tbaa !5
  %14550 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14551 = load i32, ptr %14550, align 4, !tbaa !5
  %14552 = call ptr @s2n_strerror(i32 noundef %14551, ptr noundef @.str.11)
  %14553 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14554 = load i32, ptr %14553, align 4, !tbaa !5
  %14555 = call ptr @s2n_strerror_debug(i32 noundef %14554, ptr noundef @.str.11)
  %14556 = call ptr @__errno_location() #12
  %14557 = load i32, ptr %14556, align 4, !tbaa !5
  %14558 = call ptr @strerror(i32 noundef %14557) #11
  %14559 = call ptr @__errno_location() #12
  %14560 = load i32, ptr %14559, align 4, !tbaa !5
  %14561 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14548, ptr noundef @.str.9, i32 noundef %14549, ptr noundef @.str.130, ptr noundef @.str.8, i32 noundef 553, ptr noundef %14552, ptr noundef %14555, ptr noundef %14558, i32 noundef %14560) #11
  br label %14579

14562:                                            ; preds = %14540, %14533
  %14563 = load i32, ptr %278, align 4, !tbaa !5
  %14564 = call ptr @__errno_location() #12
  store i32 %14563, ptr %14564, align 4, !tbaa !5
  %14565 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14566 = load i32, ptr @test_count, align 4, !tbaa !5
  %14567 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14568 = load i32, ptr %14567, align 4, !tbaa !5
  %14569 = call ptr @s2n_strerror(i32 noundef %14568, ptr noundef @.str.11)
  %14570 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14571 = load i32, ptr %14570, align 4, !tbaa !5
  %14572 = call ptr @s2n_strerror_debug(i32 noundef %14571, ptr noundef @.str.11)
  %14573 = call ptr @__errno_location() #12
  %14574 = load i32, ptr %14573, align 4, !tbaa !5
  %14575 = call ptr @strerror(i32 noundef %14574) #11
  %14576 = call ptr @__errno_location() #12
  %14577 = load i32, ptr %14576, align 4, !tbaa !5
  %14578 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14565, ptr noundef @.str.12, i32 noundef %14566, ptr noundef @.str.130, ptr noundef @.str.8, i32 noundef 553, ptr noundef %14569, ptr noundef %14572, ptr noundef %14575, i32 noundef %14577) #11
  br label %14579

14579:                                            ; preds = %14562, %14545
  call void @llvm.lifetime.end.p0(i64 4, ptr %278) #11
  br label %14580

14580:                                            ; preds = %14579
  br label %14581

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

14582:                                            ; No predecessors!
  br label %14583

14583:                                            ; preds = %14582
  br label %14584

14584:                                            ; preds = %14583, %14526
  br label %14585

14585:                                            ; preds = %14584
  br label %14586

14586:                                            ; preds = %14585
  br label %14587

14587:                                            ; preds = %14586
  %14588 = load i32, ptr @test_count, align 4, !tbaa !5
  %14589 = add nsw i32 %14588, 1
  store i32 %14589, ptr @test_count, align 4, !tbaa !5
  %14590 = load ptr, ptr %270, align 8, !tbaa !9
  %14591 = call i32 @s2n_connection_free(ptr noundef %14590)
  %14592 = icmp eq i32 %14591, -1
  br i1 %14592, label %14593, label %14646

14593:                                            ; preds = %14587
  br label %14594

14594:                                            ; preds = %14593
  br label %14595

14595:                                            ; preds = %14594
  call void @llvm.lifetime.start.p0(i64 4, ptr %279) #11
  %14596 = call ptr @__errno_location() #12
  %14597 = load i32, ptr %14596, align 4, !tbaa !5
  store i32 %14597, ptr %279, align 4, !tbaa !5
  %14598 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14599 = call i32 @s2n_print_stacktrace(ptr noundef %14598)
  %14600 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14601 = trunc i8 %14600 to i1
  br i1 %14601, label %14602, label %14624

14602:                                            ; preds = %14595
  %14603 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14604 = call i32 @fileno(ptr noundef %14603) #11
  %14605 = call i32 @isatty(i32 noundef %14604) #11
  %14606 = icmp ne i32 %14605, 0
  br i1 %14606, label %14607, label %14624

14607:                                            ; preds = %14602
  %14608 = load i32, ptr %279, align 4, !tbaa !5
  %14609 = call ptr @__errno_location() #12
  store i32 %14608, ptr %14609, align 4, !tbaa !5
  %14610 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14611 = load i32, ptr @test_count, align 4, !tbaa !5
  %14612 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14613 = load i32, ptr %14612, align 4, !tbaa !5
  %14614 = call ptr @s2n_strerror(i32 noundef %14613, ptr noundef @.str.11)
  %14615 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14616 = load i32, ptr %14615, align 4, !tbaa !5
  %14617 = call ptr @s2n_strerror_debug(i32 noundef %14616, ptr noundef @.str.11)
  %14618 = call ptr @__errno_location() #12
  %14619 = load i32, ptr %14618, align 4, !tbaa !5
  %14620 = call ptr @strerror(i32 noundef %14619) #11
  %14621 = call ptr @__errno_location() #12
  %14622 = load i32, ptr %14621, align 4, !tbaa !5
  %14623 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14610, ptr noundef @.str.9, i32 noundef %14611, ptr noundef @.str.25, ptr noundef @.str.8, i32 noundef 555, ptr noundef %14614, ptr noundef %14617, ptr noundef %14620, i32 noundef %14622) #11
  br label %14641

14624:                                            ; preds = %14602, %14595
  %14625 = load i32, ptr %279, align 4, !tbaa !5
  %14626 = call ptr @__errno_location() #12
  store i32 %14625, ptr %14626, align 4, !tbaa !5
  %14627 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14628 = load i32, ptr @test_count, align 4, !tbaa !5
  %14629 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14630 = load i32, ptr %14629, align 4, !tbaa !5
  %14631 = call ptr @s2n_strerror(i32 noundef %14630, ptr noundef @.str.11)
  %14632 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14633 = load i32, ptr %14632, align 4, !tbaa !5
  %14634 = call ptr @s2n_strerror_debug(i32 noundef %14633, ptr noundef @.str.11)
  %14635 = call ptr @__errno_location() #12
  %14636 = load i32, ptr %14635, align 4, !tbaa !5
  %14637 = call ptr @strerror(i32 noundef %14636) #11
  %14638 = call ptr @__errno_location() #12
  %14639 = load i32, ptr %14638, align 4, !tbaa !5
  %14640 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14627, ptr noundef @.str.12, i32 noundef %14628, ptr noundef @.str.25, ptr noundef @.str.8, i32 noundef 555, ptr noundef %14631, ptr noundef %14634, ptr noundef %14637, i32 noundef %14639) #11
  br label %14641

14641:                                            ; preds = %14624, %14607
  call void @llvm.lifetime.end.p0(i64 4, ptr %279) #11
  br label %14642

14642:                                            ; preds = %14641
  br label %14643

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

14644:                                            ; No predecessors!
  br label %14645

14645:                                            ; preds = %14644
  br label %14646

14646:                                            ; preds = %14645, %14587
  br label %14647

14647:                                            ; preds = %14646
  br label %14648

14648:                                            ; preds = %14647
  call void @llvm.lifetime.end.p0(i64 8, ptr %270) #11
  call void @llvm.lifetime.start.p0(i64 18, ptr %280) #11
  call void @llvm.memcpy.p0.p0.i64(ptr align 16 %280, ptr align 16 @__const.main.socket_ctx, i64 18, i1 false)
  call void @llvm.lifetime.start.p0(i64 8, ptr %281) #11
  %14649 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %14649, ptr %281, align 8, !tbaa !9
  br label %14650

14650:                                            ; preds = %14648
  %14651 = load i32, ptr @test_count, align 4, !tbaa !5
  %14652 = add nsw i32 %14651, 1
  store i32 %14652, ptr @test_count, align 4, !tbaa !5
  %14653 = load ptr, ptr %281, align 8, !tbaa !9
  %14654 = icmp eq ptr %14653, null
  br i1 %14654, label %14655, label %14708

14655:                                            ; preds = %14650
  br label %14656

14656:                                            ; preds = %14655
  br label %14657

14657:                                            ; preds = %14656
  call void @llvm.lifetime.start.p0(i64 4, ptr %282) #11
  %14658 = call ptr @__errno_location() #12
  %14659 = load i32, ptr %14658, align 4, !tbaa !5
  store i32 %14659, ptr %282, align 4, !tbaa !5
  %14660 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14661 = call i32 @s2n_print_stacktrace(ptr noundef %14660)
  %14662 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14663 = trunc i8 %14662 to i1
  br i1 %14663, label %14664, label %14686

14664:                                            ; preds = %14657
  %14665 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14666 = call i32 @fileno(ptr noundef %14665) #11
  %14667 = call i32 @isatty(i32 noundef %14666) #11
  %14668 = icmp ne i32 %14667, 0
  br i1 %14668, label %14669, label %14686

14669:                                            ; preds = %14664
  %14670 = load i32, ptr %282, align 4, !tbaa !5
  %14671 = call ptr @__errno_location() #12
  store i32 %14670, ptr %14671, align 4, !tbaa !5
  %14672 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14673 = load i32, ptr @test_count, align 4, !tbaa !5
  %14674 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14675 = load i32, ptr %14674, align 4, !tbaa !5
  %14676 = call ptr @s2n_strerror(i32 noundef %14675, ptr noundef @.str.11)
  %14677 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14678 = load i32, ptr %14677, align 4, !tbaa !5
  %14679 = call ptr @s2n_strerror_debug(i32 noundef %14678, ptr noundef @.str.11)
  %14680 = call ptr @__errno_location() #12
  %14681 = load i32, ptr %14680, align 4, !tbaa !5
  %14682 = call ptr @strerror(i32 noundef %14681) #11
  %14683 = call ptr @__errno_location() #12
  %14684 = load i32, ptr %14683, align 4, !tbaa !5
  %14685 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14672, ptr noundef @.str.9, i32 noundef %14673, ptr noundef @.str.92, ptr noundef @.str.8, i32 noundef 565, ptr noundef %14676, ptr noundef %14679, ptr noundef %14682, i32 noundef %14684) #11
  br label %14703

14686:                                            ; preds = %14664, %14657
  %14687 = load i32, ptr %282, align 4, !tbaa !5
  %14688 = call ptr @__errno_location() #12
  store i32 %14687, ptr %14688, align 4, !tbaa !5
  %14689 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14690 = load i32, ptr @test_count, align 4, !tbaa !5
  %14691 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14692 = load i32, ptr %14691, align 4, !tbaa !5
  %14693 = call ptr @s2n_strerror(i32 noundef %14692, ptr noundef @.str.11)
  %14694 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14695 = load i32, ptr %14694, align 4, !tbaa !5
  %14696 = call ptr @s2n_strerror_debug(i32 noundef %14695, ptr noundef @.str.11)
  %14697 = call ptr @__errno_location() #12
  %14698 = load i32, ptr %14697, align 4, !tbaa !5
  %14699 = call ptr @strerror(i32 noundef %14698) #11
  %14700 = call ptr @__errno_location() #12
  %14701 = load i32, ptr %14700, align 4, !tbaa !5
  %14702 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14689, ptr noundef @.str.12, i32 noundef %14690, ptr noundef @.str.92, ptr noundef @.str.8, i32 noundef 565, ptr noundef %14693, ptr noundef %14696, ptr noundef %14699, i32 noundef %14701) #11
  br label %14703

14703:                                            ; preds = %14686, %14669
  call void @llvm.lifetime.end.p0(i64 4, ptr %282) #11
  br label %14704

14704:                                            ; preds = %14703
  br label %14705

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

14706:                                            ; No predecessors!
  br label %14707

14707:                                            ; preds = %14706
  br label %14708

14708:                                            ; preds = %14707, %14650
  br label %14709

14709:                                            ; preds = %14708
  br label %14710

14710:                                            ; preds = %14709
  br label %14711

14711:                                            ; preds = %14710
  %14712 = load i32, ptr @test_count, align 4, !tbaa !5
  %14713 = add nsw i32 %14712, 1
  store i32 %14713, ptr @test_count, align 4, !tbaa !5
  %14714 = load ptr, ptr %281, align 8, !tbaa !9
  %14715 = call i32 @s2n_connection_set_read_fd(ptr noundef %14714, i32 noundef 1)
  %14716 = icmp eq i32 %14715, -1
  br i1 %14716, label %14717, label %14770

14717:                                            ; preds = %14711
  br label %14718

14718:                                            ; preds = %14717
  br label %14719

14719:                                            ; preds = %14718
  call void @llvm.lifetime.start.p0(i64 4, ptr %283) #11
  %14720 = call ptr @__errno_location() #12
  %14721 = load i32, ptr %14720, align 4, !tbaa !5
  store i32 %14721, ptr %283, align 4, !tbaa !5
  %14722 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14723 = call i32 @s2n_print_stacktrace(ptr noundef %14722)
  %14724 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14725 = trunc i8 %14724 to i1
  br i1 %14725, label %14726, label %14748

14726:                                            ; preds = %14719
  %14727 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14728 = call i32 @fileno(ptr noundef %14727) #11
  %14729 = call i32 @isatty(i32 noundef %14728) #11
  %14730 = icmp ne i32 %14729, 0
  br i1 %14730, label %14731, label %14748

14731:                                            ; preds = %14726
  %14732 = load i32, ptr %283, align 4, !tbaa !5
  %14733 = call ptr @__errno_location() #12
  store i32 %14732, ptr %14733, align 4, !tbaa !5
  %14734 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14735 = load i32, ptr @test_count, align 4, !tbaa !5
  %14736 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14737 = load i32, ptr %14736, align 4, !tbaa !5
  %14738 = call ptr @s2n_strerror(i32 noundef %14737, ptr noundef @.str.11)
  %14739 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14740 = load i32, ptr %14739, align 4, !tbaa !5
  %14741 = call ptr @s2n_strerror_debug(i32 noundef %14740, ptr noundef @.str.11)
  %14742 = call ptr @__errno_location() #12
  %14743 = load i32, ptr %14742, align 4, !tbaa !5
  %14744 = call ptr @strerror(i32 noundef %14743) #11
  %14745 = call ptr @__errno_location() #12
  %14746 = load i32, ptr %14745, align 4, !tbaa !5
  %14747 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14734, ptr noundef @.str.9, i32 noundef %14735, ptr noundef @.str.119, ptr noundef @.str.8, i32 noundef 567, ptr noundef %14738, ptr noundef %14741, ptr noundef %14744, i32 noundef %14746) #11
  br label %14765

14748:                                            ; preds = %14726, %14719
  %14749 = load i32, ptr %283, align 4, !tbaa !5
  %14750 = call ptr @__errno_location() #12
  store i32 %14749, ptr %14750, align 4, !tbaa !5
  %14751 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14752 = load i32, ptr @test_count, align 4, !tbaa !5
  %14753 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14754 = load i32, ptr %14753, align 4, !tbaa !5
  %14755 = call ptr @s2n_strerror(i32 noundef %14754, ptr noundef @.str.11)
  %14756 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14757 = load i32, ptr %14756, align 4, !tbaa !5
  %14758 = call ptr @s2n_strerror_debug(i32 noundef %14757, ptr noundef @.str.11)
  %14759 = call ptr @__errno_location() #12
  %14760 = load i32, ptr %14759, align 4, !tbaa !5
  %14761 = call ptr @strerror(i32 noundef %14760) #11
  %14762 = call ptr @__errno_location() #12
  %14763 = load i32, ptr %14762, align 4, !tbaa !5
  %14764 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14751, ptr noundef @.str.12, i32 noundef %14752, ptr noundef @.str.119, ptr noundef @.str.8, i32 noundef 567, ptr noundef %14755, ptr noundef %14758, ptr noundef %14761, i32 noundef %14763) #11
  br label %14765

14765:                                            ; preds = %14748, %14731
  call void @llvm.lifetime.end.p0(i64 4, ptr %283) #11
  br label %14766

14766:                                            ; preds = %14765
  br label %14767

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

14768:                                            ; No predecessors!
  br label %14769

14769:                                            ; preds = %14768
  br label %14770

14770:                                            ; preds = %14769, %14711
  br label %14771

14771:                                            ; preds = %14770
  br label %14772

14772:                                            ; preds = %14771
  br label %14773

14773:                                            ; preds = %14772
  %14774 = load i32, ptr @test_count, align 4, !tbaa !5
  %14775 = add nsw i32 %14774, 1
  store i32 %14775, ptr @test_count, align 4, !tbaa !5
  %14776 = load ptr, ptr %281, align 8, !tbaa !9
  %14777 = call i32 @s2n_connection_set_send_cb(ptr noundef %14776, ptr noundef @s2n_noop_send_cb)
  %14778 = icmp eq i32 %14777, -1
  br i1 %14778, label %14779, label %14832

14779:                                            ; preds = %14773
  br label %14780

14780:                                            ; preds = %14779
  br label %14781

14781:                                            ; preds = %14780
  call void @llvm.lifetime.start.p0(i64 4, ptr %284) #11
  %14782 = call ptr @__errno_location() #12
  %14783 = load i32, ptr %14782, align 4, !tbaa !5
  store i32 %14783, ptr %284, align 4, !tbaa !5
  %14784 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14785 = call i32 @s2n_print_stacktrace(ptr noundef %14784)
  %14786 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14787 = trunc i8 %14786 to i1
  br i1 %14787, label %14788, label %14810

14788:                                            ; preds = %14781
  %14789 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14790 = call i32 @fileno(ptr noundef %14789) #11
  %14791 = call i32 @isatty(i32 noundef %14790) #11
  %14792 = icmp ne i32 %14791, 0
  br i1 %14792, label %14793, label %14810

14793:                                            ; preds = %14788
  %14794 = load i32, ptr %284, align 4, !tbaa !5
  %14795 = call ptr @__errno_location() #12
  store i32 %14794, ptr %14795, align 4, !tbaa !5
  %14796 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14797 = load i32, ptr @test_count, align 4, !tbaa !5
  %14798 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14799 = load i32, ptr %14798, align 4, !tbaa !5
  %14800 = call ptr @s2n_strerror(i32 noundef %14799, ptr noundef @.str.11)
  %14801 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14802 = load i32, ptr %14801, align 4, !tbaa !5
  %14803 = call ptr @s2n_strerror_debug(i32 noundef %14802, ptr noundef @.str.11)
  %14804 = call ptr @__errno_location() #12
  %14805 = load i32, ptr %14804, align 4, !tbaa !5
  %14806 = call ptr @strerror(i32 noundef %14805) #11
  %14807 = call ptr @__errno_location() #12
  %14808 = load i32, ptr %14807, align 4, !tbaa !5
  %14809 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14796, ptr noundef @.str.9, i32 noundef %14797, ptr noundef @.str.139, ptr noundef @.str.8, i32 noundef 568, ptr noundef %14800, ptr noundef %14803, ptr noundef %14806, i32 noundef %14808) #11
  br label %14827

14810:                                            ; preds = %14788, %14781
  %14811 = load i32, ptr %284, 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.11)
  %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.11)
  %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.12, i32 noundef %14814, ptr noundef @.str.139, ptr noundef @.str.8, i32 noundef 568, ptr noundef %14817, ptr noundef %14820, ptr noundef %14823, i32 noundef %14825) #11
  br label %14827

14827:                                            ; preds = %14810, %14793
  call void @llvm.lifetime.end.p0(i64 4, ptr %284) #11
  br label %14828

14828:                                            ; preds = %14827
  br label %14829

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

14830:                                            ; No predecessors!
  br label %14831

14831:                                            ; preds = %14830
  br label %14832

14832:                                            ; preds = %14831, %14773
  br label %14833

14833:                                            ; preds = %14832
  br label %14834

14834:                                            ; preds = %14833
  br label %14835

14835:                                            ; preds = %14834
  %14836 = load i32, ptr @test_count, align 4, !tbaa !5
  %14837 = add nsw i32 %14836, 1
  store i32 %14837, ptr @test_count, align 4, !tbaa !5
  %14838 = load ptr, ptr %281, align 8, !tbaa !9
  %14839 = getelementptr inbounds [18 x i8], ptr %280, i64 0, i64 0
  %14840 = call i32 @s2n_connection_set_send_ctx(ptr noundef %14838, ptr noundef %14839)
  %14841 = icmp eq i32 %14840, -1
  br i1 %14841, label %14842, label %14895

14842:                                            ; preds = %14835
  br label %14843

14843:                                            ; preds = %14842
  br label %14844

14844:                                            ; preds = %14843
  call void @llvm.lifetime.start.p0(i64 4, ptr %285) #11
  %14845 = call ptr @__errno_location() #12
  %14846 = load i32, ptr %14845, align 4, !tbaa !5
  store i32 %14846, ptr %285, align 4, !tbaa !5
  %14847 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14848 = call i32 @s2n_print_stacktrace(ptr noundef %14847)
  %14849 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14850 = trunc i8 %14849 to i1
  br i1 %14850, label %14851, label %14873

14851:                                            ; preds = %14844
  %14852 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14853 = call i32 @fileno(ptr noundef %14852) #11
  %14854 = call i32 @isatty(i32 noundef %14853) #11
  %14855 = icmp ne i32 %14854, 0
  br i1 %14855, label %14856, label %14873

14856:                                            ; preds = %14851
  %14857 = load i32, ptr %285, align 4, !tbaa !5
  %14858 = call ptr @__errno_location() #12
  store i32 %14857, ptr %14858, align 4, !tbaa !5
  %14859 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14860 = load i32, ptr @test_count, align 4, !tbaa !5
  %14861 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14862 = load i32, ptr %14861, align 4, !tbaa !5
  %14863 = call ptr @s2n_strerror(i32 noundef %14862, ptr noundef @.str.11)
  %14864 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14865 = load i32, ptr %14864, align 4, !tbaa !5
  %14866 = call ptr @s2n_strerror_debug(i32 noundef %14865, ptr noundef @.str.11)
  %14867 = call ptr @__errno_location() #12
  %14868 = load i32, ptr %14867, align 4, !tbaa !5
  %14869 = call ptr @strerror(i32 noundef %14868) #11
  %14870 = call ptr @__errno_location() #12
  %14871 = load i32, ptr %14870, align 4, !tbaa !5
  %14872 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14859, ptr noundef @.str.9, i32 noundef %14860, ptr noundef @.str.140, ptr noundef @.str.8, i32 noundef 569, ptr noundef %14863, ptr noundef %14866, ptr noundef %14869, i32 noundef %14871) #11
  br label %14890

14873:                                            ; preds = %14851, %14844
  %14874 = load i32, ptr %285, 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.11)
  %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.11)
  %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.12, i32 noundef %14877, ptr noundef @.str.140, ptr noundef @.str.8, i32 noundef 569, ptr noundef %14880, ptr noundef %14883, ptr noundef %14886, i32 noundef %14888) #11
  br label %14890

14890:                                            ; preds = %14873, %14856
  call void @llvm.lifetime.end.p0(i64 4, ptr %285) #11
  br label %14891

14891:                                            ; preds = %14890
  br label %14892

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

14893:                                            ; No predecessors!
  br label %14894

14894:                                            ; preds = %14893
  br label %14895

14895:                                            ; preds = %14894, %14835
  br label %14896

14896:                                            ; preds = %14895
  br label %14897

14897:                                            ; preds = %14896
  br label %14898

14898:                                            ; preds = %14897
  %14899 = load i32, ptr @test_count, align 4, !tbaa !5
  %14900 = add nsw i32 %14899, 1
  store i32 %14900, ptr @test_count, align 4, !tbaa !5
  %14901 = load ptr, ptr %281, align 8, !tbaa !9
  %14902 = call i32 @s2n_connection_wipe(ptr noundef %14901)
  %14903 = icmp eq i32 %14902, -1
  br i1 %14903, label %14904, label %14957

14904:                                            ; preds = %14898
  br label %14905

14905:                                            ; preds = %14904
  br label %14906

14906:                                            ; preds = %14905
  call void @llvm.lifetime.start.p0(i64 4, ptr %286) #11
  %14907 = call ptr @__errno_location() #12
  %14908 = load i32, ptr %14907, align 4, !tbaa !5
  store i32 %14908, ptr %286, align 4, !tbaa !5
  %14909 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14910 = call i32 @s2n_print_stacktrace(ptr noundef %14909)
  %14911 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14912 = trunc i8 %14911 to i1
  br i1 %14912, label %14913, label %14935

14913:                                            ; preds = %14906
  %14914 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14915 = call i32 @fileno(ptr noundef %14914) #11
  %14916 = call i32 @isatty(i32 noundef %14915) #11
  %14917 = icmp ne i32 %14916, 0
  br i1 %14917, label %14918, label %14935

14918:                                            ; preds = %14913
  %14919 = load i32, ptr %286, align 4, !tbaa !5
  %14920 = call ptr @__errno_location() #12
  store i32 %14919, ptr %14920, align 4, !tbaa !5
  %14921 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14922 = load i32, ptr @test_count, align 4, !tbaa !5
  %14923 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14924 = load i32, ptr %14923, align 4, !tbaa !5
  %14925 = call ptr @s2n_strerror(i32 noundef %14924, ptr noundef @.str.11)
  %14926 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14927 = load i32, ptr %14926, align 4, !tbaa !5
  %14928 = call ptr @s2n_strerror_debug(i32 noundef %14927, ptr noundef @.str.11)
  %14929 = call ptr @__errno_location() #12
  %14930 = load i32, ptr %14929, align 4, !tbaa !5
  %14931 = call ptr @strerror(i32 noundef %14930) #11
  %14932 = call ptr @__errno_location() #12
  %14933 = load i32, ptr %14932, align 4, !tbaa !5
  %14934 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14921, ptr noundef @.str.9, i32 noundef %14922, ptr noundef @.str.118, ptr noundef @.str.8, i32 noundef 571, ptr noundef %14925, ptr noundef %14928, ptr noundef %14931, i32 noundef %14933) #11
  br label %14952

14935:                                            ; preds = %14913, %14906
  %14936 = load i32, ptr %286, 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.11)
  %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.11)
  %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.12, i32 noundef %14939, ptr noundef @.str.118, ptr noundef @.str.8, i32 noundef 571, ptr noundef %14942, ptr noundef %14945, ptr noundef %14948, i32 noundef %14950) #11
  br label %14952

14952:                                            ; preds = %14935, %14918
  call void @llvm.lifetime.end.p0(i64 4, ptr %286) #11
  br label %14953

14953:                                            ; preds = %14952
  br label %14954

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

14955:                                            ; No predecessors!
  br label %14956

14956:                                            ; preds = %14955
  br label %14957

14957:                                            ; preds = %14956, %14898
  br label %14958

14958:                                            ; preds = %14957
  br label %14959

14959:                                            ; preds = %14958
  br label %14960

14960:                                            ; preds = %14959
  %14961 = load i32, ptr @test_count, align 4, !tbaa !5
  %14962 = add nsw i32 %14961, 1
  store i32 %14962, ptr @test_count, align 4, !tbaa !5
  %14963 = load ptr, ptr %281, align 8, !tbaa !9
  %14964 = call i32 @s2n_connection_set_write_fd(ptr noundef %14963, i32 noundef 2)
  %14965 = icmp eq i32 %14964, -1
  br i1 %14965, label %14966, label %15019

14966:                                            ; preds = %14960
  br label %14967

14967:                                            ; preds = %14966
  br label %14968

14968:                                            ; preds = %14967
  call void @llvm.lifetime.start.p0(i64 4, ptr %287) #11
  %14969 = call ptr @__errno_location() #12
  %14970 = load i32, ptr %14969, align 4, !tbaa !5
  store i32 %14970, ptr %287, align 4, !tbaa !5
  %14971 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14972 = call i32 @s2n_print_stacktrace(ptr noundef %14971)
  %14973 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14974 = trunc i8 %14973 to i1
  br i1 %14974, label %14975, label %14997

14975:                                            ; preds = %14968
  %14976 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14977 = call i32 @fileno(ptr noundef %14976) #11
  %14978 = call i32 @isatty(i32 noundef %14977) #11
  %14979 = icmp ne i32 %14978, 0
  br i1 %14979, label %14980, label %14997

14980:                                            ; preds = %14975
  %14981 = load i32, ptr %287, align 4, !tbaa !5
  %14982 = call ptr @__errno_location() #12
  store i32 %14981, ptr %14982, align 4, !tbaa !5
  %14983 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14984 = load i32, ptr @test_count, align 4, !tbaa !5
  %14985 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14986 = load i32, ptr %14985, align 4, !tbaa !5
  %14987 = call ptr @s2n_strerror(i32 noundef %14986, ptr noundef @.str.11)
  %14988 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14989 = load i32, ptr %14988, align 4, !tbaa !5
  %14990 = call ptr @s2n_strerror_debug(i32 noundef %14989, ptr noundef @.str.11)
  %14991 = call ptr @__errno_location() #12
  %14992 = load i32, ptr %14991, align 4, !tbaa !5
  %14993 = call ptr @strerror(i32 noundef %14992) #11
  %14994 = call ptr @__errno_location() #12
  %14995 = load i32, ptr %14994, align 4, !tbaa !5
  %14996 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14983, ptr noundef @.str.9, i32 noundef %14984, ptr noundef @.str.122, ptr noundef @.str.8, i32 noundef 573, ptr noundef %14987, ptr noundef %14990, ptr noundef %14993, i32 noundef %14995) #11
  br label %15014

14997:                                            ; preds = %14975, %14968
  %14998 = load i32, ptr %287, align 4, !tbaa !5
  %14999 = call ptr @__errno_location() #12
  store i32 %14998, ptr %14999, align 4, !tbaa !5
  %15000 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15001 = load i32, ptr @test_count, align 4, !tbaa !5
  %15002 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15003 = load i32, ptr %15002, align 4, !tbaa !5
  %15004 = call ptr @s2n_strerror(i32 noundef %15003, ptr noundef @.str.11)
  %15005 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15006 = load i32, ptr %15005, align 4, !tbaa !5
  %15007 = call ptr @s2n_strerror_debug(i32 noundef %15006, ptr noundef @.str.11)
  %15008 = call ptr @__errno_location() #12
  %15009 = load i32, ptr %15008, align 4, !tbaa !5
  %15010 = call ptr @strerror(i32 noundef %15009) #11
  %15011 = call ptr @__errno_location() #12
  %15012 = load i32, ptr %15011, align 4, !tbaa !5
  %15013 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15000, ptr noundef @.str.12, i32 noundef %15001, ptr noundef @.str.122, ptr noundef @.str.8, i32 noundef 573, ptr noundef %15004, ptr noundef %15007, ptr noundef %15010, i32 noundef %15012) #11
  br label %15014

15014:                                            ; preds = %14997, %14980
  call void @llvm.lifetime.end.p0(i64 4, ptr %287) #11
  br label %15015

15015:                                            ; preds = %15014
  br label %15016

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

15017:                                            ; No predecessors!
  br label %15018

15018:                                            ; preds = %15017
  br label %15019

15019:                                            ; preds = %15018, %14960
  br label %15020

15020:                                            ; preds = %15019
  br label %15021

15021:                                            ; preds = %15020
  br label %15022

15022:                                            ; preds = %15021
  %15023 = load i32, ptr @test_count, align 4, !tbaa !5
  %15024 = add nsw i32 %15023, 1
  store i32 %15024, ptr @test_count, align 4, !tbaa !5
  %15025 = load ptr, ptr %281, align 8, !tbaa !9
  %15026 = call i32 @s2n_connection_set_recv_cb(ptr noundef %15025, ptr noundef @s2n_noop_recv_cb)
  %15027 = icmp eq i32 %15026, -1
  br i1 %15027, label %15028, label %15081

15028:                                            ; preds = %15022
  br label %15029

15029:                                            ; preds = %15028
  br label %15030

15030:                                            ; preds = %15029
  call void @llvm.lifetime.start.p0(i64 4, ptr %288) #11
  %15031 = call ptr @__errno_location() #12
  %15032 = load i32, ptr %15031, align 4, !tbaa !5
  store i32 %15032, ptr %288, align 4, !tbaa !5
  %15033 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15034 = call i32 @s2n_print_stacktrace(ptr noundef %15033)
  %15035 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15036 = trunc i8 %15035 to i1
  br i1 %15036, label %15037, label %15059

15037:                                            ; preds = %15030
  %15038 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15039 = call i32 @fileno(ptr noundef %15038) #11
  %15040 = call i32 @isatty(i32 noundef %15039) #11
  %15041 = icmp ne i32 %15040, 0
  br i1 %15041, label %15042, label %15059

15042:                                            ; preds = %15037
  %15043 = load i32, ptr %288, align 4, !tbaa !5
  %15044 = call ptr @__errno_location() #12
  store i32 %15043, ptr %15044, align 4, !tbaa !5
  %15045 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15046 = load i32, ptr @test_count, align 4, !tbaa !5
  %15047 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15048 = load i32, ptr %15047, align 4, !tbaa !5
  %15049 = call ptr @s2n_strerror(i32 noundef %15048, ptr noundef @.str.11)
  %15050 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15051 = load i32, ptr %15050, align 4, !tbaa !5
  %15052 = call ptr @s2n_strerror_debug(i32 noundef %15051, ptr noundef @.str.11)
  %15053 = call ptr @__errno_location() #12
  %15054 = load i32, ptr %15053, align 4, !tbaa !5
  %15055 = call ptr @strerror(i32 noundef %15054) #11
  %15056 = call ptr @__errno_location() #12
  %15057 = load i32, ptr %15056, align 4, !tbaa !5
  %15058 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15045, ptr noundef @.str.9, i32 noundef %15046, ptr noundef @.str.141, ptr noundef @.str.8, i32 noundef 574, ptr noundef %15049, ptr noundef %15052, ptr noundef %15055, i32 noundef %15057) #11
  br label %15076

15059:                                            ; preds = %15037, %15030
  %15060 = load i32, ptr %288, align 4, !tbaa !5
  %15061 = call ptr @__errno_location() #12
  store i32 %15060, ptr %15061, align 4, !tbaa !5
  %15062 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15063 = load i32, ptr @test_count, align 4, !tbaa !5
  %15064 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15065 = load i32, ptr %15064, align 4, !tbaa !5
  %15066 = call ptr @s2n_strerror(i32 noundef %15065, ptr noundef @.str.11)
  %15067 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15068 = load i32, ptr %15067, align 4, !tbaa !5
  %15069 = call ptr @s2n_strerror_debug(i32 noundef %15068, ptr noundef @.str.11)
  %15070 = call ptr @__errno_location() #12
  %15071 = load i32, ptr %15070, align 4, !tbaa !5
  %15072 = call ptr @strerror(i32 noundef %15071) #11
  %15073 = call ptr @__errno_location() #12
  %15074 = load i32, ptr %15073, align 4, !tbaa !5
  %15075 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15062, ptr noundef @.str.12, i32 noundef %15063, ptr noundef @.str.141, ptr noundef @.str.8, i32 noundef 574, ptr noundef %15066, ptr noundef %15069, ptr noundef %15072, i32 noundef %15074) #11
  br label %15076

15076:                                            ; preds = %15059, %15042
  call void @llvm.lifetime.end.p0(i64 4, ptr %288) #11
  br label %15077

15077:                                            ; preds = %15076
  br label %15078

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

15079:                                            ; No predecessors!
  br label %15080

15080:                                            ; preds = %15079
  br label %15081

15081:                                            ; preds = %15080, %15022
  br label %15082

15082:                                            ; preds = %15081
  br label %15083

15083:                                            ; preds = %15082
  br label %15084

15084:                                            ; preds = %15083
  %15085 = load i32, ptr @test_count, align 4, !tbaa !5
  %15086 = add nsw i32 %15085, 1
  store i32 %15086, ptr @test_count, align 4, !tbaa !5
  %15087 = load ptr, ptr %281, align 8, !tbaa !9
  %15088 = getelementptr inbounds [18 x i8], ptr %280, i64 0, i64 0
  %15089 = call i32 @s2n_connection_set_recv_ctx(ptr noundef %15087, ptr noundef %15088)
  %15090 = icmp eq i32 %15089, -1
  br i1 %15090, label %15091, label %15144

15091:                                            ; preds = %15084
  br label %15092

15092:                                            ; preds = %15091
  br label %15093

15093:                                            ; preds = %15092
  call void @llvm.lifetime.start.p0(i64 4, ptr %289) #11
  %15094 = call ptr @__errno_location() #12
  %15095 = load i32, ptr %15094, align 4, !tbaa !5
  store i32 %15095, ptr %289, align 4, !tbaa !5
  %15096 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15097 = call i32 @s2n_print_stacktrace(ptr noundef %15096)
  %15098 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15099 = trunc i8 %15098 to i1
  br i1 %15099, label %15100, label %15122

15100:                                            ; preds = %15093
  %15101 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15102 = call i32 @fileno(ptr noundef %15101) #11
  %15103 = call i32 @isatty(i32 noundef %15102) #11
  %15104 = icmp ne i32 %15103, 0
  br i1 %15104, label %15105, label %15122

15105:                                            ; preds = %15100
  %15106 = load i32, ptr %289, align 4, !tbaa !5
  %15107 = call ptr @__errno_location() #12
  store i32 %15106, ptr %15107, align 4, !tbaa !5
  %15108 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15109 = load i32, ptr @test_count, align 4, !tbaa !5
  %15110 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15111 = load i32, ptr %15110, align 4, !tbaa !5
  %15112 = call ptr @s2n_strerror(i32 noundef %15111, ptr noundef @.str.11)
  %15113 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15114 = load i32, ptr %15113, align 4, !tbaa !5
  %15115 = call ptr @s2n_strerror_debug(i32 noundef %15114, ptr noundef @.str.11)
  %15116 = call ptr @__errno_location() #12
  %15117 = load i32, ptr %15116, align 4, !tbaa !5
  %15118 = call ptr @strerror(i32 noundef %15117) #11
  %15119 = call ptr @__errno_location() #12
  %15120 = load i32, ptr %15119, align 4, !tbaa !5
  %15121 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15108, ptr noundef @.str.9, i32 noundef %15109, ptr noundef @.str.142, ptr noundef @.str.8, i32 noundef 575, ptr noundef %15112, ptr noundef %15115, ptr noundef %15118, i32 noundef %15120) #11
  br label %15139

15122:                                            ; preds = %15100, %15093
  %15123 = load i32, ptr %289, align 4, !tbaa !5
  %15124 = call ptr @__errno_location() #12
  store i32 %15123, ptr %15124, align 4, !tbaa !5
  %15125 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15126 = load i32, ptr @test_count, align 4, !tbaa !5
  %15127 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15128 = load i32, ptr %15127, align 4, !tbaa !5
  %15129 = call ptr @s2n_strerror(i32 noundef %15128, ptr noundef @.str.11)
  %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_debug(i32 noundef %15131, ptr noundef @.str.11)
  %15133 = call ptr @__errno_location() #12
  %15134 = load i32, ptr %15133, align 4, !tbaa !5
  %15135 = call ptr @strerror(i32 noundef %15134) #11
  %15136 = call ptr @__errno_location() #12
  %15137 = load i32, ptr %15136, align 4, !tbaa !5
  %15138 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15125, ptr noundef @.str.12, i32 noundef %15126, ptr noundef @.str.142, ptr noundef @.str.8, i32 noundef 575, ptr noundef %15129, ptr noundef %15132, ptr noundef %15135, i32 noundef %15137) #11
  br label %15139

15139:                                            ; preds = %15122, %15105
  call void @llvm.lifetime.end.p0(i64 4, ptr %289) #11
  br label %15140

15140:                                            ; preds = %15139
  br label %15141

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

15142:                                            ; No predecessors!
  br label %15143

15143:                                            ; preds = %15142
  br label %15144

15144:                                            ; preds = %15143, %15084
  br label %15145

15145:                                            ; preds = %15144
  br label %15146

15146:                                            ; preds = %15145
  br label %15147

15147:                                            ; preds = %15146
  %15148 = load i32, ptr @test_count, align 4, !tbaa !5
  %15149 = add nsw i32 %15148, 1
  store i32 %15149, ptr @test_count, align 4, !tbaa !5
  %15150 = load ptr, ptr %281, align 8, !tbaa !9
  %15151 = call i32 @s2n_connection_free(ptr noundef %15150)
  %15152 = icmp eq i32 %15151, -1
  br i1 %15152, label %15153, label %15206

15153:                                            ; preds = %15147
  br label %15154

15154:                                            ; preds = %15153
  br label %15155

15155:                                            ; preds = %15154
  call void @llvm.lifetime.start.p0(i64 4, ptr %290) #11
  %15156 = call ptr @__errno_location() #12
  %15157 = load i32, ptr %15156, align 4, !tbaa !5
  store i32 %15157, ptr %290, align 4, !tbaa !5
  %15158 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15159 = call i32 @s2n_print_stacktrace(ptr noundef %15158)
  %15160 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15161 = trunc i8 %15160 to i1
  br i1 %15161, label %15162, label %15184

15162:                                            ; preds = %15155
  %15163 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15164 = call i32 @fileno(ptr noundef %15163) #11
  %15165 = call i32 @isatty(i32 noundef %15164) #11
  %15166 = icmp ne i32 %15165, 0
  br i1 %15166, label %15167, label %15184

15167:                                            ; preds = %15162
  %15168 = load i32, ptr %290, align 4, !tbaa !5
  %15169 = call ptr @__errno_location() #12
  store i32 %15168, ptr %15169, align 4, !tbaa !5
  %15170 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15171 = load i32, ptr @test_count, align 4, !tbaa !5
  %15172 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15173 = load i32, ptr %15172, align 4, !tbaa !5
  %15174 = call ptr @s2n_strerror(i32 noundef %15173, ptr noundef @.str.11)
  %15175 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15176 = load i32, ptr %15175, align 4, !tbaa !5
  %15177 = call ptr @s2n_strerror_debug(i32 noundef %15176, ptr noundef @.str.11)
  %15178 = call ptr @__errno_location() #12
  %15179 = load i32, ptr %15178, align 4, !tbaa !5
  %15180 = call ptr @strerror(i32 noundef %15179) #11
  %15181 = call ptr @__errno_location() #12
  %15182 = load i32, ptr %15181, align 4, !tbaa !5
  %15183 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15170, ptr noundef @.str.9, i32 noundef %15171, ptr noundef @.str.25, ptr noundef @.str.8, i32 noundef 577, ptr noundef %15174, ptr noundef %15177, ptr noundef %15180, i32 noundef %15182) #11
  br label %15201

15184:                                            ; preds = %15162, %15155
  %15185 = load i32, ptr %290, align 4, !tbaa !5
  %15186 = call ptr @__errno_location() #12
  store i32 %15185, ptr %15186, align 4, !tbaa !5
  %15187 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15188 = load i32, ptr @test_count, align 4, !tbaa !5
  %15189 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15190 = load i32, ptr %15189, align 4, !tbaa !5
  %15191 = call ptr @s2n_strerror(i32 noundef %15190, ptr noundef @.str.11)
  %15192 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15193 = load i32, ptr %15192, align 4, !tbaa !5
  %15194 = call ptr @s2n_strerror_debug(i32 noundef %15193, ptr noundef @.str.11)
  %15195 = call ptr @__errno_location() #12
  %15196 = load i32, ptr %15195, align 4, !tbaa !5
  %15197 = call ptr @strerror(i32 noundef %15196) #11
  %15198 = call ptr @__errno_location() #12
  %15199 = load i32, ptr %15198, align 4, !tbaa !5
  %15200 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15187, ptr noundef @.str.12, i32 noundef %15188, ptr noundef @.str.25, ptr noundef @.str.8, i32 noundef 577, ptr noundef %15191, ptr noundef %15194, ptr noundef %15197, i32 noundef %15199) #11
  br label %15201

15201:                                            ; preds = %15184, %15167
  call void @llvm.lifetime.end.p0(i64 4, ptr %290) #11
  br label %15202

15202:                                            ; preds = %15201
  br label %15203

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

15204:                                            ; No predecessors!
  br label %15205

15205:                                            ; preds = %15204
  br label %15206

15206:                                            ; preds = %15205, %15147
  br label %15207

15207:                                            ; preds = %15206
  br label %15208

15208:                                            ; preds = %15207
  call void @llvm.lifetime.end.p0(i64 8, ptr %281) #11
  call void @llvm.lifetime.end.p0(i64 18, ptr %280) #11
  call void @llvm.lifetime.start.p0(i64 18, ptr %291) #11
  call void @llvm.memcpy.p0.p0.i64(ptr align 16 %291, ptr align 16 @__const.main.socket_ctx.144, i64 18, i1 false)
  call void @llvm.lifetime.start.p0(i64 8, ptr %292) #11
  %15209 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %15209, ptr %292, align 8, !tbaa !9
  br label %15210

15210:                                            ; preds = %15208
  %15211 = load i32, ptr @test_count, align 4, !tbaa !5
  %15212 = add nsw i32 %15211, 1
  store i32 %15212, ptr @test_count, align 4, !tbaa !5
  %15213 = load ptr, ptr %292, align 8, !tbaa !9
  %15214 = icmp eq ptr %15213, null
  br i1 %15214, label %15215, label %15268

15215:                                            ; preds = %15210
  br label %15216

15216:                                            ; preds = %15215
  br label %15217

15217:                                            ; preds = %15216
  call void @llvm.lifetime.start.p0(i64 4, ptr %293) #11
  %15218 = call ptr @__errno_location() #12
  %15219 = load i32, ptr %15218, align 4, !tbaa !5
  store i32 %15219, ptr %293, align 4, !tbaa !5
  %15220 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15221 = call i32 @s2n_print_stacktrace(ptr noundef %15220)
  %15222 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15223 = trunc i8 %15222 to i1
  br i1 %15223, label %15224, label %15246

15224:                                            ; preds = %15217
  %15225 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15226 = call i32 @fileno(ptr noundef %15225) #11
  %15227 = call i32 @isatty(i32 noundef %15226) #11
  %15228 = icmp ne i32 %15227, 0
  br i1 %15228, label %15229, label %15246

15229:                                            ; preds = %15224
  %15230 = load i32, ptr %293, align 4, !tbaa !5
  %15231 = call ptr @__errno_location() #12
  store i32 %15230, ptr %15231, align 4, !tbaa !5
  %15232 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15233 = load i32, ptr @test_count, align 4, !tbaa !5
  %15234 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15235 = load i32, ptr %15234, align 4, !tbaa !5
  %15236 = call ptr @s2n_strerror(i32 noundef %15235, ptr noundef @.str.11)
  %15237 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15238 = load i32, ptr %15237, align 4, !tbaa !5
  %15239 = call ptr @s2n_strerror_debug(i32 noundef %15238, ptr noundef @.str.11)
  %15240 = call ptr @__errno_location() #12
  %15241 = load i32, ptr %15240, align 4, !tbaa !5
  %15242 = call ptr @strerror(i32 noundef %15241) #11
  %15243 = call ptr @__errno_location() #12
  %15244 = load i32, ptr %15243, align 4, !tbaa !5
  %15245 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15232, ptr noundef @.str.9, i32 noundef %15233, ptr noundef @.str.92, ptr noundef @.str.8, i32 noundef 586, ptr noundef %15236, ptr noundef %15239, ptr noundef %15242, i32 noundef %15244) #11
  br label %15263

15246:                                            ; preds = %15224, %15217
  %15247 = load i32, ptr %293, align 4, !tbaa !5
  %15248 = call ptr @__errno_location() #12
  store i32 %15247, ptr %15248, align 4, !tbaa !5
  %15249 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15250 = load i32, ptr @test_count, align 4, !tbaa !5
  %15251 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15252 = load i32, ptr %15251, align 4, !tbaa !5
  %15253 = call ptr @s2n_strerror(i32 noundef %15252, ptr noundef @.str.11)
  %15254 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15255 = load i32, ptr %15254, align 4, !tbaa !5
  %15256 = call ptr @s2n_strerror_debug(i32 noundef %15255, ptr noundef @.str.11)
  %15257 = call ptr @__errno_location() #12
  %15258 = load i32, ptr %15257, align 4, !tbaa !5
  %15259 = call ptr @strerror(i32 noundef %15258) #11
  %15260 = call ptr @__errno_location() #12
  %15261 = load i32, ptr %15260, align 4, !tbaa !5
  %15262 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15249, ptr noundef @.str.12, i32 noundef %15250, ptr noundef @.str.92, ptr noundef @.str.8, i32 noundef 586, ptr noundef %15253, ptr noundef %15256, ptr noundef %15259, i32 noundef %15261) #11
  br label %15263

15263:                                            ; preds = %15246, %15229
  call void @llvm.lifetime.end.p0(i64 4, ptr %293) #11
  br label %15264

15264:                                            ; preds = %15263
  br label %15265

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

15266:                                            ; No predecessors!
  br label %15267

15267:                                            ; preds = %15266
  br label %15268

15268:                                            ; preds = %15267, %15210
  br label %15269

15269:                                            ; preds = %15268
  br label %15270

15270:                                            ; preds = %15269
  br label %15271

15271:                                            ; preds = %15270
  %15272 = load i32, ptr @test_count, align 4, !tbaa !5
  %15273 = add nsw i32 %15272, 1
  store i32 %15273, ptr @test_count, align 4, !tbaa !5
  %15274 = load ptr, ptr %292, align 8, !tbaa !9
  %15275 = call i32 @s2n_connection_set_fd(ptr noundef %15274, i32 noundef 1)
  %15276 = icmp eq i32 %15275, -1
  br i1 %15276, label %15277, label %15330

15277:                                            ; preds = %15271
  br label %15278

15278:                                            ; preds = %15277
  br label %15279

15279:                                            ; preds = %15278
  call void @llvm.lifetime.start.p0(i64 4, ptr %294) #11
  %15280 = call ptr @__errno_location() #12
  %15281 = load i32, ptr %15280, align 4, !tbaa !5
  store i32 %15281, ptr %294, align 4, !tbaa !5
  %15282 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15283 = call i32 @s2n_print_stacktrace(ptr noundef %15282)
  %15284 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15285 = trunc i8 %15284 to i1
  br i1 %15285, label %15286, label %15308

15286:                                            ; preds = %15279
  %15287 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15288 = call i32 @fileno(ptr noundef %15287) #11
  %15289 = call i32 @isatty(i32 noundef %15288) #11
  %15290 = icmp ne i32 %15289, 0
  br i1 %15290, label %15291, label %15308

15291:                                            ; preds = %15286
  %15292 = load i32, ptr %294, align 4, !tbaa !5
  %15293 = call ptr @__errno_location() #12
  store i32 %15292, ptr %15293, align 4, !tbaa !5
  %15294 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15295 = load i32, ptr @test_count, align 4, !tbaa !5
  %15296 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15297 = load i32, ptr %15296, align 4, !tbaa !5
  %15298 = call ptr @s2n_strerror(i32 noundef %15297, ptr noundef @.str.11)
  %15299 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15300 = load i32, ptr %15299, align 4, !tbaa !5
  %15301 = call ptr @s2n_strerror_debug(i32 noundef %15300, ptr noundef @.str.11)
  %15302 = call ptr @__errno_location() #12
  %15303 = load i32, ptr %15302, align 4, !tbaa !5
  %15304 = call ptr @strerror(i32 noundef %15303) #11
  %15305 = call ptr @__errno_location() #12
  %15306 = load i32, ptr %15305, align 4, !tbaa !5
  %15307 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15294, ptr noundef @.str.9, i32 noundef %15295, ptr noundef @.str.113, ptr noundef @.str.8, i32 noundef 589, ptr noundef %15298, ptr noundef %15301, ptr noundef %15304, i32 noundef %15306) #11
  br label %15325

15308:                                            ; preds = %15286, %15279
  %15309 = load i32, ptr %294, align 4, !tbaa !5
  %15310 = call ptr @__errno_location() #12
  store i32 %15309, ptr %15310, align 4, !tbaa !5
  %15311 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15312 = load i32, ptr @test_count, align 4, !tbaa !5
  %15313 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15314 = load i32, ptr %15313, align 4, !tbaa !5
  %15315 = call ptr @s2n_strerror(i32 noundef %15314, ptr noundef @.str.11)
  %15316 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15317 = load i32, ptr %15316, align 4, !tbaa !5
  %15318 = call ptr @s2n_strerror_debug(i32 noundef %15317, ptr noundef @.str.11)
  %15319 = call ptr @__errno_location() #12
  %15320 = load i32, ptr %15319, align 4, !tbaa !5
  %15321 = call ptr @strerror(i32 noundef %15320) #11
  %15322 = call ptr @__errno_location() #12
  %15323 = load i32, ptr %15322, align 4, !tbaa !5
  %15324 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15311, ptr noundef @.str.12, i32 noundef %15312, ptr noundef @.str.113, ptr noundef @.str.8, i32 noundef 589, ptr noundef %15315, ptr noundef %15318, ptr noundef %15321, i32 noundef %15323) #11
  br label %15325

15325:                                            ; preds = %15308, %15291
  call void @llvm.lifetime.end.p0(i64 4, ptr %294) #11
  br label %15326

15326:                                            ; preds = %15325
  br label %15327

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

15328:                                            ; No predecessors!
  br label %15329

15329:                                            ; preds = %15328
  br label %15330

15330:                                            ; preds = %15329, %15271
  br label %15331

15331:                                            ; preds = %15330
  br label %15332

15332:                                            ; preds = %15331
  br label %15333

15333:                                            ; preds = %15332
  %15334 = load i32, ptr @test_count, align 4, !tbaa !5
  %15335 = add nsw i32 %15334, 1
  store i32 %15335, ptr @test_count, align 4, !tbaa !5
  %15336 = load ptr, ptr %292, align 8, !tbaa !9
  %15337 = getelementptr inbounds %struct.s2n_connection, ptr %15336, i32 0, i32 6
  %15338 = load ptr, ptr %15337, align 8, !tbaa !64
  %15339 = icmp eq ptr %15338, null
  br i1 %15339, label %15340, label %15393

15340:                                            ; preds = %15333
  br label %15341

15341:                                            ; preds = %15340
  br label %15342

15342:                                            ; preds = %15341
  call void @llvm.lifetime.start.p0(i64 4, ptr %295) #11
  %15343 = call ptr @__errno_location() #12
  %15344 = load i32, ptr %15343, align 4, !tbaa !5
  store i32 %15344, ptr %295, align 4, !tbaa !5
  %15345 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15346 = call i32 @s2n_print_stacktrace(ptr noundef %15345)
  %15347 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15348 = trunc i8 %15347 to i1
  br i1 %15348, label %15349, label %15371

15349:                                            ; preds = %15342
  %15350 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15351 = call i32 @fileno(ptr noundef %15350) #11
  %15352 = call i32 @isatty(i32 noundef %15351) #11
  %15353 = icmp ne i32 %15352, 0
  br i1 %15353, label %15354, label %15371

15354:                                            ; preds = %15349
  %15355 = load i32, ptr %295, align 4, !tbaa !5
  %15356 = call ptr @__errno_location() #12
  store i32 %15355, ptr %15356, align 4, !tbaa !5
  %15357 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15358 = load i32, 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(i32 noundef %15360, ptr noundef @.str.11)
  %15362 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15363 = load i32, ptr %15362, align 4, !tbaa !5
  %15364 = call ptr @s2n_strerror_debug(i32 noundef %15363, ptr noundef @.str.11)
  %15365 = call ptr @__errno_location() #12
  %15366 = load i32, ptr %15365, align 4, !tbaa !5
  %15367 = call ptr @strerror(i32 noundef %15366) #11
  %15368 = call ptr @__errno_location() #12
  %15369 = load i32, ptr %15368, align 4, !tbaa !5
  %15370 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15357, ptr noundef @.str.9, i32 noundef %15358, ptr noundef @.str.145, ptr noundef @.str.8, i32 noundef 590, ptr noundef %15361, ptr noundef %15364, ptr noundef %15367, i32 noundef %15369) #11
  br label %15388

15371:                                            ; preds = %15349, %15342
  %15372 = load i32, ptr %295, align 4, !tbaa !5
  %15373 = call ptr @__errno_location() #12
  store i32 %15372, ptr %15373, align 4, !tbaa !5
  %15374 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15375 = load i32, ptr @test_count, align 4, !tbaa !5
  %15376 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15377 = load i32, ptr %15376, align 4, !tbaa !5
  %15378 = call ptr @s2n_strerror(i32 noundef %15377, ptr noundef @.str.11)
  %15379 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15380 = load i32, ptr %15379, align 4, !tbaa !5
  %15381 = call ptr @s2n_strerror_debug(i32 noundef %15380, ptr noundef @.str.11)
  %15382 = call ptr @__errno_location() #12
  %15383 = load i32, ptr %15382, align 4, !tbaa !5
  %15384 = call ptr @strerror(i32 noundef %15383) #11
  %15385 = call ptr @__errno_location() #12
  %15386 = load i32, ptr %15385, align 4, !tbaa !5
  %15387 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15374, ptr noundef @.str.12, i32 noundef %15375, ptr noundef @.str.145, ptr noundef @.str.8, i32 noundef 590, ptr noundef %15378, ptr noundef %15381, ptr noundef %15384, i32 noundef %15386) #11
  br label %15388

15388:                                            ; preds = %15371, %15354
  call void @llvm.lifetime.end.p0(i64 4, ptr %295) #11
  br label %15389

15389:                                            ; preds = %15388
  br label %15390

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

15391:                                            ; No predecessors!
  br label %15392

15392:                                            ; preds = %15391
  br label %15393

15393:                                            ; preds = %15392, %15333
  br label %15394

15394:                                            ; preds = %15393
  br label %15395

15395:                                            ; preds = %15394
  br label %15396

15396:                                            ; preds = %15395
  %15397 = load i32, ptr @test_count, align 4, !tbaa !5
  %15398 = add nsw i32 %15397, 1
  store i32 %15398, ptr @test_count, align 4, !tbaa !5
  %15399 = load ptr, ptr %292, align 8, !tbaa !9
  %15400 = getelementptr inbounds %struct.s2n_connection, ptr %15399, i32 0, i32 7
  %15401 = load ptr, ptr %15400, align 8, !tbaa !65
  %15402 = icmp eq ptr %15401, null
  br i1 %15402, label %15403, label %15456

15403:                                            ; preds = %15396
  br label %15404

15404:                                            ; preds = %15403
  br label %15405

15405:                                            ; preds = %15404
  call void @llvm.lifetime.start.p0(i64 4, ptr %296) #11
  %15406 = call ptr @__errno_location() #12
  %15407 = load i32, ptr %15406, align 4, !tbaa !5
  store i32 %15407, ptr %296, align 4, !tbaa !5
  %15408 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15409 = call i32 @s2n_print_stacktrace(ptr noundef %15408)
  %15410 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15411 = trunc i8 %15410 to i1
  br i1 %15411, label %15412, label %15434

15412:                                            ; preds = %15405
  %15413 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15414 = call i32 @fileno(ptr noundef %15413) #11
  %15415 = call i32 @isatty(i32 noundef %15414) #11
  %15416 = icmp ne i32 %15415, 0
  br i1 %15416, label %15417, label %15434

15417:                                            ; preds = %15412
  %15418 = load i32, ptr %296, align 4, !tbaa !5
  %15419 = call ptr @__errno_location() #12
  store i32 %15418, ptr %15419, align 4, !tbaa !5
  %15420 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15421 = load i32, ptr @test_count, align 4, !tbaa !5
  %15422 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15423 = load i32, ptr %15422, align 4, !tbaa !5
  %15424 = call ptr @s2n_strerror(i32 noundef %15423, ptr noundef @.str.11)
  %15425 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15426 = load i32, ptr %15425, align 4, !tbaa !5
  %15427 = call ptr @s2n_strerror_debug(i32 noundef %15426, ptr noundef @.str.11)
  %15428 = call ptr @__errno_location() #12
  %15429 = load i32, ptr %15428, align 4, !tbaa !5
  %15430 = call ptr @strerror(i32 noundef %15429) #11
  %15431 = call ptr @__errno_location() #12
  %15432 = load i32, ptr %15431, align 4, !tbaa !5
  %15433 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15420, ptr noundef @.str.9, i32 noundef %15421, ptr noundef @.str.146, ptr noundef @.str.8, i32 noundef 591, ptr noundef %15424, ptr noundef %15427, ptr noundef %15430, i32 noundef %15432) #11
  br label %15451

15434:                                            ; preds = %15412, %15405
  %15435 = load i32, ptr %296, align 4, !tbaa !5
  %15436 = call ptr @__errno_location() #12
  store i32 %15435, ptr %15436, align 4, !tbaa !5
  %15437 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15438 = load i32, ptr @test_count, align 4, !tbaa !5
  %15439 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15440 = load i32, ptr %15439, align 4, !tbaa !5
  %15441 = call ptr @s2n_strerror(i32 noundef %15440, ptr noundef @.str.11)
  %15442 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15443 = load i32, ptr %15442, align 4, !tbaa !5
  %15444 = call ptr @s2n_strerror_debug(i32 noundef %15443, ptr noundef @.str.11)
  %15445 = call ptr @__errno_location() #12
  %15446 = load i32, ptr %15445, align 4, !tbaa !5
  %15447 = call ptr @strerror(i32 noundef %15446) #11
  %15448 = call ptr @__errno_location() #12
  %15449 = load i32, ptr %15448, align 4, !tbaa !5
  %15450 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15437, ptr noundef @.str.12, i32 noundef %15438, ptr noundef @.str.146, ptr noundef @.str.8, i32 noundef 591, ptr noundef %15441, ptr noundef %15444, ptr noundef %15447, i32 noundef %15449) #11
  br label %15451

15451:                                            ; preds = %15434, %15417
  call void @llvm.lifetime.end.p0(i64 4, ptr %296) #11
  br label %15452

15452:                                            ; preds = %15451
  br label %15453

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

15454:                                            ; No predecessors!
  br label %15455

15455:                                            ; preds = %15454
  br label %15456

15456:                                            ; preds = %15455, %15396
  br label %15457

15457:                                            ; preds = %15456
  br label %15458

15458:                                            ; preds = %15457
  br label %15459

15459:                                            ; preds = %15458
  %15460 = load i32, ptr @test_count, align 4, !tbaa !5
  %15461 = add nsw i32 %15460, 1
  store i32 %15461, ptr @test_count, align 4, !tbaa !5
  %15462 = load ptr, ptr %292, align 8, !tbaa !9
  %15463 = getelementptr inbounds [18 x i8], ptr %291, i64 0, i64 0
  %15464 = call i32 @s2n_connection_set_send_ctx(ptr noundef %15462, ptr noundef %15463)
  %15465 = icmp eq i32 %15464, -1
  br i1 %15465, label %15466, label %15519

15466:                                            ; preds = %15459
  br label %15467

15467:                                            ; preds = %15466
  br label %15468

15468:                                            ; preds = %15467
  call void @llvm.lifetime.start.p0(i64 4, ptr %297) #11
  %15469 = call ptr @__errno_location() #12
  %15470 = load i32, ptr %15469, align 4, !tbaa !5
  store i32 %15470, ptr %297, align 4, !tbaa !5
  %15471 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15472 = call i32 @s2n_print_stacktrace(ptr noundef %15471)
  %15473 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15474 = trunc i8 %15473 to i1
  br i1 %15474, label %15475, label %15497

15475:                                            ; preds = %15468
  %15476 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15477 = call i32 @fileno(ptr noundef %15476) #11
  %15478 = call i32 @isatty(i32 noundef %15477) #11
  %15479 = icmp ne i32 %15478, 0
  br i1 %15479, label %15480, label %15497

15480:                                            ; preds = %15475
  %15481 = load i32, ptr %297, align 4, !tbaa !5
  %15482 = call ptr @__errno_location() #12
  store i32 %15481, ptr %15482, align 4, !tbaa !5
  %15483 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15484 = load i32, ptr @test_count, align 4, !tbaa !5
  %15485 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15486 = load i32, ptr %15485, align 4, !tbaa !5
  %15487 = call ptr @s2n_strerror(i32 noundef %15486, ptr noundef @.str.11)
  %15488 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15489 = load i32, ptr %15488, align 4, !tbaa !5
  %15490 = call ptr @s2n_strerror_debug(i32 noundef %15489, ptr noundef @.str.11)
  %15491 = call ptr @__errno_location() #12
  %15492 = load i32, ptr %15491, align 4, !tbaa !5
  %15493 = call ptr @strerror(i32 noundef %15492) #11
  %15494 = call ptr @__errno_location() #12
  %15495 = load i32, ptr %15494, align 4, !tbaa !5
  %15496 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15483, ptr noundef @.str.9, i32 noundef %15484, ptr noundef @.str.140, ptr noundef @.str.8, i32 noundef 594, ptr noundef %15487, ptr noundef %15490, ptr noundef %15493, i32 noundef %15495) #11
  br label %15514

15497:                                            ; preds = %15475, %15468
  %15498 = load i32, ptr %297, align 4, !tbaa !5
  %15499 = call ptr @__errno_location() #12
  store i32 %15498, ptr %15499, align 4, !tbaa !5
  %15500 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15501 = load i32, ptr @test_count, align 4, !tbaa !5
  %15502 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15503 = load i32, ptr %15502, align 4, !tbaa !5
  %15504 = call ptr @s2n_strerror(i32 noundef %15503, ptr noundef @.str.11)
  %15505 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15506 = load i32, ptr %15505, align 4, !tbaa !5
  %15507 = call ptr @s2n_strerror_debug(i32 noundef %15506, ptr noundef @.str.11)
  %15508 = call ptr @__errno_location() #12
  %15509 = load i32, ptr %15508, align 4, !tbaa !5
  %15510 = call ptr @strerror(i32 noundef %15509) #11
  %15511 = call ptr @__errno_location() #12
  %15512 = load i32, ptr %15511, align 4, !tbaa !5
  %15513 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15500, ptr noundef @.str.12, i32 noundef %15501, ptr noundef @.str.140, ptr noundef @.str.8, i32 noundef 594, ptr noundef %15504, ptr noundef %15507, ptr noundef %15510, i32 noundef %15512) #11
  br label %15514

15514:                                            ; preds = %15497, %15480
  call void @llvm.lifetime.end.p0(i64 4, ptr %297) #11
  br label %15515

15515:                                            ; preds = %15514
  br label %15516

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

15517:                                            ; No predecessors!
  br label %15518

15518:                                            ; preds = %15517
  br label %15519

15519:                                            ; preds = %15518, %15459
  br label %15520

15520:                                            ; preds = %15519
  br label %15521

15521:                                            ; preds = %15520
  br label %15522

15522:                                            ; preds = %15521
  %15523 = load i32, ptr @test_count, align 4, !tbaa !5
  %15524 = add nsw i32 %15523, 1
  store i32 %15524, ptr @test_count, align 4, !tbaa !5
  %15525 = load ptr, ptr %292, align 8, !tbaa !9
  %15526 = getelementptr inbounds [18 x i8], ptr %291, i64 0, i64 0
  %15527 = call i32 @s2n_connection_set_recv_ctx(ptr noundef %15525, ptr noundef %15526)
  %15528 = icmp eq i32 %15527, -1
  br i1 %15528, label %15529, label %15582

15529:                                            ; preds = %15522
  br label %15530

15530:                                            ; preds = %15529
  br label %15531

15531:                                            ; preds = %15530
  call void @llvm.lifetime.start.p0(i64 4, ptr %298) #11
  %15532 = call ptr @__errno_location() #12
  %15533 = load i32, ptr %15532, align 4, !tbaa !5
  store i32 %15533, ptr %298, align 4, !tbaa !5
  %15534 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15535 = call i32 @s2n_print_stacktrace(ptr noundef %15534)
  %15536 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15537 = trunc i8 %15536 to i1
  br i1 %15537, label %15538, label %15560

15538:                                            ; preds = %15531
  %15539 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15540 = call i32 @fileno(ptr noundef %15539) #11
  %15541 = call i32 @isatty(i32 noundef %15540) #11
  %15542 = icmp ne i32 %15541, 0
  br i1 %15542, label %15543, label %15560

15543:                                            ; preds = %15538
  %15544 = load i32, ptr %298, align 4, !tbaa !5
  %15545 = call ptr @__errno_location() #12
  store i32 %15544, ptr %15545, align 4, !tbaa !5
  %15546 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15547 = load i32, ptr @test_count, align 4, !tbaa !5
  %15548 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15549 = load i32, ptr %15548, align 4, !tbaa !5
  %15550 = call ptr @s2n_strerror(i32 noundef %15549, ptr noundef @.str.11)
  %15551 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15552 = load i32, ptr %15551, align 4, !tbaa !5
  %15553 = call ptr @s2n_strerror_debug(i32 noundef %15552, ptr noundef @.str.11)
  %15554 = call ptr @__errno_location() #12
  %15555 = load i32, ptr %15554, align 4, !tbaa !5
  %15556 = call ptr @strerror(i32 noundef %15555) #11
  %15557 = call ptr @__errno_location() #12
  %15558 = load i32, ptr %15557, align 4, !tbaa !5
  %15559 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15546, ptr noundef @.str.9, i32 noundef %15547, ptr noundef @.str.142, ptr noundef @.str.8, i32 noundef 595, ptr noundef %15550, ptr noundef %15553, ptr noundef %15556, i32 noundef %15558) #11
  br label %15577

15560:                                            ; preds = %15538, %15531
  %15561 = load i32, ptr %298, align 4, !tbaa !5
  %15562 = call ptr @__errno_location() #12
  store i32 %15561, ptr %15562, align 4, !tbaa !5
  %15563 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15564 = load i32, ptr @test_count, align 4, !tbaa !5
  %15565 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15566 = load i32, ptr %15565, align 4, !tbaa !5
  %15567 = call ptr @s2n_strerror(i32 noundef %15566, ptr noundef @.str.11)
  %15568 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15569 = load i32, ptr %15568, align 4, !tbaa !5
  %15570 = call ptr @s2n_strerror_debug(i32 noundef %15569, ptr noundef @.str.11)
  %15571 = call ptr @__errno_location() #12
  %15572 = load i32, ptr %15571, align 4, !tbaa !5
  %15573 = call ptr @strerror(i32 noundef %15572) #11
  %15574 = call ptr @__errno_location() #12
  %15575 = load i32, ptr %15574, align 4, !tbaa !5
  %15576 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15563, ptr noundef @.str.12, i32 noundef %15564, ptr noundef @.str.142, ptr noundef @.str.8, i32 noundef 595, ptr noundef %15567, ptr noundef %15570, ptr noundef %15573, i32 noundef %15575) #11
  br label %15577

15577:                                            ; preds = %15560, %15543
  call void @llvm.lifetime.end.p0(i64 4, ptr %298) #11
  br label %15578

15578:                                            ; preds = %15577
  br label %15579

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

15580:                                            ; No predecessors!
  br label %15581

15581:                                            ; preds = %15580
  br label %15582

15582:                                            ; preds = %15581, %15522
  br label %15583

15583:                                            ; preds = %15582
  br label %15584

15584:                                            ; preds = %15583
  br label %15585

15585:                                            ; preds = %15584
  %15586 = load i32, ptr @test_count, align 4, !tbaa !5
  %15587 = add nsw i32 %15586, 1
  store i32 %15587, ptr @test_count, align 4, !tbaa !5
  %15588 = load ptr, ptr %292, align 8, !tbaa !9
  %15589 = getelementptr inbounds %struct.s2n_connection, ptr %15588, i32 0, i32 6
  %15590 = load ptr, ptr %15589, align 8, !tbaa !64
  %15591 = icmp eq ptr %15590, null
  br i1 %15591, label %15645, label %15592

15592:                                            ; preds = %15585
  br label %15593

15593:                                            ; preds = %15592
  br label %15594

15594:                                            ; preds = %15593
  call void @llvm.lifetime.start.p0(i64 4, ptr %299) #11
  %15595 = call ptr @__errno_location() #12
  %15596 = load i32, ptr %15595, align 4, !tbaa !5
  store i32 %15596, ptr %299, align 4, !tbaa !5
  %15597 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15598 = call i32 @s2n_print_stacktrace(ptr noundef %15597)
  %15599 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15600 = trunc i8 %15599 to i1
  br i1 %15600, label %15601, label %15623

15601:                                            ; preds = %15594
  %15602 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15603 = call i32 @fileno(ptr noundef %15602) #11
  %15604 = call i32 @isatty(i32 noundef %15603) #11
  %15605 = icmp ne i32 %15604, 0
  br i1 %15605, label %15606, label %15623

15606:                                            ; preds = %15601
  %15607 = load i32, ptr %299, align 4, !tbaa !5
  %15608 = call ptr @__errno_location() #12
  store i32 %15607, ptr %15608, align 4, !tbaa !5
  %15609 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15610 = load i32, ptr @test_count, align 4, !tbaa !5
  %15611 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15612 = load i32, ptr %15611, align 4, !tbaa !5
  %15613 = call ptr @s2n_strerror(i32 noundef %15612, ptr noundef @.str.11)
  %15614 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15615 = load i32, ptr %15614, align 4, !tbaa !5
  %15616 = call ptr @s2n_strerror_debug(i32 noundef %15615, ptr noundef @.str.11)
  %15617 = call ptr @__errno_location() #12
  %15618 = load i32, ptr %15617, align 4, !tbaa !5
  %15619 = call ptr @strerror(i32 noundef %15618) #11
  %15620 = call ptr @__errno_location() #12
  %15621 = load i32, ptr %15620, align 4, !tbaa !5
  %15622 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15609, ptr noundef @.str.9, i32 noundef %15610, ptr noundef @.str.147, ptr noundef @.str.8, i32 noundef 596, ptr noundef %15613, ptr noundef %15616, ptr noundef %15619, i32 noundef %15621) #11
  br label %15640

15623:                                            ; preds = %15601, %15594
  %15624 = load i32, ptr %299, align 4, !tbaa !5
  %15625 = call ptr @__errno_location() #12
  store i32 %15624, ptr %15625, align 4, !tbaa !5
  %15626 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15627 = load i32, ptr @test_count, align 4, !tbaa !5
  %15628 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15629 = load i32, ptr %15628, align 4, !tbaa !5
  %15630 = call ptr @s2n_strerror(i32 noundef %15629, ptr noundef @.str.11)
  %15631 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15632 = load i32, ptr %15631, align 4, !tbaa !5
  %15633 = call ptr @s2n_strerror_debug(i32 noundef %15632, ptr noundef @.str.11)
  %15634 = call ptr @__errno_location() #12
  %15635 = load i32, ptr %15634, align 4, !tbaa !5
  %15636 = call ptr @strerror(i32 noundef %15635) #11
  %15637 = call ptr @__errno_location() #12
  %15638 = load i32, ptr %15637, align 4, !tbaa !5
  %15639 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15626, ptr noundef @.str.12, i32 noundef %15627, ptr noundef @.str.147, ptr noundef @.str.8, i32 noundef 596, ptr noundef %15630, ptr noundef %15633, ptr noundef %15636, i32 noundef %15638) #11
  br label %15640

15640:                                            ; preds = %15623, %15606
  call void @llvm.lifetime.end.p0(i64 4, ptr %299) #11
  br label %15641

15641:                                            ; preds = %15640
  br label %15642

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

15643:                                            ; No predecessors!
  br label %15644

15644:                                            ; preds = %15643
  br label %15645

15645:                                            ; preds = %15644, %15585
  br label %15646

15646:                                            ; preds = %15645
  br label %15647

15647:                                            ; preds = %15646
  br label %15648

15648:                                            ; preds = %15647
  %15649 = load i32, ptr @test_count, align 4, !tbaa !5
  %15650 = add nsw i32 %15649, 1
  store i32 %15650, ptr @test_count, align 4, !tbaa !5
  %15651 = load ptr, ptr %292, align 8, !tbaa !9
  %15652 = getelementptr inbounds %struct.s2n_connection, ptr %15651, i32 0, i32 7
  %15653 = load ptr, ptr %15652, align 8, !tbaa !65
  %15654 = icmp eq ptr %15653, null
  br i1 %15654, label %15708, label %15655

15655:                                            ; preds = %15648
  br label %15656

15656:                                            ; preds = %15655
  br label %15657

15657:                                            ; preds = %15656
  call void @llvm.lifetime.start.p0(i64 4, ptr %300) #11
  %15658 = call ptr @__errno_location() #12
  %15659 = load i32, ptr %15658, align 4, !tbaa !5
  store i32 %15659, ptr %300, align 4, !tbaa !5
  %15660 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15661 = call i32 @s2n_print_stacktrace(ptr noundef %15660)
  %15662 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15663 = trunc i8 %15662 to i1
  br i1 %15663, label %15664, label %15686

15664:                                            ; preds = %15657
  %15665 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15666 = call i32 @fileno(ptr noundef %15665) #11
  %15667 = call i32 @isatty(i32 noundef %15666) #11
  %15668 = icmp ne i32 %15667, 0
  br i1 %15668, label %15669, label %15686

15669:                                            ; preds = %15664
  %15670 = load i32, ptr %300, align 4, !tbaa !5
  %15671 = call ptr @__errno_location() #12
  store i32 %15670, ptr %15671, align 4, !tbaa !5
  %15672 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15673 = load i32, ptr @test_count, align 4, !tbaa !5
  %15674 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15675 = load i32, ptr %15674, align 4, !tbaa !5
  %15676 = call ptr @s2n_strerror(i32 noundef %15675, ptr noundef @.str.11)
  %15677 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15678 = load i32, ptr %15677, align 4, !tbaa !5
  %15679 = call ptr @s2n_strerror_debug(i32 noundef %15678, ptr noundef @.str.11)
  %15680 = call ptr @__errno_location() #12
  %15681 = load i32, ptr %15680, align 4, !tbaa !5
  %15682 = call ptr @strerror(i32 noundef %15681) #11
  %15683 = call ptr @__errno_location() #12
  %15684 = load i32, ptr %15683, align 4, !tbaa !5
  %15685 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15672, ptr noundef @.str.9, i32 noundef %15673, ptr noundef @.str.148, ptr noundef @.str.8, i32 noundef 597, ptr noundef %15676, ptr noundef %15679, ptr noundef %15682, i32 noundef %15684) #11
  br label %15703

15686:                                            ; preds = %15664, %15657
  %15687 = load i32, ptr %300, align 4, !tbaa !5
  %15688 = call ptr @__errno_location() #12
  store i32 %15687, ptr %15688, align 4, !tbaa !5
  %15689 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15690 = load i32, ptr @test_count, align 4, !tbaa !5
  %15691 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15692 = load i32, ptr %15691, align 4, !tbaa !5
  %15693 = call ptr @s2n_strerror(i32 noundef %15692, ptr noundef @.str.11)
  %15694 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15695 = load i32, ptr %15694, align 4, !tbaa !5
  %15696 = call ptr @s2n_strerror_debug(i32 noundef %15695, ptr noundef @.str.11)
  %15697 = call ptr @__errno_location() #12
  %15698 = load i32, ptr %15697, align 4, !tbaa !5
  %15699 = call ptr @strerror(i32 noundef %15698) #11
  %15700 = call ptr @__errno_location() #12
  %15701 = load i32, ptr %15700, align 4, !tbaa !5
  %15702 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15689, ptr noundef @.str.12, i32 noundef %15690, ptr noundef @.str.148, ptr noundef @.str.8, i32 noundef 597, ptr noundef %15693, ptr noundef %15696, ptr noundef %15699, i32 noundef %15701) #11
  br label %15703

15703:                                            ; preds = %15686, %15669
  call void @llvm.lifetime.end.p0(i64 4, ptr %300) #11
  br label %15704

15704:                                            ; preds = %15703
  br label %15705

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

15706:                                            ; No predecessors!
  br label %15707

15707:                                            ; preds = %15706
  br label %15708

15708:                                            ; preds = %15707, %15648
  br label %15709

15709:                                            ; preds = %15708
  br label %15710

15710:                                            ; preds = %15709
  br label %15711

15711:                                            ; preds = %15710
  %15712 = load i32, ptr @test_count, align 4, !tbaa !5
  %15713 = add nsw i32 %15712, 1
  store i32 %15713, ptr @test_count, align 4, !tbaa !5
  %15714 = load ptr, ptr %292, align 8, !tbaa !9
  %15715 = call i32 @s2n_connection_set_fd(ptr noundef %15714, i32 noundef 1)
  %15716 = icmp eq i32 %15715, -1
  br i1 %15716, label %15717, label %15770

15717:                                            ; preds = %15711
  br label %15718

15718:                                            ; preds = %15717
  br label %15719

15719:                                            ; preds = %15718
  call void @llvm.lifetime.start.p0(i64 4, ptr %301) #11
  %15720 = call ptr @__errno_location() #12
  %15721 = load i32, ptr %15720, align 4, !tbaa !5
  store i32 %15721, ptr %301, align 4, !tbaa !5
  %15722 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15723 = call i32 @s2n_print_stacktrace(ptr noundef %15722)
  %15724 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15725 = trunc i8 %15724 to i1
  br i1 %15725, label %15726, label %15748

15726:                                            ; preds = %15719
  %15727 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15728 = call i32 @fileno(ptr noundef %15727) #11
  %15729 = call i32 @isatty(i32 noundef %15728) #11
  %15730 = icmp ne i32 %15729, 0
  br i1 %15730, label %15731, label %15748

15731:                                            ; preds = %15726
  %15732 = load i32, ptr %301, align 4, !tbaa !5
  %15733 = call ptr @__errno_location() #12
  store i32 %15732, ptr %15733, align 4, !tbaa !5
  %15734 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15735 = load i32, ptr @test_count, align 4, !tbaa !5
  %15736 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15737 = load i32, ptr %15736, align 4, !tbaa !5
  %15738 = call ptr @s2n_strerror(i32 noundef %15737, ptr noundef @.str.11)
  %15739 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15740 = load i32, ptr %15739, align 4, !tbaa !5
  %15741 = call ptr @s2n_strerror_debug(i32 noundef %15740, ptr noundef @.str.11)
  %15742 = call ptr @__errno_location() #12
  %15743 = load i32, ptr %15742, align 4, !tbaa !5
  %15744 = call ptr @strerror(i32 noundef %15743) #11
  %15745 = call ptr @__errno_location() #12
  %15746 = load i32, ptr %15745, align 4, !tbaa !5
  %15747 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15734, ptr noundef @.str.9, i32 noundef %15735, ptr noundef @.str.113, ptr noundef @.str.8, i32 noundef 600, ptr noundef %15738, ptr noundef %15741, ptr noundef %15744, i32 noundef %15746) #11
  br label %15765

15748:                                            ; preds = %15726, %15719
  %15749 = load i32, ptr %301, align 4, !tbaa !5
  %15750 = call ptr @__errno_location() #12
  store i32 %15749, ptr %15750, align 4, !tbaa !5
  %15751 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15752 = load i32, ptr @test_count, align 4, !tbaa !5
  %15753 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15754 = load i32, ptr %15753, align 4, !tbaa !5
  %15755 = call ptr @s2n_strerror(i32 noundef %15754, ptr noundef @.str.11)
  %15756 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15757 = load i32, ptr %15756, align 4, !tbaa !5
  %15758 = call ptr @s2n_strerror_debug(i32 noundef %15757, ptr noundef @.str.11)
  %15759 = call ptr @__errno_location() #12
  %15760 = load i32, ptr %15759, align 4, !tbaa !5
  %15761 = call ptr @strerror(i32 noundef %15760) #11
  %15762 = call ptr @__errno_location() #12
  %15763 = load i32, ptr %15762, align 4, !tbaa !5
  %15764 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15751, ptr noundef @.str.12, i32 noundef %15752, ptr noundef @.str.113, ptr noundef @.str.8, i32 noundef 600, ptr noundef %15755, ptr noundef %15758, ptr noundef %15761, i32 noundef %15763) #11
  br label %15765

15765:                                            ; preds = %15748, %15731
  call void @llvm.lifetime.end.p0(i64 4, ptr %301) #11
  br label %15766

15766:                                            ; preds = %15765
  br label %15767

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

15768:                                            ; No predecessors!
  br label %15769

15769:                                            ; preds = %15768
  br label %15770

15770:                                            ; preds = %15769, %15711
  br label %15771

15771:                                            ; preds = %15770
  br label %15772

15772:                                            ; preds = %15771
  br label %15773

15773:                                            ; preds = %15772
  %15774 = load i32, ptr @test_count, align 4, !tbaa !5
  %15775 = add nsw i32 %15774, 1
  store i32 %15775, ptr @test_count, align 4, !tbaa !5
  %15776 = load ptr, ptr %292, align 8, !tbaa !9
  %15777 = getelementptr inbounds %struct.s2n_connection, ptr %15776, i32 0, i32 8
  %15778 = load ptr, ptr %15777, align 8, !tbaa !66
  %15779 = icmp eq ptr %15778, null
  br i1 %15779, label %15780, label %15833

15780:                                            ; preds = %15773
  br label %15781

15781:                                            ; preds = %15780
  br label %15782

15782:                                            ; preds = %15781
  call void @llvm.lifetime.start.p0(i64 4, ptr %302) #11
  %15783 = call ptr @__errno_location() #12
  %15784 = load i32, ptr %15783, align 4, !tbaa !5
  store i32 %15784, ptr %302, align 4, !tbaa !5
  %15785 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15786 = call i32 @s2n_print_stacktrace(ptr noundef %15785)
  %15787 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15788 = trunc i8 %15787 to i1
  br i1 %15788, label %15789, label %15811

15789:                                            ; preds = %15782
  %15790 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15791 = call i32 @fileno(ptr noundef %15790) #11
  %15792 = call i32 @isatty(i32 noundef %15791) #11
  %15793 = icmp ne i32 %15792, 0
  br i1 %15793, label %15794, label %15811

15794:                                            ; preds = %15789
  %15795 = load i32, ptr %302, align 4, !tbaa !5
  %15796 = call ptr @__errno_location() #12
  store i32 %15795, ptr %15796, align 4, !tbaa !5
  %15797 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15798 = load i32, ptr @test_count, align 4, !tbaa !5
  %15799 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15800 = load i32, ptr %15799, align 4, !tbaa !5
  %15801 = call ptr @s2n_strerror(i32 noundef %15800, ptr noundef @.str.11)
  %15802 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15803 = load i32, ptr %15802, align 4, !tbaa !5
  %15804 = call ptr @s2n_strerror_debug(i32 noundef %15803, ptr noundef @.str.11)
  %15805 = call ptr @__errno_location() #12
  %15806 = load i32, ptr %15805, align 4, !tbaa !5
  %15807 = call ptr @strerror(i32 noundef %15806) #11
  %15808 = call ptr @__errno_location() #12
  %15809 = load i32, ptr %15808, align 4, !tbaa !5
  %15810 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15797, ptr noundef @.str.9, i32 noundef %15798, ptr noundef @.str.149, ptr noundef @.str.8, i32 noundef 601, ptr noundef %15801, ptr noundef %15804, ptr noundef %15807, i32 noundef %15809) #11
  br label %15828

15811:                                            ; preds = %15789, %15782
  %15812 = load i32, ptr %302, align 4, !tbaa !5
  %15813 = call ptr @__errno_location() #12
  store i32 %15812, ptr %15813, align 4, !tbaa !5
  %15814 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15815 = load i32, ptr @test_count, align 4, !tbaa !5
  %15816 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15817 = load i32, ptr %15816, align 4, !tbaa !5
  %15818 = call ptr @s2n_strerror(i32 noundef %15817, ptr noundef @.str.11)
  %15819 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15820 = load i32, ptr %15819, align 4, !tbaa !5
  %15821 = call ptr @s2n_strerror_debug(i32 noundef %15820, ptr noundef @.str.11)
  %15822 = call ptr @__errno_location() #12
  %15823 = load i32, ptr %15822, align 4, !tbaa !5
  %15824 = call ptr @strerror(i32 noundef %15823) #11
  %15825 = call ptr @__errno_location() #12
  %15826 = load i32, ptr %15825, align 4, !tbaa !5
  %15827 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15814, ptr noundef @.str.12, i32 noundef %15815, ptr noundef @.str.149, ptr noundef @.str.8, i32 noundef 601, ptr noundef %15818, ptr noundef %15821, ptr noundef %15824, i32 noundef %15826) #11
  br label %15828

15828:                                            ; preds = %15811, %15794
  call void @llvm.lifetime.end.p0(i64 4, ptr %302) #11
  br label %15829

15829:                                            ; preds = %15828
  br label %15830

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

15831:                                            ; No predecessors!
  br label %15832

15832:                                            ; preds = %15831
  br label %15833

15833:                                            ; preds = %15832, %15773
  br label %15834

15834:                                            ; preds = %15833
  br label %15835

15835:                                            ; preds = %15834
  br label %15836

15836:                                            ; preds = %15835
  %15837 = load i32, ptr @test_count, align 4, !tbaa !5
  %15838 = add nsw i32 %15837, 1
  store i32 %15838, ptr @test_count, align 4, !tbaa !5
  %15839 = load ptr, ptr %292, align 8, !tbaa !9
  %15840 = getelementptr inbounds %struct.s2n_connection, ptr %15839, i32 0, i32 9
  %15841 = load ptr, ptr %15840, align 8, !tbaa !67
  %15842 = icmp eq ptr %15841, null
  br i1 %15842, label %15843, label %15896

15843:                                            ; preds = %15836
  br label %15844

15844:                                            ; preds = %15843
  br label %15845

15845:                                            ; preds = %15844
  call void @llvm.lifetime.start.p0(i64 4, ptr %303) #11
  %15846 = call ptr @__errno_location() #12
  %15847 = load i32, ptr %15846, align 4, !tbaa !5
  store i32 %15847, ptr %303, align 4, !tbaa !5
  %15848 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15849 = call i32 @s2n_print_stacktrace(ptr noundef %15848)
  %15850 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15851 = trunc i8 %15850 to i1
  br i1 %15851, label %15852, label %15874

15852:                                            ; preds = %15845
  %15853 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15854 = call i32 @fileno(ptr noundef %15853) #11
  %15855 = call i32 @isatty(i32 noundef %15854) #11
  %15856 = icmp ne i32 %15855, 0
  br i1 %15856, label %15857, label %15874

15857:                                            ; preds = %15852
  %15858 = load i32, ptr %303, align 4, !tbaa !5
  %15859 = call ptr @__errno_location() #12
  store i32 %15858, ptr %15859, align 4, !tbaa !5
  %15860 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15861 = load i32, ptr @test_count, align 4, !tbaa !5
  %15862 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15863 = load i32, ptr %15862, align 4, !tbaa !5
  %15864 = call ptr @s2n_strerror(i32 noundef %15863, ptr noundef @.str.11)
  %15865 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15866 = load i32, ptr %15865, align 4, !tbaa !5
  %15867 = call ptr @s2n_strerror_debug(i32 noundef %15866, ptr noundef @.str.11)
  %15868 = call ptr @__errno_location() #12
  %15869 = load i32, ptr %15868, align 4, !tbaa !5
  %15870 = call ptr @strerror(i32 noundef %15869) #11
  %15871 = call ptr @__errno_location() #12
  %15872 = load i32, ptr %15871, align 4, !tbaa !5
  %15873 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15860, ptr noundef @.str.9, i32 noundef %15861, ptr noundef @.str.150, ptr noundef @.str.8, i32 noundef 602, ptr noundef %15864, ptr noundef %15867, ptr noundef %15870, i32 noundef %15872) #11
  br label %15891

15874:                                            ; preds = %15852, %15845
  %15875 = load i32, ptr %303, align 4, !tbaa !5
  %15876 = call ptr @__errno_location() #12
  store i32 %15875, ptr %15876, align 4, !tbaa !5
  %15877 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15878 = load i32, ptr @test_count, align 4, !tbaa !5
  %15879 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15880 = load i32, ptr %15879, align 4, !tbaa !5
  %15881 = call ptr @s2n_strerror(i32 noundef %15880, ptr noundef @.str.11)
  %15882 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15883 = load i32, ptr %15882, align 4, !tbaa !5
  %15884 = call ptr @s2n_strerror_debug(i32 noundef %15883, ptr noundef @.str.11)
  %15885 = call ptr @__errno_location() #12
  %15886 = load i32, ptr %15885, align 4, !tbaa !5
  %15887 = call ptr @strerror(i32 noundef %15886) #11
  %15888 = call ptr @__errno_location() #12
  %15889 = load i32, ptr %15888, align 4, !tbaa !5
  %15890 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15877, ptr noundef @.str.12, i32 noundef %15878, ptr noundef @.str.150, ptr noundef @.str.8, i32 noundef 602, ptr noundef %15881, ptr noundef %15884, ptr noundef %15887, i32 noundef %15889) #11
  br label %15891

15891:                                            ; preds = %15874, %15857
  call void @llvm.lifetime.end.p0(i64 4, ptr %303) #11
  br label %15892

15892:                                            ; preds = %15891
  br label %15893

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

15894:                                            ; No predecessors!
  br label %15895

15895:                                            ; preds = %15894
  br label %15896

15896:                                            ; preds = %15895, %15836
  br label %15897

15897:                                            ; preds = %15896
  br label %15898

15898:                                            ; preds = %15897
  br label %15899

15899:                                            ; preds = %15898
  %15900 = load i32, ptr @test_count, align 4, !tbaa !5
  %15901 = add nsw i32 %15900, 1
  store i32 %15901, ptr @test_count, align 4, !tbaa !5
  %15902 = load ptr, ptr %292, align 8, !tbaa !9
  %15903 = call i32 @s2n_connection_set_send_cb(ptr noundef %15902, ptr noundef @s2n_noop_send_cb)
  %15904 = icmp eq i32 %15903, -1
  br i1 %15904, label %15905, label %15958

15905:                                            ; preds = %15899
  br label %15906

15906:                                            ; preds = %15905
  br label %15907

15907:                                            ; preds = %15906
  call void @llvm.lifetime.start.p0(i64 4, ptr %304) #11
  %15908 = call ptr @__errno_location() #12
  %15909 = load i32, ptr %15908, align 4, !tbaa !5
  store i32 %15909, ptr %304, align 4, !tbaa !5
  %15910 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15911 = call i32 @s2n_print_stacktrace(ptr noundef %15910)
  %15912 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15913 = trunc i8 %15912 to i1
  br i1 %15913, label %15914, label %15936

15914:                                            ; preds = %15907
  %15915 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15916 = call i32 @fileno(ptr noundef %15915) #11
  %15917 = call i32 @isatty(i32 noundef %15916) #11
  %15918 = icmp ne i32 %15917, 0
  br i1 %15918, label %15919, label %15936

15919:                                            ; preds = %15914
  %15920 = load i32, ptr %304, align 4, !tbaa !5
  %15921 = call ptr @__errno_location() #12
  store i32 %15920, ptr %15921, align 4, !tbaa !5
  %15922 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15923 = load i32, ptr @test_count, align 4, !tbaa !5
  %15924 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15925 = load i32, ptr %15924, align 4, !tbaa !5
  %15926 = call ptr @s2n_strerror(i32 noundef %15925, ptr noundef @.str.11)
  %15927 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15928 = load i32, ptr %15927, align 4, !tbaa !5
  %15929 = call ptr @s2n_strerror_debug(i32 noundef %15928, ptr noundef @.str.11)
  %15930 = call ptr @__errno_location() #12
  %15931 = load i32, ptr %15930, align 4, !tbaa !5
  %15932 = call ptr @strerror(i32 noundef %15931) #11
  %15933 = call ptr @__errno_location() #12
  %15934 = load i32, ptr %15933, align 4, !tbaa !5
  %15935 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15922, ptr noundef @.str.9, i32 noundef %15923, ptr noundef @.str.139, ptr noundef @.str.8, i32 noundef 605, ptr noundef %15926, ptr noundef %15929, ptr noundef %15932, i32 noundef %15934) #11
  br label %15953

15936:                                            ; preds = %15914, %15907
  %15937 = load i32, ptr %304, align 4, !tbaa !5
  %15938 = call ptr @__errno_location() #12
  store i32 %15937, ptr %15938, align 4, !tbaa !5
  %15939 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15940 = load i32, ptr @test_count, align 4, !tbaa !5
  %15941 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15942 = load i32, ptr %15941, align 4, !tbaa !5
  %15943 = call ptr @s2n_strerror(i32 noundef %15942, ptr noundef @.str.11)
  %15944 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15945 = load i32, ptr %15944, align 4, !tbaa !5
  %15946 = call ptr @s2n_strerror_debug(i32 noundef %15945, ptr noundef @.str.11)
  %15947 = call ptr @__errno_location() #12
  %15948 = load i32, ptr %15947, align 4, !tbaa !5
  %15949 = call ptr @strerror(i32 noundef %15948) #11
  %15950 = call ptr @__errno_location() #12
  %15951 = load i32, ptr %15950, align 4, !tbaa !5
  %15952 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15939, ptr noundef @.str.12, i32 noundef %15940, ptr noundef @.str.139, ptr noundef @.str.8, i32 noundef 605, ptr noundef %15943, ptr noundef %15946, ptr noundef %15949, i32 noundef %15951) #11
  br label %15953

15953:                                            ; preds = %15936, %15919
  call void @llvm.lifetime.end.p0(i64 4, ptr %304) #11
  br label %15954

15954:                                            ; preds = %15953
  br label %15955

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

15956:                                            ; No predecessors!
  br label %15957

15957:                                            ; preds = %15956
  br label %15958

15958:                                            ; preds = %15957, %15899
  br label %15959

15959:                                            ; preds = %15958
  br label %15960

15960:                                            ; preds = %15959
  br label %15961

15961:                                            ; preds = %15960
  %15962 = load i32, ptr @test_count, align 4, !tbaa !5
  %15963 = add nsw i32 %15962, 1
  store i32 %15963, ptr @test_count, align 4, !tbaa !5
  %15964 = load ptr, ptr %292, align 8, !tbaa !9
  %15965 = call i32 @s2n_connection_set_recv_cb(ptr noundef %15964, ptr noundef @s2n_noop_recv_cb)
  %15966 = icmp eq i32 %15965, -1
  br i1 %15966, label %15967, label %16020

15967:                                            ; preds = %15961
  br label %15968

15968:                                            ; preds = %15967
  br label %15969

15969:                                            ; preds = %15968
  call void @llvm.lifetime.start.p0(i64 4, ptr %305) #11
  %15970 = call ptr @__errno_location() #12
  %15971 = load i32, ptr %15970, align 4, !tbaa !5
  store i32 %15971, ptr %305, align 4, !tbaa !5
  %15972 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15973 = call i32 @s2n_print_stacktrace(ptr noundef %15972)
  %15974 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15975 = trunc i8 %15974 to i1
  br i1 %15975, label %15976, label %15998

15976:                                            ; preds = %15969
  %15977 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15978 = call i32 @fileno(ptr noundef %15977) #11
  %15979 = call i32 @isatty(i32 noundef %15978) #11
  %15980 = icmp ne i32 %15979, 0
  br i1 %15980, label %15981, label %15998

15981:                                            ; preds = %15976
  %15982 = load i32, ptr %305, align 4, !tbaa !5
  %15983 = call ptr @__errno_location() #12
  store i32 %15982, ptr %15983, align 4, !tbaa !5
  %15984 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15985 = load i32, ptr @test_count, align 4, !tbaa !5
  %15986 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15987 = load i32, ptr %15986, align 4, !tbaa !5
  %15988 = call ptr @s2n_strerror(i32 noundef %15987, ptr noundef @.str.11)
  %15989 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15990 = load i32, ptr %15989, align 4, !tbaa !5
  %15991 = call ptr @s2n_strerror_debug(i32 noundef %15990, ptr noundef @.str.11)
  %15992 = call ptr @__errno_location() #12
  %15993 = load i32, ptr %15992, align 4, !tbaa !5
  %15994 = call ptr @strerror(i32 noundef %15993) #11
  %15995 = call ptr @__errno_location() #12
  %15996 = load i32, ptr %15995, align 4, !tbaa !5
  %15997 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15984, ptr noundef @.str.9, i32 noundef %15985, ptr noundef @.str.141, ptr noundef @.str.8, i32 noundef 606, ptr noundef %15988, ptr noundef %15991, ptr noundef %15994, i32 noundef %15996) #11
  br label %16015

15998:                                            ; preds = %15976, %15969
  %15999 = load i32, ptr %305, align 4, !tbaa !5
  %16000 = call ptr @__errno_location() #12
  store i32 %15999, ptr %16000, align 4, !tbaa !5
  %16001 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16002 = load i32, ptr @test_count, align 4, !tbaa !5
  %16003 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16004 = load i32, ptr %16003, align 4, !tbaa !5
  %16005 = call ptr @s2n_strerror(i32 noundef %16004, ptr noundef @.str.11)
  %16006 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16007 = load i32, ptr %16006, align 4, !tbaa !5
  %16008 = call ptr @s2n_strerror_debug(i32 noundef %16007, ptr noundef @.str.11)
  %16009 = call ptr @__errno_location() #12
  %16010 = load i32, ptr %16009, align 4, !tbaa !5
  %16011 = call ptr @strerror(i32 noundef %16010) #11
  %16012 = call ptr @__errno_location() #12
  %16013 = load i32, ptr %16012, align 4, !tbaa !5
  %16014 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16001, ptr noundef @.str.12, i32 noundef %16002, ptr noundef @.str.141, ptr noundef @.str.8, i32 noundef 606, ptr noundef %16005, ptr noundef %16008, ptr noundef %16011, i32 noundef %16013) #11
  br label %16015

16015:                                            ; preds = %15998, %15981
  call void @llvm.lifetime.end.p0(i64 4, ptr %305) #11
  br label %16016

16016:                                            ; preds = %16015
  br label %16017

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

16018:                                            ; No predecessors!
  br label %16019

16019:                                            ; preds = %16018
  br label %16020

16020:                                            ; preds = %16019, %15961
  br label %16021

16021:                                            ; preds = %16020
  br label %16022

16022:                                            ; preds = %16021
  br label %16023

16023:                                            ; preds = %16022
  %16024 = load i32, ptr @test_count, align 4, !tbaa !5
  %16025 = add nsw i32 %16024, 1
  store i32 %16025, ptr @test_count, align 4, !tbaa !5
  %16026 = load ptr, ptr %292, align 8, !tbaa !9
  %16027 = getelementptr inbounds %struct.s2n_connection, ptr %16026, i32 0, i32 8
  %16028 = load ptr, ptr %16027, align 8, !tbaa !66
  %16029 = icmp eq ptr %16028, null
  br i1 %16029, label %16083, label %16030

16030:                                            ; preds = %16023
  br label %16031

16031:                                            ; preds = %16030
  br label %16032

16032:                                            ; preds = %16031
  call void @llvm.lifetime.start.p0(i64 4, ptr %306) #11
  %16033 = call ptr @__errno_location() #12
  %16034 = load i32, ptr %16033, align 4, !tbaa !5
  store i32 %16034, ptr %306, align 4, !tbaa !5
  %16035 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16036 = call i32 @s2n_print_stacktrace(ptr noundef %16035)
  %16037 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16038 = trunc i8 %16037 to i1
  br i1 %16038, label %16039, label %16061

16039:                                            ; preds = %16032
  %16040 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16041 = call i32 @fileno(ptr noundef %16040) #11
  %16042 = call i32 @isatty(i32 noundef %16041) #11
  %16043 = icmp ne i32 %16042, 0
  br i1 %16043, label %16044, label %16061

16044:                                            ; preds = %16039
  %16045 = load i32, ptr %306, align 4, !tbaa !5
  %16046 = call ptr @__errno_location() #12
  store i32 %16045, ptr %16046, align 4, !tbaa !5
  %16047 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16048 = load i32, ptr @test_count, align 4, !tbaa !5
  %16049 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16050 = load i32, ptr %16049, align 4, !tbaa !5
  %16051 = call ptr @s2n_strerror(i32 noundef %16050, ptr noundef @.str.11)
  %16052 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16053 = load i32, ptr %16052, align 4, !tbaa !5
  %16054 = call ptr @s2n_strerror_debug(i32 noundef %16053, ptr noundef @.str.11)
  %16055 = call ptr @__errno_location() #12
  %16056 = load i32, ptr %16055, align 4, !tbaa !5
  %16057 = call ptr @strerror(i32 noundef %16056) #11
  %16058 = call ptr @__errno_location() #12
  %16059 = load i32, ptr %16058, align 4, !tbaa !5
  %16060 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16047, ptr noundef @.str.9, i32 noundef %16048, ptr noundef @.str.151, ptr noundef @.str.8, i32 noundef 607, ptr noundef %16051, ptr noundef %16054, ptr noundef %16057, i32 noundef %16059) #11
  br label %16078

16061:                                            ; preds = %16039, %16032
  %16062 = load i32, ptr %306, align 4, !tbaa !5
  %16063 = call ptr @__errno_location() #12
  store i32 %16062, ptr %16063, align 4, !tbaa !5
  %16064 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16065 = load i32, ptr @test_count, align 4, !tbaa !5
  %16066 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16067 = load i32, ptr %16066, align 4, !tbaa !5
  %16068 = call ptr @s2n_strerror(i32 noundef %16067, ptr noundef @.str.11)
  %16069 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16070 = load i32, ptr %16069, align 4, !tbaa !5
  %16071 = call ptr @s2n_strerror_debug(i32 noundef %16070, ptr noundef @.str.11)
  %16072 = call ptr @__errno_location() #12
  %16073 = load i32, ptr %16072, align 4, !tbaa !5
  %16074 = call ptr @strerror(i32 noundef %16073) #11
  %16075 = call ptr @__errno_location() #12
  %16076 = load i32, ptr %16075, align 4, !tbaa !5
  %16077 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16064, ptr noundef @.str.12, i32 noundef %16065, ptr noundef @.str.151, ptr noundef @.str.8, i32 noundef 607, ptr noundef %16068, ptr noundef %16071, ptr noundef %16074, i32 noundef %16076) #11
  br label %16078

16078:                                            ; preds = %16061, %16044
  call void @llvm.lifetime.end.p0(i64 4, ptr %306) #11
  br label %16079

16079:                                            ; preds = %16078
  br label %16080

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

16081:                                            ; No predecessors!
  br label %16082

16082:                                            ; preds = %16081
  br label %16083

16083:                                            ; preds = %16082, %16023
  br label %16084

16084:                                            ; preds = %16083
  br label %16085

16085:                                            ; preds = %16084
  br label %16086

16086:                                            ; preds = %16085
  %16087 = load i32, ptr @test_count, align 4, !tbaa !5
  %16088 = add nsw i32 %16087, 1
  store i32 %16088, ptr @test_count, align 4, !tbaa !5
  %16089 = load ptr, ptr %292, align 8, !tbaa !9
  %16090 = getelementptr inbounds %struct.s2n_connection, ptr %16089, i32 0, i32 9
  %16091 = load ptr, ptr %16090, align 8, !tbaa !67
  %16092 = icmp eq ptr %16091, null
  br i1 %16092, label %16146, label %16093

16093:                                            ; preds = %16086
  br label %16094

16094:                                            ; preds = %16093
  br label %16095

16095:                                            ; preds = %16094
  call void @llvm.lifetime.start.p0(i64 4, ptr %307) #11
  %16096 = call ptr @__errno_location() #12
  %16097 = load i32, ptr %16096, align 4, !tbaa !5
  store i32 %16097, ptr %307, align 4, !tbaa !5
  %16098 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16099 = call i32 @s2n_print_stacktrace(ptr noundef %16098)
  %16100 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16101 = trunc i8 %16100 to i1
  br i1 %16101, label %16102, label %16124

16102:                                            ; preds = %16095
  %16103 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16104 = call i32 @fileno(ptr noundef %16103) #11
  %16105 = call i32 @isatty(i32 noundef %16104) #11
  %16106 = icmp ne i32 %16105, 0
  br i1 %16106, label %16107, label %16124

16107:                                            ; preds = %16102
  %16108 = load i32, ptr %307, align 4, !tbaa !5
  %16109 = call ptr @__errno_location() #12
  store i32 %16108, ptr %16109, align 4, !tbaa !5
  %16110 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16111 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %16113, ptr noundef @.str.11)
  %16115 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16116 = load i32, ptr %16115, align 4, !tbaa !5
  %16117 = call ptr @s2n_strerror_debug(i32 noundef %16116, ptr noundef @.str.11)
  %16118 = call ptr @__errno_location() #12
  %16119 = load i32, ptr %16118, align 4, !tbaa !5
  %16120 = call ptr @strerror(i32 noundef %16119) #11
  %16121 = call ptr @__errno_location() #12
  %16122 = load i32, ptr %16121, align 4, !tbaa !5
  %16123 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16110, ptr noundef @.str.9, i32 noundef %16111, ptr noundef @.str.152, ptr noundef @.str.8, i32 noundef 608, ptr noundef %16114, ptr noundef %16117, ptr noundef %16120, i32 noundef %16122) #11
  br label %16141

16124:                                            ; preds = %16102, %16095
  %16125 = load i32, ptr %307, align 4, !tbaa !5
  %16126 = call ptr @__errno_location() #12
  store i32 %16125, ptr %16126, align 4, !tbaa !5
  %16127 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16128 = load i32, ptr @test_count, align 4, !tbaa !5
  %16129 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16130 = load i32, ptr %16129, align 4, !tbaa !5
  %16131 = call ptr @s2n_strerror(i32 noundef %16130, ptr noundef @.str.11)
  %16132 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16133 = load i32, ptr %16132, align 4, !tbaa !5
  %16134 = call ptr @s2n_strerror_debug(i32 noundef %16133, ptr noundef @.str.11)
  %16135 = call ptr @__errno_location() #12
  %16136 = load i32, ptr %16135, align 4, !tbaa !5
  %16137 = call ptr @strerror(i32 noundef %16136) #11
  %16138 = call ptr @__errno_location() #12
  %16139 = load i32, ptr %16138, align 4, !tbaa !5
  %16140 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16127, ptr noundef @.str.12, i32 noundef %16128, ptr noundef @.str.152, ptr noundef @.str.8, i32 noundef 608, ptr noundef %16131, ptr noundef %16134, ptr noundef %16137, i32 noundef %16139) #11
  br label %16141

16141:                                            ; preds = %16124, %16107
  call void @llvm.lifetime.end.p0(i64 4, ptr %307) #11
  br label %16142

16142:                                            ; preds = %16141
  br label %16143

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

16144:                                            ; No predecessors!
  br label %16145

16145:                                            ; preds = %16144
  br label %16146

16146:                                            ; preds = %16145, %16086
  br label %16147

16147:                                            ; preds = %16146
  br label %16148

16148:                                            ; preds = %16147
  br label %16149

16149:                                            ; preds = %16148
  %16150 = load i32, ptr @test_count, align 4, !tbaa !5
  %16151 = add nsw i32 %16150, 1
  store i32 %16151, ptr @test_count, align 4, !tbaa !5
  %16152 = load ptr, ptr %292, align 8, !tbaa !9
  %16153 = call i32 @s2n_connection_free(ptr noundef %16152)
  %16154 = icmp eq i32 %16153, -1
  br i1 %16154, label %16155, label %16208

16155:                                            ; preds = %16149
  br label %16156

16156:                                            ; preds = %16155
  br label %16157

16157:                                            ; preds = %16156
  call void @llvm.lifetime.start.p0(i64 4, ptr %308) #11
  %16158 = call ptr @__errno_location() #12
  %16159 = load i32, ptr %16158, align 4, !tbaa !5
  store i32 %16159, ptr %308, align 4, !tbaa !5
  %16160 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16161 = call i32 @s2n_print_stacktrace(ptr noundef %16160)
  %16162 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16163 = trunc i8 %16162 to i1
  br i1 %16163, label %16164, label %16186

16164:                                            ; preds = %16157
  %16165 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16166 = call i32 @fileno(ptr noundef %16165) #11
  %16167 = call i32 @isatty(i32 noundef %16166) #11
  %16168 = icmp ne i32 %16167, 0
  br i1 %16168, label %16169, label %16186

16169:                                            ; preds = %16164
  %16170 = load i32, ptr %308, align 4, !tbaa !5
  %16171 = call ptr @__errno_location() #12
  store i32 %16170, ptr %16171, align 4, !tbaa !5
  %16172 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16173 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %16175, ptr noundef @.str.11)
  %16177 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16178 = load i32, ptr %16177, align 4, !tbaa !5
  %16179 = call ptr @s2n_strerror_debug(i32 noundef %16178, ptr noundef @.str.11)
  %16180 = call ptr @__errno_location() #12
  %16181 = load i32, ptr %16180, align 4, !tbaa !5
  %16182 = call ptr @strerror(i32 noundef %16181) #11
  %16183 = call ptr @__errno_location() #12
  %16184 = load i32, ptr %16183, align 4, !tbaa !5
  %16185 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16172, ptr noundef @.str.9, i32 noundef %16173, ptr noundef @.str.25, ptr noundef @.str.8, i32 noundef 610, ptr noundef %16176, ptr noundef %16179, ptr noundef %16182, i32 noundef %16184) #11
  br label %16203

16186:                                            ; preds = %16164, %16157
  %16187 = load i32, ptr %308, align 4, !tbaa !5
  %16188 = call ptr @__errno_location() #12
  store i32 %16187, ptr %16188, align 4, !tbaa !5
  %16189 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16190 = load i32, ptr @test_count, align 4, !tbaa !5
  %16191 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16192 = load i32, ptr %16191, align 4, !tbaa !5
  %16193 = call ptr @s2n_strerror(i32 noundef %16192, ptr noundef @.str.11)
  %16194 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16195 = load i32, ptr %16194, align 4, !tbaa !5
  %16196 = call ptr @s2n_strerror_debug(i32 noundef %16195, ptr noundef @.str.11)
  %16197 = call ptr @__errno_location() #12
  %16198 = load i32, ptr %16197, align 4, !tbaa !5
  %16199 = call ptr @strerror(i32 noundef %16198) #11
  %16200 = call ptr @__errno_location() #12
  %16201 = load i32, ptr %16200, align 4, !tbaa !5
  %16202 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16189, ptr noundef @.str.12, i32 noundef %16190, ptr noundef @.str.25, ptr noundef @.str.8, i32 noundef 610, ptr noundef %16193, ptr noundef %16196, ptr noundef %16199, i32 noundef %16201) #11
  br label %16203

16203:                                            ; preds = %16186, %16169
  call void @llvm.lifetime.end.p0(i64 4, ptr %308) #11
  br label %16204

16204:                                            ; preds = %16203
  br label %16205

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

16206:                                            ; No predecessors!
  br label %16207

16207:                                            ; preds = %16206
  br label %16208

16208:                                            ; preds = %16207, %16149
  br label %16209

16209:                                            ; preds = %16208
  br label %16210

16210:                                            ; preds = %16209
  call void @llvm.lifetime.end.p0(i64 8, ptr %292) #11
  call void @llvm.lifetime.end.p0(i64 18, ptr %291) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %309) #11
  store ptr null, ptr %309, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %310) #11
  %16211 = call ptr @s2n_config_new()
  store ptr %16211, ptr %310, align 8, !tbaa !9
  br label %16212

16212:                                            ; preds = %16210
  %16213 = load i32, ptr @test_count, align 4, !tbaa !5
  %16214 = add nsw i32 %16213, 1
  store i32 %16214, ptr @test_count, align 4, !tbaa !5
  %16215 = load ptr, ptr %310, align 8, !tbaa !9
  %16216 = icmp eq ptr %16215, null
  br i1 %16216, label %16217, label %16270

16217:                                            ; preds = %16212
  br label %16218

16218:                                            ; preds = %16217
  br label %16219

16219:                                            ; preds = %16218
  call void @llvm.lifetime.start.p0(i64 4, ptr %311) #11
  %16220 = call ptr @__errno_location() #12
  %16221 = load i32, ptr %16220, align 4, !tbaa !5
  store i32 %16221, ptr %311, align 4, !tbaa !5
  %16222 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16223 = call i32 @s2n_print_stacktrace(ptr noundef %16222)
  %16224 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16225 = trunc i8 %16224 to i1
  br i1 %16225, label %16226, label %16248

16226:                                            ; preds = %16219
  %16227 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16228 = call i32 @fileno(ptr noundef %16227) #11
  %16229 = call i32 @isatty(i32 noundef %16228) #11
  %16230 = icmp ne i32 %16229, 0
  br i1 %16230, label %16231, label %16248

16231:                                            ; preds = %16226
  %16232 = load i32, ptr %311, align 4, !tbaa !5
  %16233 = call ptr @__errno_location() #12
  store i32 %16232, ptr %16233, align 4, !tbaa !5
  %16234 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16235 = load i32, ptr @test_count, align 4, !tbaa !5
  %16236 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16237 = load i32, ptr %16236, align 4, !tbaa !5
  %16238 = call ptr @s2n_strerror(i32 noundef %16237, ptr noundef @.str.11)
  %16239 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16240 = load i32, ptr %16239, align 4, !tbaa !5
  %16241 = call ptr @s2n_strerror_debug(i32 noundef %16240, ptr noundef @.str.11)
  %16242 = call ptr @__errno_location() #12
  %16243 = load i32, ptr %16242, align 4, !tbaa !5
  %16244 = call ptr @strerror(i32 noundef %16243) #11
  %16245 = call ptr @__errno_location() #12
  %16246 = load i32, ptr %16245, align 4, !tbaa !5
  %16247 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16234, ptr noundef @.str.9, i32 noundef %16235, ptr noundef @.str.69, ptr noundef @.str.8, i32 noundef 617, ptr noundef %16238, ptr noundef %16241, ptr noundef %16244, i32 noundef %16246) #11
  br label %16265

16248:                                            ; preds = %16226, %16219
  %16249 = load i32, ptr %311, align 4, !tbaa !5
  %16250 = call ptr @__errno_location() #12
  store i32 %16249, ptr %16250, align 4, !tbaa !5
  %16251 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16252 = load i32, ptr @test_count, align 4, !tbaa !5
  %16253 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16254 = load i32, ptr %16253, align 4, !tbaa !5
  %16255 = call ptr @s2n_strerror(i32 noundef %16254, ptr noundef @.str.11)
  %16256 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16257 = load i32, ptr %16256, align 4, !tbaa !5
  %16258 = call ptr @s2n_strerror_debug(i32 noundef %16257, ptr noundef @.str.11)
  %16259 = call ptr @__errno_location() #12
  %16260 = load i32, ptr %16259, align 4, !tbaa !5
  %16261 = call ptr @strerror(i32 noundef %16260) #11
  %16262 = call ptr @__errno_location() #12
  %16263 = load i32, ptr %16262, align 4, !tbaa !5
  %16264 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16251, ptr noundef @.str.12, i32 noundef %16252, ptr noundef @.str.69, ptr noundef @.str.8, i32 noundef 617, ptr noundef %16255, ptr noundef %16258, ptr noundef %16261, i32 noundef %16263) #11
  br label %16265

16265:                                            ; preds = %16248, %16231
  call void @llvm.lifetime.end.p0(i64 4, ptr %311) #11
  br label %16266

16266:                                            ; preds = %16265
  br label %16267

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

16268:                                            ; No predecessors!
  br label %16269

16269:                                            ; preds = %16268
  br label %16270

16270:                                            ; preds = %16269, %16212
  br label %16271

16271:                                            ; preds = %16270
  br label %16272

16272:                                            ; preds = %16271
  call void @llvm.lifetime.start.p0(i64 8, ptr %312) #11
  %16273 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %16273, ptr %312, align 8, !tbaa !9
  br label %16274

16274:                                            ; preds = %16272
  br label %16275

16275:                                            ; preds = %16274
  br label %16276

16276:                                            ; preds = %16275
  %16277 = load i32, ptr @test_count, align 4, !tbaa !5
  %16278 = add nsw i32 %16277, 1
  store i32 %16278, ptr @test_count, align 4, !tbaa !5
  %16279 = load ptr, ptr %312, align 8, !tbaa !9
  %16280 = call i32 @s2n_connection_get_config(ptr noundef %16279, ptr noundef %309)
  %16281 = icmp eq i32 %16280, -1
  br i1 %16281, label %16335, label %16282

16282:                                            ; preds = %16276
  br label %16283

16283:                                            ; preds = %16282
  br label %16284

16284:                                            ; preds = %16283
  call void @llvm.lifetime.start.p0(i64 4, ptr %313) #11
  %16285 = call ptr @__errno_location() #12
  %16286 = load i32, ptr %16285, align 4, !tbaa !5
  store i32 %16286, ptr %313, align 4, !tbaa !5
  %16287 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16288 = call i32 @s2n_print_stacktrace(ptr noundef %16287)
  %16289 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16290 = trunc i8 %16289 to i1
  br i1 %16290, label %16291, label %16313

16291:                                            ; preds = %16284
  %16292 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16293 = call i32 @fileno(ptr noundef %16292) #11
  %16294 = call i32 @isatty(i32 noundef %16293) #11
  %16295 = icmp ne i32 %16294, 0
  br i1 %16295, label %16296, label %16313

16296:                                            ; preds = %16291
  %16297 = load i32, ptr %313, align 4, !tbaa !5
  %16298 = call ptr @__errno_location() #12
  store i32 %16297, ptr %16298, align 4, !tbaa !5
  %16299 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16300 = load i32, ptr @test_count, align 4, !tbaa !5
  %16301 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16302 = load i32, ptr %16301, align 4, !tbaa !5
  %16303 = call ptr @s2n_strerror(i32 noundef %16302, ptr noundef @.str.11)
  %16304 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16305 = load i32, ptr %16304, align 4, !tbaa !5
  %16306 = call ptr @s2n_strerror_debug(i32 noundef %16305, ptr noundef @.str.11)
  %16307 = call ptr @__errno_location() #12
  %16308 = load i32, ptr %16307, align 4, !tbaa !5
  %16309 = call ptr @strerror(i32 noundef %16308) #11
  %16310 = call ptr @__errno_location() #12
  %16311 = load i32, ptr %16310, align 4, !tbaa !5
  %16312 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16299, ptr noundef @.str.9, i32 noundef %16300, ptr noundef @.str.153, ptr noundef @.str.8, i32 noundef 620, ptr noundef %16303, ptr noundef %16306, ptr noundef %16309, i32 noundef %16311) #11
  br label %16330

16313:                                            ; preds = %16291, %16284
  %16314 = load i32, ptr %313, align 4, !tbaa !5
  %16315 = call ptr @__errno_location() #12
  store i32 %16314, ptr %16315, align 4, !tbaa !5
  %16316 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16317 = load i32, ptr @test_count, align 4, !tbaa !5
  %16318 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16319 = load i32, ptr %16318, align 4, !tbaa !5
  %16320 = call ptr @s2n_strerror(i32 noundef %16319, ptr noundef @.str.11)
  %16321 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16322 = load i32, ptr %16321, align 4, !tbaa !5
  %16323 = call ptr @s2n_strerror_debug(i32 noundef %16322, ptr noundef @.str.11)
  %16324 = call ptr @__errno_location() #12
  %16325 = load i32, ptr %16324, align 4, !tbaa !5
  %16326 = call ptr @strerror(i32 noundef %16325) #11
  %16327 = call ptr @__errno_location() #12
  %16328 = load i32, ptr %16327, align 4, !tbaa !5
  %16329 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16316, ptr noundef @.str.12, i32 noundef %16317, ptr noundef @.str.153, ptr noundef @.str.8, i32 noundef 620, ptr noundef %16320, ptr noundef %16323, ptr noundef %16326, i32 noundef %16328) #11
  br label %16330

16330:                                            ; preds = %16313, %16296
  call void @llvm.lifetime.end.p0(i64 4, ptr %313) #11
  br label %16331

16331:                                            ; preds = %16330
  br label %16332

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

16333:                                            ; No predecessors!
  br label %16334

16334:                                            ; preds = %16333
  br label %16335

16335:                                            ; preds = %16334, %16276
  br label %16336

16336:                                            ; preds = %16335
  br label %16337

16337:                                            ; preds = %16336
  br label %16338

16338:                                            ; preds = %16337
  %16339 = load i32, ptr @test_count, align 4, !tbaa !5
  %16340 = add nsw i32 %16339, 1
  store i32 %16340, ptr @test_count, align 4, !tbaa !5
  %16341 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16342 = load i32, ptr %16341, align 4, !tbaa !5
  %16343 = icmp eq i32 %16342, 402653193
  br i1 %16343, label %16397, label %16344

16344:                                            ; preds = %16338
  br label %16345

16345:                                            ; preds = %16344
  br label %16346

16346:                                            ; preds = %16345
  call void @llvm.lifetime.start.p0(i64 4, ptr %314) #11
  %16347 = call ptr @__errno_location() #12
  %16348 = load i32, ptr %16347, align 4, !tbaa !5
  store i32 %16348, ptr %314, align 4, !tbaa !5
  %16349 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16350 = call i32 @s2n_print_stacktrace(ptr noundef %16349)
  %16351 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16352 = trunc i8 %16351 to i1
  br i1 %16352, label %16353, label %16375

16353:                                            ; preds = %16346
  %16354 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16355 = call i32 @fileno(ptr noundef %16354) #11
  %16356 = call i32 @isatty(i32 noundef %16355) #11
  %16357 = icmp ne i32 %16356, 0
  br i1 %16357, label %16358, label %16375

16358:                                            ; preds = %16353
  %16359 = load i32, ptr %314, align 4, !tbaa !5
  %16360 = call ptr @__errno_location() #12
  store i32 %16359, ptr %16360, align 4, !tbaa !5
  %16361 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16362 = load i32, ptr @test_count, align 4, !tbaa !5
  %16363 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16364 = load i32, ptr %16363, align 4, !tbaa !5
  %16365 = call ptr @s2n_strerror(i32 noundef %16364, ptr noundef @.str.11)
  %16366 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16367 = load i32, ptr %16366, align 4, !tbaa !5
  %16368 = call ptr @s2n_strerror_debug(i32 noundef %16367, ptr noundef @.str.11)
  %16369 = call ptr @__errno_location() #12
  %16370 = load i32, ptr %16369, align 4, !tbaa !5
  %16371 = call ptr @strerror(i32 noundef %16370) #11
  %16372 = call ptr @__errno_location() #12
  %16373 = load i32, ptr %16372, align 4, !tbaa !5
  %16374 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16361, ptr noundef @.str.9, i32 noundef %16362, ptr noundef @.str.91, ptr noundef @.str.8, i32 noundef 620, ptr noundef %16365, ptr noundef %16368, ptr noundef %16371, i32 noundef %16373) #11
  br label %16392

16375:                                            ; preds = %16353, %16346
  %16376 = load i32, ptr %314, align 4, !tbaa !5
  %16377 = call ptr @__errno_location() #12
  store i32 %16376, ptr %16377, align 4, !tbaa !5
  %16378 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16379 = load i32, ptr @test_count, align 4, !tbaa !5
  %16380 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16381 = load i32, ptr %16380, align 4, !tbaa !5
  %16382 = call ptr @s2n_strerror(i32 noundef %16381, ptr noundef @.str.11)
  %16383 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16384 = load i32, ptr %16383, align 4, !tbaa !5
  %16385 = call ptr @s2n_strerror_debug(i32 noundef %16384, ptr noundef @.str.11)
  %16386 = call ptr @__errno_location() #12
  %16387 = load i32, ptr %16386, align 4, !tbaa !5
  %16388 = call ptr @strerror(i32 noundef %16387) #11
  %16389 = call ptr @__errno_location() #12
  %16390 = load i32, ptr %16389, align 4, !tbaa !5
  %16391 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16378, ptr noundef @.str.12, i32 noundef %16379, ptr noundef @.str.91, ptr noundef @.str.8, i32 noundef 620, ptr noundef %16382, ptr noundef %16385, ptr noundef %16388, i32 noundef %16390) #11
  br label %16392

16392:                                            ; preds = %16375, %16358
  call void @llvm.lifetime.end.p0(i64 4, ptr %314) #11
  br label %16393

16393:                                            ; preds = %16392
  br label %16394

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

16395:                                            ; No predecessors!
  br label %16396

16396:                                            ; preds = %16395
  br label %16397

16397:                                            ; preds = %16396, %16338
  br label %16398

16398:                                            ; preds = %16397
  br label %16399

16399:                                            ; preds = %16398
  br label %16400

16400:                                            ; preds = %16399
  %16401 = load i32, ptr @test_count, align 4, !tbaa !5
  %16402 = add nsw i32 %16401, 1
  store i32 %16402, ptr @test_count, align 4, !tbaa !5
  %16403 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16404 = load i32, ptr %16403, align 4, !tbaa !5
  %16405 = call ptr @s2n_strerror_debug(i32 noundef %16404, ptr noundef @.str.11)
  %16406 = icmp eq ptr %16405, null
  br i1 %16406, label %16407, label %16460

16407:                                            ; preds = %16400
  br label %16408

16408:                                            ; preds = %16407
  br label %16409

16409:                                            ; preds = %16408
  call void @llvm.lifetime.start.p0(i64 4, ptr %315) #11
  %16410 = call ptr @__errno_location() #12
  %16411 = load i32, ptr %16410, align 4, !tbaa !5
  store i32 %16411, ptr %315, align 4, !tbaa !5
  %16412 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16413 = call i32 @s2n_print_stacktrace(ptr noundef %16412)
  %16414 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16415 = trunc i8 %16414 to i1
  br i1 %16415, label %16416, label %16438

16416:                                            ; preds = %16409
  %16417 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16418 = call i32 @fileno(ptr noundef %16417) #11
  %16419 = call i32 @isatty(i32 noundef %16418) #11
  %16420 = icmp ne i32 %16419, 0
  br i1 %16420, label %16421, label %16438

16421:                                            ; preds = %16416
  %16422 = load i32, ptr %315, align 4, !tbaa !5
  %16423 = call ptr @__errno_location() #12
  store i32 %16422, ptr %16423, align 4, !tbaa !5
  %16424 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16425 = load i32, ptr @test_count, align 4, !tbaa !5
  %16426 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16427 = load i32, ptr %16426, align 4, !tbaa !5
  %16428 = call ptr @s2n_strerror(i32 noundef %16427, ptr noundef @.str.11)
  %16429 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16430 = load i32, ptr %16429, align 4, !tbaa !5
  %16431 = call ptr @s2n_strerror_debug(i32 noundef %16430, ptr noundef @.str.11)
  %16432 = call ptr @__errno_location() #12
  %16433 = load i32, ptr %16432, align 4, !tbaa !5
  %16434 = call ptr @strerror(i32 noundef %16433) #11
  %16435 = call ptr @__errno_location() #12
  %16436 = load i32, ptr %16435, align 4, !tbaa !5
  %16437 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16424, ptr noundef @.str.9, i32 noundef %16425, ptr noundef @.str.54, ptr noundef @.str.8, i32 noundef 620, ptr noundef %16428, ptr noundef %16431, ptr noundef %16434, i32 noundef %16436) #11
  br label %16455

16438:                                            ; preds = %16416, %16409
  %16439 = load i32, ptr %315, align 4, !tbaa !5
  %16440 = call ptr @__errno_location() #12
  store i32 %16439, ptr %16440, align 4, !tbaa !5
  %16441 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16442 = load i32, ptr @test_count, align 4, !tbaa !5
  %16443 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16444 = load i32, ptr %16443, align 4, !tbaa !5
  %16445 = call ptr @s2n_strerror(i32 noundef %16444, ptr noundef @.str.11)
  %16446 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16447 = load i32, ptr %16446, align 4, !tbaa !5
  %16448 = call ptr @s2n_strerror_debug(i32 noundef %16447, ptr noundef @.str.11)
  %16449 = call ptr @__errno_location() #12
  %16450 = load i32, ptr %16449, align 4, !tbaa !5
  %16451 = call ptr @strerror(i32 noundef %16450) #11
  %16452 = call ptr @__errno_location() #12
  %16453 = load i32, ptr %16452, align 4, !tbaa !5
  %16454 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16441, ptr noundef @.str.12, i32 noundef %16442, ptr noundef @.str.54, ptr noundef @.str.8, i32 noundef 620, ptr noundef %16445, ptr noundef %16448, ptr noundef %16451, i32 noundef %16453) #11
  br label %16455

16455:                                            ; preds = %16438, %16421
  call void @llvm.lifetime.end.p0(i64 4, ptr %315) #11
  br label %16456

16456:                                            ; preds = %16455
  br label %16457

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

16458:                                            ; No predecessors!
  br label %16459

16459:                                            ; preds = %16458
  br label %16460

16460:                                            ; preds = %16459, %16400
  br label %16461

16461:                                            ; preds = %16460
  br label %16462

16462:                                            ; preds = %16461
  br label %16463

16463:                                            ; preds = %16462
  br label %16464

16464:                                            ; preds = %16463
  br label %16465

16465:                                            ; preds = %16464
  %16466 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %16466, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %16467 = call ptr @__errno_location() #12
  store i32 0, ptr %16467, align 4, !tbaa !5
  br label %16468

16468:                                            ; preds = %16465
  br label %16469

16469:                                            ; preds = %16468
  br label %16470

16470:                                            ; preds = %16469
  br label %16471

16471:                                            ; preds = %16470
  br label %16472

16472:                                            ; preds = %16471
  %16473 = load i32, ptr @test_count, align 4, !tbaa !5
  %16474 = add nsw i32 %16473, 1
  store i32 %16474, ptr @test_count, align 4, !tbaa !5
  %16475 = load ptr, ptr %312, align 8, !tbaa !9
  %16476 = load ptr, ptr %310, align 8, !tbaa !9
  %16477 = call i32 @s2n_connection_set_config(ptr noundef %16475, ptr noundef %16476)
  %16478 = icmp eq i32 %16477, -1
  br i1 %16478, label %16479, label %16532

16479:                                            ; preds = %16472
  br label %16480

16480:                                            ; preds = %16479
  br label %16481

16481:                                            ; preds = %16480
  call void @llvm.lifetime.start.p0(i64 4, ptr %316) #11
  %16482 = call ptr @__errno_location() #12
  %16483 = load i32, ptr %16482, align 4, !tbaa !5
  store i32 %16483, ptr %316, align 4, !tbaa !5
  %16484 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16485 = call i32 @s2n_print_stacktrace(ptr noundef %16484)
  %16486 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16487 = trunc i8 %16486 to i1
  br i1 %16487, label %16488, label %16510

16488:                                            ; preds = %16481
  %16489 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16490 = call i32 @fileno(ptr noundef %16489) #11
  %16491 = call i32 @isatty(i32 noundef %16490) #11
  %16492 = icmp ne i32 %16491, 0
  br i1 %16492, label %16493, label %16510

16493:                                            ; preds = %16488
  %16494 = load i32, ptr %316, align 4, !tbaa !5
  %16495 = call ptr @__errno_location() #12
  store i32 %16494, ptr %16495, align 4, !tbaa !5
  %16496 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16497 = load i32, ptr @test_count, align 4, !tbaa !5
  %16498 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16499 = load i32, ptr %16498, align 4, !tbaa !5
  %16500 = call ptr @s2n_strerror(i32 noundef %16499, ptr noundef @.str.11)
  %16501 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16502 = load i32, ptr %16501, align 4, !tbaa !5
  %16503 = call ptr @s2n_strerror_debug(i32 noundef %16502, ptr noundef @.str.11)
  %16504 = call ptr @__errno_location() #12
  %16505 = load i32, ptr %16504, align 4, !tbaa !5
  %16506 = call ptr @strerror(i32 noundef %16505) #11
  %16507 = call ptr @__errno_location() #12
  %16508 = load i32, ptr %16507, align 4, !tbaa !5
  %16509 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16496, ptr noundef @.str.9, i32 noundef %16497, ptr noundef @.str.154, ptr noundef @.str.8, i32 noundef 622, ptr noundef %16500, ptr noundef %16503, ptr noundef %16506, i32 noundef %16508) #11
  br label %16527

16510:                                            ; preds = %16488, %16481
  %16511 = load i32, ptr %316, align 4, !tbaa !5
  %16512 = call ptr @__errno_location() #12
  store i32 %16511, ptr %16512, align 4, !tbaa !5
  %16513 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16514 = load i32, ptr @test_count, align 4, !tbaa !5
  %16515 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16516 = load i32, ptr %16515, align 4, !tbaa !5
  %16517 = call ptr @s2n_strerror(i32 noundef %16516, ptr noundef @.str.11)
  %16518 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16519 = load i32, ptr %16518, align 4, !tbaa !5
  %16520 = call ptr @s2n_strerror_debug(i32 noundef %16519, ptr noundef @.str.11)
  %16521 = call ptr @__errno_location() #12
  %16522 = load i32, ptr %16521, align 4, !tbaa !5
  %16523 = call ptr @strerror(i32 noundef %16522) #11
  %16524 = call ptr @__errno_location() #12
  %16525 = load i32, ptr %16524, align 4, !tbaa !5
  %16526 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16513, ptr noundef @.str.12, i32 noundef %16514, ptr noundef @.str.154, ptr noundef @.str.8, i32 noundef 622, ptr noundef %16517, ptr noundef %16520, ptr noundef %16523, i32 noundef %16525) #11
  br label %16527

16527:                                            ; preds = %16510, %16493
  call void @llvm.lifetime.end.p0(i64 4, ptr %316) #11
  br label %16528

16528:                                            ; preds = %16527
  br label %16529

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

16530:                                            ; No predecessors!
  br label %16531

16531:                                            ; preds = %16530
  br label %16532

16532:                                            ; preds = %16531, %16472
  br label %16533

16533:                                            ; preds = %16532
  br label %16534

16534:                                            ; preds = %16533
  br label %16535

16535:                                            ; preds = %16534
  %16536 = load i32, ptr @test_count, align 4, !tbaa !5
  %16537 = add nsw i32 %16536, 1
  store i32 %16537, ptr @test_count, align 4, !tbaa !5
  %16538 = load ptr, ptr %312, align 8, !tbaa !9
  %16539 = call i32 @s2n_connection_get_config(ptr noundef %16538, ptr noundef %309)
  %16540 = icmp eq i32 %16539, -1
  br i1 %16540, label %16541, label %16594

16541:                                            ; preds = %16535
  br label %16542

16542:                                            ; preds = %16541
  br label %16543

16543:                                            ; preds = %16542
  call void @llvm.lifetime.start.p0(i64 4, ptr %317) #11
  %16544 = call ptr @__errno_location() #12
  %16545 = load i32, ptr %16544, align 4, !tbaa !5
  store i32 %16545, ptr %317, align 4, !tbaa !5
  %16546 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16547 = call i32 @s2n_print_stacktrace(ptr noundef %16546)
  %16548 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16549 = trunc i8 %16548 to i1
  br i1 %16549, label %16550, label %16572

16550:                                            ; preds = %16543
  %16551 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16552 = call i32 @fileno(ptr noundef %16551) #11
  %16553 = call i32 @isatty(i32 noundef %16552) #11
  %16554 = icmp ne i32 %16553, 0
  br i1 %16554, label %16555, label %16572

16555:                                            ; preds = %16550
  %16556 = load i32, ptr %317, align 4, !tbaa !5
  %16557 = call ptr @__errno_location() #12
  store i32 %16556, ptr %16557, align 4, !tbaa !5
  %16558 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16559 = load i32, ptr @test_count, align 4, !tbaa !5
  %16560 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16561 = load i32, ptr %16560, align 4, !tbaa !5
  %16562 = call ptr @s2n_strerror(i32 noundef %16561, ptr noundef @.str.11)
  %16563 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16564 = load i32, ptr %16563, align 4, !tbaa !5
  %16565 = call ptr @s2n_strerror_debug(i32 noundef %16564, ptr noundef @.str.11)
  %16566 = call ptr @__errno_location() #12
  %16567 = load i32, ptr %16566, align 4, !tbaa !5
  %16568 = call ptr @strerror(i32 noundef %16567) #11
  %16569 = call ptr @__errno_location() #12
  %16570 = load i32, ptr %16569, align 4, !tbaa !5
  %16571 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16558, ptr noundef @.str.9, i32 noundef %16559, ptr noundef @.str.155, ptr noundef @.str.8, i32 noundef 623, ptr noundef %16562, ptr noundef %16565, ptr noundef %16568, i32 noundef %16570) #11
  br label %16589

16572:                                            ; preds = %16550, %16543
  %16573 = load i32, ptr %317, align 4, !tbaa !5
  %16574 = call ptr @__errno_location() #12
  store i32 %16573, ptr %16574, align 4, !tbaa !5
  %16575 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16576 = load i32, ptr @test_count, align 4, !tbaa !5
  %16577 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16578 = load i32, ptr %16577, align 4, !tbaa !5
  %16579 = call ptr @s2n_strerror(i32 noundef %16578, ptr noundef @.str.11)
  %16580 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16581 = load i32, ptr %16580, align 4, !tbaa !5
  %16582 = call ptr @s2n_strerror_debug(i32 noundef %16581, ptr noundef @.str.11)
  %16583 = call ptr @__errno_location() #12
  %16584 = load i32, ptr %16583, align 4, !tbaa !5
  %16585 = call ptr @strerror(i32 noundef %16584) #11
  %16586 = call ptr @__errno_location() #12
  %16587 = load i32, ptr %16586, align 4, !tbaa !5
  %16588 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16575, ptr noundef @.str.12, i32 noundef %16576, ptr noundef @.str.155, ptr noundef @.str.8, i32 noundef 623, ptr noundef %16579, ptr noundef %16582, ptr noundef %16585, i32 noundef %16587) #11
  br label %16589

16589:                                            ; preds = %16572, %16555
  call void @llvm.lifetime.end.p0(i64 4, ptr %317) #11
  br label %16590

16590:                                            ; preds = %16589
  br label %16591

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

16592:                                            ; No predecessors!
  br label %16593

16593:                                            ; preds = %16592
  br label %16594

16594:                                            ; preds = %16593, %16535
  br label %16595

16595:                                            ; preds = %16594
  br label %16596

16596:                                            ; preds = %16595
  br label %16597

16597:                                            ; preds = %16596
  %16598 = load i32, ptr @test_count, align 4, !tbaa !5
  %16599 = add nsw i32 %16598, 1
  store i32 %16599, ptr @test_count, align 4, !tbaa !5
  %16600 = load ptr, ptr %309, align 8, !tbaa !9
  %16601 = load ptr, ptr %310, align 8, !tbaa !9
  %16602 = icmp eq ptr %16600, %16601
  br i1 %16602, label %16656, label %16603

16603:                                            ; preds = %16597
  br label %16604

16604:                                            ; preds = %16603
  br label %16605

16605:                                            ; preds = %16604
  call void @llvm.lifetime.start.p0(i64 4, ptr %318) #11
  %16606 = call ptr @__errno_location() #12
  %16607 = load i32, ptr %16606, align 4, !tbaa !5
  store i32 %16607, ptr %318, align 4, !tbaa !5
  %16608 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16609 = call i32 @s2n_print_stacktrace(ptr noundef %16608)
  %16610 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16611 = trunc i8 %16610 to i1
  br i1 %16611, label %16612, label %16634

16612:                                            ; preds = %16605
  %16613 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16614 = call i32 @fileno(ptr noundef %16613) #11
  %16615 = call i32 @isatty(i32 noundef %16614) #11
  %16616 = icmp ne i32 %16615, 0
  br i1 %16616, label %16617, label %16634

16617:                                            ; preds = %16612
  %16618 = load i32, ptr %318, align 4, !tbaa !5
  %16619 = call ptr @__errno_location() #12
  store i32 %16618, ptr %16619, align 4, !tbaa !5
  %16620 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16621 = load i32, ptr @test_count, align 4, !tbaa !5
  %16622 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16623 = load i32, ptr %16622, align 4, !tbaa !5
  %16624 = call ptr @s2n_strerror(i32 noundef %16623, ptr noundef @.str.11)
  %16625 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16626 = load i32, ptr %16625, align 4, !tbaa !5
  %16627 = call ptr @s2n_strerror_debug(i32 noundef %16626, ptr noundef @.str.11)
  %16628 = call ptr @__errno_location() #12
  %16629 = load i32, ptr %16628, align 4, !tbaa !5
  %16630 = call ptr @strerror(i32 noundef %16629) #11
  %16631 = call ptr @__errno_location() #12
  %16632 = load i32, ptr %16631, align 4, !tbaa !5
  %16633 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16620, ptr noundef @.str.9, i32 noundef %16621, ptr noundef @.str.156, ptr noundef @.str.8, i32 noundef 624, ptr noundef %16624, ptr noundef %16627, ptr noundef %16630, i32 noundef %16632) #11
  br label %16651

16634:                                            ; preds = %16612, %16605
  %16635 = load i32, ptr %318, align 4, !tbaa !5
  %16636 = call ptr @__errno_location() #12
  store i32 %16635, ptr %16636, align 4, !tbaa !5
  %16637 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16638 = load i32, ptr @test_count, align 4, !tbaa !5
  %16639 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16640 = load i32, ptr %16639, align 4, !tbaa !5
  %16641 = call ptr @s2n_strerror(i32 noundef %16640, ptr noundef @.str.11)
  %16642 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16643 = load i32, ptr %16642, align 4, !tbaa !5
  %16644 = call ptr @s2n_strerror_debug(i32 noundef %16643, ptr noundef @.str.11)
  %16645 = call ptr @__errno_location() #12
  %16646 = load i32, ptr %16645, align 4, !tbaa !5
  %16647 = call ptr @strerror(i32 noundef %16646) #11
  %16648 = call ptr @__errno_location() #12
  %16649 = load i32, ptr %16648, align 4, !tbaa !5
  %16650 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16637, ptr noundef @.str.12, i32 noundef %16638, ptr noundef @.str.156, ptr noundef @.str.8, i32 noundef 624, ptr noundef %16641, ptr noundef %16644, ptr noundef %16647, i32 noundef %16649) #11
  br label %16651

16651:                                            ; preds = %16634, %16617
  call void @llvm.lifetime.end.p0(i64 4, ptr %318) #11
  br label %16652

16652:                                            ; preds = %16651
  br label %16653

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

16654:                                            ; No predecessors!
  br label %16655

16655:                                            ; preds = %16654
  br label %16656

16656:                                            ; preds = %16655, %16597
  br label %16657

16657:                                            ; preds = %16656
  br label %16658

16658:                                            ; preds = %16657
  br label %16659

16659:                                            ; preds = %16658
  %16660 = load i32, ptr @test_count, align 4, !tbaa !5
  %16661 = add nsw i32 %16660, 1
  store i32 %16661, ptr @test_count, align 4, !tbaa !5
  %16662 = load ptr, ptr %312, align 8, !tbaa !9
  %16663 = call i32 @s2n_connection_free(ptr noundef %16662)
  %16664 = icmp eq i32 %16663, -1
  br i1 %16664, label %16665, label %16718

16665:                                            ; preds = %16659
  br label %16666

16666:                                            ; preds = %16665
  br label %16667

16667:                                            ; preds = %16666
  call void @llvm.lifetime.start.p0(i64 4, ptr %319) #11
  %16668 = call ptr @__errno_location() #12
  %16669 = load i32, ptr %16668, align 4, !tbaa !5
  store i32 %16669, ptr %319, align 4, !tbaa !5
  %16670 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16671 = call i32 @s2n_print_stacktrace(ptr noundef %16670)
  %16672 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16673 = trunc i8 %16672 to i1
  br i1 %16673, label %16674, label %16696

16674:                                            ; preds = %16667
  %16675 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16676 = call i32 @fileno(ptr noundef %16675) #11
  %16677 = call i32 @isatty(i32 noundef %16676) #11
  %16678 = icmp ne i32 %16677, 0
  br i1 %16678, label %16679, label %16696

16679:                                            ; preds = %16674
  %16680 = load i32, ptr %319, align 4, !tbaa !5
  %16681 = call ptr @__errno_location() #12
  store i32 %16680, ptr %16681, align 4, !tbaa !5
  %16682 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16683 = load i32, ptr @test_count, align 4, !tbaa !5
  %16684 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16685 = load i32, ptr %16684, align 4, !tbaa !5
  %16686 = call ptr @s2n_strerror(i32 noundef %16685, ptr noundef @.str.11)
  %16687 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16688 = load i32, ptr %16687, align 4, !tbaa !5
  %16689 = call ptr @s2n_strerror_debug(i32 noundef %16688, ptr noundef @.str.11)
  %16690 = call ptr @__errno_location() #12
  %16691 = load i32, ptr %16690, align 4, !tbaa !5
  %16692 = call ptr @strerror(i32 noundef %16691) #11
  %16693 = call ptr @__errno_location() #12
  %16694 = load i32, ptr %16693, align 4, !tbaa !5
  %16695 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16682, ptr noundef @.str.9, i32 noundef %16683, ptr noundef @.str.25, ptr noundef @.str.8, i32 noundef 626, ptr noundef %16686, ptr noundef %16689, ptr noundef %16692, i32 noundef %16694) #11
  br label %16713

16696:                                            ; preds = %16674, %16667
  %16697 = load i32, ptr %319, align 4, !tbaa !5
  %16698 = call ptr @__errno_location() #12
  store i32 %16697, ptr %16698, align 4, !tbaa !5
  %16699 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16700 = load i32, ptr @test_count, align 4, !tbaa !5
  %16701 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16702 = load i32, ptr %16701, align 4, !tbaa !5
  %16703 = call ptr @s2n_strerror(i32 noundef %16702, ptr noundef @.str.11)
  %16704 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16705 = load i32, ptr %16704, align 4, !tbaa !5
  %16706 = call ptr @s2n_strerror_debug(i32 noundef %16705, ptr noundef @.str.11)
  %16707 = call ptr @__errno_location() #12
  %16708 = load i32, ptr %16707, align 4, !tbaa !5
  %16709 = call ptr @strerror(i32 noundef %16708) #11
  %16710 = call ptr @__errno_location() #12
  %16711 = load i32, ptr %16710, align 4, !tbaa !5
  %16712 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16699, ptr noundef @.str.12, i32 noundef %16700, ptr noundef @.str.25, ptr noundef @.str.8, i32 noundef 626, ptr noundef %16703, ptr noundef %16706, ptr noundef %16709, i32 noundef %16711) #11
  br label %16713

16713:                                            ; preds = %16696, %16679
  call void @llvm.lifetime.end.p0(i64 4, ptr %319) #11
  br label %16714

16714:                                            ; preds = %16713
  br label %16715

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

16716:                                            ; No predecessors!
  br label %16717

16717:                                            ; preds = %16716
  br label %16718

16718:                                            ; preds = %16717, %16659
  br label %16719

16719:                                            ; preds = %16718
  br label %16720

16720:                                            ; preds = %16719
  br label %16721

16721:                                            ; preds = %16720
  %16722 = load i32, ptr @test_count, align 4, !tbaa !5
  %16723 = add nsw i32 %16722, 1
  store i32 %16723, ptr @test_count, align 4, !tbaa !5
  %16724 = load ptr, ptr %310, align 8, !tbaa !9
  %16725 = call i32 @s2n_config_free(ptr noundef %16724)
  %16726 = icmp eq i32 %16725, -1
  br i1 %16726, label %16727, label %16780

16727:                                            ; preds = %16721
  br label %16728

16728:                                            ; preds = %16727
  br label %16729

16729:                                            ; preds = %16728
  call void @llvm.lifetime.start.p0(i64 4, ptr %320) #11
  %16730 = call ptr @__errno_location() #12
  %16731 = load i32, ptr %16730, align 4, !tbaa !5
  store i32 %16731, ptr %320, align 4, !tbaa !5
  %16732 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16733 = call i32 @s2n_print_stacktrace(ptr noundef %16732)
  %16734 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16735 = trunc i8 %16734 to i1
  br i1 %16735, label %16736, label %16758

16736:                                            ; preds = %16729
  %16737 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16738 = call i32 @fileno(ptr noundef %16737) #11
  %16739 = call i32 @isatty(i32 noundef %16738) #11
  %16740 = icmp ne i32 %16739, 0
  br i1 %16740, label %16741, label %16758

16741:                                            ; preds = %16736
  %16742 = load i32, ptr %320, align 4, !tbaa !5
  %16743 = call ptr @__errno_location() #12
  store i32 %16742, ptr %16743, align 4, !tbaa !5
  %16744 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16745 = load i32, ptr @test_count, align 4, !tbaa !5
  %16746 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16747 = load i32, ptr %16746, align 4, !tbaa !5
  %16748 = call ptr @s2n_strerror(i32 noundef %16747, ptr noundef @.str.11)
  %16749 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16750 = load i32, ptr %16749, align 4, !tbaa !5
  %16751 = call ptr @s2n_strerror_debug(i32 noundef %16750, ptr noundef @.str.11)
  %16752 = call ptr @__errno_location() #12
  %16753 = load i32, ptr %16752, align 4, !tbaa !5
  %16754 = call ptr @strerror(i32 noundef %16753) #11
  %16755 = call ptr @__errno_location() #12
  %16756 = load i32, ptr %16755, align 4, !tbaa !5
  %16757 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16744, ptr noundef @.str.9, i32 noundef %16745, ptr noundef @.str.44, ptr noundef @.str.8, i32 noundef 627, ptr noundef %16748, ptr noundef %16751, ptr noundef %16754, i32 noundef %16756) #11
  br label %16775

16758:                                            ; preds = %16736, %16729
  %16759 = load i32, ptr %320, align 4, !tbaa !5
  %16760 = call ptr @__errno_location() #12
  store i32 %16759, ptr %16760, align 4, !tbaa !5
  %16761 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16762 = load i32, ptr @test_count, align 4, !tbaa !5
  %16763 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16764 = load i32, ptr %16763, align 4, !tbaa !5
  %16765 = call ptr @s2n_strerror(i32 noundef %16764, ptr noundef @.str.11)
  %16766 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16767 = load i32, ptr %16766, align 4, !tbaa !5
  %16768 = call ptr @s2n_strerror_debug(i32 noundef %16767, ptr noundef @.str.11)
  %16769 = call ptr @__errno_location() #12
  %16770 = load i32, ptr %16769, align 4, !tbaa !5
  %16771 = call ptr @strerror(i32 noundef %16770) #11
  %16772 = call ptr @__errno_location() #12
  %16773 = load i32, ptr %16772, align 4, !tbaa !5
  %16774 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16761, ptr noundef @.str.12, i32 noundef %16762, ptr noundef @.str.44, ptr noundef @.str.8, i32 noundef 627, ptr noundef %16765, ptr noundef %16768, ptr noundef %16771, i32 noundef %16773) #11
  br label %16775

16775:                                            ; preds = %16758, %16741
  call void @llvm.lifetime.end.p0(i64 4, ptr %320) #11
  br label %16776

16776:                                            ; preds = %16775
  br label %16777

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

16778:                                            ; No predecessors!
  br label %16779

16779:                                            ; preds = %16778
  br label %16780

16780:                                            ; preds = %16779, %16721
  br label %16781

16781:                                            ; preds = %16780
  br label %16782

16782:                                            ; preds = %16781
  call void @llvm.lifetime.end.p0(i64 8, ptr %312) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %310) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %309) #11
  call void @llvm.lifetime.start.p0(i64 64, ptr %321) #11
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %321, ptr align 8 @security_policy_rfc9151, i64 64, i1 false), !tbaa.struct !68
  %16783 = getelementptr inbounds %struct.s2n_security_policy, ptr %321, i32 0, i32 7
  store i8 1, ptr %16783, align 8, !tbaa !69
  call void @llvm.lifetime.start.p0(i64 8, ptr %322) #11
  %16784 = call ptr @s2n_config_new()
  store ptr %16784, ptr %322, align 8, !tbaa !9
  br label %16785

16785:                                            ; preds = %16782
  %16786 = load i32, ptr @test_count, align 4, !tbaa !5
  %16787 = add nsw i32 %16786, 1
  store i32 %16787, ptr @test_count, align 4, !tbaa !5
  %16788 = load ptr, ptr %322, align 8, !tbaa !9
  %16789 = icmp eq ptr %16788, null
  br i1 %16789, label %16790, label %16843

16790:                                            ; preds = %16785
  br label %16791

16791:                                            ; preds = %16790
  br label %16792

16792:                                            ; preds = %16791
  call void @llvm.lifetime.start.p0(i64 4, ptr %323) #11
  %16793 = call ptr @__errno_location() #12
  %16794 = load i32, ptr %16793, align 4, !tbaa !5
  store i32 %16794, ptr %323, align 4, !tbaa !5
  %16795 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16796 = call i32 @s2n_print_stacktrace(ptr noundef %16795)
  %16797 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16798 = trunc i8 %16797 to i1
  br i1 %16798, label %16799, label %16821

16799:                                            ; preds = %16792
  %16800 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16801 = call i32 @fileno(ptr noundef %16800) #11
  %16802 = call i32 @isatty(i32 noundef %16801) #11
  %16803 = icmp ne i32 %16802, 0
  br i1 %16803, label %16804, label %16821

16804:                                            ; preds = %16799
  %16805 = load i32, ptr %323, align 4, !tbaa !5
  %16806 = call ptr @__errno_location() #12
  store i32 %16805, ptr %16806, align 4, !tbaa !5
  %16807 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16808 = load i32, ptr @test_count, align 4, !tbaa !5
  %16809 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16810 = load i32, ptr %16809, align 4, !tbaa !5
  %16811 = call ptr @s2n_strerror(i32 noundef %16810, ptr noundef @.str.11)
  %16812 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16813 = load i32, ptr %16812, align 4, !tbaa !5
  %16814 = call ptr @s2n_strerror_debug(i32 noundef %16813, ptr noundef @.str.11)
  %16815 = call ptr @__errno_location() #12
  %16816 = load i32, ptr %16815, align 4, !tbaa !5
  %16817 = call ptr @strerror(i32 noundef %16816) #11
  %16818 = call ptr @__errno_location() #12
  %16819 = load i32, ptr %16818, align 4, !tbaa !5
  %16820 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16807, ptr noundef @.str.9, i32 noundef %16808, ptr noundef @.str.69, ptr noundef @.str.8, i32 noundef 640, ptr noundef %16811, ptr noundef %16814, ptr noundef %16817, i32 noundef %16819) #11
  br label %16838

16821:                                            ; preds = %16799, %16792
  %16822 = load i32, ptr %323, align 4, !tbaa !5
  %16823 = call ptr @__errno_location() #12
  store i32 %16822, ptr %16823, align 4, !tbaa !5
  %16824 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16825 = load i32, ptr @test_count, align 4, !tbaa !5
  %16826 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16827 = load i32, ptr %16826, align 4, !tbaa !5
  %16828 = call ptr @s2n_strerror(i32 noundef %16827, ptr noundef @.str.11)
  %16829 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16830 = load i32, ptr %16829, align 4, !tbaa !5
  %16831 = call ptr @s2n_strerror_debug(i32 noundef %16830, ptr noundef @.str.11)
  %16832 = call ptr @__errno_location() #12
  %16833 = load i32, ptr %16832, align 4, !tbaa !5
  %16834 = call ptr @strerror(i32 noundef %16833) #11
  %16835 = call ptr @__errno_location() #12
  %16836 = load i32, ptr %16835, align 4, !tbaa !5
  %16837 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16824, ptr noundef @.str.12, i32 noundef %16825, ptr noundef @.str.69, ptr noundef @.str.8, i32 noundef 640, ptr noundef %16828, ptr noundef %16831, ptr noundef %16834, i32 noundef %16836) #11
  br label %16838

16838:                                            ; preds = %16821, %16804
  call void @llvm.lifetime.end.p0(i64 4, ptr %323) #11
  br label %16839

16839:                                            ; preds = %16838
  br label %16840

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

16841:                                            ; No predecessors!
  br label %16842

16842:                                            ; preds = %16841
  br label %16843

16843:                                            ; preds = %16842, %16785
  br label %16844

16844:                                            ; preds = %16843
  br label %16845

16845:                                            ; preds = %16844
  call void @llvm.lifetime.start.p0(i64 8, ptr %324) #11
  %16846 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %16846, ptr %324, align 8, !tbaa !9
  br label %16847

16847:                                            ; preds = %16845
  %16848 = load i32, ptr @test_count, align 4, !tbaa !5
  %16849 = add nsw i32 %16848, 1
  store i32 %16849, ptr @test_count, align 4, !tbaa !5
  %16850 = load ptr, ptr %324, align 8, !tbaa !9
  %16851 = icmp eq ptr %16850, null
  br i1 %16851, label %16852, label %16905

16852:                                            ; preds = %16847
  br label %16853

16853:                                            ; preds = %16852
  br label %16854

16854:                                            ; preds = %16853
  call void @llvm.lifetime.start.p0(i64 4, ptr %325) #11
  %16855 = call ptr @__errno_location() #12
  %16856 = load i32, ptr %16855, align 4, !tbaa !5
  store i32 %16856, ptr %325, align 4, !tbaa !5
  %16857 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16858 = call i32 @s2n_print_stacktrace(ptr noundef %16857)
  %16859 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16860 = trunc i8 %16859 to i1
  br i1 %16860, label %16861, label %16883

16861:                                            ; preds = %16854
  %16862 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16863 = call i32 @fileno(ptr noundef %16862) #11
  %16864 = call i32 @isatty(i32 noundef %16863) #11
  %16865 = icmp ne i32 %16864, 0
  br i1 %16865, label %16866, label %16883

16866:                                            ; preds = %16861
  %16867 = load i32, ptr %325, align 4, !tbaa !5
  %16868 = call ptr @__errno_location() #12
  store i32 %16867, ptr %16868, align 4, !tbaa !5
  %16869 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16870 = load i32, ptr @test_count, align 4, !tbaa !5
  %16871 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16872 = load i32, ptr %16871, align 4, !tbaa !5
  %16873 = call ptr @s2n_strerror(i32 noundef %16872, ptr noundef @.str.11)
  %16874 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16875 = load i32, ptr %16874, align 4, !tbaa !5
  %16876 = call ptr @s2n_strerror_debug(i32 noundef %16875, ptr noundef @.str.11)
  %16877 = call ptr @__errno_location() #12
  %16878 = load i32, ptr %16877, align 4, !tbaa !5
  %16879 = call ptr @strerror(i32 noundef %16878) #11
  %16880 = call ptr @__errno_location() #12
  %16881 = load i32, ptr %16880, align 4, !tbaa !5
  %16882 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16869, ptr noundef @.str.9, i32 noundef %16870, ptr noundef @.str.92, ptr noundef @.str.8, i32 noundef 642, ptr noundef %16873, ptr noundef %16876, ptr noundef %16879, i32 noundef %16881) #11
  br label %16900

16883:                                            ; preds = %16861, %16854
  %16884 = load i32, ptr %325, align 4, !tbaa !5
  %16885 = call ptr @__errno_location() #12
  store i32 %16884, ptr %16885, align 4, !tbaa !5
  %16886 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16887 = load i32, ptr @test_count, align 4, !tbaa !5
  %16888 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16889 = load i32, ptr %16888, align 4, !tbaa !5
  %16890 = call ptr @s2n_strerror(i32 noundef %16889, ptr noundef @.str.11)
  %16891 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16892 = load i32, ptr %16891, align 4, !tbaa !5
  %16893 = call ptr @s2n_strerror_debug(i32 noundef %16892, ptr noundef @.str.11)
  %16894 = call ptr @__errno_location() #12
  %16895 = load i32, ptr %16894, align 4, !tbaa !5
  %16896 = call ptr @strerror(i32 noundef %16895) #11
  %16897 = call ptr @__errno_location() #12
  %16898 = load i32, ptr %16897, align 4, !tbaa !5
  %16899 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16886, ptr noundef @.str.12, i32 noundef %16887, ptr noundef @.str.92, ptr noundef @.str.8, i32 noundef 642, ptr noundef %16890, ptr noundef %16893, ptr noundef %16896, i32 noundef %16898) #11
  br label %16900

16900:                                            ; preds = %16883, %16866
  call void @llvm.lifetime.end.p0(i64 4, ptr %325) #11
  br label %16901

16901:                                            ; preds = %16900
  br label %16902

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

16903:                                            ; No predecessors!
  br label %16904

16904:                                            ; preds = %16903
  br label %16905

16905:                                            ; preds = %16904, %16847
  br label %16906

16906:                                            ; preds = %16905
  br label %16907

16907:                                            ; preds = %16906
  call void @llvm.lifetime.start.p0(i64 8, ptr %326) #11
  store ptr null, ptr %326, align 8, !tbaa !9
  br label %16908

16908:                                            ; preds = %16907
  %16909 = load i32, ptr @test_count, align 4, !tbaa !5
  %16910 = add nsw i32 %16909, 1
  store i32 %16910, ptr @test_count, align 4, !tbaa !5
  %16911 = call i32 @s2n_test_cert_permutation_load_server_chain(ptr noundef %326, ptr noundef @.str.157, ptr noundef @.str.158, ptr noundef @.str.159, ptr noundef @.str.160)
  %16912 = icmp eq i32 %16911, -1
  br i1 %16912, label %16913, label %16966

16913:                                            ; preds = %16908
  br label %16914

16914:                                            ; preds = %16913
  br label %16915

16915:                                            ; preds = %16914
  call void @llvm.lifetime.start.p0(i64 4, ptr %327) #11
  %16916 = call ptr @__errno_location() #12
  %16917 = load i32, ptr %16916, align 4, !tbaa !5
  store i32 %16917, ptr %327, align 4, !tbaa !5
  %16918 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16919 = call i32 @s2n_print_stacktrace(ptr noundef %16918)
  %16920 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16921 = trunc i8 %16920 to i1
  br i1 %16921, label %16922, label %16944

16922:                                            ; preds = %16915
  %16923 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16924 = call i32 @fileno(ptr noundef %16923) #11
  %16925 = call i32 @isatty(i32 noundef %16924) #11
  %16926 = icmp ne i32 %16925, 0
  br i1 %16926, label %16927, label %16944

16927:                                            ; preds = %16922
  %16928 = load i32, ptr %327, align 4, !tbaa !5
  %16929 = call ptr @__errno_location() #12
  store i32 %16928, ptr %16929, align 4, !tbaa !5
  %16930 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16931 = load i32, ptr @test_count, align 4, !tbaa !5
  %16932 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16933 = load i32, ptr %16932, align 4, !tbaa !5
  %16934 = call ptr @s2n_strerror(i32 noundef %16933, ptr noundef @.str.11)
  %16935 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16936 = load i32, ptr %16935, align 4, !tbaa !5
  %16937 = call ptr @s2n_strerror_debug(i32 noundef %16936, ptr noundef @.str.11)
  %16938 = call ptr @__errno_location() #12
  %16939 = load i32, ptr %16938, align 4, !tbaa !5
  %16940 = call ptr @strerror(i32 noundef %16939) #11
  %16941 = call ptr @__errno_location() #12
  %16942 = load i32, ptr %16941, align 4, !tbaa !5
  %16943 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16930, ptr noundef @.str.9, i32 noundef %16931, ptr noundef @.str.161, ptr noundef @.str.8, i32 noundef 645, ptr noundef %16934, ptr noundef %16937, ptr noundef %16940, i32 noundef %16942) #11
  br label %16961

16944:                                            ; preds = %16922, %16915
  %16945 = load i32, ptr %327, align 4, !tbaa !5
  %16946 = call ptr @__errno_location() #12
  store i32 %16945, ptr %16946, align 4, !tbaa !5
  %16947 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16948 = load i32, ptr @test_count, align 4, !tbaa !5
  %16949 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16950 = load i32, ptr %16949, align 4, !tbaa !5
  %16951 = call ptr @s2n_strerror(i32 noundef %16950, ptr noundef @.str.11)
  %16952 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16953 = load i32, ptr %16952, align 4, !tbaa !5
  %16954 = call ptr @s2n_strerror_debug(i32 noundef %16953, ptr noundef @.str.11)
  %16955 = call ptr @__errno_location() #12
  %16956 = load i32, ptr %16955, align 4, !tbaa !5
  %16957 = call ptr @strerror(i32 noundef %16956) #11
  %16958 = call ptr @__errno_location() #12
  %16959 = load i32, ptr %16958, align 4, !tbaa !5
  %16960 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16947, ptr noundef @.str.12, i32 noundef %16948, ptr noundef @.str.161, ptr noundef @.str.8, i32 noundef 645, ptr noundef %16951, ptr noundef %16954, ptr noundef %16957, i32 noundef %16959) #11
  br label %16961

16961:                                            ; preds = %16944, %16927
  call void @llvm.lifetime.end.p0(i64 4, ptr %327) #11
  br label %16962

16962:                                            ; preds = %16961
  br label %16963

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

16964:                                            ; No predecessors!
  br label %16965

16965:                                            ; preds = %16964
  br label %16966

16966:                                            ; preds = %16965, %16908
  br label %16967

16967:                                            ; preds = %16966
  br label %16968

16968:                                            ; preds = %16967
  br label %16969

16969:                                            ; preds = %16968
  %16970 = load i32, ptr @test_count, align 4, !tbaa !5
  %16971 = add nsw i32 %16970, 1
  store i32 %16971, ptr @test_count, align 4, !tbaa !5
  %16972 = load ptr, ptr %322, align 8, !tbaa !9
  %16973 = load ptr, ptr %326, align 8, !tbaa !9
  %16974 = call i32 @s2n_config_add_cert_chain_and_key_to_store(ptr noundef %16972, ptr noundef %16973)
  %16975 = icmp eq i32 %16974, -1
  br i1 %16975, label %16976, label %17029

16976:                                            ; preds = %16969
  br label %16977

16977:                                            ; preds = %16976
  br label %16978

16978:                                            ; preds = %16977
  call void @llvm.lifetime.start.p0(i64 4, ptr %328) #11
  %16979 = call ptr @__errno_location() #12
  %16980 = load i32, ptr %16979, align 4, !tbaa !5
  store i32 %16980, ptr %328, align 4, !tbaa !5
  %16981 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16982 = call i32 @s2n_print_stacktrace(ptr noundef %16981)
  %16983 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16984 = trunc i8 %16983 to i1
  br i1 %16984, label %16985, label %17007

16985:                                            ; preds = %16978
  %16986 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16987 = call i32 @fileno(ptr noundef %16986) #11
  %16988 = call i32 @isatty(i32 noundef %16987) #11
  %16989 = icmp ne i32 %16988, 0
  br i1 %16989, label %16990, label %17007

16990:                                            ; preds = %16985
  %16991 = load i32, ptr %328, align 4, !tbaa !5
  %16992 = call ptr @__errno_location() #12
  store i32 %16991, ptr %16992, align 4, !tbaa !5
  %16993 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16994 = load i32, ptr @test_count, align 4, !tbaa !5
  %16995 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16996 = load i32, ptr %16995, align 4, !tbaa !5
  %16997 = call ptr @s2n_strerror(i32 noundef %16996, ptr noundef @.str.11)
  %16998 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16999 = load i32, ptr %16998, align 4, !tbaa !5
  %17000 = call ptr @s2n_strerror_debug(i32 noundef %16999, ptr noundef @.str.11)
  %17001 = call ptr @__errno_location() #12
  %17002 = load i32, ptr %17001, align 4, !tbaa !5
  %17003 = call ptr @strerror(i32 noundef %17002) #11
  %17004 = call ptr @__errno_location() #12
  %17005 = load i32, ptr %17004, align 4, !tbaa !5
  %17006 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16993, ptr noundef @.str.9, i32 noundef %16994, ptr noundef @.str.162, ptr noundef @.str.8, i32 noundef 647, ptr noundef %16997, ptr noundef %17000, ptr noundef %17003, i32 noundef %17005) #11
  br label %17024

17007:                                            ; preds = %16985, %16978
  %17008 = load i32, ptr %328, align 4, !tbaa !5
  %17009 = call ptr @__errno_location() #12
  store i32 %17008, ptr %17009, align 4, !tbaa !5
  %17010 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17011 = load i32, ptr @test_count, align 4, !tbaa !5
  %17012 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17013 = load i32, ptr %17012, align 4, !tbaa !5
  %17014 = call ptr @s2n_strerror(i32 noundef %17013, ptr noundef @.str.11)
  %17015 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17016 = load i32, ptr %17015, align 4, !tbaa !5
  %17017 = call ptr @s2n_strerror_debug(i32 noundef %17016, ptr noundef @.str.11)
  %17018 = call ptr @__errno_location() #12
  %17019 = load i32, ptr %17018, align 4, !tbaa !5
  %17020 = call ptr @strerror(i32 noundef %17019) #11
  %17021 = call ptr @__errno_location() #12
  %17022 = load i32, ptr %17021, align 4, !tbaa !5
  %17023 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17010, ptr noundef @.str.12, i32 noundef %17011, ptr noundef @.str.162, ptr noundef @.str.8, i32 noundef 647, ptr noundef %17014, ptr noundef %17017, ptr noundef %17020, i32 noundef %17022) #11
  br label %17024

17024:                                            ; preds = %17007, %16990
  call void @llvm.lifetime.end.p0(i64 4, ptr %328) #11
  br label %17025

17025:                                            ; preds = %17024
  br label %17026

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

17027:                                            ; No predecessors!
  br label %17028

17028:                                            ; preds = %17027
  br label %17029

17029:                                            ; preds = %17028, %16969
  br label %17030

17030:                                            ; preds = %17029
  br label %17031

17031:                                            ; preds = %17030
  %17032 = load ptr, ptr %324, align 8, !tbaa !9
  %17033 = getelementptr inbounds %struct.s2n_connection, ptr %17032, i32 0, i32 2
  store ptr %321, ptr %17033, align 8, !tbaa !71
  br label %17034

17034:                                            ; preds = %17031
  br label %17035

17035:                                            ; preds = %17034
  br label %17036

17036:                                            ; preds = %17035
  %17037 = load i32, ptr @test_count, align 4, !tbaa !5
  %17038 = add nsw i32 %17037, 1
  store i32 %17038, ptr @test_count, align 4, !tbaa !5
  %17039 = load ptr, ptr %324, align 8, !tbaa !9
  %17040 = load ptr, ptr %322, align 8, !tbaa !9
  %17041 = call i32 @s2n_connection_set_config(ptr noundef %17039, ptr noundef %17040)
  %17042 = icmp eq i32 %17041, -1
  br i1 %17042, label %17096, label %17043

17043:                                            ; preds = %17036
  br label %17044

17044:                                            ; preds = %17043
  br label %17045

17045:                                            ; preds = %17044
  call void @llvm.lifetime.start.p0(i64 4, ptr %329) #11
  %17046 = call ptr @__errno_location() #12
  %17047 = load i32, ptr %17046, align 4, !tbaa !5
  store i32 %17047, ptr %329, align 4, !tbaa !5
  %17048 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17049 = call i32 @s2n_print_stacktrace(ptr noundef %17048)
  %17050 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %17051 = trunc i8 %17050 to i1
  br i1 %17051, label %17052, label %17074

17052:                                            ; preds = %17045
  %17053 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17054 = call i32 @fileno(ptr noundef %17053) #11
  %17055 = call i32 @isatty(i32 noundef %17054) #11
  %17056 = icmp ne i32 %17055, 0
  br i1 %17056, label %17057, label %17074

17057:                                            ; preds = %17052
  %17058 = load i32, ptr %329, align 4, !tbaa !5
  %17059 = call ptr @__errno_location() #12
  store i32 %17058, ptr %17059, align 4, !tbaa !5
  %17060 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17061 = load i32, ptr @test_count, align 4, !tbaa !5
  %17062 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17063 = load i32, ptr %17062, align 4, !tbaa !5
  %17064 = call ptr @s2n_strerror(i32 noundef %17063, ptr noundef @.str.11)
  %17065 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17066 = load i32, ptr %17065, align 4, !tbaa !5
  %17067 = call ptr @s2n_strerror_debug(i32 noundef %17066, ptr noundef @.str.11)
  %17068 = call ptr @__errno_location() #12
  %17069 = load i32, ptr %17068, align 4, !tbaa !5
  %17070 = call ptr @strerror(i32 noundef %17069) #11
  %17071 = call ptr @__errno_location() #12
  %17072 = load i32, ptr %17071, align 4, !tbaa !5
  %17073 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17060, ptr noundef @.str.9, i32 noundef %17061, ptr noundef @.str.163, ptr noundef @.str.8, i32 noundef 649, ptr noundef %17064, ptr noundef %17067, ptr noundef %17070, i32 noundef %17072) #11
  br label %17091

17074:                                            ; preds = %17052, %17045
  %17075 = load i32, ptr %329, align 4, !tbaa !5
  %17076 = call ptr @__errno_location() #12
  store i32 %17075, ptr %17076, align 4, !tbaa !5
  %17077 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17078 = load i32, ptr @test_count, align 4, !tbaa !5
  %17079 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17080 = load i32, ptr %17079, align 4, !tbaa !5
  %17081 = call ptr @s2n_strerror(i32 noundef %17080, ptr noundef @.str.11)
  %17082 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17083 = load i32, ptr %17082, align 4, !tbaa !5
  %17084 = call ptr @s2n_strerror_debug(i32 noundef %17083, ptr noundef @.str.11)
  %17085 = call ptr @__errno_location() #12
  %17086 = load i32, ptr %17085, align 4, !tbaa !5
  %17087 = call ptr @strerror(i32 noundef %17086) #11
  %17088 = call ptr @__errno_location() #12
  %17089 = load i32, ptr %17088, align 4, !tbaa !5
  %17090 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17077, ptr noundef @.str.12, i32 noundef %17078, ptr noundef @.str.163, ptr noundef @.str.8, i32 noundef 649, ptr noundef %17081, ptr noundef %17084, ptr noundef %17087, i32 noundef %17089) #11
  br label %17091

17091:                                            ; preds = %17074, %17057
  call void @llvm.lifetime.end.p0(i64 4, ptr %329) #11
  br label %17092

17092:                                            ; preds = %17091
  br label %17093

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

17094:                                            ; No predecessors!
  br label %17095

17095:                                            ; preds = %17094
  br label %17096

17096:                                            ; preds = %17095, %17036
  br label %17097

17097:                                            ; preds = %17096
  br label %17098

17098:                                            ; preds = %17097
  br label %17099

17099:                                            ; preds = %17098
  %17100 = load i32, ptr @test_count, align 4, !tbaa !5
  %17101 = add nsw i32 %17100, 1
  store i32 %17101, ptr @test_count, align 4, !tbaa !5
  %17102 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17103 = load i32, ptr %17102, align 4, !tbaa !5
  %17104 = icmp eq i32 %17103, 469762133
  br i1 %17104, label %17158, label %17105

17105:                                            ; preds = %17099
  br label %17106

17106:                                            ; preds = %17105
  br label %17107

17107:                                            ; preds = %17106
  call void @llvm.lifetime.start.p0(i64 4, ptr %330) #11
  %17108 = call ptr @__errno_location() #12
  %17109 = load i32, ptr %17108, align 4, !tbaa !5
  store i32 %17109, ptr %330, align 4, !tbaa !5
  %17110 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17111 = call i32 @s2n_print_stacktrace(ptr noundef %17110)
  %17112 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %17113 = trunc i8 %17112 to i1
  br i1 %17113, label %17114, label %17136

17114:                                            ; preds = %17107
  %17115 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17116 = call i32 @fileno(ptr noundef %17115) #11
  %17117 = call i32 @isatty(i32 noundef %17116) #11
  %17118 = icmp ne i32 %17117, 0
  br i1 %17118, label %17119, label %17136

17119:                                            ; preds = %17114
  %17120 = load i32, ptr %330, align 4, !tbaa !5
  %17121 = call ptr @__errno_location() #12
  store i32 %17120, ptr %17121, align 4, !tbaa !5
  %17122 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17123 = load i32, ptr @test_count, align 4, !tbaa !5
  %17124 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17125 = load i32, ptr %17124, align 4, !tbaa !5
  %17126 = call ptr @s2n_strerror(i32 noundef %17125, ptr noundef @.str.11)
  %17127 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17128 = load i32, ptr %17127, align 4, !tbaa !5
  %17129 = call ptr @s2n_strerror_debug(i32 noundef %17128, ptr noundef @.str.11)
  %17130 = call ptr @__errno_location() #12
  %17131 = load i32, ptr %17130, align 4, !tbaa !5
  %17132 = call ptr @strerror(i32 noundef %17131) #11
  %17133 = call ptr @__errno_location() #12
  %17134 = load i32, ptr %17133, align 4, !tbaa !5
  %17135 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17122, ptr noundef @.str.9, i32 noundef %17123, ptr noundef @.str.164, ptr noundef @.str.8, i32 noundef 649, ptr noundef %17126, ptr noundef %17129, ptr noundef %17132, i32 noundef %17134) #11
  br label %17153

17136:                                            ; preds = %17114, %17107
  %17137 = load i32, ptr %330, align 4, !tbaa !5
  %17138 = call ptr @__errno_location() #12
  store i32 %17137, ptr %17138, align 4, !tbaa !5
  %17139 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17140 = load i32, ptr @test_count, align 4, !tbaa !5
  %17141 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17142 = load i32, ptr %17141, align 4, !tbaa !5
  %17143 = call ptr @s2n_strerror(i32 noundef %17142, ptr noundef @.str.11)
  %17144 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17145 = load i32, ptr %17144, align 4, !tbaa !5
  %17146 = call ptr @s2n_strerror_debug(i32 noundef %17145, ptr noundef @.str.11)
  %17147 = call ptr @__errno_location() #12
  %17148 = load i32, ptr %17147, align 4, !tbaa !5
  %17149 = call ptr @strerror(i32 noundef %17148) #11
  %17150 = call ptr @__errno_location() #12
  %17151 = load i32, ptr %17150, align 4, !tbaa !5
  %17152 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17139, ptr noundef @.str.12, i32 noundef %17140, ptr noundef @.str.164, ptr noundef @.str.8, i32 noundef 649, ptr noundef %17143, ptr noundef %17146, ptr noundef %17149, i32 noundef %17151) #11
  br label %17153

17153:                                            ; preds = %17136, %17119
  call void @llvm.lifetime.end.p0(i64 4, ptr %330) #11
  br label %17154

17154:                                            ; preds = %17153
  br label %17155

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

17156:                                            ; No predecessors!
  br label %17157

17157:                                            ; preds = %17156
  br label %17158

17158:                                            ; preds = %17157, %17099
  br label %17159

17159:                                            ; preds = %17158
  br label %17160

17160:                                            ; preds = %17159
  br label %17161

17161:                                            ; preds = %17160
  %17162 = load i32, ptr @test_count, align 4, !tbaa !5
  %17163 = add nsw i32 %17162, 1
  store i32 %17163, ptr @test_count, align 4, !tbaa !5
  %17164 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17165 = load i32, ptr %17164, align 4, !tbaa !5
  %17166 = call ptr @s2n_strerror_debug(i32 noundef %17165, ptr noundef @.str.11)
  %17167 = icmp eq ptr %17166, null
  br i1 %17167, label %17168, label %17221

17168:                                            ; preds = %17161
  br label %17169

17169:                                            ; preds = %17168
  br label %17170

17170:                                            ; preds = %17169
  call void @llvm.lifetime.start.p0(i64 4, ptr %331) #11
  %17171 = call ptr @__errno_location() #12
  %17172 = load i32, ptr %17171, align 4, !tbaa !5
  store i32 %17172, ptr %331, align 4, !tbaa !5
  %17173 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17174 = call i32 @s2n_print_stacktrace(ptr noundef %17173)
  %17175 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %17176 = trunc i8 %17175 to i1
  br i1 %17176, label %17177, label %17199

17177:                                            ; preds = %17170
  %17178 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17179 = call i32 @fileno(ptr noundef %17178) #11
  %17180 = call i32 @isatty(i32 noundef %17179) #11
  %17181 = icmp ne i32 %17180, 0
  br i1 %17181, label %17182, label %17199

17182:                                            ; preds = %17177
  %17183 = load i32, ptr %331, align 4, !tbaa !5
  %17184 = call ptr @__errno_location() #12
  store i32 %17183, ptr %17184, align 4, !tbaa !5
  %17185 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17186 = load i32, ptr @test_count, align 4, !tbaa !5
  %17187 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17188 = load i32, ptr %17187, align 4, !tbaa !5
  %17189 = call ptr @s2n_strerror(i32 noundef %17188, ptr noundef @.str.11)
  %17190 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17191 = load i32, ptr %17190, align 4, !tbaa !5
  %17192 = call ptr @s2n_strerror_debug(i32 noundef %17191, ptr noundef @.str.11)
  %17193 = call ptr @__errno_location() #12
  %17194 = load i32, ptr %17193, align 4, !tbaa !5
  %17195 = call ptr @strerror(i32 noundef %17194) #11
  %17196 = call ptr @__errno_location() #12
  %17197 = load i32, ptr %17196, align 4, !tbaa !5
  %17198 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17185, ptr noundef @.str.9, i32 noundef %17186, ptr noundef @.str.54, ptr noundef @.str.8, i32 noundef 649, ptr noundef %17189, ptr noundef %17192, ptr noundef %17195, i32 noundef %17197) #11
  br label %17216

17199:                                            ; preds = %17177, %17170
  %17200 = load i32, ptr %331, align 4, !tbaa !5
  %17201 = call ptr @__errno_location() #12
  store i32 %17200, ptr %17201, align 4, !tbaa !5
  %17202 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17203 = load i32, ptr @test_count, align 4, !tbaa !5
  %17204 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17205 = load i32, ptr %17204, align 4, !tbaa !5
  %17206 = call ptr @s2n_strerror(i32 noundef %17205, ptr noundef @.str.11)
  %17207 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17208 = load i32, ptr %17207, align 4, !tbaa !5
  %17209 = call ptr @s2n_strerror_debug(i32 noundef %17208, ptr noundef @.str.11)
  %17210 = call ptr @__errno_location() #12
  %17211 = load i32, ptr %17210, align 4, !tbaa !5
  %17212 = call ptr @strerror(i32 noundef %17211) #11
  %17213 = call ptr @__errno_location() #12
  %17214 = load i32, ptr %17213, align 4, !tbaa !5
  %17215 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17202, ptr noundef @.str.12, i32 noundef %17203, ptr noundef @.str.54, ptr noundef @.str.8, i32 noundef 649, ptr noundef %17206, ptr noundef %17209, ptr noundef %17212, i32 noundef %17214) #11
  br label %17216

17216:                                            ; preds = %17199, %17182
  call void @llvm.lifetime.end.p0(i64 4, ptr %331) #11
  br label %17217

17217:                                            ; preds = %17216
  br label %17218

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

17219:                                            ; No predecessors!
  br label %17220

17220:                                            ; preds = %17219
  br label %17221

17221:                                            ; preds = %17220, %17161
  br label %17222

17222:                                            ; preds = %17221
  br label %17223

17223:                                            ; preds = %17222
  br label %17224

17224:                                            ; preds = %17223
  br label %17225

17225:                                            ; preds = %17224
  br label %17226

17226:                                            ; preds = %17225
  %17227 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %17227, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %17228 = call ptr @__errno_location() #12
  store i32 0, ptr %17228, align 4, !tbaa !5
  br label %17229

17229:                                            ; preds = %17226
  br label %17230

17230:                                            ; preds = %17229
  br label %17231

17231:                                            ; preds = %17230
  br label %17232

17232:                                            ; preds = %17231
  %17233 = call i32 @s2n_cert_chain_and_key_ptr_free(ptr noundef %326)
  %17234 = getelementptr inbounds %struct.s2n_result, ptr %332, i32 0, i32 0
  store i32 %17233, ptr %17234, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %326) #11
  %17235 = call i32 @s2n_connection_ptr_free(ptr noundef %324)
  %17236 = getelementptr inbounds %struct.s2n_result, ptr %333, i32 0, i32 0
  store i32 %17235, ptr %17236, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %324) #11
  %17237 = call i32 @s2n_config_ptr_free(ptr noundef %322)
  %17238 = getelementptr inbounds %struct.s2n_result, ptr %334, i32 0, i32 0
  store i32 %17237, ptr %17238, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %322) #11
  call void @llvm.lifetime.end.p0(i64 64, ptr %321) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %335) #11
  store ptr null, ptr %335, align 8, !tbaa !9
  br label %17239

17239:                                            ; preds = %17232
  %17240 = load i32, ptr @test_count, align 4, !tbaa !5
  %17241 = add nsw i32 %17240, 1
  store i32 %17241, ptr @test_count, align 4, !tbaa !5
  %17242 = call i32 @s2n_test_cert_permutation_load_server_chain(ptr noundef %335, ptr noundef @.str.165, ptr noundef @.str.166, ptr noundef @.str.167, ptr noundef @.str.168)
  %17243 = icmp eq i32 %17242, -1
  br i1 %17243, label %17244, label %17297

17244:                                            ; preds = %17239
  br label %17245

17245:                                            ; preds = %17244
  br label %17246

17246:                                            ; preds = %17245
  call void @llvm.lifetime.start.p0(i64 4, ptr %336) #11
  %17247 = call ptr @__errno_location() #12
  %17248 = load i32, ptr %17247, align 4, !tbaa !5
  store i32 %17248, ptr %336, align 4, !tbaa !5
  %17249 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17250 = call i32 @s2n_print_stacktrace(ptr noundef %17249)
  %17251 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %17252 = trunc i8 %17251 to i1
  br i1 %17252, label %17253, label %17275

17253:                                            ; preds = %17246
  %17254 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17255 = call i32 @fileno(ptr noundef %17254) #11
  %17256 = call i32 @isatty(i32 noundef %17255) #11
  %17257 = icmp ne i32 %17256, 0
  br i1 %17257, label %17258, label %17275

17258:                                            ; preds = %17253
  %17259 = load i32, ptr %336, align 4, !tbaa !5
  %17260 = call ptr @__errno_location() #12
  store i32 %17259, ptr %17260, align 4, !tbaa !5
  %17261 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17262 = load i32, ptr @test_count, align 4, !tbaa !5
  %17263 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17264 = load i32, ptr %17263, align 4, !tbaa !5
  %17265 = call ptr @s2n_strerror(i32 noundef %17264, ptr noundef @.str.11)
  %17266 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17267 = load i32, ptr %17266, align 4, !tbaa !5
  %17268 = call ptr @s2n_strerror_debug(i32 noundef %17267, ptr noundef @.str.11)
  %17269 = call ptr @__errno_location() #12
  %17270 = load i32, ptr %17269, align 4, !tbaa !5
  %17271 = call ptr @strerror(i32 noundef %17270) #11
  %17272 = call ptr @__errno_location() #12
  %17273 = load i32, ptr %17272, align 4, !tbaa !5
  %17274 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17261, ptr noundef @.str.9, i32 noundef %17262, ptr noundef @.str.169, ptr noundef @.str.8, i32 noundef 661, ptr noundef %17265, ptr noundef %17268, ptr noundef %17271, i32 noundef %17273) #11
  br label %17292

17275:                                            ; preds = %17253, %17246
  %17276 = load i32, ptr %336, align 4, !tbaa !5
  %17277 = call ptr @__errno_location() #12
  store i32 %17276, ptr %17277, align 4, !tbaa !5
  %17278 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17279 = load i32, ptr @test_count, align 4, !tbaa !5
  %17280 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17281 = load i32, ptr %17280, align 4, !tbaa !5
  %17282 = call ptr @s2n_strerror(i32 noundef %17281, ptr noundef @.str.11)
  %17283 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17284 = load i32, ptr %17283, align 4, !tbaa !5
  %17285 = call ptr @s2n_strerror_debug(i32 noundef %17284, ptr noundef @.str.11)
  %17286 = call ptr @__errno_location() #12
  %17287 = load i32, ptr %17286, align 4, !tbaa !5
  %17288 = call ptr @strerror(i32 noundef %17287) #11
  %17289 = call ptr @__errno_location() #12
  %17290 = load i32, ptr %17289, align 4, !tbaa !5
  %17291 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17278, ptr noundef @.str.12, i32 noundef %17279, ptr noundef @.str.169, ptr noundef @.str.8, i32 noundef 661, ptr noundef %17282, ptr noundef %17285, ptr noundef %17288, i32 noundef %17290) #11
  br label %17292

17292:                                            ; preds = %17275, %17258
  call void @llvm.lifetime.end.p0(i64 4, ptr %336) #11
  br label %17293

17293:                                            ; preds = %17292
  br label %17294

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

17295:                                            ; No predecessors!
  br label %17296

17296:                                            ; preds = %17295
  br label %17297

17297:                                            ; preds = %17296, %17239
  br label %17298

17298:                                            ; preds = %17297
  br label %17299

17299:                                            ; preds = %17298
  call void @llvm.lifetime.start.p0(i64 8, ptr %337) #11
  %17300 = call ptr @s2n_config_new()
  store ptr %17300, ptr %337, align 8, !tbaa !9
  br label %17301

17301:                                            ; preds = %17299
  %17302 = load i32, ptr @test_count, align 4, !tbaa !5
  %17303 = add nsw i32 %17302, 1
  store i32 %17303, ptr @test_count, align 4, !tbaa !5
  %17304 = load ptr, ptr %337, align 8, !tbaa !9
  %17305 = load ptr, ptr %335, align 8, !tbaa !9
  %17306 = call i32 @s2n_config_add_cert_chain_and_key_to_store(ptr noundef %17304, ptr noundef %17305)
  %17307 = icmp eq i32 %17306, -1
  br i1 %17307, label %17308, label %17361

17308:                                            ; preds = %17301
  br label %17309

17309:                                            ; preds = %17308
  br label %17310

17310:                                            ; preds = %17309
  call void @llvm.lifetime.start.p0(i64 4, ptr %338) #11
  %17311 = call ptr @__errno_location() #12
  %17312 = load i32, ptr %17311, align 4, !tbaa !5
  store i32 %17312, ptr %338, align 4, !tbaa !5
  %17313 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17314 = call i32 @s2n_print_stacktrace(ptr noundef %17313)
  %17315 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %17316 = trunc i8 %17315 to i1
  br i1 %17316, label %17317, label %17339

17317:                                            ; preds = %17310
  %17318 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17319 = call i32 @fileno(ptr noundef %17318) #11
  %17320 = call i32 @isatty(i32 noundef %17319) #11
  %17321 = icmp ne i32 %17320, 0
  br i1 %17321, label %17322, label %17339

17322:                                            ; preds = %17317
  %17323 = load i32, ptr %338, align 4, !tbaa !5
  %17324 = call ptr @__errno_location() #12
  store i32 %17323, ptr %17324, align 4, !tbaa !5
  %17325 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17326 = load i32, ptr @test_count, align 4, !tbaa !5
  %17327 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17328 = load i32, ptr %17327, align 4, !tbaa !5
  %17329 = call ptr @s2n_strerror(i32 noundef %17328, ptr noundef @.str.11)
  %17330 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17331 = load i32, ptr %17330, align 4, !tbaa !5
  %17332 = call ptr @s2n_strerror_debug(i32 noundef %17331, ptr noundef @.str.11)
  %17333 = call ptr @__errno_location() #12
  %17334 = load i32, ptr %17333, align 4, !tbaa !5
  %17335 = call ptr @strerror(i32 noundef %17334) #11
  %17336 = call ptr @__errno_location() #12
  %17337 = load i32, ptr %17336, align 4, !tbaa !5
  %17338 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17325, ptr noundef @.str.9, i32 noundef %17326, ptr noundef @.str.170, ptr noundef @.str.8, i32 noundef 664, ptr noundef %17329, ptr noundef %17332, ptr noundef %17335, i32 noundef %17337) #11
  br label %17356

17339:                                            ; preds = %17317, %17310
  %17340 = load i32, ptr %338, align 4, !tbaa !5
  %17341 = call ptr @__errno_location() #12
  store i32 %17340, ptr %17341, align 4, !tbaa !5
  %17342 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17343 = load i32, ptr @test_count, align 4, !tbaa !5
  %17344 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17345 = load i32, ptr %17344, align 4, !tbaa !5
  %17346 = call ptr @s2n_strerror(i32 noundef %17345, ptr noundef @.str.11)
  %17347 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17348 = load i32, ptr %17347, align 4, !tbaa !5
  %17349 = call ptr @s2n_strerror_debug(i32 noundef %17348, ptr noundef @.str.11)
  %17350 = call ptr @__errno_location() #12
  %17351 = load i32, ptr %17350, align 4, !tbaa !5
  %17352 = call ptr @strerror(i32 noundef %17351) #11
  %17353 = call ptr @__errno_location() #12
  %17354 = load i32, ptr %17353, align 4, !tbaa !5
  %17355 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17342, ptr noundef @.str.12, i32 noundef %17343, ptr noundef @.str.170, ptr noundef @.str.8, i32 noundef 664, ptr noundef %17346, ptr noundef %17349, ptr noundef %17352, i32 noundef %17354) #11
  br label %17356

17356:                                            ; preds = %17339, %17322
  call void @llvm.lifetime.end.p0(i64 4, ptr %338) #11
  br label %17357

17357:                                            ; preds = %17356
  br label %17358

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

17359:                                            ; No predecessors!
  br label %17360

17360:                                            ; preds = %17359
  br label %17361

17361:                                            ; preds = %17360, %17301
  br label %17362

17362:                                            ; preds = %17361
  br label %17363

17363:                                            ; preds = %17362
  call void @llvm.lifetime.start.p0(i64 8, ptr %339) #11
  store ptr null, ptr %339, align 8, !tbaa !9
  br label %17364

17364:                                            ; preds = %17363
  %17365 = call i32 @s2n_find_security_policy_from_version(ptr noundef @.str.171, ptr noundef %339)
  %17366 = icmp sgt i32 %17365, -1
  br i1 %17366, label %17368, label %17367

17367:                                            ; preds = %17364
  store i32 -1, ptr %3, align 4
  store i32 1, ptr %340, align 4
  br label %17480

17368:                                            ; preds = %17364
  br label %17369

17369:                                            ; preds = %17368
  br label %17370

17370:                                            ; preds = %17369
  %17371 = load ptr, ptr %339, align 8, !tbaa !9
  %17372 = load ptr, ptr %337, align 8, !tbaa !9
  %17373 = getelementptr inbounds %struct.s2n_config, ptr %17372, i32 0, i32 7
  store ptr %17371, ptr %17373, align 8, !tbaa !72
  call void @llvm.lifetime.start.p0(i64 8, ptr %341) #11
  %17374 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %17374, ptr %341, align 8, !tbaa !9
  br label %17375

17375:                                            ; preds = %17370
  %17376 = load ptr, ptr %341, align 8, !tbaa !9
  %17377 = icmp ne ptr %17376, null
  br i1 %17377, label %17411, label %17378

17378:                                            ; preds = %17375
  br label %17379

17379:                                            ; preds = %17378
  br label %17380

17380:                                            ; preds = %17379
  %17381 = call align 8 ptr @llvm.threadlocal.address.p0(ptr align 8 @_s2n_debug_info)
  %17382 = getelementptr inbounds %struct.s2n_debug_info, ptr %17381, i32 0, i32 0
  store ptr @.str.172, ptr %17382, align 8, !tbaa !76
  %17383 = call align 8 ptr @llvm.threadlocal.address.p0(ptr align 8 @_s2n_debug_info)
  %17384 = getelementptr inbounds %struct.s2n_debug_info, ptr %17383, i32 0, i32 0
  %17385 = load ptr, ptr %17384, align 8, !tbaa !76
  %17386 = getelementptr inbounds i8, ptr %17385, i64 21
  %17387 = call ptr @strrchr(ptr noundef %17386, i32 noundef 47) #14
  %17388 = icmp ne ptr %17387, null
  br i1 %17388, label %17389, label %17396

17389:                                            ; preds = %17380
  %17390 = call align 8 ptr @llvm.threadlocal.address.p0(ptr align 8 @_s2n_debug_info)
  %17391 = getelementptr inbounds %struct.s2n_debug_info, ptr %17390, i32 0, i32 0
  %17392 = load ptr, ptr %17391, align 8, !tbaa !76
  %17393 = getelementptr inbounds i8, ptr %17392, i64 21
  %17394 = call ptr @strrchr(ptr noundef %17393, i32 noundef 47) #14
  %17395 = getelementptr inbounds i8, ptr %17394, i64 1
  br label %17401

17396:                                            ; preds = %17380
  %17397 = call align 8 ptr @llvm.threadlocal.address.p0(ptr align 8 @_s2n_debug_info)
  %17398 = getelementptr inbounds %struct.s2n_debug_info, ptr %17397, i32 0, i32 0
  %17399 = load ptr, ptr %17398, align 8, !tbaa !76
  %17400 = getelementptr inbounds i8, ptr %17399, i64 21
  br label %17401

17401:                                            ; preds = %17396, %17389
  %17402 = phi ptr [ %17395, %17389 ], [ %17400, %17396 ]
  %17403 = call align 8 ptr @llvm.threadlocal.address.p0(ptr align 8 @_s2n_debug_info)
  %17404 = getelementptr inbounds %struct.s2n_debug_info, ptr %17403, i32 0, i32 1
  store ptr %17402, ptr %17404, align 8, !tbaa !78
  %17405 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 402653193, ptr %17405, align 4, !tbaa !5
  %17406 = call i32 @s2n_calculate_stacktrace()
  br label %17407

17407:                                            ; preds = %17401
  br label %17408

17408:                                            ; preds = %17407
  store i32 -1, ptr %3, align 4
  store i32 1, ptr %340, align 4
  br label %17477

17409:                                            ; No predecessors!
  br label %17410

17410:                                            ; preds = %17409
  br label %17411

17411:                                            ; preds = %17410, %17375
  br label %17412

17412:                                            ; preds = %17411
  br label %17413

17413:                                            ; preds = %17412
  br label %17414

17414:                                            ; preds = %17413
  %17415 = load i32, ptr @test_count, align 4, !tbaa !5
  %17416 = add nsw i32 %17415, 1
  store i32 %17416, ptr @test_count, align 4, !tbaa !5
  %17417 = load ptr, ptr %341, align 8, !tbaa !9
  %17418 = load ptr, ptr %337, align 8, !tbaa !9
  %17419 = call i32 @s2n_connection_set_config(ptr noundef %17417, ptr noundef %17418)
  %17420 = icmp eq i32 %17419, -1
  br i1 %17420, label %17421, label %17474

17421:                                            ; preds = %17414
  br label %17422

17422:                                            ; preds = %17421
  br label %17423

17423:                                            ; preds = %17422
  call void @llvm.lifetime.start.p0(i64 4, ptr %342) #11
  %17424 = call ptr @__errno_location() #12
  %17425 = load i32, ptr %17424, align 4, !tbaa !5
  store i32 %17425, ptr %342, align 4, !tbaa !5
  %17426 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17427 = call i32 @s2n_print_stacktrace(ptr noundef %17426)
  %17428 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %17429 = trunc i8 %17428 to i1
  br i1 %17429, label %17430, label %17452

17430:                                            ; preds = %17423
  %17431 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17432 = call i32 @fileno(ptr noundef %17431) #11
  %17433 = call i32 @isatty(i32 noundef %17432) #11
  %17434 = icmp ne i32 %17433, 0
  br i1 %17434, label %17435, label %17452

17435:                                            ; preds = %17430
  %17436 = load i32, ptr %342, align 4, !tbaa !5
  %17437 = call ptr @__errno_location() #12
  store i32 %17436, ptr %17437, align 4, !tbaa !5
  %17438 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17439 = load i32, ptr @test_count, align 4, !tbaa !5
  %17440 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17441 = load i32, ptr %17440, align 4, !tbaa !5
  %17442 = call ptr @s2n_strerror(i32 noundef %17441, ptr noundef @.str.11)
  %17443 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17444 = load i32, ptr %17443, align 4, !tbaa !5
  %17445 = call ptr @s2n_strerror_debug(i32 noundef %17444, ptr noundef @.str.11)
  %17446 = call ptr @__errno_location() #12
  %17447 = load i32, ptr %17446, align 4, !tbaa !5
  %17448 = call ptr @strerror(i32 noundef %17447) #11
  %17449 = call ptr @__errno_location() #12
  %17450 = load i32, ptr %17449, align 4, !tbaa !5
  %17451 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17438, ptr noundef @.str.9, i32 noundef %17439, ptr noundef @.str.173, ptr noundef @.str.8, i32 noundef 674, ptr noundef %17442, ptr noundef %17445, ptr noundef %17448, i32 noundef %17450) #11
  br label %17469

17452:                                            ; preds = %17430, %17423
  %17453 = load i32, ptr %342, align 4, !tbaa !5
  %17454 = call ptr @__errno_location() #12
  store i32 %17453, ptr %17454, align 4, !tbaa !5
  %17455 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17456 = load i32, ptr @test_count, align 4, !tbaa !5
  %17457 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17458 = load i32, ptr %17457, align 4, !tbaa !5
  %17459 = call ptr @s2n_strerror(i32 noundef %17458, ptr noundef @.str.11)
  %17460 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17461 = load i32, ptr %17460, align 4, !tbaa !5
  %17462 = call ptr @s2n_strerror_debug(i32 noundef %17461, ptr noundef @.str.11)
  %17463 = call ptr @__errno_location() #12
  %17464 = load i32, ptr %17463, align 4, !tbaa !5
  %17465 = call ptr @strerror(i32 noundef %17464) #11
  %17466 = call ptr @__errno_location() #12
  %17467 = load i32, ptr %17466, align 4, !tbaa !5
  %17468 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17455, ptr noundef @.str.12, i32 noundef %17456, ptr noundef @.str.173, ptr noundef @.str.8, i32 noundef 674, ptr noundef %17459, ptr noundef %17462, ptr noundef %17465, i32 noundef %17467) #11
  br label %17469

17469:                                            ; preds = %17452, %17435
  call void @llvm.lifetime.end.p0(i64 4, ptr %342) #11
  br label %17470

17470:                                            ; preds = %17469
  br label %17471

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

17472:                                            ; No predecessors!
  br label %17473

17473:                                            ; preds = %17472
  br label %17474

17474:                                            ; preds = %17473, %17414
  br label %17475

17475:                                            ; preds = %17474
  br label %17476

17476:                                            ; preds = %17475
  store i32 0, ptr %340, align 4
  br label %17477

17477:                                            ; preds = %17476, %17408
  %17478 = call i32 @s2n_connection_ptr_free(ptr noundef %341)
  %17479 = getelementptr inbounds %struct.s2n_result, ptr %343, i32 0, i32 0
  store i32 %17478, ptr %17479, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %341) #11
  br label %17480

17480:                                            ; preds = %17477, %17367
  call void @llvm.lifetime.end.p0(i64 8, ptr %339) #11
  %17481 = call i32 @s2n_config_ptr_free(ptr noundef %337)
  %17482 = getelementptr inbounds %struct.s2n_result, ptr %344, i32 0, i32 0
  store i32 %17481, ptr %17482, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %337) #11
  %17483 = call i32 @s2n_cert_chain_and_key_ptr_free(ptr noundef %335)
  %17484 = getelementptr inbounds %struct.s2n_result, ptr %345, i32 0, i32 0
  store i32 %17483, ptr %17484, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %335) #11
  %17485 = load i32, ptr %340, align 4
  switch i32 %17485, label %26782 [
    i32 0, label %17486
  ]

17486:                                            ; preds = %17480
  call void @llvm.lifetime.start.p0(i64 8, ptr %346) #11
  %17487 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %17487, ptr %346, align 8, !tbaa !9
  br label %17488

17488:                                            ; preds = %17486
  %17489 = load i32, ptr @test_count, align 4, !tbaa !5
  %17490 = add nsw i32 %17489, 1
  store i32 %17490, ptr @test_count, align 4, !tbaa !5
  %17491 = load ptr, ptr %346, align 8, !tbaa !9
  %17492 = icmp eq ptr %17491, null
  br i1 %17492, label %17493, label %17546

17493:                                            ; preds = %17488
  br label %17494

17494:                                            ; preds = %17493
  br label %17495

17495:                                            ; preds = %17494
  call void @llvm.lifetime.start.p0(i64 4, ptr %347) #11
  %17496 = call ptr @__errno_location() #12
  %17497 = load i32, ptr %17496, align 4, !tbaa !5
  store i32 %17497, ptr %347, align 4, !tbaa !5
  %17498 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17499 = call i32 @s2n_print_stacktrace(ptr noundef %17498)
  %17500 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %17501 = trunc i8 %17500 to i1
  br i1 %17501, label %17502, label %17524

17502:                                            ; preds = %17495
  %17503 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17504 = call i32 @fileno(ptr noundef %17503) #11
  %17505 = call i32 @isatty(i32 noundef %17504) #11
  %17506 = icmp ne i32 %17505, 0
  br i1 %17506, label %17507, label %17524

17507:                                            ; preds = %17502
  %17508 = load i32, ptr %347, align 4, !tbaa !5
  %17509 = call ptr @__errno_location() #12
  store i32 %17508, ptr %17509, align 4, !tbaa !5
  %17510 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17511 = load i32, ptr @test_count, align 4, !tbaa !5
  %17512 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17513 = load i32, ptr %17512, align 4, !tbaa !5
  %17514 = call ptr @s2n_strerror(i32 noundef %17513, ptr noundef @.str.11)
  %17515 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17516 = load i32, ptr %17515, align 4, !tbaa !5
  %17517 = call ptr @s2n_strerror_debug(i32 noundef %17516, ptr noundef @.str.11)
  %17518 = call ptr @__errno_location() #12
  %17519 = load i32, ptr %17518, align 4, !tbaa !5
  %17520 = call ptr @strerror(i32 noundef %17519) #11
  %17521 = call ptr @__errno_location() #12
  %17522 = load i32, ptr %17521, align 4, !tbaa !5
  %17523 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17510, ptr noundef @.str.9, i32 noundef %17511, ptr noundef @.str.92, ptr noundef @.str.8, i32 noundef 682, ptr noundef %17514, ptr noundef %17517, ptr noundef %17520, i32 noundef %17522) #11
  br label %17541

17524:                                            ; preds = %17502, %17495
  %17525 = load i32, ptr %347, align 4, !tbaa !5
  %17526 = call ptr @__errno_location() #12
  store i32 %17525, ptr %17526, align 4, !tbaa !5
  %17527 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17528 = load i32, ptr @test_count, align 4, !tbaa !5
  %17529 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17530 = load i32, ptr %17529, align 4, !tbaa !5
  %17531 = call ptr @s2n_strerror(i32 noundef %17530, ptr noundef @.str.11)
  %17532 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17533 = load i32, ptr %17532, align 4, !tbaa !5
  %17534 = call ptr @s2n_strerror_debug(i32 noundef %17533, ptr noundef @.str.11)
  %17535 = call ptr @__errno_location() #12
  %17536 = load i32, ptr %17535, align 4, !tbaa !5
  %17537 = call ptr @strerror(i32 noundef %17536) #11
  %17538 = call ptr @__errno_location() #12
  %17539 = load i32, ptr %17538, align 4, !tbaa !5
  %17540 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17527, ptr noundef @.str.12, i32 noundef %17528, ptr noundef @.str.92, ptr noundef @.str.8, i32 noundef 682, ptr noundef %17531, ptr noundef %17534, ptr noundef %17537, i32 noundef %17539) #11
  br label %17541

17541:                                            ; preds = %17524, %17507
  call void @llvm.lifetime.end.p0(i64 4, ptr %347) #11
  br label %17542

17542:                                            ; preds = %17541
  br label %17543

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

17544:                                            ; No predecessors!
  br label %17545

17545:                                            ; preds = %17544
  br label %17546

17546:                                            ; preds = %17545, %17488
  br label %17547

17547:                                            ; preds = %17546
  br label %17548

17548:                                            ; preds = %17547
  br label %17549

17549:                                            ; preds = %17548
  %17550 = load i32, ptr @test_count, align 4, !tbaa !5
  %17551 = add nsw i32 %17550, 1
  store i32 %17551, ptr @test_count, align 4, !tbaa !5
  %17552 = load ptr, ptr %346, align 8, !tbaa !9
  %17553 = call i64 @s2n_connection_get_wire_bytes_out(ptr noundef %17552)
  %17554 = icmp eq i64 0, %17553
  br i1 %17554, label %17608, label %17555

17555:                                            ; preds = %17549
  br label %17556

17556:                                            ; preds = %17555
  br label %17557

17557:                                            ; preds = %17556
  call void @llvm.lifetime.start.p0(i64 4, ptr %348) #11
  %17558 = call ptr @__errno_location() #12
  %17559 = load i32, ptr %17558, align 4, !tbaa !5
  store i32 %17559, ptr %348, align 4, !tbaa !5
  %17560 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17561 = call i32 @s2n_print_stacktrace(ptr noundef %17560)
  %17562 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %17563 = trunc i8 %17562 to i1
  br i1 %17563, label %17564, label %17586

17564:                                            ; preds = %17557
  %17565 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17566 = call i32 @fileno(ptr noundef %17565) #11
  %17567 = call i32 @isatty(i32 noundef %17566) #11
  %17568 = icmp ne i32 %17567, 0
  br i1 %17568, label %17569, label %17586

17569:                                            ; preds = %17564
  %17570 = load i32, ptr %348, 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.11)
  %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.11)
  %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.9, i32 noundef %17573, ptr noundef @.str.174, ptr noundef @.str.8, i32 noundef 683, ptr noundef %17576, ptr noundef %17579, ptr noundef %17582, i32 noundef %17584) #11
  br label %17603

17586:                                            ; preds = %17564, %17557
  %17587 = load i32, ptr %348, align 4, !tbaa !5
  %17588 = call ptr @__errno_location() #12
  store i32 %17587, ptr %17588, align 4, !tbaa !5
  %17589 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17590 = load i32, ptr @test_count, align 4, !tbaa !5
  %17591 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17592 = load i32, ptr %17591, align 4, !tbaa !5
  %17593 = call ptr @s2n_strerror(i32 noundef %17592, ptr noundef @.str.11)
  %17594 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17595 = load i32, ptr %17594, align 4, !tbaa !5
  %17596 = call ptr @s2n_strerror_debug(i32 noundef %17595, ptr noundef @.str.11)
  %17597 = call ptr @__errno_location() #12
  %17598 = load i32, ptr %17597, align 4, !tbaa !5
  %17599 = call ptr @strerror(i32 noundef %17598) #11
  %17600 = call ptr @__errno_location() #12
  %17601 = load i32, ptr %17600, align 4, !tbaa !5
  %17602 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17589, ptr noundef @.str.12, i32 noundef %17590, ptr noundef @.str.174, ptr noundef @.str.8, i32 noundef 683, ptr noundef %17593, ptr noundef %17596, ptr noundef %17599, i32 noundef %17601) #11
  br label %17603

17603:                                            ; preds = %17586, %17569
  call void @llvm.lifetime.end.p0(i64 4, ptr %348) #11
  br label %17604

17604:                                            ; preds = %17603
  br label %17605

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

17606:                                            ; No predecessors!
  br label %17607

17607:                                            ; preds = %17606
  br label %17608

17608:                                            ; preds = %17607, %17549
  br label %17609

17609:                                            ; preds = %17608
  br label %17610

17610:                                            ; preds = %17609
  call void @llvm.lifetime.start.p0(i64 8, ptr %349) #11
  store i64 123456, ptr %349, align 8, !tbaa !50
  %17611 = load i64, ptr %349, align 8, !tbaa !50
  %17612 = load ptr, ptr %346, align 8, !tbaa !9
  %17613 = getelementptr inbounds %struct.s2n_connection, ptr %17612, i32 0, i32 59
  store i64 %17611, ptr %17613, align 8, !tbaa !79
  br label %17614

17614:                                            ; preds = %17610
  %17615 = load i32, ptr @test_count, align 4, !tbaa !5
  %17616 = add nsw i32 %17615, 1
  store i32 %17616, ptr @test_count, align 4, !tbaa !5
  %17617 = load i64, ptr %349, align 8, !tbaa !50
  %17618 = load ptr, ptr %346, align 8, !tbaa !9
  %17619 = call i64 @s2n_connection_get_wire_bytes_out(ptr noundef %17618)
  %17620 = icmp eq i64 %17617, %17619
  br i1 %17620, label %17674, label %17621

17621:                                            ; preds = %17614
  br label %17622

17622:                                            ; preds = %17621
  br label %17623

17623:                                            ; preds = %17622
  call void @llvm.lifetime.start.p0(i64 4, ptr %350) #11
  %17624 = call ptr @__errno_location() #12
  %17625 = load i32, ptr %17624, align 4, !tbaa !5
  store i32 %17625, ptr %350, align 4, !tbaa !5
  %17626 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17627 = call i32 @s2n_print_stacktrace(ptr noundef %17626)
  %17628 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %17629 = trunc i8 %17628 to i1
  br i1 %17629, label %17630, label %17652

17630:                                            ; preds = %17623
  %17631 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17632 = call i32 @fileno(ptr noundef %17631) #11
  %17633 = call i32 @isatty(i32 noundef %17632) #11
  %17634 = icmp ne i32 %17633, 0
  br i1 %17634, label %17635, label %17652

17635:                                            ; preds = %17630
  %17636 = load i32, ptr %350, align 4, !tbaa !5
  %17637 = call ptr @__errno_location() #12
  store i32 %17636, ptr %17637, align 4, !tbaa !5
  %17638 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17639 = load i32, ptr @test_count, align 4, !tbaa !5
  %17640 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17641 = load i32, ptr %17640, align 4, !tbaa !5
  %17642 = call ptr @s2n_strerror(i32 noundef %17641, ptr noundef @.str.11)
  %17643 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17644 = load i32, ptr %17643, align 4, !tbaa !5
  %17645 = call ptr @s2n_strerror_debug(i32 noundef %17644, ptr noundef @.str.11)
  %17646 = call ptr @__errno_location() #12
  %17647 = load i32, ptr %17646, align 4, !tbaa !5
  %17648 = call ptr @strerror(i32 noundef %17647) #11
  %17649 = call ptr @__errno_location() #12
  %17650 = load i32, ptr %17649, align 4, !tbaa !5
  %17651 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17638, ptr noundef @.str.9, i32 noundef %17639, ptr noundef @.str.175, ptr noundef @.str.8, i32 noundef 687, ptr noundef %17642, ptr noundef %17645, ptr noundef %17648, i32 noundef %17650) #11
  br label %17669

17652:                                            ; preds = %17630, %17623
  %17653 = load i32, ptr %350, align 4, !tbaa !5
  %17654 = call ptr @__errno_location() #12
  store i32 %17653, ptr %17654, align 4, !tbaa !5
  %17655 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17656 = load i32, ptr @test_count, align 4, !tbaa !5
  %17657 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17658 = load i32, ptr %17657, align 4, !tbaa !5
  %17659 = call ptr @s2n_strerror(i32 noundef %17658, ptr noundef @.str.11)
  %17660 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17661 = load i32, ptr %17660, align 4, !tbaa !5
  %17662 = call ptr @s2n_strerror_debug(i32 noundef %17661, ptr noundef @.str.11)
  %17663 = call ptr @__errno_location() #12
  %17664 = load i32, ptr %17663, align 4, !tbaa !5
  %17665 = call ptr @strerror(i32 noundef %17664) #11
  %17666 = call ptr @__errno_location() #12
  %17667 = load i32, ptr %17666, align 4, !tbaa !5
  %17668 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17655, ptr noundef @.str.12, i32 noundef %17656, ptr noundef @.str.175, ptr noundef @.str.8, i32 noundef 687, ptr noundef %17659, ptr noundef %17662, ptr noundef %17665, i32 noundef %17667) #11
  br label %17669

17669:                                            ; preds = %17652, %17635
  call void @llvm.lifetime.end.p0(i64 4, ptr %350) #11
  br label %17670

17670:                                            ; preds = %17669
  br label %17671

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

17672:                                            ; No predecessors!
  br label %17673

17673:                                            ; preds = %17672
  br label %17674

17674:                                            ; preds = %17673, %17614
  br label %17675

17675:                                            ; preds = %17674
  br label %17676

17676:                                            ; preds = %17675
  call void @llvm.lifetime.end.p0(i64 8, ptr %349) #11
  %17677 = call i32 @s2n_connection_ptr_free(ptr noundef %346)
  %17678 = getelementptr inbounds %struct.s2n_result, ptr %351, i32 0, i32 0
  store i32 %17677, ptr %17678, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %346) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %352) #11
  %17679 = call ptr @s2n_config_new()
  store ptr %17679, ptr %352, align 8, !tbaa !9
  br label %17680

17680:                                            ; preds = %17676
  %17681 = load i32, ptr @test_count, align 4, !tbaa !5
  %17682 = add nsw i32 %17681, 1
  store i32 %17682, ptr @test_count, align 4, !tbaa !5
  %17683 = load ptr, ptr %352, align 8, !tbaa !9
  %17684 = icmp eq ptr %17683, null
  br i1 %17684, label %17685, label %17738

17685:                                            ; preds = %17680
  br label %17686

17686:                                            ; preds = %17685
  br label %17687

17687:                                            ; preds = %17686
  call void @llvm.lifetime.start.p0(i64 4, ptr %353) #11
  %17688 = call ptr @__errno_location() #12
  %17689 = load i32, ptr %17688, align 4, !tbaa !5
  store i32 %17689, ptr %353, align 4, !tbaa !5
  %17690 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17691 = call i32 @s2n_print_stacktrace(ptr noundef %17690)
  %17692 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %17693 = trunc i8 %17692 to i1
  br i1 %17693, label %17694, label %17716

17694:                                            ; preds = %17687
  %17695 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17696 = call i32 @fileno(ptr noundef %17695) #11
  %17697 = call i32 @isatty(i32 noundef %17696) #11
  %17698 = icmp ne i32 %17697, 0
  br i1 %17698, label %17699, label %17716

17699:                                            ; preds = %17694
  %17700 = load i32, ptr %353, align 4, !tbaa !5
  %17701 = call ptr @__errno_location() #12
  store i32 %17700, ptr %17701, align 4, !tbaa !5
  %17702 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17703 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %17705, ptr noundef @.str.11)
  %17707 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17708 = load i32, ptr %17707, align 4, !tbaa !5
  %17709 = call ptr @s2n_strerror_debug(i32 noundef %17708, ptr noundef @.str.11)
  %17710 = call ptr @__errno_location() #12
  %17711 = load i32, ptr %17710, align 4, !tbaa !5
  %17712 = call ptr @strerror(i32 noundef %17711) #11
  %17713 = call ptr @__errno_location() #12
  %17714 = load i32, ptr %17713, align 4, !tbaa !5
  %17715 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17702, ptr noundef @.str.9, i32 noundef %17703, ptr noundef @.str.69, ptr noundef @.str.8, i32 noundef 693, ptr noundef %17706, ptr noundef %17709, ptr noundef %17712, i32 noundef %17714) #11
  br label %17733

17716:                                            ; preds = %17694, %17687
  %17717 = load i32, ptr %353, align 4, !tbaa !5
  %17718 = call ptr @__errno_location() #12
  store i32 %17717, ptr %17718, align 4, !tbaa !5
  %17719 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17720 = load i32, ptr @test_count, align 4, !tbaa !5
  %17721 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17722 = load i32, ptr %17721, align 4, !tbaa !5
  %17723 = call ptr @s2n_strerror(i32 noundef %17722, ptr noundef @.str.11)
  %17724 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17725 = load i32, ptr %17724, align 4, !tbaa !5
  %17726 = call ptr @s2n_strerror_debug(i32 noundef %17725, ptr noundef @.str.11)
  %17727 = call ptr @__errno_location() #12
  %17728 = load i32, ptr %17727, align 4, !tbaa !5
  %17729 = call ptr @strerror(i32 noundef %17728) #11
  %17730 = call ptr @__errno_location() #12
  %17731 = load i32, ptr %17730, align 4, !tbaa !5
  %17732 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17719, ptr noundef @.str.12, i32 noundef %17720, ptr noundef @.str.69, ptr noundef @.str.8, i32 noundef 693, ptr noundef %17723, ptr noundef %17726, ptr noundef %17729, i32 noundef %17731) #11
  br label %17733

17733:                                            ; preds = %17716, %17699
  call void @llvm.lifetime.end.p0(i64 4, ptr %353) #11
  br label %17734

17734:                                            ; preds = %17733
  br label %17735

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

17736:                                            ; No predecessors!
  br label %17737

17737:                                            ; preds = %17736
  br label %17738

17738:                                            ; preds = %17737, %17680
  br label %17739

17739:                                            ; preds = %17738
  br label %17740

17740:                                            ; preds = %17739
  br label %17741

17741:                                            ; preds = %17740
  %17742 = load i32, ptr @test_count, align 4, !tbaa !5
  %17743 = add nsw i32 %17742, 1
  store i32 %17743, ptr @test_count, align 4, !tbaa !5
  %17744 = load ptr, ptr %352, align 8, !tbaa !9
  %17745 = call i32 @s2n_config_set_cipher_preferences(ptr noundef %17744, ptr noundef @.str.73)
  %17746 = icmp eq i32 %17745, -1
  br i1 %17746, label %17747, label %17800

17747:                                            ; preds = %17741
  br label %17748

17748:                                            ; preds = %17747
  br label %17749

17749:                                            ; preds = %17748
  call void @llvm.lifetime.start.p0(i64 4, ptr %354) #11
  %17750 = call ptr @__errno_location() #12
  %17751 = load i32, ptr %17750, align 4, !tbaa !5
  store i32 %17751, ptr %354, align 4, !tbaa !5
  %17752 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17753 = call i32 @s2n_print_stacktrace(ptr noundef %17752)
  %17754 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %17755 = trunc i8 %17754 to i1
  br i1 %17755, label %17756, label %17778

17756:                                            ; preds = %17749
  %17757 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17758 = call i32 @fileno(ptr noundef %17757) #11
  %17759 = call i32 @isatty(i32 noundef %17758) #11
  %17760 = icmp ne i32 %17759, 0
  br i1 %17760, label %17761, label %17778

17761:                                            ; preds = %17756
  %17762 = load i32, ptr %354, align 4, !tbaa !5
  %17763 = call ptr @__errno_location() #12
  store i32 %17762, ptr %17763, align 4, !tbaa !5
  %17764 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17765 = load i32, ptr @test_count, align 4, !tbaa !5
  %17766 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17767 = load i32, ptr %17766, align 4, !tbaa !5
  %17768 = call ptr @s2n_strerror(i32 noundef %17767, ptr noundef @.str.11)
  %17769 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17770 = load i32, ptr %17769, align 4, !tbaa !5
  %17771 = call ptr @s2n_strerror_debug(i32 noundef %17770, ptr noundef @.str.11)
  %17772 = call ptr @__errno_location() #12
  %17773 = load i32, ptr %17772, align 4, !tbaa !5
  %17774 = call ptr @strerror(i32 noundef %17773) #11
  %17775 = call ptr @__errno_location() #12
  %17776 = load i32, ptr %17775, align 4, !tbaa !5
  %17777 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17764, ptr noundef @.str.9, i32 noundef %17765, ptr noundef @.str.74, ptr noundef @.str.8, i32 noundef 694, ptr noundef %17768, ptr noundef %17771, ptr noundef %17774, i32 noundef %17776) #11
  br label %17795

17778:                                            ; preds = %17756, %17749
  %17779 = load i32, ptr %354, align 4, !tbaa !5
  %17780 = call ptr @__errno_location() #12
  store i32 %17779, ptr %17780, align 4, !tbaa !5
  %17781 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17782 = load i32, ptr @test_count, align 4, !tbaa !5
  %17783 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17784 = load i32, ptr %17783, align 4, !tbaa !5
  %17785 = call ptr @s2n_strerror(i32 noundef %17784, ptr noundef @.str.11)
  %17786 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17787 = load i32, ptr %17786, align 4, !tbaa !5
  %17788 = call ptr @s2n_strerror_debug(i32 noundef %17787, ptr noundef @.str.11)
  %17789 = call ptr @__errno_location() #12
  %17790 = load i32, ptr %17789, align 4, !tbaa !5
  %17791 = call ptr @strerror(i32 noundef %17790) #11
  %17792 = call ptr @__errno_location() #12
  %17793 = load i32, ptr %17792, align 4, !tbaa !5
  %17794 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17781, ptr noundef @.str.12, i32 noundef %17782, ptr noundef @.str.74, ptr noundef @.str.8, i32 noundef 694, ptr noundef %17785, ptr noundef %17788, ptr noundef %17791, i32 noundef %17793) #11
  br label %17795

17795:                                            ; preds = %17778, %17761
  call void @llvm.lifetime.end.p0(i64 4, ptr %354) #11
  br label %17796

17796:                                            ; preds = %17795
  br label %17797

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

17798:                                            ; No predecessors!
  br label %17799

17799:                                            ; preds = %17798
  br label %17800

17800:                                            ; preds = %17799, %17741
  br label %17801

17801:                                            ; preds = %17800
  br label %17802

17802:                                            ; preds = %17801
  br label %17803

17803:                                            ; preds = %17802
  %17804 = load i32, ptr @test_count, align 4, !tbaa !5
  %17805 = add nsw i32 %17804, 1
  store i32 %17805, ptr @test_count, align 4, !tbaa !5
  %17806 = load ptr, ptr %352, align 8, !tbaa !9
  %17807 = call i32 @s2n_config_set_unsafe_for_testing(ptr noundef %17806)
  %17808 = icmp eq i32 %17807, -1
  br i1 %17808, label %17809, label %17862

17809:                                            ; preds = %17803
  br label %17810

17810:                                            ; preds = %17809
  br label %17811

17811:                                            ; preds = %17810
  call void @llvm.lifetime.start.p0(i64 4, ptr %355) #11
  %17812 = call ptr @__errno_location() #12
  %17813 = load i32, ptr %17812, align 4, !tbaa !5
  store i32 %17813, ptr %355, align 4, !tbaa !5
  %17814 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17815 = call i32 @s2n_print_stacktrace(ptr noundef %17814)
  %17816 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %17817 = trunc i8 %17816 to i1
  br i1 %17817, label %17818, label %17840

17818:                                            ; preds = %17811
  %17819 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17820 = call i32 @fileno(ptr noundef %17819) #11
  %17821 = call i32 @isatty(i32 noundef %17820) #11
  %17822 = icmp ne i32 %17821, 0
  br i1 %17822, label %17823, label %17840

17823:                                            ; preds = %17818
  %17824 = load i32, ptr %355, 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.11)
  %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.11)
  %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.9, i32 noundef %17827, ptr noundef @.str.70, ptr noundef @.str.8, i32 noundef 695, ptr noundef %17830, ptr noundef %17833, ptr noundef %17836, i32 noundef %17838) #11
  br label %17857

17840:                                            ; preds = %17818, %17811
  %17841 = load i32, ptr %355, align 4, !tbaa !5
  %17842 = call ptr @__errno_location() #12
  store i32 %17841, ptr %17842, align 4, !tbaa !5
  %17843 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17844 = load i32, ptr @test_count, align 4, !tbaa !5
  %17845 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17846 = load i32, ptr %17845, align 4, !tbaa !5
  %17847 = call ptr @s2n_strerror(i32 noundef %17846, ptr noundef @.str.11)
  %17848 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17849 = load i32, ptr %17848, align 4, !tbaa !5
  %17850 = call ptr @s2n_strerror_debug(i32 noundef %17849, ptr noundef @.str.11)
  %17851 = call ptr @__errno_location() #12
  %17852 = load i32, ptr %17851, align 4, !tbaa !5
  %17853 = call ptr @strerror(i32 noundef %17852) #11
  %17854 = call ptr @__errno_location() #12
  %17855 = load i32, ptr %17854, align 4, !tbaa !5
  %17856 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17843, ptr noundef @.str.12, i32 noundef %17844, ptr noundef @.str.70, ptr noundef @.str.8, i32 noundef 695, ptr noundef %17847, ptr noundef %17850, ptr noundef %17853, i32 noundef %17855) #11
  br label %17857

17857:                                            ; preds = %17840, %17823
  call void @llvm.lifetime.end.p0(i64 4, ptr %355) #11
  br label %17858

17858:                                            ; preds = %17857
  br label %17859

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

17860:                                            ; No predecessors!
  br label %17861

17861:                                            ; preds = %17860
  br label %17862

17862:                                            ; preds = %17861, %17803
  br label %17863

17863:                                            ; preds = %17862
  br label %17864

17864:                                            ; preds = %17863
  br label %17865

17865:                                            ; preds = %17864
  %17866 = load i32, ptr @test_count, align 4, !tbaa !5
  %17867 = add nsw i32 %17866, 1
  store i32 %17867, ptr @test_count, align 4, !tbaa !5
  %17868 = load ptr, ptr %352, align 8, !tbaa !9
  %17869 = load ptr, ptr %9, align 8, !tbaa !9
  %17870 = call i32 @s2n_config_add_cert_chain_and_key_to_store(ptr noundef %17868, ptr noundef %17869)
  %17871 = icmp eq i32 %17870, -1
  br i1 %17871, label %17872, label %17925

17872:                                            ; preds = %17865
  br label %17873

17873:                                            ; preds = %17872
  br label %17874

17874:                                            ; preds = %17873
  call void @llvm.lifetime.start.p0(i64 4, ptr %356) #11
  %17875 = call ptr @__errno_location() #12
  %17876 = load i32, ptr %17875, align 4, !tbaa !5
  store i32 %17876, ptr %356, align 4, !tbaa !5
  %17877 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17878 = call i32 @s2n_print_stacktrace(ptr noundef %17877)
  %17879 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %17880 = trunc i8 %17879 to i1
  br i1 %17880, label %17881, label %17903

17881:                                            ; preds = %17874
  %17882 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17883 = call i32 @fileno(ptr noundef %17882) #11
  %17884 = call i32 @isatty(i32 noundef %17883) #11
  %17885 = icmp ne i32 %17884, 0
  br i1 %17885, label %17886, label %17903

17886:                                            ; preds = %17881
  %17887 = load i32, ptr %356, align 4, !tbaa !5
  %17888 = call ptr @__errno_location() #12
  store i32 %17887, ptr %17888, align 4, !tbaa !5
  %17889 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17890 = load i32, ptr @test_count, align 4, !tbaa !5
  %17891 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17892 = load i32, ptr %17891, align 4, !tbaa !5
  %17893 = call ptr @s2n_strerror(i32 noundef %17892, ptr noundef @.str.11)
  %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_debug(i32 noundef %17895, ptr noundef @.str.11)
  %17897 = call ptr @__errno_location() #12
  %17898 = load i32, ptr %17897, align 4, !tbaa !5
  %17899 = call ptr @strerror(i32 noundef %17898) #11
  %17900 = call ptr @__errno_location() #12
  %17901 = load i32, ptr %17900, align 4, !tbaa !5
  %17902 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17889, ptr noundef @.str.9, i32 noundef %17890, ptr noundef @.str.72, ptr noundef @.str.8, i32 noundef 696, ptr noundef %17893, ptr noundef %17896, ptr noundef %17899, i32 noundef %17901) #11
  br label %17920

17903:                                            ; preds = %17881, %17874
  %17904 = load i32, ptr %356, align 4, !tbaa !5
  %17905 = call ptr @__errno_location() #12
  store i32 %17904, ptr %17905, align 4, !tbaa !5
  %17906 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17907 = load i32, ptr @test_count, align 4, !tbaa !5
  %17908 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17909 = load i32, ptr %17908, align 4, !tbaa !5
  %17910 = call ptr @s2n_strerror(i32 noundef %17909, ptr noundef @.str.11)
  %17911 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17912 = load i32, ptr %17911, align 4, !tbaa !5
  %17913 = call ptr @s2n_strerror_debug(i32 noundef %17912, ptr noundef @.str.11)
  %17914 = call ptr @__errno_location() #12
  %17915 = load i32, ptr %17914, align 4, !tbaa !5
  %17916 = call ptr @strerror(i32 noundef %17915) #11
  %17917 = call ptr @__errno_location() #12
  %17918 = load i32, ptr %17917, align 4, !tbaa !5
  %17919 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17906, ptr noundef @.str.12, i32 noundef %17907, ptr noundef @.str.72, ptr noundef @.str.8, i32 noundef 696, ptr noundef %17910, ptr noundef %17913, ptr noundef %17916, i32 noundef %17918) #11
  br label %17920

17920:                                            ; preds = %17903, %17886
  call void @llvm.lifetime.end.p0(i64 4, ptr %356) #11
  br label %17921

17921:                                            ; preds = %17920
  br label %17922

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

17923:                                            ; No predecessors!
  br label %17924

17924:                                            ; preds = %17923
  br label %17925

17925:                                            ; preds = %17924, %17865
  br label %17926

17926:                                            ; preds = %17925
  br label %17927

17927:                                            ; preds = %17926
  call void @llvm.lifetime.start.p0(i64 8, ptr %357) #11
  %17928 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %17928, ptr %357, align 8, !tbaa !9
  br label %17929

17929:                                            ; preds = %17927
  %17930 = load i32, ptr @test_count, align 4, !tbaa !5
  %17931 = add nsw i32 %17930, 1
  store i32 %17931, ptr @test_count, align 4, !tbaa !5
  %17932 = load ptr, ptr %357, align 8, !tbaa !9
  %17933 = icmp eq ptr %17932, null
  br i1 %17933, label %17934, label %17987

17934:                                            ; preds = %17929
  br label %17935

17935:                                            ; preds = %17934
  br label %17936

17936:                                            ; preds = %17935
  call void @llvm.lifetime.start.p0(i64 4, ptr %358) #11
  %17937 = call ptr @__errno_location() #12
  %17938 = load i32, ptr %17937, align 4, !tbaa !5
  store i32 %17938, ptr %358, align 4, !tbaa !5
  %17939 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17940 = call i32 @s2n_print_stacktrace(ptr noundef %17939)
  %17941 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %17942 = trunc i8 %17941 to i1
  br i1 %17942, label %17943, label %17965

17943:                                            ; preds = %17936
  %17944 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17945 = call i32 @fileno(ptr noundef %17944) #11
  %17946 = call i32 @isatty(i32 noundef %17945) #11
  %17947 = icmp ne i32 %17946, 0
  br i1 %17947, label %17948, label %17965

17948:                                            ; preds = %17943
  %17949 = load i32, ptr %358, align 4, !tbaa !5
  %17950 = call ptr @__errno_location() #12
  store i32 %17949, ptr %17950, align 4, !tbaa !5
  %17951 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17952 = load i32, ptr @test_count, align 4, !tbaa !5
  %17953 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17954 = load i32, ptr %17953, align 4, !tbaa !5
  %17955 = call ptr @s2n_strerror(i32 noundef %17954, ptr noundef @.str.11)
  %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_debug(i32 noundef %17957, ptr noundef @.str.11)
  %17959 = call ptr @__errno_location() #12
  %17960 = load i32, ptr %17959, align 4, !tbaa !5
  %17961 = call ptr @strerror(i32 noundef %17960) #11
  %17962 = call ptr @__errno_location() #12
  %17963 = load i32, ptr %17962, align 4, !tbaa !5
  %17964 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17951, ptr noundef @.str.9, i32 noundef %17952, ptr noundef @.str.75, ptr noundef @.str.8, i32 noundef 700, ptr noundef %17955, ptr noundef %17958, ptr noundef %17961, i32 noundef %17963) #11
  br label %17982

17965:                                            ; preds = %17943, %17936
  %17966 = load i32, ptr %358, align 4, !tbaa !5
  %17967 = call ptr @__errno_location() #12
  store i32 %17966, ptr %17967, align 4, !tbaa !5
  %17968 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17969 = load i32, ptr @test_count, align 4, !tbaa !5
  %17970 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17971 = load i32, ptr %17970, align 4, !tbaa !5
  %17972 = call ptr @s2n_strerror(i32 noundef %17971, ptr noundef @.str.11)
  %17973 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17974 = load i32, ptr %17973, align 4, !tbaa !5
  %17975 = call ptr @s2n_strerror_debug(i32 noundef %17974, ptr noundef @.str.11)
  %17976 = call ptr @__errno_location() #12
  %17977 = load i32, ptr %17976, align 4, !tbaa !5
  %17978 = call ptr @strerror(i32 noundef %17977) #11
  %17979 = call ptr @__errno_location() #12
  %17980 = load i32, ptr %17979, align 4, !tbaa !5
  %17981 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17968, ptr noundef @.str.12, i32 noundef %17969, ptr noundef @.str.75, ptr noundef @.str.8, i32 noundef 700, ptr noundef %17972, ptr noundef %17975, ptr noundef %17978, i32 noundef %17980) #11
  br label %17982

17982:                                            ; preds = %17965, %17948
  call void @llvm.lifetime.end.p0(i64 4, ptr %358) #11
  br label %17983

17983:                                            ; preds = %17982
  br label %17984

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

17985:                                            ; No predecessors!
  br label %17986

17986:                                            ; preds = %17985
  br label %17987

17987:                                            ; preds = %17986, %17929
  br label %17988

17988:                                            ; preds = %17987
  br label %17989

17989:                                            ; preds = %17988
  br label %17990

17990:                                            ; preds = %17989
  %17991 = load i32, ptr @test_count, align 4, !tbaa !5
  %17992 = add nsw i32 %17991, 1
  store i32 %17992, ptr @test_count, align 4, !tbaa !5
  %17993 = load ptr, ptr %357, align 8, !tbaa !9
  %17994 = load ptr, ptr %352, align 8, !tbaa !9
  %17995 = call i32 @s2n_connection_set_config(ptr noundef %17993, ptr noundef %17994)
  %17996 = icmp eq i32 %17995, -1
  br i1 %17996, label %17997, label %18050

17997:                                            ; preds = %17990
  br label %17998

17998:                                            ; preds = %17997
  br label %17999

17999:                                            ; preds = %17998
  call void @llvm.lifetime.start.p0(i64 4, ptr %359) #11
  %18000 = call ptr @__errno_location() #12
  %18001 = load i32, ptr %18000, align 4, !tbaa !5
  store i32 %18001, ptr %359, align 4, !tbaa !5
  %18002 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18003 = call i32 @s2n_print_stacktrace(ptr noundef %18002)
  %18004 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %18005 = trunc i8 %18004 to i1
  br i1 %18005, label %18006, label %18028

18006:                                            ; preds = %17999
  %18007 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18008 = call i32 @fileno(ptr noundef %18007) #11
  %18009 = call i32 @isatty(i32 noundef %18008) #11
  %18010 = icmp ne i32 %18009, 0
  br i1 %18010, label %18011, label %18028

18011:                                            ; preds = %18006
  %18012 = load i32, ptr %359, align 4, !tbaa !5
  %18013 = call ptr @__errno_location() #12
  store i32 %18012, ptr %18013, align 4, !tbaa !5
  %18014 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18015 = load i32, ptr @test_count, align 4, !tbaa !5
  %18016 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18017 = load i32, ptr %18016, align 4, !tbaa !5
  %18018 = call ptr @s2n_strerror(i32 noundef %18017, ptr noundef @.str.11)
  %18019 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18020 = load i32, ptr %18019, align 4, !tbaa !5
  %18021 = call ptr @s2n_strerror_debug(i32 noundef %18020, ptr noundef @.str.11)
  %18022 = call ptr @__errno_location() #12
  %18023 = load i32, ptr %18022, align 4, !tbaa !5
  %18024 = call ptr @strerror(i32 noundef %18023) #11
  %18025 = call ptr @__errno_location() #12
  %18026 = load i32, ptr %18025, align 4, !tbaa !5
  %18027 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18014, ptr noundef @.str.9, i32 noundef %18015, ptr noundef @.str.76, ptr noundef @.str.8, i32 noundef 701, ptr noundef %18018, ptr noundef %18021, ptr noundef %18024, i32 noundef %18026) #11
  br label %18045

18028:                                            ; preds = %18006, %17999
  %18029 = load i32, ptr %359, align 4, !tbaa !5
  %18030 = call ptr @__errno_location() #12
  store i32 %18029, ptr %18030, align 4, !tbaa !5
  %18031 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18032 = load i32, ptr @test_count, align 4, !tbaa !5
  %18033 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18034 = load i32, ptr %18033, align 4, !tbaa !5
  %18035 = call ptr @s2n_strerror(i32 noundef %18034, ptr noundef @.str.11)
  %18036 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18037 = load i32, ptr %18036, align 4, !tbaa !5
  %18038 = call ptr @s2n_strerror_debug(i32 noundef %18037, ptr noundef @.str.11)
  %18039 = call ptr @__errno_location() #12
  %18040 = load i32, ptr %18039, align 4, !tbaa !5
  %18041 = call ptr @strerror(i32 noundef %18040) #11
  %18042 = call ptr @__errno_location() #12
  %18043 = load i32, ptr %18042, align 4, !tbaa !5
  %18044 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18031, ptr noundef @.str.12, i32 noundef %18032, ptr noundef @.str.76, ptr noundef @.str.8, i32 noundef 701, ptr noundef %18035, ptr noundef %18038, ptr noundef %18041, i32 noundef %18043) #11
  br label %18045

18045:                                            ; preds = %18028, %18011
  call void @llvm.lifetime.end.p0(i64 4, ptr %359) #11
  br label %18046

18046:                                            ; preds = %18045
  br label %18047

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

18048:                                            ; No predecessors!
  br label %18049

18049:                                            ; preds = %18048
  br label %18050

18050:                                            ; preds = %18049, %17990
  br label %18051

18051:                                            ; preds = %18050
  br label %18052

18052:                                            ; preds = %18051
  call void @llvm.lifetime.start.p0(i64 8, ptr %360) #11
  %18053 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %18053, ptr %360, align 8, !tbaa !9
  br label %18054

18054:                                            ; preds = %18052
  %18055 = load i32, ptr @test_count, align 4, !tbaa !5
  %18056 = add nsw i32 %18055, 1
  store i32 %18056, ptr @test_count, align 4, !tbaa !5
  %18057 = load ptr, ptr %360, align 8, !tbaa !9
  %18058 = icmp eq ptr %18057, null
  br i1 %18058, label %18059, label %18112

18059:                                            ; preds = %18054
  br label %18060

18060:                                            ; preds = %18059
  br label %18061

18061:                                            ; preds = %18060
  call void @llvm.lifetime.start.p0(i64 4, ptr %361) #11
  %18062 = call ptr @__errno_location() #12
  %18063 = load i32, ptr %18062, align 4, !tbaa !5
  store i32 %18063, ptr %361, align 4, !tbaa !5
  %18064 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18065 = call i32 @s2n_print_stacktrace(ptr noundef %18064)
  %18066 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %18067 = trunc i8 %18066 to i1
  br i1 %18067, label %18068, label %18090

18068:                                            ; preds = %18061
  %18069 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18070 = call i32 @fileno(ptr noundef %18069) #11
  %18071 = call i32 @isatty(i32 noundef %18070) #11
  %18072 = icmp ne i32 %18071, 0
  br i1 %18072, label %18073, label %18090

18073:                                            ; preds = %18068
  %18074 = load i32, ptr %361, align 4, !tbaa !5
  %18075 = call ptr @__errno_location() #12
  store i32 %18074, ptr %18075, align 4, !tbaa !5
  %18076 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18077 = load i32, ptr @test_count, align 4, !tbaa !5
  %18078 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18079 = load i32, ptr %18078, align 4, !tbaa !5
  %18080 = call ptr @s2n_strerror(i32 noundef %18079, ptr noundef @.str.11)
  %18081 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18082 = load i32, ptr %18081, align 4, !tbaa !5
  %18083 = call ptr @s2n_strerror_debug(i32 noundef %18082, ptr noundef @.str.11)
  %18084 = call ptr @__errno_location() #12
  %18085 = load i32, ptr %18084, align 4, !tbaa !5
  %18086 = call ptr @strerror(i32 noundef %18085) #11
  %18087 = call ptr @__errno_location() #12
  %18088 = load i32, ptr %18087, align 4, !tbaa !5
  %18089 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18076, ptr noundef @.str.9, i32 noundef %18077, ptr noundef @.str.77, ptr noundef @.str.8, i32 noundef 705, ptr noundef %18080, ptr noundef %18083, ptr noundef %18086, i32 noundef %18088) #11
  br label %18107

18090:                                            ; preds = %18068, %18061
  %18091 = load i32, ptr %361, align 4, !tbaa !5
  %18092 = call ptr @__errno_location() #12
  store i32 %18091, ptr %18092, align 4, !tbaa !5
  %18093 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18094 = load i32, ptr @test_count, align 4, !tbaa !5
  %18095 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18096 = load i32, ptr %18095, align 4, !tbaa !5
  %18097 = call ptr @s2n_strerror(i32 noundef %18096, ptr noundef @.str.11)
  %18098 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18099 = load i32, ptr %18098, align 4, !tbaa !5
  %18100 = call ptr @s2n_strerror_debug(i32 noundef %18099, ptr noundef @.str.11)
  %18101 = call ptr @__errno_location() #12
  %18102 = load i32, ptr %18101, align 4, !tbaa !5
  %18103 = call ptr @strerror(i32 noundef %18102) #11
  %18104 = call ptr @__errno_location() #12
  %18105 = load i32, ptr %18104, align 4, !tbaa !5
  %18106 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18093, ptr noundef @.str.12, i32 noundef %18094, ptr noundef @.str.77, ptr noundef @.str.8, i32 noundef 705, ptr noundef %18097, ptr noundef %18100, ptr noundef %18103, i32 noundef %18105) #11
  br label %18107

18107:                                            ; preds = %18090, %18073
  call void @llvm.lifetime.end.p0(i64 4, ptr %361) #11
  br label %18108

18108:                                            ; preds = %18107
  br label %18109

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

18110:                                            ; No predecessors!
  br label %18111

18111:                                            ; preds = %18110
  br label %18112

18112:                                            ; preds = %18111, %18054
  br label %18113

18113:                                            ; preds = %18112
  br label %18114

18114:                                            ; preds = %18113
  br label %18115

18115:                                            ; preds = %18114
  %18116 = load i32, ptr @test_count, align 4, !tbaa !5
  %18117 = add nsw i32 %18116, 1
  store i32 %18117, ptr @test_count, align 4, !tbaa !5
  %18118 = load ptr, ptr %360, align 8, !tbaa !9
  %18119 = load ptr, ptr %352, align 8, !tbaa !9
  %18120 = call i32 @s2n_connection_set_config(ptr noundef %18118, ptr noundef %18119)
  %18121 = icmp eq i32 %18120, -1
  br i1 %18121, label %18122, label %18175

18122:                                            ; preds = %18115
  br label %18123

18123:                                            ; preds = %18122
  br label %18124

18124:                                            ; preds = %18123
  call void @llvm.lifetime.start.p0(i64 4, ptr %362) #11
  %18125 = call ptr @__errno_location() #12
  %18126 = load i32, ptr %18125, align 4, !tbaa !5
  store i32 %18126, ptr %362, align 4, !tbaa !5
  %18127 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18128 = call i32 @s2n_print_stacktrace(ptr noundef %18127)
  %18129 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %18130 = trunc i8 %18129 to i1
  br i1 %18130, label %18131, label %18153

18131:                                            ; preds = %18124
  %18132 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18133 = call i32 @fileno(ptr noundef %18132) #11
  %18134 = call i32 @isatty(i32 noundef %18133) #11
  %18135 = icmp ne i32 %18134, 0
  br i1 %18135, label %18136, label %18153

18136:                                            ; preds = %18131
  %18137 = load i32, ptr %362, align 4, !tbaa !5
  %18138 = call ptr @__errno_location() #12
  store i32 %18137, ptr %18138, align 4, !tbaa !5
  %18139 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18140 = load i32, ptr @test_count, align 4, !tbaa !5
  %18141 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18142 = load i32, ptr %18141, align 4, !tbaa !5
  %18143 = call ptr @s2n_strerror(i32 noundef %18142, ptr noundef @.str.11)
  %18144 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18145 = load i32, ptr %18144, align 4, !tbaa !5
  %18146 = call ptr @s2n_strerror_debug(i32 noundef %18145, ptr noundef @.str.11)
  %18147 = call ptr @__errno_location() #12
  %18148 = load i32, ptr %18147, align 4, !tbaa !5
  %18149 = call ptr @strerror(i32 noundef %18148) #11
  %18150 = call ptr @__errno_location() #12
  %18151 = load i32, ptr %18150, align 4, !tbaa !5
  %18152 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18139, ptr noundef @.str.9, i32 noundef %18140, ptr noundef @.str.40, ptr noundef @.str.8, i32 noundef 706, ptr noundef %18143, ptr noundef %18146, ptr noundef %18149, i32 noundef %18151) #11
  br label %18170

18153:                                            ; preds = %18131, %18124
  %18154 = load i32, ptr %362, align 4, !tbaa !5
  %18155 = call ptr @__errno_location() #12
  store i32 %18154, ptr %18155, align 4, !tbaa !5
  %18156 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18157 = load i32, ptr @test_count, align 4, !tbaa !5
  %18158 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18159 = load i32, ptr %18158, align 4, !tbaa !5
  %18160 = call ptr @s2n_strerror(i32 noundef %18159, ptr noundef @.str.11)
  %18161 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18162 = load i32, ptr %18161, align 4, !tbaa !5
  %18163 = call ptr @s2n_strerror_debug(i32 noundef %18162, ptr noundef @.str.11)
  %18164 = call ptr @__errno_location() #12
  %18165 = load i32, ptr %18164, align 4, !tbaa !5
  %18166 = call ptr @strerror(i32 noundef %18165) #11
  %18167 = call ptr @__errno_location() #12
  %18168 = load i32, ptr %18167, align 4, !tbaa !5
  %18169 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18156, ptr noundef @.str.12, i32 noundef %18157, ptr noundef @.str.40, ptr noundef @.str.8, i32 noundef 706, ptr noundef %18160, ptr noundef %18163, ptr noundef %18166, i32 noundef %18168) #11
  br label %18170

18170:                                            ; preds = %18153, %18136
  call void @llvm.lifetime.end.p0(i64 4, ptr %362) #11
  br label %18171

18171:                                            ; preds = %18170
  br label %18172

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

18173:                                            ; No predecessors!
  br label %18174

18174:                                            ; preds = %18173
  br label %18175

18175:                                            ; preds = %18174, %18115
  br label %18176

18176:                                            ; preds = %18175
  br label %18177

18177:                                            ; preds = %18176
  call void @llvm.lifetime.start.p0(i64 100, ptr %363) #11
  call void @llvm.memcpy.p0.p0.i64(ptr align 16 %363, ptr align 16 @__const.main.app_data, i64 100, i1 false)
  call void @llvm.lifetime.start.p0(i64 4, ptr %364) #11
  store i32 0, ptr %364, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %365) #11
  store i64 0, ptr %365, align 8, !tbaa !50
  br label %18178

18178:                                            ; preds = %18995, %18177
  %18179 = load i64, ptr %365, align 8, !tbaa !50
  %18180 = icmp ult i64 %18179, 10
  br i1 %18180, label %18182, label %18181

18181:                                            ; preds = %18178
  store i32 1780, ptr %340, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %365) #11
  br label %18998

18182:                                            ; preds = %18178
  call void @llvm.lifetime.start.p0(i64 8, ptr %366) #11
  call void @llvm.memset.p0.i64(ptr align 4 %366, i8 0, i64 8, i1 false)
  br label %18183

18183:                                            ; preds = %18182
  %18184 = load i32, ptr @test_count, align 4, !tbaa !5
  %18185 = add nsw i32 %18184, 1
  store i32 %18185, ptr @test_count, align 4, !tbaa !5
  %18186 = call i32 @s2n_io_pair_init_non_blocking(ptr noundef %366)
  %18187 = icmp eq i32 %18186, -1
  br i1 %18187, label %18188, label %18241

18188:                                            ; preds = %18183
  br label %18189

18189:                                            ; preds = %18188
  br label %18190

18190:                                            ; preds = %18189
  call void @llvm.lifetime.start.p0(i64 4, ptr %367) #11
  %18191 = call ptr @__errno_location() #12
  %18192 = load i32, ptr %18191, align 4, !tbaa !5
  store i32 %18192, ptr %367, align 4, !tbaa !5
  %18193 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18194 = call i32 @s2n_print_stacktrace(ptr noundef %18193)
  %18195 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %18196 = trunc i8 %18195 to i1
  br i1 %18196, label %18197, label %18219

18197:                                            ; preds = %18190
  %18198 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18199 = call i32 @fileno(ptr noundef %18198) #11
  %18200 = call i32 @isatty(i32 noundef %18199) #11
  %18201 = icmp ne i32 %18200, 0
  br i1 %18201, label %18202, label %18219

18202:                                            ; preds = %18197
  %18203 = load i32, ptr %367, align 4, !tbaa !5
  %18204 = call ptr @__errno_location() #12
  store i32 %18203, ptr %18204, align 4, !tbaa !5
  %18205 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18206 = load i32, ptr @test_count, align 4, !tbaa !5
  %18207 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18208 = load i32, ptr %18207, align 4, !tbaa !5
  %18209 = call ptr @s2n_strerror(i32 noundef %18208, ptr noundef @.str.11)
  %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_debug(i32 noundef %18211, ptr noundef @.str.11)
  %18213 = call ptr @__errno_location() #12
  %18214 = load i32, ptr %18213, align 4, !tbaa !5
  %18215 = call ptr @strerror(i32 noundef %18214) #11
  %18216 = call ptr @__errno_location() #12
  %18217 = load i32, ptr %18216, align 4, !tbaa !5
  %18218 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18205, ptr noundef @.str.9, i32 noundef %18206, ptr noundef @.str.78, ptr noundef @.str.8, i32 noundef 713, ptr noundef %18209, ptr noundef %18212, ptr noundef %18215, i32 noundef %18217) #11
  br label %18236

18219:                                            ; preds = %18197, %18190
  %18220 = load i32, ptr %367, align 4, !tbaa !5
  %18221 = call ptr @__errno_location() #12
  store i32 %18220, ptr %18221, align 4, !tbaa !5
  %18222 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18223 = load i32, ptr @test_count, align 4, !tbaa !5
  %18224 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18225 = load i32, ptr %18224, align 4, !tbaa !5
  %18226 = call ptr @s2n_strerror(i32 noundef %18225, ptr noundef @.str.11)
  %18227 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18228 = load i32, ptr %18227, align 4, !tbaa !5
  %18229 = call ptr @s2n_strerror_debug(i32 noundef %18228, ptr noundef @.str.11)
  %18230 = call ptr @__errno_location() #12
  %18231 = load i32, ptr %18230, align 4, !tbaa !5
  %18232 = call ptr @strerror(i32 noundef %18231) #11
  %18233 = call ptr @__errno_location() #12
  %18234 = load i32, ptr %18233, align 4, !tbaa !5
  %18235 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18222, ptr noundef @.str.12, i32 noundef %18223, ptr noundef @.str.78, ptr noundef @.str.8, i32 noundef 713, ptr noundef %18226, ptr noundef %18229, ptr noundef %18232, i32 noundef %18234) #11
  br label %18236

18236:                                            ; preds = %18219, %18202
  call void @llvm.lifetime.end.p0(i64 4, ptr %367) #11
  br label %18237

18237:                                            ; preds = %18236
  br label %18238

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

18239:                                            ; No predecessors!
  br label %18240

18240:                                            ; preds = %18239
  br label %18241

18241:                                            ; preds = %18240, %18183
  br label %18242

18242:                                            ; preds = %18241
  br label %18243

18243:                                            ; preds = %18242
  br label %18244

18244:                                            ; preds = %18243
  %18245 = load i32, ptr @test_count, align 4, !tbaa !5
  %18246 = add nsw i32 %18245, 1
  store i32 %18246, ptr @test_count, align 4, !tbaa !5
  %18247 = load ptr, ptr %357, align 8, !tbaa !9
  %18248 = load ptr, ptr %360, align 8, !tbaa !9
  %18249 = call i32 @s2n_connections_set_io_pair(ptr noundef %18247, ptr noundef %18248, ptr noundef %366)
  %18250 = icmp eq i32 %18249, -1
  br i1 %18250, label %18251, label %18304

18251:                                            ; preds = %18244
  br label %18252

18252:                                            ; preds = %18251
  br label %18253

18253:                                            ; preds = %18252
  call void @llvm.lifetime.start.p0(i64 4, ptr %368) #11
  %18254 = call ptr @__errno_location() #12
  %18255 = load i32, ptr %18254, align 4, !tbaa !5
  store i32 %18255, ptr %368, align 4, !tbaa !5
  %18256 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18257 = call i32 @s2n_print_stacktrace(ptr noundef %18256)
  %18258 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %18259 = trunc i8 %18258 to i1
  br i1 %18259, label %18260, label %18282

18260:                                            ; preds = %18253
  %18261 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18262 = call i32 @fileno(ptr noundef %18261) #11
  %18263 = call i32 @isatty(i32 noundef %18262) #11
  %18264 = icmp ne i32 %18263, 0
  br i1 %18264, label %18265, label %18282

18265:                                            ; preds = %18260
  %18266 = load i32, ptr %368, align 4, !tbaa !5
  %18267 = call ptr @__errno_location() #12
  store i32 %18266, ptr %18267, align 4, !tbaa !5
  %18268 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18269 = load i32, ptr @test_count, align 4, !tbaa !5
  %18270 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18271 = load i32, ptr %18270, align 4, !tbaa !5
  %18272 = call ptr @s2n_strerror(i32 noundef %18271, ptr noundef @.str.11)
  %18273 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18274 = load i32, ptr %18273, align 4, !tbaa !5
  %18275 = call ptr @s2n_strerror_debug(i32 noundef %18274, ptr noundef @.str.11)
  %18276 = call ptr @__errno_location() #12
  %18277 = load i32, ptr %18276, align 4, !tbaa !5
  %18278 = call ptr @strerror(i32 noundef %18277) #11
  %18279 = call ptr @__errno_location() #12
  %18280 = load i32, ptr %18279, align 4, !tbaa !5
  %18281 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18268, ptr noundef @.str.9, i32 noundef %18269, ptr noundef @.str.176, ptr noundef @.str.8, i32 noundef 714, ptr noundef %18272, ptr noundef %18275, ptr noundef %18278, i32 noundef %18280) #11
  br label %18299

18282:                                            ; preds = %18260, %18253
  %18283 = load i32, ptr %368, align 4, !tbaa !5
  %18284 = call ptr @__errno_location() #12
  store i32 %18283, ptr %18284, align 4, !tbaa !5
  %18285 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18286 = load i32, ptr @test_count, align 4, !tbaa !5
  %18287 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18288 = load i32, ptr %18287, align 4, !tbaa !5
  %18289 = call ptr @s2n_strerror(i32 noundef %18288, ptr noundef @.str.11)
  %18290 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18291 = load i32, ptr %18290, align 4, !tbaa !5
  %18292 = call ptr @s2n_strerror_debug(i32 noundef %18291, ptr noundef @.str.11)
  %18293 = call ptr @__errno_location() #12
  %18294 = load i32, ptr %18293, align 4, !tbaa !5
  %18295 = call ptr @strerror(i32 noundef %18294) #11
  %18296 = call ptr @__errno_location() #12
  %18297 = load i32, ptr %18296, align 4, !tbaa !5
  %18298 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18285, ptr noundef @.str.12, i32 noundef %18286, ptr noundef @.str.176, ptr noundef @.str.8, i32 noundef 714, ptr noundef %18289, ptr noundef %18292, ptr noundef %18295, i32 noundef %18297) #11
  br label %18299

18299:                                            ; preds = %18282, %18265
  call void @llvm.lifetime.end.p0(i64 4, ptr %368) #11
  br label %18300

18300:                                            ; preds = %18299
  br label %18301

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

18302:                                            ; No predecessors!
  br label %18303

18303:                                            ; preds = %18302
  br label %18304

18304:                                            ; preds = %18303, %18244
  br label %18305

18305:                                            ; preds = %18304
  br label %18306

18306:                                            ; preds = %18305
  br label %18307

18307:                                            ; preds = %18306
  %18308 = load i32, ptr @test_count, align 4, !tbaa !5
  %18309 = add nsw i32 %18308, 1
  store i32 %18309, ptr @test_count, align 4, !tbaa !5
  %18310 = load ptr, ptr %360, align 8, !tbaa !9
  %18311 = load ptr, ptr %357, align 8, !tbaa !9
  %18312 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef %18310, ptr noundef %18311)
  %18313 = icmp eq i32 %18312, -1
  br i1 %18313, label %18314, label %18367

18314:                                            ; preds = %18307
  br label %18315

18315:                                            ; preds = %18314
  br label %18316

18316:                                            ; preds = %18315
  call void @llvm.lifetime.start.p0(i64 4, ptr %369) #11
  %18317 = call ptr @__errno_location() #12
  %18318 = load i32, ptr %18317, align 4, !tbaa !5
  store i32 %18318, ptr %369, align 4, !tbaa !5
  %18319 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18320 = call i32 @s2n_print_stacktrace(ptr noundef %18319)
  %18321 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %18322 = trunc i8 %18321 to i1
  br i1 %18322, label %18323, label %18345

18323:                                            ; preds = %18316
  %18324 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18325 = call i32 @fileno(ptr noundef %18324) #11
  %18326 = call i32 @isatty(i32 noundef %18325) #11
  %18327 = icmp ne i32 %18326, 0
  br i1 %18327, label %18328, label %18345

18328:                                            ; preds = %18323
  %18329 = load i32, ptr %369, align 4, !tbaa !5
  %18330 = call ptr @__errno_location() #12
  store i32 %18329, ptr %18330, align 4, !tbaa !5
  %18331 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18332 = load i32, ptr @test_count, align 4, !tbaa !5
  %18333 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18334 = load i32, ptr %18333, align 4, !tbaa !5
  %18335 = call ptr @s2n_strerror(i32 noundef %18334, ptr noundef @.str.11)
  %18336 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18337 = load i32, ptr %18336, align 4, !tbaa !5
  %18338 = call ptr @s2n_strerror_debug(i32 noundef %18337, ptr noundef @.str.11)
  %18339 = call ptr @__errno_location() #12
  %18340 = load i32, ptr %18339, align 4, !tbaa !5
  %18341 = call ptr @strerror(i32 noundef %18340) #11
  %18342 = call ptr @__errno_location() #12
  %18343 = load i32, ptr %18342, align 4, !tbaa !5
  %18344 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18331, ptr noundef @.str.9, i32 noundef %18332, ptr noundef @.str.81, ptr noundef @.str.8, i32 noundef 717, ptr noundef %18335, ptr noundef %18338, ptr noundef %18341, i32 noundef %18343) #11
  br label %18362

18345:                                            ; preds = %18323, %18316
  %18346 = load i32, ptr %369, align 4, !tbaa !5
  %18347 = call ptr @__errno_location() #12
  store i32 %18346, ptr %18347, align 4, !tbaa !5
  %18348 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18349 = load i32, ptr @test_count, align 4, !tbaa !5
  %18350 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18351 = load i32, ptr %18350, align 4, !tbaa !5
  %18352 = call ptr @s2n_strerror(i32 noundef %18351, ptr noundef @.str.11)
  %18353 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18354 = load i32, ptr %18353, align 4, !tbaa !5
  %18355 = call ptr @s2n_strerror_debug(i32 noundef %18354, ptr noundef @.str.11)
  %18356 = call ptr @__errno_location() #12
  %18357 = load i32, ptr %18356, align 4, !tbaa !5
  %18358 = call ptr @strerror(i32 noundef %18357) #11
  %18359 = call ptr @__errno_location() #12
  %18360 = load i32, ptr %18359, align 4, !tbaa !5
  %18361 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18348, ptr noundef @.str.12, i32 noundef %18349, ptr noundef @.str.81, ptr noundef @.str.8, i32 noundef 717, ptr noundef %18352, ptr noundef %18355, ptr noundef %18358, i32 noundef %18360) #11
  br label %18362

18362:                                            ; preds = %18345, %18328
  call void @llvm.lifetime.end.p0(i64 4, ptr %369) #11
  br label %18363

18363:                                            ; preds = %18362
  br label %18364

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

18365:                                            ; No predecessors!
  br label %18366

18366:                                            ; preds = %18365
  br label %18367

18367:                                            ; preds = %18366, %18307
  br label %18368

18368:                                            ; preds = %18367
  br label %18369

18369:                                            ; preds = %18368
  br label %18370

18370:                                            ; preds = %18369
  %18371 = load i32, ptr @test_count, align 4, !tbaa !5
  %18372 = add nsw i32 %18371, 1
  store i32 %18372, ptr @test_count, align 4, !tbaa !5
  %18373 = load ptr, ptr %357, align 8, !tbaa !9
  %18374 = call i32 @s2n_connection_free_handshake(ptr noundef %18373)
  %18375 = icmp eq i32 %18374, -1
  br i1 %18375, label %18376, label %18429

18376:                                            ; preds = %18370
  br label %18377

18377:                                            ; preds = %18376
  br label %18378

18378:                                            ; preds = %18377
  call void @llvm.lifetime.start.p0(i64 4, ptr %370) #11
  %18379 = call ptr @__errno_location() #12
  %18380 = load i32, ptr %18379, align 4, !tbaa !5
  store i32 %18380, ptr %370, align 4, !tbaa !5
  %18381 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18382 = call i32 @s2n_print_stacktrace(ptr noundef %18381)
  %18383 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %18384 = trunc i8 %18383 to i1
  br i1 %18384, label %18385, label %18407

18385:                                            ; preds = %18378
  %18386 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18387 = call i32 @fileno(ptr noundef %18386) #11
  %18388 = call i32 @isatty(i32 noundef %18387) #11
  %18389 = icmp ne i32 %18388, 0
  br i1 %18389, label %18390, label %18407

18390:                                            ; preds = %18385
  %18391 = load i32, ptr %370, align 4, !tbaa !5
  %18392 = call ptr @__errno_location() #12
  store i32 %18391, ptr %18392, align 4, !tbaa !5
  %18393 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18394 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %18396, ptr noundef @.str.11)
  %18398 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18399 = load i32, ptr %18398, align 4, !tbaa !5
  %18400 = call ptr @s2n_strerror_debug(i32 noundef %18399, ptr noundef @.str.11)
  %18401 = call ptr @__errno_location() #12
  %18402 = load i32, ptr %18401, align 4, !tbaa !5
  %18403 = call ptr @strerror(i32 noundef %18402) #11
  %18404 = call ptr @__errno_location() #12
  %18405 = load i32, ptr %18404, align 4, !tbaa !5
  %18406 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18393, ptr noundef @.str.9, i32 noundef %18394, ptr noundef @.str.177, ptr noundef @.str.8, i32 noundef 720, ptr noundef %18397, ptr noundef %18400, ptr noundef %18403, i32 noundef %18405) #11
  br label %18424

18407:                                            ; preds = %18385, %18378
  %18408 = load i32, ptr %370, align 4, !tbaa !5
  %18409 = call ptr @__errno_location() #12
  store i32 %18408, ptr %18409, align 4, !tbaa !5
  %18410 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18411 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %18413, ptr noundef @.str.11)
  %18415 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18416 = load i32, ptr %18415, align 4, !tbaa !5
  %18417 = call ptr @s2n_strerror_debug(i32 noundef %18416, ptr noundef @.str.11)
  %18418 = call ptr @__errno_location() #12
  %18419 = load i32, ptr %18418, align 4, !tbaa !5
  %18420 = call ptr @strerror(i32 noundef %18419) #11
  %18421 = call ptr @__errno_location() #12
  %18422 = load i32, ptr %18421, align 4, !tbaa !5
  %18423 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18410, ptr noundef @.str.12, i32 noundef %18411, ptr noundef @.str.177, ptr noundef @.str.8, i32 noundef 720, ptr noundef %18414, ptr noundef %18417, ptr noundef %18420, i32 noundef %18422) #11
  br label %18424

18424:                                            ; preds = %18407, %18390
  call void @llvm.lifetime.end.p0(i64 4, ptr %370) #11
  br label %18425

18425:                                            ; preds = %18424
  br label %18426

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

18427:                                            ; No predecessors!
  br label %18428

18428:                                            ; preds = %18427
  br label %18429

18429:                                            ; preds = %18428, %18370
  br label %18430

18430:                                            ; preds = %18429
  br label %18431

18431:                                            ; preds = %18430
  br label %18432

18432:                                            ; preds = %18431
  %18433 = load i32, ptr @test_count, align 4, !tbaa !5
  %18434 = add nsw i32 %18433, 1
  store i32 %18434, ptr @test_count, align 4, !tbaa !5
  %18435 = load ptr, ptr %360, align 8, !tbaa !9
  %18436 = call i32 @s2n_connection_free_handshake(ptr noundef %18435)
  %18437 = icmp eq i32 %18436, -1
  br i1 %18437, label %18438, label %18491

18438:                                            ; preds = %18432
  br label %18439

18439:                                            ; preds = %18438
  br label %18440

18440:                                            ; preds = %18439
  call void @llvm.lifetime.start.p0(i64 4, ptr %371) #11
  %18441 = call ptr @__errno_location() #12
  %18442 = load i32, ptr %18441, align 4, !tbaa !5
  store i32 %18442, ptr %371, align 4, !tbaa !5
  %18443 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18444 = call i32 @s2n_print_stacktrace(ptr noundef %18443)
  %18445 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %18446 = trunc i8 %18445 to i1
  br i1 %18446, label %18447, label %18469

18447:                                            ; preds = %18440
  %18448 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18449 = call i32 @fileno(ptr noundef %18448) #11
  %18450 = call i32 @isatty(i32 noundef %18449) #11
  %18451 = icmp ne i32 %18450, 0
  br i1 %18451, label %18452, label %18469

18452:                                            ; preds = %18447
  %18453 = load i32, ptr %371, align 4, !tbaa !5
  %18454 = call ptr @__errno_location() #12
  store i32 %18453, ptr %18454, align 4, !tbaa !5
  %18455 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18456 = load i32, ptr @test_count, align 4, !tbaa !5
  %18457 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18458 = load i32, ptr %18457, align 4, !tbaa !5
  %18459 = call ptr @s2n_strerror(i32 noundef %18458, ptr noundef @.str.11)
  %18460 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18461 = load i32, ptr %18460, align 4, !tbaa !5
  %18462 = call ptr @s2n_strerror_debug(i32 noundef %18461, ptr noundef @.str.11)
  %18463 = call ptr @__errno_location() #12
  %18464 = load i32, ptr %18463, align 4, !tbaa !5
  %18465 = call ptr @strerror(i32 noundef %18464) #11
  %18466 = call ptr @__errno_location() #12
  %18467 = load i32, ptr %18466, align 4, !tbaa !5
  %18468 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18455, ptr noundef @.str.9, i32 noundef %18456, ptr noundef @.str.178, ptr noundef @.str.8, i32 noundef 721, ptr noundef %18459, ptr noundef %18462, ptr noundef %18465, i32 noundef %18467) #11
  br label %18486

18469:                                            ; preds = %18447, %18440
  %18470 = load i32, ptr %371, align 4, !tbaa !5
  %18471 = call ptr @__errno_location() #12
  store i32 %18470, ptr %18471, align 4, !tbaa !5
  %18472 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18473 = load i32, ptr @test_count, align 4, !tbaa !5
  %18474 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18475 = load i32, ptr %18474, align 4, !tbaa !5
  %18476 = call ptr @s2n_strerror(i32 noundef %18475, ptr noundef @.str.11)
  %18477 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18478 = load i32, ptr %18477, align 4, !tbaa !5
  %18479 = call ptr @s2n_strerror_debug(i32 noundef %18478, ptr noundef @.str.11)
  %18480 = call ptr @__errno_location() #12
  %18481 = load i32, ptr %18480, align 4, !tbaa !5
  %18482 = call ptr @strerror(i32 noundef %18481) #11
  %18483 = call ptr @__errno_location() #12
  %18484 = load i32, ptr %18483, align 4, !tbaa !5
  %18485 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18472, ptr noundef @.str.12, i32 noundef %18473, ptr noundef @.str.178, ptr noundef @.str.8, i32 noundef 721, ptr noundef %18476, ptr noundef %18479, ptr noundef %18482, i32 noundef %18484) #11
  br label %18486

18486:                                            ; preds = %18469, %18452
  call void @llvm.lifetime.end.p0(i64 4, ptr %371) #11
  br label %18487

18487:                                            ; preds = %18486
  br label %18488

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

18489:                                            ; No predecessors!
  br label %18490

18490:                                            ; preds = %18489
  br label %18491

18491:                                            ; preds = %18490, %18432
  br label %18492

18492:                                            ; preds = %18491
  br label %18493

18493:                                            ; preds = %18492
  br label %18494

18494:                                            ; preds = %18493
  %18495 = load i32, ptr @test_count, align 4, !tbaa !5
  %18496 = add nsw i32 %18495, 1
  store i32 %18496, ptr @test_count, align 4, !tbaa !5
  %18497 = load ptr, ptr %357, align 8, !tbaa !9
  %18498 = getelementptr inbounds [100 x i8], ptr %363, i64 0, i64 0
  %18499 = call i64 @s2n_send(ptr noundef %18497, ptr noundef %18498, i64 noundef 100, ptr noundef %364)
  %18500 = icmp eq i64 %18499, 100
  br i1 %18500, label %18554, label %18501

18501:                                            ; preds = %18494
  br label %18502

18502:                                            ; preds = %18501
  br label %18503

18503:                                            ; preds = %18502
  call void @llvm.lifetime.start.p0(i64 4, ptr %372) #11
  %18504 = call ptr @__errno_location() #12
  %18505 = load i32, ptr %18504, align 4, !tbaa !5
  store i32 %18505, ptr %372, align 4, !tbaa !5
  %18506 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18507 = call i32 @s2n_print_stacktrace(ptr noundef %18506)
  %18508 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %18509 = trunc i8 %18508 to i1
  br i1 %18509, label %18510, label %18532

18510:                                            ; preds = %18503
  %18511 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18512 = call i32 @fileno(ptr noundef %18511) #11
  %18513 = call i32 @isatty(i32 noundef %18512) #11
  %18514 = icmp ne i32 %18513, 0
  br i1 %18514, label %18515, label %18532

18515:                                            ; preds = %18510
  %18516 = load i32, ptr %372, align 4, !tbaa !5
  %18517 = call ptr @__errno_location() #12
  store i32 %18516, ptr %18517, align 4, !tbaa !5
  %18518 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18519 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %18521, ptr noundef @.str.11)
  %18523 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18524 = load i32, ptr %18523, align 4, !tbaa !5
  %18525 = call ptr @s2n_strerror_debug(i32 noundef %18524, ptr noundef @.str.11)
  %18526 = call ptr @__errno_location() #12
  %18527 = load i32, ptr %18526, align 4, !tbaa !5
  %18528 = call ptr @strerror(i32 noundef %18527) #11
  %18529 = call ptr @__errno_location() #12
  %18530 = load i32, ptr %18529, align 4, !tbaa !5
  %18531 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18518, ptr noundef @.str.9, i32 noundef %18519, ptr noundef @.str.179, ptr noundef @.str.8, i32 noundef 724, ptr noundef %18522, ptr noundef %18525, ptr noundef %18528, i32 noundef %18530) #11
  br label %18549

18532:                                            ; preds = %18510, %18503
  %18533 = load i32, ptr %372, align 4, !tbaa !5
  %18534 = call ptr @__errno_location() #12
  store i32 %18533, ptr %18534, align 4, !tbaa !5
  %18535 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18536 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %18538, ptr noundef @.str.11)
  %18540 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18541 = load i32, ptr %18540, align 4, !tbaa !5
  %18542 = call ptr @s2n_strerror_debug(i32 noundef %18541, ptr noundef @.str.11)
  %18543 = call ptr @__errno_location() #12
  %18544 = load i32, ptr %18543, align 4, !tbaa !5
  %18545 = call ptr @strerror(i32 noundef %18544) #11
  %18546 = call ptr @__errno_location() #12
  %18547 = load i32, ptr %18546, align 4, !tbaa !5
  %18548 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18535, ptr noundef @.str.12, i32 noundef %18536, ptr noundef @.str.179, ptr noundef @.str.8, i32 noundef 724, ptr noundef %18539, ptr noundef %18542, ptr noundef %18545, i32 noundef %18547) #11
  br label %18549

18549:                                            ; preds = %18532, %18515
  call void @llvm.lifetime.end.p0(i64 4, ptr %372) #11
  br label %18550

18550:                                            ; preds = %18549
  br label %18551

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

18552:                                            ; No predecessors!
  br label %18553

18553:                                            ; preds = %18552
  br label %18554

18554:                                            ; preds = %18553, %18494
  br label %18555

18555:                                            ; preds = %18554
  br label %18556

18556:                                            ; preds = %18555
  br label %18557

18557:                                            ; preds = %18556
  %18558 = load i32, ptr @test_count, align 4, !tbaa !5
  %18559 = add nsw i32 %18558, 1
  store i32 %18559, ptr @test_count, align 4, !tbaa !5
  %18560 = load ptr, ptr %360, align 8, !tbaa !9
  %18561 = getelementptr inbounds [100 x i8], ptr %363, i64 0, i64 0
  %18562 = call i64 @s2n_recv(ptr noundef %18560, ptr noundef %18561, i64 noundef 100, ptr noundef %364)
  %18563 = icmp eq i64 %18562, 100
  br i1 %18563, label %18617, label %18564

18564:                                            ; preds = %18557
  br label %18565

18565:                                            ; preds = %18564
  br label %18566

18566:                                            ; preds = %18565
  call void @llvm.lifetime.start.p0(i64 4, ptr %373) #11
  %18567 = call ptr @__errno_location() #12
  %18568 = load i32, ptr %18567, align 4, !tbaa !5
  store i32 %18568, ptr %373, align 4, !tbaa !5
  %18569 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18570 = call i32 @s2n_print_stacktrace(ptr noundef %18569)
  %18571 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %18572 = trunc i8 %18571 to i1
  br i1 %18572, label %18573, label %18595

18573:                                            ; preds = %18566
  %18574 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18575 = call i32 @fileno(ptr noundef %18574) #11
  %18576 = call i32 @isatty(i32 noundef %18575) #11
  %18577 = icmp ne i32 %18576, 0
  br i1 %18577, label %18578, label %18595

18578:                                            ; preds = %18573
  %18579 = load i32, ptr %373, align 4, !tbaa !5
  %18580 = call ptr @__errno_location() #12
  store i32 %18579, ptr %18580, align 4, !tbaa !5
  %18581 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18582 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %18584, ptr noundef @.str.11)
  %18586 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18587 = load i32, ptr %18586, align 4, !tbaa !5
  %18588 = call ptr @s2n_strerror_debug(i32 noundef %18587, ptr noundef @.str.11)
  %18589 = call ptr @__errno_location() #12
  %18590 = load i32, ptr %18589, align 4, !tbaa !5
  %18591 = call ptr @strerror(i32 noundef %18590) #11
  %18592 = call ptr @__errno_location() #12
  %18593 = load i32, ptr %18592, align 4, !tbaa !5
  %18594 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18581, ptr noundef @.str.9, i32 noundef %18582, ptr noundef @.str.180, ptr noundef @.str.8, i32 noundef 725, ptr noundef %18585, ptr noundef %18588, ptr noundef %18591, i32 noundef %18593) #11
  br label %18612

18595:                                            ; preds = %18573, %18566
  %18596 = load i32, ptr %373, align 4, !tbaa !5
  %18597 = call ptr @__errno_location() #12
  store i32 %18596, ptr %18597, align 4, !tbaa !5
  %18598 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18599 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %18601, ptr noundef @.str.11)
  %18603 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18604 = load i32, ptr %18603, align 4, !tbaa !5
  %18605 = call ptr @s2n_strerror_debug(i32 noundef %18604, ptr noundef @.str.11)
  %18606 = call ptr @__errno_location() #12
  %18607 = load i32, ptr %18606, align 4, !tbaa !5
  %18608 = call ptr @strerror(i32 noundef %18607) #11
  %18609 = call ptr @__errno_location() #12
  %18610 = load i32, ptr %18609, align 4, !tbaa !5
  %18611 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18598, ptr noundef @.str.12, i32 noundef %18599, ptr noundef @.str.180, ptr noundef @.str.8, i32 noundef 725, ptr noundef %18602, ptr noundef %18605, ptr noundef %18608, i32 noundef %18610) #11
  br label %18612

18612:                                            ; preds = %18595, %18578
  call void @llvm.lifetime.end.p0(i64 4, ptr %373) #11
  br label %18613

18613:                                            ; preds = %18612
  br label %18614

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

18615:                                            ; No predecessors!
  br label %18616

18616:                                            ; preds = %18615
  br label %18617

18617:                                            ; preds = %18616, %18557
  br label %18618

18618:                                            ; preds = %18617
  br label %18619

18619:                                            ; preds = %18618
  br label %18620

18620:                                            ; preds = %18619
  %18621 = load i32, ptr @test_count, align 4, !tbaa !5
  %18622 = add nsw i32 %18621, 1
  store i32 %18622, ptr @test_count, align 4, !tbaa !5
  %18623 = load ptr, ptr %360, align 8, !tbaa !9
  %18624 = getelementptr inbounds [100 x i8], ptr %363, i64 0, i64 0
  %18625 = call i64 @s2n_send(ptr noundef %18623, ptr noundef %18624, i64 noundef 100, ptr noundef %364)
  %18626 = icmp eq i64 %18625, 100
  br i1 %18626, label %18680, label %18627

18627:                                            ; preds = %18620
  br label %18628

18628:                                            ; preds = %18627
  br label %18629

18629:                                            ; preds = %18628
  call void @llvm.lifetime.start.p0(i64 4, ptr %374) #11
  %18630 = call ptr @__errno_location() #12
  %18631 = load i32, ptr %18630, align 4, !tbaa !5
  store i32 %18631, ptr %374, align 4, !tbaa !5
  %18632 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18633 = call i32 @s2n_print_stacktrace(ptr noundef %18632)
  %18634 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %18635 = trunc i8 %18634 to i1
  br i1 %18635, label %18636, label %18658

18636:                                            ; preds = %18629
  %18637 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18638 = call i32 @fileno(ptr noundef %18637) #11
  %18639 = call i32 @isatty(i32 noundef %18638) #11
  %18640 = icmp ne i32 %18639, 0
  br i1 %18640, label %18641, label %18658

18641:                                            ; preds = %18636
  %18642 = load i32, ptr %374, align 4, !tbaa !5
  %18643 = call ptr @__errno_location() #12
  store i32 %18642, ptr %18643, align 4, !tbaa !5
  %18644 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18645 = load i32, ptr @test_count, align 4, !tbaa !5
  %18646 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18647 = load i32, ptr %18646, align 4, !tbaa !5
  %18648 = call ptr @s2n_strerror(i32 noundef %18647, ptr noundef @.str.11)
  %18649 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18650 = load i32, ptr %18649, align 4, !tbaa !5
  %18651 = call ptr @s2n_strerror_debug(i32 noundef %18650, ptr noundef @.str.11)
  %18652 = call ptr @__errno_location() #12
  %18653 = load i32, ptr %18652, align 4, !tbaa !5
  %18654 = call ptr @strerror(i32 noundef %18653) #11
  %18655 = call ptr @__errno_location() #12
  %18656 = load i32, ptr %18655, align 4, !tbaa !5
  %18657 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18644, ptr noundef @.str.9, i32 noundef %18645, ptr noundef @.str.181, ptr noundef @.str.8, i32 noundef 726, ptr noundef %18648, ptr noundef %18651, ptr noundef %18654, i32 noundef %18656) #11
  br label %18675

18658:                                            ; preds = %18636, %18629
  %18659 = load i32, ptr %374, align 4, !tbaa !5
  %18660 = call ptr @__errno_location() #12
  store i32 %18659, ptr %18660, align 4, !tbaa !5
  %18661 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18662 = load i32, ptr @test_count, align 4, !tbaa !5
  %18663 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18664 = load i32, ptr %18663, align 4, !tbaa !5
  %18665 = call ptr @s2n_strerror(i32 noundef %18664, ptr noundef @.str.11)
  %18666 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18667 = load i32, ptr %18666, align 4, !tbaa !5
  %18668 = call ptr @s2n_strerror_debug(i32 noundef %18667, ptr noundef @.str.11)
  %18669 = call ptr @__errno_location() #12
  %18670 = load i32, ptr %18669, align 4, !tbaa !5
  %18671 = call ptr @strerror(i32 noundef %18670) #11
  %18672 = call ptr @__errno_location() #12
  %18673 = load i32, ptr %18672, align 4, !tbaa !5
  %18674 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18661, ptr noundef @.str.12, i32 noundef %18662, ptr noundef @.str.181, ptr noundef @.str.8, i32 noundef 726, ptr noundef %18665, ptr noundef %18668, ptr noundef %18671, i32 noundef %18673) #11
  br label %18675

18675:                                            ; preds = %18658, %18641
  call void @llvm.lifetime.end.p0(i64 4, ptr %374) #11
  br label %18676

18676:                                            ; preds = %18675
  br label %18677

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

18678:                                            ; No predecessors!
  br label %18679

18679:                                            ; preds = %18678
  br label %18680

18680:                                            ; preds = %18679, %18620
  br label %18681

18681:                                            ; preds = %18680
  br label %18682

18682:                                            ; preds = %18681
  br label %18683

18683:                                            ; preds = %18682
  %18684 = load i32, ptr @test_count, align 4, !tbaa !5
  %18685 = add nsw i32 %18684, 1
  store i32 %18685, ptr @test_count, align 4, !tbaa !5
  %18686 = load ptr, ptr %357, align 8, !tbaa !9
  %18687 = getelementptr inbounds [100 x i8], ptr %363, i64 0, i64 0
  %18688 = call i64 @s2n_recv(ptr noundef %18686, ptr noundef %18687, i64 noundef 100, ptr noundef %364)
  %18689 = icmp eq i64 %18688, 100
  br i1 %18689, label %18743, label %18690

18690:                                            ; preds = %18683
  br label %18691

18691:                                            ; preds = %18690
  br label %18692

18692:                                            ; preds = %18691
  call void @llvm.lifetime.start.p0(i64 4, ptr %375) #11
  %18693 = call ptr @__errno_location() #12
  %18694 = load i32, ptr %18693, align 4, !tbaa !5
  store i32 %18694, ptr %375, align 4, !tbaa !5
  %18695 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18696 = call i32 @s2n_print_stacktrace(ptr noundef %18695)
  %18697 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %18698 = trunc i8 %18697 to i1
  br i1 %18698, label %18699, label %18721

18699:                                            ; preds = %18692
  %18700 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18701 = call i32 @fileno(ptr noundef %18700) #11
  %18702 = call i32 @isatty(i32 noundef %18701) #11
  %18703 = icmp ne i32 %18702, 0
  br i1 %18703, label %18704, label %18721

18704:                                            ; preds = %18699
  %18705 = load i32, ptr %375, align 4, !tbaa !5
  %18706 = call ptr @__errno_location() #12
  store i32 %18705, ptr %18706, align 4, !tbaa !5
  %18707 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18708 = load i32, ptr @test_count, align 4, !tbaa !5
  %18709 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18710 = load i32, ptr %18709, align 4, !tbaa !5
  %18711 = call ptr @s2n_strerror(i32 noundef %18710, ptr noundef @.str.11)
  %18712 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18713 = load i32, ptr %18712, align 4, !tbaa !5
  %18714 = call ptr @s2n_strerror_debug(i32 noundef %18713, ptr noundef @.str.11)
  %18715 = call ptr @__errno_location() #12
  %18716 = load i32, ptr %18715, align 4, !tbaa !5
  %18717 = call ptr @strerror(i32 noundef %18716) #11
  %18718 = call ptr @__errno_location() #12
  %18719 = load i32, ptr %18718, align 4, !tbaa !5
  %18720 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18707, ptr noundef @.str.9, i32 noundef %18708, ptr noundef @.str.182, ptr noundef @.str.8, i32 noundef 727, ptr noundef %18711, ptr noundef %18714, ptr noundef %18717, i32 noundef %18719) #11
  br label %18738

18721:                                            ; preds = %18699, %18692
  %18722 = load i32, ptr %375, align 4, !tbaa !5
  %18723 = call ptr @__errno_location() #12
  store i32 %18722, ptr %18723, align 4, !tbaa !5
  %18724 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18725 = load i32, ptr @test_count, align 4, !tbaa !5
  %18726 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18727 = load i32, ptr %18726, align 4, !tbaa !5
  %18728 = call ptr @s2n_strerror(i32 noundef %18727, ptr noundef @.str.11)
  %18729 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18730 = load i32, ptr %18729, align 4, !tbaa !5
  %18731 = call ptr @s2n_strerror_debug(i32 noundef %18730, ptr noundef @.str.11)
  %18732 = call ptr @__errno_location() #12
  %18733 = load i32, ptr %18732, align 4, !tbaa !5
  %18734 = call ptr @strerror(i32 noundef %18733) #11
  %18735 = call ptr @__errno_location() #12
  %18736 = load i32, ptr %18735, align 4, !tbaa !5
  %18737 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18724, ptr noundef @.str.12, i32 noundef %18725, ptr noundef @.str.182, ptr noundef @.str.8, i32 noundef 727, ptr noundef %18728, ptr noundef %18731, ptr noundef %18734, i32 noundef %18736) #11
  br label %18738

18738:                                            ; preds = %18721, %18704
  call void @llvm.lifetime.end.p0(i64 4, ptr %375) #11
  br label %18739

18739:                                            ; preds = %18738
  br label %18740

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

18741:                                            ; No predecessors!
  br label %18742

18742:                                            ; preds = %18741
  br label %18743

18743:                                            ; preds = %18742, %18683
  br label %18744

18744:                                            ; preds = %18743
  br label %18745

18745:                                            ; preds = %18744
  br label %18746

18746:                                            ; preds = %18745
  %18747 = load i32, ptr @test_count, align 4, !tbaa !5
  %18748 = add nsw i32 %18747, 1
  store i32 %18748, ptr @test_count, align 4, !tbaa !5
  %18749 = load ptr, ptr %357, align 8, !tbaa !9
  %18750 = call i32 @s2n_connection_release_buffers(ptr noundef %18749)
  %18751 = icmp eq i32 %18750, -1
  br i1 %18751, label %18752, label %18805

18752:                                            ; preds = %18746
  br label %18753

18753:                                            ; preds = %18752
  br label %18754

18754:                                            ; preds = %18753
  call void @llvm.lifetime.start.p0(i64 4, ptr %376) #11
  %18755 = call ptr @__errno_location() #12
  %18756 = load i32, ptr %18755, align 4, !tbaa !5
  store i32 %18756, ptr %376, align 4, !tbaa !5
  %18757 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18758 = call i32 @s2n_print_stacktrace(ptr noundef %18757)
  %18759 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %18760 = trunc i8 %18759 to i1
  br i1 %18760, label %18761, label %18783

18761:                                            ; preds = %18754
  %18762 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18763 = call i32 @fileno(ptr noundef %18762) #11
  %18764 = call i32 @isatty(i32 noundef %18763) #11
  %18765 = icmp ne i32 %18764, 0
  br i1 %18765, label %18766, label %18783

18766:                                            ; preds = %18761
  %18767 = load i32, ptr %376, align 4, !tbaa !5
  %18768 = call ptr @__errno_location() #12
  store i32 %18767, ptr %18768, align 4, !tbaa !5
  %18769 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18770 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %18772, ptr noundef @.str.11)
  %18774 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18775 = load i32, ptr %18774, align 4, !tbaa !5
  %18776 = call ptr @s2n_strerror_debug(i32 noundef %18775, ptr noundef @.str.11)
  %18777 = call ptr @__errno_location() #12
  %18778 = load i32, ptr %18777, align 4, !tbaa !5
  %18779 = call ptr @strerror(i32 noundef %18778) #11
  %18780 = call ptr @__errno_location() #12
  %18781 = load i32, ptr %18780, align 4, !tbaa !5
  %18782 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18769, ptr noundef @.str.9, i32 noundef %18770, ptr noundef @.str.183, ptr noundef @.str.8, i32 noundef 730, ptr noundef %18773, ptr noundef %18776, ptr noundef %18779, i32 noundef %18781) #11
  br label %18800

18783:                                            ; preds = %18761, %18754
  %18784 = load i32, ptr %376, align 4, !tbaa !5
  %18785 = call ptr @__errno_location() #12
  store i32 %18784, ptr %18785, align 4, !tbaa !5
  %18786 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18787 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %18789, ptr noundef @.str.11)
  %18791 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18792 = load i32, ptr %18791, align 4, !tbaa !5
  %18793 = call ptr @s2n_strerror_debug(i32 noundef %18792, ptr noundef @.str.11)
  %18794 = call ptr @__errno_location() #12
  %18795 = load i32, ptr %18794, align 4, !tbaa !5
  %18796 = call ptr @strerror(i32 noundef %18795) #11
  %18797 = call ptr @__errno_location() #12
  %18798 = load i32, ptr %18797, align 4, !tbaa !5
  %18799 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18786, ptr noundef @.str.12, i32 noundef %18787, ptr noundef @.str.183, ptr noundef @.str.8, i32 noundef 730, ptr noundef %18790, ptr noundef %18793, ptr noundef %18796, i32 noundef %18798) #11
  br label %18800

18800:                                            ; preds = %18783, %18766
  call void @llvm.lifetime.end.p0(i64 4, ptr %376) #11
  br label %18801

18801:                                            ; preds = %18800
  br label %18802

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

18803:                                            ; No predecessors!
  br label %18804

18804:                                            ; preds = %18803
  br label %18805

18805:                                            ; preds = %18804, %18746
  br label %18806

18806:                                            ; preds = %18805
  br label %18807

18807:                                            ; preds = %18806
  br label %18808

18808:                                            ; preds = %18807
  %18809 = load i32, ptr @test_count, align 4, !tbaa !5
  %18810 = add nsw i32 %18809, 1
  store i32 %18810, ptr @test_count, align 4, !tbaa !5
  %18811 = load ptr, ptr %360, align 8, !tbaa !9
  %18812 = call i32 @s2n_connection_release_buffers(ptr noundef %18811)
  %18813 = icmp eq i32 %18812, -1
  br i1 %18813, label %18814, label %18867

18814:                                            ; preds = %18808
  br label %18815

18815:                                            ; preds = %18814
  br label %18816

18816:                                            ; preds = %18815
  call void @llvm.lifetime.start.p0(i64 4, ptr %377) #11
  %18817 = call ptr @__errno_location() #12
  %18818 = load i32, ptr %18817, align 4, !tbaa !5
  store i32 %18818, ptr %377, align 4, !tbaa !5
  %18819 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18820 = call i32 @s2n_print_stacktrace(ptr noundef %18819)
  %18821 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %18822 = trunc i8 %18821 to i1
  br i1 %18822, label %18823, label %18845

18823:                                            ; preds = %18816
  %18824 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18825 = call i32 @fileno(ptr noundef %18824) #11
  %18826 = call i32 @isatty(i32 noundef %18825) #11
  %18827 = icmp ne i32 %18826, 0
  br i1 %18827, label %18828, label %18845

18828:                                            ; preds = %18823
  %18829 = load i32, ptr %377, align 4, !tbaa !5
  %18830 = call ptr @__errno_location() #12
  store i32 %18829, ptr %18830, align 4, !tbaa !5
  %18831 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18832 = load i32, ptr @test_count, align 4, !tbaa !5
  %18833 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18834 = load i32, ptr %18833, align 4, !tbaa !5
  %18835 = call ptr @s2n_strerror(i32 noundef %18834, ptr noundef @.str.11)
  %18836 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18837 = load i32, ptr %18836, align 4, !tbaa !5
  %18838 = call ptr @s2n_strerror_debug(i32 noundef %18837, ptr noundef @.str.11)
  %18839 = call ptr @__errno_location() #12
  %18840 = load i32, ptr %18839, align 4, !tbaa !5
  %18841 = call ptr @strerror(i32 noundef %18840) #11
  %18842 = call ptr @__errno_location() #12
  %18843 = load i32, ptr %18842, align 4, !tbaa !5
  %18844 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18831, ptr noundef @.str.9, i32 noundef %18832, ptr noundef @.str.184, ptr noundef @.str.8, i32 noundef 731, ptr noundef %18835, ptr noundef %18838, ptr noundef %18841, i32 noundef %18843) #11
  br label %18862

18845:                                            ; preds = %18823, %18816
  %18846 = load i32, ptr %377, align 4, !tbaa !5
  %18847 = call ptr @__errno_location() #12
  store i32 %18846, ptr %18847, align 4, !tbaa !5
  %18848 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18849 = load i32, ptr @test_count, align 4, !tbaa !5
  %18850 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18851 = load i32, ptr %18850, align 4, !tbaa !5
  %18852 = call ptr @s2n_strerror(i32 noundef %18851, ptr noundef @.str.11)
  %18853 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18854 = load i32, ptr %18853, align 4, !tbaa !5
  %18855 = call ptr @s2n_strerror_debug(i32 noundef %18854, ptr noundef @.str.11)
  %18856 = call ptr @__errno_location() #12
  %18857 = load i32, ptr %18856, align 4, !tbaa !5
  %18858 = call ptr @strerror(i32 noundef %18857) #11
  %18859 = call ptr @__errno_location() #12
  %18860 = load i32, ptr %18859, align 4, !tbaa !5
  %18861 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18848, ptr noundef @.str.12, i32 noundef %18849, ptr noundef @.str.184, ptr noundef @.str.8, i32 noundef 731, ptr noundef %18852, ptr noundef %18855, ptr noundef %18858, i32 noundef %18860) #11
  br label %18862

18862:                                            ; preds = %18845, %18828
  call void @llvm.lifetime.end.p0(i64 4, ptr %377) #11
  br label %18863

18863:                                            ; preds = %18862
  br label %18864

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

18865:                                            ; No predecessors!
  br label %18866

18866:                                            ; preds = %18865
  br label %18867

18867:                                            ; preds = %18866, %18808
  br label %18868

18868:                                            ; preds = %18867
  br label %18869

18869:                                            ; preds = %18868
  br label %18870

18870:                                            ; preds = %18869
  %18871 = load i32, ptr @test_count, align 4, !tbaa !5
  %18872 = add nsw i32 %18871, 1
  store i32 %18872, ptr @test_count, align 4, !tbaa !5
  %18873 = load ptr, ptr %357, align 8, !tbaa !9
  %18874 = call i32 @s2n_connection_wipe(ptr noundef %18873)
  %18875 = icmp eq i32 %18874, -1
  br i1 %18875, label %18876, label %18929

18876:                                            ; preds = %18870
  br label %18877

18877:                                            ; preds = %18876
  br label %18878

18878:                                            ; preds = %18877
  call void @llvm.lifetime.start.p0(i64 4, ptr %378) #11
  %18879 = call ptr @__errno_location() #12
  %18880 = load i32, ptr %18879, align 4, !tbaa !5
  store i32 %18880, ptr %378, align 4, !tbaa !5
  %18881 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18882 = call i32 @s2n_print_stacktrace(ptr noundef %18881)
  %18883 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %18884 = trunc i8 %18883 to i1
  br i1 %18884, label %18885, label %18907

18885:                                            ; preds = %18878
  %18886 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18887 = call i32 @fileno(ptr noundef %18886) #11
  %18888 = call i32 @isatty(i32 noundef %18887) #11
  %18889 = icmp ne i32 %18888, 0
  br i1 %18889, label %18890, label %18907

18890:                                            ; preds = %18885
  %18891 = load i32, ptr %378, align 4, !tbaa !5
  %18892 = call ptr @__errno_location() #12
  store i32 %18891, ptr %18892, align 4, !tbaa !5
  %18893 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18894 = load i32, ptr @test_count, align 4, !tbaa !5
  %18895 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18896 = load i32, ptr %18895, align 4, !tbaa !5
  %18897 = call ptr @s2n_strerror(i32 noundef %18896, ptr noundef @.str.11)
  %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_debug(i32 noundef %18899, ptr noundef @.str.11)
  %18901 = call ptr @__errno_location() #12
  %18902 = load i32, ptr %18901, align 4, !tbaa !5
  %18903 = call ptr @strerror(i32 noundef %18902) #11
  %18904 = call ptr @__errno_location() #12
  %18905 = load i32, ptr %18904, align 4, !tbaa !5
  %18906 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18893, ptr noundef @.str.9, i32 noundef %18894, ptr noundef @.str.185, ptr noundef @.str.8, i32 noundef 734, ptr noundef %18897, ptr noundef %18900, ptr noundef %18903, i32 noundef %18905) #11
  br label %18924

18907:                                            ; preds = %18885, %18878
  %18908 = load i32, ptr %378, align 4, !tbaa !5
  %18909 = call ptr @__errno_location() #12
  store i32 %18908, ptr %18909, align 4, !tbaa !5
  %18910 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18911 = load i32, ptr @test_count, align 4, !tbaa !5
  %18912 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18913 = load i32, ptr %18912, align 4, !tbaa !5
  %18914 = call ptr @s2n_strerror(i32 noundef %18913, ptr noundef @.str.11)
  %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_debug(i32 noundef %18916, ptr noundef @.str.11)
  %18918 = call ptr @__errno_location() #12
  %18919 = load i32, ptr %18918, align 4, !tbaa !5
  %18920 = call ptr @strerror(i32 noundef %18919) #11
  %18921 = call ptr @__errno_location() #12
  %18922 = load i32, ptr %18921, align 4, !tbaa !5
  %18923 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18910, ptr noundef @.str.12, i32 noundef %18911, ptr noundef @.str.185, ptr noundef @.str.8, i32 noundef 734, ptr noundef %18914, ptr noundef %18917, ptr noundef %18920, i32 noundef %18922) #11
  br label %18924

18924:                                            ; preds = %18907, %18890
  call void @llvm.lifetime.end.p0(i64 4, ptr %378) #11
  br label %18925

18925:                                            ; preds = %18924
  br label %18926

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

18927:                                            ; No predecessors!
  br label %18928

18928:                                            ; preds = %18927
  br label %18929

18929:                                            ; preds = %18928, %18870
  br label %18930

18930:                                            ; preds = %18929
  br label %18931

18931:                                            ; preds = %18930
  br label %18932

18932:                                            ; preds = %18931
  %18933 = load i32, ptr @test_count, align 4, !tbaa !5
  %18934 = add nsw i32 %18933, 1
  store i32 %18934, ptr @test_count, align 4, !tbaa !5
  %18935 = load ptr, ptr %360, align 8, !tbaa !9
  %18936 = call i32 @s2n_connection_wipe(ptr noundef %18935)
  %18937 = icmp eq i32 %18936, -1
  br i1 %18937, label %18938, label %18991

18938:                                            ; preds = %18932
  br label %18939

18939:                                            ; preds = %18938
  br label %18940

18940:                                            ; preds = %18939
  call void @llvm.lifetime.start.p0(i64 4, ptr %379) #11
  %18941 = call ptr @__errno_location() #12
  %18942 = load i32, ptr %18941, align 4, !tbaa !5
  store i32 %18942, ptr %379, align 4, !tbaa !5
  %18943 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18944 = call i32 @s2n_print_stacktrace(ptr noundef %18943)
  %18945 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %18946 = trunc i8 %18945 to i1
  br i1 %18946, label %18947, label %18969

18947:                                            ; preds = %18940
  %18948 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18949 = call i32 @fileno(ptr noundef %18948) #11
  %18950 = call i32 @isatty(i32 noundef %18949) #11
  %18951 = icmp ne i32 %18950, 0
  br i1 %18951, label %18952, label %18969

18952:                                            ; preds = %18947
  %18953 = load i32, ptr %379, align 4, !tbaa !5
  %18954 = call ptr @__errno_location() #12
  store i32 %18953, ptr %18954, align 4, !tbaa !5
  %18955 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18956 = load i32, ptr @test_count, align 4, !tbaa !5
  %18957 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18958 = load i32, ptr %18957, align 4, !tbaa !5
  %18959 = call ptr @s2n_strerror(i32 noundef %18958, ptr noundef @.str.11)
  %18960 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18961 = load i32, ptr %18960, align 4, !tbaa !5
  %18962 = call ptr @s2n_strerror_debug(i32 noundef %18961, ptr noundef @.str.11)
  %18963 = call ptr @__errno_location() #12
  %18964 = load i32, ptr %18963, align 4, !tbaa !5
  %18965 = call ptr @strerror(i32 noundef %18964) #11
  %18966 = call ptr @__errno_location() #12
  %18967 = load i32, ptr %18966, align 4, !tbaa !5
  %18968 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18955, ptr noundef @.str.9, i32 noundef %18956, ptr noundef @.str.186, ptr noundef @.str.8, i32 noundef 735, ptr noundef %18959, ptr noundef %18962, ptr noundef %18965, i32 noundef %18967) #11
  br label %18986

18969:                                            ; preds = %18947, %18940
  %18970 = load i32, ptr %379, align 4, !tbaa !5
  %18971 = call ptr @__errno_location() #12
  store i32 %18970, ptr %18971, align 4, !tbaa !5
  %18972 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18973 = load i32, ptr @test_count, align 4, !tbaa !5
  %18974 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18975 = load i32, ptr %18974, align 4, !tbaa !5
  %18976 = call ptr @s2n_strerror(i32 noundef %18975, ptr noundef @.str.11)
  %18977 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18978 = load i32, ptr %18977, align 4, !tbaa !5
  %18979 = call ptr @s2n_strerror_debug(i32 noundef %18978, ptr noundef @.str.11)
  %18980 = call ptr @__errno_location() #12
  %18981 = load i32, ptr %18980, align 4, !tbaa !5
  %18982 = call ptr @strerror(i32 noundef %18981) #11
  %18983 = call ptr @__errno_location() #12
  %18984 = load i32, ptr %18983, align 4, !tbaa !5
  %18985 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18972, ptr noundef @.str.12, i32 noundef %18973, ptr noundef @.str.186, ptr noundef @.str.8, i32 noundef 735, ptr noundef %18976, ptr noundef %18979, ptr noundef %18982, i32 noundef %18984) #11
  br label %18986

18986:                                            ; preds = %18969, %18952
  call void @llvm.lifetime.end.p0(i64 4, ptr %379) #11
  br label %18987

18987:                                            ; preds = %18986
  br label %18988

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

18989:                                            ; No predecessors!
  br label %18990

18990:                                            ; preds = %18989
  br label %18991

18991:                                            ; preds = %18990, %18932
  br label %18992

18992:                                            ; preds = %18991
  br label %18993

18993:                                            ; preds = %18992
  %18994 = call i32 @s2n_io_pair_close(ptr noundef %366)
  call void @llvm.lifetime.end.p0(i64 8, ptr %366) #11
  br label %18995

18995:                                            ; preds = %18993
  %18996 = load i64, ptr %365, align 8, !tbaa !50
  %18997 = add i64 %18996, 1
  store i64 %18997, ptr %365, align 8, !tbaa !50
  br label %18178, !llvm.loop !80

18998:                                            ; preds = %18181
  call void @llvm.lifetime.end.p0(i64 4, ptr %364) #11
  call void @llvm.lifetime.end.p0(i64 100, ptr %363) #11
  %18999 = call i32 @s2n_connection_ptr_free(ptr noundef %360)
  %19000 = getelementptr inbounds %struct.s2n_result, ptr %380, i32 0, i32 0
  store i32 %18999, ptr %19000, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %360) #11
  %19001 = call i32 @s2n_connection_ptr_free(ptr noundef %357)
  %19002 = getelementptr inbounds %struct.s2n_result, ptr %381, i32 0, i32 0
  store i32 %19001, ptr %19002, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %357) #11
  %19003 = call i32 @s2n_config_ptr_free(ptr noundef %352)
  %19004 = getelementptr inbounds %struct.s2n_result, ptr %382, i32 0, i32 0
  store i32 %19003, ptr %19004, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %352) #11
  call void @llvm.lifetime.start.p0(i64 4, ptr %383) #11
  store i32 10, ptr %383, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %384) #11
  %19005 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %19005, ptr %384, align 8, !tbaa !9
  br label %19006

19006:                                            ; preds = %18998
  %19007 = load i32, ptr @test_count, align 4, !tbaa !5
  %19008 = add nsw i32 %19007, 1
  store i32 %19008, ptr @test_count, align 4, !tbaa !5
  %19009 = load ptr, ptr %384, align 8, !tbaa !9
  %19010 = icmp eq ptr %19009, null
  br i1 %19010, label %19011, label %19064

19011:                                            ; preds = %19006
  br label %19012

19012:                                            ; preds = %19011
  br label %19013

19013:                                            ; preds = %19012
  call void @llvm.lifetime.start.p0(i64 4, ptr %385) #11
  %19014 = call ptr @__errno_location() #12
  %19015 = load i32, ptr %19014, align 4, !tbaa !5
  store i32 %19015, ptr %385, align 4, !tbaa !5
  %19016 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19017 = call i32 @s2n_print_stacktrace(ptr noundef %19016)
  %19018 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %19019 = trunc i8 %19018 to i1
  br i1 %19019, label %19020, label %19042

19020:                                            ; preds = %19013
  %19021 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19022 = call i32 @fileno(ptr noundef %19021) #11
  %19023 = call i32 @isatty(i32 noundef %19022) #11
  %19024 = icmp ne i32 %19023, 0
  br i1 %19024, label %19025, label %19042

19025:                                            ; preds = %19020
  %19026 = load i32, ptr %385, align 4, !tbaa !5
  %19027 = call ptr @__errno_location() #12
  store i32 %19026, ptr %19027, align 4, !tbaa !5
  %19028 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19029 = load i32, ptr @test_count, align 4, !tbaa !5
  %19030 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19031 = load i32, ptr %19030, align 4, !tbaa !5
  %19032 = call ptr @s2n_strerror(i32 noundef %19031, ptr noundef @.str.11)
  %19033 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19034 = load i32, ptr %19033, align 4, !tbaa !5
  %19035 = call ptr @s2n_strerror_debug(i32 noundef %19034, ptr noundef @.str.11)
  %19036 = call ptr @__errno_location() #12
  %19037 = load i32, ptr %19036, align 4, !tbaa !5
  %19038 = call ptr @strerror(i32 noundef %19037) #11
  %19039 = call ptr @__errno_location() #12
  %19040 = load i32, ptr %19039, align 4, !tbaa !5
  %19041 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19028, ptr noundef @.str.9, i32 noundef %19029, ptr noundef @.str.92, ptr noundef @.str.8, i32 noundef 747, ptr noundef %19032, ptr noundef %19035, ptr noundef %19038, i32 noundef %19040) #11
  br label %19059

19042:                                            ; preds = %19020, %19013
  %19043 = load i32, ptr %385, align 4, !tbaa !5
  %19044 = call ptr @__errno_location() #12
  store i32 %19043, ptr %19044, align 4, !tbaa !5
  %19045 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19046 = load i32, ptr @test_count, align 4, !tbaa !5
  %19047 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19048 = load i32, ptr %19047, align 4, !tbaa !5
  %19049 = call ptr @s2n_strerror(i32 noundef %19048, ptr noundef @.str.11)
  %19050 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19051 = load i32, ptr %19050, align 4, !tbaa !5
  %19052 = call ptr @s2n_strerror_debug(i32 noundef %19051, ptr noundef @.str.11)
  %19053 = call ptr @__errno_location() #12
  %19054 = load i32, ptr %19053, align 4, !tbaa !5
  %19055 = call ptr @strerror(i32 noundef %19054) #11
  %19056 = call ptr @__errno_location() #12
  %19057 = load i32, ptr %19056, align 4, !tbaa !5
  %19058 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19045, ptr noundef @.str.12, i32 noundef %19046, ptr noundef @.str.92, ptr noundef @.str.8, i32 noundef 747, ptr noundef %19049, ptr noundef %19052, ptr noundef %19055, i32 noundef %19057) #11
  br label %19059

19059:                                            ; preds = %19042, %19025
  call void @llvm.lifetime.end.p0(i64 4, ptr %385) #11
  br label %19060

19060:                                            ; preds = %19059
  br label %19061

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

19062:                                            ; No predecessors!
  br label %19063

19063:                                            ; preds = %19062
  br label %19064

19064:                                            ; preds = %19063, %19006
  br label %19065

19065:                                            ; preds = %19064
  br label %19066

19066:                                            ; preds = %19065
  call void @llvm.lifetime.start.p0(i64 8, ptr %386) #11
  store i64 0, ptr %386, align 8, !tbaa !50
  br label %19067

19067:                                            ; preds = %19401, %19066
  %19068 = load i64, ptr %386, align 8, !tbaa !50
  %19069 = icmp ult i64 %19068, 3
  br i1 %19069, label %19071, label %19070

19070:                                            ; preds = %19067
  store i32 1867, ptr %340, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %386) #11
  br label %19404

19071:                                            ; preds = %19067
  br label %19072

19072:                                            ; preds = %19071
  %19073 = load i32, ptr @test_count, align 4, !tbaa !5
  %19074 = add nsw i32 %19073, 1
  store i32 %19074, ptr @test_count, align 4, !tbaa !5
  %19075 = load ptr, ptr %384, align 8, !tbaa !9
  %19076 = getelementptr inbounds %struct.s2n_connection, ptr %19075, i32 0, i32 93
  %19077 = getelementptr inbounds %struct.s2n_post_handshake, ptr %19076, i32 0, i32 0
  %19078 = getelementptr inbounds %struct.s2n_stuffer, ptr %19077, i32 0, i32 4
  %19079 = load i8, ptr %19078, align 4
  %19080 = lshr i8 %19079, 1
  %19081 = and i8 %19080, 1
  %19082 = zext i8 %19081 to i32
  %19083 = icmp ne i32 %19082, 0
  br i1 %19083, label %19084, label %19137

19084:                                            ; preds = %19072
  br label %19085

19085:                                            ; preds = %19084
  br label %19086

19086:                                            ; preds = %19085
  call void @llvm.lifetime.start.p0(i64 4, ptr %387) #11
  %19087 = call ptr @__errno_location() #12
  %19088 = load i32, ptr %19087, align 4, !tbaa !5
  store i32 %19088, ptr %387, align 4, !tbaa !5
  %19089 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19090 = call i32 @s2n_print_stacktrace(ptr noundef %19089)
  %19091 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %19092 = trunc i8 %19091 to i1
  br i1 %19092, label %19093, label %19115

19093:                                            ; preds = %19086
  %19094 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19095 = call i32 @fileno(ptr noundef %19094) #11
  %19096 = call i32 @isatty(i32 noundef %19095) #11
  %19097 = icmp ne i32 %19096, 0
  br i1 %19097, label %19098, label %19115

19098:                                            ; preds = %19093
  %19099 = load i32, ptr %387, align 4, !tbaa !5
  %19100 = call ptr @__errno_location() #12
  store i32 %19099, ptr %19100, align 4, !tbaa !5
  %19101 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19102 = load i32, ptr @test_count, align 4, !tbaa !5
  %19103 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19104 = load i32, ptr %19103, align 4, !tbaa !5
  %19105 = call ptr @s2n_strerror(i32 noundef %19104, ptr noundef @.str.11)
  %19106 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19107 = load i32, ptr %19106, align 4, !tbaa !5
  %19108 = call ptr @s2n_strerror_debug(i32 noundef %19107, ptr noundef @.str.11)
  %19109 = call ptr @__errno_location() #12
  %19110 = load i32, ptr %19109, align 4, !tbaa !5
  %19111 = call ptr @strerror(i32 noundef %19110) #11
  %19112 = call ptr @__errno_location() #12
  %19113 = load i32, ptr %19112, align 4, !tbaa !5
  %19114 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19101, ptr noundef @.str.9, i32 noundef %19102, ptr noundef @.str.187, ptr noundef @.str.8, i32 noundef 751, ptr noundef %19105, ptr noundef %19108, ptr noundef %19111, i32 noundef %19113) #11
  br label %19132

19115:                                            ; preds = %19093, %19086
  %19116 = load i32, ptr %387, align 4, !tbaa !5
  %19117 = call ptr @__errno_location() #12
  store i32 %19116, ptr %19117, align 4, !tbaa !5
  %19118 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19119 = load i32, ptr @test_count, align 4, !tbaa !5
  %19120 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19121 = load i32, ptr %19120, align 4, !tbaa !5
  %19122 = call ptr @s2n_strerror(i32 noundef %19121, ptr noundef @.str.11)
  %19123 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19124 = load i32, ptr %19123, align 4, !tbaa !5
  %19125 = call ptr @s2n_strerror_debug(i32 noundef %19124, ptr noundef @.str.11)
  %19126 = call ptr @__errno_location() #12
  %19127 = load i32, ptr %19126, align 4, !tbaa !5
  %19128 = call ptr @strerror(i32 noundef %19127) #11
  %19129 = call ptr @__errno_location() #12
  %19130 = load i32, ptr %19129, align 4, !tbaa !5
  %19131 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19118, ptr noundef @.str.12, i32 noundef %19119, ptr noundef @.str.187, ptr noundef @.str.8, i32 noundef 751, ptr noundef %19122, ptr noundef %19125, ptr noundef %19128, i32 noundef %19130) #11
  br label %19132

19132:                                            ; preds = %19115, %19098
  call void @llvm.lifetime.end.p0(i64 4, ptr %387) #11
  br label %19133

19133:                                            ; preds = %19132
  br label %19134

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

19135:                                            ; No predecessors!
  br label %19136

19136:                                            ; preds = %19135
  br label %19137

19137:                                            ; preds = %19136, %19072
  br label %19138

19138:                                            ; preds = %19137
  br label %19139

19139:                                            ; preds = %19138
  br label %19140

19140:                                            ; preds = %19139
  %19141 = load i32, ptr @test_count, align 4, !tbaa !5
  %19142 = add nsw i32 %19141, 1
  store i32 %19142, ptr @test_count, align 4, !tbaa !5
  %19143 = load ptr, ptr %384, align 8, !tbaa !9
  %19144 = getelementptr inbounds %struct.s2n_connection, ptr %19143, i32 0, i32 93
  %19145 = getelementptr inbounds %struct.s2n_post_handshake, ptr %19144, i32 0, i32 0
  %19146 = getelementptr inbounds %struct.s2n_stuffer, ptr %19145, i32 0, i32 4
  %19147 = load i8, ptr %19146, align 4
  %19148 = and i8 %19147, 1
  %19149 = zext i8 %19148 to i32
  %19150 = icmp ne i32 %19149, 0
  br i1 %19150, label %19151, label %19204

19151:                                            ; preds = %19140
  br label %19152

19152:                                            ; preds = %19151
  br label %19153

19153:                                            ; preds = %19152
  call void @llvm.lifetime.start.p0(i64 4, ptr %388) #11
  %19154 = call ptr @__errno_location() #12
  %19155 = load i32, ptr %19154, align 4, !tbaa !5
  store i32 %19155, ptr %388, align 4, !tbaa !5
  %19156 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19157 = call i32 @s2n_print_stacktrace(ptr noundef %19156)
  %19158 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %19159 = trunc i8 %19158 to i1
  br i1 %19159, label %19160, label %19182

19160:                                            ; preds = %19153
  %19161 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19162 = call i32 @fileno(ptr noundef %19161) #11
  %19163 = call i32 @isatty(i32 noundef %19162) #11
  %19164 = icmp ne i32 %19163, 0
  br i1 %19164, label %19165, label %19182

19165:                                            ; preds = %19160
  %19166 = load i32, ptr %388, align 4, !tbaa !5
  %19167 = call ptr @__errno_location() #12
  store i32 %19166, ptr %19167, align 4, !tbaa !5
  %19168 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19169 = load i32, ptr @test_count, align 4, !tbaa !5
  %19170 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19171 = load i32, ptr %19170, align 4, !tbaa !5
  %19172 = call ptr @s2n_strerror(i32 noundef %19171, ptr noundef @.str.11)
  %19173 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19174 = load i32, ptr %19173, align 4, !tbaa !5
  %19175 = call ptr @s2n_strerror_debug(i32 noundef %19174, ptr noundef @.str.11)
  %19176 = call ptr @__errno_location() #12
  %19177 = load i32, ptr %19176, align 4, !tbaa !5
  %19178 = call ptr @strerror(i32 noundef %19177) #11
  %19179 = call ptr @__errno_location() #12
  %19180 = load i32, ptr %19179, align 4, !tbaa !5
  %19181 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19168, ptr noundef @.str.9, i32 noundef %19169, ptr noundef @.str.188, ptr noundef @.str.8, i32 noundef 752, ptr noundef %19172, ptr noundef %19175, ptr noundef %19178, i32 noundef %19180) #11
  br label %19199

19182:                                            ; preds = %19160, %19153
  %19183 = load i32, ptr %388, align 4, !tbaa !5
  %19184 = call ptr @__errno_location() #12
  store i32 %19183, ptr %19184, align 4, !tbaa !5
  %19185 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19186 = load i32, ptr @test_count, align 4, !tbaa !5
  %19187 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19188 = load i32, ptr %19187, align 4, !tbaa !5
  %19189 = call ptr @s2n_strerror(i32 noundef %19188, ptr noundef @.str.11)
  %19190 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19191 = load i32, ptr %19190, align 4, !tbaa !5
  %19192 = call ptr @s2n_strerror_debug(i32 noundef %19191, ptr noundef @.str.11)
  %19193 = call ptr @__errno_location() #12
  %19194 = load i32, ptr %19193, align 4, !tbaa !5
  %19195 = call ptr @strerror(i32 noundef %19194) #11
  %19196 = call ptr @__errno_location() #12
  %19197 = load i32, ptr %19196, align 4, !tbaa !5
  %19198 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19185, ptr noundef @.str.12, i32 noundef %19186, ptr noundef @.str.188, ptr noundef @.str.8, i32 noundef 752, ptr noundef %19189, ptr noundef %19192, ptr noundef %19195, i32 noundef %19197) #11
  br label %19199

19199:                                            ; preds = %19182, %19165
  call void @llvm.lifetime.end.p0(i64 4, ptr %388) #11
  br label %19200

19200:                                            ; preds = %19199
  br label %19201

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

19202:                                            ; No predecessors!
  br label %19203

19203:                                            ; preds = %19202
  br label %19204

19204:                                            ; preds = %19203, %19140
  br label %19205

19205:                                            ; preds = %19204
  br label %19206

19206:                                            ; preds = %19205
  br label %19207

19207:                                            ; preds = %19206
  %19208 = load i32, ptr @test_count, align 4, !tbaa !5
  %19209 = add nsw i32 %19208, 1
  store i32 %19209, ptr @test_count, align 4, !tbaa !5
  %19210 = load ptr, ptr %384, align 8, !tbaa !9
  %19211 = getelementptr inbounds %struct.s2n_connection, ptr %19210, i32 0, i32 93
  %19212 = getelementptr inbounds %struct.s2n_post_handshake, ptr %19211, i32 0, i32 0
  %19213 = getelementptr inbounds %struct.s2n_stuffer, ptr %19212, i32 0, i32 0
  %19214 = getelementptr inbounds %struct.s2n_blob, ptr %19213, i32 0, i32 1
  %19215 = load i32, ptr %19214, align 8, !tbaa !81
  %19216 = icmp eq i32 %19215, 0
  br i1 %19216, label %19270, label %19217

19217:                                            ; preds = %19207
  br label %19218

19218:                                            ; preds = %19217
  br label %19219

19219:                                            ; preds = %19218
  call void @llvm.lifetime.start.p0(i64 4, ptr %389) #11
  %19220 = call ptr @__errno_location() #12
  %19221 = load i32, ptr %19220, align 4, !tbaa !5
  store i32 %19221, ptr %389, align 4, !tbaa !5
  %19222 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19223 = call i32 @s2n_print_stacktrace(ptr noundef %19222)
  %19224 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %19225 = trunc i8 %19224 to i1
  br i1 %19225, label %19226, label %19248

19226:                                            ; preds = %19219
  %19227 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19228 = call i32 @fileno(ptr noundef %19227) #11
  %19229 = call i32 @isatty(i32 noundef %19228) #11
  %19230 = icmp ne i32 %19229, 0
  br i1 %19230, label %19231, label %19248

19231:                                            ; preds = %19226
  %19232 = load i32, ptr %389, align 4, !tbaa !5
  %19233 = call ptr @__errno_location() #12
  store i32 %19232, ptr %19233, align 4, !tbaa !5
  %19234 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19235 = load i32, ptr @test_count, align 4, !tbaa !5
  %19236 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19237 = load i32, ptr %19236, align 4, !tbaa !5
  %19238 = call ptr @s2n_strerror(i32 noundef %19237, ptr noundef @.str.11)
  %19239 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19240 = load i32, ptr %19239, align 4, !tbaa !5
  %19241 = call ptr @s2n_strerror_debug(i32 noundef %19240, ptr noundef @.str.11)
  %19242 = call ptr @__errno_location() #12
  %19243 = load i32, ptr %19242, align 4, !tbaa !5
  %19244 = call ptr @strerror(i32 noundef %19243) #11
  %19245 = call ptr @__errno_location() #12
  %19246 = load i32, ptr %19245, align 4, !tbaa !5
  %19247 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19234, ptr noundef @.str.9, i32 noundef %19235, ptr noundef @.str.189, ptr noundef @.str.8, i32 noundef 753, ptr noundef %19238, ptr noundef %19241, ptr noundef %19244, i32 noundef %19246) #11
  br label %19265

19248:                                            ; preds = %19226, %19219
  %19249 = load i32, ptr %389, align 4, !tbaa !5
  %19250 = call ptr @__errno_location() #12
  store i32 %19249, ptr %19250, align 4, !tbaa !5
  %19251 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19252 = load i32, ptr @test_count, align 4, !tbaa !5
  %19253 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19254 = load i32, ptr %19253, align 4, !tbaa !5
  %19255 = call ptr @s2n_strerror(i32 noundef %19254, ptr noundef @.str.11)
  %19256 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19257 = load i32, ptr %19256, align 4, !tbaa !5
  %19258 = call ptr @s2n_strerror_debug(i32 noundef %19257, ptr noundef @.str.11)
  %19259 = call ptr @__errno_location() #12
  %19260 = load i32, ptr %19259, align 4, !tbaa !5
  %19261 = call ptr @strerror(i32 noundef %19260) #11
  %19262 = call ptr @__errno_location() #12
  %19263 = load i32, ptr %19262, align 4, !tbaa !5
  %19264 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19251, ptr noundef @.str.12, i32 noundef %19252, ptr noundef @.str.189, ptr noundef @.str.8, i32 noundef 753, ptr noundef %19255, ptr noundef %19258, ptr noundef %19261, i32 noundef %19263) #11
  br label %19265

19265:                                            ; preds = %19248, %19231
  call void @llvm.lifetime.end.p0(i64 4, ptr %389) #11
  br label %19266

19266:                                            ; preds = %19265
  br label %19267

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

19268:                                            ; No predecessors!
  br label %19269

19269:                                            ; preds = %19268
  br label %19270

19270:                                            ; preds = %19269, %19207
  br label %19271

19271:                                            ; preds = %19270
  br label %19272

19272:                                            ; preds = %19271
  br label %19273

19273:                                            ; preds = %19272
  %19274 = load i32, ptr @test_count, align 4, !tbaa !5
  %19275 = add nsw i32 %19274, 1
  store i32 %19275, ptr @test_count, align 4, !tbaa !5
  %19276 = load ptr, ptr %384, align 8, !tbaa !9
  %19277 = call i32 @s2n_connection_wipe(ptr noundef %19276)
  %19278 = icmp eq i32 %19277, -1
  br i1 %19278, label %19279, label %19332

19279:                                            ; preds = %19273
  br label %19280

19280:                                            ; preds = %19279
  br label %19281

19281:                                            ; preds = %19280
  call void @llvm.lifetime.start.p0(i64 4, ptr %390) #11
  %19282 = call ptr @__errno_location() #12
  %19283 = load i32, ptr %19282, align 4, !tbaa !5
  store i32 %19283, ptr %390, align 4, !tbaa !5
  %19284 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19285 = call i32 @s2n_print_stacktrace(ptr noundef %19284)
  %19286 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %19287 = trunc i8 %19286 to i1
  br i1 %19287, label %19288, label %19310

19288:                                            ; preds = %19281
  %19289 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19290 = call i32 @fileno(ptr noundef %19289) #11
  %19291 = call i32 @isatty(i32 noundef %19290) #11
  %19292 = icmp ne i32 %19291, 0
  br i1 %19292, label %19293, label %19310

19293:                                            ; preds = %19288
  %19294 = load i32, ptr %390, align 4, !tbaa !5
  %19295 = call ptr @__errno_location() #12
  store i32 %19294, ptr %19295, align 4, !tbaa !5
  %19296 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19297 = load i32, ptr @test_count, align 4, !tbaa !5
  %19298 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19299 = load i32, ptr %19298, align 4, !tbaa !5
  %19300 = call ptr @s2n_strerror(i32 noundef %19299, ptr noundef @.str.11)
  %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_debug(i32 noundef %19302, ptr noundef @.str.11)
  %19304 = call ptr @__errno_location() #12
  %19305 = load i32, ptr %19304, align 4, !tbaa !5
  %19306 = call ptr @strerror(i32 noundef %19305) #11
  %19307 = call ptr @__errno_location() #12
  %19308 = load i32, ptr %19307, align 4, !tbaa !5
  %19309 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19296, ptr noundef @.str.9, i32 noundef %19297, ptr noundef @.str.118, ptr noundef @.str.8, i32 noundef 755, ptr noundef %19300, ptr noundef %19303, ptr noundef %19306, i32 noundef %19308) #11
  br label %19327

19310:                                            ; preds = %19288, %19281
  %19311 = load i32, ptr %390, align 4, !tbaa !5
  %19312 = call ptr @__errno_location() #12
  store i32 %19311, ptr %19312, align 4, !tbaa !5
  %19313 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19314 = load i32, ptr @test_count, align 4, !tbaa !5
  %19315 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19316 = load i32, ptr %19315, align 4, !tbaa !5
  %19317 = call ptr @s2n_strerror(i32 noundef %19316, ptr noundef @.str.11)
  %19318 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19319 = load i32, ptr %19318, align 4, !tbaa !5
  %19320 = call ptr @s2n_strerror_debug(i32 noundef %19319, ptr noundef @.str.11)
  %19321 = call ptr @__errno_location() #12
  %19322 = load i32, ptr %19321, align 4, !tbaa !5
  %19323 = call ptr @strerror(i32 noundef %19322) #11
  %19324 = call ptr @__errno_location() #12
  %19325 = load i32, ptr %19324, align 4, !tbaa !5
  %19326 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19313, ptr noundef @.str.12, i32 noundef %19314, ptr noundef @.str.118, ptr noundef @.str.8, i32 noundef 755, ptr noundef %19317, ptr noundef %19320, ptr noundef %19323, i32 noundef %19325) #11
  br label %19327

19327:                                            ; preds = %19310, %19293
  call void @llvm.lifetime.end.p0(i64 4, ptr %390) #11
  br label %19328

19328:                                            ; preds = %19327
  br label %19329

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

19330:                                            ; No predecessors!
  br label %19331

19331:                                            ; preds = %19330
  br label %19332

19332:                                            ; preds = %19331, %19273
  br label %19333

19333:                                            ; preds = %19332
  br label %19334

19334:                                            ; preds = %19333
  br label %19335

19335:                                            ; preds = %19334
  %19336 = load i32, ptr @test_count, align 4, !tbaa !5
  %19337 = add nsw i32 %19336, 1
  store i32 %19337, ptr @test_count, align 4, !tbaa !5
  %19338 = load ptr, ptr %384, align 8, !tbaa !9
  %19339 = getelementptr inbounds %struct.s2n_connection, ptr %19338, i32 0, i32 93
  %19340 = getelementptr inbounds %struct.s2n_post_handshake, ptr %19339, i32 0, i32 0
  %19341 = getelementptr inbounds %struct.s2n_stuffer, ptr %19340, i32 0, i32 0
  %19342 = getelementptr inbounds %struct.s2n_blob, ptr %19341, i32 0, i32 1
  %19343 = load i32, ptr %19342, align 8, !tbaa !81
  %19344 = icmp eq i32 %19343, 0
  br i1 %19344, label %19398, label %19345

19345:                                            ; preds = %19335
  br label %19346

19346:                                            ; preds = %19345
  br label %19347

19347:                                            ; preds = %19346
  call void @llvm.lifetime.start.p0(i64 4, ptr %391) #11
  %19348 = call ptr @__errno_location() #12
  %19349 = load i32, ptr %19348, align 4, !tbaa !5
  store i32 %19349, ptr %391, align 4, !tbaa !5
  %19350 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19351 = call i32 @s2n_print_stacktrace(ptr noundef %19350)
  %19352 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %19353 = trunc i8 %19352 to i1
  br i1 %19353, label %19354, label %19376

19354:                                            ; preds = %19347
  %19355 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19356 = call i32 @fileno(ptr noundef %19355) #11
  %19357 = call i32 @isatty(i32 noundef %19356) #11
  %19358 = icmp ne i32 %19357, 0
  br i1 %19358, label %19359, label %19376

19359:                                            ; preds = %19354
  %19360 = load i32, ptr %391, align 4, !tbaa !5
  %19361 = call ptr @__errno_location() #12
  store i32 %19360, ptr %19361, align 4, !tbaa !5
  %19362 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19363 = load i32, ptr @test_count, align 4, !tbaa !5
  %19364 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19365 = load i32, ptr %19364, align 4, !tbaa !5
  %19366 = call ptr @s2n_strerror(i32 noundef %19365, ptr noundef @.str.11)
  %19367 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19368 = load i32, ptr %19367, align 4, !tbaa !5
  %19369 = call ptr @s2n_strerror_debug(i32 noundef %19368, ptr noundef @.str.11)
  %19370 = call ptr @__errno_location() #12
  %19371 = load i32, ptr %19370, align 4, !tbaa !5
  %19372 = call ptr @strerror(i32 noundef %19371) #11
  %19373 = call ptr @__errno_location() #12
  %19374 = load i32, ptr %19373, align 4, !tbaa !5
  %19375 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19362, ptr noundef @.str.9, i32 noundef %19363, ptr noundef @.str.189, ptr noundef @.str.8, i32 noundef 756, ptr noundef %19366, ptr noundef %19369, ptr noundef %19372, i32 noundef %19374) #11
  br label %19393

19376:                                            ; preds = %19354, %19347
  %19377 = load i32, ptr %391, align 4, !tbaa !5
  %19378 = call ptr @__errno_location() #12
  store i32 %19377, ptr %19378, align 4, !tbaa !5
  %19379 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19380 = load i32, ptr @test_count, align 4, !tbaa !5
  %19381 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19382 = load i32, ptr %19381, align 4, !tbaa !5
  %19383 = call ptr @s2n_strerror(i32 noundef %19382, ptr noundef @.str.11)
  %19384 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19385 = load i32, ptr %19384, align 4, !tbaa !5
  %19386 = call ptr @s2n_strerror_debug(i32 noundef %19385, ptr noundef @.str.11)
  %19387 = call ptr @__errno_location() #12
  %19388 = load i32, ptr %19387, align 4, !tbaa !5
  %19389 = call ptr @strerror(i32 noundef %19388) #11
  %19390 = call ptr @__errno_location() #12
  %19391 = load i32, ptr %19390, align 4, !tbaa !5
  %19392 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19379, ptr noundef @.str.12, i32 noundef %19380, ptr noundef @.str.189, ptr noundef @.str.8, i32 noundef 756, ptr noundef %19383, ptr noundef %19386, ptr noundef %19389, i32 noundef %19391) #11
  br label %19393

19393:                                            ; preds = %19376, %19359
  call void @llvm.lifetime.end.p0(i64 4, ptr %391) #11
  br label %19394

19394:                                            ; preds = %19393
  br label %19395

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

19396:                                            ; No predecessors!
  br label %19397

19397:                                            ; preds = %19396
  br label %19398

19398:                                            ; preds = %19397, %19335
  br label %19399

19399:                                            ; preds = %19398
  br label %19400

19400:                                            ; preds = %19399
  br label %19401

19401:                                            ; preds = %19400
  %19402 = load i64, ptr %386, align 8, !tbaa !50
  %19403 = add i64 %19402, 1
  store i64 %19403, ptr %386, align 8, !tbaa !50
  br label %19067, !llvm.loop !82

19404:                                            ; preds = %19070
  call void @llvm.lifetime.start.p0(i64 8, ptr %392) #11
  store i64 0, ptr %392, align 8, !tbaa !50
  br label %19405

19405:                                            ; preds = %19803, %19404
  %19406 = load i64, ptr %392, align 8, !tbaa !50
  %19407 = icmp ult i64 %19406, 3
  br i1 %19407, label %19409, label %19408

19408:                                            ; preds = %19405
  store i32 1900, ptr %340, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %392) #11
  br label %19806

19409:                                            ; preds = %19405
  br label %19410

19410:                                            ; preds = %19409
  %19411 = load i32, ptr @test_count, align 4, !tbaa !5
  %19412 = add nsw i32 %19411, 1
  store i32 %19412, ptr @test_count, align 4, !tbaa !5
  %19413 = load ptr, ptr %384, align 8, !tbaa !9
  %19414 = getelementptr inbounds %struct.s2n_connection, ptr %19413, i32 0, i32 93
  %19415 = getelementptr inbounds %struct.s2n_post_handshake, ptr %19414, i32 0, i32 0
  %19416 = call i32 @s2n_stuffer_growable_alloc(ptr noundef %19415, i32 noundef 10)
  %19417 = icmp eq i32 %19416, -1
  br i1 %19417, label %19418, label %19471

19418:                                            ; preds = %19410
  br label %19419

19419:                                            ; preds = %19418
  br label %19420

19420:                                            ; preds = %19419
  call void @llvm.lifetime.start.p0(i64 4, ptr %393) #11
  %19421 = call ptr @__errno_location() #12
  %19422 = load i32, ptr %19421, align 4, !tbaa !5
  store i32 %19422, ptr %393, align 4, !tbaa !5
  %19423 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19424 = call i32 @s2n_print_stacktrace(ptr noundef %19423)
  %19425 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %19426 = trunc i8 %19425 to i1
  br i1 %19426, label %19427, label %19449

19427:                                            ; preds = %19420
  %19428 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19429 = call i32 @fileno(ptr noundef %19428) #11
  %19430 = call i32 @isatty(i32 noundef %19429) #11
  %19431 = icmp ne i32 %19430, 0
  br i1 %19431, label %19432, label %19449

19432:                                            ; preds = %19427
  %19433 = load i32, ptr %393, align 4, !tbaa !5
  %19434 = call ptr @__errno_location() #12
  store i32 %19433, ptr %19434, align 4, !tbaa !5
  %19435 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19436 = load i32, ptr @test_count, align 4, !tbaa !5
  %19437 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19438 = load i32, ptr %19437, align 4, !tbaa !5
  %19439 = call ptr @s2n_strerror(i32 noundef %19438, ptr noundef @.str.11)
  %19440 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19441 = load i32, ptr %19440, align 4, !tbaa !5
  %19442 = call ptr @s2n_strerror_debug(i32 noundef %19441, ptr noundef @.str.11)
  %19443 = call ptr @__errno_location() #12
  %19444 = load i32, ptr %19443, align 4, !tbaa !5
  %19445 = call ptr @strerror(i32 noundef %19444) #11
  %19446 = call ptr @__errno_location() #12
  %19447 = load i32, ptr %19446, align 4, !tbaa !5
  %19448 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19435, ptr noundef @.str.9, i32 noundef %19436, ptr noundef @.str.190, ptr noundef @.str.8, i32 noundef 761, ptr noundef %19439, ptr noundef %19442, ptr noundef %19445, i32 noundef %19447) #11
  br label %19466

19449:                                            ; preds = %19427, %19420
  %19450 = load i32, ptr %393, align 4, !tbaa !5
  %19451 = call ptr @__errno_location() #12
  store i32 %19450, ptr %19451, align 4, !tbaa !5
  %19452 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19453 = load i32, ptr @test_count, align 4, !tbaa !5
  %19454 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19455 = load i32, ptr %19454, align 4, !tbaa !5
  %19456 = call ptr @s2n_strerror(i32 noundef %19455, ptr noundef @.str.11)
  %19457 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19458 = load i32, ptr %19457, align 4, !tbaa !5
  %19459 = call ptr @s2n_strerror_debug(i32 noundef %19458, ptr noundef @.str.11)
  %19460 = call ptr @__errno_location() #12
  %19461 = load i32, ptr %19460, align 4, !tbaa !5
  %19462 = call ptr @strerror(i32 noundef %19461) #11
  %19463 = call ptr @__errno_location() #12
  %19464 = load i32, ptr %19463, align 4, !tbaa !5
  %19465 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19452, ptr noundef @.str.12, i32 noundef %19453, ptr noundef @.str.190, ptr noundef @.str.8, i32 noundef 761, ptr noundef %19456, ptr noundef %19459, ptr noundef %19462, i32 noundef %19464) #11
  br label %19466

19466:                                            ; preds = %19449, %19432
  call void @llvm.lifetime.end.p0(i64 4, ptr %393) #11
  br label %19467

19467:                                            ; preds = %19466
  br label %19468

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

19469:                                            ; No predecessors!
  br label %19470

19470:                                            ; preds = %19469
  br label %19471

19471:                                            ; preds = %19470, %19410
  br label %19472

19472:                                            ; preds = %19471
  br label %19473

19473:                                            ; preds = %19472
  br label %19474

19474:                                            ; preds = %19473
  %19475 = load i32, ptr @test_count, align 4, !tbaa !5
  %19476 = add nsw i32 %19475, 1
  store i32 %19476, ptr @test_count, align 4, !tbaa !5
  %19477 = load ptr, ptr %384, align 8, !tbaa !9
  %19478 = getelementptr inbounds %struct.s2n_connection, ptr %19477, i32 0, i32 93
  %19479 = getelementptr inbounds %struct.s2n_post_handshake, ptr %19478, i32 0, i32 0
  %19480 = getelementptr inbounds %struct.s2n_stuffer, ptr %19479, i32 0, i32 4
  %19481 = load i8, ptr %19480, align 4
  %19482 = lshr i8 %19481, 1
  %19483 = and i8 %19482, 1
  %19484 = zext i8 %19483 to i32
  %19485 = icmp ne i32 %19484, 0
  br i1 %19485, label %19539, label %19486

19486:                                            ; preds = %19474
  br label %19487

19487:                                            ; preds = %19486
  br label %19488

19488:                                            ; preds = %19487
  call void @llvm.lifetime.start.p0(i64 4, ptr %394) #11
  %19489 = call ptr @__errno_location() #12
  %19490 = load i32, ptr %19489, align 4, !tbaa !5
  store i32 %19490, ptr %394, align 4, !tbaa !5
  %19491 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19492 = call i32 @s2n_print_stacktrace(ptr noundef %19491)
  %19493 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %19494 = trunc i8 %19493 to i1
  br i1 %19494, label %19495, label %19517

19495:                                            ; preds = %19488
  %19496 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19497 = call i32 @fileno(ptr noundef %19496) #11
  %19498 = call i32 @isatty(i32 noundef %19497) #11
  %19499 = icmp ne i32 %19498, 0
  br i1 %19499, label %19500, label %19517

19500:                                            ; preds = %19495
  %19501 = load i32, ptr %394, align 4, !tbaa !5
  %19502 = call ptr @__errno_location() #12
  store i32 %19501, ptr %19502, align 4, !tbaa !5
  %19503 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19504 = load i32, ptr @test_count, align 4, !tbaa !5
  %19505 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19506 = load i32, ptr %19505, align 4, !tbaa !5
  %19507 = call ptr @s2n_strerror(i32 noundef %19506, ptr noundef @.str.11)
  %19508 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19509 = load i32, ptr %19508, align 4, !tbaa !5
  %19510 = call ptr @s2n_strerror_debug(i32 noundef %19509, ptr noundef @.str.11)
  %19511 = call ptr @__errno_location() #12
  %19512 = load i32, ptr %19511, align 4, !tbaa !5
  %19513 = call ptr @strerror(i32 noundef %19512) #11
  %19514 = call ptr @__errno_location() #12
  %19515 = load i32, ptr %19514, align 4, !tbaa !5
  %19516 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19503, ptr noundef @.str.9, i32 noundef %19504, ptr noundef @.str.191, ptr noundef @.str.8, i32 noundef 762, ptr noundef %19507, ptr noundef %19510, ptr noundef %19513, i32 noundef %19515) #11
  br label %19534

19517:                                            ; preds = %19495, %19488
  %19518 = load i32, ptr %394, align 4, !tbaa !5
  %19519 = call ptr @__errno_location() #12
  store i32 %19518, ptr %19519, align 4, !tbaa !5
  %19520 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19521 = load i32, ptr @test_count, align 4, !tbaa !5
  %19522 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19523 = load i32, ptr %19522, align 4, !tbaa !5
  %19524 = call ptr @s2n_strerror(i32 noundef %19523, ptr noundef @.str.11)
  %19525 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19526 = load i32, ptr %19525, align 4, !tbaa !5
  %19527 = call ptr @s2n_strerror_debug(i32 noundef %19526, ptr noundef @.str.11)
  %19528 = call ptr @__errno_location() #12
  %19529 = load i32, ptr %19528, align 4, !tbaa !5
  %19530 = call ptr @strerror(i32 noundef %19529) #11
  %19531 = call ptr @__errno_location() #12
  %19532 = load i32, ptr %19531, align 4, !tbaa !5
  %19533 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19520, ptr noundef @.str.12, i32 noundef %19521, ptr noundef @.str.191, ptr noundef @.str.8, i32 noundef 762, ptr noundef %19524, ptr noundef %19527, ptr noundef %19530, i32 noundef %19532) #11
  br label %19534

19534:                                            ; preds = %19517, %19500
  call void @llvm.lifetime.end.p0(i64 4, ptr %394) #11
  br label %19535

19535:                                            ; preds = %19534
  br label %19536

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

19537:                                            ; No predecessors!
  br label %19538

19538:                                            ; preds = %19537
  br label %19539

19539:                                            ; preds = %19538, %19474
  br label %19540

19540:                                            ; preds = %19539
  br label %19541

19541:                                            ; preds = %19540
  br label %19542

19542:                                            ; preds = %19541
  %19543 = load i32, ptr @test_count, align 4, !tbaa !5
  %19544 = add nsw i32 %19543, 1
  store i32 %19544, ptr @test_count, align 4, !tbaa !5
  %19545 = load ptr, ptr %384, align 8, !tbaa !9
  %19546 = getelementptr inbounds %struct.s2n_connection, ptr %19545, i32 0, i32 93
  %19547 = getelementptr inbounds %struct.s2n_post_handshake, ptr %19546, i32 0, i32 0
  %19548 = getelementptr inbounds %struct.s2n_stuffer, ptr %19547, i32 0, i32 4
  %19549 = load i8, ptr %19548, align 4
  %19550 = and i8 %19549, 1
  %19551 = zext i8 %19550 to i32
  %19552 = icmp ne i32 %19551, 0
  br i1 %19552, label %19606, label %19553

19553:                                            ; preds = %19542
  br label %19554

19554:                                            ; preds = %19553
  br label %19555

19555:                                            ; preds = %19554
  call void @llvm.lifetime.start.p0(i64 4, ptr %395) #11
  %19556 = call ptr @__errno_location() #12
  %19557 = load i32, ptr %19556, align 4, !tbaa !5
  store i32 %19557, ptr %395, align 4, !tbaa !5
  %19558 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19559 = call i32 @s2n_print_stacktrace(ptr noundef %19558)
  %19560 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %19561 = trunc i8 %19560 to i1
  br i1 %19561, label %19562, label %19584

19562:                                            ; preds = %19555
  %19563 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19564 = call i32 @fileno(ptr noundef %19563) #11
  %19565 = call i32 @isatty(i32 noundef %19564) #11
  %19566 = icmp ne i32 %19565, 0
  br i1 %19566, label %19567, label %19584

19567:                                            ; preds = %19562
  %19568 = load i32, ptr %395, align 4, !tbaa !5
  %19569 = call ptr @__errno_location() #12
  store i32 %19568, ptr %19569, align 4, !tbaa !5
  %19570 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19571 = load i32, ptr @test_count, align 4, !tbaa !5
  %19572 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19573 = load i32, ptr %19572, align 4, !tbaa !5
  %19574 = call ptr @s2n_strerror(i32 noundef %19573, ptr noundef @.str.11)
  %19575 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19576 = load i32, ptr %19575, align 4, !tbaa !5
  %19577 = call ptr @s2n_strerror_debug(i32 noundef %19576, ptr noundef @.str.11)
  %19578 = call ptr @__errno_location() #12
  %19579 = load i32, ptr %19578, align 4, !tbaa !5
  %19580 = call ptr @strerror(i32 noundef %19579) #11
  %19581 = call ptr @__errno_location() #12
  %19582 = load i32, ptr %19581, align 4, !tbaa !5
  %19583 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19570, ptr noundef @.str.9, i32 noundef %19571, ptr noundef @.str.192, ptr noundef @.str.8, i32 noundef 763, ptr noundef %19574, ptr noundef %19577, ptr noundef %19580, i32 noundef %19582) #11
  br label %19601

19584:                                            ; preds = %19562, %19555
  %19585 = load i32, ptr %395, align 4, !tbaa !5
  %19586 = call ptr @__errno_location() #12
  store i32 %19585, ptr %19586, align 4, !tbaa !5
  %19587 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19588 = load i32, ptr @test_count, align 4, !tbaa !5
  %19589 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19590 = load i32, ptr %19589, align 4, !tbaa !5
  %19591 = call ptr @s2n_strerror(i32 noundef %19590, ptr noundef @.str.11)
  %19592 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19593 = load i32, ptr %19592, align 4, !tbaa !5
  %19594 = call ptr @s2n_strerror_debug(i32 noundef %19593, ptr noundef @.str.11)
  %19595 = call ptr @__errno_location() #12
  %19596 = load i32, ptr %19595, align 4, !tbaa !5
  %19597 = call ptr @strerror(i32 noundef %19596) #11
  %19598 = call ptr @__errno_location() #12
  %19599 = load i32, ptr %19598, align 4, !tbaa !5
  %19600 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19587, ptr noundef @.str.12, i32 noundef %19588, ptr noundef @.str.192, ptr noundef @.str.8, i32 noundef 763, ptr noundef %19591, ptr noundef %19594, ptr noundef %19597, i32 noundef %19599) #11
  br label %19601

19601:                                            ; preds = %19584, %19567
  call void @llvm.lifetime.end.p0(i64 4, ptr %395) #11
  br label %19602

19602:                                            ; preds = %19601
  br label %19603

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

19604:                                            ; No predecessors!
  br label %19605

19605:                                            ; preds = %19604
  br label %19606

19606:                                            ; preds = %19605, %19542
  br label %19607

19607:                                            ; preds = %19606
  br label %19608

19608:                                            ; preds = %19607
  br label %19609

19609:                                            ; preds = %19608
  %19610 = load i32, ptr @test_count, align 4, !tbaa !5
  %19611 = add nsw i32 %19610, 1
  store i32 %19611, ptr @test_count, align 4, !tbaa !5
  %19612 = load ptr, ptr %384, align 8, !tbaa !9
  %19613 = getelementptr inbounds %struct.s2n_connection, ptr %19612, i32 0, i32 93
  %19614 = getelementptr inbounds %struct.s2n_post_handshake, ptr %19613, i32 0, i32 0
  %19615 = getelementptr inbounds %struct.s2n_stuffer, ptr %19614, i32 0, i32 0
  %19616 = getelementptr inbounds %struct.s2n_blob, ptr %19615, i32 0, i32 1
  %19617 = load i32, ptr %19616, align 8, !tbaa !81
  %19618 = icmp eq i32 %19617, 10
  br i1 %19618, label %19672, label %19619

19619:                                            ; preds = %19609
  br label %19620

19620:                                            ; preds = %19619
  br label %19621

19621:                                            ; preds = %19620
  call void @llvm.lifetime.start.p0(i64 4, ptr %396) #11
  %19622 = call ptr @__errno_location() #12
  %19623 = load i32, ptr %19622, align 4, !tbaa !5
  store i32 %19623, ptr %396, align 4, !tbaa !5
  %19624 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19625 = call i32 @s2n_print_stacktrace(ptr noundef %19624)
  %19626 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %19627 = trunc i8 %19626 to i1
  br i1 %19627, label %19628, label %19650

19628:                                            ; preds = %19621
  %19629 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19630 = call i32 @fileno(ptr noundef %19629) #11
  %19631 = call i32 @isatty(i32 noundef %19630) #11
  %19632 = icmp ne i32 %19631, 0
  br i1 %19632, label %19633, label %19650

19633:                                            ; preds = %19628
  %19634 = load i32, ptr %396, align 4, !tbaa !5
  %19635 = call ptr @__errno_location() #12
  store i32 %19634, ptr %19635, align 4, !tbaa !5
  %19636 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19637 = load i32, ptr @test_count, align 4, !tbaa !5
  %19638 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19639 = load i32, ptr %19638, align 4, !tbaa !5
  %19640 = call ptr @s2n_strerror(i32 noundef %19639, ptr noundef @.str.11)
  %19641 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19642 = load i32, ptr %19641, align 4, !tbaa !5
  %19643 = call ptr @s2n_strerror_debug(i32 noundef %19642, ptr noundef @.str.11)
  %19644 = call ptr @__errno_location() #12
  %19645 = load i32, ptr %19644, align 4, !tbaa !5
  %19646 = call ptr @strerror(i32 noundef %19645) #11
  %19647 = call ptr @__errno_location() #12
  %19648 = load i32, ptr %19647, align 4, !tbaa !5
  %19649 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19636, ptr noundef @.str.9, i32 noundef %19637, ptr noundef @.str.193, ptr noundef @.str.8, i32 noundef 764, ptr noundef %19640, ptr noundef %19643, ptr noundef %19646, i32 noundef %19648) #11
  br label %19667

19650:                                            ; preds = %19628, %19621
  %19651 = load i32, ptr %396, align 4, !tbaa !5
  %19652 = call ptr @__errno_location() #12
  store i32 %19651, ptr %19652, align 4, !tbaa !5
  %19653 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19654 = load i32, ptr @test_count, align 4, !tbaa !5
  %19655 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19656 = load i32, ptr %19655, align 4, !tbaa !5
  %19657 = call ptr @s2n_strerror(i32 noundef %19656, ptr noundef @.str.11)
  %19658 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19659 = load i32, ptr %19658, align 4, !tbaa !5
  %19660 = call ptr @s2n_strerror_debug(i32 noundef %19659, ptr noundef @.str.11)
  %19661 = call ptr @__errno_location() #12
  %19662 = load i32, ptr %19661, align 4, !tbaa !5
  %19663 = call ptr @strerror(i32 noundef %19662) #11
  %19664 = call ptr @__errno_location() #12
  %19665 = load i32, ptr %19664, align 4, !tbaa !5
  %19666 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19653, ptr noundef @.str.12, i32 noundef %19654, ptr noundef @.str.193, ptr noundef @.str.8, i32 noundef 764, ptr noundef %19657, ptr noundef %19660, ptr noundef %19663, i32 noundef %19665) #11
  br label %19667

19667:                                            ; preds = %19650, %19633
  call void @llvm.lifetime.end.p0(i64 4, ptr %396) #11
  br label %19668

19668:                                            ; preds = %19667
  br label %19669

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

19670:                                            ; No predecessors!
  br label %19671

19671:                                            ; preds = %19670
  br label %19672

19672:                                            ; preds = %19671, %19609
  br label %19673

19673:                                            ; preds = %19672
  br label %19674

19674:                                            ; preds = %19673
  br label %19675

19675:                                            ; preds = %19674
  %19676 = load i32, ptr @test_count, align 4, !tbaa !5
  %19677 = add nsw i32 %19676, 1
  store i32 %19677, ptr @test_count, align 4, !tbaa !5
  %19678 = load ptr, ptr %384, align 8, !tbaa !9
  %19679 = call i32 @s2n_connection_wipe(ptr noundef %19678)
  %19680 = icmp eq i32 %19679, -1
  br i1 %19680, label %19681, label %19734

19681:                                            ; preds = %19675
  br label %19682

19682:                                            ; preds = %19681
  br label %19683

19683:                                            ; preds = %19682
  call void @llvm.lifetime.start.p0(i64 4, ptr %397) #11
  %19684 = call ptr @__errno_location() #12
  %19685 = load i32, ptr %19684, align 4, !tbaa !5
  store i32 %19685, ptr %397, align 4, !tbaa !5
  %19686 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19687 = call i32 @s2n_print_stacktrace(ptr noundef %19686)
  %19688 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %19689 = trunc i8 %19688 to i1
  br i1 %19689, label %19690, label %19712

19690:                                            ; preds = %19683
  %19691 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19692 = call i32 @fileno(ptr noundef %19691) #11
  %19693 = call i32 @isatty(i32 noundef %19692) #11
  %19694 = icmp ne i32 %19693, 0
  br i1 %19694, label %19695, label %19712

19695:                                            ; preds = %19690
  %19696 = load i32, ptr %397, align 4, !tbaa !5
  %19697 = call ptr @__errno_location() #12
  store i32 %19696, ptr %19697, align 4, !tbaa !5
  %19698 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19699 = load i32, ptr @test_count, align 4, !tbaa !5
  %19700 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19701 = load i32, ptr %19700, align 4, !tbaa !5
  %19702 = call ptr @s2n_strerror(i32 noundef %19701, ptr noundef @.str.11)
  %19703 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19704 = load i32, ptr %19703, align 4, !tbaa !5
  %19705 = call ptr @s2n_strerror_debug(i32 noundef %19704, ptr noundef @.str.11)
  %19706 = call ptr @__errno_location() #12
  %19707 = load i32, ptr %19706, align 4, !tbaa !5
  %19708 = call ptr @strerror(i32 noundef %19707) #11
  %19709 = call ptr @__errno_location() #12
  %19710 = load i32, ptr %19709, align 4, !tbaa !5
  %19711 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19698, ptr noundef @.str.9, i32 noundef %19699, ptr noundef @.str.118, ptr noundef @.str.8, i32 noundef 766, ptr noundef %19702, ptr noundef %19705, ptr noundef %19708, i32 noundef %19710) #11
  br label %19729

19712:                                            ; preds = %19690, %19683
  %19713 = load i32, ptr %397, align 4, !tbaa !5
  %19714 = call ptr @__errno_location() #12
  store i32 %19713, ptr %19714, align 4, !tbaa !5
  %19715 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19716 = load i32, ptr @test_count, align 4, !tbaa !5
  %19717 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19718 = load i32, ptr %19717, align 4, !tbaa !5
  %19719 = call ptr @s2n_strerror(i32 noundef %19718, ptr noundef @.str.11)
  %19720 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19721 = load i32, ptr %19720, align 4, !tbaa !5
  %19722 = call ptr @s2n_strerror_debug(i32 noundef %19721, ptr noundef @.str.11)
  %19723 = call ptr @__errno_location() #12
  %19724 = load i32, ptr %19723, align 4, !tbaa !5
  %19725 = call ptr @strerror(i32 noundef %19724) #11
  %19726 = call ptr @__errno_location() #12
  %19727 = load i32, ptr %19726, align 4, !tbaa !5
  %19728 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19715, ptr noundef @.str.12, i32 noundef %19716, ptr noundef @.str.118, ptr noundef @.str.8, i32 noundef 766, ptr noundef %19719, ptr noundef %19722, ptr noundef %19725, i32 noundef %19727) #11
  br label %19729

19729:                                            ; preds = %19712, %19695
  call void @llvm.lifetime.end.p0(i64 4, ptr %397) #11
  br label %19730

19730:                                            ; preds = %19729
  br label %19731

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

19732:                                            ; No predecessors!
  br label %19733

19733:                                            ; preds = %19732
  br label %19734

19734:                                            ; preds = %19733, %19675
  br label %19735

19735:                                            ; preds = %19734
  br label %19736

19736:                                            ; preds = %19735
  br label %19737

19737:                                            ; preds = %19736
  %19738 = load i32, ptr @test_count, align 4, !tbaa !5
  %19739 = add nsw i32 %19738, 1
  store i32 %19739, ptr @test_count, align 4, !tbaa !5
  %19740 = load ptr, ptr %384, align 8, !tbaa !9
  %19741 = getelementptr inbounds %struct.s2n_connection, ptr %19740, i32 0, i32 93
  %19742 = getelementptr inbounds %struct.s2n_post_handshake, ptr %19741, i32 0, i32 0
  %19743 = getelementptr inbounds %struct.s2n_stuffer, ptr %19742, i32 0, i32 0
  %19744 = getelementptr inbounds %struct.s2n_blob, ptr %19743, i32 0, i32 1
  %19745 = load i32, ptr %19744, align 8, !tbaa !81
  %19746 = icmp eq i32 %19745, 0
  br i1 %19746, label %19800, label %19747

19747:                                            ; preds = %19737
  br label %19748

19748:                                            ; preds = %19747
  br label %19749

19749:                                            ; preds = %19748
  call void @llvm.lifetime.start.p0(i64 4, ptr %398) #11
  %19750 = call ptr @__errno_location() #12
  %19751 = load i32, ptr %19750, align 4, !tbaa !5
  store i32 %19751, ptr %398, align 4, !tbaa !5
  %19752 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19753 = call i32 @s2n_print_stacktrace(ptr noundef %19752)
  %19754 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %19755 = trunc i8 %19754 to i1
  br i1 %19755, label %19756, label %19778

19756:                                            ; preds = %19749
  %19757 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19758 = call i32 @fileno(ptr noundef %19757) #11
  %19759 = call i32 @isatty(i32 noundef %19758) #11
  %19760 = icmp ne i32 %19759, 0
  br i1 %19760, label %19761, label %19778

19761:                                            ; preds = %19756
  %19762 = load i32, ptr %398, align 4, !tbaa !5
  %19763 = call ptr @__errno_location() #12
  store i32 %19762, ptr %19763, align 4, !tbaa !5
  %19764 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19765 = load i32, ptr @test_count, align 4, !tbaa !5
  %19766 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19767 = load i32, ptr %19766, align 4, !tbaa !5
  %19768 = call ptr @s2n_strerror(i32 noundef %19767, ptr noundef @.str.11)
  %19769 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19770 = load i32, ptr %19769, align 4, !tbaa !5
  %19771 = call ptr @s2n_strerror_debug(i32 noundef %19770, ptr noundef @.str.11)
  %19772 = call ptr @__errno_location() #12
  %19773 = load i32, ptr %19772, align 4, !tbaa !5
  %19774 = call ptr @strerror(i32 noundef %19773) #11
  %19775 = call ptr @__errno_location() #12
  %19776 = load i32, ptr %19775, align 4, !tbaa !5
  %19777 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19764, ptr noundef @.str.9, i32 noundef %19765, ptr noundef @.str.189, ptr noundef @.str.8, i32 noundef 767, ptr noundef %19768, ptr noundef %19771, ptr noundef %19774, i32 noundef %19776) #11
  br label %19795

19778:                                            ; preds = %19756, %19749
  %19779 = load i32, ptr %398, align 4, !tbaa !5
  %19780 = call ptr @__errno_location() #12
  store i32 %19779, ptr %19780, align 4, !tbaa !5
  %19781 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19782 = load i32, ptr @test_count, align 4, !tbaa !5
  %19783 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19784 = load i32, ptr %19783, align 4, !tbaa !5
  %19785 = call ptr @s2n_strerror(i32 noundef %19784, ptr noundef @.str.11)
  %19786 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19787 = load i32, ptr %19786, align 4, !tbaa !5
  %19788 = call ptr @s2n_strerror_debug(i32 noundef %19787, ptr noundef @.str.11)
  %19789 = call ptr @__errno_location() #12
  %19790 = load i32, ptr %19789, align 4, !tbaa !5
  %19791 = call ptr @strerror(i32 noundef %19790) #11
  %19792 = call ptr @__errno_location() #12
  %19793 = load i32, ptr %19792, align 4, !tbaa !5
  %19794 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19781, ptr noundef @.str.12, i32 noundef %19782, ptr noundef @.str.189, ptr noundef @.str.8, i32 noundef 767, ptr noundef %19785, ptr noundef %19788, ptr noundef %19791, i32 noundef %19793) #11
  br label %19795

19795:                                            ; preds = %19778, %19761
  call void @llvm.lifetime.end.p0(i64 4, ptr %398) #11
  br label %19796

19796:                                            ; preds = %19795
  br label %19797

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

19798:                                            ; No predecessors!
  br label %19799

19799:                                            ; preds = %19798
  br label %19800

19800:                                            ; preds = %19799, %19737
  br label %19801

19801:                                            ; preds = %19800
  br label %19802

19802:                                            ; preds = %19801
  br label %19803

19803:                                            ; preds = %19802
  %19804 = load i64, ptr %392, align 8, !tbaa !50
  %19805 = add i64 %19804, 1
  store i64 %19805, ptr %392, align 8, !tbaa !50
  br label %19405, !llvm.loop !83

19806:                                            ; preds = %19408
  call void @llvm.lifetime.start.p0(i64 8, ptr %399) #11
  store i64 0, ptr %399, align 8, !tbaa !50
  br label %19807

19807:                                            ; preds = %20270, %19806
  %19808 = load i64, ptr %399, align 8, !tbaa !50
  %19809 = icmp ult i64 %19808, 3
  br i1 %19809, label %19811, label %19810

19810:                                            ; preds = %19807
  store i32 1939, ptr %340, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %399) #11
  br label %20273

19811:                                            ; preds = %19807
  call void @llvm.lifetime.start.p0(i64 24, ptr %400) #11
  call void @llvm.memset.p0.i64(ptr align 8 %400, i8 0, i64 24, i1 false)
  br label %19812

19812:                                            ; preds = %19811
  %19813 = load i32, ptr @test_count, align 4, !tbaa !5
  %19814 = add nsw i32 %19813, 1
  store i32 %19814, ptr @test_count, align 4, !tbaa !5
  %19815 = load ptr, ptr %384, align 8, !tbaa !9
  %19816 = getelementptr inbounds %struct.s2n_connection, ptr %19815, i32 0, i32 93
  %19817 = getelementptr inbounds %struct.s2n_post_handshake, ptr %19816, i32 0, i32 1
  %19818 = getelementptr inbounds [4 x i8], ptr %19817, i64 0, i64 0
  %19819 = call i32 @s2n_blob_init(ptr noundef %400, ptr noundef %19818, i32 noundef 4)
  %19820 = icmp eq i32 %19819, -1
  br i1 %19820, label %19821, label %19874

19821:                                            ; preds = %19812
  br label %19822

19822:                                            ; preds = %19821
  br label %19823

19823:                                            ; preds = %19822
  call void @llvm.lifetime.start.p0(i64 4, ptr %401) #11
  %19824 = call ptr @__errno_location() #12
  %19825 = load i32, ptr %19824, align 4, !tbaa !5
  store i32 %19825, ptr %401, align 4, !tbaa !5
  %19826 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19827 = call i32 @s2n_print_stacktrace(ptr noundef %19826)
  %19828 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %19829 = trunc i8 %19828 to i1
  br i1 %19829, label %19830, label %19852

19830:                                            ; preds = %19823
  %19831 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19832 = call i32 @fileno(ptr noundef %19831) #11
  %19833 = call i32 @isatty(i32 noundef %19832) #11
  %19834 = icmp ne i32 %19833, 0
  br i1 %19834, label %19835, label %19852

19835:                                            ; preds = %19830
  %19836 = load i32, ptr %401, align 4, !tbaa !5
  %19837 = call ptr @__errno_location() #12
  store i32 %19836, ptr %19837, align 4, !tbaa !5
  %19838 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19839 = load i32, ptr @test_count, align 4, !tbaa !5
  %19840 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19841 = load i32, ptr %19840, align 4, !tbaa !5
  %19842 = call ptr @s2n_strerror(i32 noundef %19841, ptr noundef @.str.11)
  %19843 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19844 = load i32, ptr %19843, align 4, !tbaa !5
  %19845 = call ptr @s2n_strerror_debug(i32 noundef %19844, ptr noundef @.str.11)
  %19846 = call ptr @__errno_location() #12
  %19847 = load i32, ptr %19846, align 4, !tbaa !5
  %19848 = call ptr @strerror(i32 noundef %19847) #11
  %19849 = call ptr @__errno_location() #12
  %19850 = load i32, ptr %19849, align 4, !tbaa !5
  %19851 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19838, ptr noundef @.str.9, i32 noundef %19839, ptr noundef @.str.194, ptr noundef @.str.8, i32 noundef 774, ptr noundef %19842, ptr noundef %19845, ptr noundef %19848, i32 noundef %19850) #11
  br label %19869

19852:                                            ; preds = %19830, %19823
  %19853 = load i32, ptr %401, align 4, !tbaa !5
  %19854 = call ptr @__errno_location() #12
  store i32 %19853, ptr %19854, align 4, !tbaa !5
  %19855 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19856 = load i32, ptr @test_count, align 4, !tbaa !5
  %19857 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19858 = load i32, ptr %19857, align 4, !tbaa !5
  %19859 = call ptr @s2n_strerror(i32 noundef %19858, ptr noundef @.str.11)
  %19860 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19861 = load i32, ptr %19860, align 4, !tbaa !5
  %19862 = call ptr @s2n_strerror_debug(i32 noundef %19861, ptr noundef @.str.11)
  %19863 = call ptr @__errno_location() #12
  %19864 = load i32, ptr %19863, align 4, !tbaa !5
  %19865 = call ptr @strerror(i32 noundef %19864) #11
  %19866 = call ptr @__errno_location() #12
  %19867 = load i32, ptr %19866, align 4, !tbaa !5
  %19868 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19855, ptr noundef @.str.12, i32 noundef %19856, ptr noundef @.str.194, ptr noundef @.str.8, i32 noundef 774, ptr noundef %19859, ptr noundef %19862, ptr noundef %19865, i32 noundef %19867) #11
  br label %19869

19869:                                            ; preds = %19852, %19835
  call void @llvm.lifetime.end.p0(i64 4, ptr %401) #11
  br label %19870

19870:                                            ; preds = %19869
  br label %19871

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

19872:                                            ; No predecessors!
  br label %19873

19873:                                            ; preds = %19872
  br label %19874

19874:                                            ; preds = %19873, %19812
  br label %19875

19875:                                            ; preds = %19874
  br label %19876

19876:                                            ; preds = %19875
  br label %19877

19877:                                            ; preds = %19876
  %19878 = load i32, ptr @test_count, align 4, !tbaa !5
  %19879 = add nsw i32 %19878, 1
  store i32 %19879, ptr @test_count, align 4, !tbaa !5
  %19880 = load ptr, ptr %384, align 8, !tbaa !9
  %19881 = getelementptr inbounds %struct.s2n_connection, ptr %19880, i32 0, i32 93
  %19882 = getelementptr inbounds %struct.s2n_post_handshake, ptr %19881, i32 0, i32 0
  %19883 = call i32 @s2n_stuffer_init(ptr noundef %19882, ptr noundef %400)
  %19884 = icmp eq i32 %19883, -1
  br i1 %19884, label %19885, label %19938

19885:                                            ; preds = %19877
  br label %19886

19886:                                            ; preds = %19885
  br label %19887

19887:                                            ; preds = %19886
  call void @llvm.lifetime.start.p0(i64 4, ptr %402) #11
  %19888 = call ptr @__errno_location() #12
  %19889 = load i32, ptr %19888, align 4, !tbaa !5
  store i32 %19889, ptr %402, align 4, !tbaa !5
  %19890 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19891 = call i32 @s2n_print_stacktrace(ptr noundef %19890)
  %19892 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %19893 = trunc i8 %19892 to i1
  br i1 %19893, label %19894, label %19916

19894:                                            ; preds = %19887
  %19895 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19896 = call i32 @fileno(ptr noundef %19895) #11
  %19897 = call i32 @isatty(i32 noundef %19896) #11
  %19898 = icmp ne i32 %19897, 0
  br i1 %19898, label %19899, label %19916

19899:                                            ; preds = %19894
  %19900 = load i32, ptr %402, align 4, !tbaa !5
  %19901 = call ptr @__errno_location() #12
  store i32 %19900, ptr %19901, align 4, !tbaa !5
  %19902 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19903 = load i32, ptr @test_count, align 4, !tbaa !5
  %19904 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19905 = load i32, ptr %19904, align 4, !tbaa !5
  %19906 = call ptr @s2n_strerror(i32 noundef %19905, ptr noundef @.str.11)
  %19907 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19908 = load i32, ptr %19907, align 4, !tbaa !5
  %19909 = call ptr @s2n_strerror_debug(i32 noundef %19908, ptr noundef @.str.11)
  %19910 = call ptr @__errno_location() #12
  %19911 = load i32, ptr %19910, align 4, !tbaa !5
  %19912 = call ptr @strerror(i32 noundef %19911) #11
  %19913 = call ptr @__errno_location() #12
  %19914 = load i32, ptr %19913, align 4, !tbaa !5
  %19915 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19902, ptr noundef @.str.9, i32 noundef %19903, ptr noundef @.str.195, ptr noundef @.str.8, i32 noundef 775, ptr noundef %19906, ptr noundef %19909, ptr noundef %19912, i32 noundef %19914) #11
  br label %19933

19916:                                            ; preds = %19894, %19887
  %19917 = load i32, ptr %402, align 4, !tbaa !5
  %19918 = call ptr @__errno_location() #12
  store i32 %19917, ptr %19918, align 4, !tbaa !5
  %19919 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19920 = load i32, ptr @test_count, align 4, !tbaa !5
  %19921 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19922 = load i32, ptr %19921, align 4, !tbaa !5
  %19923 = call ptr @s2n_strerror(i32 noundef %19922, ptr noundef @.str.11)
  %19924 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19925 = load i32, ptr %19924, align 4, !tbaa !5
  %19926 = call ptr @s2n_strerror_debug(i32 noundef %19925, ptr noundef @.str.11)
  %19927 = call ptr @__errno_location() #12
  %19928 = load i32, ptr %19927, align 4, !tbaa !5
  %19929 = call ptr @strerror(i32 noundef %19928) #11
  %19930 = call ptr @__errno_location() #12
  %19931 = load i32, ptr %19930, align 4, !tbaa !5
  %19932 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19919, ptr noundef @.str.12, i32 noundef %19920, ptr noundef @.str.195, ptr noundef @.str.8, i32 noundef 775, ptr noundef %19923, ptr noundef %19926, ptr noundef %19929, i32 noundef %19931) #11
  br label %19933

19933:                                            ; preds = %19916, %19899
  call void @llvm.lifetime.end.p0(i64 4, ptr %402) #11
  br label %19934

19934:                                            ; preds = %19933
  br label %19935

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

19936:                                            ; No predecessors!
  br label %19937

19937:                                            ; preds = %19936
  br label %19938

19938:                                            ; preds = %19937, %19877
  br label %19939

19939:                                            ; preds = %19938
  br label %19940

19940:                                            ; preds = %19939
  br label %19941

19941:                                            ; preds = %19940
  %19942 = load i32, ptr @test_count, align 4, !tbaa !5
  %19943 = add nsw i32 %19942, 1
  store i32 %19943, ptr @test_count, align 4, !tbaa !5
  %19944 = load ptr, ptr %384, align 8, !tbaa !9
  %19945 = getelementptr inbounds %struct.s2n_connection, ptr %19944, i32 0, i32 93
  %19946 = getelementptr inbounds %struct.s2n_post_handshake, ptr %19945, i32 0, i32 0
  %19947 = getelementptr inbounds %struct.s2n_stuffer, ptr %19946, i32 0, i32 4
  %19948 = load i8, ptr %19947, align 4
  %19949 = lshr i8 %19948, 1
  %19950 = and i8 %19949, 1
  %19951 = zext i8 %19950 to i32
  %19952 = icmp ne i32 %19951, 0
  br i1 %19952, label %19953, label %20006

19953:                                            ; preds = %19941
  br label %19954

19954:                                            ; preds = %19953
  br label %19955

19955:                                            ; preds = %19954
  call void @llvm.lifetime.start.p0(i64 4, ptr %403) #11
  %19956 = call ptr @__errno_location() #12
  %19957 = load i32, ptr %19956, align 4, !tbaa !5
  store i32 %19957, ptr %403, align 4, !tbaa !5
  %19958 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19959 = call i32 @s2n_print_stacktrace(ptr noundef %19958)
  %19960 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %19961 = trunc i8 %19960 to i1
  br i1 %19961, label %19962, label %19984

19962:                                            ; preds = %19955
  %19963 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19964 = call i32 @fileno(ptr noundef %19963) #11
  %19965 = call i32 @isatty(i32 noundef %19964) #11
  %19966 = icmp ne i32 %19965, 0
  br i1 %19966, label %19967, label %19984

19967:                                            ; preds = %19962
  %19968 = load i32, ptr %403, align 4, !tbaa !5
  %19969 = call ptr @__errno_location() #12
  store i32 %19968, ptr %19969, align 4, !tbaa !5
  %19970 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19971 = load i32, ptr @test_count, align 4, !tbaa !5
  %19972 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19973 = load i32, ptr %19972, align 4, !tbaa !5
  %19974 = call ptr @s2n_strerror(i32 noundef %19973, ptr noundef @.str.11)
  %19975 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19976 = load i32, ptr %19975, align 4, !tbaa !5
  %19977 = call ptr @s2n_strerror_debug(i32 noundef %19976, ptr noundef @.str.11)
  %19978 = call ptr @__errno_location() #12
  %19979 = load i32, ptr %19978, align 4, !tbaa !5
  %19980 = call ptr @strerror(i32 noundef %19979) #11
  %19981 = call ptr @__errno_location() #12
  %19982 = load i32, ptr %19981, align 4, !tbaa !5
  %19983 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19970, ptr noundef @.str.9, i32 noundef %19971, ptr noundef @.str.187, ptr noundef @.str.8, i32 noundef 776, ptr noundef %19974, ptr noundef %19977, ptr noundef %19980, i32 noundef %19982) #11
  br label %20001

19984:                                            ; preds = %19962, %19955
  %19985 = load i32, ptr %403, align 4, !tbaa !5
  %19986 = call ptr @__errno_location() #12
  store i32 %19985, ptr %19986, align 4, !tbaa !5
  %19987 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19988 = load i32, ptr @test_count, align 4, !tbaa !5
  %19989 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19990 = load i32, ptr %19989, align 4, !tbaa !5
  %19991 = call ptr @s2n_strerror(i32 noundef %19990, ptr noundef @.str.11)
  %19992 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19993 = load i32, ptr %19992, align 4, !tbaa !5
  %19994 = call ptr @s2n_strerror_debug(i32 noundef %19993, ptr noundef @.str.11)
  %19995 = call ptr @__errno_location() #12
  %19996 = load i32, ptr %19995, align 4, !tbaa !5
  %19997 = call ptr @strerror(i32 noundef %19996) #11
  %19998 = call ptr @__errno_location() #12
  %19999 = load i32, ptr %19998, align 4, !tbaa !5
  %20000 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19987, ptr noundef @.str.12, i32 noundef %19988, ptr noundef @.str.187, ptr noundef @.str.8, i32 noundef 776, ptr noundef %19991, ptr noundef %19994, ptr noundef %19997, i32 noundef %19999) #11
  br label %20001

20001:                                            ; preds = %19984, %19967
  call void @llvm.lifetime.end.p0(i64 4, ptr %403) #11
  br label %20002

20002:                                            ; preds = %20001
  br label %20003

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

20004:                                            ; No predecessors!
  br label %20005

20005:                                            ; preds = %20004
  br label %20006

20006:                                            ; preds = %20005, %19941
  br label %20007

20007:                                            ; preds = %20006
  br label %20008

20008:                                            ; preds = %20007
  br label %20009

20009:                                            ; preds = %20008
  %20010 = load i32, ptr @test_count, align 4, !tbaa !5
  %20011 = add nsw i32 %20010, 1
  store i32 %20011, ptr @test_count, align 4, !tbaa !5
  %20012 = load ptr, ptr %384, align 8, !tbaa !9
  %20013 = getelementptr inbounds %struct.s2n_connection, ptr %20012, i32 0, i32 93
  %20014 = getelementptr inbounds %struct.s2n_post_handshake, ptr %20013, i32 0, i32 0
  %20015 = getelementptr inbounds %struct.s2n_stuffer, ptr %20014, i32 0, i32 4
  %20016 = load i8, ptr %20015, align 4
  %20017 = and i8 %20016, 1
  %20018 = zext i8 %20017 to i32
  %20019 = icmp ne i32 %20018, 0
  br i1 %20019, label %20020, label %20073

20020:                                            ; preds = %20009
  br label %20021

20021:                                            ; preds = %20020
  br label %20022

20022:                                            ; preds = %20021
  call void @llvm.lifetime.start.p0(i64 4, ptr %404) #11
  %20023 = call ptr @__errno_location() #12
  %20024 = load i32, ptr %20023, align 4, !tbaa !5
  store i32 %20024, ptr %404, align 4, !tbaa !5
  %20025 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20026 = call i32 @s2n_print_stacktrace(ptr noundef %20025)
  %20027 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %20028 = trunc i8 %20027 to i1
  br i1 %20028, label %20029, label %20051

20029:                                            ; preds = %20022
  %20030 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20031 = call i32 @fileno(ptr noundef %20030) #11
  %20032 = call i32 @isatty(i32 noundef %20031) #11
  %20033 = icmp ne i32 %20032, 0
  br i1 %20033, label %20034, label %20051

20034:                                            ; preds = %20029
  %20035 = load i32, ptr %404, align 4, !tbaa !5
  %20036 = call ptr @__errno_location() #12
  store i32 %20035, ptr %20036, align 4, !tbaa !5
  %20037 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20038 = load i32, ptr @test_count, align 4, !tbaa !5
  %20039 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20040 = load i32, ptr %20039, align 4, !tbaa !5
  %20041 = call ptr @s2n_strerror(i32 noundef %20040, ptr noundef @.str.11)
  %20042 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20043 = load i32, ptr %20042, align 4, !tbaa !5
  %20044 = call ptr @s2n_strerror_debug(i32 noundef %20043, ptr noundef @.str.11)
  %20045 = call ptr @__errno_location() #12
  %20046 = load i32, ptr %20045, align 4, !tbaa !5
  %20047 = call ptr @strerror(i32 noundef %20046) #11
  %20048 = call ptr @__errno_location() #12
  %20049 = load i32, ptr %20048, align 4, !tbaa !5
  %20050 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20037, ptr noundef @.str.9, i32 noundef %20038, ptr noundef @.str.188, ptr noundef @.str.8, i32 noundef 777, ptr noundef %20041, ptr noundef %20044, ptr noundef %20047, i32 noundef %20049) #11
  br label %20068

20051:                                            ; preds = %20029, %20022
  %20052 = load i32, ptr %404, align 4, !tbaa !5
  %20053 = call ptr @__errno_location() #12
  store i32 %20052, ptr %20053, align 4, !tbaa !5
  %20054 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20055 = load i32, ptr @test_count, align 4, !tbaa !5
  %20056 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20057 = load i32, ptr %20056, align 4, !tbaa !5
  %20058 = call ptr @s2n_strerror(i32 noundef %20057, ptr noundef @.str.11)
  %20059 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20060 = load i32, ptr %20059, align 4, !tbaa !5
  %20061 = call ptr @s2n_strerror_debug(i32 noundef %20060, ptr noundef @.str.11)
  %20062 = call ptr @__errno_location() #12
  %20063 = load i32, ptr %20062, align 4, !tbaa !5
  %20064 = call ptr @strerror(i32 noundef %20063) #11
  %20065 = call ptr @__errno_location() #12
  %20066 = load i32, ptr %20065, align 4, !tbaa !5
  %20067 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20054, ptr noundef @.str.12, i32 noundef %20055, ptr noundef @.str.188, ptr noundef @.str.8, i32 noundef 777, ptr noundef %20058, ptr noundef %20061, ptr noundef %20064, i32 noundef %20066) #11
  br label %20068

20068:                                            ; preds = %20051, %20034
  call void @llvm.lifetime.end.p0(i64 4, ptr %404) #11
  br label %20069

20069:                                            ; preds = %20068
  br label %20070

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

20071:                                            ; No predecessors!
  br label %20072

20072:                                            ; preds = %20071
  br label %20073

20073:                                            ; preds = %20072, %20009
  br label %20074

20074:                                            ; preds = %20073
  br label %20075

20075:                                            ; preds = %20074
  br label %20076

20076:                                            ; preds = %20075
  %20077 = load i32, ptr @test_count, align 4, !tbaa !5
  %20078 = add nsw i32 %20077, 1
  store i32 %20078, ptr @test_count, align 4, !tbaa !5
  %20079 = load ptr, ptr %384, align 8, !tbaa !9
  %20080 = getelementptr inbounds %struct.s2n_connection, ptr %20079, i32 0, i32 93
  %20081 = getelementptr inbounds %struct.s2n_post_handshake, ptr %20080, i32 0, i32 0
  %20082 = getelementptr inbounds %struct.s2n_stuffer, ptr %20081, i32 0, i32 0
  %20083 = getelementptr inbounds %struct.s2n_blob, ptr %20082, i32 0, i32 1
  %20084 = load i32, ptr %20083, align 8, !tbaa !81
  %20085 = icmp eq i32 %20084, 0
  br i1 %20085, label %20086, label %20139

20086:                                            ; preds = %20076
  br label %20087

20087:                                            ; preds = %20086
  br label %20088

20088:                                            ; preds = %20087
  call void @llvm.lifetime.start.p0(i64 4, ptr %405) #11
  %20089 = call ptr @__errno_location() #12
  %20090 = load i32, ptr %20089, align 4, !tbaa !5
  store i32 %20090, ptr %405, align 4, !tbaa !5
  %20091 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20092 = call i32 @s2n_print_stacktrace(ptr noundef %20091)
  %20093 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %20094 = trunc i8 %20093 to i1
  br i1 %20094, label %20095, label %20117

20095:                                            ; preds = %20088
  %20096 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20097 = call i32 @fileno(ptr noundef %20096) #11
  %20098 = call i32 @isatty(i32 noundef %20097) #11
  %20099 = icmp ne i32 %20098, 0
  br i1 %20099, label %20100, label %20117

20100:                                            ; preds = %20095
  %20101 = load i32, ptr %405, align 4, !tbaa !5
  %20102 = call ptr @__errno_location() #12
  store i32 %20101, ptr %20102, align 4, !tbaa !5
  %20103 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20104 = load i32, ptr @test_count, align 4, !tbaa !5
  %20105 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20106 = load i32, ptr %20105, align 4, !tbaa !5
  %20107 = call ptr @s2n_strerror(i32 noundef %20106, ptr noundef @.str.11)
  %20108 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20109 = load i32, ptr %20108, align 4, !tbaa !5
  %20110 = call ptr @s2n_strerror_debug(i32 noundef %20109, ptr noundef @.str.11)
  %20111 = call ptr @__errno_location() #12
  %20112 = load i32, ptr %20111, align 4, !tbaa !5
  %20113 = call ptr @strerror(i32 noundef %20112) #11
  %20114 = call ptr @__errno_location() #12
  %20115 = load i32, ptr %20114, align 4, !tbaa !5
  %20116 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20103, ptr noundef @.str.9, i32 noundef %20104, ptr noundef @.str.196, ptr noundef @.str.8, i32 noundef 778, ptr noundef %20107, ptr noundef %20110, ptr noundef %20113, i32 noundef %20115) #11
  br label %20134

20117:                                            ; preds = %20095, %20088
  %20118 = load i32, ptr %405, align 4, !tbaa !5
  %20119 = call ptr @__errno_location() #12
  store i32 %20118, ptr %20119, align 4, !tbaa !5
  %20120 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20121 = load i32, ptr @test_count, align 4, !tbaa !5
  %20122 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20123 = load i32, ptr %20122, align 4, !tbaa !5
  %20124 = call ptr @s2n_strerror(i32 noundef %20123, ptr noundef @.str.11)
  %20125 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20126 = load i32, ptr %20125, align 4, !tbaa !5
  %20127 = call ptr @s2n_strerror_debug(i32 noundef %20126, ptr noundef @.str.11)
  %20128 = call ptr @__errno_location() #12
  %20129 = load i32, ptr %20128, align 4, !tbaa !5
  %20130 = call ptr @strerror(i32 noundef %20129) #11
  %20131 = call ptr @__errno_location() #12
  %20132 = load i32, ptr %20131, align 4, !tbaa !5
  %20133 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20120, ptr noundef @.str.12, i32 noundef %20121, ptr noundef @.str.196, ptr noundef @.str.8, i32 noundef 778, ptr noundef %20124, ptr noundef %20127, ptr noundef %20130, i32 noundef %20132) #11
  br label %20134

20134:                                            ; preds = %20117, %20100
  call void @llvm.lifetime.end.p0(i64 4, ptr %405) #11
  br label %20135

20135:                                            ; preds = %20134
  br label %20136

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

20137:                                            ; No predecessors!
  br label %20138

20138:                                            ; preds = %20137
  br label %20139

20139:                                            ; preds = %20138, %20076
  br label %20140

20140:                                            ; preds = %20139
  br label %20141

20141:                                            ; preds = %20140
  br label %20142

20142:                                            ; preds = %20141
  %20143 = load i32, ptr @test_count, align 4, !tbaa !5
  %20144 = add nsw i32 %20143, 1
  store i32 %20144, ptr @test_count, align 4, !tbaa !5
  %20145 = load ptr, ptr %384, align 8, !tbaa !9
  %20146 = call i32 @s2n_connection_wipe(ptr noundef %20145)
  %20147 = icmp eq i32 %20146, -1
  br i1 %20147, label %20148, label %20201

20148:                                            ; preds = %20142
  br label %20149

20149:                                            ; preds = %20148
  br label %20150

20150:                                            ; preds = %20149
  call void @llvm.lifetime.start.p0(i64 4, ptr %406) #11
  %20151 = call ptr @__errno_location() #12
  %20152 = load i32, ptr %20151, align 4, !tbaa !5
  store i32 %20152, ptr %406, align 4, !tbaa !5
  %20153 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20154 = call i32 @s2n_print_stacktrace(ptr noundef %20153)
  %20155 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %20156 = trunc i8 %20155 to i1
  br i1 %20156, label %20157, label %20179

20157:                                            ; preds = %20150
  %20158 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20159 = call i32 @fileno(ptr noundef %20158) #11
  %20160 = call i32 @isatty(i32 noundef %20159) #11
  %20161 = icmp ne i32 %20160, 0
  br i1 %20161, label %20162, label %20179

20162:                                            ; preds = %20157
  %20163 = load i32, ptr %406, align 4, !tbaa !5
  %20164 = call ptr @__errno_location() #12
  store i32 %20163, ptr %20164, align 4, !tbaa !5
  %20165 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20166 = load i32, ptr @test_count, align 4, !tbaa !5
  %20167 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20168 = load i32, ptr %20167, align 4, !tbaa !5
  %20169 = call ptr @s2n_strerror(i32 noundef %20168, ptr noundef @.str.11)
  %20170 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20171 = load i32, ptr %20170, align 4, !tbaa !5
  %20172 = call ptr @s2n_strerror_debug(i32 noundef %20171, ptr noundef @.str.11)
  %20173 = call ptr @__errno_location() #12
  %20174 = load i32, ptr %20173, align 4, !tbaa !5
  %20175 = call ptr @strerror(i32 noundef %20174) #11
  %20176 = call ptr @__errno_location() #12
  %20177 = load i32, ptr %20176, align 4, !tbaa !5
  %20178 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20165, ptr noundef @.str.9, i32 noundef %20166, ptr noundef @.str.118, ptr noundef @.str.8, i32 noundef 780, ptr noundef %20169, ptr noundef %20172, ptr noundef %20175, i32 noundef %20177) #11
  br label %20196

20179:                                            ; preds = %20157, %20150
  %20180 = load i32, ptr %406, align 4, !tbaa !5
  %20181 = call ptr @__errno_location() #12
  store i32 %20180, ptr %20181, align 4, !tbaa !5
  %20182 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20183 = load i32, ptr @test_count, align 4, !tbaa !5
  %20184 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20185 = load i32, ptr %20184, align 4, !tbaa !5
  %20186 = call ptr @s2n_strerror(i32 noundef %20185, ptr noundef @.str.11)
  %20187 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20188 = load i32, ptr %20187, align 4, !tbaa !5
  %20189 = call ptr @s2n_strerror_debug(i32 noundef %20188, ptr noundef @.str.11)
  %20190 = call ptr @__errno_location() #12
  %20191 = load i32, ptr %20190, align 4, !tbaa !5
  %20192 = call ptr @strerror(i32 noundef %20191) #11
  %20193 = call ptr @__errno_location() #12
  %20194 = load i32, ptr %20193, align 4, !tbaa !5
  %20195 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20182, ptr noundef @.str.12, i32 noundef %20183, ptr noundef @.str.118, ptr noundef @.str.8, i32 noundef 780, ptr noundef %20186, ptr noundef %20189, ptr noundef %20192, i32 noundef %20194) #11
  br label %20196

20196:                                            ; preds = %20179, %20162
  call void @llvm.lifetime.end.p0(i64 4, ptr %406) #11
  br label %20197

20197:                                            ; preds = %20196
  br label %20198

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

20199:                                            ; No predecessors!
  br label %20200

20200:                                            ; preds = %20199
  br label %20201

20201:                                            ; preds = %20200, %20142
  br label %20202

20202:                                            ; preds = %20201
  br label %20203

20203:                                            ; preds = %20202
  br label %20204

20204:                                            ; preds = %20203
  %20205 = load i32, ptr @test_count, align 4, !tbaa !5
  %20206 = add nsw i32 %20205, 1
  store i32 %20206, ptr @test_count, align 4, !tbaa !5
  %20207 = load ptr, ptr %384, align 8, !tbaa !9
  %20208 = getelementptr inbounds %struct.s2n_connection, ptr %20207, i32 0, i32 93
  %20209 = getelementptr inbounds %struct.s2n_post_handshake, ptr %20208, i32 0, i32 0
  %20210 = getelementptr inbounds %struct.s2n_stuffer, ptr %20209, i32 0, i32 0
  %20211 = getelementptr inbounds %struct.s2n_blob, ptr %20210, i32 0, i32 1
  %20212 = load i32, ptr %20211, align 8, !tbaa !81
  %20213 = icmp eq i32 %20212, 0
  br i1 %20213, label %20267, label %20214

20214:                                            ; preds = %20204
  br label %20215

20215:                                            ; preds = %20214
  br label %20216

20216:                                            ; preds = %20215
  call void @llvm.lifetime.start.p0(i64 4, ptr %407) #11
  %20217 = call ptr @__errno_location() #12
  %20218 = load i32, ptr %20217, align 4, !tbaa !5
  store i32 %20218, ptr %407, align 4, !tbaa !5
  %20219 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20220 = call i32 @s2n_print_stacktrace(ptr noundef %20219)
  %20221 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %20222 = trunc i8 %20221 to i1
  br i1 %20222, label %20223, label %20245

20223:                                            ; preds = %20216
  %20224 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20225 = call i32 @fileno(ptr noundef %20224) #11
  %20226 = call i32 @isatty(i32 noundef %20225) #11
  %20227 = icmp ne i32 %20226, 0
  br i1 %20227, label %20228, label %20245

20228:                                            ; preds = %20223
  %20229 = load i32, ptr %407, align 4, !tbaa !5
  %20230 = call ptr @__errno_location() #12
  store i32 %20229, ptr %20230, align 4, !tbaa !5
  %20231 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20232 = load i32, ptr @test_count, align 4, !tbaa !5
  %20233 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20234 = load i32, ptr %20233, align 4, !tbaa !5
  %20235 = call ptr @s2n_strerror(i32 noundef %20234, ptr noundef @.str.11)
  %20236 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20237 = load i32, ptr %20236, align 4, !tbaa !5
  %20238 = call ptr @s2n_strerror_debug(i32 noundef %20237, ptr noundef @.str.11)
  %20239 = call ptr @__errno_location() #12
  %20240 = load i32, ptr %20239, align 4, !tbaa !5
  %20241 = call ptr @strerror(i32 noundef %20240) #11
  %20242 = call ptr @__errno_location() #12
  %20243 = load i32, ptr %20242, align 4, !tbaa !5
  %20244 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20231, ptr noundef @.str.9, i32 noundef %20232, ptr noundef @.str.189, ptr noundef @.str.8, i32 noundef 781, ptr noundef %20235, ptr noundef %20238, ptr noundef %20241, i32 noundef %20243) #11
  br label %20262

20245:                                            ; preds = %20223, %20216
  %20246 = load i32, ptr %407, align 4, !tbaa !5
  %20247 = call ptr @__errno_location() #12
  store i32 %20246, ptr %20247, align 4, !tbaa !5
  %20248 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20249 = load i32, ptr @test_count, align 4, !tbaa !5
  %20250 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20251 = load i32, ptr %20250, align 4, !tbaa !5
  %20252 = call ptr @s2n_strerror(i32 noundef %20251, ptr noundef @.str.11)
  %20253 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20254 = load i32, ptr %20253, align 4, !tbaa !5
  %20255 = call ptr @s2n_strerror_debug(i32 noundef %20254, ptr noundef @.str.11)
  %20256 = call ptr @__errno_location() #12
  %20257 = load i32, ptr %20256, align 4, !tbaa !5
  %20258 = call ptr @strerror(i32 noundef %20257) #11
  %20259 = call ptr @__errno_location() #12
  %20260 = load i32, ptr %20259, align 4, !tbaa !5
  %20261 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20248, ptr noundef @.str.12, i32 noundef %20249, ptr noundef @.str.189, ptr noundef @.str.8, i32 noundef 781, ptr noundef %20252, ptr noundef %20255, ptr noundef %20258, i32 noundef %20260) #11
  br label %20262

20262:                                            ; preds = %20245, %20228
  call void @llvm.lifetime.end.p0(i64 4, ptr %407) #11
  br label %20263

20263:                                            ; preds = %20262
  br label %20264

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

20265:                                            ; No predecessors!
  br label %20266

20266:                                            ; preds = %20265
  br label %20267

20267:                                            ; preds = %20266, %20204
  br label %20268

20268:                                            ; preds = %20267
  br label %20269

20269:                                            ; preds = %20268
  call void @llvm.lifetime.end.p0(i64 24, ptr %400) #11
  br label %20270

20270:                                            ; preds = %20269
  %20271 = load i64, ptr %399, align 8, !tbaa !50
  %20272 = add i64 %20271, 1
  store i64 %20272, ptr %399, align 8, !tbaa !50
  br label %19807, !llvm.loop !84

20273:                                            ; preds = %19810
  %20274 = call i32 @s2n_connection_ptr_free(ptr noundef %384)
  %20275 = getelementptr inbounds %struct.s2n_result, ptr %408, i32 0, i32 0
  store i32 %20274, ptr %20275, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %384) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %409) #11
  %20276 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %20276, ptr %409, align 8, !tbaa !9
  br label %20277

20277:                                            ; preds = %20273
  %20278 = load i32, ptr @test_count, align 4, !tbaa !5
  %20279 = add nsw i32 %20278, 1
  store i32 %20279, ptr @test_count, align 4, !tbaa !5
  %20280 = load ptr, ptr %409, align 8, !tbaa !9
  %20281 = icmp eq ptr %20280, null
  br i1 %20281, label %20282, label %20335

20282:                                            ; preds = %20277
  br label %20283

20283:                                            ; preds = %20282
  br label %20284

20284:                                            ; preds = %20283
  call void @llvm.lifetime.start.p0(i64 4, ptr %410) #11
  %20285 = call ptr @__errno_location() #12
  %20286 = load i32, ptr %20285, align 4, !tbaa !5
  store i32 %20286, ptr %410, align 4, !tbaa !5
  %20287 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20288 = call i32 @s2n_print_stacktrace(ptr noundef %20287)
  %20289 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %20290 = trunc i8 %20289 to i1
  br i1 %20290, label %20291, label %20313

20291:                                            ; preds = %20284
  %20292 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20293 = call i32 @fileno(ptr noundef %20292) #11
  %20294 = call i32 @isatty(i32 noundef %20293) #11
  %20295 = icmp ne i32 %20294, 0
  br i1 %20295, label %20296, label %20313

20296:                                            ; preds = %20291
  %20297 = load i32, ptr %410, align 4, !tbaa !5
  %20298 = call ptr @__errno_location() #12
  store i32 %20297, ptr %20298, align 4, !tbaa !5
  %20299 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20300 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %20302, ptr noundef @.str.11)
  %20304 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20305 = load i32, ptr %20304, align 4, !tbaa !5
  %20306 = call ptr @s2n_strerror_debug(i32 noundef %20305, ptr noundef @.str.11)
  %20307 = call ptr @__errno_location() #12
  %20308 = load i32, ptr %20307, align 4, !tbaa !5
  %20309 = call ptr @strerror(i32 noundef %20308) #11
  %20310 = call ptr @__errno_location() #12
  %20311 = load i32, ptr %20310, align 4, !tbaa !5
  %20312 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20299, ptr noundef @.str.9, i32 noundef %20300, ptr noundef @.str.92, ptr noundef @.str.8, i32 noundef 789, ptr noundef %20303, ptr noundef %20306, ptr noundef %20309, i32 noundef %20311) #11
  br label %20330

20313:                                            ; preds = %20291, %20284
  %20314 = load i32, ptr %410, align 4, !tbaa !5
  %20315 = call ptr @__errno_location() #12
  store i32 %20314, ptr %20315, align 4, !tbaa !5
  %20316 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20317 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %20319, ptr noundef @.str.11)
  %20321 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20322 = load i32, ptr %20321, align 4, !tbaa !5
  %20323 = call ptr @s2n_strerror_debug(i32 noundef %20322, ptr noundef @.str.11)
  %20324 = call ptr @__errno_location() #12
  %20325 = load i32, ptr %20324, align 4, !tbaa !5
  %20326 = call ptr @strerror(i32 noundef %20325) #11
  %20327 = call ptr @__errno_location() #12
  %20328 = load i32, ptr %20327, align 4, !tbaa !5
  %20329 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20316, ptr noundef @.str.12, i32 noundef %20317, ptr noundef @.str.92, ptr noundef @.str.8, i32 noundef 789, ptr noundef %20320, ptr noundef %20323, ptr noundef %20326, i32 noundef %20328) #11
  br label %20330

20330:                                            ; preds = %20313, %20296
  call void @llvm.lifetime.end.p0(i64 4, ptr %410) #11
  br label %20331

20331:                                            ; preds = %20330
  br label %20332

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

20333:                                            ; No predecessors!
  br label %20334

20334:                                            ; preds = %20333
  br label %20335

20335:                                            ; preds = %20334, %20277
  br label %20336

20336:                                            ; preds = %20335
  br label %20337

20337:                                            ; preds = %20336
  call void @llvm.lifetime.start.p0(i64 8, ptr %411) #11
  store i64 0, ptr %411, align 8, !tbaa !50
  br label %20338

20338:                                            ; preds = %20672, %20337
  %20339 = load i64, ptr %411, align 8, !tbaa !50
  %20340 = icmp ult i64 %20339, 3
  br i1 %20340, label %20342, label %20341

20341:                                            ; preds = %20338
  store i32 1990, ptr %340, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %411) #11
  br label %20675

20342:                                            ; preds = %20338
  br label %20343

20343:                                            ; preds = %20342
  %20344 = load i32, ptr @test_count, align 4, !tbaa !5
  %20345 = add nsw i32 %20344, 1
  store i32 %20345, ptr @test_count, align 4, !tbaa !5
  %20346 = load ptr, ptr %409, align 8, !tbaa !9
  %20347 = getelementptr inbounds %struct.s2n_connection, ptr %20346, i32 0, i32 93
  %20348 = getelementptr inbounds %struct.s2n_post_handshake, ptr %20347, i32 0, i32 0
  %20349 = getelementptr inbounds %struct.s2n_stuffer, ptr %20348, i32 0, i32 4
  %20350 = load i8, ptr %20349, align 4
  %20351 = lshr i8 %20350, 1
  %20352 = and i8 %20351, 1
  %20353 = zext i8 %20352 to i32
  %20354 = icmp ne i32 %20353, 0
  br i1 %20354, label %20355, label %20408

20355:                                            ; preds = %20343
  br label %20356

20356:                                            ; preds = %20355
  br label %20357

20357:                                            ; preds = %20356
  call void @llvm.lifetime.start.p0(i64 4, ptr %412) #11
  %20358 = call ptr @__errno_location() #12
  %20359 = load i32, ptr %20358, align 4, !tbaa !5
  store i32 %20359, ptr %412, align 4, !tbaa !5
  %20360 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20361 = call i32 @s2n_print_stacktrace(ptr noundef %20360)
  %20362 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %20363 = trunc i8 %20362 to i1
  br i1 %20363, label %20364, label %20386

20364:                                            ; preds = %20357
  %20365 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20366 = call i32 @fileno(ptr noundef %20365) #11
  %20367 = call i32 @isatty(i32 noundef %20366) #11
  %20368 = icmp ne i32 %20367, 0
  br i1 %20368, label %20369, label %20386

20369:                                            ; preds = %20364
  %20370 = load i32, ptr %412, align 4, !tbaa !5
  %20371 = call ptr @__errno_location() #12
  store i32 %20370, ptr %20371, align 4, !tbaa !5
  %20372 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20373 = load i32, ptr @test_count, align 4, !tbaa !5
  %20374 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20375 = load i32, ptr %20374, align 4, !tbaa !5
  %20376 = call ptr @s2n_strerror(i32 noundef %20375, ptr noundef @.str.11)
  %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_debug(i32 noundef %20378, ptr noundef @.str.11)
  %20380 = call ptr @__errno_location() #12
  %20381 = load i32, ptr %20380, align 4, !tbaa !5
  %20382 = call ptr @strerror(i32 noundef %20381) #11
  %20383 = call ptr @__errno_location() #12
  %20384 = load i32, ptr %20383, align 4, !tbaa !5
  %20385 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20372, ptr noundef @.str.9, i32 noundef %20373, ptr noundef @.str.187, ptr noundef @.str.8, i32 noundef 793, ptr noundef %20376, ptr noundef %20379, ptr noundef %20382, i32 noundef %20384) #11
  br label %20403

20386:                                            ; preds = %20364, %20357
  %20387 = load i32, ptr %412, align 4, !tbaa !5
  %20388 = call ptr @__errno_location() #12
  store i32 %20387, ptr %20388, align 4, !tbaa !5
  %20389 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20390 = load i32, ptr @test_count, align 4, !tbaa !5
  %20391 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20392 = load i32, ptr %20391, align 4, !tbaa !5
  %20393 = call ptr @s2n_strerror(i32 noundef %20392, ptr noundef @.str.11)
  %20394 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20395 = load i32, ptr %20394, align 4, !tbaa !5
  %20396 = call ptr @s2n_strerror_debug(i32 noundef %20395, ptr noundef @.str.11)
  %20397 = call ptr @__errno_location() #12
  %20398 = load i32, ptr %20397, align 4, !tbaa !5
  %20399 = call ptr @strerror(i32 noundef %20398) #11
  %20400 = call ptr @__errno_location() #12
  %20401 = load i32, ptr %20400, align 4, !tbaa !5
  %20402 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20389, ptr noundef @.str.12, i32 noundef %20390, ptr noundef @.str.187, ptr noundef @.str.8, i32 noundef 793, ptr noundef %20393, ptr noundef %20396, ptr noundef %20399, i32 noundef %20401) #11
  br label %20403

20403:                                            ; preds = %20386, %20369
  call void @llvm.lifetime.end.p0(i64 4, ptr %412) #11
  br label %20404

20404:                                            ; preds = %20403
  br label %20405

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

20406:                                            ; No predecessors!
  br label %20407

20407:                                            ; preds = %20406
  br label %20408

20408:                                            ; preds = %20407, %20343
  br label %20409

20409:                                            ; preds = %20408
  br label %20410

20410:                                            ; preds = %20409
  br label %20411

20411:                                            ; preds = %20410
  %20412 = load i32, ptr @test_count, align 4, !tbaa !5
  %20413 = add nsw i32 %20412, 1
  store i32 %20413, ptr @test_count, align 4, !tbaa !5
  %20414 = load ptr, ptr %409, align 8, !tbaa !9
  %20415 = getelementptr inbounds %struct.s2n_connection, ptr %20414, i32 0, i32 93
  %20416 = getelementptr inbounds %struct.s2n_post_handshake, ptr %20415, i32 0, i32 0
  %20417 = getelementptr inbounds %struct.s2n_stuffer, ptr %20416, i32 0, i32 4
  %20418 = load i8, ptr %20417, align 4
  %20419 = and i8 %20418, 1
  %20420 = zext i8 %20419 to i32
  %20421 = icmp ne i32 %20420, 0
  br i1 %20421, label %20422, label %20475

20422:                                            ; preds = %20411
  br label %20423

20423:                                            ; preds = %20422
  br label %20424

20424:                                            ; preds = %20423
  call void @llvm.lifetime.start.p0(i64 4, ptr %413) #11
  %20425 = call ptr @__errno_location() #12
  %20426 = load i32, ptr %20425, align 4, !tbaa !5
  store i32 %20426, ptr %413, align 4, !tbaa !5
  %20427 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20428 = call i32 @s2n_print_stacktrace(ptr noundef %20427)
  %20429 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %20430 = trunc i8 %20429 to i1
  br i1 %20430, label %20431, label %20453

20431:                                            ; preds = %20424
  %20432 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20433 = call i32 @fileno(ptr noundef %20432) #11
  %20434 = call i32 @isatty(i32 noundef %20433) #11
  %20435 = icmp ne i32 %20434, 0
  br i1 %20435, label %20436, label %20453

20436:                                            ; preds = %20431
  %20437 = load i32, ptr %413, align 4, !tbaa !5
  %20438 = call ptr @__errno_location() #12
  store i32 %20437, ptr %20438, align 4, !tbaa !5
  %20439 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20440 = load i32, ptr @test_count, align 4, !tbaa !5
  %20441 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20442 = load i32, ptr %20441, align 4, !tbaa !5
  %20443 = call ptr @s2n_strerror(i32 noundef %20442, ptr noundef @.str.11)
  %20444 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20445 = load i32, ptr %20444, align 4, !tbaa !5
  %20446 = call ptr @s2n_strerror_debug(i32 noundef %20445, ptr noundef @.str.11)
  %20447 = call ptr @__errno_location() #12
  %20448 = load i32, ptr %20447, align 4, !tbaa !5
  %20449 = call ptr @strerror(i32 noundef %20448) #11
  %20450 = call ptr @__errno_location() #12
  %20451 = load i32, ptr %20450, align 4, !tbaa !5
  %20452 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20439, ptr noundef @.str.9, i32 noundef %20440, ptr noundef @.str.188, ptr noundef @.str.8, i32 noundef 794, ptr noundef %20443, ptr noundef %20446, ptr noundef %20449, i32 noundef %20451) #11
  br label %20470

20453:                                            ; preds = %20431, %20424
  %20454 = load i32, ptr %413, align 4, !tbaa !5
  %20455 = call ptr @__errno_location() #12
  store i32 %20454, ptr %20455, align 4, !tbaa !5
  %20456 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20457 = load i32, ptr @test_count, align 4, !tbaa !5
  %20458 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20459 = load i32, ptr %20458, align 4, !tbaa !5
  %20460 = call ptr @s2n_strerror(i32 noundef %20459, ptr noundef @.str.11)
  %20461 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20462 = load i32, ptr %20461, align 4, !tbaa !5
  %20463 = call ptr @s2n_strerror_debug(i32 noundef %20462, ptr noundef @.str.11)
  %20464 = call ptr @__errno_location() #12
  %20465 = load i32, ptr %20464, align 4, !tbaa !5
  %20466 = call ptr @strerror(i32 noundef %20465) #11
  %20467 = call ptr @__errno_location() #12
  %20468 = load i32, ptr %20467, align 4, !tbaa !5
  %20469 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20456, ptr noundef @.str.12, i32 noundef %20457, ptr noundef @.str.188, ptr noundef @.str.8, i32 noundef 794, ptr noundef %20460, ptr noundef %20463, ptr noundef %20466, i32 noundef %20468) #11
  br label %20470

20470:                                            ; preds = %20453, %20436
  call void @llvm.lifetime.end.p0(i64 4, ptr %413) #11
  br label %20471

20471:                                            ; preds = %20470
  br label %20472

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

20473:                                            ; No predecessors!
  br label %20474

20474:                                            ; preds = %20473
  br label %20475

20475:                                            ; preds = %20474, %20411
  br label %20476

20476:                                            ; preds = %20475
  br label %20477

20477:                                            ; preds = %20476
  br label %20478

20478:                                            ; preds = %20477
  %20479 = load i32, ptr @test_count, align 4, !tbaa !5
  %20480 = add nsw i32 %20479, 1
  store i32 %20480, ptr @test_count, align 4, !tbaa !5
  %20481 = load ptr, ptr %409, align 8, !tbaa !9
  %20482 = getelementptr inbounds %struct.s2n_connection, ptr %20481, i32 0, i32 93
  %20483 = getelementptr inbounds %struct.s2n_post_handshake, ptr %20482, i32 0, i32 0
  %20484 = getelementptr inbounds %struct.s2n_stuffer, ptr %20483, i32 0, i32 0
  %20485 = getelementptr inbounds %struct.s2n_blob, ptr %20484, i32 0, i32 1
  %20486 = load i32, ptr %20485, align 8, !tbaa !81
  %20487 = icmp eq i32 %20486, 0
  br i1 %20487, label %20541, label %20488

20488:                                            ; preds = %20478
  br label %20489

20489:                                            ; preds = %20488
  br label %20490

20490:                                            ; preds = %20489
  call void @llvm.lifetime.start.p0(i64 4, ptr %414) #11
  %20491 = call ptr @__errno_location() #12
  %20492 = load i32, ptr %20491, align 4, !tbaa !5
  store i32 %20492, ptr %414, align 4, !tbaa !5
  %20493 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20494 = call i32 @s2n_print_stacktrace(ptr noundef %20493)
  %20495 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %20496 = trunc i8 %20495 to i1
  br i1 %20496, label %20497, label %20519

20497:                                            ; preds = %20490
  %20498 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20499 = call i32 @fileno(ptr noundef %20498) #11
  %20500 = call i32 @isatty(i32 noundef %20499) #11
  %20501 = icmp ne i32 %20500, 0
  br i1 %20501, label %20502, label %20519

20502:                                            ; preds = %20497
  %20503 = load i32, ptr %414, align 4, !tbaa !5
  %20504 = call ptr @__errno_location() #12
  store i32 %20503, ptr %20504, align 4, !tbaa !5
  %20505 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20506 = load i32, ptr @test_count, align 4, !tbaa !5
  %20507 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20508 = load i32, ptr %20507, align 4, !tbaa !5
  %20509 = call ptr @s2n_strerror(i32 noundef %20508, ptr noundef @.str.11)
  %20510 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20511 = load i32, ptr %20510, align 4, !tbaa !5
  %20512 = call ptr @s2n_strerror_debug(i32 noundef %20511, ptr noundef @.str.11)
  %20513 = call ptr @__errno_location() #12
  %20514 = load i32, ptr %20513, align 4, !tbaa !5
  %20515 = call ptr @strerror(i32 noundef %20514) #11
  %20516 = call ptr @__errno_location() #12
  %20517 = load i32, ptr %20516, align 4, !tbaa !5
  %20518 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20505, ptr noundef @.str.9, i32 noundef %20506, ptr noundef @.str.189, ptr noundef @.str.8, i32 noundef 795, ptr noundef %20509, ptr noundef %20512, ptr noundef %20515, i32 noundef %20517) #11
  br label %20536

20519:                                            ; preds = %20497, %20490
  %20520 = load i32, ptr %414, align 4, !tbaa !5
  %20521 = call ptr @__errno_location() #12
  store i32 %20520, ptr %20521, align 4, !tbaa !5
  %20522 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20523 = load i32, ptr @test_count, align 4, !tbaa !5
  %20524 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20525 = load i32, ptr %20524, align 4, !tbaa !5
  %20526 = call ptr @s2n_strerror(i32 noundef %20525, ptr noundef @.str.11)
  %20527 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20528 = load i32, ptr %20527, align 4, !tbaa !5
  %20529 = call ptr @s2n_strerror_debug(i32 noundef %20528, ptr noundef @.str.11)
  %20530 = call ptr @__errno_location() #12
  %20531 = load i32, ptr %20530, align 4, !tbaa !5
  %20532 = call ptr @strerror(i32 noundef %20531) #11
  %20533 = call ptr @__errno_location() #12
  %20534 = load i32, ptr %20533, align 4, !tbaa !5
  %20535 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20522, ptr noundef @.str.12, i32 noundef %20523, ptr noundef @.str.189, ptr noundef @.str.8, i32 noundef 795, ptr noundef %20526, ptr noundef %20529, ptr noundef %20532, i32 noundef %20534) #11
  br label %20536

20536:                                            ; preds = %20519, %20502
  call void @llvm.lifetime.end.p0(i64 4, ptr %414) #11
  br label %20537

20537:                                            ; preds = %20536
  br label %20538

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

20539:                                            ; No predecessors!
  br label %20540

20540:                                            ; preds = %20539
  br label %20541

20541:                                            ; preds = %20540, %20478
  br label %20542

20542:                                            ; preds = %20541
  br label %20543

20543:                                            ; preds = %20542
  br label %20544

20544:                                            ; preds = %20543
  %20545 = load i32, ptr @test_count, align 4, !tbaa !5
  %20546 = add nsw i32 %20545, 1
  store i32 %20546, ptr @test_count, align 4, !tbaa !5
  %20547 = load ptr, ptr %409, align 8, !tbaa !9
  %20548 = call i32 @s2n_connection_release_buffers(ptr noundef %20547)
  %20549 = icmp eq i32 %20548, -1
  br i1 %20549, label %20550, label %20603

20550:                                            ; preds = %20544
  br label %20551

20551:                                            ; preds = %20550
  br label %20552

20552:                                            ; preds = %20551
  call void @llvm.lifetime.start.p0(i64 4, ptr %415) #11
  %20553 = call ptr @__errno_location() #12
  %20554 = load i32, ptr %20553, align 4, !tbaa !5
  store i32 %20554, ptr %415, align 4, !tbaa !5
  %20555 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20556 = call i32 @s2n_print_stacktrace(ptr noundef %20555)
  %20557 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %20558 = trunc i8 %20557 to i1
  br i1 %20558, label %20559, label %20581

20559:                                            ; preds = %20552
  %20560 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20561 = call i32 @fileno(ptr noundef %20560) #11
  %20562 = call i32 @isatty(i32 noundef %20561) #11
  %20563 = icmp ne i32 %20562, 0
  br i1 %20563, label %20564, label %20581

20564:                                            ; preds = %20559
  %20565 = load i32, ptr %415, align 4, !tbaa !5
  %20566 = call ptr @__errno_location() #12
  store i32 %20565, ptr %20566, align 4, !tbaa !5
  %20567 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20568 = load i32, ptr @test_count, align 4, !tbaa !5
  %20569 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20570 = load i32, ptr %20569, align 4, !tbaa !5
  %20571 = call ptr @s2n_strerror(i32 noundef %20570, ptr noundef @.str.11)
  %20572 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20573 = load i32, ptr %20572, align 4, !tbaa !5
  %20574 = call ptr @s2n_strerror_debug(i32 noundef %20573, ptr noundef @.str.11)
  %20575 = call ptr @__errno_location() #12
  %20576 = load i32, ptr %20575, align 4, !tbaa !5
  %20577 = call ptr @strerror(i32 noundef %20576) #11
  %20578 = call ptr @__errno_location() #12
  %20579 = load i32, ptr %20578, align 4, !tbaa !5
  %20580 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20567, ptr noundef @.str.9, i32 noundef %20568, ptr noundef @.str.197, ptr noundef @.str.8, i32 noundef 797, ptr noundef %20571, ptr noundef %20574, ptr noundef %20577, i32 noundef %20579) #11
  br label %20598

20581:                                            ; preds = %20559, %20552
  %20582 = load i32, ptr %415, align 4, !tbaa !5
  %20583 = call ptr @__errno_location() #12
  store i32 %20582, ptr %20583, align 4, !tbaa !5
  %20584 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20585 = load i32, ptr @test_count, align 4, !tbaa !5
  %20586 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20587 = load i32, ptr %20586, align 4, !tbaa !5
  %20588 = call ptr @s2n_strerror(i32 noundef %20587, ptr noundef @.str.11)
  %20589 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20590 = load i32, ptr %20589, align 4, !tbaa !5
  %20591 = call ptr @s2n_strerror_debug(i32 noundef %20590, ptr noundef @.str.11)
  %20592 = call ptr @__errno_location() #12
  %20593 = load i32, ptr %20592, align 4, !tbaa !5
  %20594 = call ptr @strerror(i32 noundef %20593) #11
  %20595 = call ptr @__errno_location() #12
  %20596 = load i32, ptr %20595, align 4, !tbaa !5
  %20597 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20584, ptr noundef @.str.12, i32 noundef %20585, ptr noundef @.str.197, ptr noundef @.str.8, i32 noundef 797, ptr noundef %20588, ptr noundef %20591, ptr noundef %20594, i32 noundef %20596) #11
  br label %20598

20598:                                            ; preds = %20581, %20564
  call void @llvm.lifetime.end.p0(i64 4, ptr %415) #11
  br label %20599

20599:                                            ; preds = %20598
  br label %20600

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

20601:                                            ; No predecessors!
  br label %20602

20602:                                            ; preds = %20601
  br label %20603

20603:                                            ; preds = %20602, %20544
  br label %20604

20604:                                            ; preds = %20603
  br label %20605

20605:                                            ; preds = %20604
  br label %20606

20606:                                            ; preds = %20605
  %20607 = load i32, ptr @test_count, align 4, !tbaa !5
  %20608 = add nsw i32 %20607, 1
  store i32 %20608, ptr @test_count, align 4, !tbaa !5
  %20609 = load ptr, ptr %409, align 8, !tbaa !9
  %20610 = getelementptr inbounds %struct.s2n_connection, ptr %20609, i32 0, i32 93
  %20611 = getelementptr inbounds %struct.s2n_post_handshake, ptr %20610, i32 0, i32 0
  %20612 = getelementptr inbounds %struct.s2n_stuffer, ptr %20611, i32 0, i32 0
  %20613 = getelementptr inbounds %struct.s2n_blob, ptr %20612, i32 0, i32 1
  %20614 = load i32, ptr %20613, align 8, !tbaa !81
  %20615 = icmp eq i32 %20614, 0
  br i1 %20615, label %20669, label %20616

20616:                                            ; preds = %20606
  br label %20617

20617:                                            ; preds = %20616
  br label %20618

20618:                                            ; preds = %20617
  call void @llvm.lifetime.start.p0(i64 4, ptr %416) #11
  %20619 = call ptr @__errno_location() #12
  %20620 = load i32, ptr %20619, align 4, !tbaa !5
  store i32 %20620, ptr %416, align 4, !tbaa !5
  %20621 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20622 = call i32 @s2n_print_stacktrace(ptr noundef %20621)
  %20623 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %20624 = trunc i8 %20623 to i1
  br i1 %20624, label %20625, label %20647

20625:                                            ; preds = %20618
  %20626 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20627 = call i32 @fileno(ptr noundef %20626) #11
  %20628 = call i32 @isatty(i32 noundef %20627) #11
  %20629 = icmp ne i32 %20628, 0
  br i1 %20629, label %20630, label %20647

20630:                                            ; preds = %20625
  %20631 = load i32, ptr %416, align 4, !tbaa !5
  %20632 = call ptr @__errno_location() #12
  store i32 %20631, ptr %20632, align 4, !tbaa !5
  %20633 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20634 = load i32, ptr @test_count, align 4, !tbaa !5
  %20635 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20636 = load i32, ptr %20635, align 4, !tbaa !5
  %20637 = call ptr @s2n_strerror(i32 noundef %20636, ptr noundef @.str.11)
  %20638 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20639 = load i32, ptr %20638, align 4, !tbaa !5
  %20640 = call ptr @s2n_strerror_debug(i32 noundef %20639, ptr noundef @.str.11)
  %20641 = call ptr @__errno_location() #12
  %20642 = load i32, ptr %20641, align 4, !tbaa !5
  %20643 = call ptr @strerror(i32 noundef %20642) #11
  %20644 = call ptr @__errno_location() #12
  %20645 = load i32, ptr %20644, align 4, !tbaa !5
  %20646 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20633, ptr noundef @.str.9, i32 noundef %20634, ptr noundef @.str.189, ptr noundef @.str.8, i32 noundef 798, ptr noundef %20637, ptr noundef %20640, ptr noundef %20643, i32 noundef %20645) #11
  br label %20664

20647:                                            ; preds = %20625, %20618
  %20648 = load i32, ptr %416, align 4, !tbaa !5
  %20649 = call ptr @__errno_location() #12
  store i32 %20648, ptr %20649, align 4, !tbaa !5
  %20650 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20651 = load i32, ptr @test_count, align 4, !tbaa !5
  %20652 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20653 = load i32, ptr %20652, align 4, !tbaa !5
  %20654 = call ptr @s2n_strerror(i32 noundef %20653, ptr noundef @.str.11)
  %20655 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20656 = load i32, ptr %20655, align 4, !tbaa !5
  %20657 = call ptr @s2n_strerror_debug(i32 noundef %20656, ptr noundef @.str.11)
  %20658 = call ptr @__errno_location() #12
  %20659 = load i32, ptr %20658, align 4, !tbaa !5
  %20660 = call ptr @strerror(i32 noundef %20659) #11
  %20661 = call ptr @__errno_location() #12
  %20662 = load i32, ptr %20661, align 4, !tbaa !5
  %20663 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20650, ptr noundef @.str.12, i32 noundef %20651, ptr noundef @.str.189, ptr noundef @.str.8, i32 noundef 798, ptr noundef %20654, ptr noundef %20657, ptr noundef %20660, i32 noundef %20662) #11
  br label %20664

20664:                                            ; preds = %20647, %20630
  call void @llvm.lifetime.end.p0(i64 4, ptr %416) #11
  br label %20665

20665:                                            ; preds = %20664
  br label %20666

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

20667:                                            ; No predecessors!
  br label %20668

20668:                                            ; preds = %20667
  br label %20669

20669:                                            ; preds = %20668, %20606
  br label %20670

20670:                                            ; preds = %20669
  br label %20671

20671:                                            ; preds = %20670
  br label %20672

20672:                                            ; preds = %20671
  %20673 = load i64, ptr %411, align 8, !tbaa !50
  %20674 = add i64 %20673, 1
  store i64 %20674, ptr %411, align 8, !tbaa !50
  br label %20338, !llvm.loop !85

20675:                                            ; preds = %20341
  call void @llvm.lifetime.start.p0(i64 8, ptr %417) #11
  store i64 0, ptr %417, align 8, !tbaa !50
  br label %20676

20676:                                            ; preds = %21074, %20675
  %20677 = load i64, ptr %417, align 8, !tbaa !50
  %20678 = icmp ult i64 %20677, 3
  br i1 %20678, label %20680, label %20679

20679:                                            ; preds = %20676
  store i32 2023, ptr %340, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %417) #11
  br label %21077

20680:                                            ; preds = %20676
  br label %20681

20681:                                            ; preds = %20680
  %20682 = load i32, ptr @test_count, align 4, !tbaa !5
  %20683 = add nsw i32 %20682, 1
  store i32 %20683, ptr @test_count, align 4, !tbaa !5
  %20684 = load ptr, ptr %409, align 8, !tbaa !9
  %20685 = getelementptr inbounds %struct.s2n_connection, ptr %20684, i32 0, i32 93
  %20686 = getelementptr inbounds %struct.s2n_post_handshake, ptr %20685, i32 0, i32 0
  %20687 = call i32 @s2n_stuffer_growable_alloc(ptr noundef %20686, i32 noundef 10)
  %20688 = icmp eq i32 %20687, -1
  br i1 %20688, label %20689, label %20742

20689:                                            ; preds = %20681
  br label %20690

20690:                                            ; preds = %20689
  br label %20691

20691:                                            ; preds = %20690
  call void @llvm.lifetime.start.p0(i64 4, ptr %418) #11
  %20692 = call ptr @__errno_location() #12
  %20693 = load i32, ptr %20692, align 4, !tbaa !5
  store i32 %20693, ptr %418, align 4, !tbaa !5
  %20694 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20695 = call i32 @s2n_print_stacktrace(ptr noundef %20694)
  %20696 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %20697 = trunc i8 %20696 to i1
  br i1 %20697, label %20698, label %20720

20698:                                            ; preds = %20691
  %20699 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20700 = call i32 @fileno(ptr noundef %20699) #11
  %20701 = call i32 @isatty(i32 noundef %20700) #11
  %20702 = icmp ne i32 %20701, 0
  br i1 %20702, label %20703, label %20720

20703:                                            ; preds = %20698
  %20704 = load i32, ptr %418, align 4, !tbaa !5
  %20705 = call ptr @__errno_location() #12
  store i32 %20704, ptr %20705, align 4, !tbaa !5
  %20706 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20707 = load i32, ptr @test_count, align 4, !tbaa !5
  %20708 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20709 = load i32, ptr %20708, align 4, !tbaa !5
  %20710 = call ptr @s2n_strerror(i32 noundef %20709, ptr noundef @.str.11)
  %20711 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20712 = load i32, ptr %20711, align 4, !tbaa !5
  %20713 = call ptr @s2n_strerror_debug(i32 noundef %20712, ptr noundef @.str.11)
  %20714 = call ptr @__errno_location() #12
  %20715 = load i32, ptr %20714, align 4, !tbaa !5
  %20716 = call ptr @strerror(i32 noundef %20715) #11
  %20717 = call ptr @__errno_location() #12
  %20718 = load i32, ptr %20717, align 4, !tbaa !5
  %20719 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20706, ptr noundef @.str.9, i32 noundef %20707, ptr noundef @.str.190, ptr noundef @.str.8, i32 noundef 803, ptr noundef %20710, ptr noundef %20713, ptr noundef %20716, i32 noundef %20718) #11
  br label %20737

20720:                                            ; preds = %20698, %20691
  %20721 = load i32, ptr %418, align 4, !tbaa !5
  %20722 = call ptr @__errno_location() #12
  store i32 %20721, ptr %20722, align 4, !tbaa !5
  %20723 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20724 = load i32, ptr @test_count, align 4, !tbaa !5
  %20725 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20726 = load i32, ptr %20725, align 4, !tbaa !5
  %20727 = call ptr @s2n_strerror(i32 noundef %20726, ptr noundef @.str.11)
  %20728 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20729 = load i32, ptr %20728, align 4, !tbaa !5
  %20730 = call ptr @s2n_strerror_debug(i32 noundef %20729, ptr noundef @.str.11)
  %20731 = call ptr @__errno_location() #12
  %20732 = load i32, ptr %20731, align 4, !tbaa !5
  %20733 = call ptr @strerror(i32 noundef %20732) #11
  %20734 = call ptr @__errno_location() #12
  %20735 = load i32, ptr %20734, align 4, !tbaa !5
  %20736 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20723, ptr noundef @.str.12, i32 noundef %20724, ptr noundef @.str.190, ptr noundef @.str.8, i32 noundef 803, ptr noundef %20727, ptr noundef %20730, ptr noundef %20733, i32 noundef %20735) #11
  br label %20737

20737:                                            ; preds = %20720, %20703
  call void @llvm.lifetime.end.p0(i64 4, ptr %418) #11
  br label %20738

20738:                                            ; preds = %20737
  br label %20739

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

20740:                                            ; No predecessors!
  br label %20741

20741:                                            ; preds = %20740
  br label %20742

20742:                                            ; preds = %20741, %20681
  br label %20743

20743:                                            ; preds = %20742
  br label %20744

20744:                                            ; preds = %20743
  br label %20745

20745:                                            ; preds = %20744
  %20746 = load i32, ptr @test_count, align 4, !tbaa !5
  %20747 = add nsw i32 %20746, 1
  store i32 %20747, ptr @test_count, align 4, !tbaa !5
  %20748 = load ptr, ptr %409, align 8, !tbaa !9
  %20749 = getelementptr inbounds %struct.s2n_connection, ptr %20748, i32 0, i32 93
  %20750 = getelementptr inbounds %struct.s2n_post_handshake, ptr %20749, i32 0, i32 0
  %20751 = getelementptr inbounds %struct.s2n_stuffer, ptr %20750, i32 0, i32 4
  %20752 = load i8, ptr %20751, align 4
  %20753 = lshr i8 %20752, 1
  %20754 = and i8 %20753, 1
  %20755 = zext i8 %20754 to i32
  %20756 = icmp ne i32 %20755, 0
  br i1 %20756, label %20810, label %20757

20757:                                            ; preds = %20745
  br label %20758

20758:                                            ; preds = %20757
  br label %20759

20759:                                            ; preds = %20758
  call void @llvm.lifetime.start.p0(i64 4, ptr %419) #11
  %20760 = call ptr @__errno_location() #12
  %20761 = load i32, ptr %20760, align 4, !tbaa !5
  store i32 %20761, ptr %419, align 4, !tbaa !5
  %20762 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20763 = call i32 @s2n_print_stacktrace(ptr noundef %20762)
  %20764 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %20765 = trunc i8 %20764 to i1
  br i1 %20765, label %20766, label %20788

20766:                                            ; preds = %20759
  %20767 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20768 = call i32 @fileno(ptr noundef %20767) #11
  %20769 = call i32 @isatty(i32 noundef %20768) #11
  %20770 = icmp ne i32 %20769, 0
  br i1 %20770, label %20771, label %20788

20771:                                            ; preds = %20766
  %20772 = load i32, ptr %419, align 4, !tbaa !5
  %20773 = call ptr @__errno_location() #12
  store i32 %20772, ptr %20773, align 4, !tbaa !5
  %20774 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20775 = load i32, ptr @test_count, align 4, !tbaa !5
  %20776 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20777 = load i32, ptr %20776, align 4, !tbaa !5
  %20778 = call ptr @s2n_strerror(i32 noundef %20777, ptr noundef @.str.11)
  %20779 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20780 = load i32, ptr %20779, align 4, !tbaa !5
  %20781 = call ptr @s2n_strerror_debug(i32 noundef %20780, ptr noundef @.str.11)
  %20782 = call ptr @__errno_location() #12
  %20783 = load i32, ptr %20782, align 4, !tbaa !5
  %20784 = call ptr @strerror(i32 noundef %20783) #11
  %20785 = call ptr @__errno_location() #12
  %20786 = load i32, ptr %20785, align 4, !tbaa !5
  %20787 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20774, ptr noundef @.str.9, i32 noundef %20775, ptr noundef @.str.191, ptr noundef @.str.8, i32 noundef 804, ptr noundef %20778, ptr noundef %20781, ptr noundef %20784, i32 noundef %20786) #11
  br label %20805

20788:                                            ; preds = %20766, %20759
  %20789 = load i32, ptr %419, align 4, !tbaa !5
  %20790 = call ptr @__errno_location() #12
  store i32 %20789, ptr %20790, align 4, !tbaa !5
  %20791 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20792 = load i32, ptr @test_count, align 4, !tbaa !5
  %20793 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20794 = load i32, ptr %20793, align 4, !tbaa !5
  %20795 = call ptr @s2n_strerror(i32 noundef %20794, ptr noundef @.str.11)
  %20796 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20797 = load i32, ptr %20796, align 4, !tbaa !5
  %20798 = call ptr @s2n_strerror_debug(i32 noundef %20797, ptr noundef @.str.11)
  %20799 = call ptr @__errno_location() #12
  %20800 = load i32, ptr %20799, align 4, !tbaa !5
  %20801 = call ptr @strerror(i32 noundef %20800) #11
  %20802 = call ptr @__errno_location() #12
  %20803 = load i32, ptr %20802, align 4, !tbaa !5
  %20804 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20791, ptr noundef @.str.12, i32 noundef %20792, ptr noundef @.str.191, ptr noundef @.str.8, i32 noundef 804, ptr noundef %20795, ptr noundef %20798, ptr noundef %20801, i32 noundef %20803) #11
  br label %20805

20805:                                            ; preds = %20788, %20771
  call void @llvm.lifetime.end.p0(i64 4, ptr %419) #11
  br label %20806

20806:                                            ; preds = %20805
  br label %20807

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

20808:                                            ; No predecessors!
  br label %20809

20809:                                            ; preds = %20808
  br label %20810

20810:                                            ; preds = %20809, %20745
  br label %20811

20811:                                            ; preds = %20810
  br label %20812

20812:                                            ; preds = %20811
  br label %20813

20813:                                            ; preds = %20812
  %20814 = load i32, ptr @test_count, align 4, !tbaa !5
  %20815 = add nsw i32 %20814, 1
  store i32 %20815, ptr @test_count, align 4, !tbaa !5
  %20816 = load ptr, ptr %409, align 8, !tbaa !9
  %20817 = getelementptr inbounds %struct.s2n_connection, ptr %20816, i32 0, i32 93
  %20818 = getelementptr inbounds %struct.s2n_post_handshake, ptr %20817, i32 0, i32 0
  %20819 = getelementptr inbounds %struct.s2n_stuffer, ptr %20818, i32 0, i32 4
  %20820 = load i8, ptr %20819, align 4
  %20821 = and i8 %20820, 1
  %20822 = zext i8 %20821 to i32
  %20823 = icmp ne i32 %20822, 0
  br i1 %20823, label %20877, label %20824

20824:                                            ; preds = %20813
  br label %20825

20825:                                            ; preds = %20824
  br label %20826

20826:                                            ; preds = %20825
  call void @llvm.lifetime.start.p0(i64 4, ptr %420) #11
  %20827 = call ptr @__errno_location() #12
  %20828 = load i32, ptr %20827, align 4, !tbaa !5
  store i32 %20828, ptr %420, align 4, !tbaa !5
  %20829 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20830 = call i32 @s2n_print_stacktrace(ptr noundef %20829)
  %20831 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %20832 = trunc i8 %20831 to i1
  br i1 %20832, label %20833, label %20855

20833:                                            ; preds = %20826
  %20834 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20835 = call i32 @fileno(ptr noundef %20834) #11
  %20836 = call i32 @isatty(i32 noundef %20835) #11
  %20837 = icmp ne i32 %20836, 0
  br i1 %20837, label %20838, label %20855

20838:                                            ; preds = %20833
  %20839 = load i32, ptr %420, align 4, !tbaa !5
  %20840 = call ptr @__errno_location() #12
  store i32 %20839, ptr %20840, align 4, !tbaa !5
  %20841 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20842 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %20844, ptr noundef @.str.11)
  %20846 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20847 = load i32, ptr %20846, align 4, !tbaa !5
  %20848 = call ptr @s2n_strerror_debug(i32 noundef %20847, ptr noundef @.str.11)
  %20849 = call ptr @__errno_location() #12
  %20850 = load i32, ptr %20849, align 4, !tbaa !5
  %20851 = call ptr @strerror(i32 noundef %20850) #11
  %20852 = call ptr @__errno_location() #12
  %20853 = load i32, ptr %20852, align 4, !tbaa !5
  %20854 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20841, ptr noundef @.str.9, i32 noundef %20842, ptr noundef @.str.192, ptr noundef @.str.8, i32 noundef 805, ptr noundef %20845, ptr noundef %20848, ptr noundef %20851, i32 noundef %20853) #11
  br label %20872

20855:                                            ; preds = %20833, %20826
  %20856 = load i32, ptr %420, align 4, !tbaa !5
  %20857 = call ptr @__errno_location() #12
  store i32 %20856, ptr %20857, align 4, !tbaa !5
  %20858 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20859 = load i32, ptr @test_count, align 4, !tbaa !5
  %20860 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20861 = load i32, ptr %20860, align 4, !tbaa !5
  %20862 = call ptr @s2n_strerror(i32 noundef %20861, ptr noundef @.str.11)
  %20863 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20864 = load i32, ptr %20863, align 4, !tbaa !5
  %20865 = call ptr @s2n_strerror_debug(i32 noundef %20864, ptr noundef @.str.11)
  %20866 = call ptr @__errno_location() #12
  %20867 = load i32, ptr %20866, align 4, !tbaa !5
  %20868 = call ptr @strerror(i32 noundef %20867) #11
  %20869 = call ptr @__errno_location() #12
  %20870 = load i32, ptr %20869, align 4, !tbaa !5
  %20871 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20858, ptr noundef @.str.12, i32 noundef %20859, ptr noundef @.str.192, ptr noundef @.str.8, i32 noundef 805, ptr noundef %20862, ptr noundef %20865, ptr noundef %20868, i32 noundef %20870) #11
  br label %20872

20872:                                            ; preds = %20855, %20838
  call void @llvm.lifetime.end.p0(i64 4, ptr %420) #11
  br label %20873

20873:                                            ; preds = %20872
  br label %20874

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

20875:                                            ; No predecessors!
  br label %20876

20876:                                            ; preds = %20875
  br label %20877

20877:                                            ; preds = %20876, %20813
  br label %20878

20878:                                            ; preds = %20877
  br label %20879

20879:                                            ; preds = %20878
  br label %20880

20880:                                            ; preds = %20879
  %20881 = load i32, ptr @test_count, align 4, !tbaa !5
  %20882 = add nsw i32 %20881, 1
  store i32 %20882, ptr @test_count, align 4, !tbaa !5
  %20883 = load ptr, ptr %409, align 8, !tbaa !9
  %20884 = getelementptr inbounds %struct.s2n_connection, ptr %20883, i32 0, i32 93
  %20885 = getelementptr inbounds %struct.s2n_post_handshake, ptr %20884, i32 0, i32 0
  %20886 = getelementptr inbounds %struct.s2n_stuffer, ptr %20885, i32 0, i32 0
  %20887 = getelementptr inbounds %struct.s2n_blob, ptr %20886, i32 0, i32 1
  %20888 = load i32, ptr %20887, align 8, !tbaa !81
  %20889 = icmp eq i32 %20888, 10
  br i1 %20889, label %20943, label %20890

20890:                                            ; preds = %20880
  br label %20891

20891:                                            ; preds = %20890
  br label %20892

20892:                                            ; preds = %20891
  call void @llvm.lifetime.start.p0(i64 4, ptr %421) #11
  %20893 = call ptr @__errno_location() #12
  %20894 = load i32, ptr %20893, align 4, !tbaa !5
  store i32 %20894, ptr %421, align 4, !tbaa !5
  %20895 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20896 = call i32 @s2n_print_stacktrace(ptr noundef %20895)
  %20897 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %20898 = trunc i8 %20897 to i1
  br i1 %20898, label %20899, label %20921

20899:                                            ; preds = %20892
  %20900 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20901 = call i32 @fileno(ptr noundef %20900) #11
  %20902 = call i32 @isatty(i32 noundef %20901) #11
  %20903 = icmp ne i32 %20902, 0
  br i1 %20903, label %20904, label %20921

20904:                                            ; preds = %20899
  %20905 = load i32, ptr %421, align 4, !tbaa !5
  %20906 = call ptr @__errno_location() #12
  store i32 %20905, ptr %20906, align 4, !tbaa !5
  %20907 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20908 = load i32, ptr @test_count, align 4, !tbaa !5
  %20909 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20910 = load i32, ptr %20909, align 4, !tbaa !5
  %20911 = call ptr @s2n_strerror(i32 noundef %20910, ptr noundef @.str.11)
  %20912 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20913 = load i32, ptr %20912, align 4, !tbaa !5
  %20914 = call ptr @s2n_strerror_debug(i32 noundef %20913, ptr noundef @.str.11)
  %20915 = call ptr @__errno_location() #12
  %20916 = load i32, ptr %20915, align 4, !tbaa !5
  %20917 = call ptr @strerror(i32 noundef %20916) #11
  %20918 = call ptr @__errno_location() #12
  %20919 = load i32, ptr %20918, align 4, !tbaa !5
  %20920 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20907, ptr noundef @.str.9, i32 noundef %20908, ptr noundef @.str.193, ptr noundef @.str.8, i32 noundef 806, ptr noundef %20911, ptr noundef %20914, ptr noundef %20917, i32 noundef %20919) #11
  br label %20938

20921:                                            ; preds = %20899, %20892
  %20922 = load i32, ptr %421, align 4, !tbaa !5
  %20923 = call ptr @__errno_location() #12
  store i32 %20922, ptr %20923, align 4, !tbaa !5
  %20924 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20925 = load i32, ptr @test_count, align 4, !tbaa !5
  %20926 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20927 = load i32, ptr %20926, align 4, !tbaa !5
  %20928 = call ptr @s2n_strerror(i32 noundef %20927, ptr noundef @.str.11)
  %20929 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20930 = load i32, ptr %20929, align 4, !tbaa !5
  %20931 = call ptr @s2n_strerror_debug(i32 noundef %20930, ptr noundef @.str.11)
  %20932 = call ptr @__errno_location() #12
  %20933 = load i32, ptr %20932, align 4, !tbaa !5
  %20934 = call ptr @strerror(i32 noundef %20933) #11
  %20935 = call ptr @__errno_location() #12
  %20936 = load i32, ptr %20935, align 4, !tbaa !5
  %20937 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20924, ptr noundef @.str.12, i32 noundef %20925, ptr noundef @.str.193, ptr noundef @.str.8, i32 noundef 806, ptr noundef %20928, ptr noundef %20931, ptr noundef %20934, i32 noundef %20936) #11
  br label %20938

20938:                                            ; preds = %20921, %20904
  call void @llvm.lifetime.end.p0(i64 4, ptr %421) #11
  br label %20939

20939:                                            ; preds = %20938
  br label %20940

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

20941:                                            ; No predecessors!
  br label %20942

20942:                                            ; preds = %20941
  br label %20943

20943:                                            ; preds = %20942, %20880
  br label %20944

20944:                                            ; preds = %20943
  br label %20945

20945:                                            ; preds = %20944
  br label %20946

20946:                                            ; preds = %20945
  %20947 = load i32, ptr @test_count, align 4, !tbaa !5
  %20948 = add nsw i32 %20947, 1
  store i32 %20948, ptr @test_count, align 4, !tbaa !5
  %20949 = load ptr, ptr %409, align 8, !tbaa !9
  %20950 = call i32 @s2n_connection_release_buffers(ptr noundef %20949)
  %20951 = icmp eq i32 %20950, -1
  br i1 %20951, label %20952, label %21005

20952:                                            ; preds = %20946
  br label %20953

20953:                                            ; preds = %20952
  br label %20954

20954:                                            ; preds = %20953
  call void @llvm.lifetime.start.p0(i64 4, ptr %422) #11
  %20955 = call ptr @__errno_location() #12
  %20956 = load i32, ptr %20955, align 4, !tbaa !5
  store i32 %20956, ptr %422, align 4, !tbaa !5
  %20957 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20958 = call i32 @s2n_print_stacktrace(ptr noundef %20957)
  %20959 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %20960 = trunc i8 %20959 to i1
  br i1 %20960, label %20961, label %20983

20961:                                            ; preds = %20954
  %20962 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20963 = call i32 @fileno(ptr noundef %20962) #11
  %20964 = call i32 @isatty(i32 noundef %20963) #11
  %20965 = icmp ne i32 %20964, 0
  br i1 %20965, label %20966, label %20983

20966:                                            ; preds = %20961
  %20967 = load i32, ptr %422, align 4, !tbaa !5
  %20968 = call ptr @__errno_location() #12
  store i32 %20967, ptr %20968, align 4, !tbaa !5
  %20969 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20970 = load i32, ptr @test_count, align 4, !tbaa !5
  %20971 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20972 = load i32, ptr %20971, align 4, !tbaa !5
  %20973 = call ptr @s2n_strerror(i32 noundef %20972, ptr noundef @.str.11)
  %20974 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20975 = load i32, ptr %20974, align 4, !tbaa !5
  %20976 = call ptr @s2n_strerror_debug(i32 noundef %20975, ptr noundef @.str.11)
  %20977 = call ptr @__errno_location() #12
  %20978 = load i32, ptr %20977, align 4, !tbaa !5
  %20979 = call ptr @strerror(i32 noundef %20978) #11
  %20980 = call ptr @__errno_location() #12
  %20981 = load i32, ptr %20980, align 4, !tbaa !5
  %20982 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20969, ptr noundef @.str.9, i32 noundef %20970, ptr noundef @.str.197, ptr noundef @.str.8, i32 noundef 808, ptr noundef %20973, ptr noundef %20976, ptr noundef %20979, i32 noundef %20981) #11
  br label %21000

20983:                                            ; preds = %20961, %20954
  %20984 = load i32, ptr %422, align 4, !tbaa !5
  %20985 = call ptr @__errno_location() #12
  store i32 %20984, ptr %20985, align 4, !tbaa !5
  %20986 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20987 = load i32, ptr @test_count, align 4, !tbaa !5
  %20988 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20989 = load i32, ptr %20988, align 4, !tbaa !5
  %20990 = call ptr @s2n_strerror(i32 noundef %20989, ptr noundef @.str.11)
  %20991 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20992 = load i32, ptr %20991, align 4, !tbaa !5
  %20993 = call ptr @s2n_strerror_debug(i32 noundef %20992, ptr noundef @.str.11)
  %20994 = call ptr @__errno_location() #12
  %20995 = load i32, ptr %20994, align 4, !tbaa !5
  %20996 = call ptr @strerror(i32 noundef %20995) #11
  %20997 = call ptr @__errno_location() #12
  %20998 = load i32, ptr %20997, align 4, !tbaa !5
  %20999 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20986, ptr noundef @.str.12, i32 noundef %20987, ptr noundef @.str.197, ptr noundef @.str.8, i32 noundef 808, ptr noundef %20990, ptr noundef %20993, ptr noundef %20996, i32 noundef %20998) #11
  br label %21000

21000:                                            ; preds = %20983, %20966
  call void @llvm.lifetime.end.p0(i64 4, ptr %422) #11
  br label %21001

21001:                                            ; preds = %21000
  br label %21002

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

21003:                                            ; No predecessors!
  br label %21004

21004:                                            ; preds = %21003
  br label %21005

21005:                                            ; preds = %21004, %20946
  br label %21006

21006:                                            ; preds = %21005
  br label %21007

21007:                                            ; preds = %21006
  br label %21008

21008:                                            ; preds = %21007
  %21009 = load i32, ptr @test_count, align 4, !tbaa !5
  %21010 = add nsw i32 %21009, 1
  store i32 %21010, ptr @test_count, align 4, !tbaa !5
  %21011 = load ptr, ptr %409, align 8, !tbaa !9
  %21012 = getelementptr inbounds %struct.s2n_connection, ptr %21011, i32 0, i32 93
  %21013 = getelementptr inbounds %struct.s2n_post_handshake, ptr %21012, i32 0, i32 0
  %21014 = getelementptr inbounds %struct.s2n_stuffer, ptr %21013, i32 0, i32 0
  %21015 = getelementptr inbounds %struct.s2n_blob, ptr %21014, i32 0, i32 1
  %21016 = load i32, ptr %21015, align 8, !tbaa !81
  %21017 = icmp eq i32 %21016, 0
  br i1 %21017, label %21071, label %21018

21018:                                            ; preds = %21008
  br label %21019

21019:                                            ; preds = %21018
  br label %21020

21020:                                            ; preds = %21019
  call void @llvm.lifetime.start.p0(i64 4, ptr %423) #11
  %21021 = call ptr @__errno_location() #12
  %21022 = load i32, ptr %21021, align 4, !tbaa !5
  store i32 %21022, ptr %423, align 4, !tbaa !5
  %21023 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21024 = call i32 @s2n_print_stacktrace(ptr noundef %21023)
  %21025 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %21026 = trunc i8 %21025 to i1
  br i1 %21026, label %21027, label %21049

21027:                                            ; preds = %21020
  %21028 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21029 = call i32 @fileno(ptr noundef %21028) #11
  %21030 = call i32 @isatty(i32 noundef %21029) #11
  %21031 = icmp ne i32 %21030, 0
  br i1 %21031, label %21032, label %21049

21032:                                            ; preds = %21027
  %21033 = load i32, ptr %423, align 4, !tbaa !5
  %21034 = call ptr @__errno_location() #12
  store i32 %21033, ptr %21034, align 4, !tbaa !5
  %21035 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21036 = load i32, ptr @test_count, align 4, !tbaa !5
  %21037 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21038 = load i32, ptr %21037, align 4, !tbaa !5
  %21039 = call ptr @s2n_strerror(i32 noundef %21038, ptr noundef @.str.11)
  %21040 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21041 = load i32, ptr %21040, align 4, !tbaa !5
  %21042 = call ptr @s2n_strerror_debug(i32 noundef %21041, ptr noundef @.str.11)
  %21043 = call ptr @__errno_location() #12
  %21044 = load i32, ptr %21043, align 4, !tbaa !5
  %21045 = call ptr @strerror(i32 noundef %21044) #11
  %21046 = call ptr @__errno_location() #12
  %21047 = load i32, ptr %21046, align 4, !tbaa !5
  %21048 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21035, ptr noundef @.str.9, i32 noundef %21036, ptr noundef @.str.189, ptr noundef @.str.8, i32 noundef 809, ptr noundef %21039, ptr noundef %21042, ptr noundef %21045, i32 noundef %21047) #11
  br label %21066

21049:                                            ; preds = %21027, %21020
  %21050 = load i32, ptr %423, align 4, !tbaa !5
  %21051 = call ptr @__errno_location() #12
  store i32 %21050, ptr %21051, align 4, !tbaa !5
  %21052 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21053 = load i32, ptr @test_count, align 4, !tbaa !5
  %21054 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21055 = load i32, ptr %21054, align 4, !tbaa !5
  %21056 = call ptr @s2n_strerror(i32 noundef %21055, ptr noundef @.str.11)
  %21057 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21058 = load i32, ptr %21057, align 4, !tbaa !5
  %21059 = call ptr @s2n_strerror_debug(i32 noundef %21058, ptr noundef @.str.11)
  %21060 = call ptr @__errno_location() #12
  %21061 = load i32, ptr %21060, align 4, !tbaa !5
  %21062 = call ptr @strerror(i32 noundef %21061) #11
  %21063 = call ptr @__errno_location() #12
  %21064 = load i32, ptr %21063, align 4, !tbaa !5
  %21065 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21052, ptr noundef @.str.12, i32 noundef %21053, ptr noundef @.str.189, ptr noundef @.str.8, i32 noundef 809, ptr noundef %21056, ptr noundef %21059, ptr noundef %21062, i32 noundef %21064) #11
  br label %21066

21066:                                            ; preds = %21049, %21032
  call void @llvm.lifetime.end.p0(i64 4, ptr %423) #11
  br label %21067

21067:                                            ; preds = %21066
  br label %21068

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

21069:                                            ; No predecessors!
  br label %21070

21070:                                            ; preds = %21069
  br label %21071

21071:                                            ; preds = %21070, %21008
  br label %21072

21072:                                            ; preds = %21071
  br label %21073

21073:                                            ; preds = %21072
  br label %21074

21074:                                            ; preds = %21073
  %21075 = load i64, ptr %417, align 8, !tbaa !50
  %21076 = add i64 %21075, 1
  store i64 %21076, ptr %417, align 8, !tbaa !50
  br label %20676, !llvm.loop !86

21077:                                            ; preds = %20679
  call void @llvm.lifetime.start.p0(i64 8, ptr %424) #11
  store i64 0, ptr %424, align 8, !tbaa !50
  br label %21078

21078:                                            ; preds = %21541, %21077
  %21079 = load i64, ptr %424, align 8, !tbaa !50
  %21080 = icmp ult i64 %21079, 3
  br i1 %21080, label %21082, label %21081

21081:                                            ; preds = %21078
  store i32 2062, ptr %340, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %424) #11
  br label %21544

21082:                                            ; preds = %21078
  call void @llvm.lifetime.start.p0(i64 24, ptr %425) #11
  call void @llvm.memset.p0.i64(ptr align 8 %425, i8 0, i64 24, i1 false)
  br label %21083

21083:                                            ; preds = %21082
  %21084 = load i32, ptr @test_count, align 4, !tbaa !5
  %21085 = add nsw i32 %21084, 1
  store i32 %21085, ptr @test_count, align 4, !tbaa !5
  %21086 = load ptr, ptr %409, align 8, !tbaa !9
  %21087 = getelementptr inbounds %struct.s2n_connection, ptr %21086, i32 0, i32 93
  %21088 = getelementptr inbounds %struct.s2n_post_handshake, ptr %21087, i32 0, i32 1
  %21089 = getelementptr inbounds [4 x i8], ptr %21088, i64 0, i64 0
  %21090 = call i32 @s2n_blob_init(ptr noundef %425, ptr noundef %21089, i32 noundef 4)
  %21091 = icmp eq i32 %21090, -1
  br i1 %21091, label %21092, label %21145

21092:                                            ; preds = %21083
  br label %21093

21093:                                            ; preds = %21092
  br label %21094

21094:                                            ; preds = %21093
  call void @llvm.lifetime.start.p0(i64 4, ptr %426) #11
  %21095 = call ptr @__errno_location() #12
  %21096 = load i32, ptr %21095, align 4, !tbaa !5
  store i32 %21096, ptr %426, align 4, !tbaa !5
  %21097 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21098 = call i32 @s2n_print_stacktrace(ptr noundef %21097)
  %21099 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %21100 = trunc i8 %21099 to i1
  br i1 %21100, label %21101, label %21123

21101:                                            ; preds = %21094
  %21102 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21103 = call i32 @fileno(ptr noundef %21102) #11
  %21104 = call i32 @isatty(i32 noundef %21103) #11
  %21105 = icmp ne i32 %21104, 0
  br i1 %21105, label %21106, label %21123

21106:                                            ; preds = %21101
  %21107 = load i32, ptr %426, align 4, !tbaa !5
  %21108 = call ptr @__errno_location() #12
  store i32 %21107, ptr %21108, align 4, !tbaa !5
  %21109 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21110 = load i32, ptr @test_count, align 4, !tbaa !5
  %21111 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21112 = load i32, ptr %21111, align 4, !tbaa !5
  %21113 = call ptr @s2n_strerror(i32 noundef %21112, ptr noundef @.str.11)
  %21114 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21115 = load i32, ptr %21114, align 4, !tbaa !5
  %21116 = call ptr @s2n_strerror_debug(i32 noundef %21115, ptr noundef @.str.11)
  %21117 = call ptr @__errno_location() #12
  %21118 = load i32, ptr %21117, align 4, !tbaa !5
  %21119 = call ptr @strerror(i32 noundef %21118) #11
  %21120 = call ptr @__errno_location() #12
  %21121 = load i32, ptr %21120, align 4, !tbaa !5
  %21122 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21109, ptr noundef @.str.9, i32 noundef %21110, ptr noundef @.str.194, ptr noundef @.str.8, i32 noundef 816, ptr noundef %21113, ptr noundef %21116, ptr noundef %21119, i32 noundef %21121) #11
  br label %21140

21123:                                            ; preds = %21101, %21094
  %21124 = load i32, ptr %426, align 4, !tbaa !5
  %21125 = call ptr @__errno_location() #12
  store i32 %21124, ptr %21125, align 4, !tbaa !5
  %21126 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21127 = load i32, ptr @test_count, align 4, !tbaa !5
  %21128 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21129 = load i32, ptr %21128, align 4, !tbaa !5
  %21130 = call ptr @s2n_strerror(i32 noundef %21129, ptr noundef @.str.11)
  %21131 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21132 = load i32, ptr %21131, align 4, !tbaa !5
  %21133 = call ptr @s2n_strerror_debug(i32 noundef %21132, ptr noundef @.str.11)
  %21134 = call ptr @__errno_location() #12
  %21135 = load i32, ptr %21134, align 4, !tbaa !5
  %21136 = call ptr @strerror(i32 noundef %21135) #11
  %21137 = call ptr @__errno_location() #12
  %21138 = load i32, ptr %21137, align 4, !tbaa !5
  %21139 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21126, ptr noundef @.str.12, i32 noundef %21127, ptr noundef @.str.194, ptr noundef @.str.8, i32 noundef 816, ptr noundef %21130, ptr noundef %21133, ptr noundef %21136, i32 noundef %21138) #11
  br label %21140

21140:                                            ; preds = %21123, %21106
  call void @llvm.lifetime.end.p0(i64 4, ptr %426) #11
  br label %21141

21141:                                            ; preds = %21140
  br label %21142

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

21143:                                            ; No predecessors!
  br label %21144

21144:                                            ; preds = %21143
  br label %21145

21145:                                            ; preds = %21144, %21083
  br label %21146

21146:                                            ; preds = %21145
  br label %21147

21147:                                            ; preds = %21146
  br label %21148

21148:                                            ; preds = %21147
  %21149 = load i32, ptr @test_count, align 4, !tbaa !5
  %21150 = add nsw i32 %21149, 1
  store i32 %21150, ptr @test_count, align 4, !tbaa !5
  %21151 = load ptr, ptr %409, align 8, !tbaa !9
  %21152 = getelementptr inbounds %struct.s2n_connection, ptr %21151, i32 0, i32 93
  %21153 = getelementptr inbounds %struct.s2n_post_handshake, ptr %21152, i32 0, i32 0
  %21154 = call i32 @s2n_stuffer_init(ptr noundef %21153, ptr noundef %425)
  %21155 = icmp eq i32 %21154, -1
  br i1 %21155, label %21156, label %21209

21156:                                            ; preds = %21148
  br label %21157

21157:                                            ; preds = %21156
  br label %21158

21158:                                            ; preds = %21157
  call void @llvm.lifetime.start.p0(i64 4, ptr %427) #11
  %21159 = call ptr @__errno_location() #12
  %21160 = load i32, ptr %21159, align 4, !tbaa !5
  store i32 %21160, ptr %427, align 4, !tbaa !5
  %21161 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21162 = call i32 @s2n_print_stacktrace(ptr noundef %21161)
  %21163 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %21164 = trunc i8 %21163 to i1
  br i1 %21164, label %21165, label %21187

21165:                                            ; preds = %21158
  %21166 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21167 = call i32 @fileno(ptr noundef %21166) #11
  %21168 = call i32 @isatty(i32 noundef %21167) #11
  %21169 = icmp ne i32 %21168, 0
  br i1 %21169, label %21170, label %21187

21170:                                            ; preds = %21165
  %21171 = load i32, ptr %427, align 4, !tbaa !5
  %21172 = call ptr @__errno_location() #12
  store i32 %21171, ptr %21172, align 4, !tbaa !5
  %21173 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21174 = load i32, ptr @test_count, align 4, !tbaa !5
  %21175 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21176 = load i32, ptr %21175, align 4, !tbaa !5
  %21177 = call ptr @s2n_strerror(i32 noundef %21176, ptr noundef @.str.11)
  %21178 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21179 = load i32, ptr %21178, align 4, !tbaa !5
  %21180 = call ptr @s2n_strerror_debug(i32 noundef %21179, ptr noundef @.str.11)
  %21181 = call ptr @__errno_location() #12
  %21182 = load i32, ptr %21181, align 4, !tbaa !5
  %21183 = call ptr @strerror(i32 noundef %21182) #11
  %21184 = call ptr @__errno_location() #12
  %21185 = load i32, ptr %21184, align 4, !tbaa !5
  %21186 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21173, ptr noundef @.str.9, i32 noundef %21174, ptr noundef @.str.195, ptr noundef @.str.8, i32 noundef 817, ptr noundef %21177, ptr noundef %21180, ptr noundef %21183, i32 noundef %21185) #11
  br label %21204

21187:                                            ; preds = %21165, %21158
  %21188 = load i32, ptr %427, align 4, !tbaa !5
  %21189 = call ptr @__errno_location() #12
  store i32 %21188, ptr %21189, align 4, !tbaa !5
  %21190 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21191 = load i32, ptr @test_count, align 4, !tbaa !5
  %21192 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21193 = load i32, ptr %21192, align 4, !tbaa !5
  %21194 = call ptr @s2n_strerror(i32 noundef %21193, ptr noundef @.str.11)
  %21195 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21196 = load i32, ptr %21195, align 4, !tbaa !5
  %21197 = call ptr @s2n_strerror_debug(i32 noundef %21196, ptr noundef @.str.11)
  %21198 = call ptr @__errno_location() #12
  %21199 = load i32, ptr %21198, align 4, !tbaa !5
  %21200 = call ptr @strerror(i32 noundef %21199) #11
  %21201 = call ptr @__errno_location() #12
  %21202 = load i32, ptr %21201, align 4, !tbaa !5
  %21203 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21190, ptr noundef @.str.12, i32 noundef %21191, ptr noundef @.str.195, ptr noundef @.str.8, i32 noundef 817, ptr noundef %21194, ptr noundef %21197, ptr noundef %21200, i32 noundef %21202) #11
  br label %21204

21204:                                            ; preds = %21187, %21170
  call void @llvm.lifetime.end.p0(i64 4, ptr %427) #11
  br label %21205

21205:                                            ; preds = %21204
  br label %21206

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

21207:                                            ; No predecessors!
  br label %21208

21208:                                            ; preds = %21207
  br label %21209

21209:                                            ; preds = %21208, %21148
  br label %21210

21210:                                            ; preds = %21209
  br label %21211

21211:                                            ; preds = %21210
  br label %21212

21212:                                            ; preds = %21211
  %21213 = load i32, ptr @test_count, align 4, !tbaa !5
  %21214 = add nsw i32 %21213, 1
  store i32 %21214, ptr @test_count, align 4, !tbaa !5
  %21215 = load ptr, ptr %409, align 8, !tbaa !9
  %21216 = getelementptr inbounds %struct.s2n_connection, ptr %21215, i32 0, i32 93
  %21217 = getelementptr inbounds %struct.s2n_post_handshake, ptr %21216, i32 0, i32 0
  %21218 = getelementptr inbounds %struct.s2n_stuffer, ptr %21217, i32 0, i32 4
  %21219 = load i8, ptr %21218, align 4
  %21220 = lshr i8 %21219, 1
  %21221 = and i8 %21220, 1
  %21222 = zext i8 %21221 to i32
  %21223 = icmp ne i32 %21222, 0
  br i1 %21223, label %21224, label %21277

21224:                                            ; preds = %21212
  br label %21225

21225:                                            ; preds = %21224
  br label %21226

21226:                                            ; preds = %21225
  call void @llvm.lifetime.start.p0(i64 4, ptr %428) #11
  %21227 = call ptr @__errno_location() #12
  %21228 = load i32, ptr %21227, align 4, !tbaa !5
  store i32 %21228, ptr %428, align 4, !tbaa !5
  %21229 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21230 = call i32 @s2n_print_stacktrace(ptr noundef %21229)
  %21231 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %21232 = trunc i8 %21231 to i1
  br i1 %21232, label %21233, label %21255

21233:                                            ; preds = %21226
  %21234 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21235 = call i32 @fileno(ptr noundef %21234) #11
  %21236 = call i32 @isatty(i32 noundef %21235) #11
  %21237 = icmp ne i32 %21236, 0
  br i1 %21237, label %21238, label %21255

21238:                                            ; preds = %21233
  %21239 = load i32, ptr %428, align 4, !tbaa !5
  %21240 = call ptr @__errno_location() #12
  store i32 %21239, ptr %21240, align 4, !tbaa !5
  %21241 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21242 = load i32, ptr @test_count, align 4, !tbaa !5
  %21243 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21244 = load i32, ptr %21243, align 4, !tbaa !5
  %21245 = call ptr @s2n_strerror(i32 noundef %21244, ptr noundef @.str.11)
  %21246 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21247 = load i32, ptr %21246, align 4, !tbaa !5
  %21248 = call ptr @s2n_strerror_debug(i32 noundef %21247, ptr noundef @.str.11)
  %21249 = call ptr @__errno_location() #12
  %21250 = load i32, ptr %21249, align 4, !tbaa !5
  %21251 = call ptr @strerror(i32 noundef %21250) #11
  %21252 = call ptr @__errno_location() #12
  %21253 = load i32, ptr %21252, align 4, !tbaa !5
  %21254 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21241, ptr noundef @.str.9, i32 noundef %21242, ptr noundef @.str.187, ptr noundef @.str.8, i32 noundef 818, ptr noundef %21245, ptr noundef %21248, ptr noundef %21251, i32 noundef %21253) #11
  br label %21272

21255:                                            ; preds = %21233, %21226
  %21256 = load i32, ptr %428, align 4, !tbaa !5
  %21257 = call ptr @__errno_location() #12
  store i32 %21256, ptr %21257, align 4, !tbaa !5
  %21258 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21259 = load i32, ptr @test_count, align 4, !tbaa !5
  %21260 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21261 = load i32, ptr %21260, align 4, !tbaa !5
  %21262 = call ptr @s2n_strerror(i32 noundef %21261, ptr noundef @.str.11)
  %21263 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21264 = load i32, ptr %21263, align 4, !tbaa !5
  %21265 = call ptr @s2n_strerror_debug(i32 noundef %21264, ptr noundef @.str.11)
  %21266 = call ptr @__errno_location() #12
  %21267 = load i32, ptr %21266, align 4, !tbaa !5
  %21268 = call ptr @strerror(i32 noundef %21267) #11
  %21269 = call ptr @__errno_location() #12
  %21270 = load i32, ptr %21269, align 4, !tbaa !5
  %21271 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21258, ptr noundef @.str.12, i32 noundef %21259, ptr noundef @.str.187, ptr noundef @.str.8, i32 noundef 818, ptr noundef %21262, ptr noundef %21265, ptr noundef %21268, i32 noundef %21270) #11
  br label %21272

21272:                                            ; preds = %21255, %21238
  call void @llvm.lifetime.end.p0(i64 4, ptr %428) #11
  br label %21273

21273:                                            ; preds = %21272
  br label %21274

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

21275:                                            ; No predecessors!
  br label %21276

21276:                                            ; preds = %21275
  br label %21277

21277:                                            ; preds = %21276, %21212
  br label %21278

21278:                                            ; preds = %21277
  br label %21279

21279:                                            ; preds = %21278
  br label %21280

21280:                                            ; preds = %21279
  %21281 = load i32, ptr @test_count, align 4, !tbaa !5
  %21282 = add nsw i32 %21281, 1
  store i32 %21282, ptr @test_count, align 4, !tbaa !5
  %21283 = load ptr, ptr %409, align 8, !tbaa !9
  %21284 = getelementptr inbounds %struct.s2n_connection, ptr %21283, i32 0, i32 93
  %21285 = getelementptr inbounds %struct.s2n_post_handshake, ptr %21284, i32 0, i32 0
  %21286 = getelementptr inbounds %struct.s2n_stuffer, ptr %21285, i32 0, i32 4
  %21287 = load i8, ptr %21286, align 4
  %21288 = and i8 %21287, 1
  %21289 = zext i8 %21288 to i32
  %21290 = icmp ne i32 %21289, 0
  br i1 %21290, label %21291, label %21344

21291:                                            ; preds = %21280
  br label %21292

21292:                                            ; preds = %21291
  br label %21293

21293:                                            ; preds = %21292
  call void @llvm.lifetime.start.p0(i64 4, ptr %429) #11
  %21294 = call ptr @__errno_location() #12
  %21295 = load i32, ptr %21294, align 4, !tbaa !5
  store i32 %21295, ptr %429, align 4, !tbaa !5
  %21296 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21297 = call i32 @s2n_print_stacktrace(ptr noundef %21296)
  %21298 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %21299 = trunc i8 %21298 to i1
  br i1 %21299, label %21300, label %21322

21300:                                            ; preds = %21293
  %21301 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21302 = call i32 @fileno(ptr noundef %21301) #11
  %21303 = call i32 @isatty(i32 noundef %21302) #11
  %21304 = icmp ne i32 %21303, 0
  br i1 %21304, label %21305, label %21322

21305:                                            ; preds = %21300
  %21306 = load i32, ptr %429, align 4, !tbaa !5
  %21307 = call ptr @__errno_location() #12
  store i32 %21306, ptr %21307, align 4, !tbaa !5
  %21308 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21309 = load i32, ptr @test_count, align 4, !tbaa !5
  %21310 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21311 = load i32, ptr %21310, align 4, !tbaa !5
  %21312 = call ptr @s2n_strerror(i32 noundef %21311, ptr noundef @.str.11)
  %21313 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21314 = load i32, ptr %21313, align 4, !tbaa !5
  %21315 = call ptr @s2n_strerror_debug(i32 noundef %21314, ptr noundef @.str.11)
  %21316 = call ptr @__errno_location() #12
  %21317 = load i32, ptr %21316, align 4, !tbaa !5
  %21318 = call ptr @strerror(i32 noundef %21317) #11
  %21319 = call ptr @__errno_location() #12
  %21320 = load i32, ptr %21319, align 4, !tbaa !5
  %21321 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21308, ptr noundef @.str.9, i32 noundef %21309, ptr noundef @.str.188, ptr noundef @.str.8, i32 noundef 819, ptr noundef %21312, ptr noundef %21315, ptr noundef %21318, i32 noundef %21320) #11
  br label %21339

21322:                                            ; preds = %21300, %21293
  %21323 = load i32, ptr %429, align 4, !tbaa !5
  %21324 = call ptr @__errno_location() #12
  store i32 %21323, ptr %21324, align 4, !tbaa !5
  %21325 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21326 = load i32, ptr @test_count, align 4, !tbaa !5
  %21327 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21328 = load i32, ptr %21327, align 4, !tbaa !5
  %21329 = call ptr @s2n_strerror(i32 noundef %21328, ptr noundef @.str.11)
  %21330 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21331 = load i32, ptr %21330, align 4, !tbaa !5
  %21332 = call ptr @s2n_strerror_debug(i32 noundef %21331, ptr noundef @.str.11)
  %21333 = call ptr @__errno_location() #12
  %21334 = load i32, ptr %21333, align 4, !tbaa !5
  %21335 = call ptr @strerror(i32 noundef %21334) #11
  %21336 = call ptr @__errno_location() #12
  %21337 = load i32, ptr %21336, align 4, !tbaa !5
  %21338 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21325, ptr noundef @.str.12, i32 noundef %21326, ptr noundef @.str.188, ptr noundef @.str.8, i32 noundef 819, ptr noundef %21329, ptr noundef %21332, ptr noundef %21335, i32 noundef %21337) #11
  br label %21339

21339:                                            ; preds = %21322, %21305
  call void @llvm.lifetime.end.p0(i64 4, ptr %429) #11
  br label %21340

21340:                                            ; preds = %21339
  br label %21341

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

21342:                                            ; No predecessors!
  br label %21343

21343:                                            ; preds = %21342
  br label %21344

21344:                                            ; preds = %21343, %21280
  br label %21345

21345:                                            ; preds = %21344
  br label %21346

21346:                                            ; preds = %21345
  br label %21347

21347:                                            ; preds = %21346
  %21348 = load i32, ptr @test_count, align 4, !tbaa !5
  %21349 = add nsw i32 %21348, 1
  store i32 %21349, ptr @test_count, align 4, !tbaa !5
  %21350 = load ptr, ptr %409, align 8, !tbaa !9
  %21351 = getelementptr inbounds %struct.s2n_connection, ptr %21350, i32 0, i32 93
  %21352 = getelementptr inbounds %struct.s2n_post_handshake, ptr %21351, i32 0, i32 0
  %21353 = getelementptr inbounds %struct.s2n_stuffer, ptr %21352, i32 0, i32 0
  %21354 = getelementptr inbounds %struct.s2n_blob, ptr %21353, i32 0, i32 1
  %21355 = load i32, ptr %21354, align 8, !tbaa !81
  %21356 = icmp eq i32 %21355, 0
  br i1 %21356, label %21357, label %21410

21357:                                            ; preds = %21347
  br label %21358

21358:                                            ; preds = %21357
  br label %21359

21359:                                            ; preds = %21358
  call void @llvm.lifetime.start.p0(i64 4, ptr %430) #11
  %21360 = call ptr @__errno_location() #12
  %21361 = load i32, ptr %21360, align 4, !tbaa !5
  store i32 %21361, ptr %430, align 4, !tbaa !5
  %21362 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21363 = call i32 @s2n_print_stacktrace(ptr noundef %21362)
  %21364 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %21365 = trunc i8 %21364 to i1
  br i1 %21365, label %21366, label %21388

21366:                                            ; preds = %21359
  %21367 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21368 = call i32 @fileno(ptr noundef %21367) #11
  %21369 = call i32 @isatty(i32 noundef %21368) #11
  %21370 = icmp ne i32 %21369, 0
  br i1 %21370, label %21371, label %21388

21371:                                            ; preds = %21366
  %21372 = load i32, ptr %430, align 4, !tbaa !5
  %21373 = call ptr @__errno_location() #12
  store i32 %21372, ptr %21373, align 4, !tbaa !5
  %21374 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21375 = load i32, ptr @test_count, align 4, !tbaa !5
  %21376 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21377 = load i32, ptr %21376, align 4, !tbaa !5
  %21378 = call ptr @s2n_strerror(i32 noundef %21377, ptr noundef @.str.11)
  %21379 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21380 = load i32, ptr %21379, align 4, !tbaa !5
  %21381 = call ptr @s2n_strerror_debug(i32 noundef %21380, ptr noundef @.str.11)
  %21382 = call ptr @__errno_location() #12
  %21383 = load i32, ptr %21382, align 4, !tbaa !5
  %21384 = call ptr @strerror(i32 noundef %21383) #11
  %21385 = call ptr @__errno_location() #12
  %21386 = load i32, ptr %21385, align 4, !tbaa !5
  %21387 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21374, ptr noundef @.str.9, i32 noundef %21375, ptr noundef @.str.196, ptr noundef @.str.8, i32 noundef 820, ptr noundef %21378, ptr noundef %21381, ptr noundef %21384, i32 noundef %21386) #11
  br label %21405

21388:                                            ; preds = %21366, %21359
  %21389 = load i32, ptr %430, align 4, !tbaa !5
  %21390 = call ptr @__errno_location() #12
  store i32 %21389, ptr %21390, align 4, !tbaa !5
  %21391 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21392 = load i32, ptr @test_count, align 4, !tbaa !5
  %21393 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21394 = load i32, ptr %21393, align 4, !tbaa !5
  %21395 = call ptr @s2n_strerror(i32 noundef %21394, ptr noundef @.str.11)
  %21396 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21397 = load i32, ptr %21396, align 4, !tbaa !5
  %21398 = call ptr @s2n_strerror_debug(i32 noundef %21397, ptr noundef @.str.11)
  %21399 = call ptr @__errno_location() #12
  %21400 = load i32, ptr %21399, align 4, !tbaa !5
  %21401 = call ptr @strerror(i32 noundef %21400) #11
  %21402 = call ptr @__errno_location() #12
  %21403 = load i32, ptr %21402, align 4, !tbaa !5
  %21404 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21391, ptr noundef @.str.12, i32 noundef %21392, ptr noundef @.str.196, ptr noundef @.str.8, i32 noundef 820, ptr noundef %21395, ptr noundef %21398, ptr noundef %21401, i32 noundef %21403) #11
  br label %21405

21405:                                            ; preds = %21388, %21371
  call void @llvm.lifetime.end.p0(i64 4, ptr %430) #11
  br label %21406

21406:                                            ; preds = %21405
  br label %21407

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

21408:                                            ; No predecessors!
  br label %21409

21409:                                            ; preds = %21408
  br label %21410

21410:                                            ; preds = %21409, %21347
  br label %21411

21411:                                            ; preds = %21410
  br label %21412

21412:                                            ; preds = %21411
  br label %21413

21413:                                            ; preds = %21412
  %21414 = load i32, ptr @test_count, align 4, !tbaa !5
  %21415 = add nsw i32 %21414, 1
  store i32 %21415, ptr @test_count, align 4, !tbaa !5
  %21416 = load ptr, ptr %409, align 8, !tbaa !9
  %21417 = call i32 @s2n_connection_release_buffers(ptr noundef %21416)
  %21418 = icmp eq i32 %21417, -1
  br i1 %21418, label %21419, label %21472

21419:                                            ; preds = %21413
  br label %21420

21420:                                            ; preds = %21419
  br label %21421

21421:                                            ; preds = %21420
  call void @llvm.lifetime.start.p0(i64 4, ptr %431) #11
  %21422 = call ptr @__errno_location() #12
  %21423 = load i32, ptr %21422, align 4, !tbaa !5
  store i32 %21423, ptr %431, align 4, !tbaa !5
  %21424 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21425 = call i32 @s2n_print_stacktrace(ptr noundef %21424)
  %21426 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %21427 = trunc i8 %21426 to i1
  br i1 %21427, label %21428, label %21450

21428:                                            ; preds = %21421
  %21429 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21430 = call i32 @fileno(ptr noundef %21429) #11
  %21431 = call i32 @isatty(i32 noundef %21430) #11
  %21432 = icmp ne i32 %21431, 0
  br i1 %21432, label %21433, label %21450

21433:                                            ; preds = %21428
  %21434 = load i32, ptr %431, align 4, !tbaa !5
  %21435 = call ptr @__errno_location() #12
  store i32 %21434, ptr %21435, align 4, !tbaa !5
  %21436 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21437 = load i32, ptr @test_count, align 4, !tbaa !5
  %21438 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21439 = load i32, ptr %21438, align 4, !tbaa !5
  %21440 = call ptr @s2n_strerror(i32 noundef %21439, ptr noundef @.str.11)
  %21441 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21442 = load i32, ptr %21441, align 4, !tbaa !5
  %21443 = call ptr @s2n_strerror_debug(i32 noundef %21442, ptr noundef @.str.11)
  %21444 = call ptr @__errno_location() #12
  %21445 = load i32, ptr %21444, align 4, !tbaa !5
  %21446 = call ptr @strerror(i32 noundef %21445) #11
  %21447 = call ptr @__errno_location() #12
  %21448 = load i32, ptr %21447, align 4, !tbaa !5
  %21449 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21436, ptr noundef @.str.9, i32 noundef %21437, ptr noundef @.str.197, ptr noundef @.str.8, i32 noundef 822, ptr noundef %21440, ptr noundef %21443, ptr noundef %21446, i32 noundef %21448) #11
  br label %21467

21450:                                            ; preds = %21428, %21421
  %21451 = load i32, ptr %431, align 4, !tbaa !5
  %21452 = call ptr @__errno_location() #12
  store i32 %21451, ptr %21452, align 4, !tbaa !5
  %21453 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21454 = load i32, ptr @test_count, align 4, !tbaa !5
  %21455 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21456 = load i32, ptr %21455, align 4, !tbaa !5
  %21457 = call ptr @s2n_strerror(i32 noundef %21456, ptr noundef @.str.11)
  %21458 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21459 = load i32, ptr %21458, align 4, !tbaa !5
  %21460 = call ptr @s2n_strerror_debug(i32 noundef %21459, ptr noundef @.str.11)
  %21461 = call ptr @__errno_location() #12
  %21462 = load i32, ptr %21461, align 4, !tbaa !5
  %21463 = call ptr @strerror(i32 noundef %21462) #11
  %21464 = call ptr @__errno_location() #12
  %21465 = load i32, ptr %21464, align 4, !tbaa !5
  %21466 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21453, ptr noundef @.str.12, i32 noundef %21454, ptr noundef @.str.197, ptr noundef @.str.8, i32 noundef 822, ptr noundef %21457, ptr noundef %21460, ptr noundef %21463, i32 noundef %21465) #11
  br label %21467

21467:                                            ; preds = %21450, %21433
  call void @llvm.lifetime.end.p0(i64 4, ptr %431) #11
  br label %21468

21468:                                            ; preds = %21467
  br label %21469

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

21470:                                            ; No predecessors!
  br label %21471

21471:                                            ; preds = %21470
  br label %21472

21472:                                            ; preds = %21471, %21413
  br label %21473

21473:                                            ; preds = %21472
  br label %21474

21474:                                            ; preds = %21473
  br label %21475

21475:                                            ; preds = %21474
  %21476 = load i32, ptr @test_count, align 4, !tbaa !5
  %21477 = add nsw i32 %21476, 1
  store i32 %21477, ptr @test_count, align 4, !tbaa !5
  %21478 = load ptr, ptr %409, align 8, !tbaa !9
  %21479 = getelementptr inbounds %struct.s2n_connection, ptr %21478, i32 0, i32 93
  %21480 = getelementptr inbounds %struct.s2n_post_handshake, ptr %21479, i32 0, i32 0
  %21481 = getelementptr inbounds %struct.s2n_stuffer, ptr %21480, i32 0, i32 0
  %21482 = getelementptr inbounds %struct.s2n_blob, ptr %21481, i32 0, i32 1
  %21483 = load i32, ptr %21482, align 8, !tbaa !81
  %21484 = icmp eq i32 %21483, 0
  br i1 %21484, label %21538, label %21485

21485:                                            ; preds = %21475
  br label %21486

21486:                                            ; preds = %21485
  br label %21487

21487:                                            ; preds = %21486
  call void @llvm.lifetime.start.p0(i64 4, ptr %432) #11
  %21488 = call ptr @__errno_location() #12
  %21489 = load i32, ptr %21488, align 4, !tbaa !5
  store i32 %21489, ptr %432, align 4, !tbaa !5
  %21490 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21491 = call i32 @s2n_print_stacktrace(ptr noundef %21490)
  %21492 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %21493 = trunc i8 %21492 to i1
  br i1 %21493, label %21494, label %21516

21494:                                            ; preds = %21487
  %21495 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21496 = call i32 @fileno(ptr noundef %21495) #11
  %21497 = call i32 @isatty(i32 noundef %21496) #11
  %21498 = icmp ne i32 %21497, 0
  br i1 %21498, label %21499, label %21516

21499:                                            ; preds = %21494
  %21500 = load i32, ptr %432, align 4, !tbaa !5
  %21501 = call ptr @__errno_location() #12
  store i32 %21500, ptr %21501, align 4, !tbaa !5
  %21502 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21503 = load i32, ptr @test_count, align 4, !tbaa !5
  %21504 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21505 = load i32, ptr %21504, align 4, !tbaa !5
  %21506 = call ptr @s2n_strerror(i32 noundef %21505, ptr noundef @.str.11)
  %21507 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21508 = load i32, ptr %21507, align 4, !tbaa !5
  %21509 = call ptr @s2n_strerror_debug(i32 noundef %21508, ptr noundef @.str.11)
  %21510 = call ptr @__errno_location() #12
  %21511 = load i32, ptr %21510, align 4, !tbaa !5
  %21512 = call ptr @strerror(i32 noundef %21511) #11
  %21513 = call ptr @__errno_location() #12
  %21514 = load i32, ptr %21513, align 4, !tbaa !5
  %21515 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21502, ptr noundef @.str.9, i32 noundef %21503, ptr noundef @.str.189, ptr noundef @.str.8, i32 noundef 823, ptr noundef %21506, ptr noundef %21509, ptr noundef %21512, i32 noundef %21514) #11
  br label %21533

21516:                                            ; preds = %21494, %21487
  %21517 = load i32, ptr %432, align 4, !tbaa !5
  %21518 = call ptr @__errno_location() #12
  store i32 %21517, ptr %21518, align 4, !tbaa !5
  %21519 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21520 = load i32, ptr @test_count, align 4, !tbaa !5
  %21521 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21522 = load i32, ptr %21521, align 4, !tbaa !5
  %21523 = call ptr @s2n_strerror(i32 noundef %21522, ptr noundef @.str.11)
  %21524 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21525 = load i32, ptr %21524, align 4, !tbaa !5
  %21526 = call ptr @s2n_strerror_debug(i32 noundef %21525, ptr noundef @.str.11)
  %21527 = call ptr @__errno_location() #12
  %21528 = load i32, ptr %21527, align 4, !tbaa !5
  %21529 = call ptr @strerror(i32 noundef %21528) #11
  %21530 = call ptr @__errno_location() #12
  %21531 = load i32, ptr %21530, align 4, !tbaa !5
  %21532 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21519, ptr noundef @.str.12, i32 noundef %21520, ptr noundef @.str.189, ptr noundef @.str.8, i32 noundef 823, ptr noundef %21523, ptr noundef %21526, ptr noundef %21529, i32 noundef %21531) #11
  br label %21533

21533:                                            ; preds = %21516, %21499
  call void @llvm.lifetime.end.p0(i64 4, ptr %432) #11
  br label %21534

21534:                                            ; preds = %21533
  br label %21535

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

21536:                                            ; No predecessors!
  br label %21537

21537:                                            ; preds = %21536
  br label %21538

21538:                                            ; preds = %21537, %21475
  br label %21539

21539:                                            ; preds = %21538
  br label %21540

21540:                                            ; preds = %21539
  call void @llvm.lifetime.end.p0(i64 24, ptr %425) #11
  br label %21541

21541:                                            ; preds = %21540
  %21542 = load i64, ptr %424, align 8, !tbaa !50
  %21543 = add i64 %21542, 1
  store i64 %21543, ptr %424, align 8, !tbaa !50
  br label %21078, !llvm.loop !87

21544:                                            ; preds = %21081
  br label %21545

21545:                                            ; preds = %21544
  %21546 = load i32, ptr @test_count, align 4, !tbaa !5
  %21547 = add nsw i32 %21546, 1
  store i32 %21547, ptr @test_count, align 4, !tbaa !5
  %21548 = load ptr, ptr %409, align 8, !tbaa !9
  %21549 = getelementptr inbounds %struct.s2n_connection, ptr %21548, i32 0, i32 93
  %21550 = getelementptr inbounds %struct.s2n_post_handshake, ptr %21549, i32 0, i32 0
  %21551 = call i32 @s2n_stuffer_growable_alloc(ptr noundef %21550, i32 noundef 10)
  %21552 = icmp eq i32 %21551, -1
  br i1 %21552, label %21553, label %21606

21553:                                            ; preds = %21545
  br label %21554

21554:                                            ; preds = %21553
  br label %21555

21555:                                            ; preds = %21554
  call void @llvm.lifetime.start.p0(i64 4, ptr %433) #11
  %21556 = call ptr @__errno_location() #12
  %21557 = load i32, ptr %21556, align 4, !tbaa !5
  store i32 %21557, ptr %433, align 4, !tbaa !5
  %21558 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21559 = call i32 @s2n_print_stacktrace(ptr noundef %21558)
  %21560 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %21561 = trunc i8 %21560 to i1
  br i1 %21561, label %21562, label %21584

21562:                                            ; preds = %21555
  %21563 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21564 = call i32 @fileno(ptr noundef %21563) #11
  %21565 = call i32 @isatty(i32 noundef %21564) #11
  %21566 = icmp ne i32 %21565, 0
  br i1 %21566, label %21567, label %21584

21567:                                            ; preds = %21562
  %21568 = load i32, ptr %433, align 4, !tbaa !5
  %21569 = call ptr @__errno_location() #12
  store i32 %21568, ptr %21569, align 4, !tbaa !5
  %21570 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21571 = load i32, ptr @test_count, align 4, !tbaa !5
  %21572 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21573 = load i32, ptr %21572, align 4, !tbaa !5
  %21574 = call ptr @s2n_strerror(i32 noundef %21573, ptr noundef @.str.11)
  %21575 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21576 = load i32, ptr %21575, align 4, !tbaa !5
  %21577 = call ptr @s2n_strerror_debug(i32 noundef %21576, ptr noundef @.str.11)
  %21578 = call ptr @__errno_location() #12
  %21579 = load i32, ptr %21578, align 4, !tbaa !5
  %21580 = call ptr @strerror(i32 noundef %21579) #11
  %21581 = call ptr @__errno_location() #12
  %21582 = load i32, ptr %21581, align 4, !tbaa !5
  %21583 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21570, ptr noundef @.str.9, i32 noundef %21571, ptr noundef @.str.190, ptr noundef @.str.8, i32 noundef 828, ptr noundef %21574, ptr noundef %21577, ptr noundef %21580, i32 noundef %21582) #11
  br label %21601

21584:                                            ; preds = %21562, %21555
  %21585 = load i32, ptr %433, align 4, !tbaa !5
  %21586 = call ptr @__errno_location() #12
  store i32 %21585, ptr %21586, align 4, !tbaa !5
  %21587 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21588 = load i32, ptr @test_count, align 4, !tbaa !5
  %21589 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21590 = load i32, ptr %21589, align 4, !tbaa !5
  %21591 = call ptr @s2n_strerror(i32 noundef %21590, ptr noundef @.str.11)
  %21592 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21593 = load i32, ptr %21592, align 4, !tbaa !5
  %21594 = call ptr @s2n_strerror_debug(i32 noundef %21593, ptr noundef @.str.11)
  %21595 = call ptr @__errno_location() #12
  %21596 = load i32, ptr %21595, align 4, !tbaa !5
  %21597 = call ptr @strerror(i32 noundef %21596) #11
  %21598 = call ptr @__errno_location() #12
  %21599 = load i32, ptr %21598, align 4, !tbaa !5
  %21600 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21587, ptr noundef @.str.12, i32 noundef %21588, ptr noundef @.str.190, ptr noundef @.str.8, i32 noundef 828, ptr noundef %21591, ptr noundef %21594, ptr noundef %21597, i32 noundef %21599) #11
  br label %21601

21601:                                            ; preds = %21584, %21567
  call void @llvm.lifetime.end.p0(i64 4, ptr %433) #11
  br label %21602

21602:                                            ; preds = %21601
  br label %21603

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

21604:                                            ; No predecessors!
  br label %21605

21605:                                            ; preds = %21604
  br label %21606

21606:                                            ; preds = %21605, %21545
  br label %21607

21607:                                            ; preds = %21606
  br label %21608

21608:                                            ; preds = %21607
  br label %21609

21609:                                            ; preds = %21608
  %21610 = load i32, ptr @test_count, align 4, !tbaa !5
  %21611 = add nsw i32 %21610, 1
  store i32 %21611, ptr @test_count, align 4, !tbaa !5
  %21612 = load ptr, ptr %409, align 8, !tbaa !9
  %21613 = getelementptr inbounds %struct.s2n_connection, ptr %21612, i32 0, i32 93
  %21614 = getelementptr inbounds %struct.s2n_post_handshake, ptr %21613, i32 0, i32 0
  %21615 = call i32 @s2n_stuffer_write_uint8(ptr noundef %21614, i8 noundef zeroext 1)
  %21616 = icmp eq i32 %21615, -1
  br i1 %21616, label %21617, label %21670

21617:                                            ; preds = %21609
  br label %21618

21618:                                            ; preds = %21617
  br label %21619

21619:                                            ; preds = %21618
  call void @llvm.lifetime.start.p0(i64 4, ptr %434) #11
  %21620 = call ptr @__errno_location() #12
  %21621 = load i32, ptr %21620, align 4, !tbaa !5
  store i32 %21621, ptr %434, align 4, !tbaa !5
  %21622 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21623 = call i32 @s2n_print_stacktrace(ptr noundef %21622)
  %21624 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %21625 = trunc i8 %21624 to i1
  br i1 %21625, label %21626, label %21648

21626:                                            ; preds = %21619
  %21627 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21628 = call i32 @fileno(ptr noundef %21627) #11
  %21629 = call i32 @isatty(i32 noundef %21628) #11
  %21630 = icmp ne i32 %21629, 0
  br i1 %21630, label %21631, label %21648

21631:                                            ; preds = %21626
  %21632 = load i32, ptr %434, align 4, !tbaa !5
  %21633 = call ptr @__errno_location() #12
  store i32 %21632, ptr %21633, align 4, !tbaa !5
  %21634 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21635 = load i32, ptr @test_count, align 4, !tbaa !5
  %21636 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21637 = load i32, ptr %21636, align 4, !tbaa !5
  %21638 = call ptr @s2n_strerror(i32 noundef %21637, ptr noundef @.str.11)
  %21639 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21640 = load i32, ptr %21639, align 4, !tbaa !5
  %21641 = call ptr @s2n_strerror_debug(i32 noundef %21640, ptr noundef @.str.11)
  %21642 = call ptr @__errno_location() #12
  %21643 = load i32, ptr %21642, align 4, !tbaa !5
  %21644 = call ptr @strerror(i32 noundef %21643) #11
  %21645 = call ptr @__errno_location() #12
  %21646 = load i32, ptr %21645, align 4, !tbaa !5
  %21647 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21634, ptr noundef @.str.9, i32 noundef %21635, ptr noundef @.str.198, ptr noundef @.str.8, i32 noundef 829, ptr noundef %21638, ptr noundef %21641, ptr noundef %21644, i32 noundef %21646) #11
  br label %21665

21648:                                            ; preds = %21626, %21619
  %21649 = load i32, ptr %434, align 4, !tbaa !5
  %21650 = call ptr @__errno_location() #12
  store i32 %21649, ptr %21650, align 4, !tbaa !5
  %21651 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21652 = load i32, ptr @test_count, align 4, !tbaa !5
  %21653 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21654 = load i32, ptr %21653, align 4, !tbaa !5
  %21655 = call ptr @s2n_strerror(i32 noundef %21654, ptr noundef @.str.11)
  %21656 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21657 = load i32, ptr %21656, align 4, !tbaa !5
  %21658 = call ptr @s2n_strerror_debug(i32 noundef %21657, ptr noundef @.str.11)
  %21659 = call ptr @__errno_location() #12
  %21660 = load i32, ptr %21659, align 4, !tbaa !5
  %21661 = call ptr @strerror(i32 noundef %21660) #11
  %21662 = call ptr @__errno_location() #12
  %21663 = load i32, ptr %21662, align 4, !tbaa !5
  %21664 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21651, ptr noundef @.str.12, i32 noundef %21652, ptr noundef @.str.198, ptr noundef @.str.8, i32 noundef 829, ptr noundef %21655, ptr noundef %21658, ptr noundef %21661, i32 noundef %21663) #11
  br label %21665

21665:                                            ; preds = %21648, %21631
  call void @llvm.lifetime.end.p0(i64 4, ptr %434) #11
  br label %21666

21666:                                            ; preds = %21665
  br label %21667

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

21668:                                            ; No predecessors!
  br label %21669

21669:                                            ; preds = %21668
  br label %21670

21670:                                            ; preds = %21669, %21609
  br label %21671

21671:                                            ; preds = %21670
  br label %21672

21672:                                            ; preds = %21671
  br label %21673

21673:                                            ; preds = %21672
  br label %21674

21674:                                            ; preds = %21673
  br label %21675

21675:                                            ; preds = %21674
  %21676 = load i32, ptr @test_count, align 4, !tbaa !5
  %21677 = add nsw i32 %21676, 1
  store i32 %21677, ptr @test_count, align 4, !tbaa !5
  %21678 = load ptr, ptr %409, align 8, !tbaa !9
  %21679 = call i32 @s2n_connection_release_buffers(ptr noundef %21678)
  %21680 = icmp eq i32 %21679, -1
  br i1 %21680, label %21734, label %21681

21681:                                            ; preds = %21675
  br label %21682

21682:                                            ; preds = %21681
  br label %21683

21683:                                            ; preds = %21682
  call void @llvm.lifetime.start.p0(i64 4, ptr %435) #11
  %21684 = call ptr @__errno_location() #12
  %21685 = load i32, ptr %21684, align 4, !tbaa !5
  store i32 %21685, ptr %435, align 4, !tbaa !5
  %21686 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21687 = call i32 @s2n_print_stacktrace(ptr noundef %21686)
  %21688 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %21689 = trunc i8 %21688 to i1
  br i1 %21689, label %21690, label %21712

21690:                                            ; preds = %21683
  %21691 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21692 = call i32 @fileno(ptr noundef %21691) #11
  %21693 = call i32 @isatty(i32 noundef %21692) #11
  %21694 = icmp ne i32 %21693, 0
  br i1 %21694, label %21695, label %21712

21695:                                            ; preds = %21690
  %21696 = load i32, ptr %435, align 4, !tbaa !5
  %21697 = call ptr @__errno_location() #12
  store i32 %21696, ptr %21697, align 4, !tbaa !5
  %21698 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21699 = load i32, ptr @test_count, align 4, !tbaa !5
  %21700 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21701 = load i32, ptr %21700, align 4, !tbaa !5
  %21702 = call ptr @s2n_strerror(i32 noundef %21701, ptr noundef @.str.11)
  %21703 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21704 = load i32, ptr %21703, align 4, !tbaa !5
  %21705 = call ptr @s2n_strerror_debug(i32 noundef %21704, ptr noundef @.str.11)
  %21706 = call ptr @__errno_location() #12
  %21707 = load i32, ptr %21706, align 4, !tbaa !5
  %21708 = call ptr @strerror(i32 noundef %21707) #11
  %21709 = call ptr @__errno_location() #12
  %21710 = load i32, ptr %21709, align 4, !tbaa !5
  %21711 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21698, ptr noundef @.str.9, i32 noundef %21699, ptr noundef @.str.199, ptr noundef @.str.8, i32 noundef 831, ptr noundef %21702, ptr noundef %21705, ptr noundef %21708, i32 noundef %21710) #11
  br label %21729

21712:                                            ; preds = %21690, %21683
  %21713 = load i32, ptr %435, align 4, !tbaa !5
  %21714 = call ptr @__errno_location() #12
  store i32 %21713, ptr %21714, align 4, !tbaa !5
  %21715 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21716 = load i32, ptr @test_count, align 4, !tbaa !5
  %21717 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21718 = load i32, ptr %21717, align 4, !tbaa !5
  %21719 = call ptr @s2n_strerror(i32 noundef %21718, ptr noundef @.str.11)
  %21720 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21721 = load i32, ptr %21720, align 4, !tbaa !5
  %21722 = call ptr @s2n_strerror_debug(i32 noundef %21721, ptr noundef @.str.11)
  %21723 = call ptr @__errno_location() #12
  %21724 = load i32, ptr %21723, align 4, !tbaa !5
  %21725 = call ptr @strerror(i32 noundef %21724) #11
  %21726 = call ptr @__errno_location() #12
  %21727 = load i32, ptr %21726, align 4, !tbaa !5
  %21728 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21715, ptr noundef @.str.12, i32 noundef %21716, ptr noundef @.str.199, ptr noundef @.str.8, i32 noundef 831, ptr noundef %21719, ptr noundef %21722, ptr noundef %21725, i32 noundef %21727) #11
  br label %21729

21729:                                            ; preds = %21712, %21695
  call void @llvm.lifetime.end.p0(i64 4, ptr %435) #11
  br label %21730

21730:                                            ; preds = %21729
  br label %21731

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

21732:                                            ; No predecessors!
  br label %21733

21733:                                            ; preds = %21732
  br label %21734

21734:                                            ; preds = %21733, %21675
  br label %21735

21735:                                            ; preds = %21734
  br label %21736

21736:                                            ; preds = %21735
  br label %21737

21737:                                            ; preds = %21736
  %21738 = load i32, ptr @test_count, align 4, !tbaa !5
  %21739 = add nsw i32 %21738, 1
  store i32 %21739, ptr @test_count, align 4, !tbaa !5
  %21740 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21741 = load i32, ptr %21740, align 4, !tbaa !5
  %21742 = icmp eq i32 %21741, 402653204
  br i1 %21742, label %21796, label %21743

21743:                                            ; preds = %21737
  br label %21744

21744:                                            ; preds = %21743
  br label %21745

21745:                                            ; preds = %21744
  call void @llvm.lifetime.start.p0(i64 4, ptr %436) #11
  %21746 = call ptr @__errno_location() #12
  %21747 = load i32, ptr %21746, align 4, !tbaa !5
  store i32 %21747, ptr %436, align 4, !tbaa !5
  %21748 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21749 = call i32 @s2n_print_stacktrace(ptr noundef %21748)
  %21750 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %21751 = trunc i8 %21750 to i1
  br i1 %21751, label %21752, label %21774

21752:                                            ; preds = %21745
  %21753 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21754 = call i32 @fileno(ptr noundef %21753) #11
  %21755 = call i32 @isatty(i32 noundef %21754) #11
  %21756 = icmp ne i32 %21755, 0
  br i1 %21756, label %21757, label %21774

21757:                                            ; preds = %21752
  %21758 = load i32, ptr %436, align 4, !tbaa !5
  %21759 = call ptr @__errno_location() #12
  store i32 %21758, ptr %21759, align 4, !tbaa !5
  %21760 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21761 = load i32, ptr @test_count, align 4, !tbaa !5
  %21762 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21763 = load i32, ptr %21762, align 4, !tbaa !5
  %21764 = call ptr @s2n_strerror(i32 noundef %21763, ptr noundef @.str.11)
  %21765 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21766 = load i32, ptr %21765, align 4, !tbaa !5
  %21767 = call ptr @s2n_strerror_debug(i32 noundef %21766, ptr noundef @.str.11)
  %21768 = call ptr @__errno_location() #12
  %21769 = load i32, ptr %21768, align 4, !tbaa !5
  %21770 = call ptr @strerror(i32 noundef %21769) #11
  %21771 = call ptr @__errno_location() #12
  %21772 = load i32, ptr %21771, align 4, !tbaa !5
  %21773 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21760, ptr noundef @.str.9, i32 noundef %21761, ptr noundef @.str.200, ptr noundef @.str.8, i32 noundef 831, ptr noundef %21764, ptr noundef %21767, ptr noundef %21770, i32 noundef %21772) #11
  br label %21791

21774:                                            ; preds = %21752, %21745
  %21775 = load i32, ptr %436, align 4, !tbaa !5
  %21776 = call ptr @__errno_location() #12
  store i32 %21775, ptr %21776, align 4, !tbaa !5
  %21777 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21778 = load i32, ptr @test_count, align 4, !tbaa !5
  %21779 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21780 = load i32, ptr %21779, align 4, !tbaa !5
  %21781 = call ptr @s2n_strerror(i32 noundef %21780, ptr noundef @.str.11)
  %21782 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21783 = load i32, ptr %21782, align 4, !tbaa !5
  %21784 = call ptr @s2n_strerror_debug(i32 noundef %21783, ptr noundef @.str.11)
  %21785 = call ptr @__errno_location() #12
  %21786 = load i32, ptr %21785, align 4, !tbaa !5
  %21787 = call ptr @strerror(i32 noundef %21786) #11
  %21788 = call ptr @__errno_location() #12
  %21789 = load i32, ptr %21788, align 4, !tbaa !5
  %21790 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21777, ptr noundef @.str.12, i32 noundef %21778, ptr noundef @.str.200, ptr noundef @.str.8, i32 noundef 831, ptr noundef %21781, ptr noundef %21784, ptr noundef %21787, i32 noundef %21789) #11
  br label %21791

21791:                                            ; preds = %21774, %21757
  call void @llvm.lifetime.end.p0(i64 4, ptr %436) #11
  br label %21792

21792:                                            ; preds = %21791
  br label %21793

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

21794:                                            ; No predecessors!
  br label %21795

21795:                                            ; preds = %21794
  br label %21796

21796:                                            ; preds = %21795, %21737
  br label %21797

21797:                                            ; preds = %21796
  br label %21798

21798:                                            ; preds = %21797
  br label %21799

21799:                                            ; preds = %21798
  %21800 = load i32, ptr @test_count, align 4, !tbaa !5
  %21801 = add nsw i32 %21800, 1
  store i32 %21801, ptr @test_count, align 4, !tbaa !5
  %21802 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21803 = load i32, ptr %21802, align 4, !tbaa !5
  %21804 = call ptr @s2n_strerror_debug(i32 noundef %21803, ptr noundef @.str.11)
  %21805 = icmp eq ptr %21804, null
  br i1 %21805, label %21806, label %21859

21806:                                            ; preds = %21799
  br label %21807

21807:                                            ; preds = %21806
  br label %21808

21808:                                            ; preds = %21807
  call void @llvm.lifetime.start.p0(i64 4, ptr %437) #11
  %21809 = call ptr @__errno_location() #12
  %21810 = load i32, ptr %21809, align 4, !tbaa !5
  store i32 %21810, ptr %437, align 4, !tbaa !5
  %21811 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21812 = call i32 @s2n_print_stacktrace(ptr noundef %21811)
  %21813 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %21814 = trunc i8 %21813 to i1
  br i1 %21814, label %21815, label %21837

21815:                                            ; preds = %21808
  %21816 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21817 = call i32 @fileno(ptr noundef %21816) #11
  %21818 = call i32 @isatty(i32 noundef %21817) #11
  %21819 = icmp ne i32 %21818, 0
  br i1 %21819, label %21820, label %21837

21820:                                            ; preds = %21815
  %21821 = load i32, ptr %437, align 4, !tbaa !5
  %21822 = call ptr @__errno_location() #12
  store i32 %21821, ptr %21822, align 4, !tbaa !5
  %21823 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21824 = load i32, ptr @test_count, align 4, !tbaa !5
  %21825 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21826 = load i32, ptr %21825, align 4, !tbaa !5
  %21827 = call ptr @s2n_strerror(i32 noundef %21826, ptr noundef @.str.11)
  %21828 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21829 = load i32, ptr %21828, align 4, !tbaa !5
  %21830 = call ptr @s2n_strerror_debug(i32 noundef %21829, ptr noundef @.str.11)
  %21831 = call ptr @__errno_location() #12
  %21832 = load i32, ptr %21831, align 4, !tbaa !5
  %21833 = call ptr @strerror(i32 noundef %21832) #11
  %21834 = call ptr @__errno_location() #12
  %21835 = load i32, ptr %21834, align 4, !tbaa !5
  %21836 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21823, ptr noundef @.str.9, i32 noundef %21824, ptr noundef @.str.54, ptr noundef @.str.8, i32 noundef 831, ptr noundef %21827, ptr noundef %21830, ptr noundef %21833, i32 noundef %21835) #11
  br label %21854

21837:                                            ; preds = %21815, %21808
  %21838 = load i32, ptr %437, align 4, !tbaa !5
  %21839 = call ptr @__errno_location() #12
  store i32 %21838, ptr %21839, align 4, !tbaa !5
  %21840 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21841 = load i32, ptr @test_count, align 4, !tbaa !5
  %21842 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21843 = load i32, ptr %21842, align 4, !tbaa !5
  %21844 = call ptr @s2n_strerror(i32 noundef %21843, ptr noundef @.str.11)
  %21845 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21846 = load i32, ptr %21845, align 4, !tbaa !5
  %21847 = call ptr @s2n_strerror_debug(i32 noundef %21846, ptr noundef @.str.11)
  %21848 = call ptr @__errno_location() #12
  %21849 = load i32, ptr %21848, align 4, !tbaa !5
  %21850 = call ptr @strerror(i32 noundef %21849) #11
  %21851 = call ptr @__errno_location() #12
  %21852 = load i32, ptr %21851, align 4, !tbaa !5
  %21853 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21840, ptr noundef @.str.12, i32 noundef %21841, ptr noundef @.str.54, ptr noundef @.str.8, i32 noundef 831, ptr noundef %21844, ptr noundef %21847, ptr noundef %21850, i32 noundef %21852) #11
  br label %21854

21854:                                            ; preds = %21837, %21820
  call void @llvm.lifetime.end.p0(i64 4, ptr %437) #11
  br label %21855

21855:                                            ; preds = %21854
  br label %21856

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

21857:                                            ; No predecessors!
  br label %21858

21858:                                            ; preds = %21857
  br label %21859

21859:                                            ; preds = %21858, %21799
  br label %21860

21860:                                            ; preds = %21859
  br label %21861

21861:                                            ; preds = %21860
  br label %21862

21862:                                            ; preds = %21861
  br label %21863

21863:                                            ; preds = %21862
  br label %21864

21864:                                            ; preds = %21863
  %21865 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %21865, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %21866 = call ptr @__errno_location() #12
  store i32 0, ptr %21866, align 4, !tbaa !5
  br label %21867

21867:                                            ; preds = %21864
  br label %21868

21868:                                            ; preds = %21867
  br label %21869

21869:                                            ; preds = %21868
  br label %21870

21870:                                            ; preds = %21869
  br label %21871

21871:                                            ; preds = %21870
  %21872 = load i32, ptr @test_count, align 4, !tbaa !5
  %21873 = add nsw i32 %21872, 1
  store i32 %21873, ptr @test_count, align 4, !tbaa !5
  %21874 = load ptr, ptr %409, align 8, !tbaa !9
  %21875 = getelementptr inbounds %struct.s2n_connection, ptr %21874, i32 0, i32 93
  %21876 = getelementptr inbounds %struct.s2n_post_handshake, ptr %21875, i32 0, i32 0
  %21877 = getelementptr inbounds %struct.s2n_stuffer, ptr %21876, i32 0, i32 0
  %21878 = getelementptr inbounds %struct.s2n_blob, ptr %21877, i32 0, i32 1
  %21879 = load i32, ptr %21878, align 8, !tbaa !81
  %21880 = icmp eq i32 %21879, 0
  br i1 %21880, label %21881, label %21934

21881:                                            ; preds = %21871
  br label %21882

21882:                                            ; preds = %21881
  br label %21883

21883:                                            ; preds = %21882
  call void @llvm.lifetime.start.p0(i64 4, ptr %438) #11
  %21884 = call ptr @__errno_location() #12
  %21885 = load i32, ptr %21884, align 4, !tbaa !5
  store i32 %21885, ptr %438, align 4, !tbaa !5
  %21886 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21887 = call i32 @s2n_print_stacktrace(ptr noundef %21886)
  %21888 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %21889 = trunc i8 %21888 to i1
  br i1 %21889, label %21890, label %21912

21890:                                            ; preds = %21883
  %21891 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21892 = call i32 @fileno(ptr noundef %21891) #11
  %21893 = call i32 @isatty(i32 noundef %21892) #11
  %21894 = icmp ne i32 %21893, 0
  br i1 %21894, label %21895, label %21912

21895:                                            ; preds = %21890
  %21896 = load i32, ptr %438, align 4, !tbaa !5
  %21897 = call ptr @__errno_location() #12
  store i32 %21896, ptr %21897, align 4, !tbaa !5
  %21898 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21899 = load i32, ptr @test_count, align 4, !tbaa !5
  %21900 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21901 = load i32, ptr %21900, align 4, !tbaa !5
  %21902 = call ptr @s2n_strerror(i32 noundef %21901, ptr noundef @.str.11)
  %21903 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21904 = load i32, ptr %21903, align 4, !tbaa !5
  %21905 = call ptr @s2n_strerror_debug(i32 noundef %21904, ptr noundef @.str.11)
  %21906 = call ptr @__errno_location() #12
  %21907 = load i32, ptr %21906, align 4, !tbaa !5
  %21908 = call ptr @strerror(i32 noundef %21907) #11
  %21909 = call ptr @__errno_location() #12
  %21910 = load i32, ptr %21909, align 4, !tbaa !5
  %21911 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21898, ptr noundef @.str.9, i32 noundef %21899, ptr noundef @.str.196, ptr noundef @.str.8, i32 noundef 832, ptr noundef %21902, ptr noundef %21905, ptr noundef %21908, i32 noundef %21910) #11
  br label %21929

21912:                                            ; preds = %21890, %21883
  %21913 = load i32, ptr %438, align 4, !tbaa !5
  %21914 = call ptr @__errno_location() #12
  store i32 %21913, ptr %21914, align 4, !tbaa !5
  %21915 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21916 = load i32, ptr @test_count, align 4, !tbaa !5
  %21917 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21918 = load i32, ptr %21917, align 4, !tbaa !5
  %21919 = call ptr @s2n_strerror(i32 noundef %21918, ptr noundef @.str.11)
  %21920 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21921 = load i32, ptr %21920, align 4, !tbaa !5
  %21922 = call ptr @s2n_strerror_debug(i32 noundef %21921, ptr noundef @.str.11)
  %21923 = call ptr @__errno_location() #12
  %21924 = load i32, ptr %21923, align 4, !tbaa !5
  %21925 = call ptr @strerror(i32 noundef %21924) #11
  %21926 = call ptr @__errno_location() #12
  %21927 = load i32, ptr %21926, align 4, !tbaa !5
  %21928 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21915, ptr noundef @.str.12, i32 noundef %21916, ptr noundef @.str.196, ptr noundef @.str.8, i32 noundef 832, ptr noundef %21919, ptr noundef %21922, ptr noundef %21925, i32 noundef %21927) #11
  br label %21929

21929:                                            ; preds = %21912, %21895
  call void @llvm.lifetime.end.p0(i64 4, ptr %438) #11
  br label %21930

21930:                                            ; preds = %21929
  br label %21931

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

21932:                                            ; No predecessors!
  br label %21933

21933:                                            ; preds = %21932
  br label %21934

21934:                                            ; preds = %21933, %21871
  br label %21935

21935:                                            ; preds = %21934
  br label %21936

21936:                                            ; preds = %21935
  %21937 = call i32 @s2n_connection_ptr_free(ptr noundef %409)
  %21938 = getelementptr inbounds %struct.s2n_result, ptr %439, i32 0, i32 0
  store i32 %21937, ptr %21938, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %409) #11
  call void @llvm.lifetime.end.p0(i64 4, ptr %383) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %440) #11
  %21939 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %21939, ptr %440, align 8, !tbaa !9
  br label %21940

21940:                                            ; preds = %21936
  %21941 = load i32, ptr @test_count, align 4, !tbaa !5
  %21942 = add nsw i32 %21941, 1
  store i32 %21942, ptr @test_count, align 4, !tbaa !5
  %21943 = load ptr, ptr %440, align 8, !tbaa !9
  %21944 = icmp eq ptr %21943, null
  br i1 %21944, label %21945, label %21998

21945:                                            ; preds = %21940
  br label %21946

21946:                                            ; preds = %21945
  br label %21947

21947:                                            ; preds = %21946
  call void @llvm.lifetime.start.p0(i64 4, ptr %441) #11
  %21948 = call ptr @__errno_location() #12
  %21949 = load i32, ptr %21948, align 4, !tbaa !5
  store i32 %21949, ptr %441, align 4, !tbaa !5
  %21950 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21951 = call i32 @s2n_print_stacktrace(ptr noundef %21950)
  %21952 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %21953 = trunc i8 %21952 to i1
  br i1 %21953, label %21954, label %21976

21954:                                            ; preds = %21947
  %21955 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21956 = call i32 @fileno(ptr noundef %21955) #11
  %21957 = call i32 @isatty(i32 noundef %21956) #11
  %21958 = icmp ne i32 %21957, 0
  br i1 %21958, label %21959, label %21976

21959:                                            ; preds = %21954
  %21960 = load i32, ptr %441, align 4, !tbaa !5
  %21961 = call ptr @__errno_location() #12
  store i32 %21960, ptr %21961, align 4, !tbaa !5
  %21962 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21963 = load i32, ptr @test_count, align 4, !tbaa !5
  %21964 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21965 = load i32, ptr %21964, align 4, !tbaa !5
  %21966 = call ptr @s2n_strerror(i32 noundef %21965, ptr noundef @.str.11)
  %21967 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21968 = load i32, ptr %21967, align 4, !tbaa !5
  %21969 = call ptr @s2n_strerror_debug(i32 noundef %21968, ptr noundef @.str.11)
  %21970 = call ptr @__errno_location() #12
  %21971 = load i32, ptr %21970, align 4, !tbaa !5
  %21972 = call ptr @strerror(i32 noundef %21971) #11
  %21973 = call ptr @__errno_location() #12
  %21974 = load i32, ptr %21973, align 4, !tbaa !5
  %21975 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21962, ptr noundef @.str.9, i32 noundef %21963, ptr noundef @.str.92, ptr noundef @.str.8, i32 noundef 843, ptr noundef %21966, ptr noundef %21969, ptr noundef %21972, i32 noundef %21974) #11
  br label %21993

21976:                                            ; preds = %21954, %21947
  %21977 = load i32, ptr %441, align 4, !tbaa !5
  %21978 = call ptr @__errno_location() #12
  store i32 %21977, ptr %21978, align 4, !tbaa !5
  %21979 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21980 = load i32, ptr @test_count, align 4, !tbaa !5
  %21981 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21982 = load i32, ptr %21981, align 4, !tbaa !5
  %21983 = call ptr @s2n_strerror(i32 noundef %21982, ptr noundef @.str.11)
  %21984 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21985 = load i32, ptr %21984, align 4, !tbaa !5
  %21986 = call ptr @s2n_strerror_debug(i32 noundef %21985, ptr noundef @.str.11)
  %21987 = call ptr @__errno_location() #12
  %21988 = load i32, ptr %21987, align 4, !tbaa !5
  %21989 = call ptr @strerror(i32 noundef %21988) #11
  %21990 = call ptr @__errno_location() #12
  %21991 = load i32, ptr %21990, align 4, !tbaa !5
  %21992 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21979, ptr noundef @.str.12, i32 noundef %21980, ptr noundef @.str.92, ptr noundef @.str.8, i32 noundef 843, ptr noundef %21983, ptr noundef %21986, ptr noundef %21989, i32 noundef %21991) #11
  br label %21993

21993:                                            ; preds = %21976, %21959
  call void @llvm.lifetime.end.p0(i64 4, ptr %441) #11
  br label %21994

21994:                                            ; preds = %21993
  br label %21995

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

21996:                                            ; No predecessors!
  br label %21997

21997:                                            ; preds = %21996
  br label %21998

21998:                                            ; preds = %21997, %21940
  br label %21999

21999:                                            ; preds = %21998
  br label %22000

22000:                                            ; preds = %21999
  br label %22001

22001:                                            ; preds = %22000
  %22002 = load i32, ptr @test_count, align 4, !tbaa !5
  %22003 = add nsw i32 %22002, 1
  store i32 %22003, ptr @test_count, align 4, !tbaa !5
  %22004 = call zeroext i1 @s2n_connection_check_io_status(ptr noundef null, i32 noundef 0)
  br i1 %22004, label %22005, label %22058

22005:                                            ; preds = %22001
  br label %22006

22006:                                            ; preds = %22005
  br label %22007

22007:                                            ; preds = %22006
  call void @llvm.lifetime.start.p0(i64 4, ptr %442) #11
  %22008 = call ptr @__errno_location() #12
  %22009 = load i32, ptr %22008, align 4, !tbaa !5
  store i32 %22009, ptr %442, align 4, !tbaa !5
  %22010 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22011 = call i32 @s2n_print_stacktrace(ptr noundef %22010)
  %22012 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %22013 = trunc i8 %22012 to i1
  br i1 %22013, label %22014, label %22036

22014:                                            ; preds = %22007
  %22015 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22016 = call i32 @fileno(ptr noundef %22015) #11
  %22017 = call i32 @isatty(i32 noundef %22016) #11
  %22018 = icmp ne i32 %22017, 0
  br i1 %22018, label %22019, label %22036

22019:                                            ; preds = %22014
  %22020 = load i32, ptr %442, align 4, !tbaa !5
  %22021 = call ptr @__errno_location() #12
  store i32 %22020, ptr %22021, align 4, !tbaa !5
  %22022 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22023 = load i32, ptr @test_count, align 4, !tbaa !5
  %22024 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22025 = load i32, ptr %22024, align 4, !tbaa !5
  %22026 = call ptr @s2n_strerror(i32 noundef %22025, ptr noundef @.str.11)
  %22027 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22028 = load i32, ptr %22027, align 4, !tbaa !5
  %22029 = call ptr @s2n_strerror_debug(i32 noundef %22028, ptr noundef @.str.11)
  %22030 = call ptr @__errno_location() #12
  %22031 = load i32, ptr %22030, align 4, !tbaa !5
  %22032 = call ptr @strerror(i32 noundef %22031) #11
  %22033 = call ptr @__errno_location() #12
  %22034 = load i32, ptr %22033, align 4, !tbaa !5
  %22035 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22022, ptr noundef @.str.9, i32 noundef %22023, ptr noundef @.str.201, ptr noundef @.str.8, i32 noundef 845, ptr noundef %22026, ptr noundef %22029, ptr noundef %22032, i32 noundef %22034) #11
  br label %22053

22036:                                            ; preds = %22014, %22007
  %22037 = load i32, ptr %442, align 4, !tbaa !5
  %22038 = call ptr @__errno_location() #12
  store i32 %22037, ptr %22038, align 4, !tbaa !5
  %22039 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22040 = load i32, ptr @test_count, align 4, !tbaa !5
  %22041 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22042 = load i32, ptr %22041, align 4, !tbaa !5
  %22043 = call ptr @s2n_strerror(i32 noundef %22042, ptr noundef @.str.11)
  %22044 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22045 = load i32, ptr %22044, align 4, !tbaa !5
  %22046 = call ptr @s2n_strerror_debug(i32 noundef %22045, ptr noundef @.str.11)
  %22047 = call ptr @__errno_location() #12
  %22048 = load i32, ptr %22047, align 4, !tbaa !5
  %22049 = call ptr @strerror(i32 noundef %22048) #11
  %22050 = call ptr @__errno_location() #12
  %22051 = load i32, ptr %22050, align 4, !tbaa !5
  %22052 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22039, ptr noundef @.str.12, i32 noundef %22040, ptr noundef @.str.201, ptr noundef @.str.8, i32 noundef 845, ptr noundef %22043, ptr noundef %22046, ptr noundef %22049, i32 noundef %22051) #11
  br label %22053

22053:                                            ; preds = %22036, %22019
  call void @llvm.lifetime.end.p0(i64 4, ptr %442) #11
  br label %22054

22054:                                            ; preds = %22053
  br label %22055

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

22056:                                            ; No predecessors!
  br label %22057

22057:                                            ; preds = %22056
  br label %22058

22058:                                            ; preds = %22057, %22001
  br label %22059

22059:                                            ; preds = %22058
  br label %22060

22060:                                            ; preds = %22059
  br label %22061

22061:                                            ; preds = %22060
  %22062 = load i32, ptr @test_count, align 4, !tbaa !5
  %22063 = add nsw i32 %22062, 1
  store i32 %22063, ptr @test_count, align 4, !tbaa !5
  %22064 = call zeroext i1 @s2n_connection_check_io_status(ptr noundef null, i32 noundef 1)
  br i1 %22064, label %22065, label %22118

22065:                                            ; preds = %22061
  br label %22066

22066:                                            ; preds = %22065
  br label %22067

22067:                                            ; preds = %22066
  call void @llvm.lifetime.start.p0(i64 4, ptr %443) #11
  %22068 = call ptr @__errno_location() #12
  %22069 = load i32, ptr %22068, align 4, !tbaa !5
  store i32 %22069, ptr %443, align 4, !tbaa !5
  %22070 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22071 = call i32 @s2n_print_stacktrace(ptr noundef %22070)
  %22072 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %22073 = trunc i8 %22072 to i1
  br i1 %22073, label %22074, label %22096

22074:                                            ; preds = %22067
  %22075 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22076 = call i32 @fileno(ptr noundef %22075) #11
  %22077 = call i32 @isatty(i32 noundef %22076) #11
  %22078 = icmp ne i32 %22077, 0
  br i1 %22078, label %22079, label %22096

22079:                                            ; preds = %22074
  %22080 = load i32, ptr %443, align 4, !tbaa !5
  %22081 = call ptr @__errno_location() #12
  store i32 %22080, ptr %22081, align 4, !tbaa !5
  %22082 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22083 = load i32, ptr @test_count, align 4, !tbaa !5
  %22084 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22085 = load i32, ptr %22084, align 4, !tbaa !5
  %22086 = call ptr @s2n_strerror(i32 noundef %22085, ptr noundef @.str.11)
  %22087 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22088 = load i32, ptr %22087, align 4, !tbaa !5
  %22089 = call ptr @s2n_strerror_debug(i32 noundef %22088, ptr noundef @.str.11)
  %22090 = call ptr @__errno_location() #12
  %22091 = load i32, ptr %22090, align 4, !tbaa !5
  %22092 = call ptr @strerror(i32 noundef %22091) #11
  %22093 = call ptr @__errno_location() #12
  %22094 = load i32, ptr %22093, align 4, !tbaa !5
  %22095 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22082, ptr noundef @.str.9, i32 noundef %22083, ptr noundef @.str.202, ptr noundef @.str.8, i32 noundef 846, ptr noundef %22086, ptr noundef %22089, ptr noundef %22092, i32 noundef %22094) #11
  br label %22113

22096:                                            ; preds = %22074, %22067
  %22097 = load i32, ptr %443, align 4, !tbaa !5
  %22098 = call ptr @__errno_location() #12
  store i32 %22097, ptr %22098, align 4, !tbaa !5
  %22099 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22100 = load i32, ptr @test_count, align 4, !tbaa !5
  %22101 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22102 = load i32, ptr %22101, align 4, !tbaa !5
  %22103 = call ptr @s2n_strerror(i32 noundef %22102, ptr noundef @.str.11)
  %22104 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22105 = load i32, ptr %22104, align 4, !tbaa !5
  %22106 = call ptr @s2n_strerror_debug(i32 noundef %22105, ptr noundef @.str.11)
  %22107 = call ptr @__errno_location() #12
  %22108 = load i32, ptr %22107, align 4, !tbaa !5
  %22109 = call ptr @strerror(i32 noundef %22108) #11
  %22110 = call ptr @__errno_location() #12
  %22111 = load i32, ptr %22110, align 4, !tbaa !5
  %22112 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22099, ptr noundef @.str.12, i32 noundef %22100, ptr noundef @.str.202, ptr noundef @.str.8, i32 noundef 846, ptr noundef %22103, ptr noundef %22106, ptr noundef %22109, i32 noundef %22111) #11
  br label %22113

22113:                                            ; preds = %22096, %22079
  call void @llvm.lifetime.end.p0(i64 4, ptr %443) #11
  br label %22114

22114:                                            ; preds = %22113
  br label %22115

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

22116:                                            ; No predecessors!
  br label %22117

22117:                                            ; preds = %22116
  br label %22118

22118:                                            ; preds = %22117, %22061
  br label %22119

22119:                                            ; preds = %22118
  br label %22120

22120:                                            ; preds = %22119
  br label %22121

22121:                                            ; preds = %22120
  %22122 = load i32, ptr @test_count, align 4, !tbaa !5
  %22123 = add nsw i32 %22122, 1
  store i32 %22123, ptr @test_count, align 4, !tbaa !5
  %22124 = call zeroext i1 @s2n_connection_check_io_status(ptr noundef null, i32 noundef 2)
  br i1 %22124, label %22125, label %22178

22125:                                            ; preds = %22121
  br label %22126

22126:                                            ; preds = %22125
  br label %22127

22127:                                            ; preds = %22126
  call void @llvm.lifetime.start.p0(i64 4, ptr %444) #11
  %22128 = call ptr @__errno_location() #12
  %22129 = load i32, ptr %22128, align 4, !tbaa !5
  store i32 %22129, ptr %444, align 4, !tbaa !5
  %22130 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22131 = call i32 @s2n_print_stacktrace(ptr noundef %22130)
  %22132 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %22133 = trunc i8 %22132 to i1
  br i1 %22133, label %22134, label %22156

22134:                                            ; preds = %22127
  %22135 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22136 = call i32 @fileno(ptr noundef %22135) #11
  %22137 = call i32 @isatty(i32 noundef %22136) #11
  %22138 = icmp ne i32 %22137, 0
  br i1 %22138, label %22139, label %22156

22139:                                            ; preds = %22134
  %22140 = load i32, ptr %444, align 4, !tbaa !5
  %22141 = call ptr @__errno_location() #12
  store i32 %22140, ptr %22141, align 4, !tbaa !5
  %22142 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22143 = load i32, ptr @test_count, align 4, !tbaa !5
  %22144 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22145 = load i32, ptr %22144, align 4, !tbaa !5
  %22146 = call ptr @s2n_strerror(i32 noundef %22145, ptr noundef @.str.11)
  %22147 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22148 = load i32, ptr %22147, align 4, !tbaa !5
  %22149 = call ptr @s2n_strerror_debug(i32 noundef %22148, ptr noundef @.str.11)
  %22150 = call ptr @__errno_location() #12
  %22151 = load i32, ptr %22150, align 4, !tbaa !5
  %22152 = call ptr @strerror(i32 noundef %22151) #11
  %22153 = call ptr @__errno_location() #12
  %22154 = load i32, ptr %22153, align 4, !tbaa !5
  %22155 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22142, ptr noundef @.str.9, i32 noundef %22143, ptr noundef @.str.203, ptr noundef @.str.8, i32 noundef 847, ptr noundef %22146, ptr noundef %22149, ptr noundef %22152, i32 noundef %22154) #11
  br label %22173

22156:                                            ; preds = %22134, %22127
  %22157 = load i32, ptr %444, align 4, !tbaa !5
  %22158 = call ptr @__errno_location() #12
  store i32 %22157, ptr %22158, align 4, !tbaa !5
  %22159 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22160 = load i32, ptr @test_count, align 4, !tbaa !5
  %22161 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22162 = load i32, ptr %22161, align 4, !tbaa !5
  %22163 = call ptr @s2n_strerror(i32 noundef %22162, ptr noundef @.str.11)
  %22164 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22165 = load i32, ptr %22164, align 4, !tbaa !5
  %22166 = call ptr @s2n_strerror_debug(i32 noundef %22165, ptr noundef @.str.11)
  %22167 = call ptr @__errno_location() #12
  %22168 = load i32, ptr %22167, align 4, !tbaa !5
  %22169 = call ptr @strerror(i32 noundef %22168) #11
  %22170 = call ptr @__errno_location() #12
  %22171 = load i32, ptr %22170, align 4, !tbaa !5
  %22172 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22159, ptr noundef @.str.12, i32 noundef %22160, ptr noundef @.str.203, ptr noundef @.str.8, i32 noundef 847, ptr noundef %22163, ptr noundef %22166, ptr noundef %22169, i32 noundef %22171) #11
  br label %22173

22173:                                            ; preds = %22156, %22139
  call void @llvm.lifetime.end.p0(i64 4, ptr %444) #11
  br label %22174

22174:                                            ; preds = %22173
  br label %22175

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

22176:                                            ; No predecessors!
  br label %22177

22177:                                            ; preds = %22176
  br label %22178

22178:                                            ; preds = %22177, %22121
  br label %22179

22179:                                            ; preds = %22178
  br label %22180

22180:                                            ; preds = %22179
  br label %22181

22181:                                            ; preds = %22180
  %22182 = load i32, ptr @test_count, align 4, !tbaa !5
  %22183 = add nsw i32 %22182, 1
  store i32 %22183, ptr @test_count, align 4, !tbaa !5
  %22184 = call zeroext i1 @s2n_connection_check_io_status(ptr noundef null, i32 noundef 3)
  br i1 %22184, label %22185, label %22238

22185:                                            ; preds = %22181
  br label %22186

22186:                                            ; preds = %22185
  br label %22187

22187:                                            ; preds = %22186
  call void @llvm.lifetime.start.p0(i64 4, ptr %445) #11
  %22188 = call ptr @__errno_location() #12
  %22189 = load i32, ptr %22188, align 4, !tbaa !5
  store i32 %22189, ptr %445, align 4, !tbaa !5
  %22190 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22191 = call i32 @s2n_print_stacktrace(ptr noundef %22190)
  %22192 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %22193 = trunc i8 %22192 to i1
  br i1 %22193, label %22194, label %22216

22194:                                            ; preds = %22187
  %22195 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22196 = call i32 @fileno(ptr noundef %22195) #11
  %22197 = call i32 @isatty(i32 noundef %22196) #11
  %22198 = icmp ne i32 %22197, 0
  br i1 %22198, label %22199, label %22216

22199:                                            ; preds = %22194
  %22200 = load i32, ptr %445, align 4, !tbaa !5
  %22201 = call ptr @__errno_location() #12
  store i32 %22200, ptr %22201, align 4, !tbaa !5
  %22202 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22203 = load i32, ptr @test_count, align 4, !tbaa !5
  %22204 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22205 = load i32, ptr %22204, align 4, !tbaa !5
  %22206 = call ptr @s2n_strerror(i32 noundef %22205, ptr noundef @.str.11)
  %22207 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22208 = load i32, ptr %22207, align 4, !tbaa !5
  %22209 = call ptr @s2n_strerror_debug(i32 noundef %22208, ptr noundef @.str.11)
  %22210 = call ptr @__errno_location() #12
  %22211 = load i32, ptr %22210, align 4, !tbaa !5
  %22212 = call ptr @strerror(i32 noundef %22211) #11
  %22213 = call ptr @__errno_location() #12
  %22214 = load i32, ptr %22213, align 4, !tbaa !5
  %22215 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22202, ptr noundef @.str.9, i32 noundef %22203, ptr noundef @.str.204, ptr noundef @.str.8, i32 noundef 848, ptr noundef %22206, ptr noundef %22209, ptr noundef %22212, i32 noundef %22214) #11
  br label %22233

22216:                                            ; preds = %22194, %22187
  %22217 = load i32, ptr %445, align 4, !tbaa !5
  %22218 = call ptr @__errno_location() #12
  store i32 %22217, ptr %22218, align 4, !tbaa !5
  %22219 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22220 = load i32, ptr @test_count, align 4, !tbaa !5
  %22221 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22222 = load i32, ptr %22221, align 4, !tbaa !5
  %22223 = call ptr @s2n_strerror(i32 noundef %22222, ptr noundef @.str.11)
  %22224 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22225 = load i32, ptr %22224, align 4, !tbaa !5
  %22226 = call ptr @s2n_strerror_debug(i32 noundef %22225, ptr noundef @.str.11)
  %22227 = call ptr @__errno_location() #12
  %22228 = load i32, ptr %22227, align 4, !tbaa !5
  %22229 = call ptr @strerror(i32 noundef %22228) #11
  %22230 = call ptr @__errno_location() #12
  %22231 = load i32, ptr %22230, align 4, !tbaa !5
  %22232 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22219, ptr noundef @.str.12, i32 noundef %22220, ptr noundef @.str.204, ptr noundef @.str.8, i32 noundef 848, ptr noundef %22223, ptr noundef %22226, ptr noundef %22229, i32 noundef %22231) #11
  br label %22233

22233:                                            ; preds = %22216, %22199
  call void @llvm.lifetime.end.p0(i64 4, ptr %445) #11
  br label %22234

22234:                                            ; preds = %22233
  br label %22235

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

22236:                                            ; No predecessors!
  br label %22237

22237:                                            ; preds = %22236
  br label %22238

22238:                                            ; preds = %22237, %22181
  br label %22239

22239:                                            ; preds = %22238
  br label %22240

22240:                                            ; preds = %22239
  br label %22241

22241:                                            ; preds = %22240
  %22242 = load i32, ptr @test_count, align 4, !tbaa !5
  %22243 = add nsw i32 %22242, 1
  store i32 %22243, ptr @test_count, align 4, !tbaa !5
  %22244 = call zeroext i1 @s2n_connection_check_io_status(ptr noundef null, i32 noundef 10)
  br i1 %22244, label %22245, label %22298

22245:                                            ; preds = %22241
  br label %22246

22246:                                            ; preds = %22245
  br label %22247

22247:                                            ; preds = %22246
  call void @llvm.lifetime.start.p0(i64 4, ptr %446) #11
  %22248 = call ptr @__errno_location() #12
  %22249 = load i32, ptr %22248, align 4, !tbaa !5
  store i32 %22249, ptr %446, align 4, !tbaa !5
  %22250 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22251 = call i32 @s2n_print_stacktrace(ptr noundef %22250)
  %22252 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %22253 = trunc i8 %22252 to i1
  br i1 %22253, label %22254, label %22276

22254:                                            ; preds = %22247
  %22255 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22256 = call i32 @fileno(ptr noundef %22255) #11
  %22257 = call i32 @isatty(i32 noundef %22256) #11
  %22258 = icmp ne i32 %22257, 0
  br i1 %22258, label %22259, label %22276

22259:                                            ; preds = %22254
  %22260 = load i32, ptr %446, align 4, !tbaa !5
  %22261 = call ptr @__errno_location() #12
  store i32 %22260, ptr %22261, align 4, !tbaa !5
  %22262 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22263 = load i32, ptr @test_count, align 4, !tbaa !5
  %22264 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22265 = load i32, ptr %22264, align 4, !tbaa !5
  %22266 = call ptr @s2n_strerror(i32 noundef %22265, ptr noundef @.str.11)
  %22267 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22268 = load i32, ptr %22267, align 4, !tbaa !5
  %22269 = call ptr @s2n_strerror_debug(i32 noundef %22268, ptr noundef @.str.11)
  %22270 = call ptr @__errno_location() #12
  %22271 = load i32, ptr %22270, align 4, !tbaa !5
  %22272 = call ptr @strerror(i32 noundef %22271) #11
  %22273 = call ptr @__errno_location() #12
  %22274 = load i32, ptr %22273, align 4, !tbaa !5
  %22275 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22262, ptr noundef @.str.9, i32 noundef %22263, ptr noundef @.str.205, ptr noundef @.str.8, i32 noundef 849, ptr noundef %22266, ptr noundef %22269, ptr noundef %22272, i32 noundef %22274) #11
  br label %22293

22276:                                            ; preds = %22254, %22247
  %22277 = load i32, ptr %446, align 4, !tbaa !5
  %22278 = call ptr @__errno_location() #12
  store i32 %22277, ptr %22278, align 4, !tbaa !5
  %22279 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22280 = load i32, ptr @test_count, align 4, !tbaa !5
  %22281 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22282 = load i32, ptr %22281, align 4, !tbaa !5
  %22283 = call ptr @s2n_strerror(i32 noundef %22282, ptr noundef @.str.11)
  %22284 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22285 = load i32, ptr %22284, align 4, !tbaa !5
  %22286 = call ptr @s2n_strerror_debug(i32 noundef %22285, ptr noundef @.str.11)
  %22287 = call ptr @__errno_location() #12
  %22288 = load i32, ptr %22287, align 4, !tbaa !5
  %22289 = call ptr @strerror(i32 noundef %22288) #11
  %22290 = call ptr @__errno_location() #12
  %22291 = load i32, ptr %22290, align 4, !tbaa !5
  %22292 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22279, ptr noundef @.str.12, i32 noundef %22280, ptr noundef @.str.205, ptr noundef @.str.8, i32 noundef 849, ptr noundef %22283, ptr noundef %22286, ptr noundef %22289, i32 noundef %22291) #11
  br label %22293

22293:                                            ; preds = %22276, %22259
  call void @llvm.lifetime.end.p0(i64 4, ptr %446) #11
  br label %22294

22294:                                            ; preds = %22293
  br label %22295

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

22296:                                            ; No predecessors!
  br label %22297

22297:                                            ; preds = %22296
  br label %22298

22298:                                            ; preds = %22297, %22241
  br label %22299

22299:                                            ; preds = %22298
  br label %22300

22300:                                            ; preds = %22299
  br label %22301

22301:                                            ; preds = %22300
  %22302 = load i32, ptr @test_count, align 4, !tbaa !5
  %22303 = add nsw i32 %22302, 1
  store i32 %22303, ptr @test_count, align 4, !tbaa !5
  %22304 = load ptr, ptr %440, align 8, !tbaa !9
  %22305 = call zeroext i1 @s2n_connection_check_io_status(ptr noundef %22304, i32 noundef 10)
  br i1 %22305, label %22306, label %22359

22306:                                            ; preds = %22301
  br label %22307

22307:                                            ; preds = %22306
  br label %22308

22308:                                            ; preds = %22307
  call void @llvm.lifetime.start.p0(i64 4, ptr %447) #11
  %22309 = call ptr @__errno_location() #12
  %22310 = load i32, ptr %22309, align 4, !tbaa !5
  store i32 %22310, ptr %447, align 4, !tbaa !5
  %22311 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22312 = call i32 @s2n_print_stacktrace(ptr noundef %22311)
  %22313 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %22314 = trunc i8 %22313 to i1
  br i1 %22314, label %22315, label %22337

22315:                                            ; preds = %22308
  %22316 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22317 = call i32 @fileno(ptr noundef %22316) #11
  %22318 = call i32 @isatty(i32 noundef %22317) #11
  %22319 = icmp ne i32 %22318, 0
  br i1 %22319, label %22320, label %22337

22320:                                            ; preds = %22315
  %22321 = load i32, ptr %447, align 4, !tbaa !5
  %22322 = call ptr @__errno_location() #12
  store i32 %22321, ptr %22322, align 4, !tbaa !5
  %22323 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22324 = load i32, ptr @test_count, align 4, !tbaa !5
  %22325 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22326 = load i32, ptr %22325, align 4, !tbaa !5
  %22327 = call ptr @s2n_strerror(i32 noundef %22326, ptr noundef @.str.11)
  %22328 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22329 = load i32, ptr %22328, align 4, !tbaa !5
  %22330 = call ptr @s2n_strerror_debug(i32 noundef %22329, ptr noundef @.str.11)
  %22331 = call ptr @__errno_location() #12
  %22332 = load i32, ptr %22331, align 4, !tbaa !5
  %22333 = call ptr @strerror(i32 noundef %22332) #11
  %22334 = call ptr @__errno_location() #12
  %22335 = load i32, ptr %22334, align 4, !tbaa !5
  %22336 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22323, ptr noundef @.str.9, i32 noundef %22324, ptr noundef @.str.206, ptr noundef @.str.8, i32 noundef 850, ptr noundef %22327, ptr noundef %22330, ptr noundef %22333, i32 noundef %22335) #11
  br label %22354

22337:                                            ; preds = %22315, %22308
  %22338 = load i32, ptr %447, align 4, !tbaa !5
  %22339 = call ptr @__errno_location() #12
  store i32 %22338, ptr %22339, align 4, !tbaa !5
  %22340 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22341 = load i32, ptr @test_count, align 4, !tbaa !5
  %22342 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22343 = load i32, ptr %22342, align 4, !tbaa !5
  %22344 = call ptr @s2n_strerror(i32 noundef %22343, ptr noundef @.str.11)
  %22345 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22346 = load i32, ptr %22345, align 4, !tbaa !5
  %22347 = call ptr @s2n_strerror_debug(i32 noundef %22346, ptr noundef @.str.11)
  %22348 = call ptr @__errno_location() #12
  %22349 = load i32, ptr %22348, align 4, !tbaa !5
  %22350 = call ptr @strerror(i32 noundef %22349) #11
  %22351 = call ptr @__errno_location() #12
  %22352 = load i32, ptr %22351, align 4, !tbaa !5
  %22353 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22340, ptr noundef @.str.12, i32 noundef %22341, ptr noundef @.str.206, ptr noundef @.str.8, i32 noundef 850, ptr noundef %22344, ptr noundef %22347, ptr noundef %22350, i32 noundef %22352) #11
  br label %22354

22354:                                            ; preds = %22337, %22320
  call void @llvm.lifetime.end.p0(i64 4, ptr %447) #11
  br label %22355

22355:                                            ; preds = %22354
  br label %22356

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

22357:                                            ; No predecessors!
  br label %22358

22358:                                            ; preds = %22357
  br label %22359

22359:                                            ; preds = %22358, %22301
  br label %22360

22360:                                            ; preds = %22359
  br label %22361

22361:                                            ; preds = %22360
  %22362 = call i32 @s2n_connection_ptr_free(ptr noundef %440)
  %22363 = getelementptr inbounds %struct.s2n_result, ptr %448, i32 0, i32 0
  store i32 %22362, ptr %22363, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %440) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %449) #11
  %22364 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %22364, ptr %449, align 8, !tbaa !9
  br label %22365

22365:                                            ; preds = %22361
  %22366 = load i32, ptr @test_count, align 4, !tbaa !5
  %22367 = add nsw i32 %22366, 1
  store i32 %22367, ptr @test_count, align 4, !tbaa !5
  %22368 = load ptr, ptr %449, align 8, !tbaa !9
  %22369 = icmp eq ptr %22368, null
  br i1 %22369, label %22370, label %22423

22370:                                            ; preds = %22365
  br label %22371

22371:                                            ; preds = %22370
  br label %22372

22372:                                            ; preds = %22371
  call void @llvm.lifetime.start.p0(i64 4, ptr %450) #11
  %22373 = call ptr @__errno_location() #12
  %22374 = load i32, ptr %22373, align 4, !tbaa !5
  store i32 %22374, ptr %450, align 4, !tbaa !5
  %22375 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22376 = call i32 @s2n_print_stacktrace(ptr noundef %22375)
  %22377 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %22378 = trunc i8 %22377 to i1
  br i1 %22378, label %22379, label %22401

22379:                                            ; preds = %22372
  %22380 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22381 = call i32 @fileno(ptr noundef %22380) #11
  %22382 = call i32 @isatty(i32 noundef %22381) #11
  %22383 = icmp ne i32 %22382, 0
  br i1 %22383, label %22384, label %22401

22384:                                            ; preds = %22379
  %22385 = load i32, ptr %450, align 4, !tbaa !5
  %22386 = call ptr @__errno_location() #12
  store i32 %22385, ptr %22386, align 4, !tbaa !5
  %22387 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22388 = load i32, ptr @test_count, align 4, !tbaa !5
  %22389 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22390 = load i32, ptr %22389, align 4, !tbaa !5
  %22391 = call ptr @s2n_strerror(i32 noundef %22390, ptr noundef @.str.11)
  %22392 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22393 = load i32, ptr %22392, align 4, !tbaa !5
  %22394 = call ptr @s2n_strerror_debug(i32 noundef %22393, ptr noundef @.str.11)
  %22395 = call ptr @__errno_location() #12
  %22396 = load i32, ptr %22395, align 4, !tbaa !5
  %22397 = call ptr @strerror(i32 noundef %22396) #11
  %22398 = call ptr @__errno_location() #12
  %22399 = load i32, ptr %22398, align 4, !tbaa !5
  %22400 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22387, ptr noundef @.str.9, i32 noundef %22388, ptr noundef @.str.92, ptr noundef @.str.8, i32 noundef 857, ptr noundef %22391, ptr noundef %22394, ptr noundef %22397, i32 noundef %22399) #11
  br label %22418

22401:                                            ; preds = %22379, %22372
  %22402 = load i32, ptr %450, align 4, !tbaa !5
  %22403 = call ptr @__errno_location() #12
  store i32 %22402, ptr %22403, align 4, !tbaa !5
  %22404 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22405 = load i32, ptr @test_count, align 4, !tbaa !5
  %22406 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22407 = load i32, ptr %22406, align 4, !tbaa !5
  %22408 = call ptr @s2n_strerror(i32 noundef %22407, ptr noundef @.str.11)
  %22409 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22410 = load i32, ptr %22409, align 4, !tbaa !5
  %22411 = call ptr @s2n_strerror_debug(i32 noundef %22410, ptr noundef @.str.11)
  %22412 = call ptr @__errno_location() #12
  %22413 = load i32, ptr %22412, align 4, !tbaa !5
  %22414 = call ptr @strerror(i32 noundef %22413) #11
  %22415 = call ptr @__errno_location() #12
  %22416 = load i32, ptr %22415, align 4, !tbaa !5
  %22417 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22404, ptr noundef @.str.12, i32 noundef %22405, ptr noundef @.str.92, ptr noundef @.str.8, i32 noundef 857, ptr noundef %22408, ptr noundef %22411, ptr noundef %22414, i32 noundef %22416) #11
  br label %22418

22418:                                            ; preds = %22401, %22384
  call void @llvm.lifetime.end.p0(i64 4, ptr %450) #11
  br label %22419

22419:                                            ; preds = %22418
  br label %22420

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

22421:                                            ; No predecessors!
  br label %22422

22422:                                            ; preds = %22421
  br label %22423

22423:                                            ; preds = %22422, %22365
  br label %22424

22424:                                            ; preds = %22423
  br label %22425

22425:                                            ; preds = %22424
  %22426 = load ptr, ptr %449, align 8, !tbaa !9
  %22427 = getelementptr inbounds %struct.s2n_connection, ptr %22426, i32 0, i32 23
  store i8 33, ptr %22427, align 4, !tbaa !49
  br label %22428

22428:                                            ; preds = %22425
  %22429 = load i32, ptr @test_count, align 4, !tbaa !5
  %22430 = add nsw i32 %22429, 1
  store i32 %22430, ptr @test_count, align 4, !tbaa !5
  %22431 = load ptr, ptr %449, align 8, !tbaa !9
  %22432 = call zeroext i1 @s2n_connection_check_io_status(ptr noundef %22431, i32 noundef 0)
  br i1 %22432, label %22486, label %22433

22433:                                            ; preds = %22428
  br label %22434

22434:                                            ; preds = %22433
  br label %22435

22435:                                            ; preds = %22434
  call void @llvm.lifetime.start.p0(i64 4, ptr %451) #11
  %22436 = call ptr @__errno_location() #12
  %22437 = load i32, ptr %22436, align 4, !tbaa !5
  store i32 %22437, ptr %451, align 4, !tbaa !5
  %22438 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22439 = call i32 @s2n_print_stacktrace(ptr noundef %22438)
  %22440 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %22441 = trunc i8 %22440 to i1
  br i1 %22441, label %22442, label %22464

22442:                                            ; preds = %22435
  %22443 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22444 = call i32 @fileno(ptr noundef %22443) #11
  %22445 = call i32 @isatty(i32 noundef %22444) #11
  %22446 = icmp ne i32 %22445, 0
  br i1 %22446, label %22447, label %22464

22447:                                            ; preds = %22442
  %22448 = load i32, ptr %451, align 4, !tbaa !5
  %22449 = call ptr @__errno_location() #12
  store i32 %22448, ptr %22449, align 4, !tbaa !5
  %22450 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22451 = load i32, ptr @test_count, align 4, !tbaa !5
  %22452 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22453 = load i32, ptr %22452, align 4, !tbaa !5
  %22454 = call ptr @s2n_strerror(i32 noundef %22453, ptr noundef @.str.11)
  %22455 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22456 = load i32, ptr %22455, align 4, !tbaa !5
  %22457 = call ptr @s2n_strerror_debug(i32 noundef %22456, ptr noundef @.str.11)
  %22458 = call ptr @__errno_location() #12
  %22459 = load i32, ptr %22458, align 4, !tbaa !5
  %22460 = call ptr @strerror(i32 noundef %22459) #11
  %22461 = call ptr @__errno_location() #12
  %22462 = load i32, ptr %22461, align 4, !tbaa !5
  %22463 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22450, ptr noundef @.str.9, i32 noundef %22451, ptr noundef @.str.207, ptr noundef @.str.8, i32 noundef 861, ptr noundef %22454, ptr noundef %22457, ptr noundef %22460, i32 noundef %22462) #11
  br label %22481

22464:                                            ; preds = %22442, %22435
  %22465 = load i32, ptr %451, align 4, !tbaa !5
  %22466 = call ptr @__errno_location() #12
  store i32 %22465, ptr %22466, align 4, !tbaa !5
  %22467 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22468 = load i32, ptr @test_count, align 4, !tbaa !5
  %22469 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22470 = load i32, ptr %22469, align 4, !tbaa !5
  %22471 = call ptr @s2n_strerror(i32 noundef %22470, ptr noundef @.str.11)
  %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_debug(i32 noundef %22473, ptr noundef @.str.11)
  %22475 = call ptr @__errno_location() #12
  %22476 = load i32, ptr %22475, align 4, !tbaa !5
  %22477 = call ptr @strerror(i32 noundef %22476) #11
  %22478 = call ptr @__errno_location() #12
  %22479 = load i32, ptr %22478, align 4, !tbaa !5
  %22480 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22467, ptr noundef @.str.12, i32 noundef %22468, ptr noundef @.str.207, ptr noundef @.str.8, i32 noundef 861, ptr noundef %22471, ptr noundef %22474, ptr noundef %22477, i32 noundef %22479) #11
  br label %22481

22481:                                            ; preds = %22464, %22447
  call void @llvm.lifetime.end.p0(i64 4, ptr %451) #11
  br label %22482

22482:                                            ; preds = %22481
  br label %22483

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

22484:                                            ; No predecessors!
  br label %22485

22485:                                            ; preds = %22484
  br label %22486

22486:                                            ; preds = %22485, %22428
  br label %22487

22487:                                            ; preds = %22486
  br label %22488

22488:                                            ; preds = %22487
  br label %22489

22489:                                            ; preds = %22488
  %22490 = load i32, ptr @test_count, align 4, !tbaa !5
  %22491 = add nsw i32 %22490, 1
  store i32 %22491, ptr @test_count, align 4, !tbaa !5
  %22492 = load ptr, ptr %449, align 8, !tbaa !9
  %22493 = call zeroext i1 @s2n_connection_check_io_status(ptr noundef %22492, i32 noundef 1)
  br i1 %22493, label %22547, label %22494

22494:                                            ; preds = %22489
  br label %22495

22495:                                            ; preds = %22494
  br label %22496

22496:                                            ; preds = %22495
  call void @llvm.lifetime.start.p0(i64 4, ptr %452) #11
  %22497 = call ptr @__errno_location() #12
  %22498 = load i32, ptr %22497, align 4, !tbaa !5
  store i32 %22498, ptr %452, align 4, !tbaa !5
  %22499 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22500 = call i32 @s2n_print_stacktrace(ptr noundef %22499)
  %22501 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %22502 = trunc i8 %22501 to i1
  br i1 %22502, label %22503, label %22525

22503:                                            ; preds = %22496
  %22504 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22505 = call i32 @fileno(ptr noundef %22504) #11
  %22506 = call i32 @isatty(i32 noundef %22505) #11
  %22507 = icmp ne i32 %22506, 0
  br i1 %22507, label %22508, label %22525

22508:                                            ; preds = %22503
  %22509 = load i32, ptr %452, align 4, !tbaa !5
  %22510 = call ptr @__errno_location() #12
  store i32 %22509, ptr %22510, align 4, !tbaa !5
  %22511 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22512 = load i32, ptr @test_count, align 4, !tbaa !5
  %22513 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22514 = load i32, ptr %22513, align 4, !tbaa !5
  %22515 = call ptr @s2n_strerror(i32 noundef %22514, ptr noundef @.str.11)
  %22516 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22517 = load i32, ptr %22516, align 4, !tbaa !5
  %22518 = call ptr @s2n_strerror_debug(i32 noundef %22517, ptr noundef @.str.11)
  %22519 = call ptr @__errno_location() #12
  %22520 = load i32, ptr %22519, align 4, !tbaa !5
  %22521 = call ptr @strerror(i32 noundef %22520) #11
  %22522 = call ptr @__errno_location() #12
  %22523 = load i32, ptr %22522, align 4, !tbaa !5
  %22524 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22511, ptr noundef @.str.9, i32 noundef %22512, ptr noundef @.str.208, ptr noundef @.str.8, i32 noundef 862, ptr noundef %22515, ptr noundef %22518, ptr noundef %22521, i32 noundef %22523) #11
  br label %22542

22525:                                            ; preds = %22503, %22496
  %22526 = load i32, ptr %452, align 4, !tbaa !5
  %22527 = call ptr @__errno_location() #12
  store i32 %22526, ptr %22527, align 4, !tbaa !5
  %22528 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22529 = load i32, ptr @test_count, align 4, !tbaa !5
  %22530 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22531 = load i32, ptr %22530, align 4, !tbaa !5
  %22532 = call ptr @s2n_strerror(i32 noundef %22531, ptr noundef @.str.11)
  %22533 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22534 = load i32, ptr %22533, align 4, !tbaa !5
  %22535 = call ptr @s2n_strerror_debug(i32 noundef %22534, ptr noundef @.str.11)
  %22536 = call ptr @__errno_location() #12
  %22537 = load i32, ptr %22536, align 4, !tbaa !5
  %22538 = call ptr @strerror(i32 noundef %22537) #11
  %22539 = call ptr @__errno_location() #12
  %22540 = load i32, ptr %22539, align 4, !tbaa !5
  %22541 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22528, ptr noundef @.str.12, i32 noundef %22529, ptr noundef @.str.208, ptr noundef @.str.8, i32 noundef 862, ptr noundef %22532, ptr noundef %22535, ptr noundef %22538, i32 noundef %22540) #11
  br label %22542

22542:                                            ; preds = %22525, %22508
  call void @llvm.lifetime.end.p0(i64 4, ptr %452) #11
  br label %22543

22543:                                            ; preds = %22542
  br label %22544

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

22545:                                            ; No predecessors!
  br label %22546

22546:                                            ; preds = %22545
  br label %22547

22547:                                            ; preds = %22546, %22489
  br label %22548

22548:                                            ; preds = %22547
  br label %22549

22549:                                            ; preds = %22548
  br label %22550

22550:                                            ; preds = %22549
  %22551 = load i32, ptr @test_count, align 4, !tbaa !5
  %22552 = add nsw i32 %22551, 1
  store i32 %22552, ptr @test_count, align 4, !tbaa !5
  %22553 = load ptr, ptr %449, align 8, !tbaa !9
  %22554 = call zeroext i1 @s2n_connection_check_io_status(ptr noundef %22553, i32 noundef 2)
  br i1 %22554, label %22608, label %22555

22555:                                            ; preds = %22550
  br label %22556

22556:                                            ; preds = %22555
  br label %22557

22557:                                            ; preds = %22556
  call void @llvm.lifetime.start.p0(i64 4, ptr %453) #11
  %22558 = call ptr @__errno_location() #12
  %22559 = load i32, ptr %22558, align 4, !tbaa !5
  store i32 %22559, ptr %453, align 4, !tbaa !5
  %22560 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22561 = call i32 @s2n_print_stacktrace(ptr noundef %22560)
  %22562 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %22563 = trunc i8 %22562 to i1
  br i1 %22563, label %22564, label %22586

22564:                                            ; preds = %22557
  %22565 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22566 = call i32 @fileno(ptr noundef %22565) #11
  %22567 = call i32 @isatty(i32 noundef %22566) #11
  %22568 = icmp ne i32 %22567, 0
  br i1 %22568, label %22569, label %22586

22569:                                            ; preds = %22564
  %22570 = load i32, ptr %453, align 4, !tbaa !5
  %22571 = call ptr @__errno_location() #12
  store i32 %22570, ptr %22571, align 4, !tbaa !5
  %22572 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22573 = load i32, ptr @test_count, align 4, !tbaa !5
  %22574 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22575 = load i32, ptr %22574, align 4, !tbaa !5
  %22576 = call ptr @s2n_strerror(i32 noundef %22575, ptr noundef @.str.11)
  %22577 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22578 = load i32, ptr %22577, align 4, !tbaa !5
  %22579 = call ptr @s2n_strerror_debug(i32 noundef %22578, ptr noundef @.str.11)
  %22580 = call ptr @__errno_location() #12
  %22581 = load i32, ptr %22580, align 4, !tbaa !5
  %22582 = call ptr @strerror(i32 noundef %22581) #11
  %22583 = call ptr @__errno_location() #12
  %22584 = load i32, ptr %22583, align 4, !tbaa !5
  %22585 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22572, ptr noundef @.str.9, i32 noundef %22573, ptr noundef @.str.209, ptr noundef @.str.8, i32 noundef 863, ptr noundef %22576, ptr noundef %22579, ptr noundef %22582, i32 noundef %22584) #11
  br label %22603

22586:                                            ; preds = %22564, %22557
  %22587 = load i32, ptr %453, align 4, !tbaa !5
  %22588 = call ptr @__errno_location() #12
  store i32 %22587, ptr %22588, align 4, !tbaa !5
  %22589 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22590 = load i32, ptr @test_count, align 4, !tbaa !5
  %22591 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22592 = load i32, ptr %22591, align 4, !tbaa !5
  %22593 = call ptr @s2n_strerror(i32 noundef %22592, ptr noundef @.str.11)
  %22594 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22595 = load i32, ptr %22594, align 4, !tbaa !5
  %22596 = call ptr @s2n_strerror_debug(i32 noundef %22595, ptr noundef @.str.11)
  %22597 = call ptr @__errno_location() #12
  %22598 = load i32, ptr %22597, align 4, !tbaa !5
  %22599 = call ptr @strerror(i32 noundef %22598) #11
  %22600 = call ptr @__errno_location() #12
  %22601 = load i32, ptr %22600, align 4, !tbaa !5
  %22602 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22589, ptr noundef @.str.12, i32 noundef %22590, ptr noundef @.str.209, ptr noundef @.str.8, i32 noundef 863, ptr noundef %22593, ptr noundef %22596, ptr noundef %22599, i32 noundef %22601) #11
  br label %22603

22603:                                            ; preds = %22586, %22569
  call void @llvm.lifetime.end.p0(i64 4, ptr %453) #11
  br label %22604

22604:                                            ; preds = %22603
  br label %22605

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

22606:                                            ; No predecessors!
  br label %22607

22607:                                            ; preds = %22606
  br label %22608

22608:                                            ; preds = %22607, %22550
  br label %22609

22609:                                            ; preds = %22608
  br label %22610

22610:                                            ; preds = %22609
  br label %22611

22611:                                            ; preds = %22610
  %22612 = load i32, ptr @test_count, align 4, !tbaa !5
  %22613 = add nsw i32 %22612, 1
  store i32 %22613, ptr @test_count, align 4, !tbaa !5
  %22614 = load ptr, ptr %449, align 8, !tbaa !9
  %22615 = call zeroext i1 @s2n_connection_check_io_status(ptr noundef %22614, i32 noundef 3)
  br i1 %22615, label %22616, label %22669

22616:                                            ; preds = %22611
  br label %22617

22617:                                            ; preds = %22616
  br label %22618

22618:                                            ; preds = %22617
  call void @llvm.lifetime.start.p0(i64 4, ptr %454) #11
  %22619 = call ptr @__errno_location() #12
  %22620 = load i32, ptr %22619, align 4, !tbaa !5
  store i32 %22620, ptr %454, align 4, !tbaa !5
  %22621 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22622 = call i32 @s2n_print_stacktrace(ptr noundef %22621)
  %22623 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %22624 = trunc i8 %22623 to i1
  br i1 %22624, label %22625, label %22647

22625:                                            ; preds = %22618
  %22626 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22627 = call i32 @fileno(ptr noundef %22626) #11
  %22628 = call i32 @isatty(i32 noundef %22627) #11
  %22629 = icmp ne i32 %22628, 0
  br i1 %22629, label %22630, label %22647

22630:                                            ; preds = %22625
  %22631 = load i32, ptr %454, align 4, !tbaa !5
  %22632 = call ptr @__errno_location() #12
  store i32 %22631, ptr %22632, align 4, !tbaa !5
  %22633 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22634 = load i32, ptr @test_count, align 4, !tbaa !5
  %22635 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22636 = load i32, ptr %22635, align 4, !tbaa !5
  %22637 = call ptr @s2n_strerror(i32 noundef %22636, ptr noundef @.str.11)
  %22638 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22639 = load i32, ptr %22638, align 4, !tbaa !5
  %22640 = call ptr @s2n_strerror_debug(i32 noundef %22639, ptr noundef @.str.11)
  %22641 = call ptr @__errno_location() #12
  %22642 = load i32, ptr %22641, align 4, !tbaa !5
  %22643 = call ptr @strerror(i32 noundef %22642) #11
  %22644 = call ptr @__errno_location() #12
  %22645 = load i32, ptr %22644, align 4, !tbaa !5
  %22646 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22633, ptr noundef @.str.9, i32 noundef %22634, ptr noundef @.str.210, ptr noundef @.str.8, i32 noundef 864, ptr noundef %22637, ptr noundef %22640, ptr noundef %22643, i32 noundef %22645) #11
  br label %22664

22647:                                            ; preds = %22625, %22618
  %22648 = load i32, ptr %454, align 4, !tbaa !5
  %22649 = call ptr @__errno_location() #12
  store i32 %22648, ptr %22649, align 4, !tbaa !5
  %22650 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22651 = load i32, ptr @test_count, align 4, !tbaa !5
  %22652 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22653 = load i32, ptr %22652, align 4, !tbaa !5
  %22654 = call ptr @s2n_strerror(i32 noundef %22653, ptr noundef @.str.11)
  %22655 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22656 = load i32, ptr %22655, align 4, !tbaa !5
  %22657 = call ptr @s2n_strerror_debug(i32 noundef %22656, ptr noundef @.str.11)
  %22658 = call ptr @__errno_location() #12
  %22659 = load i32, ptr %22658, align 4, !tbaa !5
  %22660 = call ptr @strerror(i32 noundef %22659) #11
  %22661 = call ptr @__errno_location() #12
  %22662 = load i32, ptr %22661, align 4, !tbaa !5
  %22663 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22650, ptr noundef @.str.12, i32 noundef %22651, ptr noundef @.str.210, ptr noundef @.str.8, i32 noundef 864, ptr noundef %22654, ptr noundef %22657, ptr noundef %22660, i32 noundef %22662) #11
  br label %22664

22664:                                            ; preds = %22647, %22630
  call void @llvm.lifetime.end.p0(i64 4, ptr %454) #11
  br label %22665

22665:                                            ; preds = %22664
  br label %22666

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

22667:                                            ; No predecessors!
  br label %22668

22668:                                            ; preds = %22667
  br label %22669

22669:                                            ; preds = %22668, %22611
  br label %22670

22670:                                            ; preds = %22669
  br label %22671

22671:                                            ; preds = %22670
  %22672 = load ptr, ptr %449, align 8, !tbaa !9
  %22673 = getelementptr inbounds %struct.s2n_connection, ptr %22672, i32 0, i32 62
  call void @s2n_atomic_flag_set(ptr noundef %22673)
  br label %22674

22674:                                            ; preds = %22671
  %22675 = load i32, ptr @test_count, align 4, !tbaa !5
  %22676 = add nsw i32 %22675, 1
  store i32 %22676, ptr @test_count, align 4, !tbaa !5
  %22677 = load ptr, ptr %449, align 8, !tbaa !9
  %22678 = call zeroext i1 @s2n_connection_check_io_status(ptr noundef %22677, i32 noundef 0)
  br i1 %22678, label %22679, label %22732

22679:                                            ; preds = %22674
  br label %22680

22680:                                            ; preds = %22679
  br label %22681

22681:                                            ; preds = %22680
  call void @llvm.lifetime.start.p0(i64 4, ptr %455) #11
  %22682 = call ptr @__errno_location() #12
  %22683 = load i32, ptr %22682, align 4, !tbaa !5
  store i32 %22683, ptr %455, align 4, !tbaa !5
  %22684 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22685 = call i32 @s2n_print_stacktrace(ptr noundef %22684)
  %22686 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %22687 = trunc i8 %22686 to i1
  br i1 %22687, label %22688, label %22710

22688:                                            ; preds = %22681
  %22689 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22690 = call i32 @fileno(ptr noundef %22689) #11
  %22691 = call i32 @isatty(i32 noundef %22690) #11
  %22692 = icmp ne i32 %22691, 0
  br i1 %22692, label %22693, label %22710

22693:                                            ; preds = %22688
  %22694 = load i32, ptr %455, align 4, !tbaa !5
  %22695 = call ptr @__errno_location() #12
  store i32 %22694, ptr %22695, align 4, !tbaa !5
  %22696 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22697 = load i32, ptr @test_count, align 4, !tbaa !5
  %22698 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22699 = load i32, ptr %22698, align 4, !tbaa !5
  %22700 = call ptr @s2n_strerror(i32 noundef %22699, ptr noundef @.str.11)
  %22701 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22702 = load i32, ptr %22701, align 4, !tbaa !5
  %22703 = call ptr @s2n_strerror_debug(i32 noundef %22702, ptr noundef @.str.11)
  %22704 = call ptr @__errno_location() #12
  %22705 = load i32, ptr %22704, align 4, !tbaa !5
  %22706 = call ptr @strerror(i32 noundef %22705) #11
  %22707 = call ptr @__errno_location() #12
  %22708 = load i32, ptr %22707, align 4, !tbaa !5
  %22709 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22696, ptr noundef @.str.9, i32 noundef %22697, ptr noundef @.str.211, ptr noundef @.str.8, i32 noundef 868, ptr noundef %22700, ptr noundef %22703, ptr noundef %22706, i32 noundef %22708) #11
  br label %22727

22710:                                            ; preds = %22688, %22681
  %22711 = load i32, ptr %455, align 4, !tbaa !5
  %22712 = call ptr @__errno_location() #12
  store i32 %22711, ptr %22712, align 4, !tbaa !5
  %22713 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22714 = load i32, ptr @test_count, align 4, !tbaa !5
  %22715 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22716 = load i32, ptr %22715, align 4, !tbaa !5
  %22717 = call ptr @s2n_strerror(i32 noundef %22716, ptr noundef @.str.11)
  %22718 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22719 = load i32, ptr %22718, align 4, !tbaa !5
  %22720 = call ptr @s2n_strerror_debug(i32 noundef %22719, ptr noundef @.str.11)
  %22721 = call ptr @__errno_location() #12
  %22722 = load i32, ptr %22721, align 4, !tbaa !5
  %22723 = call ptr @strerror(i32 noundef %22722) #11
  %22724 = call ptr @__errno_location() #12
  %22725 = load i32, ptr %22724, align 4, !tbaa !5
  %22726 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22713, ptr noundef @.str.12, i32 noundef %22714, ptr noundef @.str.211, ptr noundef @.str.8, i32 noundef 868, ptr noundef %22717, ptr noundef %22720, ptr noundef %22723, i32 noundef %22725) #11
  br label %22727

22727:                                            ; preds = %22710, %22693
  call void @llvm.lifetime.end.p0(i64 4, ptr %455) #11
  br label %22728

22728:                                            ; preds = %22727
  br label %22729

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

22730:                                            ; No predecessors!
  br label %22731

22731:                                            ; preds = %22730
  br label %22732

22732:                                            ; preds = %22731, %22674
  br label %22733

22733:                                            ; preds = %22732
  br label %22734

22734:                                            ; preds = %22733
  br label %22735

22735:                                            ; preds = %22734
  %22736 = load i32, ptr @test_count, align 4, !tbaa !5
  %22737 = add nsw i32 %22736, 1
  store i32 %22737, ptr @test_count, align 4, !tbaa !5
  %22738 = load ptr, ptr %449, align 8, !tbaa !9
  %22739 = call zeroext i1 @s2n_connection_check_io_status(ptr noundef %22738, i32 noundef 1)
  br i1 %22739, label %22740, label %22793

22740:                                            ; preds = %22735
  br label %22741

22741:                                            ; preds = %22740
  br label %22742

22742:                                            ; preds = %22741
  call void @llvm.lifetime.start.p0(i64 4, ptr %456) #11
  %22743 = call ptr @__errno_location() #12
  %22744 = load i32, ptr %22743, align 4, !tbaa !5
  store i32 %22744, ptr %456, align 4, !tbaa !5
  %22745 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22746 = call i32 @s2n_print_stacktrace(ptr noundef %22745)
  %22747 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %22748 = trunc i8 %22747 to i1
  br i1 %22748, label %22749, label %22771

22749:                                            ; preds = %22742
  %22750 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22751 = call i32 @fileno(ptr noundef %22750) #11
  %22752 = call i32 @isatty(i32 noundef %22751) #11
  %22753 = icmp ne i32 %22752, 0
  br i1 %22753, label %22754, label %22771

22754:                                            ; preds = %22749
  %22755 = load i32, ptr %456, align 4, !tbaa !5
  %22756 = call ptr @__errno_location() #12
  store i32 %22755, ptr %22756, align 4, !tbaa !5
  %22757 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22758 = load i32, ptr @test_count, align 4, !tbaa !5
  %22759 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22760 = load i32, ptr %22759, align 4, !tbaa !5
  %22761 = call ptr @s2n_strerror(i32 noundef %22760, ptr noundef @.str.11)
  %22762 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22763 = load i32, ptr %22762, align 4, !tbaa !5
  %22764 = call ptr @s2n_strerror_debug(i32 noundef %22763, ptr noundef @.str.11)
  %22765 = call ptr @__errno_location() #12
  %22766 = load i32, ptr %22765, align 4, !tbaa !5
  %22767 = call ptr @strerror(i32 noundef %22766) #11
  %22768 = call ptr @__errno_location() #12
  %22769 = load i32, ptr %22768, align 4, !tbaa !5
  %22770 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22757, ptr noundef @.str.9, i32 noundef %22758, ptr noundef @.str.212, ptr noundef @.str.8, i32 noundef 869, ptr noundef %22761, ptr noundef %22764, ptr noundef %22767, i32 noundef %22769) #11
  br label %22788

22771:                                            ; preds = %22749, %22742
  %22772 = load i32, ptr %456, align 4, !tbaa !5
  %22773 = call ptr @__errno_location() #12
  store i32 %22772, ptr %22773, align 4, !tbaa !5
  %22774 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22775 = load i32, ptr @test_count, align 4, !tbaa !5
  %22776 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22777 = load i32, ptr %22776, align 4, !tbaa !5
  %22778 = call ptr @s2n_strerror(i32 noundef %22777, ptr noundef @.str.11)
  %22779 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22780 = load i32, ptr %22779, align 4, !tbaa !5
  %22781 = call ptr @s2n_strerror_debug(i32 noundef %22780, ptr noundef @.str.11)
  %22782 = call ptr @__errno_location() #12
  %22783 = load i32, ptr %22782, align 4, !tbaa !5
  %22784 = call ptr @strerror(i32 noundef %22783) #11
  %22785 = call ptr @__errno_location() #12
  %22786 = load i32, ptr %22785, align 4, !tbaa !5
  %22787 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22774, ptr noundef @.str.12, i32 noundef %22775, ptr noundef @.str.212, ptr noundef @.str.8, i32 noundef 869, ptr noundef %22778, ptr noundef %22781, ptr noundef %22784, i32 noundef %22786) #11
  br label %22788

22788:                                            ; preds = %22771, %22754
  call void @llvm.lifetime.end.p0(i64 4, ptr %456) #11
  br label %22789

22789:                                            ; preds = %22788
  br label %22790

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

22791:                                            ; No predecessors!
  br label %22792

22792:                                            ; preds = %22791
  br label %22793

22793:                                            ; preds = %22792, %22735
  br label %22794

22794:                                            ; preds = %22793
  br label %22795

22795:                                            ; preds = %22794
  br label %22796

22796:                                            ; preds = %22795
  %22797 = load i32, ptr @test_count, align 4, !tbaa !5
  %22798 = add nsw i32 %22797, 1
  store i32 %22798, ptr @test_count, align 4, !tbaa !5
  %22799 = load ptr, ptr %449, align 8, !tbaa !9
  %22800 = call zeroext i1 @s2n_connection_check_io_status(ptr noundef %22799, i32 noundef 2)
  br i1 %22800, label %22801, label %22854

22801:                                            ; preds = %22796
  br label %22802

22802:                                            ; preds = %22801
  br label %22803

22803:                                            ; preds = %22802
  call void @llvm.lifetime.start.p0(i64 4, ptr %457) #11
  %22804 = call ptr @__errno_location() #12
  %22805 = load i32, ptr %22804, align 4, !tbaa !5
  store i32 %22805, ptr %457, align 4, !tbaa !5
  %22806 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22807 = call i32 @s2n_print_stacktrace(ptr noundef %22806)
  %22808 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %22809 = trunc i8 %22808 to i1
  br i1 %22809, label %22810, label %22832

22810:                                            ; preds = %22803
  %22811 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22812 = call i32 @fileno(ptr noundef %22811) #11
  %22813 = call i32 @isatty(i32 noundef %22812) #11
  %22814 = icmp ne i32 %22813, 0
  br i1 %22814, label %22815, label %22832

22815:                                            ; preds = %22810
  %22816 = load i32, ptr %457, align 4, !tbaa !5
  %22817 = call ptr @__errno_location() #12
  store i32 %22816, ptr %22817, align 4, !tbaa !5
  %22818 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22819 = load i32, ptr @test_count, align 4, !tbaa !5
  %22820 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22821 = load i32, ptr %22820, align 4, !tbaa !5
  %22822 = call ptr @s2n_strerror(i32 noundef %22821, ptr noundef @.str.11)
  %22823 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22824 = load i32, ptr %22823, align 4, !tbaa !5
  %22825 = call ptr @s2n_strerror_debug(i32 noundef %22824, ptr noundef @.str.11)
  %22826 = call ptr @__errno_location() #12
  %22827 = load i32, ptr %22826, align 4, !tbaa !5
  %22828 = call ptr @strerror(i32 noundef %22827) #11
  %22829 = call ptr @__errno_location() #12
  %22830 = load i32, ptr %22829, align 4, !tbaa !5
  %22831 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22818, ptr noundef @.str.9, i32 noundef %22819, ptr noundef @.str.213, ptr noundef @.str.8, i32 noundef 870, ptr noundef %22822, ptr noundef %22825, ptr noundef %22828, i32 noundef %22830) #11
  br label %22849

22832:                                            ; preds = %22810, %22803
  %22833 = load i32, ptr %457, align 4, !tbaa !5
  %22834 = call ptr @__errno_location() #12
  store i32 %22833, ptr %22834, align 4, !tbaa !5
  %22835 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22836 = load i32, ptr @test_count, align 4, !tbaa !5
  %22837 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22838 = load i32, ptr %22837, align 4, !tbaa !5
  %22839 = call ptr @s2n_strerror(i32 noundef %22838, ptr noundef @.str.11)
  %22840 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22841 = load i32, ptr %22840, align 4, !tbaa !5
  %22842 = call ptr @s2n_strerror_debug(i32 noundef %22841, ptr noundef @.str.11)
  %22843 = call ptr @__errno_location() #12
  %22844 = load i32, ptr %22843, align 4, !tbaa !5
  %22845 = call ptr @strerror(i32 noundef %22844) #11
  %22846 = call ptr @__errno_location() #12
  %22847 = load i32, ptr %22846, align 4, !tbaa !5
  %22848 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22835, ptr noundef @.str.12, i32 noundef %22836, ptr noundef @.str.213, ptr noundef @.str.8, i32 noundef 870, ptr noundef %22839, ptr noundef %22842, ptr noundef %22845, i32 noundef %22847) #11
  br label %22849

22849:                                            ; preds = %22832, %22815
  call void @llvm.lifetime.end.p0(i64 4, ptr %457) #11
  br label %22850

22850:                                            ; preds = %22849
  br label %22851

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

22852:                                            ; No predecessors!
  br label %22853

22853:                                            ; preds = %22852
  br label %22854

22854:                                            ; preds = %22853, %22796
  br label %22855

22855:                                            ; preds = %22854
  br label %22856

22856:                                            ; preds = %22855
  br label %22857

22857:                                            ; preds = %22856
  %22858 = load i32, ptr @test_count, align 4, !tbaa !5
  %22859 = add nsw i32 %22858, 1
  store i32 %22859, ptr @test_count, align 4, !tbaa !5
  %22860 = load ptr, ptr %449, align 8, !tbaa !9
  %22861 = call zeroext i1 @s2n_connection_check_io_status(ptr noundef %22860, i32 noundef 3)
  br i1 %22861, label %22915, label %22862

22862:                                            ; preds = %22857
  br label %22863

22863:                                            ; preds = %22862
  br label %22864

22864:                                            ; preds = %22863
  call void @llvm.lifetime.start.p0(i64 4, ptr %458) #11
  %22865 = call ptr @__errno_location() #12
  %22866 = load i32, ptr %22865, align 4, !tbaa !5
  store i32 %22866, ptr %458, align 4, !tbaa !5
  %22867 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22868 = call i32 @s2n_print_stacktrace(ptr noundef %22867)
  %22869 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %22870 = trunc i8 %22869 to i1
  br i1 %22870, label %22871, label %22893

22871:                                            ; preds = %22864
  %22872 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22873 = call i32 @fileno(ptr noundef %22872) #11
  %22874 = call i32 @isatty(i32 noundef %22873) #11
  %22875 = icmp ne i32 %22874, 0
  br i1 %22875, label %22876, label %22893

22876:                                            ; preds = %22871
  %22877 = load i32, ptr %458, 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.11)
  %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.11)
  %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.9, i32 noundef %22880, ptr noundef @.str.214, ptr noundef @.str.8, i32 noundef 871, ptr noundef %22883, ptr noundef %22886, ptr noundef %22889, i32 noundef %22891) #11
  br label %22910

22893:                                            ; preds = %22871, %22864
  %22894 = load i32, ptr %458, align 4, !tbaa !5
  %22895 = call ptr @__errno_location() #12
  store i32 %22894, ptr %22895, align 4, !tbaa !5
  %22896 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22897 = load i32, ptr @test_count, align 4, !tbaa !5
  %22898 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22899 = load i32, ptr %22898, align 4, !tbaa !5
  %22900 = call ptr @s2n_strerror(i32 noundef %22899, ptr noundef @.str.11)
  %22901 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22902 = load i32, ptr %22901, align 4, !tbaa !5
  %22903 = call ptr @s2n_strerror_debug(i32 noundef %22902, ptr noundef @.str.11)
  %22904 = call ptr @__errno_location() #12
  %22905 = load i32, ptr %22904, align 4, !tbaa !5
  %22906 = call ptr @strerror(i32 noundef %22905) #11
  %22907 = call ptr @__errno_location() #12
  %22908 = load i32, ptr %22907, align 4, !tbaa !5
  %22909 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22896, ptr noundef @.str.12, i32 noundef %22897, ptr noundef @.str.214, ptr noundef @.str.8, i32 noundef 871, ptr noundef %22900, ptr noundef %22903, ptr noundef %22906, i32 noundef %22908) #11
  br label %22910

22910:                                            ; preds = %22893, %22876
  call void @llvm.lifetime.end.p0(i64 4, ptr %458) #11
  br label %22911

22911:                                            ; preds = %22910
  br label %22912

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

22913:                                            ; No predecessors!
  br label %22914

22914:                                            ; preds = %22913
  br label %22915

22915:                                            ; preds = %22914, %22857
  br label %22916

22916:                                            ; preds = %22915
  br label %22917

22917:                                            ; preds = %22916
  %22918 = load ptr, ptr %449, align 8, !tbaa !9
  %22919 = getelementptr inbounds %struct.s2n_connection, ptr %22918, i32 0, i32 62
  call void @s2n_atomic_flag_clear(ptr noundef %22919)
  %22920 = load ptr, ptr %449, align 8, !tbaa !9
  %22921 = getelementptr inbounds %struct.s2n_connection, ptr %22920, i32 0, i32 61
  call void @s2n_atomic_flag_set(ptr noundef %22921)
  br label %22922

22922:                                            ; preds = %22917
  %22923 = load i32, ptr @test_count, align 4, !tbaa !5
  %22924 = add nsw i32 %22923, 1
  store i32 %22924, ptr @test_count, align 4, !tbaa !5
  %22925 = load ptr, ptr %449, align 8, !tbaa !9
  %22926 = call zeroext i1 @s2n_connection_check_io_status(ptr noundef %22925, i32 noundef 0)
  br i1 %22926, label %22927, label %22980

22927:                                            ; preds = %22922
  br label %22928

22928:                                            ; preds = %22927
  br label %22929

22929:                                            ; preds = %22928
  call void @llvm.lifetime.start.p0(i64 4, ptr %459) #11
  %22930 = call ptr @__errno_location() #12
  %22931 = load i32, ptr %22930, align 4, !tbaa !5
  store i32 %22931, ptr %459, align 4, !tbaa !5
  %22932 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22933 = call i32 @s2n_print_stacktrace(ptr noundef %22932)
  %22934 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %22935 = trunc i8 %22934 to i1
  br i1 %22935, label %22936, label %22958

22936:                                            ; preds = %22929
  %22937 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22938 = call i32 @fileno(ptr noundef %22937) #11
  %22939 = call i32 @isatty(i32 noundef %22938) #11
  %22940 = icmp ne i32 %22939, 0
  br i1 %22940, label %22941, label %22958

22941:                                            ; preds = %22936
  %22942 = load i32, ptr %459, align 4, !tbaa !5
  %22943 = call ptr @__errno_location() #12
  store i32 %22942, ptr %22943, align 4, !tbaa !5
  %22944 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22945 = load i32, ptr @test_count, align 4, !tbaa !5
  %22946 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22947 = load i32, ptr %22946, align 4, !tbaa !5
  %22948 = call ptr @s2n_strerror(i32 noundef %22947, ptr noundef @.str.11)
  %22949 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22950 = load i32, ptr %22949, align 4, !tbaa !5
  %22951 = call ptr @s2n_strerror_debug(i32 noundef %22950, ptr noundef @.str.11)
  %22952 = call ptr @__errno_location() #12
  %22953 = load i32, ptr %22952, align 4, !tbaa !5
  %22954 = call ptr @strerror(i32 noundef %22953) #11
  %22955 = call ptr @__errno_location() #12
  %22956 = load i32, ptr %22955, align 4, !tbaa !5
  %22957 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22944, ptr noundef @.str.9, i32 noundef %22945, ptr noundef @.str.211, ptr noundef @.str.8, i32 noundef 876, ptr noundef %22948, ptr noundef %22951, ptr noundef %22954, i32 noundef %22956) #11
  br label %22975

22958:                                            ; preds = %22936, %22929
  %22959 = load i32, ptr %459, align 4, !tbaa !5
  %22960 = call ptr @__errno_location() #12
  store i32 %22959, ptr %22960, align 4, !tbaa !5
  %22961 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22962 = load i32, ptr @test_count, align 4, !tbaa !5
  %22963 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22964 = load i32, ptr %22963, align 4, !tbaa !5
  %22965 = call ptr @s2n_strerror(i32 noundef %22964, ptr noundef @.str.11)
  %22966 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22967 = load i32, ptr %22966, align 4, !tbaa !5
  %22968 = call ptr @s2n_strerror_debug(i32 noundef %22967, ptr noundef @.str.11)
  %22969 = call ptr @__errno_location() #12
  %22970 = load i32, ptr %22969, align 4, !tbaa !5
  %22971 = call ptr @strerror(i32 noundef %22970) #11
  %22972 = call ptr @__errno_location() #12
  %22973 = load i32, ptr %22972, align 4, !tbaa !5
  %22974 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22961, ptr noundef @.str.12, i32 noundef %22962, ptr noundef @.str.211, ptr noundef @.str.8, i32 noundef 876, ptr noundef %22965, ptr noundef %22968, ptr noundef %22971, i32 noundef %22973) #11
  br label %22975

22975:                                            ; preds = %22958, %22941
  call void @llvm.lifetime.end.p0(i64 4, ptr %459) #11
  br label %22976

22976:                                            ; preds = %22975
  br label %22977

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

22978:                                            ; No predecessors!
  br label %22979

22979:                                            ; preds = %22978
  br label %22980

22980:                                            ; preds = %22979, %22922
  br label %22981

22981:                                            ; preds = %22980
  br label %22982

22982:                                            ; preds = %22981
  br label %22983

22983:                                            ; preds = %22982
  %22984 = load i32, ptr @test_count, align 4, !tbaa !5
  %22985 = add nsw i32 %22984, 1
  store i32 %22985, ptr @test_count, align 4, !tbaa !5
  %22986 = load ptr, ptr %449, align 8, !tbaa !9
  %22987 = call zeroext i1 @s2n_connection_check_io_status(ptr noundef %22986, i32 noundef 1)
  br i1 %22987, label %22988, label %23041

22988:                                            ; preds = %22983
  br label %22989

22989:                                            ; preds = %22988
  br label %22990

22990:                                            ; preds = %22989
  call void @llvm.lifetime.start.p0(i64 4, ptr %460) #11
  %22991 = call ptr @__errno_location() #12
  %22992 = load i32, ptr %22991, align 4, !tbaa !5
  store i32 %22992, ptr %460, align 4, !tbaa !5
  %22993 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22994 = call i32 @s2n_print_stacktrace(ptr noundef %22993)
  %22995 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %22996 = trunc i8 %22995 to i1
  br i1 %22996, label %22997, label %23019

22997:                                            ; preds = %22990
  %22998 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22999 = call i32 @fileno(ptr noundef %22998) #11
  %23000 = call i32 @isatty(i32 noundef %22999) #11
  %23001 = icmp ne i32 %23000, 0
  br i1 %23001, label %23002, label %23019

23002:                                            ; preds = %22997
  %23003 = load i32, ptr %460, align 4, !tbaa !5
  %23004 = call ptr @__errno_location() #12
  store i32 %23003, ptr %23004, align 4, !tbaa !5
  %23005 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23006 = load i32, ptr @test_count, align 4, !tbaa !5
  %23007 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23008 = load i32, ptr %23007, align 4, !tbaa !5
  %23009 = call ptr @s2n_strerror(i32 noundef %23008, ptr noundef @.str.11)
  %23010 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23011 = load i32, ptr %23010, align 4, !tbaa !5
  %23012 = call ptr @s2n_strerror_debug(i32 noundef %23011, ptr noundef @.str.11)
  %23013 = call ptr @__errno_location() #12
  %23014 = load i32, ptr %23013, align 4, !tbaa !5
  %23015 = call ptr @strerror(i32 noundef %23014) #11
  %23016 = call ptr @__errno_location() #12
  %23017 = load i32, ptr %23016, align 4, !tbaa !5
  %23018 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23005, ptr noundef @.str.9, i32 noundef %23006, ptr noundef @.str.212, ptr noundef @.str.8, i32 noundef 877, ptr noundef %23009, ptr noundef %23012, ptr noundef %23015, i32 noundef %23017) #11
  br label %23036

23019:                                            ; preds = %22997, %22990
  %23020 = load i32, ptr %460, align 4, !tbaa !5
  %23021 = call ptr @__errno_location() #12
  store i32 %23020, ptr %23021, align 4, !tbaa !5
  %23022 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23023 = load i32, ptr @test_count, align 4, !tbaa !5
  %23024 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23025 = load i32, ptr %23024, align 4, !tbaa !5
  %23026 = call ptr @s2n_strerror(i32 noundef %23025, ptr noundef @.str.11)
  %23027 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23028 = load i32, ptr %23027, align 4, !tbaa !5
  %23029 = call ptr @s2n_strerror_debug(i32 noundef %23028, ptr noundef @.str.11)
  %23030 = call ptr @__errno_location() #12
  %23031 = load i32, ptr %23030, align 4, !tbaa !5
  %23032 = call ptr @strerror(i32 noundef %23031) #11
  %23033 = call ptr @__errno_location() #12
  %23034 = load i32, ptr %23033, align 4, !tbaa !5
  %23035 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23022, ptr noundef @.str.12, i32 noundef %23023, ptr noundef @.str.212, ptr noundef @.str.8, i32 noundef 877, ptr noundef %23026, ptr noundef %23029, ptr noundef %23032, i32 noundef %23034) #11
  br label %23036

23036:                                            ; preds = %23019, %23002
  call void @llvm.lifetime.end.p0(i64 4, ptr %460) #11
  br label %23037

23037:                                            ; preds = %23036
  br label %23038

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

23039:                                            ; No predecessors!
  br label %23040

23040:                                            ; preds = %23039
  br label %23041

23041:                                            ; preds = %23040, %22983
  br label %23042

23042:                                            ; preds = %23041
  br label %23043

23043:                                            ; preds = %23042
  br label %23044

23044:                                            ; preds = %23043
  %23045 = load i32, ptr @test_count, align 4, !tbaa !5
  %23046 = add nsw i32 %23045, 1
  store i32 %23046, ptr @test_count, align 4, !tbaa !5
  %23047 = load ptr, ptr %449, align 8, !tbaa !9
  %23048 = call zeroext i1 @s2n_connection_check_io_status(ptr noundef %23047, i32 noundef 2)
  br i1 %23048, label %23049, label %23102

23049:                                            ; preds = %23044
  br label %23050

23050:                                            ; preds = %23049
  br label %23051

23051:                                            ; preds = %23050
  call void @llvm.lifetime.start.p0(i64 4, ptr %461) #11
  %23052 = call ptr @__errno_location() #12
  %23053 = load i32, ptr %23052, align 4, !tbaa !5
  store i32 %23053, ptr %461, align 4, !tbaa !5
  %23054 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23055 = call i32 @s2n_print_stacktrace(ptr noundef %23054)
  %23056 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %23057 = trunc i8 %23056 to i1
  br i1 %23057, label %23058, label %23080

23058:                                            ; preds = %23051
  %23059 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23060 = call i32 @fileno(ptr noundef %23059) #11
  %23061 = call i32 @isatty(i32 noundef %23060) #11
  %23062 = icmp ne i32 %23061, 0
  br i1 %23062, label %23063, label %23080

23063:                                            ; preds = %23058
  %23064 = load i32, ptr %461, align 4, !tbaa !5
  %23065 = call ptr @__errno_location() #12
  store i32 %23064, ptr %23065, align 4, !tbaa !5
  %23066 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23067 = load i32, ptr @test_count, align 4, !tbaa !5
  %23068 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23069 = load i32, ptr %23068, align 4, !tbaa !5
  %23070 = call ptr @s2n_strerror(i32 noundef %23069, ptr noundef @.str.11)
  %23071 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23072 = load i32, ptr %23071, align 4, !tbaa !5
  %23073 = call ptr @s2n_strerror_debug(i32 noundef %23072, ptr noundef @.str.11)
  %23074 = call ptr @__errno_location() #12
  %23075 = load i32, ptr %23074, align 4, !tbaa !5
  %23076 = call ptr @strerror(i32 noundef %23075) #11
  %23077 = call ptr @__errno_location() #12
  %23078 = load i32, ptr %23077, align 4, !tbaa !5
  %23079 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23066, ptr noundef @.str.9, i32 noundef %23067, ptr noundef @.str.213, ptr noundef @.str.8, i32 noundef 878, ptr noundef %23070, ptr noundef %23073, ptr noundef %23076, i32 noundef %23078) #11
  br label %23097

23080:                                            ; preds = %23058, %23051
  %23081 = load i32, ptr %461, align 4, !tbaa !5
  %23082 = call ptr @__errno_location() #12
  store i32 %23081, ptr %23082, align 4, !tbaa !5
  %23083 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23084 = load i32, ptr @test_count, align 4, !tbaa !5
  %23085 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23086 = load i32, ptr %23085, align 4, !tbaa !5
  %23087 = call ptr @s2n_strerror(i32 noundef %23086, ptr noundef @.str.11)
  %23088 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23089 = load i32, ptr %23088, align 4, !tbaa !5
  %23090 = call ptr @s2n_strerror_debug(i32 noundef %23089, ptr noundef @.str.11)
  %23091 = call ptr @__errno_location() #12
  %23092 = load i32, ptr %23091, align 4, !tbaa !5
  %23093 = call ptr @strerror(i32 noundef %23092) #11
  %23094 = call ptr @__errno_location() #12
  %23095 = load i32, ptr %23094, align 4, !tbaa !5
  %23096 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23083, ptr noundef @.str.12, i32 noundef %23084, ptr noundef @.str.213, ptr noundef @.str.8, i32 noundef 878, ptr noundef %23087, ptr noundef %23090, ptr noundef %23093, i32 noundef %23095) #11
  br label %23097

23097:                                            ; preds = %23080, %23063
  call void @llvm.lifetime.end.p0(i64 4, ptr %461) #11
  br label %23098

23098:                                            ; preds = %23097
  br label %23099

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

23100:                                            ; No predecessors!
  br label %23101

23101:                                            ; preds = %23100
  br label %23102

23102:                                            ; preds = %23101, %23044
  br label %23103

23103:                                            ; preds = %23102
  br label %23104

23104:                                            ; preds = %23103
  br label %23105

23105:                                            ; preds = %23104
  %23106 = load i32, ptr @test_count, align 4, !tbaa !5
  %23107 = add nsw i32 %23106, 1
  store i32 %23107, ptr @test_count, align 4, !tbaa !5
  %23108 = load ptr, ptr %449, align 8, !tbaa !9
  %23109 = call zeroext i1 @s2n_connection_check_io_status(ptr noundef %23108, i32 noundef 3)
  br i1 %23109, label %23163, label %23110

23110:                                            ; preds = %23105
  br label %23111

23111:                                            ; preds = %23110
  br label %23112

23112:                                            ; preds = %23111
  call void @llvm.lifetime.start.p0(i64 4, ptr %462) #11
  %23113 = call ptr @__errno_location() #12
  %23114 = load i32, ptr %23113, align 4, !tbaa !5
  store i32 %23114, ptr %462, align 4, !tbaa !5
  %23115 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23116 = call i32 @s2n_print_stacktrace(ptr noundef %23115)
  %23117 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %23118 = trunc i8 %23117 to i1
  br i1 %23118, label %23119, label %23141

23119:                                            ; preds = %23112
  %23120 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23121 = call i32 @fileno(ptr noundef %23120) #11
  %23122 = call i32 @isatty(i32 noundef %23121) #11
  %23123 = icmp ne i32 %23122, 0
  br i1 %23123, label %23124, label %23141

23124:                                            ; preds = %23119
  %23125 = load i32, ptr %462, align 4, !tbaa !5
  %23126 = call ptr @__errno_location() #12
  store i32 %23125, ptr %23126, align 4, !tbaa !5
  %23127 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23128 = load i32, ptr @test_count, align 4, !tbaa !5
  %23129 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23130 = load i32, ptr %23129, align 4, !tbaa !5
  %23131 = call ptr @s2n_strerror(i32 noundef %23130, ptr noundef @.str.11)
  %23132 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23133 = load i32, ptr %23132, align 4, !tbaa !5
  %23134 = call ptr @s2n_strerror_debug(i32 noundef %23133, ptr noundef @.str.11)
  %23135 = call ptr @__errno_location() #12
  %23136 = load i32, ptr %23135, align 4, !tbaa !5
  %23137 = call ptr @strerror(i32 noundef %23136) #11
  %23138 = call ptr @__errno_location() #12
  %23139 = load i32, ptr %23138, align 4, !tbaa !5
  %23140 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23127, ptr noundef @.str.9, i32 noundef %23128, ptr noundef @.str.214, ptr noundef @.str.8, i32 noundef 879, ptr noundef %23131, ptr noundef %23134, ptr noundef %23137, i32 noundef %23139) #11
  br label %23158

23141:                                            ; preds = %23119, %23112
  %23142 = load i32, ptr %462, align 4, !tbaa !5
  %23143 = call ptr @__errno_location() #12
  store i32 %23142, ptr %23143, align 4, !tbaa !5
  %23144 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23145 = load i32, ptr @test_count, align 4, !tbaa !5
  %23146 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23147 = load i32, ptr %23146, align 4, !tbaa !5
  %23148 = call ptr @s2n_strerror(i32 noundef %23147, ptr noundef @.str.11)
  %23149 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23150 = load i32, ptr %23149, align 4, !tbaa !5
  %23151 = call ptr @s2n_strerror_debug(i32 noundef %23150, ptr noundef @.str.11)
  %23152 = call ptr @__errno_location() #12
  %23153 = load i32, ptr %23152, align 4, !tbaa !5
  %23154 = call ptr @strerror(i32 noundef %23153) #11
  %23155 = call ptr @__errno_location() #12
  %23156 = load i32, ptr %23155, align 4, !tbaa !5
  %23157 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23144, ptr noundef @.str.12, i32 noundef %23145, ptr noundef @.str.214, ptr noundef @.str.8, i32 noundef 879, ptr noundef %23148, ptr noundef %23151, ptr noundef %23154, i32 noundef %23156) #11
  br label %23158

23158:                                            ; preds = %23141, %23124
  call void @llvm.lifetime.end.p0(i64 4, ptr %462) #11
  br label %23159

23159:                                            ; preds = %23158
  br label %23160

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

23161:                                            ; No predecessors!
  br label %23162

23162:                                            ; preds = %23161
  br label %23163

23163:                                            ; preds = %23162, %23105
  br label %23164

23164:                                            ; preds = %23163
  br label %23165

23165:                                            ; preds = %23164
  %23166 = load ptr, ptr %449, align 8, !tbaa !9
  %23167 = getelementptr inbounds %struct.s2n_connection, ptr %23166, i32 0, i32 61
  call void @s2n_atomic_flag_clear(ptr noundef %23167)
  %23168 = load ptr, ptr %449, align 8, !tbaa !9
  %23169 = getelementptr inbounds %struct.s2n_connection, ptr %23168, i32 0, i32 61
  call void @s2n_atomic_flag_set(ptr noundef %23169)
  %23170 = load ptr, ptr %449, align 8, !tbaa !9
  %23171 = getelementptr inbounds %struct.s2n_connection, ptr %23170, i32 0, i32 62
  call void @s2n_atomic_flag_set(ptr noundef %23171)
  br label %23172

23172:                                            ; preds = %23165
  %23173 = load i32, ptr @test_count, align 4, !tbaa !5
  %23174 = add nsw i32 %23173, 1
  store i32 %23174, ptr @test_count, align 4, !tbaa !5
  %23175 = load ptr, ptr %449, align 8, !tbaa !9
  %23176 = call zeroext i1 @s2n_connection_check_io_status(ptr noundef %23175, i32 noundef 0)
  br i1 %23176, label %23177, label %23230

23177:                                            ; preds = %23172
  br label %23178

23178:                                            ; preds = %23177
  br label %23179

23179:                                            ; preds = %23178
  call void @llvm.lifetime.start.p0(i64 4, ptr %463) #11
  %23180 = call ptr @__errno_location() #12
  %23181 = load i32, ptr %23180, align 4, !tbaa !5
  store i32 %23181, ptr %463, align 4, !tbaa !5
  %23182 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23183 = call i32 @s2n_print_stacktrace(ptr noundef %23182)
  %23184 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %23185 = trunc i8 %23184 to i1
  br i1 %23185, label %23186, label %23208

23186:                                            ; preds = %23179
  %23187 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23188 = call i32 @fileno(ptr noundef %23187) #11
  %23189 = call i32 @isatty(i32 noundef %23188) #11
  %23190 = icmp ne i32 %23189, 0
  br i1 %23190, label %23191, label %23208

23191:                                            ; preds = %23186
  %23192 = load i32, ptr %463, align 4, !tbaa !5
  %23193 = call ptr @__errno_location() #12
  store i32 %23192, ptr %23193, align 4, !tbaa !5
  %23194 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23195 = load i32, ptr @test_count, align 4, !tbaa !5
  %23196 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23197 = load i32, ptr %23196, align 4, !tbaa !5
  %23198 = call ptr @s2n_strerror(i32 noundef %23197, ptr noundef @.str.11)
  %23199 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23200 = load i32, ptr %23199, align 4, !tbaa !5
  %23201 = call ptr @s2n_strerror_debug(i32 noundef %23200, ptr noundef @.str.11)
  %23202 = call ptr @__errno_location() #12
  %23203 = load i32, ptr %23202, align 4, !tbaa !5
  %23204 = call ptr @strerror(i32 noundef %23203) #11
  %23205 = call ptr @__errno_location() #12
  %23206 = load i32, ptr %23205, align 4, !tbaa !5
  %23207 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23194, ptr noundef @.str.9, i32 noundef %23195, ptr noundef @.str.211, ptr noundef @.str.8, i32 noundef 885, ptr noundef %23198, ptr noundef %23201, ptr noundef %23204, i32 noundef %23206) #11
  br label %23225

23208:                                            ; preds = %23186, %23179
  %23209 = load i32, ptr %463, align 4, !tbaa !5
  %23210 = call ptr @__errno_location() #12
  store i32 %23209, ptr %23210, align 4, !tbaa !5
  %23211 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23212 = load i32, ptr @test_count, align 4, !tbaa !5
  %23213 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23214 = load i32, ptr %23213, align 4, !tbaa !5
  %23215 = call ptr @s2n_strerror(i32 noundef %23214, ptr noundef @.str.11)
  %23216 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23217 = load i32, ptr %23216, align 4, !tbaa !5
  %23218 = call ptr @s2n_strerror_debug(i32 noundef %23217, ptr noundef @.str.11)
  %23219 = call ptr @__errno_location() #12
  %23220 = load i32, ptr %23219, align 4, !tbaa !5
  %23221 = call ptr @strerror(i32 noundef %23220) #11
  %23222 = call ptr @__errno_location() #12
  %23223 = load i32, ptr %23222, align 4, !tbaa !5
  %23224 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23211, ptr noundef @.str.12, i32 noundef %23212, ptr noundef @.str.211, ptr noundef @.str.8, i32 noundef 885, ptr noundef %23215, ptr noundef %23218, ptr noundef %23221, i32 noundef %23223) #11
  br label %23225

23225:                                            ; preds = %23208, %23191
  call void @llvm.lifetime.end.p0(i64 4, ptr %463) #11
  br label %23226

23226:                                            ; preds = %23225
  br label %23227

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

23228:                                            ; No predecessors!
  br label %23229

23229:                                            ; preds = %23228
  br label %23230

23230:                                            ; preds = %23229, %23172
  br label %23231

23231:                                            ; preds = %23230
  br label %23232

23232:                                            ; preds = %23231
  br label %23233

23233:                                            ; preds = %23232
  %23234 = load i32, ptr @test_count, align 4, !tbaa !5
  %23235 = add nsw i32 %23234, 1
  store i32 %23235, ptr @test_count, align 4, !tbaa !5
  %23236 = load ptr, ptr %449, align 8, !tbaa !9
  %23237 = call zeroext i1 @s2n_connection_check_io_status(ptr noundef %23236, i32 noundef 1)
  br i1 %23237, label %23238, label %23291

23238:                                            ; preds = %23233
  br label %23239

23239:                                            ; preds = %23238
  br label %23240

23240:                                            ; preds = %23239
  call void @llvm.lifetime.start.p0(i64 4, ptr %464) #11
  %23241 = call ptr @__errno_location() #12
  %23242 = load i32, ptr %23241, align 4, !tbaa !5
  store i32 %23242, ptr %464, align 4, !tbaa !5
  %23243 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23244 = call i32 @s2n_print_stacktrace(ptr noundef %23243)
  %23245 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %23246 = trunc i8 %23245 to i1
  br i1 %23246, label %23247, label %23269

23247:                                            ; preds = %23240
  %23248 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23249 = call i32 @fileno(ptr noundef %23248) #11
  %23250 = call i32 @isatty(i32 noundef %23249) #11
  %23251 = icmp ne i32 %23250, 0
  br i1 %23251, label %23252, label %23269

23252:                                            ; preds = %23247
  %23253 = load i32, ptr %464, align 4, !tbaa !5
  %23254 = call ptr @__errno_location() #12
  store i32 %23253, ptr %23254, align 4, !tbaa !5
  %23255 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23256 = load i32, ptr @test_count, align 4, !tbaa !5
  %23257 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23258 = load i32, ptr %23257, align 4, !tbaa !5
  %23259 = call ptr @s2n_strerror(i32 noundef %23258, ptr noundef @.str.11)
  %23260 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23261 = load i32, ptr %23260, align 4, !tbaa !5
  %23262 = call ptr @s2n_strerror_debug(i32 noundef %23261, ptr noundef @.str.11)
  %23263 = call ptr @__errno_location() #12
  %23264 = load i32, ptr %23263, align 4, !tbaa !5
  %23265 = call ptr @strerror(i32 noundef %23264) #11
  %23266 = call ptr @__errno_location() #12
  %23267 = load i32, ptr %23266, align 4, !tbaa !5
  %23268 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23255, ptr noundef @.str.9, i32 noundef %23256, ptr noundef @.str.212, ptr noundef @.str.8, i32 noundef 886, ptr noundef %23259, ptr noundef %23262, ptr noundef %23265, i32 noundef %23267) #11
  br label %23286

23269:                                            ; preds = %23247, %23240
  %23270 = load i32, ptr %464, align 4, !tbaa !5
  %23271 = call ptr @__errno_location() #12
  store i32 %23270, ptr %23271, align 4, !tbaa !5
  %23272 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23273 = load i32, ptr @test_count, align 4, !tbaa !5
  %23274 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23275 = load i32, ptr %23274, align 4, !tbaa !5
  %23276 = call ptr @s2n_strerror(i32 noundef %23275, ptr noundef @.str.11)
  %23277 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23278 = load i32, ptr %23277, align 4, !tbaa !5
  %23279 = call ptr @s2n_strerror_debug(i32 noundef %23278, ptr noundef @.str.11)
  %23280 = call ptr @__errno_location() #12
  %23281 = load i32, ptr %23280, align 4, !tbaa !5
  %23282 = call ptr @strerror(i32 noundef %23281) #11
  %23283 = call ptr @__errno_location() #12
  %23284 = load i32, ptr %23283, align 4, !tbaa !5
  %23285 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23272, ptr noundef @.str.12, i32 noundef %23273, ptr noundef @.str.212, ptr noundef @.str.8, i32 noundef 886, ptr noundef %23276, ptr noundef %23279, ptr noundef %23282, i32 noundef %23284) #11
  br label %23286

23286:                                            ; preds = %23269, %23252
  call void @llvm.lifetime.end.p0(i64 4, ptr %464) #11
  br label %23287

23287:                                            ; preds = %23286
  br label %23288

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

23289:                                            ; No predecessors!
  br label %23290

23290:                                            ; preds = %23289
  br label %23291

23291:                                            ; preds = %23290, %23233
  br label %23292

23292:                                            ; preds = %23291
  br label %23293

23293:                                            ; preds = %23292
  br label %23294

23294:                                            ; preds = %23293
  %23295 = load i32, ptr @test_count, align 4, !tbaa !5
  %23296 = add nsw i32 %23295, 1
  store i32 %23296, ptr @test_count, align 4, !tbaa !5
  %23297 = load ptr, ptr %449, align 8, !tbaa !9
  %23298 = call zeroext i1 @s2n_connection_check_io_status(ptr noundef %23297, i32 noundef 2)
  br i1 %23298, label %23299, label %23352

23299:                                            ; preds = %23294
  br label %23300

23300:                                            ; preds = %23299
  br label %23301

23301:                                            ; preds = %23300
  call void @llvm.lifetime.start.p0(i64 4, ptr %465) #11
  %23302 = call ptr @__errno_location() #12
  %23303 = load i32, ptr %23302, align 4, !tbaa !5
  store i32 %23303, ptr %465, align 4, !tbaa !5
  %23304 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23305 = call i32 @s2n_print_stacktrace(ptr noundef %23304)
  %23306 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %23307 = trunc i8 %23306 to i1
  br i1 %23307, label %23308, label %23330

23308:                                            ; preds = %23301
  %23309 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23310 = call i32 @fileno(ptr noundef %23309) #11
  %23311 = call i32 @isatty(i32 noundef %23310) #11
  %23312 = icmp ne i32 %23311, 0
  br i1 %23312, label %23313, label %23330

23313:                                            ; preds = %23308
  %23314 = load i32, ptr %465, align 4, !tbaa !5
  %23315 = call ptr @__errno_location() #12
  store i32 %23314, ptr %23315, align 4, !tbaa !5
  %23316 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23317 = load i32, ptr @test_count, align 4, !tbaa !5
  %23318 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23319 = load i32, ptr %23318, align 4, !tbaa !5
  %23320 = call ptr @s2n_strerror(i32 noundef %23319, ptr noundef @.str.11)
  %23321 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23322 = load i32, ptr %23321, align 4, !tbaa !5
  %23323 = call ptr @s2n_strerror_debug(i32 noundef %23322, ptr noundef @.str.11)
  %23324 = call ptr @__errno_location() #12
  %23325 = load i32, ptr %23324, align 4, !tbaa !5
  %23326 = call ptr @strerror(i32 noundef %23325) #11
  %23327 = call ptr @__errno_location() #12
  %23328 = load i32, ptr %23327, align 4, !tbaa !5
  %23329 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23316, ptr noundef @.str.9, i32 noundef %23317, ptr noundef @.str.213, ptr noundef @.str.8, i32 noundef 887, ptr noundef %23320, ptr noundef %23323, ptr noundef %23326, i32 noundef %23328) #11
  br label %23347

23330:                                            ; preds = %23308, %23301
  %23331 = load i32, ptr %465, align 4, !tbaa !5
  %23332 = call ptr @__errno_location() #12
  store i32 %23331, ptr %23332, align 4, !tbaa !5
  %23333 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23334 = load i32, ptr @test_count, align 4, !tbaa !5
  %23335 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23336 = load i32, ptr %23335, align 4, !tbaa !5
  %23337 = call ptr @s2n_strerror(i32 noundef %23336, ptr noundef @.str.11)
  %23338 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23339 = load i32, ptr %23338, align 4, !tbaa !5
  %23340 = call ptr @s2n_strerror_debug(i32 noundef %23339, ptr noundef @.str.11)
  %23341 = call ptr @__errno_location() #12
  %23342 = load i32, ptr %23341, align 4, !tbaa !5
  %23343 = call ptr @strerror(i32 noundef %23342) #11
  %23344 = call ptr @__errno_location() #12
  %23345 = load i32, ptr %23344, align 4, !tbaa !5
  %23346 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23333, ptr noundef @.str.12, i32 noundef %23334, ptr noundef @.str.213, ptr noundef @.str.8, i32 noundef 887, ptr noundef %23337, ptr noundef %23340, ptr noundef %23343, i32 noundef %23345) #11
  br label %23347

23347:                                            ; preds = %23330, %23313
  call void @llvm.lifetime.end.p0(i64 4, ptr %465) #11
  br label %23348

23348:                                            ; preds = %23347
  br label %23349

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

23350:                                            ; No predecessors!
  br label %23351

23351:                                            ; preds = %23350
  br label %23352

23352:                                            ; preds = %23351, %23294
  br label %23353

23353:                                            ; preds = %23352
  br label %23354

23354:                                            ; preds = %23353
  br label %23355

23355:                                            ; preds = %23354
  %23356 = load i32, ptr @test_count, align 4, !tbaa !5
  %23357 = add nsw i32 %23356, 1
  store i32 %23357, ptr @test_count, align 4, !tbaa !5
  %23358 = load ptr, ptr %449, align 8, !tbaa !9
  %23359 = call zeroext i1 @s2n_connection_check_io_status(ptr noundef %23358, i32 noundef 3)
  br i1 %23359, label %23413, label %23360

23360:                                            ; preds = %23355
  br label %23361

23361:                                            ; preds = %23360
  br label %23362

23362:                                            ; preds = %23361
  call void @llvm.lifetime.start.p0(i64 4, ptr %466) #11
  %23363 = call ptr @__errno_location() #12
  %23364 = load i32, ptr %23363, align 4, !tbaa !5
  store i32 %23364, ptr %466, align 4, !tbaa !5
  %23365 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23366 = call i32 @s2n_print_stacktrace(ptr noundef %23365)
  %23367 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %23368 = trunc i8 %23367 to i1
  br i1 %23368, label %23369, label %23391

23369:                                            ; preds = %23362
  %23370 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23371 = call i32 @fileno(ptr noundef %23370) #11
  %23372 = call i32 @isatty(i32 noundef %23371) #11
  %23373 = icmp ne i32 %23372, 0
  br i1 %23373, label %23374, label %23391

23374:                                            ; preds = %23369
  %23375 = load i32, ptr %466, align 4, !tbaa !5
  %23376 = call ptr @__errno_location() #12
  store i32 %23375, ptr %23376, align 4, !tbaa !5
  %23377 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23378 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %23380, ptr noundef @.str.11)
  %23382 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23383 = load i32, ptr %23382, align 4, !tbaa !5
  %23384 = call ptr @s2n_strerror_debug(i32 noundef %23383, ptr noundef @.str.11)
  %23385 = call ptr @__errno_location() #12
  %23386 = load i32, ptr %23385, align 4, !tbaa !5
  %23387 = call ptr @strerror(i32 noundef %23386) #11
  %23388 = call ptr @__errno_location() #12
  %23389 = load i32, ptr %23388, align 4, !tbaa !5
  %23390 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23377, ptr noundef @.str.9, i32 noundef %23378, ptr noundef @.str.214, ptr noundef @.str.8, i32 noundef 888, ptr noundef %23381, ptr noundef %23384, ptr noundef %23387, i32 noundef %23389) #11
  br label %23408

23391:                                            ; preds = %23369, %23362
  %23392 = load i32, ptr %466, align 4, !tbaa !5
  %23393 = call ptr @__errno_location() #12
  store i32 %23392, ptr %23393, align 4, !tbaa !5
  %23394 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23395 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %23397, ptr noundef @.str.11)
  %23399 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23400 = load i32, ptr %23399, align 4, !tbaa !5
  %23401 = call ptr @s2n_strerror_debug(i32 noundef %23400, ptr noundef @.str.11)
  %23402 = call ptr @__errno_location() #12
  %23403 = load i32, ptr %23402, align 4, !tbaa !5
  %23404 = call ptr @strerror(i32 noundef %23403) #11
  %23405 = call ptr @__errno_location() #12
  %23406 = load i32, ptr %23405, align 4, !tbaa !5
  %23407 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23394, ptr noundef @.str.12, i32 noundef %23395, ptr noundef @.str.214, ptr noundef @.str.8, i32 noundef 888, ptr noundef %23398, ptr noundef %23401, ptr noundef %23404, i32 noundef %23406) #11
  br label %23408

23408:                                            ; preds = %23391, %23374
  call void @llvm.lifetime.end.p0(i64 4, ptr %466) #11
  br label %23409

23409:                                            ; preds = %23408
  br label %23410

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

23411:                                            ; No predecessors!
  br label %23412

23412:                                            ; preds = %23411
  br label %23413

23413:                                            ; preds = %23412, %23355
  br label %23414

23414:                                            ; preds = %23413
  br label %23415

23415:                                            ; preds = %23414
  %23416 = call i32 @s2n_connection_ptr_free(ptr noundef %449)
  %23417 = getelementptr inbounds %struct.s2n_result, ptr %467, i32 0, i32 0
  store i32 %23416, ptr %23417, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %449) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %468) #11
  %23418 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %23418, ptr %468, align 8, !tbaa !9
  br label %23419

23419:                                            ; preds = %23415
  %23420 = load i32, ptr @test_count, align 4, !tbaa !5
  %23421 = add nsw i32 %23420, 1
  store i32 %23421, ptr @test_count, align 4, !tbaa !5
  %23422 = load ptr, ptr %468, align 8, !tbaa !9
  %23423 = icmp eq ptr %23422, null
  br i1 %23423, label %23424, label %23477

23424:                                            ; preds = %23419
  br label %23425

23425:                                            ; preds = %23424
  br label %23426

23426:                                            ; preds = %23425
  call void @llvm.lifetime.start.p0(i64 4, ptr %469) #11
  %23427 = call ptr @__errno_location() #12
  %23428 = load i32, ptr %23427, align 4, !tbaa !5
  store i32 %23428, ptr %469, align 4, !tbaa !5
  %23429 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23430 = call i32 @s2n_print_stacktrace(ptr noundef %23429)
  %23431 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %23432 = trunc i8 %23431 to i1
  br i1 %23432, label %23433, label %23455

23433:                                            ; preds = %23426
  %23434 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23435 = call i32 @fileno(ptr noundef %23434) #11
  %23436 = call i32 @isatty(i32 noundef %23435) #11
  %23437 = icmp ne i32 %23436, 0
  br i1 %23437, label %23438, label %23455

23438:                                            ; preds = %23433
  %23439 = load i32, ptr %469, align 4, !tbaa !5
  %23440 = call ptr @__errno_location() #12
  store i32 %23439, ptr %23440, align 4, !tbaa !5
  %23441 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23442 = load i32, ptr @test_count, align 4, !tbaa !5
  %23443 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23444 = load i32, ptr %23443, align 4, !tbaa !5
  %23445 = call ptr @s2n_strerror(i32 noundef %23444, ptr noundef @.str.11)
  %23446 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23447 = load i32, ptr %23446, align 4, !tbaa !5
  %23448 = call ptr @s2n_strerror_debug(i32 noundef %23447, ptr noundef @.str.11)
  %23449 = call ptr @__errno_location() #12
  %23450 = load i32, ptr %23449, align 4, !tbaa !5
  %23451 = call ptr @strerror(i32 noundef %23450) #11
  %23452 = call ptr @__errno_location() #12
  %23453 = load i32, ptr %23452, align 4, !tbaa !5
  %23454 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23441, ptr noundef @.str.9, i32 noundef %23442, ptr noundef @.str.92, ptr noundef @.str.8, i32 noundef 895, ptr noundef %23445, ptr noundef %23448, ptr noundef %23451, i32 noundef %23453) #11
  br label %23472

23455:                                            ; preds = %23433, %23426
  %23456 = load i32, ptr %469, align 4, !tbaa !5
  %23457 = call ptr @__errno_location() #12
  store i32 %23456, ptr %23457, align 4, !tbaa !5
  %23458 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23459 = load i32, ptr @test_count, align 4, !tbaa !5
  %23460 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23461 = load i32, ptr %23460, align 4, !tbaa !5
  %23462 = call ptr @s2n_strerror(i32 noundef %23461, ptr noundef @.str.11)
  %23463 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23464 = load i32, ptr %23463, align 4, !tbaa !5
  %23465 = call ptr @s2n_strerror_debug(i32 noundef %23464, ptr noundef @.str.11)
  %23466 = call ptr @__errno_location() #12
  %23467 = load i32, ptr %23466, align 4, !tbaa !5
  %23468 = call ptr @strerror(i32 noundef %23467) #11
  %23469 = call ptr @__errno_location() #12
  %23470 = load i32, ptr %23469, align 4, !tbaa !5
  %23471 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23458, ptr noundef @.str.12, i32 noundef %23459, ptr noundef @.str.92, ptr noundef @.str.8, i32 noundef 895, ptr noundef %23462, ptr noundef %23465, ptr noundef %23468, i32 noundef %23470) #11
  br label %23472

23472:                                            ; preds = %23455, %23438
  call void @llvm.lifetime.end.p0(i64 4, ptr %469) #11
  br label %23473

23473:                                            ; preds = %23472
  br label %23474

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

23475:                                            ; No predecessors!
  br label %23476

23476:                                            ; preds = %23475
  br label %23477

23477:                                            ; preds = %23476, %23419
  br label %23478

23478:                                            ; preds = %23477
  br label %23479

23479:                                            ; preds = %23478
  %23480 = load ptr, ptr %468, align 8, !tbaa !9
  %23481 = getelementptr inbounds %struct.s2n_connection, ptr %23480, i32 0, i32 23
  store i8 34, ptr %23481, align 4, !tbaa !49
  br label %23482

23482:                                            ; preds = %23479
  %23483 = load i32, ptr @test_count, align 4, !tbaa !5
  %23484 = add nsw i32 %23483, 1
  store i32 %23484, ptr @test_count, align 4, !tbaa !5
  %23485 = load ptr, ptr %468, align 8, !tbaa !9
  %23486 = call zeroext i1 @s2n_connection_check_io_status(ptr noundef %23485, i32 noundef 0)
  br i1 %23486, label %23540, label %23487

23487:                                            ; preds = %23482
  br label %23488

23488:                                            ; preds = %23487
  br label %23489

23489:                                            ; preds = %23488
  call void @llvm.lifetime.start.p0(i64 4, ptr %470) #11
  %23490 = call ptr @__errno_location() #12
  %23491 = load i32, ptr %23490, align 4, !tbaa !5
  store i32 %23491, ptr %470, align 4, !tbaa !5
  %23492 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23493 = call i32 @s2n_print_stacktrace(ptr noundef %23492)
  %23494 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %23495 = trunc i8 %23494 to i1
  br i1 %23495, label %23496, label %23518

23496:                                            ; preds = %23489
  %23497 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23498 = call i32 @fileno(ptr noundef %23497) #11
  %23499 = call i32 @isatty(i32 noundef %23498) #11
  %23500 = icmp ne i32 %23499, 0
  br i1 %23500, label %23501, label %23518

23501:                                            ; preds = %23496
  %23502 = load i32, ptr %470, align 4, !tbaa !5
  %23503 = call ptr @__errno_location() #12
  store i32 %23502, ptr %23503, align 4, !tbaa !5
  %23504 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23505 = load i32, ptr @test_count, align 4, !tbaa !5
  %23506 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23507 = load i32, ptr %23506, align 4, !tbaa !5
  %23508 = call ptr @s2n_strerror(i32 noundef %23507, ptr noundef @.str.11)
  %23509 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23510 = load i32, ptr %23509, align 4, !tbaa !5
  %23511 = call ptr @s2n_strerror_debug(i32 noundef %23510, ptr noundef @.str.11)
  %23512 = call ptr @__errno_location() #12
  %23513 = load i32, ptr %23512, align 4, !tbaa !5
  %23514 = call ptr @strerror(i32 noundef %23513) #11
  %23515 = call ptr @__errno_location() #12
  %23516 = load i32, ptr %23515, align 4, !tbaa !5
  %23517 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23504, ptr noundef @.str.9, i32 noundef %23505, ptr noundef @.str.207, ptr noundef @.str.8, i32 noundef 899, ptr noundef %23508, ptr noundef %23511, ptr noundef %23514, i32 noundef %23516) #11
  br label %23535

23518:                                            ; preds = %23496, %23489
  %23519 = load i32, ptr %470, align 4, !tbaa !5
  %23520 = call ptr @__errno_location() #12
  store i32 %23519, ptr %23520, align 4, !tbaa !5
  %23521 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23522 = load i32, ptr @test_count, align 4, !tbaa !5
  %23523 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23524 = load i32, ptr %23523, align 4, !tbaa !5
  %23525 = call ptr @s2n_strerror(i32 noundef %23524, ptr noundef @.str.11)
  %23526 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23527 = load i32, ptr %23526, align 4, !tbaa !5
  %23528 = call ptr @s2n_strerror_debug(i32 noundef %23527, ptr noundef @.str.11)
  %23529 = call ptr @__errno_location() #12
  %23530 = load i32, ptr %23529, align 4, !tbaa !5
  %23531 = call ptr @strerror(i32 noundef %23530) #11
  %23532 = call ptr @__errno_location() #12
  %23533 = load i32, ptr %23532, align 4, !tbaa !5
  %23534 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23521, ptr noundef @.str.12, i32 noundef %23522, ptr noundef @.str.207, ptr noundef @.str.8, i32 noundef 899, ptr noundef %23525, ptr noundef %23528, ptr noundef %23531, i32 noundef %23533) #11
  br label %23535

23535:                                            ; preds = %23518, %23501
  call void @llvm.lifetime.end.p0(i64 4, ptr %470) #11
  br label %23536

23536:                                            ; preds = %23535
  br label %23537

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

23538:                                            ; No predecessors!
  br label %23539

23539:                                            ; preds = %23538
  br label %23540

23540:                                            ; preds = %23539, %23482
  br label %23541

23541:                                            ; preds = %23540
  br label %23542

23542:                                            ; preds = %23541
  br label %23543

23543:                                            ; preds = %23542
  %23544 = load i32, ptr @test_count, align 4, !tbaa !5
  %23545 = add nsw i32 %23544, 1
  store i32 %23545, ptr @test_count, align 4, !tbaa !5
  %23546 = load ptr, ptr %468, align 8, !tbaa !9
  %23547 = call zeroext i1 @s2n_connection_check_io_status(ptr noundef %23546, i32 noundef 1)
  br i1 %23547, label %23601, label %23548

23548:                                            ; preds = %23543
  br label %23549

23549:                                            ; preds = %23548
  br label %23550

23550:                                            ; preds = %23549
  call void @llvm.lifetime.start.p0(i64 4, ptr %471) #11
  %23551 = call ptr @__errno_location() #12
  %23552 = load i32, ptr %23551, align 4, !tbaa !5
  store i32 %23552, ptr %471, align 4, !tbaa !5
  %23553 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23554 = call i32 @s2n_print_stacktrace(ptr noundef %23553)
  %23555 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %23556 = trunc i8 %23555 to i1
  br i1 %23556, label %23557, label %23579

23557:                                            ; preds = %23550
  %23558 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23559 = call i32 @fileno(ptr noundef %23558) #11
  %23560 = call i32 @isatty(i32 noundef %23559) #11
  %23561 = icmp ne i32 %23560, 0
  br i1 %23561, label %23562, label %23579

23562:                                            ; preds = %23557
  %23563 = load i32, ptr %471, align 4, !tbaa !5
  %23564 = call ptr @__errno_location() #12
  store i32 %23563, ptr %23564, align 4, !tbaa !5
  %23565 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23566 = load i32, ptr @test_count, align 4, !tbaa !5
  %23567 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23568 = load i32, ptr %23567, align 4, !tbaa !5
  %23569 = call ptr @s2n_strerror(i32 noundef %23568, ptr noundef @.str.11)
  %23570 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23571 = load i32, ptr %23570, align 4, !tbaa !5
  %23572 = call ptr @s2n_strerror_debug(i32 noundef %23571, ptr noundef @.str.11)
  %23573 = call ptr @__errno_location() #12
  %23574 = load i32, ptr %23573, align 4, !tbaa !5
  %23575 = call ptr @strerror(i32 noundef %23574) #11
  %23576 = call ptr @__errno_location() #12
  %23577 = load i32, ptr %23576, align 4, !tbaa !5
  %23578 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23565, ptr noundef @.str.9, i32 noundef %23566, ptr noundef @.str.208, ptr noundef @.str.8, i32 noundef 900, ptr noundef %23569, ptr noundef %23572, ptr noundef %23575, i32 noundef %23577) #11
  br label %23596

23579:                                            ; preds = %23557, %23550
  %23580 = load i32, ptr %471, align 4, !tbaa !5
  %23581 = call ptr @__errno_location() #12
  store i32 %23580, ptr %23581, align 4, !tbaa !5
  %23582 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23583 = load i32, ptr @test_count, align 4, !tbaa !5
  %23584 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23585 = load i32, ptr %23584, align 4, !tbaa !5
  %23586 = call ptr @s2n_strerror(i32 noundef %23585, ptr noundef @.str.11)
  %23587 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23588 = load i32, ptr %23587, align 4, !tbaa !5
  %23589 = call ptr @s2n_strerror_debug(i32 noundef %23588, ptr noundef @.str.11)
  %23590 = call ptr @__errno_location() #12
  %23591 = load i32, ptr %23590, align 4, !tbaa !5
  %23592 = call ptr @strerror(i32 noundef %23591) #11
  %23593 = call ptr @__errno_location() #12
  %23594 = load i32, ptr %23593, align 4, !tbaa !5
  %23595 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23582, ptr noundef @.str.12, i32 noundef %23583, ptr noundef @.str.208, ptr noundef @.str.8, i32 noundef 900, ptr noundef %23586, ptr noundef %23589, ptr noundef %23592, i32 noundef %23594) #11
  br label %23596

23596:                                            ; preds = %23579, %23562
  call void @llvm.lifetime.end.p0(i64 4, ptr %471) #11
  br label %23597

23597:                                            ; preds = %23596
  br label %23598

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

23599:                                            ; No predecessors!
  br label %23600

23600:                                            ; preds = %23599
  br label %23601

23601:                                            ; preds = %23600, %23543
  br label %23602

23602:                                            ; preds = %23601
  br label %23603

23603:                                            ; preds = %23602
  br label %23604

23604:                                            ; preds = %23603
  %23605 = load i32, ptr @test_count, align 4, !tbaa !5
  %23606 = add nsw i32 %23605, 1
  store i32 %23606, ptr @test_count, align 4, !tbaa !5
  %23607 = load ptr, ptr %468, align 8, !tbaa !9
  %23608 = call zeroext i1 @s2n_connection_check_io_status(ptr noundef %23607, i32 noundef 2)
  br i1 %23608, label %23662, label %23609

23609:                                            ; preds = %23604
  br label %23610

23610:                                            ; preds = %23609
  br label %23611

23611:                                            ; preds = %23610
  call void @llvm.lifetime.start.p0(i64 4, ptr %472) #11
  %23612 = call ptr @__errno_location() #12
  %23613 = load i32, ptr %23612, align 4, !tbaa !5
  store i32 %23613, ptr %472, align 4, !tbaa !5
  %23614 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23615 = call i32 @s2n_print_stacktrace(ptr noundef %23614)
  %23616 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %23617 = trunc i8 %23616 to i1
  br i1 %23617, label %23618, label %23640

23618:                                            ; preds = %23611
  %23619 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23620 = call i32 @fileno(ptr noundef %23619) #11
  %23621 = call i32 @isatty(i32 noundef %23620) #11
  %23622 = icmp ne i32 %23621, 0
  br i1 %23622, label %23623, label %23640

23623:                                            ; preds = %23618
  %23624 = load i32, ptr %472, align 4, !tbaa !5
  %23625 = call ptr @__errno_location() #12
  store i32 %23624, ptr %23625, align 4, !tbaa !5
  %23626 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23627 = load i32, ptr @test_count, align 4, !tbaa !5
  %23628 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23629 = load i32, ptr %23628, align 4, !tbaa !5
  %23630 = call ptr @s2n_strerror(i32 noundef %23629, ptr noundef @.str.11)
  %23631 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23632 = load i32, ptr %23631, align 4, !tbaa !5
  %23633 = call ptr @s2n_strerror_debug(i32 noundef %23632, ptr noundef @.str.11)
  %23634 = call ptr @__errno_location() #12
  %23635 = load i32, ptr %23634, align 4, !tbaa !5
  %23636 = call ptr @strerror(i32 noundef %23635) #11
  %23637 = call ptr @__errno_location() #12
  %23638 = load i32, ptr %23637, align 4, !tbaa !5
  %23639 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23626, ptr noundef @.str.9, i32 noundef %23627, ptr noundef @.str.209, ptr noundef @.str.8, i32 noundef 901, ptr noundef %23630, ptr noundef %23633, ptr noundef %23636, i32 noundef %23638) #11
  br label %23657

23640:                                            ; preds = %23618, %23611
  %23641 = load i32, ptr %472, align 4, !tbaa !5
  %23642 = call ptr @__errno_location() #12
  store i32 %23641, ptr %23642, align 4, !tbaa !5
  %23643 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23644 = load i32, ptr @test_count, align 4, !tbaa !5
  %23645 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23646 = load i32, ptr %23645, align 4, !tbaa !5
  %23647 = call ptr @s2n_strerror(i32 noundef %23646, ptr noundef @.str.11)
  %23648 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23649 = load i32, ptr %23648, align 4, !tbaa !5
  %23650 = call ptr @s2n_strerror_debug(i32 noundef %23649, ptr noundef @.str.11)
  %23651 = call ptr @__errno_location() #12
  %23652 = load i32, ptr %23651, align 4, !tbaa !5
  %23653 = call ptr @strerror(i32 noundef %23652) #11
  %23654 = call ptr @__errno_location() #12
  %23655 = load i32, ptr %23654, align 4, !tbaa !5
  %23656 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23643, ptr noundef @.str.12, i32 noundef %23644, ptr noundef @.str.209, ptr noundef @.str.8, i32 noundef 901, ptr noundef %23647, ptr noundef %23650, ptr noundef %23653, i32 noundef %23655) #11
  br label %23657

23657:                                            ; preds = %23640, %23623
  call void @llvm.lifetime.end.p0(i64 4, ptr %472) #11
  br label %23658

23658:                                            ; preds = %23657
  br label %23659

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

23660:                                            ; No predecessors!
  br label %23661

23661:                                            ; preds = %23660
  br label %23662

23662:                                            ; preds = %23661, %23604
  br label %23663

23663:                                            ; preds = %23662
  br label %23664

23664:                                            ; preds = %23663
  br label %23665

23665:                                            ; preds = %23664
  %23666 = load i32, ptr @test_count, align 4, !tbaa !5
  %23667 = add nsw i32 %23666, 1
  store i32 %23667, ptr @test_count, align 4, !tbaa !5
  %23668 = load ptr, ptr %468, align 8, !tbaa !9
  %23669 = call zeroext i1 @s2n_connection_check_io_status(ptr noundef %23668, i32 noundef 3)
  br i1 %23669, label %23670, label %23723

23670:                                            ; preds = %23665
  br label %23671

23671:                                            ; preds = %23670
  br label %23672

23672:                                            ; preds = %23671
  call void @llvm.lifetime.start.p0(i64 4, ptr %473) #11
  %23673 = call ptr @__errno_location() #12
  %23674 = load i32, ptr %23673, align 4, !tbaa !5
  store i32 %23674, ptr %473, align 4, !tbaa !5
  %23675 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23676 = call i32 @s2n_print_stacktrace(ptr noundef %23675)
  %23677 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %23678 = trunc i8 %23677 to i1
  br i1 %23678, label %23679, label %23701

23679:                                            ; preds = %23672
  %23680 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23681 = call i32 @fileno(ptr noundef %23680) #11
  %23682 = call i32 @isatty(i32 noundef %23681) #11
  %23683 = icmp ne i32 %23682, 0
  br i1 %23683, label %23684, label %23701

23684:                                            ; preds = %23679
  %23685 = load i32, ptr %473, align 4, !tbaa !5
  %23686 = call ptr @__errno_location() #12
  store i32 %23685, ptr %23686, align 4, !tbaa !5
  %23687 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23688 = load i32, ptr @test_count, align 4, !tbaa !5
  %23689 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23690 = load i32, ptr %23689, align 4, !tbaa !5
  %23691 = call ptr @s2n_strerror(i32 noundef %23690, ptr noundef @.str.11)
  %23692 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23693 = load i32, ptr %23692, align 4, !tbaa !5
  %23694 = call ptr @s2n_strerror_debug(i32 noundef %23693, ptr noundef @.str.11)
  %23695 = call ptr @__errno_location() #12
  %23696 = load i32, ptr %23695, align 4, !tbaa !5
  %23697 = call ptr @strerror(i32 noundef %23696) #11
  %23698 = call ptr @__errno_location() #12
  %23699 = load i32, ptr %23698, align 4, !tbaa !5
  %23700 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23687, ptr noundef @.str.9, i32 noundef %23688, ptr noundef @.str.210, ptr noundef @.str.8, i32 noundef 902, ptr noundef %23691, ptr noundef %23694, ptr noundef %23697, i32 noundef %23699) #11
  br label %23718

23701:                                            ; preds = %23679, %23672
  %23702 = load i32, ptr %473, align 4, !tbaa !5
  %23703 = call ptr @__errno_location() #12
  store i32 %23702, ptr %23703, align 4, !tbaa !5
  %23704 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23705 = load i32, ptr @test_count, align 4, !tbaa !5
  %23706 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23707 = load i32, ptr %23706, align 4, !tbaa !5
  %23708 = call ptr @s2n_strerror(i32 noundef %23707, ptr noundef @.str.11)
  %23709 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23710 = load i32, ptr %23709, align 4, !tbaa !5
  %23711 = call ptr @s2n_strerror_debug(i32 noundef %23710, ptr noundef @.str.11)
  %23712 = call ptr @__errno_location() #12
  %23713 = load i32, ptr %23712, align 4, !tbaa !5
  %23714 = call ptr @strerror(i32 noundef %23713) #11
  %23715 = call ptr @__errno_location() #12
  %23716 = load i32, ptr %23715, align 4, !tbaa !5
  %23717 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23704, ptr noundef @.str.12, i32 noundef %23705, ptr noundef @.str.210, ptr noundef @.str.8, i32 noundef 902, ptr noundef %23708, ptr noundef %23711, ptr noundef %23714, i32 noundef %23716) #11
  br label %23718

23718:                                            ; preds = %23701, %23684
  call void @llvm.lifetime.end.p0(i64 4, ptr %473) #11
  br label %23719

23719:                                            ; preds = %23718
  br label %23720

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

23721:                                            ; No predecessors!
  br label %23722

23722:                                            ; preds = %23721
  br label %23723

23723:                                            ; preds = %23722, %23665
  br label %23724

23724:                                            ; preds = %23723
  br label %23725

23725:                                            ; preds = %23724
  %23726 = load ptr, ptr %468, align 8, !tbaa !9
  %23727 = getelementptr inbounds %struct.s2n_connection, ptr %23726, i32 0, i32 62
  call void @s2n_atomic_flag_set(ptr noundef %23727)
  br label %23728

23728:                                            ; preds = %23725
  %23729 = load i32, ptr @test_count, align 4, !tbaa !5
  %23730 = add nsw i32 %23729, 1
  store i32 %23730, ptr @test_count, align 4, !tbaa !5
  %23731 = load ptr, ptr %468, align 8, !tbaa !9
  %23732 = call zeroext i1 @s2n_connection_check_io_status(ptr noundef %23731, i32 noundef 0)
  br i1 %23732, label %23733, label %23786

23733:                                            ; preds = %23728
  br label %23734

23734:                                            ; preds = %23733
  br label %23735

23735:                                            ; preds = %23734
  call void @llvm.lifetime.start.p0(i64 4, ptr %474) #11
  %23736 = call ptr @__errno_location() #12
  %23737 = load i32, ptr %23736, align 4, !tbaa !5
  store i32 %23737, ptr %474, align 4, !tbaa !5
  %23738 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23739 = call i32 @s2n_print_stacktrace(ptr noundef %23738)
  %23740 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %23741 = trunc i8 %23740 to i1
  br i1 %23741, label %23742, label %23764

23742:                                            ; preds = %23735
  %23743 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23744 = call i32 @fileno(ptr noundef %23743) #11
  %23745 = call i32 @isatty(i32 noundef %23744) #11
  %23746 = icmp ne i32 %23745, 0
  br i1 %23746, label %23747, label %23764

23747:                                            ; preds = %23742
  %23748 = load i32, ptr %474, align 4, !tbaa !5
  %23749 = call ptr @__errno_location() #12
  store i32 %23748, ptr %23749, align 4, !tbaa !5
  %23750 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23751 = load i32, ptr @test_count, align 4, !tbaa !5
  %23752 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23753 = load i32, ptr %23752, align 4, !tbaa !5
  %23754 = call ptr @s2n_strerror(i32 noundef %23753, ptr noundef @.str.11)
  %23755 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23756 = load i32, ptr %23755, align 4, !tbaa !5
  %23757 = call ptr @s2n_strerror_debug(i32 noundef %23756, ptr noundef @.str.11)
  %23758 = call ptr @__errno_location() #12
  %23759 = load i32, ptr %23758, align 4, !tbaa !5
  %23760 = call ptr @strerror(i32 noundef %23759) #11
  %23761 = call ptr @__errno_location() #12
  %23762 = load i32, ptr %23761, align 4, !tbaa !5
  %23763 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23750, ptr noundef @.str.9, i32 noundef %23751, ptr noundef @.str.211, ptr noundef @.str.8, i32 noundef 906, ptr noundef %23754, ptr noundef %23757, ptr noundef %23760, i32 noundef %23762) #11
  br label %23781

23764:                                            ; preds = %23742, %23735
  %23765 = load i32, ptr %474, align 4, !tbaa !5
  %23766 = call ptr @__errno_location() #12
  store i32 %23765, ptr %23766, align 4, !tbaa !5
  %23767 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23768 = load i32, ptr @test_count, align 4, !tbaa !5
  %23769 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23770 = load i32, ptr %23769, align 4, !tbaa !5
  %23771 = call ptr @s2n_strerror(i32 noundef %23770, ptr noundef @.str.11)
  %23772 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23773 = load i32, ptr %23772, align 4, !tbaa !5
  %23774 = call ptr @s2n_strerror_debug(i32 noundef %23773, ptr noundef @.str.11)
  %23775 = call ptr @__errno_location() #12
  %23776 = load i32, ptr %23775, align 4, !tbaa !5
  %23777 = call ptr @strerror(i32 noundef %23776) #11
  %23778 = call ptr @__errno_location() #12
  %23779 = load i32, ptr %23778, align 4, !tbaa !5
  %23780 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23767, ptr noundef @.str.12, i32 noundef %23768, ptr noundef @.str.211, ptr noundef @.str.8, i32 noundef 906, ptr noundef %23771, ptr noundef %23774, ptr noundef %23777, i32 noundef %23779) #11
  br label %23781

23781:                                            ; preds = %23764, %23747
  call void @llvm.lifetime.end.p0(i64 4, ptr %474) #11
  br label %23782

23782:                                            ; preds = %23781
  br label %23783

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

23784:                                            ; No predecessors!
  br label %23785

23785:                                            ; preds = %23784
  br label %23786

23786:                                            ; preds = %23785, %23728
  br label %23787

23787:                                            ; preds = %23786
  br label %23788

23788:                                            ; preds = %23787
  br label %23789

23789:                                            ; preds = %23788
  %23790 = load i32, ptr @test_count, align 4, !tbaa !5
  %23791 = add nsw i32 %23790, 1
  store i32 %23791, ptr @test_count, align 4, !tbaa !5
  %23792 = load ptr, ptr %468, align 8, !tbaa !9
  %23793 = call zeroext i1 @s2n_connection_check_io_status(ptr noundef %23792, i32 noundef 1)
  br i1 %23793, label %23847, label %23794

23794:                                            ; preds = %23789
  br label %23795

23795:                                            ; preds = %23794
  br label %23796

23796:                                            ; preds = %23795
  call void @llvm.lifetime.start.p0(i64 4, ptr %475) #11
  %23797 = call ptr @__errno_location() #12
  %23798 = load i32, ptr %23797, align 4, !tbaa !5
  store i32 %23798, ptr %475, align 4, !tbaa !5
  %23799 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23800 = call i32 @s2n_print_stacktrace(ptr noundef %23799)
  %23801 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %23802 = trunc i8 %23801 to i1
  br i1 %23802, label %23803, label %23825

23803:                                            ; preds = %23796
  %23804 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23805 = call i32 @fileno(ptr noundef %23804) #11
  %23806 = call i32 @isatty(i32 noundef %23805) #11
  %23807 = icmp ne i32 %23806, 0
  br i1 %23807, label %23808, label %23825

23808:                                            ; preds = %23803
  %23809 = load i32, ptr %475, align 4, !tbaa !5
  %23810 = call ptr @__errno_location() #12
  store i32 %23809, ptr %23810, align 4, !tbaa !5
  %23811 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23812 = load i32, ptr @test_count, align 4, !tbaa !5
  %23813 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23814 = load i32, ptr %23813, align 4, !tbaa !5
  %23815 = call ptr @s2n_strerror(i32 noundef %23814, ptr noundef @.str.11)
  %23816 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23817 = load i32, ptr %23816, align 4, !tbaa !5
  %23818 = call ptr @s2n_strerror_debug(i32 noundef %23817, ptr noundef @.str.11)
  %23819 = call ptr @__errno_location() #12
  %23820 = load i32, ptr %23819, align 4, !tbaa !5
  %23821 = call ptr @strerror(i32 noundef %23820) #11
  %23822 = call ptr @__errno_location() #12
  %23823 = load i32, ptr %23822, align 4, !tbaa !5
  %23824 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23811, ptr noundef @.str.9, i32 noundef %23812, ptr noundef @.str.208, ptr noundef @.str.8, i32 noundef 907, ptr noundef %23815, ptr noundef %23818, ptr noundef %23821, i32 noundef %23823) #11
  br label %23842

23825:                                            ; preds = %23803, %23796
  %23826 = load i32, ptr %475, align 4, !tbaa !5
  %23827 = call ptr @__errno_location() #12
  store i32 %23826, ptr %23827, align 4, !tbaa !5
  %23828 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23829 = load i32, ptr @test_count, align 4, !tbaa !5
  %23830 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23831 = load i32, ptr %23830, align 4, !tbaa !5
  %23832 = call ptr @s2n_strerror(i32 noundef %23831, ptr noundef @.str.11)
  %23833 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23834 = load i32, ptr %23833, align 4, !tbaa !5
  %23835 = call ptr @s2n_strerror_debug(i32 noundef %23834, ptr noundef @.str.11)
  %23836 = call ptr @__errno_location() #12
  %23837 = load i32, ptr %23836, align 4, !tbaa !5
  %23838 = call ptr @strerror(i32 noundef %23837) #11
  %23839 = call ptr @__errno_location() #12
  %23840 = load i32, ptr %23839, align 4, !tbaa !5
  %23841 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23828, ptr noundef @.str.12, i32 noundef %23829, ptr noundef @.str.208, ptr noundef @.str.8, i32 noundef 907, ptr noundef %23832, ptr noundef %23835, ptr noundef %23838, i32 noundef %23840) #11
  br label %23842

23842:                                            ; preds = %23825, %23808
  call void @llvm.lifetime.end.p0(i64 4, ptr %475) #11
  br label %23843

23843:                                            ; preds = %23842
  br label %23844

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

23845:                                            ; No predecessors!
  br label %23846

23846:                                            ; preds = %23845
  br label %23847

23847:                                            ; preds = %23846, %23789
  br label %23848

23848:                                            ; preds = %23847
  br label %23849

23849:                                            ; preds = %23848
  br label %23850

23850:                                            ; preds = %23849
  %23851 = load i32, ptr @test_count, align 4, !tbaa !5
  %23852 = add nsw i32 %23851, 1
  store i32 %23852, ptr @test_count, align 4, !tbaa !5
  %23853 = load ptr, ptr %468, align 8, !tbaa !9
  %23854 = call zeroext i1 @s2n_connection_check_io_status(ptr noundef %23853, i32 noundef 2)
  br i1 %23854, label %23855, label %23908

23855:                                            ; preds = %23850
  br label %23856

23856:                                            ; preds = %23855
  br label %23857

23857:                                            ; preds = %23856
  call void @llvm.lifetime.start.p0(i64 4, ptr %476) #11
  %23858 = call ptr @__errno_location() #12
  %23859 = load i32, ptr %23858, align 4, !tbaa !5
  store i32 %23859, ptr %476, align 4, !tbaa !5
  %23860 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23861 = call i32 @s2n_print_stacktrace(ptr noundef %23860)
  %23862 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %23863 = trunc i8 %23862 to i1
  br i1 %23863, label %23864, label %23886

23864:                                            ; preds = %23857
  %23865 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23866 = call i32 @fileno(ptr noundef %23865) #11
  %23867 = call i32 @isatty(i32 noundef %23866) #11
  %23868 = icmp ne i32 %23867, 0
  br i1 %23868, label %23869, label %23886

23869:                                            ; preds = %23864
  %23870 = load i32, ptr %476, align 4, !tbaa !5
  %23871 = call ptr @__errno_location() #12
  store i32 %23870, ptr %23871, align 4, !tbaa !5
  %23872 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23873 = load i32, ptr @test_count, align 4, !tbaa !5
  %23874 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23875 = load i32, ptr %23874, align 4, !tbaa !5
  %23876 = call ptr @s2n_strerror(i32 noundef %23875, ptr noundef @.str.11)
  %23877 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23878 = load i32, ptr %23877, align 4, !tbaa !5
  %23879 = call ptr @s2n_strerror_debug(i32 noundef %23878, ptr noundef @.str.11)
  %23880 = call ptr @__errno_location() #12
  %23881 = load i32, ptr %23880, align 4, !tbaa !5
  %23882 = call ptr @strerror(i32 noundef %23881) #11
  %23883 = call ptr @__errno_location() #12
  %23884 = load i32, ptr %23883, align 4, !tbaa !5
  %23885 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23872, ptr noundef @.str.9, i32 noundef %23873, ptr noundef @.str.213, ptr noundef @.str.8, i32 noundef 908, ptr noundef %23876, ptr noundef %23879, ptr noundef %23882, i32 noundef %23884) #11
  br label %23903

23886:                                            ; preds = %23864, %23857
  %23887 = load i32, ptr %476, align 4, !tbaa !5
  %23888 = call ptr @__errno_location() #12
  store i32 %23887, ptr %23888, align 4, !tbaa !5
  %23889 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23890 = load i32, ptr @test_count, align 4, !tbaa !5
  %23891 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23892 = load i32, ptr %23891, align 4, !tbaa !5
  %23893 = call ptr @s2n_strerror(i32 noundef %23892, ptr noundef @.str.11)
  %23894 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23895 = load i32, ptr %23894, align 4, !tbaa !5
  %23896 = call ptr @s2n_strerror_debug(i32 noundef %23895, ptr noundef @.str.11)
  %23897 = call ptr @__errno_location() #12
  %23898 = load i32, ptr %23897, align 4, !tbaa !5
  %23899 = call ptr @strerror(i32 noundef %23898) #11
  %23900 = call ptr @__errno_location() #12
  %23901 = load i32, ptr %23900, align 4, !tbaa !5
  %23902 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23889, ptr noundef @.str.12, i32 noundef %23890, ptr noundef @.str.213, ptr noundef @.str.8, i32 noundef 908, ptr noundef %23893, ptr noundef %23896, ptr noundef %23899, i32 noundef %23901) #11
  br label %23903

23903:                                            ; preds = %23886, %23869
  call void @llvm.lifetime.end.p0(i64 4, ptr %476) #11
  br label %23904

23904:                                            ; preds = %23903
  br label %23905

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

23906:                                            ; No predecessors!
  br label %23907

23907:                                            ; preds = %23906
  br label %23908

23908:                                            ; preds = %23907, %23850
  br label %23909

23909:                                            ; preds = %23908
  br label %23910

23910:                                            ; preds = %23909
  br label %23911

23911:                                            ; preds = %23910
  %23912 = load i32, ptr @test_count, align 4, !tbaa !5
  %23913 = add nsw i32 %23912, 1
  store i32 %23913, ptr @test_count, align 4, !tbaa !5
  %23914 = load ptr, ptr %468, align 8, !tbaa !9
  %23915 = call zeroext i1 @s2n_connection_check_io_status(ptr noundef %23914, i32 noundef 3)
  br i1 %23915, label %23916, label %23969

23916:                                            ; preds = %23911
  br label %23917

23917:                                            ; preds = %23916
  br label %23918

23918:                                            ; preds = %23917
  call void @llvm.lifetime.start.p0(i64 4, ptr %477) #11
  %23919 = call ptr @__errno_location() #12
  %23920 = load i32, ptr %23919, align 4, !tbaa !5
  store i32 %23920, ptr %477, align 4, !tbaa !5
  %23921 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23922 = call i32 @s2n_print_stacktrace(ptr noundef %23921)
  %23923 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %23924 = trunc i8 %23923 to i1
  br i1 %23924, label %23925, label %23947

23925:                                            ; preds = %23918
  %23926 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23927 = call i32 @fileno(ptr noundef %23926) #11
  %23928 = call i32 @isatty(i32 noundef %23927) #11
  %23929 = icmp ne i32 %23928, 0
  br i1 %23929, label %23930, label %23947

23930:                                            ; preds = %23925
  %23931 = load i32, ptr %477, align 4, !tbaa !5
  %23932 = call ptr @__errno_location() #12
  store i32 %23931, ptr %23932, align 4, !tbaa !5
  %23933 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23934 = load i32, ptr @test_count, align 4, !tbaa !5
  %23935 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23936 = load i32, ptr %23935, align 4, !tbaa !5
  %23937 = call ptr @s2n_strerror(i32 noundef %23936, ptr noundef @.str.11)
  %23938 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23939 = load i32, ptr %23938, align 4, !tbaa !5
  %23940 = call ptr @s2n_strerror_debug(i32 noundef %23939, ptr noundef @.str.11)
  %23941 = call ptr @__errno_location() #12
  %23942 = load i32, ptr %23941, align 4, !tbaa !5
  %23943 = call ptr @strerror(i32 noundef %23942) #11
  %23944 = call ptr @__errno_location() #12
  %23945 = load i32, ptr %23944, align 4, !tbaa !5
  %23946 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23933, ptr noundef @.str.9, i32 noundef %23934, ptr noundef @.str.210, ptr noundef @.str.8, i32 noundef 909, ptr noundef %23937, ptr noundef %23940, ptr noundef %23943, i32 noundef %23945) #11
  br label %23964

23947:                                            ; preds = %23925, %23918
  %23948 = load i32, ptr %477, align 4, !tbaa !5
  %23949 = call ptr @__errno_location() #12
  store i32 %23948, ptr %23949, align 4, !tbaa !5
  %23950 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23951 = load i32, ptr @test_count, align 4, !tbaa !5
  %23952 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23953 = load i32, ptr %23952, align 4, !tbaa !5
  %23954 = call ptr @s2n_strerror(i32 noundef %23953, ptr noundef @.str.11)
  %23955 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23956 = load i32, ptr %23955, align 4, !tbaa !5
  %23957 = call ptr @s2n_strerror_debug(i32 noundef %23956, ptr noundef @.str.11)
  %23958 = call ptr @__errno_location() #12
  %23959 = load i32, ptr %23958, align 4, !tbaa !5
  %23960 = call ptr @strerror(i32 noundef %23959) #11
  %23961 = call ptr @__errno_location() #12
  %23962 = load i32, ptr %23961, align 4, !tbaa !5
  %23963 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23950, ptr noundef @.str.12, i32 noundef %23951, ptr noundef @.str.210, ptr noundef @.str.8, i32 noundef 909, ptr noundef %23954, ptr noundef %23957, ptr noundef %23960, i32 noundef %23962) #11
  br label %23964

23964:                                            ; preds = %23947, %23930
  call void @llvm.lifetime.end.p0(i64 4, ptr %477) #11
  br label %23965

23965:                                            ; preds = %23964
  br label %23966

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

23967:                                            ; No predecessors!
  br label %23968

23968:                                            ; preds = %23967
  br label %23969

23969:                                            ; preds = %23968, %23911
  br label %23970

23970:                                            ; preds = %23969
  br label %23971

23971:                                            ; preds = %23970
  %23972 = load ptr, ptr %468, align 8, !tbaa !9
  %23973 = getelementptr inbounds %struct.s2n_connection, ptr %23972, i32 0, i32 62
  call void @s2n_atomic_flag_clear(ptr noundef %23973)
  %23974 = load ptr, ptr %468, align 8, !tbaa !9
  %23975 = getelementptr inbounds %struct.s2n_connection, ptr %23974, i32 0, i32 61
  call void @s2n_atomic_flag_set(ptr noundef %23975)
  br label %23976

23976:                                            ; preds = %23971
  %23977 = load i32, ptr @test_count, align 4, !tbaa !5
  %23978 = add nsw i32 %23977, 1
  store i32 %23978, ptr @test_count, align 4, !tbaa !5
  %23979 = load ptr, ptr %468, align 8, !tbaa !9
  %23980 = call zeroext i1 @s2n_connection_check_io_status(ptr noundef %23979, i32 noundef 0)
  br i1 %23980, label %24034, label %23981

23981:                                            ; preds = %23976
  br label %23982

23982:                                            ; preds = %23981
  br label %23983

23983:                                            ; preds = %23982
  call void @llvm.lifetime.start.p0(i64 4, ptr %478) #11
  %23984 = call ptr @__errno_location() #12
  %23985 = load i32, ptr %23984, align 4, !tbaa !5
  store i32 %23985, ptr %478, align 4, !tbaa !5
  %23986 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23987 = call i32 @s2n_print_stacktrace(ptr noundef %23986)
  %23988 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %23989 = trunc i8 %23988 to i1
  br i1 %23989, label %23990, label %24012

23990:                                            ; preds = %23983
  %23991 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23992 = call i32 @fileno(ptr noundef %23991) #11
  %23993 = call i32 @isatty(i32 noundef %23992) #11
  %23994 = icmp ne i32 %23993, 0
  br i1 %23994, label %23995, label %24012

23995:                                            ; preds = %23990
  %23996 = load i32, ptr %478, align 4, !tbaa !5
  %23997 = call ptr @__errno_location() #12
  store i32 %23996, ptr %23997, align 4, !tbaa !5
  %23998 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23999 = load i32, ptr @test_count, align 4, !tbaa !5
  %24000 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24001 = load i32, ptr %24000, align 4, !tbaa !5
  %24002 = call ptr @s2n_strerror(i32 noundef %24001, ptr noundef @.str.11)
  %24003 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24004 = load i32, ptr %24003, align 4, !tbaa !5
  %24005 = call ptr @s2n_strerror_debug(i32 noundef %24004, ptr noundef @.str.11)
  %24006 = call ptr @__errno_location() #12
  %24007 = load i32, ptr %24006, align 4, !tbaa !5
  %24008 = call ptr @strerror(i32 noundef %24007) #11
  %24009 = call ptr @__errno_location() #12
  %24010 = load i32, ptr %24009, align 4, !tbaa !5
  %24011 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23998, ptr noundef @.str.9, i32 noundef %23999, ptr noundef @.str.207, ptr noundef @.str.8, i32 noundef 914, ptr noundef %24002, ptr noundef %24005, ptr noundef %24008, i32 noundef %24010) #11
  br label %24029

24012:                                            ; preds = %23990, %23983
  %24013 = load i32, ptr %478, align 4, !tbaa !5
  %24014 = call ptr @__errno_location() #12
  store i32 %24013, ptr %24014, align 4, !tbaa !5
  %24015 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24016 = load i32, ptr @test_count, align 4, !tbaa !5
  %24017 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24018 = load i32, ptr %24017, align 4, !tbaa !5
  %24019 = call ptr @s2n_strerror(i32 noundef %24018, ptr noundef @.str.11)
  %24020 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24021 = load i32, ptr %24020, align 4, !tbaa !5
  %24022 = call ptr @s2n_strerror_debug(i32 noundef %24021, ptr noundef @.str.11)
  %24023 = call ptr @__errno_location() #12
  %24024 = load i32, ptr %24023, align 4, !tbaa !5
  %24025 = call ptr @strerror(i32 noundef %24024) #11
  %24026 = call ptr @__errno_location() #12
  %24027 = load i32, ptr %24026, align 4, !tbaa !5
  %24028 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24015, ptr noundef @.str.12, i32 noundef %24016, ptr noundef @.str.207, ptr noundef @.str.8, i32 noundef 914, ptr noundef %24019, ptr noundef %24022, ptr noundef %24025, i32 noundef %24027) #11
  br label %24029

24029:                                            ; preds = %24012, %23995
  call void @llvm.lifetime.end.p0(i64 4, ptr %478) #11
  br label %24030

24030:                                            ; preds = %24029
  br label %24031

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

24032:                                            ; No predecessors!
  br label %24033

24033:                                            ; preds = %24032
  br label %24034

24034:                                            ; preds = %24033, %23976
  br label %24035

24035:                                            ; preds = %24034
  br label %24036

24036:                                            ; preds = %24035
  br label %24037

24037:                                            ; preds = %24036
  %24038 = load i32, ptr @test_count, align 4, !tbaa !5
  %24039 = add nsw i32 %24038, 1
  store i32 %24039, ptr @test_count, align 4, !tbaa !5
  %24040 = load ptr, ptr %468, align 8, !tbaa !9
  %24041 = call zeroext i1 @s2n_connection_check_io_status(ptr noundef %24040, i32 noundef 1)
  br i1 %24041, label %24042, label %24095

24042:                                            ; preds = %24037
  br label %24043

24043:                                            ; preds = %24042
  br label %24044

24044:                                            ; preds = %24043
  call void @llvm.lifetime.start.p0(i64 4, ptr %479) #11
  %24045 = call ptr @__errno_location() #12
  %24046 = load i32, ptr %24045, align 4, !tbaa !5
  store i32 %24046, ptr %479, align 4, !tbaa !5
  %24047 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24048 = call i32 @s2n_print_stacktrace(ptr noundef %24047)
  %24049 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %24050 = trunc i8 %24049 to i1
  br i1 %24050, label %24051, label %24073

24051:                                            ; preds = %24044
  %24052 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24053 = call i32 @fileno(ptr noundef %24052) #11
  %24054 = call i32 @isatty(i32 noundef %24053) #11
  %24055 = icmp ne i32 %24054, 0
  br i1 %24055, label %24056, label %24073

24056:                                            ; preds = %24051
  %24057 = load i32, ptr %479, align 4, !tbaa !5
  %24058 = call ptr @__errno_location() #12
  store i32 %24057, ptr %24058, align 4, !tbaa !5
  %24059 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24060 = load i32, ptr @test_count, align 4, !tbaa !5
  %24061 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24062 = load i32, ptr %24061, align 4, !tbaa !5
  %24063 = call ptr @s2n_strerror(i32 noundef %24062, ptr noundef @.str.11)
  %24064 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24065 = load i32, ptr %24064, align 4, !tbaa !5
  %24066 = call ptr @s2n_strerror_debug(i32 noundef %24065, ptr noundef @.str.11)
  %24067 = call ptr @__errno_location() #12
  %24068 = load i32, ptr %24067, align 4, !tbaa !5
  %24069 = call ptr @strerror(i32 noundef %24068) #11
  %24070 = call ptr @__errno_location() #12
  %24071 = load i32, ptr %24070, align 4, !tbaa !5
  %24072 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24059, ptr noundef @.str.9, i32 noundef %24060, ptr noundef @.str.212, ptr noundef @.str.8, i32 noundef 915, ptr noundef %24063, ptr noundef %24066, ptr noundef %24069, i32 noundef %24071) #11
  br label %24090

24073:                                            ; preds = %24051, %24044
  %24074 = load i32, ptr %479, align 4, !tbaa !5
  %24075 = call ptr @__errno_location() #12
  store i32 %24074, ptr %24075, align 4, !tbaa !5
  %24076 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24077 = load i32, ptr @test_count, align 4, !tbaa !5
  %24078 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24079 = load i32, ptr %24078, align 4, !tbaa !5
  %24080 = call ptr @s2n_strerror(i32 noundef %24079, ptr noundef @.str.11)
  %24081 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24082 = load i32, ptr %24081, align 4, !tbaa !5
  %24083 = call ptr @s2n_strerror_debug(i32 noundef %24082, ptr noundef @.str.11)
  %24084 = call ptr @__errno_location() #12
  %24085 = load i32, ptr %24084, align 4, !tbaa !5
  %24086 = call ptr @strerror(i32 noundef %24085) #11
  %24087 = call ptr @__errno_location() #12
  %24088 = load i32, ptr %24087, align 4, !tbaa !5
  %24089 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24076, ptr noundef @.str.12, i32 noundef %24077, ptr noundef @.str.212, ptr noundef @.str.8, i32 noundef 915, ptr noundef %24080, ptr noundef %24083, ptr noundef %24086, i32 noundef %24088) #11
  br label %24090

24090:                                            ; preds = %24073, %24056
  call void @llvm.lifetime.end.p0(i64 4, ptr %479) #11
  br label %24091

24091:                                            ; preds = %24090
  br label %24092

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

24093:                                            ; No predecessors!
  br label %24094

24094:                                            ; preds = %24093
  br label %24095

24095:                                            ; preds = %24094, %24037
  br label %24096

24096:                                            ; preds = %24095
  br label %24097

24097:                                            ; preds = %24096
  br label %24098

24098:                                            ; preds = %24097
  %24099 = load i32, ptr @test_count, align 4, !tbaa !5
  %24100 = add nsw i32 %24099, 1
  store i32 %24100, ptr @test_count, align 4, !tbaa !5
  %24101 = load ptr, ptr %468, align 8, !tbaa !9
  %24102 = call zeroext i1 @s2n_connection_check_io_status(ptr noundef %24101, i32 noundef 2)
  br i1 %24102, label %24103, label %24156

24103:                                            ; preds = %24098
  br label %24104

24104:                                            ; preds = %24103
  br label %24105

24105:                                            ; preds = %24104
  call void @llvm.lifetime.start.p0(i64 4, ptr %480) #11
  %24106 = call ptr @__errno_location() #12
  %24107 = load i32, ptr %24106, align 4, !tbaa !5
  store i32 %24107, ptr %480, align 4, !tbaa !5
  %24108 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24109 = call i32 @s2n_print_stacktrace(ptr noundef %24108)
  %24110 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %24111 = trunc i8 %24110 to i1
  br i1 %24111, label %24112, label %24134

24112:                                            ; preds = %24105
  %24113 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24114 = call i32 @fileno(ptr noundef %24113) #11
  %24115 = call i32 @isatty(i32 noundef %24114) #11
  %24116 = icmp ne i32 %24115, 0
  br i1 %24116, label %24117, label %24134

24117:                                            ; preds = %24112
  %24118 = load i32, ptr %480, align 4, !tbaa !5
  %24119 = call ptr @__errno_location() #12
  store i32 %24118, ptr %24119, align 4, !tbaa !5
  %24120 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24121 = load i32, ptr @test_count, align 4, !tbaa !5
  %24122 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24123 = load i32, ptr %24122, align 4, !tbaa !5
  %24124 = call ptr @s2n_strerror(i32 noundef %24123, ptr noundef @.str.11)
  %24125 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24126 = load i32, ptr %24125, align 4, !tbaa !5
  %24127 = call ptr @s2n_strerror_debug(i32 noundef %24126, ptr noundef @.str.11)
  %24128 = call ptr @__errno_location() #12
  %24129 = load i32, ptr %24128, align 4, !tbaa !5
  %24130 = call ptr @strerror(i32 noundef %24129) #11
  %24131 = call ptr @__errno_location() #12
  %24132 = load i32, ptr %24131, align 4, !tbaa !5
  %24133 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24120, ptr noundef @.str.9, i32 noundef %24121, ptr noundef @.str.213, ptr noundef @.str.8, i32 noundef 916, ptr noundef %24124, ptr noundef %24127, ptr noundef %24130, i32 noundef %24132) #11
  br label %24151

24134:                                            ; preds = %24112, %24105
  %24135 = load i32, ptr %480, align 4, !tbaa !5
  %24136 = call ptr @__errno_location() #12
  store i32 %24135, ptr %24136, align 4, !tbaa !5
  %24137 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24138 = load i32, ptr @test_count, align 4, !tbaa !5
  %24139 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24140 = load i32, ptr %24139, align 4, !tbaa !5
  %24141 = call ptr @s2n_strerror(i32 noundef %24140, ptr noundef @.str.11)
  %24142 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24143 = load i32, ptr %24142, align 4, !tbaa !5
  %24144 = call ptr @s2n_strerror_debug(i32 noundef %24143, ptr noundef @.str.11)
  %24145 = call ptr @__errno_location() #12
  %24146 = load i32, ptr %24145, align 4, !tbaa !5
  %24147 = call ptr @strerror(i32 noundef %24146) #11
  %24148 = call ptr @__errno_location() #12
  %24149 = load i32, ptr %24148, align 4, !tbaa !5
  %24150 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24137, ptr noundef @.str.12, i32 noundef %24138, ptr noundef @.str.213, ptr noundef @.str.8, i32 noundef 916, ptr noundef %24141, ptr noundef %24144, ptr noundef %24147, i32 noundef %24149) #11
  br label %24151

24151:                                            ; preds = %24134, %24117
  call void @llvm.lifetime.end.p0(i64 4, ptr %480) #11
  br label %24152

24152:                                            ; preds = %24151
  br label %24153

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

24154:                                            ; No predecessors!
  br label %24155

24155:                                            ; preds = %24154
  br label %24156

24156:                                            ; preds = %24155, %24098
  br label %24157

24157:                                            ; preds = %24156
  br label %24158

24158:                                            ; preds = %24157
  br label %24159

24159:                                            ; preds = %24158
  %24160 = load i32, ptr @test_count, align 4, !tbaa !5
  %24161 = add nsw i32 %24160, 1
  store i32 %24161, ptr @test_count, align 4, !tbaa !5
  %24162 = load ptr, ptr %468, align 8, !tbaa !9
  %24163 = call zeroext i1 @s2n_connection_check_io_status(ptr noundef %24162, i32 noundef 3)
  br i1 %24163, label %24164, label %24217

24164:                                            ; preds = %24159
  br label %24165

24165:                                            ; preds = %24164
  br label %24166

24166:                                            ; preds = %24165
  call void @llvm.lifetime.start.p0(i64 4, ptr %481) #11
  %24167 = call ptr @__errno_location() #12
  %24168 = load i32, ptr %24167, align 4, !tbaa !5
  store i32 %24168, ptr %481, align 4, !tbaa !5
  %24169 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24170 = call i32 @s2n_print_stacktrace(ptr noundef %24169)
  %24171 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %24172 = trunc i8 %24171 to i1
  br i1 %24172, label %24173, label %24195

24173:                                            ; preds = %24166
  %24174 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24175 = call i32 @fileno(ptr noundef %24174) #11
  %24176 = call i32 @isatty(i32 noundef %24175) #11
  %24177 = icmp ne i32 %24176, 0
  br i1 %24177, label %24178, label %24195

24178:                                            ; preds = %24173
  %24179 = load i32, ptr %481, align 4, !tbaa !5
  %24180 = call ptr @__errno_location() #12
  store i32 %24179, ptr %24180, align 4, !tbaa !5
  %24181 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24182 = load i32, ptr @test_count, align 4, !tbaa !5
  %24183 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24184 = load i32, ptr %24183, align 4, !tbaa !5
  %24185 = call ptr @s2n_strerror(i32 noundef %24184, ptr noundef @.str.11)
  %24186 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24187 = load i32, ptr %24186, align 4, !tbaa !5
  %24188 = call ptr @s2n_strerror_debug(i32 noundef %24187, ptr noundef @.str.11)
  %24189 = call ptr @__errno_location() #12
  %24190 = load i32, ptr %24189, align 4, !tbaa !5
  %24191 = call ptr @strerror(i32 noundef %24190) #11
  %24192 = call ptr @__errno_location() #12
  %24193 = load i32, ptr %24192, align 4, !tbaa !5
  %24194 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24181, ptr noundef @.str.9, i32 noundef %24182, ptr noundef @.str.210, ptr noundef @.str.8, i32 noundef 917, ptr noundef %24185, ptr noundef %24188, ptr noundef %24191, i32 noundef %24193) #11
  br label %24212

24195:                                            ; preds = %24173, %24166
  %24196 = load i32, ptr %481, align 4, !tbaa !5
  %24197 = call ptr @__errno_location() #12
  store i32 %24196, ptr %24197, align 4, !tbaa !5
  %24198 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24199 = load i32, ptr @test_count, align 4, !tbaa !5
  %24200 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24201 = load i32, ptr %24200, align 4, !tbaa !5
  %24202 = call ptr @s2n_strerror(i32 noundef %24201, ptr noundef @.str.11)
  %24203 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24204 = load i32, ptr %24203, align 4, !tbaa !5
  %24205 = call ptr @s2n_strerror_debug(i32 noundef %24204, ptr noundef @.str.11)
  %24206 = call ptr @__errno_location() #12
  %24207 = load i32, ptr %24206, align 4, !tbaa !5
  %24208 = call ptr @strerror(i32 noundef %24207) #11
  %24209 = call ptr @__errno_location() #12
  %24210 = load i32, ptr %24209, align 4, !tbaa !5
  %24211 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24198, ptr noundef @.str.12, i32 noundef %24199, ptr noundef @.str.210, ptr noundef @.str.8, i32 noundef 917, ptr noundef %24202, ptr noundef %24205, ptr noundef %24208, i32 noundef %24210) #11
  br label %24212

24212:                                            ; preds = %24195, %24178
  call void @llvm.lifetime.end.p0(i64 4, ptr %481) #11
  br label %24213

24213:                                            ; preds = %24212
  br label %24214

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

24215:                                            ; No predecessors!
  br label %24216

24216:                                            ; preds = %24215
  br label %24217

24217:                                            ; preds = %24216, %24159
  br label %24218

24218:                                            ; preds = %24217
  br label %24219

24219:                                            ; preds = %24218
  %24220 = load ptr, ptr %468, align 8, !tbaa !9
  %24221 = getelementptr inbounds %struct.s2n_connection, ptr %24220, i32 0, i32 61
  call void @s2n_atomic_flag_clear(ptr noundef %24221)
  %24222 = load ptr, ptr %468, align 8, !tbaa !9
  %24223 = getelementptr inbounds %struct.s2n_connection, ptr %24222, i32 0, i32 61
  call void @s2n_atomic_flag_set(ptr noundef %24223)
  %24224 = load ptr, ptr %468, align 8, !tbaa !9
  %24225 = getelementptr inbounds %struct.s2n_connection, ptr %24224, i32 0, i32 62
  call void @s2n_atomic_flag_set(ptr noundef %24225)
  br label %24226

24226:                                            ; preds = %24219
  %24227 = load i32, ptr @test_count, align 4, !tbaa !5
  %24228 = add nsw i32 %24227, 1
  store i32 %24228, ptr @test_count, align 4, !tbaa !5
  %24229 = load ptr, ptr %468, align 8, !tbaa !9
  %24230 = call zeroext i1 @s2n_connection_check_io_status(ptr noundef %24229, i32 noundef 0)
  br i1 %24230, label %24231, label %24284

24231:                                            ; preds = %24226
  br label %24232

24232:                                            ; preds = %24231
  br label %24233

24233:                                            ; preds = %24232
  call void @llvm.lifetime.start.p0(i64 4, ptr %482) #11
  %24234 = call ptr @__errno_location() #12
  %24235 = load i32, ptr %24234, align 4, !tbaa !5
  store i32 %24235, ptr %482, align 4, !tbaa !5
  %24236 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24237 = call i32 @s2n_print_stacktrace(ptr noundef %24236)
  %24238 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %24239 = trunc i8 %24238 to i1
  br i1 %24239, label %24240, label %24262

24240:                                            ; preds = %24233
  %24241 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24242 = call i32 @fileno(ptr noundef %24241) #11
  %24243 = call i32 @isatty(i32 noundef %24242) #11
  %24244 = icmp ne i32 %24243, 0
  br i1 %24244, label %24245, label %24262

24245:                                            ; preds = %24240
  %24246 = load i32, ptr %482, align 4, !tbaa !5
  %24247 = call ptr @__errno_location() #12
  store i32 %24246, ptr %24247, align 4, !tbaa !5
  %24248 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24249 = load i32, ptr @test_count, align 4, !tbaa !5
  %24250 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24251 = load i32, ptr %24250, align 4, !tbaa !5
  %24252 = call ptr @s2n_strerror(i32 noundef %24251, ptr noundef @.str.11)
  %24253 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24254 = load i32, ptr %24253, align 4, !tbaa !5
  %24255 = call ptr @s2n_strerror_debug(i32 noundef %24254, ptr noundef @.str.11)
  %24256 = call ptr @__errno_location() #12
  %24257 = load i32, ptr %24256, align 4, !tbaa !5
  %24258 = call ptr @strerror(i32 noundef %24257) #11
  %24259 = call ptr @__errno_location() #12
  %24260 = load i32, ptr %24259, align 4, !tbaa !5
  %24261 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24248, ptr noundef @.str.9, i32 noundef %24249, ptr noundef @.str.211, ptr noundef @.str.8, i32 noundef 923, ptr noundef %24252, ptr noundef %24255, ptr noundef %24258, i32 noundef %24260) #11
  br label %24279

24262:                                            ; preds = %24240, %24233
  %24263 = load i32, ptr %482, align 4, !tbaa !5
  %24264 = call ptr @__errno_location() #12
  store i32 %24263, ptr %24264, align 4, !tbaa !5
  %24265 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24266 = load i32, ptr @test_count, align 4, !tbaa !5
  %24267 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24268 = load i32, ptr %24267, align 4, !tbaa !5
  %24269 = call ptr @s2n_strerror(i32 noundef %24268, ptr noundef @.str.11)
  %24270 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24271 = load i32, ptr %24270, align 4, !tbaa !5
  %24272 = call ptr @s2n_strerror_debug(i32 noundef %24271, ptr noundef @.str.11)
  %24273 = call ptr @__errno_location() #12
  %24274 = load i32, ptr %24273, align 4, !tbaa !5
  %24275 = call ptr @strerror(i32 noundef %24274) #11
  %24276 = call ptr @__errno_location() #12
  %24277 = load i32, ptr %24276, align 4, !tbaa !5
  %24278 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24265, ptr noundef @.str.12, i32 noundef %24266, ptr noundef @.str.211, ptr noundef @.str.8, i32 noundef 923, ptr noundef %24269, ptr noundef %24272, ptr noundef %24275, i32 noundef %24277) #11
  br label %24279

24279:                                            ; preds = %24262, %24245
  call void @llvm.lifetime.end.p0(i64 4, ptr %482) #11
  br label %24280

24280:                                            ; preds = %24279
  br label %24281

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

24282:                                            ; No predecessors!
  br label %24283

24283:                                            ; preds = %24282
  br label %24284

24284:                                            ; preds = %24283, %24226
  br label %24285

24285:                                            ; preds = %24284
  br label %24286

24286:                                            ; preds = %24285
  br label %24287

24287:                                            ; preds = %24286
  %24288 = load i32, ptr @test_count, align 4, !tbaa !5
  %24289 = add nsw i32 %24288, 1
  store i32 %24289, ptr @test_count, align 4, !tbaa !5
  %24290 = load ptr, ptr %468, align 8, !tbaa !9
  %24291 = call zeroext i1 @s2n_connection_check_io_status(ptr noundef %24290, i32 noundef 1)
  br i1 %24291, label %24292, label %24345

24292:                                            ; preds = %24287
  br label %24293

24293:                                            ; preds = %24292
  br label %24294

24294:                                            ; preds = %24293
  call void @llvm.lifetime.start.p0(i64 4, ptr %483) #11
  %24295 = call ptr @__errno_location() #12
  %24296 = load i32, ptr %24295, align 4, !tbaa !5
  store i32 %24296, ptr %483, align 4, !tbaa !5
  %24297 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24298 = call i32 @s2n_print_stacktrace(ptr noundef %24297)
  %24299 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %24300 = trunc i8 %24299 to i1
  br i1 %24300, label %24301, label %24323

24301:                                            ; preds = %24294
  %24302 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24303 = call i32 @fileno(ptr noundef %24302) #11
  %24304 = call i32 @isatty(i32 noundef %24303) #11
  %24305 = icmp ne i32 %24304, 0
  br i1 %24305, label %24306, label %24323

24306:                                            ; preds = %24301
  %24307 = load i32, ptr %483, align 4, !tbaa !5
  %24308 = call ptr @__errno_location() #12
  store i32 %24307, ptr %24308, align 4, !tbaa !5
  %24309 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24310 = load i32, ptr @test_count, align 4, !tbaa !5
  %24311 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24312 = load i32, ptr %24311, align 4, !tbaa !5
  %24313 = call ptr @s2n_strerror(i32 noundef %24312, ptr noundef @.str.11)
  %24314 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24315 = load i32, ptr %24314, align 4, !tbaa !5
  %24316 = call ptr @s2n_strerror_debug(i32 noundef %24315, ptr noundef @.str.11)
  %24317 = call ptr @__errno_location() #12
  %24318 = load i32, ptr %24317, align 4, !tbaa !5
  %24319 = call ptr @strerror(i32 noundef %24318) #11
  %24320 = call ptr @__errno_location() #12
  %24321 = load i32, ptr %24320, align 4, !tbaa !5
  %24322 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24309, ptr noundef @.str.9, i32 noundef %24310, ptr noundef @.str.212, ptr noundef @.str.8, i32 noundef 924, ptr noundef %24313, ptr noundef %24316, ptr noundef %24319, i32 noundef %24321) #11
  br label %24340

24323:                                            ; preds = %24301, %24294
  %24324 = load i32, ptr %483, align 4, !tbaa !5
  %24325 = call ptr @__errno_location() #12
  store i32 %24324, ptr %24325, align 4, !tbaa !5
  %24326 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24327 = load i32, ptr @test_count, align 4, !tbaa !5
  %24328 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24329 = load i32, ptr %24328, align 4, !tbaa !5
  %24330 = call ptr @s2n_strerror(i32 noundef %24329, ptr noundef @.str.11)
  %24331 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24332 = load i32, ptr %24331, align 4, !tbaa !5
  %24333 = call ptr @s2n_strerror_debug(i32 noundef %24332, ptr noundef @.str.11)
  %24334 = call ptr @__errno_location() #12
  %24335 = load i32, ptr %24334, align 4, !tbaa !5
  %24336 = call ptr @strerror(i32 noundef %24335) #11
  %24337 = call ptr @__errno_location() #12
  %24338 = load i32, ptr %24337, align 4, !tbaa !5
  %24339 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24326, ptr noundef @.str.12, i32 noundef %24327, ptr noundef @.str.212, ptr noundef @.str.8, i32 noundef 924, ptr noundef %24330, ptr noundef %24333, ptr noundef %24336, i32 noundef %24338) #11
  br label %24340

24340:                                            ; preds = %24323, %24306
  call void @llvm.lifetime.end.p0(i64 4, ptr %483) #11
  br label %24341

24341:                                            ; preds = %24340
  br label %24342

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

24343:                                            ; No predecessors!
  br label %24344

24344:                                            ; preds = %24343
  br label %24345

24345:                                            ; preds = %24344, %24287
  br label %24346

24346:                                            ; preds = %24345
  br label %24347

24347:                                            ; preds = %24346
  br label %24348

24348:                                            ; preds = %24347
  %24349 = load i32, ptr @test_count, align 4, !tbaa !5
  %24350 = add nsw i32 %24349, 1
  store i32 %24350, ptr @test_count, align 4, !tbaa !5
  %24351 = load ptr, ptr %468, align 8, !tbaa !9
  %24352 = call zeroext i1 @s2n_connection_check_io_status(ptr noundef %24351, i32 noundef 2)
  br i1 %24352, label %24353, label %24406

24353:                                            ; preds = %24348
  br label %24354

24354:                                            ; preds = %24353
  br label %24355

24355:                                            ; preds = %24354
  call void @llvm.lifetime.start.p0(i64 4, ptr %484) #11
  %24356 = call ptr @__errno_location() #12
  %24357 = load i32, ptr %24356, align 4, !tbaa !5
  store i32 %24357, ptr %484, align 4, !tbaa !5
  %24358 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24359 = call i32 @s2n_print_stacktrace(ptr noundef %24358)
  %24360 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %24361 = trunc i8 %24360 to i1
  br i1 %24361, label %24362, label %24384

24362:                                            ; preds = %24355
  %24363 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24364 = call i32 @fileno(ptr noundef %24363) #11
  %24365 = call i32 @isatty(i32 noundef %24364) #11
  %24366 = icmp ne i32 %24365, 0
  br i1 %24366, label %24367, label %24384

24367:                                            ; preds = %24362
  %24368 = load i32, ptr %484, align 4, !tbaa !5
  %24369 = call ptr @__errno_location() #12
  store i32 %24368, ptr %24369, align 4, !tbaa !5
  %24370 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24371 = load i32, ptr @test_count, align 4, !tbaa !5
  %24372 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24373 = load i32, ptr %24372, align 4, !tbaa !5
  %24374 = call ptr @s2n_strerror(i32 noundef %24373, ptr noundef @.str.11)
  %24375 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24376 = load i32, ptr %24375, align 4, !tbaa !5
  %24377 = call ptr @s2n_strerror_debug(i32 noundef %24376, ptr noundef @.str.11)
  %24378 = call ptr @__errno_location() #12
  %24379 = load i32, ptr %24378, align 4, !tbaa !5
  %24380 = call ptr @strerror(i32 noundef %24379) #11
  %24381 = call ptr @__errno_location() #12
  %24382 = load i32, ptr %24381, align 4, !tbaa !5
  %24383 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24370, ptr noundef @.str.9, i32 noundef %24371, ptr noundef @.str.213, ptr noundef @.str.8, i32 noundef 925, ptr noundef %24374, ptr noundef %24377, ptr noundef %24380, i32 noundef %24382) #11
  br label %24401

24384:                                            ; preds = %24362, %24355
  %24385 = load i32, ptr %484, align 4, !tbaa !5
  %24386 = call ptr @__errno_location() #12
  store i32 %24385, ptr %24386, align 4, !tbaa !5
  %24387 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24388 = load i32, ptr @test_count, align 4, !tbaa !5
  %24389 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24390 = load i32, ptr %24389, align 4, !tbaa !5
  %24391 = call ptr @s2n_strerror(i32 noundef %24390, ptr noundef @.str.11)
  %24392 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24393 = load i32, ptr %24392, align 4, !tbaa !5
  %24394 = call ptr @s2n_strerror_debug(i32 noundef %24393, ptr noundef @.str.11)
  %24395 = call ptr @__errno_location() #12
  %24396 = load i32, ptr %24395, align 4, !tbaa !5
  %24397 = call ptr @strerror(i32 noundef %24396) #11
  %24398 = call ptr @__errno_location() #12
  %24399 = load i32, ptr %24398, align 4, !tbaa !5
  %24400 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24387, ptr noundef @.str.12, i32 noundef %24388, ptr noundef @.str.213, ptr noundef @.str.8, i32 noundef 925, ptr noundef %24391, ptr noundef %24394, ptr noundef %24397, i32 noundef %24399) #11
  br label %24401

24401:                                            ; preds = %24384, %24367
  call void @llvm.lifetime.end.p0(i64 4, ptr %484) #11
  br label %24402

24402:                                            ; preds = %24401
  br label %24403

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

24404:                                            ; No predecessors!
  br label %24405

24405:                                            ; preds = %24404
  br label %24406

24406:                                            ; preds = %24405, %24348
  br label %24407

24407:                                            ; preds = %24406
  br label %24408

24408:                                            ; preds = %24407
  br label %24409

24409:                                            ; preds = %24408
  %24410 = load i32, ptr @test_count, align 4, !tbaa !5
  %24411 = add nsw i32 %24410, 1
  store i32 %24411, ptr @test_count, align 4, !tbaa !5
  %24412 = load ptr, ptr %468, align 8, !tbaa !9
  %24413 = call zeroext i1 @s2n_connection_check_io_status(ptr noundef %24412, i32 noundef 3)
  br i1 %24413, label %24467, label %24414

24414:                                            ; preds = %24409
  br label %24415

24415:                                            ; preds = %24414
  br label %24416

24416:                                            ; preds = %24415
  call void @llvm.lifetime.start.p0(i64 4, ptr %485) #11
  %24417 = call ptr @__errno_location() #12
  %24418 = load i32, ptr %24417, align 4, !tbaa !5
  store i32 %24418, ptr %485, align 4, !tbaa !5
  %24419 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24420 = call i32 @s2n_print_stacktrace(ptr noundef %24419)
  %24421 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %24422 = trunc i8 %24421 to i1
  br i1 %24422, label %24423, label %24445

24423:                                            ; preds = %24416
  %24424 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24425 = call i32 @fileno(ptr noundef %24424) #11
  %24426 = call i32 @isatty(i32 noundef %24425) #11
  %24427 = icmp ne i32 %24426, 0
  br i1 %24427, label %24428, label %24445

24428:                                            ; preds = %24423
  %24429 = load i32, ptr %485, align 4, !tbaa !5
  %24430 = call ptr @__errno_location() #12
  store i32 %24429, ptr %24430, align 4, !tbaa !5
  %24431 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24432 = load i32, ptr @test_count, align 4, !tbaa !5
  %24433 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24434 = load i32, ptr %24433, align 4, !tbaa !5
  %24435 = call ptr @s2n_strerror(i32 noundef %24434, ptr noundef @.str.11)
  %24436 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24437 = load i32, ptr %24436, align 4, !tbaa !5
  %24438 = call ptr @s2n_strerror_debug(i32 noundef %24437, ptr noundef @.str.11)
  %24439 = call ptr @__errno_location() #12
  %24440 = load i32, ptr %24439, align 4, !tbaa !5
  %24441 = call ptr @strerror(i32 noundef %24440) #11
  %24442 = call ptr @__errno_location() #12
  %24443 = load i32, ptr %24442, align 4, !tbaa !5
  %24444 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24431, ptr noundef @.str.9, i32 noundef %24432, ptr noundef @.str.214, ptr noundef @.str.8, i32 noundef 926, ptr noundef %24435, ptr noundef %24438, ptr noundef %24441, i32 noundef %24443) #11
  br label %24462

24445:                                            ; preds = %24423, %24416
  %24446 = load i32, ptr %485, align 4, !tbaa !5
  %24447 = call ptr @__errno_location() #12
  store i32 %24446, ptr %24447, align 4, !tbaa !5
  %24448 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24449 = load i32, ptr @test_count, align 4, !tbaa !5
  %24450 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24451 = load i32, ptr %24450, align 4, !tbaa !5
  %24452 = call ptr @s2n_strerror(i32 noundef %24451, ptr noundef @.str.11)
  %24453 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24454 = load i32, ptr %24453, align 4, !tbaa !5
  %24455 = call ptr @s2n_strerror_debug(i32 noundef %24454, ptr noundef @.str.11)
  %24456 = call ptr @__errno_location() #12
  %24457 = load i32, ptr %24456, align 4, !tbaa !5
  %24458 = call ptr @strerror(i32 noundef %24457) #11
  %24459 = call ptr @__errno_location() #12
  %24460 = load i32, ptr %24459, align 4, !tbaa !5
  %24461 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24448, ptr noundef @.str.12, i32 noundef %24449, ptr noundef @.str.214, ptr noundef @.str.8, i32 noundef 926, ptr noundef %24452, ptr noundef %24455, ptr noundef %24458, i32 noundef %24460) #11
  br label %24462

24462:                                            ; preds = %24445, %24428
  call void @llvm.lifetime.end.p0(i64 4, ptr %485) #11
  br label %24463

24463:                                            ; preds = %24462
  br label %24464

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

24465:                                            ; No predecessors!
  br label %24466

24466:                                            ; preds = %24465
  br label %24467

24467:                                            ; preds = %24466, %24409
  br label %24468

24468:                                            ; preds = %24467
  br label %24469

24469:                                            ; preds = %24468
  %24470 = call i32 @s2n_connection_ptr_free(ptr noundef %468)
  %24471 = getelementptr inbounds %struct.s2n_result, ptr %486, i32 0, i32 0
  store i32 %24470, ptr %24471, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %468) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %487) #11
  %24472 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %24472, ptr %487, align 8, !tbaa !9
  br label %24473

24473:                                            ; preds = %24469
  %24474 = load i32, ptr @test_count, align 4, !tbaa !5
  %24475 = add nsw i32 %24474, 1
  store i32 %24475, ptr @test_count, align 4, !tbaa !5
  %24476 = load ptr, ptr %487, align 8, !tbaa !9
  %24477 = icmp eq ptr %24476, null
  br i1 %24477, label %24478, label %24531

24478:                                            ; preds = %24473
  br label %24479

24479:                                            ; preds = %24478
  br label %24480

24480:                                            ; preds = %24479
  call void @llvm.lifetime.start.p0(i64 4, ptr %488) #11
  %24481 = call ptr @__errno_location() #12
  %24482 = load i32, ptr %24481, align 4, !tbaa !5
  store i32 %24482, ptr %488, align 4, !tbaa !5
  %24483 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24484 = call i32 @s2n_print_stacktrace(ptr noundef %24483)
  %24485 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %24486 = trunc i8 %24485 to i1
  br i1 %24486, label %24487, label %24509

24487:                                            ; preds = %24480
  %24488 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24489 = call i32 @fileno(ptr noundef %24488) #11
  %24490 = call i32 @isatty(i32 noundef %24489) #11
  %24491 = icmp ne i32 %24490, 0
  br i1 %24491, label %24492, label %24509

24492:                                            ; preds = %24487
  %24493 = load i32, ptr %488, align 4, !tbaa !5
  %24494 = call ptr @__errno_location() #12
  store i32 %24493, ptr %24494, align 4, !tbaa !5
  %24495 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24496 = load i32, ptr @test_count, align 4, !tbaa !5
  %24497 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24498 = load i32, ptr %24497, align 4, !tbaa !5
  %24499 = call ptr @s2n_strerror(i32 noundef %24498, ptr noundef @.str.11)
  %24500 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24501 = load i32, ptr %24500, align 4, !tbaa !5
  %24502 = call ptr @s2n_strerror_debug(i32 noundef %24501, ptr noundef @.str.11)
  %24503 = call ptr @__errno_location() #12
  %24504 = load i32, ptr %24503, align 4, !tbaa !5
  %24505 = call ptr @strerror(i32 noundef %24504) #11
  %24506 = call ptr @__errno_location() #12
  %24507 = load i32, ptr %24506, align 4, !tbaa !5
  %24508 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24495, ptr noundef @.str.9, i32 noundef %24496, ptr noundef @.str.92, ptr noundef @.str.8, i32 noundef 935, ptr noundef %24499, ptr noundef %24502, ptr noundef %24505, i32 noundef %24507) #11
  br label %24526

24509:                                            ; preds = %24487, %24480
  %24510 = load i32, ptr %488, align 4, !tbaa !5
  %24511 = call ptr @__errno_location() #12
  store i32 %24510, ptr %24511, align 4, !tbaa !5
  %24512 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24513 = load i32, ptr @test_count, align 4, !tbaa !5
  %24514 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24515 = load i32, ptr %24514, align 4, !tbaa !5
  %24516 = call ptr @s2n_strerror(i32 noundef %24515, ptr noundef @.str.11)
  %24517 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24518 = load i32, ptr %24517, align 4, !tbaa !5
  %24519 = call ptr @s2n_strerror_debug(i32 noundef %24518, ptr noundef @.str.11)
  %24520 = call ptr @__errno_location() #12
  %24521 = load i32, ptr %24520, align 4, !tbaa !5
  %24522 = call ptr @strerror(i32 noundef %24521) #11
  %24523 = call ptr @__errno_location() #12
  %24524 = load i32, ptr %24523, align 4, !tbaa !5
  %24525 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24512, ptr noundef @.str.12, i32 noundef %24513, ptr noundef @.str.92, ptr noundef @.str.8, i32 noundef 935, ptr noundef %24516, ptr noundef %24519, ptr noundef %24522, i32 noundef %24524) #11
  br label %24526

24526:                                            ; preds = %24509, %24492
  call void @llvm.lifetime.end.p0(i64 4, ptr %488) #11
  br label %24527

24527:                                            ; preds = %24526
  br label %24528

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

24529:                                            ; No predecessors!
  br label %24530

24530:                                            ; preds = %24529
  br label %24531

24531:                                            ; preds = %24530, %24473
  br label %24532

24532:                                            ; preds = %24531
  br label %24533

24533:                                            ; preds = %24532
  call void @llvm.lifetime.start.p0(i64 1, ptr %489) #11
  store i8 0, ptr %489, align 1, !tbaa !18
  call void @llvm.lifetime.start.p0(i64 1, ptr %490) #11
  store i8 0, ptr %490, align 1, !tbaa !18
  br label %24534

24534:                                            ; preds = %24533
  br label %24535

24535:                                            ; preds = %24534
  br label %24536

24536:                                            ; preds = %24535
  %24537 = load i32, ptr @test_count, align 4, !tbaa !5
  %24538 = add nsw i32 %24537, 1
  store i32 %24538, ptr @test_count, align 4, !tbaa !5
  %24539 = call i32 @s2n_connection_get_key_update_counts(ptr noundef null, ptr noundef %489, ptr noundef %490)
  %24540 = icmp eq i32 %24539, -1
  br i1 %24540, label %24594, label %24541

24541:                                            ; preds = %24536
  br label %24542

24542:                                            ; preds = %24541
  br label %24543

24543:                                            ; preds = %24542
  call void @llvm.lifetime.start.p0(i64 4, ptr %491) #11
  %24544 = call ptr @__errno_location() #12
  %24545 = load i32, ptr %24544, align 4, !tbaa !5
  store i32 %24545, ptr %491, align 4, !tbaa !5
  %24546 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24547 = call i32 @s2n_print_stacktrace(ptr noundef %24546)
  %24548 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %24549 = trunc i8 %24548 to i1
  br i1 %24549, label %24550, label %24572

24550:                                            ; preds = %24543
  %24551 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24552 = call i32 @fileno(ptr noundef %24551) #11
  %24553 = call i32 @isatty(i32 noundef %24552) #11
  %24554 = icmp ne i32 %24553, 0
  br i1 %24554, label %24555, label %24572

24555:                                            ; preds = %24550
  %24556 = load i32, ptr %491, align 4, !tbaa !5
  %24557 = call ptr @__errno_location() #12
  store i32 %24556, ptr %24557, align 4, !tbaa !5
  %24558 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24559 = load i32, ptr @test_count, align 4, !tbaa !5
  %24560 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24561 = load i32, ptr %24560, align 4, !tbaa !5
  %24562 = call ptr @s2n_strerror(i32 noundef %24561, ptr noundef @.str.11)
  %24563 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24564 = load i32, ptr %24563, align 4, !tbaa !5
  %24565 = call ptr @s2n_strerror_debug(i32 noundef %24564, ptr noundef @.str.11)
  %24566 = call ptr @__errno_location() #12
  %24567 = load i32, ptr %24566, align 4, !tbaa !5
  %24568 = call ptr @strerror(i32 noundef %24567) #11
  %24569 = call ptr @__errno_location() #12
  %24570 = load i32, ptr %24569, align 4, !tbaa !5
  %24571 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24558, ptr noundef @.str.9, i32 noundef %24559, ptr noundef @.str.215, ptr noundef @.str.8, i32 noundef 939, ptr noundef %24562, ptr noundef %24565, ptr noundef %24568, i32 noundef %24570) #11
  br label %24589

24572:                                            ; preds = %24550, %24543
  %24573 = load i32, ptr %491, align 4, !tbaa !5
  %24574 = call ptr @__errno_location() #12
  store i32 %24573, ptr %24574, align 4, !tbaa !5
  %24575 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24576 = load i32, ptr @test_count, align 4, !tbaa !5
  %24577 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24578 = load i32, ptr %24577, align 4, !tbaa !5
  %24579 = call ptr @s2n_strerror(i32 noundef %24578, ptr noundef @.str.11)
  %24580 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24581 = load i32, ptr %24580, align 4, !tbaa !5
  %24582 = call ptr @s2n_strerror_debug(i32 noundef %24581, ptr noundef @.str.11)
  %24583 = call ptr @__errno_location() #12
  %24584 = load i32, ptr %24583, align 4, !tbaa !5
  %24585 = call ptr @strerror(i32 noundef %24584) #11
  %24586 = call ptr @__errno_location() #12
  %24587 = load i32, ptr %24586, align 4, !tbaa !5
  %24588 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24575, ptr noundef @.str.12, i32 noundef %24576, ptr noundef @.str.215, ptr noundef @.str.8, i32 noundef 939, ptr noundef %24579, ptr noundef %24582, ptr noundef %24585, i32 noundef %24587) #11
  br label %24589

24589:                                            ; preds = %24572, %24555
  call void @llvm.lifetime.end.p0(i64 4, ptr %491) #11
  br label %24590

24590:                                            ; preds = %24589
  br label %24591

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

24592:                                            ; No predecessors!
  br label %24593

24593:                                            ; preds = %24592
  br label %24594

24594:                                            ; preds = %24593, %24536
  br label %24595

24595:                                            ; preds = %24594
  br label %24596

24596:                                            ; preds = %24595
  br label %24597

24597:                                            ; preds = %24596
  %24598 = load i32, ptr @test_count, align 4, !tbaa !5
  %24599 = add nsw i32 %24598, 1
  store i32 %24599, ptr @test_count, align 4, !tbaa !5
  %24600 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24601 = load i32, ptr %24600, align 4, !tbaa !5
  %24602 = icmp eq i32 %24601, 402653193
  br i1 %24602, label %24656, label %24603

24603:                                            ; preds = %24597
  br label %24604

24604:                                            ; preds = %24603
  br label %24605

24605:                                            ; preds = %24604
  call void @llvm.lifetime.start.p0(i64 4, ptr %492) #11
  %24606 = call ptr @__errno_location() #12
  %24607 = load i32, ptr %24606, align 4, !tbaa !5
  store i32 %24607, ptr %492, align 4, !tbaa !5
  %24608 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24609 = call i32 @s2n_print_stacktrace(ptr noundef %24608)
  %24610 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %24611 = trunc i8 %24610 to i1
  br i1 %24611, label %24612, label %24634

24612:                                            ; preds = %24605
  %24613 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24614 = call i32 @fileno(ptr noundef %24613) #11
  %24615 = call i32 @isatty(i32 noundef %24614) #11
  %24616 = icmp ne i32 %24615, 0
  br i1 %24616, label %24617, label %24634

24617:                                            ; preds = %24612
  %24618 = load i32, ptr %492, align 4, !tbaa !5
  %24619 = call ptr @__errno_location() #12
  store i32 %24618, ptr %24619, align 4, !tbaa !5
  %24620 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24621 = load i32, ptr @test_count, align 4, !tbaa !5
  %24622 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24623 = load i32, ptr %24622, align 4, !tbaa !5
  %24624 = call ptr @s2n_strerror(i32 noundef %24623, ptr noundef @.str.11)
  %24625 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24626 = load i32, ptr %24625, align 4, !tbaa !5
  %24627 = call ptr @s2n_strerror_debug(i32 noundef %24626, ptr noundef @.str.11)
  %24628 = call ptr @__errno_location() #12
  %24629 = load i32, ptr %24628, align 4, !tbaa !5
  %24630 = call ptr @strerror(i32 noundef %24629) #11
  %24631 = call ptr @__errno_location() #12
  %24632 = load i32, ptr %24631, align 4, !tbaa !5
  %24633 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24620, ptr noundef @.str.9, i32 noundef %24621, ptr noundef @.str.91, ptr noundef @.str.8, i32 noundef 939, ptr noundef %24624, ptr noundef %24627, ptr noundef %24630, i32 noundef %24632) #11
  br label %24651

24634:                                            ; preds = %24612, %24605
  %24635 = load i32, ptr %492, align 4, !tbaa !5
  %24636 = call ptr @__errno_location() #12
  store i32 %24635, ptr %24636, align 4, !tbaa !5
  %24637 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24638 = load i32, ptr @test_count, align 4, !tbaa !5
  %24639 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24640 = load i32, ptr %24639, align 4, !tbaa !5
  %24641 = call ptr @s2n_strerror(i32 noundef %24640, ptr noundef @.str.11)
  %24642 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24643 = load i32, ptr %24642, align 4, !tbaa !5
  %24644 = call ptr @s2n_strerror_debug(i32 noundef %24643, ptr noundef @.str.11)
  %24645 = call ptr @__errno_location() #12
  %24646 = load i32, ptr %24645, align 4, !tbaa !5
  %24647 = call ptr @strerror(i32 noundef %24646) #11
  %24648 = call ptr @__errno_location() #12
  %24649 = load i32, ptr %24648, align 4, !tbaa !5
  %24650 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24637, ptr noundef @.str.12, i32 noundef %24638, ptr noundef @.str.91, ptr noundef @.str.8, i32 noundef 939, ptr noundef %24641, ptr noundef %24644, ptr noundef %24647, i32 noundef %24649) #11
  br label %24651

24651:                                            ; preds = %24634, %24617
  call void @llvm.lifetime.end.p0(i64 4, ptr %492) #11
  br label %24652

24652:                                            ; preds = %24651
  br label %24653

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

24654:                                            ; No predecessors!
  br label %24655

24655:                                            ; preds = %24654
  br label %24656

24656:                                            ; preds = %24655, %24597
  br label %24657

24657:                                            ; preds = %24656
  br label %24658

24658:                                            ; preds = %24657
  br label %24659

24659:                                            ; preds = %24658
  %24660 = load i32, ptr @test_count, align 4, !tbaa !5
  %24661 = add nsw i32 %24660, 1
  store i32 %24661, ptr @test_count, align 4, !tbaa !5
  %24662 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24663 = load i32, ptr %24662, align 4, !tbaa !5
  %24664 = call ptr @s2n_strerror_debug(i32 noundef %24663, ptr noundef @.str.11)
  %24665 = icmp eq ptr %24664, null
  br i1 %24665, label %24666, label %24719

24666:                                            ; preds = %24659
  br label %24667

24667:                                            ; preds = %24666
  br label %24668

24668:                                            ; preds = %24667
  call void @llvm.lifetime.start.p0(i64 4, ptr %493) #11
  %24669 = call ptr @__errno_location() #12
  %24670 = load i32, ptr %24669, align 4, !tbaa !5
  store i32 %24670, ptr %493, align 4, !tbaa !5
  %24671 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24672 = call i32 @s2n_print_stacktrace(ptr noundef %24671)
  %24673 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %24674 = trunc i8 %24673 to i1
  br i1 %24674, label %24675, label %24697

24675:                                            ; preds = %24668
  %24676 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24677 = call i32 @fileno(ptr noundef %24676) #11
  %24678 = call i32 @isatty(i32 noundef %24677) #11
  %24679 = icmp ne i32 %24678, 0
  br i1 %24679, label %24680, label %24697

24680:                                            ; preds = %24675
  %24681 = load i32, ptr %493, align 4, !tbaa !5
  %24682 = call ptr @__errno_location() #12
  store i32 %24681, ptr %24682, align 4, !tbaa !5
  %24683 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24684 = load i32, ptr @test_count, align 4, !tbaa !5
  %24685 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24686 = load i32, ptr %24685, align 4, !tbaa !5
  %24687 = call ptr @s2n_strerror(i32 noundef %24686, ptr noundef @.str.11)
  %24688 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24689 = load i32, ptr %24688, align 4, !tbaa !5
  %24690 = call ptr @s2n_strerror_debug(i32 noundef %24689, ptr noundef @.str.11)
  %24691 = call ptr @__errno_location() #12
  %24692 = load i32, ptr %24691, align 4, !tbaa !5
  %24693 = call ptr @strerror(i32 noundef %24692) #11
  %24694 = call ptr @__errno_location() #12
  %24695 = load i32, ptr %24694, align 4, !tbaa !5
  %24696 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24683, ptr noundef @.str.9, i32 noundef %24684, ptr noundef @.str.54, ptr noundef @.str.8, i32 noundef 939, ptr noundef %24687, ptr noundef %24690, ptr noundef %24693, i32 noundef %24695) #11
  br label %24714

24697:                                            ; preds = %24675, %24668
  %24698 = load i32, ptr %493, align 4, !tbaa !5
  %24699 = call ptr @__errno_location() #12
  store i32 %24698, ptr %24699, align 4, !tbaa !5
  %24700 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24701 = load i32, ptr @test_count, align 4, !tbaa !5
  %24702 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24703 = load i32, ptr %24702, align 4, !tbaa !5
  %24704 = call ptr @s2n_strerror(i32 noundef %24703, ptr noundef @.str.11)
  %24705 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24706 = load i32, ptr %24705, align 4, !tbaa !5
  %24707 = call ptr @s2n_strerror_debug(i32 noundef %24706, ptr noundef @.str.11)
  %24708 = call ptr @__errno_location() #12
  %24709 = load i32, ptr %24708, align 4, !tbaa !5
  %24710 = call ptr @strerror(i32 noundef %24709) #11
  %24711 = call ptr @__errno_location() #12
  %24712 = load i32, ptr %24711, align 4, !tbaa !5
  %24713 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24700, ptr noundef @.str.12, i32 noundef %24701, ptr noundef @.str.54, ptr noundef @.str.8, i32 noundef 939, ptr noundef %24704, ptr noundef %24707, ptr noundef %24710, i32 noundef %24712) #11
  br label %24714

24714:                                            ; preds = %24697, %24680
  call void @llvm.lifetime.end.p0(i64 4, ptr %493) #11
  br label %24715

24715:                                            ; preds = %24714
  br label %24716

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

24717:                                            ; No predecessors!
  br label %24718

24718:                                            ; preds = %24717
  br label %24719

24719:                                            ; preds = %24718, %24659
  br label %24720

24720:                                            ; preds = %24719
  br label %24721

24721:                                            ; preds = %24720
  br label %24722

24722:                                            ; preds = %24721
  br label %24723

24723:                                            ; preds = %24722
  br label %24724

24724:                                            ; preds = %24723
  %24725 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %24725, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %24726 = call ptr @__errno_location() #12
  store i32 0, ptr %24726, align 4, !tbaa !5
  br label %24727

24727:                                            ; preds = %24724
  br label %24728

24728:                                            ; preds = %24727
  br label %24729

24729:                                            ; preds = %24728
  br label %24730

24730:                                            ; preds = %24729
  br label %24731

24731:                                            ; preds = %24730
  br label %24732

24732:                                            ; preds = %24731
  br label %24733

24733:                                            ; preds = %24732
  %24734 = load i32, ptr @test_count, align 4, !tbaa !5
  %24735 = add nsw i32 %24734, 1
  store i32 %24735, ptr @test_count, align 4, !tbaa !5
  %24736 = load ptr, ptr %487, align 8, !tbaa !9
  %24737 = call i32 @s2n_connection_get_key_update_counts(ptr noundef %24736, ptr noundef null, ptr noundef %490)
  %24738 = icmp eq i32 %24737, -1
  br i1 %24738, label %24792, label %24739

24739:                                            ; preds = %24733
  br label %24740

24740:                                            ; preds = %24739
  br label %24741

24741:                                            ; preds = %24740
  call void @llvm.lifetime.start.p0(i64 4, ptr %494) #11
  %24742 = call ptr @__errno_location() #12
  %24743 = load i32, ptr %24742, align 4, !tbaa !5
  store i32 %24743, ptr %494, align 4, !tbaa !5
  %24744 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24745 = call i32 @s2n_print_stacktrace(ptr noundef %24744)
  %24746 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %24747 = trunc i8 %24746 to i1
  br i1 %24747, label %24748, label %24770

24748:                                            ; preds = %24741
  %24749 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24750 = call i32 @fileno(ptr noundef %24749) #11
  %24751 = call i32 @isatty(i32 noundef %24750) #11
  %24752 = icmp ne i32 %24751, 0
  br i1 %24752, label %24753, label %24770

24753:                                            ; preds = %24748
  %24754 = load i32, ptr %494, align 4, !tbaa !5
  %24755 = call ptr @__errno_location() #12
  store i32 %24754, ptr %24755, align 4, !tbaa !5
  %24756 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24757 = load i32, ptr @test_count, align 4, !tbaa !5
  %24758 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24759 = load i32, ptr %24758, align 4, !tbaa !5
  %24760 = call ptr @s2n_strerror(i32 noundef %24759, ptr noundef @.str.11)
  %24761 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24762 = load i32, ptr %24761, align 4, !tbaa !5
  %24763 = call ptr @s2n_strerror_debug(i32 noundef %24762, ptr noundef @.str.11)
  %24764 = call ptr @__errno_location() #12
  %24765 = load i32, ptr %24764, align 4, !tbaa !5
  %24766 = call ptr @strerror(i32 noundef %24765) #11
  %24767 = call ptr @__errno_location() #12
  %24768 = load i32, ptr %24767, align 4, !tbaa !5
  %24769 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24756, ptr noundef @.str.9, i32 noundef %24757, ptr noundef @.str.216, ptr noundef @.str.8, i32 noundef 942, ptr noundef %24760, ptr noundef %24763, ptr noundef %24766, i32 noundef %24768) #11
  br label %24787

24770:                                            ; preds = %24748, %24741
  %24771 = load i32, ptr %494, align 4, !tbaa !5
  %24772 = call ptr @__errno_location() #12
  store i32 %24771, ptr %24772, align 4, !tbaa !5
  %24773 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24774 = load i32, ptr @test_count, align 4, !tbaa !5
  %24775 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24776 = load i32, ptr %24775, align 4, !tbaa !5
  %24777 = call ptr @s2n_strerror(i32 noundef %24776, ptr noundef @.str.11)
  %24778 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24779 = load i32, ptr %24778, align 4, !tbaa !5
  %24780 = call ptr @s2n_strerror_debug(i32 noundef %24779, ptr noundef @.str.11)
  %24781 = call ptr @__errno_location() #12
  %24782 = load i32, ptr %24781, align 4, !tbaa !5
  %24783 = call ptr @strerror(i32 noundef %24782) #11
  %24784 = call ptr @__errno_location() #12
  %24785 = load i32, ptr %24784, align 4, !tbaa !5
  %24786 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24773, ptr noundef @.str.12, i32 noundef %24774, ptr noundef @.str.216, ptr noundef @.str.8, i32 noundef 942, ptr noundef %24777, ptr noundef %24780, ptr noundef %24783, i32 noundef %24785) #11
  br label %24787

24787:                                            ; preds = %24770, %24753
  call void @llvm.lifetime.end.p0(i64 4, ptr %494) #11
  br label %24788

24788:                                            ; preds = %24787
  br label %24789

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

24790:                                            ; No predecessors!
  br label %24791

24791:                                            ; preds = %24790
  br label %24792

24792:                                            ; preds = %24791, %24733
  br label %24793

24793:                                            ; preds = %24792
  br label %24794

24794:                                            ; preds = %24793
  br label %24795

24795:                                            ; preds = %24794
  %24796 = load i32, ptr @test_count, align 4, !tbaa !5
  %24797 = add nsw i32 %24796, 1
  store i32 %24797, ptr @test_count, align 4, !tbaa !5
  %24798 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24799 = load i32, ptr %24798, align 4, !tbaa !5
  %24800 = icmp eq i32 %24799, 402653193
  br i1 %24800, label %24854, label %24801

24801:                                            ; preds = %24795
  br label %24802

24802:                                            ; preds = %24801
  br label %24803

24803:                                            ; preds = %24802
  call void @llvm.lifetime.start.p0(i64 4, ptr %495) #11
  %24804 = call ptr @__errno_location() #12
  %24805 = load i32, ptr %24804, align 4, !tbaa !5
  store i32 %24805, ptr %495, align 4, !tbaa !5
  %24806 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24807 = call i32 @s2n_print_stacktrace(ptr noundef %24806)
  %24808 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %24809 = trunc i8 %24808 to i1
  br i1 %24809, label %24810, label %24832

24810:                                            ; preds = %24803
  %24811 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24812 = call i32 @fileno(ptr noundef %24811) #11
  %24813 = call i32 @isatty(i32 noundef %24812) #11
  %24814 = icmp ne i32 %24813, 0
  br i1 %24814, label %24815, label %24832

24815:                                            ; preds = %24810
  %24816 = load i32, ptr %495, align 4, !tbaa !5
  %24817 = call ptr @__errno_location() #12
  store i32 %24816, ptr %24817, align 4, !tbaa !5
  %24818 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24819 = load i32, ptr @test_count, align 4, !tbaa !5
  %24820 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24821 = load i32, ptr %24820, align 4, !tbaa !5
  %24822 = call ptr @s2n_strerror(i32 noundef %24821, ptr noundef @.str.11)
  %24823 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24824 = load i32, ptr %24823, align 4, !tbaa !5
  %24825 = call ptr @s2n_strerror_debug(i32 noundef %24824, ptr noundef @.str.11)
  %24826 = call ptr @__errno_location() #12
  %24827 = load i32, ptr %24826, align 4, !tbaa !5
  %24828 = call ptr @strerror(i32 noundef %24827) #11
  %24829 = call ptr @__errno_location() #12
  %24830 = load i32, ptr %24829, align 4, !tbaa !5
  %24831 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24818, ptr noundef @.str.9, i32 noundef %24819, ptr noundef @.str.91, ptr noundef @.str.8, i32 noundef 942, ptr noundef %24822, ptr noundef %24825, ptr noundef %24828, i32 noundef %24830) #11
  br label %24849

24832:                                            ; preds = %24810, %24803
  %24833 = load i32, ptr %495, align 4, !tbaa !5
  %24834 = call ptr @__errno_location() #12
  store i32 %24833, ptr %24834, align 4, !tbaa !5
  %24835 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24836 = load i32, ptr @test_count, align 4, !tbaa !5
  %24837 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24838 = load i32, ptr %24837, align 4, !tbaa !5
  %24839 = call ptr @s2n_strerror(i32 noundef %24838, ptr noundef @.str.11)
  %24840 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24841 = load i32, ptr %24840, align 4, !tbaa !5
  %24842 = call ptr @s2n_strerror_debug(i32 noundef %24841, ptr noundef @.str.11)
  %24843 = call ptr @__errno_location() #12
  %24844 = load i32, ptr %24843, align 4, !tbaa !5
  %24845 = call ptr @strerror(i32 noundef %24844) #11
  %24846 = call ptr @__errno_location() #12
  %24847 = load i32, ptr %24846, align 4, !tbaa !5
  %24848 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24835, ptr noundef @.str.12, i32 noundef %24836, ptr noundef @.str.91, ptr noundef @.str.8, i32 noundef 942, ptr noundef %24839, ptr noundef %24842, ptr noundef %24845, i32 noundef %24847) #11
  br label %24849

24849:                                            ; preds = %24832, %24815
  call void @llvm.lifetime.end.p0(i64 4, ptr %495) #11
  br label %24850

24850:                                            ; preds = %24849
  br label %24851

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

24852:                                            ; No predecessors!
  br label %24853

24853:                                            ; preds = %24852
  br label %24854

24854:                                            ; preds = %24853, %24795
  br label %24855

24855:                                            ; preds = %24854
  br label %24856

24856:                                            ; preds = %24855
  br label %24857

24857:                                            ; preds = %24856
  %24858 = load i32, ptr @test_count, align 4, !tbaa !5
  %24859 = add nsw i32 %24858, 1
  store i32 %24859, ptr @test_count, align 4, !tbaa !5
  %24860 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24861 = load i32, ptr %24860, align 4, !tbaa !5
  %24862 = call ptr @s2n_strerror_debug(i32 noundef %24861, ptr noundef @.str.11)
  %24863 = icmp eq ptr %24862, null
  br i1 %24863, label %24864, label %24917

24864:                                            ; preds = %24857
  br label %24865

24865:                                            ; preds = %24864
  br label %24866

24866:                                            ; preds = %24865
  call void @llvm.lifetime.start.p0(i64 4, ptr %496) #11
  %24867 = call ptr @__errno_location() #12
  %24868 = load i32, ptr %24867, align 4, !tbaa !5
  store i32 %24868, ptr %496, align 4, !tbaa !5
  %24869 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24870 = call i32 @s2n_print_stacktrace(ptr noundef %24869)
  %24871 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %24872 = trunc i8 %24871 to i1
  br i1 %24872, label %24873, label %24895

24873:                                            ; preds = %24866
  %24874 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24875 = call i32 @fileno(ptr noundef %24874) #11
  %24876 = call i32 @isatty(i32 noundef %24875) #11
  %24877 = icmp ne i32 %24876, 0
  br i1 %24877, label %24878, label %24895

24878:                                            ; preds = %24873
  %24879 = load i32, ptr %496, align 4, !tbaa !5
  %24880 = call ptr @__errno_location() #12
  store i32 %24879, ptr %24880, align 4, !tbaa !5
  %24881 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24882 = load i32, ptr @test_count, align 4, !tbaa !5
  %24883 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24884 = load i32, ptr %24883, align 4, !tbaa !5
  %24885 = call ptr @s2n_strerror(i32 noundef %24884, ptr noundef @.str.11)
  %24886 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24887 = load i32, ptr %24886, align 4, !tbaa !5
  %24888 = call ptr @s2n_strerror_debug(i32 noundef %24887, ptr noundef @.str.11)
  %24889 = call ptr @__errno_location() #12
  %24890 = load i32, ptr %24889, align 4, !tbaa !5
  %24891 = call ptr @strerror(i32 noundef %24890) #11
  %24892 = call ptr @__errno_location() #12
  %24893 = load i32, ptr %24892, align 4, !tbaa !5
  %24894 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24881, ptr noundef @.str.9, i32 noundef %24882, ptr noundef @.str.54, ptr noundef @.str.8, i32 noundef 942, ptr noundef %24885, ptr noundef %24888, ptr noundef %24891, i32 noundef %24893) #11
  br label %24912

24895:                                            ; preds = %24873, %24866
  %24896 = load i32, ptr %496, align 4, !tbaa !5
  %24897 = call ptr @__errno_location() #12
  store i32 %24896, ptr %24897, align 4, !tbaa !5
  %24898 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24899 = load i32, ptr @test_count, align 4, !tbaa !5
  %24900 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24901 = load i32, ptr %24900, align 4, !tbaa !5
  %24902 = call ptr @s2n_strerror(i32 noundef %24901, ptr noundef @.str.11)
  %24903 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24904 = load i32, ptr %24903, align 4, !tbaa !5
  %24905 = call ptr @s2n_strerror_debug(i32 noundef %24904, ptr noundef @.str.11)
  %24906 = call ptr @__errno_location() #12
  %24907 = load i32, ptr %24906, align 4, !tbaa !5
  %24908 = call ptr @strerror(i32 noundef %24907) #11
  %24909 = call ptr @__errno_location() #12
  %24910 = load i32, ptr %24909, align 4, !tbaa !5
  %24911 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24898, ptr noundef @.str.12, i32 noundef %24899, ptr noundef @.str.54, ptr noundef @.str.8, i32 noundef 942, ptr noundef %24902, ptr noundef %24905, ptr noundef %24908, i32 noundef %24910) #11
  br label %24912

24912:                                            ; preds = %24895, %24878
  call void @llvm.lifetime.end.p0(i64 4, ptr %496) #11
  br label %24913

24913:                                            ; preds = %24912
  br label %24914

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

24915:                                            ; No predecessors!
  br label %24916

24916:                                            ; preds = %24915
  br label %24917

24917:                                            ; preds = %24916, %24857
  br label %24918

24918:                                            ; preds = %24917
  br label %24919

24919:                                            ; preds = %24918
  br label %24920

24920:                                            ; preds = %24919
  br label %24921

24921:                                            ; preds = %24920
  br label %24922

24922:                                            ; preds = %24921
  %24923 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %24923, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %24924 = call ptr @__errno_location() #12
  store i32 0, ptr %24924, align 4, !tbaa !5
  br label %24925

24925:                                            ; preds = %24922
  br label %24926

24926:                                            ; preds = %24925
  br label %24927

24927:                                            ; preds = %24926
  br label %24928

24928:                                            ; preds = %24927
  br label %24929

24929:                                            ; preds = %24928
  br label %24930

24930:                                            ; preds = %24929
  br label %24931

24931:                                            ; preds = %24930
  %24932 = load i32, ptr @test_count, align 4, !tbaa !5
  %24933 = add nsw i32 %24932, 1
  store i32 %24933, ptr @test_count, align 4, !tbaa !5
  %24934 = load ptr, ptr %487, align 8, !tbaa !9
  %24935 = call i32 @s2n_connection_get_key_update_counts(ptr noundef %24934, ptr noundef %489, ptr noundef null)
  %24936 = icmp eq i32 %24935, -1
  br i1 %24936, label %24990, label %24937

24937:                                            ; preds = %24931
  br label %24938

24938:                                            ; preds = %24937
  br label %24939

24939:                                            ; preds = %24938
  call void @llvm.lifetime.start.p0(i64 4, ptr %497) #11
  %24940 = call ptr @__errno_location() #12
  %24941 = load i32, ptr %24940, align 4, !tbaa !5
  store i32 %24941, ptr %497, align 4, !tbaa !5
  %24942 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24943 = call i32 @s2n_print_stacktrace(ptr noundef %24942)
  %24944 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %24945 = trunc i8 %24944 to i1
  br i1 %24945, label %24946, label %24968

24946:                                            ; preds = %24939
  %24947 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24948 = call i32 @fileno(ptr noundef %24947) #11
  %24949 = call i32 @isatty(i32 noundef %24948) #11
  %24950 = icmp ne i32 %24949, 0
  br i1 %24950, label %24951, label %24968

24951:                                            ; preds = %24946
  %24952 = load i32, ptr %497, align 4, !tbaa !5
  %24953 = call ptr @__errno_location() #12
  store i32 %24952, ptr %24953, align 4, !tbaa !5
  %24954 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24955 = load i32, ptr @test_count, align 4, !tbaa !5
  %24956 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24957 = load i32, ptr %24956, align 4, !tbaa !5
  %24958 = call ptr @s2n_strerror(i32 noundef %24957, ptr noundef @.str.11)
  %24959 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24960 = load i32, ptr %24959, align 4, !tbaa !5
  %24961 = call ptr @s2n_strerror_debug(i32 noundef %24960, ptr noundef @.str.11)
  %24962 = call ptr @__errno_location() #12
  %24963 = load i32, ptr %24962, align 4, !tbaa !5
  %24964 = call ptr @strerror(i32 noundef %24963) #11
  %24965 = call ptr @__errno_location() #12
  %24966 = load i32, ptr %24965, align 4, !tbaa !5
  %24967 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24954, ptr noundef @.str.9, i32 noundef %24955, ptr noundef @.str.217, ptr noundef @.str.8, i32 noundef 945, ptr noundef %24958, ptr noundef %24961, ptr noundef %24964, i32 noundef %24966) #11
  br label %24985

24968:                                            ; preds = %24946, %24939
  %24969 = load i32, ptr %497, align 4, !tbaa !5
  %24970 = call ptr @__errno_location() #12
  store i32 %24969, ptr %24970, align 4, !tbaa !5
  %24971 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24972 = load i32, ptr @test_count, align 4, !tbaa !5
  %24973 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24974 = load i32, ptr %24973, align 4, !tbaa !5
  %24975 = call ptr @s2n_strerror(i32 noundef %24974, ptr noundef @.str.11)
  %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_debug(i32 noundef %24977, ptr noundef @.str.11)
  %24979 = call ptr @__errno_location() #12
  %24980 = load i32, ptr %24979, align 4, !tbaa !5
  %24981 = call ptr @strerror(i32 noundef %24980) #11
  %24982 = call ptr @__errno_location() #12
  %24983 = load i32, ptr %24982, align 4, !tbaa !5
  %24984 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24971, ptr noundef @.str.12, i32 noundef %24972, ptr noundef @.str.217, ptr noundef @.str.8, i32 noundef 945, ptr noundef %24975, ptr noundef %24978, ptr noundef %24981, i32 noundef %24983) #11
  br label %24985

24985:                                            ; preds = %24968, %24951
  call void @llvm.lifetime.end.p0(i64 4, ptr %497) #11
  br label %24986

24986:                                            ; preds = %24985
  br label %24987

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

24988:                                            ; No predecessors!
  br label %24989

24989:                                            ; preds = %24988
  br label %24990

24990:                                            ; preds = %24989, %24931
  br label %24991

24991:                                            ; preds = %24990
  br label %24992

24992:                                            ; preds = %24991
  br label %24993

24993:                                            ; preds = %24992
  %24994 = load i32, ptr @test_count, align 4, !tbaa !5
  %24995 = add nsw i32 %24994, 1
  store i32 %24995, ptr @test_count, align 4, !tbaa !5
  %24996 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24997 = load i32, ptr %24996, align 4, !tbaa !5
  %24998 = icmp eq i32 %24997, 402653193
  br i1 %24998, label %25052, label %24999

24999:                                            ; preds = %24993
  br label %25000

25000:                                            ; preds = %24999
  br label %25001

25001:                                            ; preds = %25000
  call void @llvm.lifetime.start.p0(i64 4, ptr %498) #11
  %25002 = call ptr @__errno_location() #12
  %25003 = load i32, ptr %25002, align 4, !tbaa !5
  store i32 %25003, ptr %498, align 4, !tbaa !5
  %25004 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25005 = call i32 @s2n_print_stacktrace(ptr noundef %25004)
  %25006 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %25007 = trunc i8 %25006 to i1
  br i1 %25007, label %25008, label %25030

25008:                                            ; preds = %25001
  %25009 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25010 = call i32 @fileno(ptr noundef %25009) #11
  %25011 = call i32 @isatty(i32 noundef %25010) #11
  %25012 = icmp ne i32 %25011, 0
  br i1 %25012, label %25013, label %25030

25013:                                            ; preds = %25008
  %25014 = load i32, ptr %498, align 4, !tbaa !5
  %25015 = call ptr @__errno_location() #12
  store i32 %25014, ptr %25015, align 4, !tbaa !5
  %25016 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25017 = load i32, ptr @test_count, align 4, !tbaa !5
  %25018 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25019 = load i32, ptr %25018, align 4, !tbaa !5
  %25020 = call ptr @s2n_strerror(i32 noundef %25019, ptr noundef @.str.11)
  %25021 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25022 = load i32, ptr %25021, align 4, !tbaa !5
  %25023 = call ptr @s2n_strerror_debug(i32 noundef %25022, ptr noundef @.str.11)
  %25024 = call ptr @__errno_location() #12
  %25025 = load i32, ptr %25024, align 4, !tbaa !5
  %25026 = call ptr @strerror(i32 noundef %25025) #11
  %25027 = call ptr @__errno_location() #12
  %25028 = load i32, ptr %25027, align 4, !tbaa !5
  %25029 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25016, ptr noundef @.str.9, i32 noundef %25017, ptr noundef @.str.91, ptr noundef @.str.8, i32 noundef 945, ptr noundef %25020, ptr noundef %25023, ptr noundef %25026, i32 noundef %25028) #11
  br label %25047

25030:                                            ; preds = %25008, %25001
  %25031 = load i32, ptr %498, align 4, !tbaa !5
  %25032 = call ptr @__errno_location() #12
  store i32 %25031, ptr %25032, align 4, !tbaa !5
  %25033 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25034 = load i32, ptr @test_count, align 4, !tbaa !5
  %25035 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25036 = load i32, ptr %25035, align 4, !tbaa !5
  %25037 = call ptr @s2n_strerror(i32 noundef %25036, ptr noundef @.str.11)
  %25038 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25039 = load i32, ptr %25038, align 4, !tbaa !5
  %25040 = call ptr @s2n_strerror_debug(i32 noundef %25039, ptr noundef @.str.11)
  %25041 = call ptr @__errno_location() #12
  %25042 = load i32, ptr %25041, align 4, !tbaa !5
  %25043 = call ptr @strerror(i32 noundef %25042) #11
  %25044 = call ptr @__errno_location() #12
  %25045 = load i32, ptr %25044, align 4, !tbaa !5
  %25046 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25033, ptr noundef @.str.12, i32 noundef %25034, ptr noundef @.str.91, ptr noundef @.str.8, i32 noundef 945, ptr noundef %25037, ptr noundef %25040, ptr noundef %25043, i32 noundef %25045) #11
  br label %25047

25047:                                            ; preds = %25030, %25013
  call void @llvm.lifetime.end.p0(i64 4, ptr %498) #11
  br label %25048

25048:                                            ; preds = %25047
  br label %25049

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

25050:                                            ; No predecessors!
  br label %25051

25051:                                            ; preds = %25050
  br label %25052

25052:                                            ; preds = %25051, %24993
  br label %25053

25053:                                            ; preds = %25052
  br label %25054

25054:                                            ; preds = %25053
  br label %25055

25055:                                            ; preds = %25054
  %25056 = load i32, ptr @test_count, align 4, !tbaa !5
  %25057 = add nsw i32 %25056, 1
  store i32 %25057, ptr @test_count, align 4, !tbaa !5
  %25058 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25059 = load i32, ptr %25058, align 4, !tbaa !5
  %25060 = call ptr @s2n_strerror_debug(i32 noundef %25059, ptr noundef @.str.11)
  %25061 = icmp eq ptr %25060, null
  br i1 %25061, label %25062, label %25115

25062:                                            ; preds = %25055
  br label %25063

25063:                                            ; preds = %25062
  br label %25064

25064:                                            ; preds = %25063
  call void @llvm.lifetime.start.p0(i64 4, ptr %499) #11
  %25065 = call ptr @__errno_location() #12
  %25066 = load i32, ptr %25065, align 4, !tbaa !5
  store i32 %25066, ptr %499, align 4, !tbaa !5
  %25067 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25068 = call i32 @s2n_print_stacktrace(ptr noundef %25067)
  %25069 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %25070 = trunc i8 %25069 to i1
  br i1 %25070, label %25071, label %25093

25071:                                            ; preds = %25064
  %25072 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25073 = call i32 @fileno(ptr noundef %25072) #11
  %25074 = call i32 @isatty(i32 noundef %25073) #11
  %25075 = icmp ne i32 %25074, 0
  br i1 %25075, label %25076, label %25093

25076:                                            ; preds = %25071
  %25077 = load i32, ptr %499, align 4, !tbaa !5
  %25078 = call ptr @__errno_location() #12
  store i32 %25077, ptr %25078, align 4, !tbaa !5
  %25079 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25080 = load i32, ptr @test_count, align 4, !tbaa !5
  %25081 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25082 = load i32, ptr %25081, align 4, !tbaa !5
  %25083 = call ptr @s2n_strerror(i32 noundef %25082, ptr noundef @.str.11)
  %25084 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25085 = load i32, ptr %25084, align 4, !tbaa !5
  %25086 = call ptr @s2n_strerror_debug(i32 noundef %25085, ptr noundef @.str.11)
  %25087 = call ptr @__errno_location() #12
  %25088 = load i32, ptr %25087, align 4, !tbaa !5
  %25089 = call ptr @strerror(i32 noundef %25088) #11
  %25090 = call ptr @__errno_location() #12
  %25091 = load i32, ptr %25090, align 4, !tbaa !5
  %25092 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25079, ptr noundef @.str.9, i32 noundef %25080, ptr noundef @.str.54, ptr noundef @.str.8, i32 noundef 945, ptr noundef %25083, ptr noundef %25086, ptr noundef %25089, i32 noundef %25091) #11
  br label %25110

25093:                                            ; preds = %25071, %25064
  %25094 = load i32, ptr %499, align 4, !tbaa !5
  %25095 = call ptr @__errno_location() #12
  store i32 %25094, ptr %25095, align 4, !tbaa !5
  %25096 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25097 = load i32, ptr @test_count, align 4, !tbaa !5
  %25098 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25099 = load i32, ptr %25098, align 4, !tbaa !5
  %25100 = call ptr @s2n_strerror(i32 noundef %25099, ptr noundef @.str.11)
  %25101 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25102 = load i32, ptr %25101, align 4, !tbaa !5
  %25103 = call ptr @s2n_strerror_debug(i32 noundef %25102, ptr noundef @.str.11)
  %25104 = call ptr @__errno_location() #12
  %25105 = load i32, ptr %25104, align 4, !tbaa !5
  %25106 = call ptr @strerror(i32 noundef %25105) #11
  %25107 = call ptr @__errno_location() #12
  %25108 = load i32, ptr %25107, align 4, !tbaa !5
  %25109 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25096, ptr noundef @.str.12, i32 noundef %25097, ptr noundef @.str.54, ptr noundef @.str.8, i32 noundef 945, ptr noundef %25100, ptr noundef %25103, ptr noundef %25106, i32 noundef %25108) #11
  br label %25110

25110:                                            ; preds = %25093, %25076
  call void @llvm.lifetime.end.p0(i64 4, ptr %499) #11
  br label %25111

25111:                                            ; preds = %25110
  br label %25112

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

25113:                                            ; No predecessors!
  br label %25114

25114:                                            ; preds = %25113
  br label %25115

25115:                                            ; preds = %25114, %25055
  br label %25116

25116:                                            ; preds = %25115
  br label %25117

25117:                                            ; preds = %25116
  br label %25118

25118:                                            ; preds = %25117
  br label %25119

25119:                                            ; preds = %25118
  br label %25120

25120:                                            ; preds = %25119
  %25121 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %25121, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %25122 = call ptr @__errno_location() #12
  store i32 0, ptr %25122, align 4, !tbaa !5
  br label %25123

25123:                                            ; preds = %25120
  br label %25124

25124:                                            ; preds = %25123
  br label %25125

25125:                                            ; preds = %25124
  br label %25126

25126:                                            ; preds = %25125
  call void @llvm.lifetime.start.p0(i64 1, ptr %500) #11
  store i8 10, ptr %500, align 1, !tbaa !18
  %25127 = load ptr, ptr %487, align 8, !tbaa !9
  %25128 = getelementptr inbounds %struct.s2n_connection, ptr %25127, i32 0, i32 95
  store i8 10, ptr %25128, align 4, !tbaa !88
  call void @llvm.lifetime.start.p0(i64 1, ptr %501) #11
  store i8 -1, ptr %501, align 1, !tbaa !18
  %25129 = load ptr, ptr %487, align 8, !tbaa !9
  %25130 = getelementptr inbounds %struct.s2n_connection, ptr %25129, i32 0, i32 96
  store i8 -1, ptr %25130, align 1, !tbaa !89
  br label %25131

25131:                                            ; preds = %25126
  %25132 = load i32, ptr @test_count, align 4, !tbaa !5
  %25133 = add nsw i32 %25132, 1
  store i32 %25133, ptr @test_count, align 4, !tbaa !5
  %25134 = load ptr, ptr %487, align 8, !tbaa !9
  %25135 = call i32 @s2n_connection_get_key_update_counts(ptr noundef %25134, ptr noundef %489, ptr noundef %490)
  %25136 = icmp eq i32 %25135, -1
  br i1 %25136, label %25137, label %25190

25137:                                            ; preds = %25131
  br label %25138

25138:                                            ; preds = %25137
  br label %25139

25139:                                            ; preds = %25138
  call void @llvm.lifetime.start.p0(i64 4, ptr %502) #11
  %25140 = call ptr @__errno_location() #12
  %25141 = load i32, ptr %25140, align 4, !tbaa !5
  store i32 %25141, ptr %502, align 4, !tbaa !5
  %25142 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25143 = call i32 @s2n_print_stacktrace(ptr noundef %25142)
  %25144 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %25145 = trunc i8 %25144 to i1
  br i1 %25145, label %25146, label %25168

25146:                                            ; preds = %25139
  %25147 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25148 = call i32 @fileno(ptr noundef %25147) #11
  %25149 = call i32 @isatty(i32 noundef %25148) #11
  %25150 = icmp ne i32 %25149, 0
  br i1 %25150, label %25151, label %25168

25151:                                            ; preds = %25146
  %25152 = load i32, ptr %502, align 4, !tbaa !5
  %25153 = call ptr @__errno_location() #12
  store i32 %25152, ptr %25153, align 4, !tbaa !5
  %25154 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25155 = load i32, ptr @test_count, align 4, !tbaa !5
  %25156 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25157 = load i32, ptr %25156, align 4, !tbaa !5
  %25158 = call ptr @s2n_strerror(i32 noundef %25157, ptr noundef @.str.11)
  %25159 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25160 = load i32, ptr %25159, align 4, !tbaa !5
  %25161 = call ptr @s2n_strerror_debug(i32 noundef %25160, ptr noundef @.str.11)
  %25162 = call ptr @__errno_location() #12
  %25163 = load i32, ptr %25162, align 4, !tbaa !5
  %25164 = call ptr @strerror(i32 noundef %25163) #11
  %25165 = call ptr @__errno_location() #12
  %25166 = load i32, ptr %25165, align 4, !tbaa !5
  %25167 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25154, ptr noundef @.str.9, i32 noundef %25155, ptr noundef @.str.218, ptr noundef @.str.8, i32 noundef 952, ptr noundef %25158, ptr noundef %25161, ptr noundef %25164, i32 noundef %25166) #11
  br label %25185

25168:                                            ; preds = %25146, %25139
  %25169 = load i32, ptr %502, align 4, !tbaa !5
  %25170 = call ptr @__errno_location() #12
  store i32 %25169, ptr %25170, align 4, !tbaa !5
  %25171 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25172 = load i32, ptr @test_count, align 4, !tbaa !5
  %25173 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25174 = load i32, ptr %25173, align 4, !tbaa !5
  %25175 = call ptr @s2n_strerror(i32 noundef %25174, ptr noundef @.str.11)
  %25176 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25177 = load i32, ptr %25176, align 4, !tbaa !5
  %25178 = call ptr @s2n_strerror_debug(i32 noundef %25177, ptr noundef @.str.11)
  %25179 = call ptr @__errno_location() #12
  %25180 = load i32, ptr %25179, align 4, !tbaa !5
  %25181 = call ptr @strerror(i32 noundef %25180) #11
  %25182 = call ptr @__errno_location() #12
  %25183 = load i32, ptr %25182, align 4, !tbaa !5
  %25184 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25171, ptr noundef @.str.12, i32 noundef %25172, ptr noundef @.str.218, ptr noundef @.str.8, i32 noundef 952, ptr noundef %25175, ptr noundef %25178, ptr noundef %25181, i32 noundef %25183) #11
  br label %25185

25185:                                            ; preds = %25168, %25151
  call void @llvm.lifetime.end.p0(i64 4, ptr %502) #11
  br label %25186

25186:                                            ; preds = %25185
  br label %25187

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

25188:                                            ; No predecessors!
  br label %25189

25189:                                            ; preds = %25188
  br label %25190

25190:                                            ; preds = %25189, %25131
  br label %25191

25191:                                            ; preds = %25190
  br label %25192

25192:                                            ; preds = %25191
  br label %25193

25193:                                            ; preds = %25192
  %25194 = load i32, ptr @test_count, align 4, !tbaa !5
  %25195 = add nsw i32 %25194, 1
  store i32 %25195, ptr @test_count, align 4, !tbaa !5
  %25196 = load i8, ptr %489, align 1, !tbaa !18
  %25197 = zext i8 %25196 to i32
  %25198 = icmp eq i32 %25197, 10
  br i1 %25198, label %25252, label %25199

25199:                                            ; preds = %25193
  br label %25200

25200:                                            ; preds = %25199
  br label %25201

25201:                                            ; preds = %25200
  call void @llvm.lifetime.start.p0(i64 4, ptr %503) #11
  %25202 = call ptr @__errno_location() #12
  %25203 = load i32, ptr %25202, align 4, !tbaa !5
  store i32 %25203, ptr %503, align 4, !tbaa !5
  %25204 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25205 = call i32 @s2n_print_stacktrace(ptr noundef %25204)
  %25206 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %25207 = trunc i8 %25206 to i1
  br i1 %25207, label %25208, label %25230

25208:                                            ; preds = %25201
  %25209 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25210 = call i32 @fileno(ptr noundef %25209) #11
  %25211 = call i32 @isatty(i32 noundef %25210) #11
  %25212 = icmp ne i32 %25211, 0
  br i1 %25212, label %25213, label %25230

25213:                                            ; preds = %25208
  %25214 = load i32, ptr %503, align 4, !tbaa !5
  %25215 = call ptr @__errno_location() #12
  store i32 %25214, ptr %25215, align 4, !tbaa !5
  %25216 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25217 = load i32, ptr @test_count, align 4, !tbaa !5
  %25218 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25219 = load i32, ptr %25218, align 4, !tbaa !5
  %25220 = call ptr @s2n_strerror(i32 noundef %25219, ptr noundef @.str.11)
  %25221 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25222 = load i32, ptr %25221, align 4, !tbaa !5
  %25223 = call ptr @s2n_strerror_debug(i32 noundef %25222, ptr noundef @.str.11)
  %25224 = call ptr @__errno_location() #12
  %25225 = load i32, ptr %25224, align 4, !tbaa !5
  %25226 = call ptr @strerror(i32 noundef %25225) #11
  %25227 = call ptr @__errno_location() #12
  %25228 = load i32, ptr %25227, align 4, !tbaa !5
  %25229 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25216, ptr noundef @.str.9, i32 noundef %25217, ptr noundef @.str.219, ptr noundef @.str.8, i32 noundef 953, ptr noundef %25220, ptr noundef %25223, ptr noundef %25226, i32 noundef %25228) #11
  br label %25247

25230:                                            ; preds = %25208, %25201
  %25231 = load i32, ptr %503, 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.11)
  %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.11)
  %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.12, i32 noundef %25234, ptr noundef @.str.219, ptr noundef @.str.8, i32 noundef 953, ptr noundef %25237, ptr noundef %25240, ptr noundef %25243, i32 noundef %25245) #11
  br label %25247

25247:                                            ; preds = %25230, %25213
  call void @llvm.lifetime.end.p0(i64 4, ptr %503) #11
  br label %25248

25248:                                            ; preds = %25247
  br label %25249

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

25250:                                            ; No predecessors!
  br label %25251

25251:                                            ; preds = %25250
  br label %25252

25252:                                            ; preds = %25251, %25193
  br label %25253

25253:                                            ; preds = %25252
  br label %25254

25254:                                            ; preds = %25253
  br label %25255

25255:                                            ; preds = %25254
  %25256 = load i32, ptr @test_count, align 4, !tbaa !5
  %25257 = add nsw i32 %25256, 1
  store i32 %25257, ptr @test_count, align 4, !tbaa !5
  %25258 = load i8, ptr %490, align 1, !tbaa !18
  %25259 = zext i8 %25258 to i32
  %25260 = icmp eq i32 %25259, 255
  br i1 %25260, label %25314, label %25261

25261:                                            ; preds = %25255
  br label %25262

25262:                                            ; preds = %25261
  br label %25263

25263:                                            ; preds = %25262
  call void @llvm.lifetime.start.p0(i64 4, ptr %504) #11
  %25264 = call ptr @__errno_location() #12
  %25265 = load i32, ptr %25264, align 4, !tbaa !5
  store i32 %25265, ptr %504, align 4, !tbaa !5
  %25266 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25267 = call i32 @s2n_print_stacktrace(ptr noundef %25266)
  %25268 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %25269 = trunc i8 %25268 to i1
  br i1 %25269, label %25270, label %25292

25270:                                            ; preds = %25263
  %25271 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25272 = call i32 @fileno(ptr noundef %25271) #11
  %25273 = call i32 @isatty(i32 noundef %25272) #11
  %25274 = icmp ne i32 %25273, 0
  br i1 %25274, label %25275, label %25292

25275:                                            ; preds = %25270
  %25276 = load i32, ptr %504, align 4, !tbaa !5
  %25277 = call ptr @__errno_location() #12
  store i32 %25276, ptr %25277, align 4, !tbaa !5
  %25278 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25279 = load i32, ptr @test_count, align 4, !tbaa !5
  %25280 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25281 = load i32, ptr %25280, align 4, !tbaa !5
  %25282 = call ptr @s2n_strerror(i32 noundef %25281, ptr noundef @.str.11)
  %25283 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25284 = load i32, ptr %25283, align 4, !tbaa !5
  %25285 = call ptr @s2n_strerror_debug(i32 noundef %25284, ptr noundef @.str.11)
  %25286 = call ptr @__errno_location() #12
  %25287 = load i32, ptr %25286, align 4, !tbaa !5
  %25288 = call ptr @strerror(i32 noundef %25287) #11
  %25289 = call ptr @__errno_location() #12
  %25290 = load i32, ptr %25289, align 4, !tbaa !5
  %25291 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25278, ptr noundef @.str.9, i32 noundef %25279, ptr noundef @.str.220, ptr noundef @.str.8, i32 noundef 954, ptr noundef %25282, ptr noundef %25285, ptr noundef %25288, i32 noundef %25290) #11
  br label %25309

25292:                                            ; preds = %25270, %25263
  %25293 = load i32, ptr %504, 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.11)
  %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.11)
  %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.12, i32 noundef %25296, ptr noundef @.str.220, ptr noundef @.str.8, i32 noundef 954, ptr noundef %25299, ptr noundef %25302, ptr noundef %25305, i32 noundef %25307) #11
  br label %25309

25309:                                            ; preds = %25292, %25275
  call void @llvm.lifetime.end.p0(i64 4, ptr %504) #11
  br label %25310

25310:                                            ; preds = %25309
  br label %25311

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

25312:                                            ; No predecessors!
  br label %25313

25313:                                            ; preds = %25312
  br label %25314

25314:                                            ; preds = %25313, %25255
  br label %25315

25315:                                            ; preds = %25314
  br label %25316

25316:                                            ; preds = %25315
  call void @llvm.lifetime.end.p0(i64 1, ptr %501) #11
  call void @llvm.lifetime.end.p0(i64 1, ptr %500) #11
  call void @llvm.lifetime.end.p0(i64 1, ptr %490) #11
  call void @llvm.lifetime.end.p0(i64 1, ptr %489) #11
  %25317 = call i32 @s2n_connection_ptr_free(ptr noundef %487)
  %25318 = getelementptr inbounds %struct.s2n_result, ptr %505, i32 0, i32 0
  store i32 %25317, ptr %25318, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %487) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %506) #11
  %25319 = call ptr @s2n_config_new()
  store ptr %25319, ptr %506, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %507) #11
  %25320 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %25320, ptr %507, align 8, !tbaa !9
  br label %25321

25321:                                            ; preds = %25316
  %25322 = load i32, ptr @test_count, align 4, !tbaa !5
  %25323 = add nsw i32 %25322, 1
  store i32 %25323, ptr @test_count, align 4, !tbaa !5
  %25324 = load ptr, ptr %507, align 8, !tbaa !9
  %25325 = icmp eq ptr %25324, null
  br i1 %25325, label %25326, label %25379

25326:                                            ; preds = %25321
  br label %25327

25327:                                            ; preds = %25326
  br label %25328

25328:                                            ; preds = %25327
  call void @llvm.lifetime.start.p0(i64 4, ptr %508) #11
  %25329 = call ptr @__errno_location() #12
  %25330 = load i32, ptr %25329, align 4, !tbaa !5
  store i32 %25330, ptr %508, align 4, !tbaa !5
  %25331 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25332 = call i32 @s2n_print_stacktrace(ptr noundef %25331)
  %25333 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %25334 = trunc i8 %25333 to i1
  br i1 %25334, label %25335, label %25357

25335:                                            ; preds = %25328
  %25336 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25337 = call i32 @fileno(ptr noundef %25336) #11
  %25338 = call i32 @isatty(i32 noundef %25337) #11
  %25339 = icmp ne i32 %25338, 0
  br i1 %25339, label %25340, label %25357

25340:                                            ; preds = %25335
  %25341 = load i32, ptr %508, align 4, !tbaa !5
  %25342 = call ptr @__errno_location() #12
  store i32 %25341, ptr %25342, align 4, !tbaa !5
  %25343 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25344 = load i32, ptr @test_count, align 4, !tbaa !5
  %25345 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25346 = load i32, ptr %25345, align 4, !tbaa !5
  %25347 = call ptr @s2n_strerror(i32 noundef %25346, ptr noundef @.str.11)
  %25348 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25349 = load i32, ptr %25348, align 4, !tbaa !5
  %25350 = call ptr @s2n_strerror_debug(i32 noundef %25349, ptr noundef @.str.11)
  %25351 = call ptr @__errno_location() #12
  %25352 = load i32, ptr %25351, align 4, !tbaa !5
  %25353 = call ptr @strerror(i32 noundef %25352) #11
  %25354 = call ptr @__errno_location() #12
  %25355 = load i32, ptr %25354, align 4, !tbaa !5
  %25356 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25343, ptr noundef @.str.9, i32 noundef %25344, ptr noundef @.str.221, ptr noundef @.str.8, i32 noundef 963, ptr noundef %25347, ptr noundef %25350, ptr noundef %25353, i32 noundef %25355) #11
  br label %25374

25357:                                            ; preds = %25335, %25328
  %25358 = load i32, ptr %508, align 4, !tbaa !5
  %25359 = call ptr @__errno_location() #12
  store i32 %25358, ptr %25359, align 4, !tbaa !5
  %25360 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25361 = load i32, ptr @test_count, align 4, !tbaa !5
  %25362 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25363 = load i32, ptr %25362, align 4, !tbaa !5
  %25364 = call ptr @s2n_strerror(i32 noundef %25363, ptr noundef @.str.11)
  %25365 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25366 = load i32, ptr %25365, align 4, !tbaa !5
  %25367 = call ptr @s2n_strerror_debug(i32 noundef %25366, ptr noundef @.str.11)
  %25368 = call ptr @__errno_location() #12
  %25369 = load i32, ptr %25368, align 4, !tbaa !5
  %25370 = call ptr @strerror(i32 noundef %25369) #11
  %25371 = call ptr @__errno_location() #12
  %25372 = load i32, ptr %25371, align 4, !tbaa !5
  %25373 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25360, ptr noundef @.str.12, i32 noundef %25361, ptr noundef @.str.221, ptr noundef @.str.8, i32 noundef 963, ptr noundef %25364, ptr noundef %25367, ptr noundef %25370, i32 noundef %25372) #11
  br label %25374

25374:                                            ; preds = %25357, %25340
  call void @llvm.lifetime.end.p0(i64 4, ptr %508) #11
  br label %25375

25375:                                            ; preds = %25374
  br label %25376

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

25377:                                            ; No predecessors!
  br label %25378

25378:                                            ; preds = %25377
  br label %25379

25379:                                            ; preds = %25378, %25321
  br label %25380

25380:                                            ; preds = %25379
  br label %25381

25381:                                            ; preds = %25380
  br label %25382

25382:                                            ; preds = %25381
  %25383 = load i32, ptr @test_count, align 4, !tbaa !5
  %25384 = add nsw i32 %25383, 1
  store i32 %25384, ptr @test_count, align 4, !tbaa !5
  %25385 = load ptr, ptr %507, align 8, !tbaa !9
  %25386 = load ptr, ptr %506, align 8, !tbaa !9
  %25387 = call i32 @s2n_connection_set_config(ptr noundef %25385, ptr noundef %25386)
  %25388 = icmp eq i32 %25387, -1
  br i1 %25388, label %25389, label %25442

25389:                                            ; preds = %25382
  br label %25390

25390:                                            ; preds = %25389
  br label %25391

25391:                                            ; preds = %25390
  call void @llvm.lifetime.start.p0(i64 4, ptr %509) #11
  %25392 = call ptr @__errno_location() #12
  %25393 = load i32, ptr %25392, align 4, !tbaa !5
  store i32 %25393, ptr %509, align 4, !tbaa !5
  %25394 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25395 = call i32 @s2n_print_stacktrace(ptr noundef %25394)
  %25396 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %25397 = trunc i8 %25396 to i1
  br i1 %25397, label %25398, label %25420

25398:                                            ; preds = %25391
  %25399 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25400 = call i32 @fileno(ptr noundef %25399) #11
  %25401 = call i32 @isatty(i32 noundef %25400) #11
  %25402 = icmp ne i32 %25401, 0
  br i1 %25402, label %25403, label %25420

25403:                                            ; preds = %25398
  %25404 = load i32, ptr %509, align 4, !tbaa !5
  %25405 = call ptr @__errno_location() #12
  store i32 %25404, ptr %25405, align 4, !tbaa !5
  %25406 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25407 = load i32, ptr @test_count, align 4, !tbaa !5
  %25408 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25409 = load i32, ptr %25408, align 4, !tbaa !5
  %25410 = call ptr @s2n_strerror(i32 noundef %25409, ptr noundef @.str.11)
  %25411 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25412 = load i32, ptr %25411, align 4, !tbaa !5
  %25413 = call ptr @s2n_strerror_debug(i32 noundef %25412, ptr noundef @.str.11)
  %25414 = call ptr @__errno_location() #12
  %25415 = load i32, ptr %25414, align 4, !tbaa !5
  %25416 = call ptr @strerror(i32 noundef %25415) #11
  %25417 = call ptr @__errno_location() #12
  %25418 = load i32, ptr %25417, align 4, !tbaa !5
  %25419 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25406, ptr noundef @.str.9, i32 noundef %25407, ptr noundef @.str.222, ptr noundef @.str.8, i32 noundef 964, ptr noundef %25410, ptr noundef %25413, ptr noundef %25416, i32 noundef %25418) #11
  br label %25437

25420:                                            ; preds = %25398, %25391
  %25421 = load i32, ptr %509, align 4, !tbaa !5
  %25422 = call ptr @__errno_location() #12
  store i32 %25421, ptr %25422, align 4, !tbaa !5
  %25423 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25424 = load i32, ptr @test_count, align 4, !tbaa !5
  %25425 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25426 = load i32, ptr %25425, align 4, !tbaa !5
  %25427 = call ptr @s2n_strerror(i32 noundef %25426, ptr noundef @.str.11)
  %25428 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25429 = load i32, ptr %25428, align 4, !tbaa !5
  %25430 = call ptr @s2n_strerror_debug(i32 noundef %25429, ptr noundef @.str.11)
  %25431 = call ptr @__errno_location() #12
  %25432 = load i32, ptr %25431, align 4, !tbaa !5
  %25433 = call ptr @strerror(i32 noundef %25432) #11
  %25434 = call ptr @__errno_location() #12
  %25435 = load i32, ptr %25434, align 4, !tbaa !5
  %25436 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25423, ptr noundef @.str.12, i32 noundef %25424, ptr noundef @.str.222, ptr noundef @.str.8, i32 noundef 964, ptr noundef %25427, ptr noundef %25430, ptr noundef %25433, i32 noundef %25435) #11
  br label %25437

25437:                                            ; preds = %25420, %25403
  call void @llvm.lifetime.end.p0(i64 4, ptr %509) #11
  br label %25438

25438:                                            ; preds = %25437
  br label %25439

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

25440:                                            ; No predecessors!
  br label %25441

25441:                                            ; preds = %25440
  br label %25442

25442:                                            ; preds = %25441, %25382
  br label %25443

25443:                                            ; preds = %25442
  br label %25444

25444:                                            ; preds = %25443
  call void @llvm.lifetime.start.p0(i64 8, ptr %510) #11
  %25445 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %25445, ptr %510, align 8, !tbaa !9
  br label %25446

25446:                                            ; preds = %25444
  %25447 = load i32, ptr @test_count, align 4, !tbaa !5
  %25448 = add nsw i32 %25447, 1
  store i32 %25448, ptr @test_count, align 4, !tbaa !5
  %25449 = load ptr, ptr %510, align 8, !tbaa !9
  %25450 = icmp eq ptr %25449, null
  br i1 %25450, label %25451, label %25504

25451:                                            ; preds = %25446
  br label %25452

25452:                                            ; preds = %25451
  br label %25453

25453:                                            ; preds = %25452
  call void @llvm.lifetime.start.p0(i64 4, ptr %511) #11
  %25454 = call ptr @__errno_location() #12
  %25455 = load i32, ptr %25454, align 4, !tbaa !5
  store i32 %25455, ptr %511, align 4, !tbaa !5
  %25456 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25457 = call i32 @s2n_print_stacktrace(ptr noundef %25456)
  %25458 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %25459 = trunc i8 %25458 to i1
  br i1 %25459, label %25460, label %25482

25460:                                            ; preds = %25453
  %25461 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25462 = call i32 @fileno(ptr noundef %25461) #11
  %25463 = call i32 @isatty(i32 noundef %25462) #11
  %25464 = icmp ne i32 %25463, 0
  br i1 %25464, label %25465, label %25482

25465:                                            ; preds = %25460
  %25466 = load i32, ptr %511, align 4, !tbaa !5
  %25467 = call ptr @__errno_location() #12
  store i32 %25466, ptr %25467, align 4, !tbaa !5
  %25468 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25469 = load i32, ptr @test_count, align 4, !tbaa !5
  %25470 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25471 = load i32, ptr %25470, align 4, !tbaa !5
  %25472 = call ptr @s2n_strerror(i32 noundef %25471, ptr noundef @.str.11)
  %25473 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25474 = load i32, ptr %25473, align 4, !tbaa !5
  %25475 = call ptr @s2n_strerror_debug(i32 noundef %25474, ptr noundef @.str.11)
  %25476 = call ptr @__errno_location() #12
  %25477 = load i32, ptr %25476, align 4, !tbaa !5
  %25478 = call ptr @strerror(i32 noundef %25477) #11
  %25479 = call ptr @__errno_location() #12
  %25480 = load i32, ptr %25479, align 4, !tbaa !5
  %25481 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25468, ptr noundef @.str.9, i32 noundef %25469, ptr noundef @.str.223, ptr noundef @.str.8, i32 noundef 968, ptr noundef %25472, ptr noundef %25475, ptr noundef %25478, i32 noundef %25480) #11
  br label %25499

25482:                                            ; preds = %25460, %25453
  %25483 = load i32, ptr %511, align 4, !tbaa !5
  %25484 = call ptr @__errno_location() #12
  store i32 %25483, ptr %25484, align 4, !tbaa !5
  %25485 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25486 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %25488, ptr noundef @.str.11)
  %25490 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25491 = load i32, ptr %25490, align 4, !tbaa !5
  %25492 = call ptr @s2n_strerror_debug(i32 noundef %25491, ptr noundef @.str.11)
  %25493 = call ptr @__errno_location() #12
  %25494 = load i32, ptr %25493, align 4, !tbaa !5
  %25495 = call ptr @strerror(i32 noundef %25494) #11
  %25496 = call ptr @__errno_location() #12
  %25497 = load i32, ptr %25496, align 4, !tbaa !5
  %25498 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25485, ptr noundef @.str.12, i32 noundef %25486, ptr noundef @.str.223, ptr noundef @.str.8, i32 noundef 968, ptr noundef %25489, ptr noundef %25492, ptr noundef %25495, i32 noundef %25497) #11
  br label %25499

25499:                                            ; preds = %25482, %25465
  call void @llvm.lifetime.end.p0(i64 4, ptr %511) #11
  br label %25500

25500:                                            ; preds = %25499
  br label %25501

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

25502:                                            ; No predecessors!
  br label %25503

25503:                                            ; preds = %25502
  br label %25504

25504:                                            ; preds = %25503, %25446
  br label %25505

25505:                                            ; preds = %25504
  br label %25506

25506:                                            ; preds = %25505
  br label %25507

25507:                                            ; preds = %25506
  %25508 = load i32, ptr @test_count, align 4, !tbaa !5
  %25509 = add nsw i32 %25508, 1
  store i32 %25509, ptr @test_count, align 4, !tbaa !5
  %25510 = load ptr, ptr %510, align 8, !tbaa !9
  %25511 = load ptr, ptr %506, align 8, !tbaa !9
  %25512 = call i32 @s2n_connection_set_config(ptr noundef %25510, ptr noundef %25511)
  %25513 = icmp eq i32 %25512, -1
  br i1 %25513, label %25514, label %25567

25514:                                            ; preds = %25507
  br label %25515

25515:                                            ; preds = %25514
  br label %25516

25516:                                            ; preds = %25515
  call void @llvm.lifetime.start.p0(i64 4, ptr %512) #11
  %25517 = call ptr @__errno_location() #12
  %25518 = load i32, ptr %25517, align 4, !tbaa !5
  store i32 %25518, ptr %512, align 4, !tbaa !5
  %25519 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25520 = call i32 @s2n_print_stacktrace(ptr noundef %25519)
  %25521 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %25522 = trunc i8 %25521 to i1
  br i1 %25522, label %25523, label %25545

25523:                                            ; preds = %25516
  %25524 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25525 = call i32 @fileno(ptr noundef %25524) #11
  %25526 = call i32 @isatty(i32 noundef %25525) #11
  %25527 = icmp ne i32 %25526, 0
  br i1 %25527, label %25528, label %25545

25528:                                            ; preds = %25523
  %25529 = load i32, ptr %512, align 4, !tbaa !5
  %25530 = call ptr @__errno_location() #12
  store i32 %25529, ptr %25530, align 4, !tbaa !5
  %25531 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25532 = load i32, ptr @test_count, align 4, !tbaa !5
  %25533 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25534 = load i32, ptr %25533, align 4, !tbaa !5
  %25535 = call ptr @s2n_strerror(i32 noundef %25534, ptr noundef @.str.11)
  %25536 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25537 = load i32, ptr %25536, align 4, !tbaa !5
  %25538 = call ptr @s2n_strerror_debug(i32 noundef %25537, ptr noundef @.str.11)
  %25539 = call ptr @__errno_location() #12
  %25540 = load i32, ptr %25539, align 4, !tbaa !5
  %25541 = call ptr @strerror(i32 noundef %25540) #11
  %25542 = call ptr @__errno_location() #12
  %25543 = load i32, ptr %25542, align 4, !tbaa !5
  %25544 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25531, ptr noundef @.str.9, i32 noundef %25532, ptr noundef @.str.224, ptr noundef @.str.8, i32 noundef 969, ptr noundef %25535, ptr noundef %25538, ptr noundef %25541, i32 noundef %25543) #11
  br label %25562

25545:                                            ; preds = %25523, %25516
  %25546 = load i32, ptr %512, align 4, !tbaa !5
  %25547 = call ptr @__errno_location() #12
  store i32 %25546, ptr %25547, align 4, !tbaa !5
  %25548 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25549 = load i32, ptr @test_count, align 4, !tbaa !5
  %25550 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25551 = load i32, ptr %25550, align 4, !tbaa !5
  %25552 = call ptr @s2n_strerror(i32 noundef %25551, ptr noundef @.str.11)
  %25553 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25554 = load i32, ptr %25553, align 4, !tbaa !5
  %25555 = call ptr @s2n_strerror_debug(i32 noundef %25554, ptr noundef @.str.11)
  %25556 = call ptr @__errno_location() #12
  %25557 = load i32, ptr %25556, align 4, !tbaa !5
  %25558 = call ptr @strerror(i32 noundef %25557) #11
  %25559 = call ptr @__errno_location() #12
  %25560 = load i32, ptr %25559, align 4, !tbaa !5
  %25561 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25548, ptr noundef @.str.12, i32 noundef %25549, ptr noundef @.str.224, ptr noundef @.str.8, i32 noundef 969, ptr noundef %25552, ptr noundef %25555, ptr noundef %25558, i32 noundef %25560) #11
  br label %25562

25562:                                            ; preds = %25545, %25528
  call void @llvm.lifetime.end.p0(i64 4, ptr %512) #11
  br label %25563

25563:                                            ; preds = %25562
  br label %25564

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

25565:                                            ; No predecessors!
  br label %25566

25566:                                            ; preds = %25565
  br label %25567

25567:                                            ; preds = %25566, %25507
  br label %25568

25568:                                            ; preds = %25567
  br label %25569

25569:                                            ; preds = %25568
  %25570 = load ptr, ptr %510, align 8, !tbaa !9
  %25571 = getelementptr inbounds %struct.s2n_connection, ptr %25570, i32 0, i32 36
  store i32 1, ptr %25571, align 4, !tbaa !90
  %25572 = load ptr, ptr %507, align 8, !tbaa !9
  %25573 = getelementptr inbounds %struct.s2n_connection, ptr %25572, i32 0, i32 36
  store i32 1, ptr %25573, align 4, !tbaa !90
  call void @llvm.lifetime.start.p0(i64 4, ptr %513) #11
  store i32 1, ptr %513, align 4, !tbaa !5
  br label %25574

25574:                                            ; preds = %25569
  %25575 = load i32, ptr @test_count, align 4, !tbaa !5
  %25576 = add nsw i32 %25575, 1
  store i32 %25576, ptr @test_count, align 4, !tbaa !5
  %25577 = load ptr, ptr %507, align 8, !tbaa !9
  %25578 = call i32 @s2n_connection_get_client_auth_type(ptr noundef %25577, ptr noundef %513)
  %25579 = icmp eq i32 %25578, -1
  br i1 %25579, label %25580, label %25633

25580:                                            ; preds = %25574
  br label %25581

25581:                                            ; preds = %25580
  br label %25582

25582:                                            ; preds = %25581
  call void @llvm.lifetime.start.p0(i64 4, ptr %514) #11
  %25583 = call ptr @__errno_location() #12
  %25584 = load i32, ptr %25583, align 4, !tbaa !5
  store i32 %25584, ptr %514, align 4, !tbaa !5
  %25585 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25586 = call i32 @s2n_print_stacktrace(ptr noundef %25585)
  %25587 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %25588 = trunc i8 %25587 to i1
  br i1 %25588, label %25589, label %25611

25589:                                            ; preds = %25582
  %25590 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25591 = call i32 @fileno(ptr noundef %25590) #11
  %25592 = call i32 @isatty(i32 noundef %25591) #11
  %25593 = icmp ne i32 %25592, 0
  br i1 %25593, label %25594, label %25611

25594:                                            ; preds = %25589
  %25595 = load i32, ptr %514, align 4, !tbaa !5
  %25596 = call ptr @__errno_location() #12
  store i32 %25595, ptr %25596, align 4, !tbaa !5
  %25597 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25598 = load i32, ptr @test_count, align 4, !tbaa !5
  %25599 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25600 = load i32, ptr %25599, align 4, !tbaa !5
  %25601 = call ptr @s2n_strerror(i32 noundef %25600, ptr noundef @.str.11)
  %25602 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25603 = load i32, ptr %25602, align 4, !tbaa !5
  %25604 = call ptr @s2n_strerror_debug(i32 noundef %25603, ptr noundef @.str.11)
  %25605 = call ptr @__errno_location() #12
  %25606 = load i32, ptr %25605, align 4, !tbaa !5
  %25607 = call ptr @strerror(i32 noundef %25606) #11
  %25608 = call ptr @__errno_location() #12
  %25609 = load i32, ptr %25608, align 4, !tbaa !5
  %25610 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25597, ptr noundef @.str.9, i32 noundef %25598, ptr noundef @.str.225, ptr noundef @.str.8, i32 noundef 980, ptr noundef %25601, ptr noundef %25604, ptr noundef %25607, i32 noundef %25609) #11
  br label %25628

25611:                                            ; preds = %25589, %25582
  %25612 = load i32, ptr %514, align 4, !tbaa !5
  %25613 = call ptr @__errno_location() #12
  store i32 %25612, ptr %25613, align 4, !tbaa !5
  %25614 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25615 = load i32, ptr @test_count, align 4, !tbaa !5
  %25616 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25617 = load i32, ptr %25616, align 4, !tbaa !5
  %25618 = call ptr @s2n_strerror(i32 noundef %25617, ptr noundef @.str.11)
  %25619 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25620 = load i32, ptr %25619, align 4, !tbaa !5
  %25621 = call ptr @s2n_strerror_debug(i32 noundef %25620, ptr noundef @.str.11)
  %25622 = call ptr @__errno_location() #12
  %25623 = load i32, ptr %25622, align 4, !tbaa !5
  %25624 = call ptr @strerror(i32 noundef %25623) #11
  %25625 = call ptr @__errno_location() #12
  %25626 = load i32, ptr %25625, align 4, !tbaa !5
  %25627 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25614, ptr noundef @.str.12, i32 noundef %25615, ptr noundef @.str.225, ptr noundef @.str.8, i32 noundef 980, ptr noundef %25618, ptr noundef %25621, ptr noundef %25624, i32 noundef %25626) #11
  br label %25628

25628:                                            ; preds = %25611, %25594
  call void @llvm.lifetime.end.p0(i64 4, ptr %514) #11
  br label %25629

25629:                                            ; preds = %25628
  br label %25630

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

25631:                                            ; No predecessors!
  br label %25632

25632:                                            ; preds = %25631
  br label %25633

25633:                                            ; preds = %25632, %25574
  br label %25634

25634:                                            ; preds = %25633
  br label %25635

25635:                                            ; preds = %25634
  br label %25636

25636:                                            ; preds = %25635
  %25637 = load i32, ptr @test_count, align 4, !tbaa !5
  %25638 = add nsw i32 %25637, 1
  store i32 %25638, ptr @test_count, align 4, !tbaa !5
  %25639 = load i32, ptr %513, align 4, !tbaa !5
  %25640 = icmp eq i32 %25639, 2
  br i1 %25640, label %25694, label %25641

25641:                                            ; preds = %25636
  br label %25642

25642:                                            ; preds = %25641
  br label %25643

25643:                                            ; preds = %25642
  call void @llvm.lifetime.start.p0(i64 4, ptr %515) #11
  %25644 = call ptr @__errno_location() #12
  %25645 = load i32, ptr %25644, align 4, !tbaa !5
  store i32 %25645, ptr %515, align 4, !tbaa !5
  %25646 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25647 = call i32 @s2n_print_stacktrace(ptr noundef %25646)
  %25648 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %25649 = trunc i8 %25648 to i1
  br i1 %25649, label %25650, label %25672

25650:                                            ; preds = %25643
  %25651 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25652 = call i32 @fileno(ptr noundef %25651) #11
  %25653 = call i32 @isatty(i32 noundef %25652) #11
  %25654 = icmp ne i32 %25653, 0
  br i1 %25654, label %25655, label %25672

25655:                                            ; preds = %25650
  %25656 = load i32, ptr %515, align 4, !tbaa !5
  %25657 = call ptr @__errno_location() #12
  store i32 %25656, ptr %25657, align 4, !tbaa !5
  %25658 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25659 = load i32, ptr @test_count, align 4, !tbaa !5
  %25660 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25661 = load i32, ptr %25660, align 4, !tbaa !5
  %25662 = call ptr @s2n_strerror(i32 noundef %25661, ptr noundef @.str.11)
  %25663 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25664 = load i32, ptr %25663, align 4, !tbaa !5
  %25665 = call ptr @s2n_strerror_debug(i32 noundef %25664, ptr noundef @.str.11)
  %25666 = call ptr @__errno_location() #12
  %25667 = load i32, ptr %25666, align 4, !tbaa !5
  %25668 = call ptr @strerror(i32 noundef %25667) #11
  %25669 = call ptr @__errno_location() #12
  %25670 = load i32, ptr %25669, align 4, !tbaa !5
  %25671 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25658, ptr noundef @.str.9, i32 noundef %25659, ptr noundef @.str.226, ptr noundef @.str.8, i32 noundef 981, ptr noundef %25662, ptr noundef %25665, ptr noundef %25668, i32 noundef %25670) #11
  br label %25689

25672:                                            ; preds = %25650, %25643
  %25673 = load i32, ptr %515, align 4, !tbaa !5
  %25674 = call ptr @__errno_location() #12
  store i32 %25673, ptr %25674, align 4, !tbaa !5
  %25675 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25676 = load i32, ptr @test_count, align 4, !tbaa !5
  %25677 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25678 = load i32, ptr %25677, align 4, !tbaa !5
  %25679 = call ptr @s2n_strerror(i32 noundef %25678, ptr noundef @.str.11)
  %25680 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25681 = load i32, ptr %25680, align 4, !tbaa !5
  %25682 = call ptr @s2n_strerror_debug(i32 noundef %25681, ptr noundef @.str.11)
  %25683 = call ptr @__errno_location() #12
  %25684 = load i32, ptr %25683, align 4, !tbaa !5
  %25685 = call ptr @strerror(i32 noundef %25684) #11
  %25686 = call ptr @__errno_location() #12
  %25687 = load i32, ptr %25686, align 4, !tbaa !5
  %25688 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25675, ptr noundef @.str.12, i32 noundef %25676, ptr noundef @.str.226, ptr noundef @.str.8, i32 noundef 981, ptr noundef %25679, ptr noundef %25682, ptr noundef %25685, i32 noundef %25687) #11
  br label %25689

25689:                                            ; preds = %25672, %25655
  call void @llvm.lifetime.end.p0(i64 4, ptr %515) #11
  br label %25690

25690:                                            ; preds = %25689
  br label %25691

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

25692:                                            ; No predecessors!
  br label %25693

25693:                                            ; preds = %25692
  br label %25694

25694:                                            ; preds = %25693, %25636
  br label %25695

25695:                                            ; preds = %25694
  br label %25696

25696:                                            ; preds = %25695
  br label %25697

25697:                                            ; preds = %25696
  %25698 = load i32, ptr @test_count, align 4, !tbaa !5
  %25699 = add nsw i32 %25698, 1
  store i32 %25699, ptr @test_count, align 4, !tbaa !5
  %25700 = load ptr, ptr %510, align 8, !tbaa !9
  %25701 = call i32 @s2n_connection_get_client_auth_type(ptr noundef %25700, ptr noundef %513)
  %25702 = icmp eq i32 %25701, -1
  br i1 %25702, label %25703, label %25756

25703:                                            ; preds = %25697
  br label %25704

25704:                                            ; preds = %25703
  br label %25705

25705:                                            ; preds = %25704
  call void @llvm.lifetime.start.p0(i64 4, ptr %516) #11
  %25706 = call ptr @__errno_location() #12
  %25707 = load i32, ptr %25706, align 4, !tbaa !5
  store i32 %25707, ptr %516, align 4, !tbaa !5
  %25708 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25709 = call i32 @s2n_print_stacktrace(ptr noundef %25708)
  %25710 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %25711 = trunc i8 %25710 to i1
  br i1 %25711, label %25712, label %25734

25712:                                            ; preds = %25705
  %25713 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25714 = call i32 @fileno(ptr noundef %25713) #11
  %25715 = call i32 @isatty(i32 noundef %25714) #11
  %25716 = icmp ne i32 %25715, 0
  br i1 %25716, label %25717, label %25734

25717:                                            ; preds = %25712
  %25718 = load i32, ptr %516, align 4, !tbaa !5
  %25719 = call ptr @__errno_location() #12
  store i32 %25718, ptr %25719, align 4, !tbaa !5
  %25720 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25721 = load i32, ptr @test_count, align 4, !tbaa !5
  %25722 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25723 = load i32, ptr %25722, align 4, !tbaa !5
  %25724 = call ptr @s2n_strerror(i32 noundef %25723, ptr noundef @.str.11)
  %25725 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25726 = load i32, ptr %25725, align 4, !tbaa !5
  %25727 = call ptr @s2n_strerror_debug(i32 noundef %25726, ptr noundef @.str.11)
  %25728 = call ptr @__errno_location() #12
  %25729 = load i32, ptr %25728, align 4, !tbaa !5
  %25730 = call ptr @strerror(i32 noundef %25729) #11
  %25731 = call ptr @__errno_location() #12
  %25732 = load i32, ptr %25731, align 4, !tbaa !5
  %25733 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25720, ptr noundef @.str.9, i32 noundef %25721, ptr noundef @.str.227, ptr noundef @.str.8, i32 noundef 982, ptr noundef %25724, ptr noundef %25727, ptr noundef %25730, i32 noundef %25732) #11
  br label %25751

25734:                                            ; preds = %25712, %25705
  %25735 = load i32, ptr %516, align 4, !tbaa !5
  %25736 = call ptr @__errno_location() #12
  store i32 %25735, ptr %25736, align 4, !tbaa !5
  %25737 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25738 = load i32, ptr @test_count, align 4, !tbaa !5
  %25739 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25740 = load i32, ptr %25739, align 4, !tbaa !5
  %25741 = call ptr @s2n_strerror(i32 noundef %25740, ptr noundef @.str.11)
  %25742 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25743 = load i32, ptr %25742, align 4, !tbaa !5
  %25744 = call ptr @s2n_strerror_debug(i32 noundef %25743, ptr noundef @.str.11)
  %25745 = call ptr @__errno_location() #12
  %25746 = load i32, ptr %25745, align 4, !tbaa !5
  %25747 = call ptr @strerror(i32 noundef %25746) #11
  %25748 = call ptr @__errno_location() #12
  %25749 = load i32, ptr %25748, align 4, !tbaa !5
  %25750 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25737, ptr noundef @.str.12, i32 noundef %25738, ptr noundef @.str.227, ptr noundef @.str.8, i32 noundef 982, ptr noundef %25741, ptr noundef %25744, ptr noundef %25747, i32 noundef %25749) #11
  br label %25751

25751:                                            ; preds = %25734, %25717
  call void @llvm.lifetime.end.p0(i64 4, ptr %516) #11
  br label %25752

25752:                                            ; preds = %25751
  br label %25753

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

25754:                                            ; No predecessors!
  br label %25755

25755:                                            ; preds = %25754
  br label %25756

25756:                                            ; preds = %25755, %25697
  br label %25757

25757:                                            ; preds = %25756
  br label %25758

25758:                                            ; preds = %25757
  br label %25759

25759:                                            ; preds = %25758
  %25760 = load i32, ptr @test_count, align 4, !tbaa !5
  %25761 = add nsw i32 %25760, 1
  store i32 %25761, ptr @test_count, align 4, !tbaa !5
  %25762 = load i32, ptr %513, align 4, !tbaa !5
  %25763 = icmp eq i32 %25762, 0
  br i1 %25763, label %25817, label %25764

25764:                                            ; preds = %25759
  br label %25765

25765:                                            ; preds = %25764
  br label %25766

25766:                                            ; preds = %25765
  call void @llvm.lifetime.start.p0(i64 4, ptr %517) #11
  %25767 = call ptr @__errno_location() #12
  %25768 = load i32, ptr %25767, align 4, !tbaa !5
  store i32 %25768, ptr %517, align 4, !tbaa !5
  %25769 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25770 = call i32 @s2n_print_stacktrace(ptr noundef %25769)
  %25771 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %25772 = trunc i8 %25771 to i1
  br i1 %25772, label %25773, label %25795

25773:                                            ; preds = %25766
  %25774 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25775 = call i32 @fileno(ptr noundef %25774) #11
  %25776 = call i32 @isatty(i32 noundef %25775) #11
  %25777 = icmp ne i32 %25776, 0
  br i1 %25777, label %25778, label %25795

25778:                                            ; preds = %25773
  %25779 = load i32, ptr %517, align 4, !tbaa !5
  %25780 = call ptr @__errno_location() #12
  store i32 %25779, ptr %25780, align 4, !tbaa !5
  %25781 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25782 = load i32, ptr @test_count, align 4, !tbaa !5
  %25783 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25784 = load i32, ptr %25783, align 4, !tbaa !5
  %25785 = call ptr @s2n_strerror(i32 noundef %25784, ptr noundef @.str.11)
  %25786 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25787 = load i32, ptr %25786, align 4, !tbaa !5
  %25788 = call ptr @s2n_strerror_debug(i32 noundef %25787, ptr noundef @.str.11)
  %25789 = call ptr @__errno_location() #12
  %25790 = load i32, ptr %25789, align 4, !tbaa !5
  %25791 = call ptr @strerror(i32 noundef %25790) #11
  %25792 = call ptr @__errno_location() #12
  %25793 = load i32, ptr %25792, align 4, !tbaa !5
  %25794 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25781, ptr noundef @.str.9, i32 noundef %25782, ptr noundef @.str.228, ptr noundef @.str.8, i32 noundef 983, ptr noundef %25785, ptr noundef %25788, ptr noundef %25791, i32 noundef %25793) #11
  br label %25812

25795:                                            ; preds = %25773, %25766
  %25796 = load i32, ptr %517, align 4, !tbaa !5
  %25797 = call ptr @__errno_location() #12
  store i32 %25796, ptr %25797, align 4, !tbaa !5
  %25798 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25799 = load i32, ptr @test_count, align 4, !tbaa !5
  %25800 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25801 = load i32, ptr %25800, align 4, !tbaa !5
  %25802 = call ptr @s2n_strerror(i32 noundef %25801, ptr noundef @.str.11)
  %25803 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25804 = load i32, ptr %25803, align 4, !tbaa !5
  %25805 = call ptr @s2n_strerror_debug(i32 noundef %25804, ptr noundef @.str.11)
  %25806 = call ptr @__errno_location() #12
  %25807 = load i32, ptr %25806, align 4, !tbaa !5
  %25808 = call ptr @strerror(i32 noundef %25807) #11
  %25809 = call ptr @__errno_location() #12
  %25810 = load i32, ptr %25809, align 4, !tbaa !5
  %25811 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25798, ptr noundef @.str.12, i32 noundef %25799, ptr noundef @.str.228, ptr noundef @.str.8, i32 noundef 983, ptr noundef %25802, ptr noundef %25805, ptr noundef %25808, i32 noundef %25810) #11
  br label %25812

25812:                                            ; preds = %25795, %25778
  call void @llvm.lifetime.end.p0(i64 4, ptr %517) #11
  br label %25813

25813:                                            ; preds = %25812
  br label %25814

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

25815:                                            ; No predecessors!
  br label %25816

25816:                                            ; preds = %25815
  br label %25817

25817:                                            ; preds = %25816, %25759
  br label %25818

25818:                                            ; preds = %25817
  br label %25819

25819:                                            ; preds = %25818
  call void @llvm.lifetime.end.p0(i64 4, ptr %513) #11
  br label %25820

25820:                                            ; preds = %25819
  %25821 = load i32, ptr @test_count, align 4, !tbaa !5
  %25822 = add nsw i32 %25821, 1
  store i32 %25822, ptr @test_count, align 4, !tbaa !5
  %25823 = load ptr, ptr %506, align 8, !tbaa !9
  %25824 = call i32 @s2n_config_set_client_auth_type(ptr noundef %25823, i32 noundef 1)
  %25825 = icmp eq i32 %25824, -1
  br i1 %25825, label %25826, label %25879

25826:                                            ; preds = %25820
  br label %25827

25827:                                            ; preds = %25826
  br label %25828

25828:                                            ; preds = %25827
  call void @llvm.lifetime.start.p0(i64 4, ptr %518) #11
  %25829 = call ptr @__errno_location() #12
  %25830 = load i32, ptr %25829, align 4, !tbaa !5
  store i32 %25830, ptr %518, align 4, !tbaa !5
  %25831 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25832 = call i32 @s2n_print_stacktrace(ptr noundef %25831)
  %25833 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %25834 = trunc i8 %25833 to i1
  br i1 %25834, label %25835, label %25857

25835:                                            ; preds = %25828
  %25836 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25837 = call i32 @fileno(ptr noundef %25836) #11
  %25838 = call i32 @isatty(i32 noundef %25837) #11
  %25839 = icmp ne i32 %25838, 0
  br i1 %25839, label %25840, label %25857

25840:                                            ; preds = %25835
  %25841 = load i32, ptr %518, align 4, !tbaa !5
  %25842 = call ptr @__errno_location() #12
  store i32 %25841, ptr %25842, align 4, !tbaa !5
  %25843 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25844 = load i32, ptr @test_count, align 4, !tbaa !5
  %25845 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25846 = load i32, ptr %25845, align 4, !tbaa !5
  %25847 = call ptr @s2n_strerror(i32 noundef %25846, ptr noundef @.str.11)
  %25848 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25849 = load i32, ptr %25848, align 4, !tbaa !5
  %25850 = call ptr @s2n_strerror_debug(i32 noundef %25849, ptr noundef @.str.11)
  %25851 = call ptr @__errno_location() #12
  %25852 = load i32, ptr %25851, align 4, !tbaa !5
  %25853 = call ptr @strerror(i32 noundef %25852) #11
  %25854 = call ptr @__errno_location() #12
  %25855 = load i32, ptr %25854, align 4, !tbaa !5
  %25856 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25843, ptr noundef @.str.9, i32 noundef %25844, ptr noundef @.str.71, ptr noundef @.str.8, i32 noundef 988, ptr noundef %25847, ptr noundef %25850, ptr noundef %25853, i32 noundef %25855) #11
  br label %25874

25857:                                            ; preds = %25835, %25828
  %25858 = load i32, ptr %518, align 4, !tbaa !5
  %25859 = call ptr @__errno_location() #12
  store i32 %25858, ptr %25859, align 4, !tbaa !5
  %25860 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25861 = load i32, ptr @test_count, align 4, !tbaa !5
  %25862 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25863 = load i32, ptr %25862, align 4, !tbaa !5
  %25864 = call ptr @s2n_strerror(i32 noundef %25863, ptr noundef @.str.11)
  %25865 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25866 = load i32, ptr %25865, align 4, !tbaa !5
  %25867 = call ptr @s2n_strerror_debug(i32 noundef %25866, ptr noundef @.str.11)
  %25868 = call ptr @__errno_location() #12
  %25869 = load i32, ptr %25868, align 4, !tbaa !5
  %25870 = call ptr @strerror(i32 noundef %25869) #11
  %25871 = call ptr @__errno_location() #12
  %25872 = load i32, ptr %25871, align 4, !tbaa !5
  %25873 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25860, ptr noundef @.str.12, i32 noundef %25861, ptr noundef @.str.71, ptr noundef @.str.8, i32 noundef 988, ptr noundef %25864, ptr noundef %25867, ptr noundef %25870, i32 noundef %25872) #11
  br label %25874

25874:                                            ; preds = %25857, %25840
  call void @llvm.lifetime.end.p0(i64 4, ptr %518) #11
  br label %25875

25875:                                            ; preds = %25874
  br label %25876

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

25877:                                            ; No predecessors!
  br label %25878

25878:                                            ; preds = %25877
  br label %25879

25879:                                            ; preds = %25878, %25820
  br label %25880

25880:                                            ; preds = %25879
  br label %25881

25881:                                            ; preds = %25880
  call void @llvm.lifetime.start.p0(i64 4, ptr %519) #11
  store i32 0, ptr %519, align 4, !tbaa !5
  br label %25882

25882:                                            ; preds = %25881
  %25883 = load i32, ptr @test_count, align 4, !tbaa !5
  %25884 = add nsw i32 %25883, 1
  store i32 %25884, ptr @test_count, align 4, !tbaa !5
  %25885 = load ptr, ptr %507, align 8, !tbaa !9
  %25886 = call i32 @s2n_connection_get_client_auth_type(ptr noundef %25885, ptr noundef %519)
  %25887 = icmp eq i32 %25886, -1
  br i1 %25887, label %25888, label %25941

25888:                                            ; preds = %25882
  br label %25889

25889:                                            ; preds = %25888
  br label %25890

25890:                                            ; preds = %25889
  call void @llvm.lifetime.start.p0(i64 4, ptr %520) #11
  %25891 = call ptr @__errno_location() #12
  %25892 = load i32, ptr %25891, align 4, !tbaa !5
  store i32 %25892, ptr %520, align 4, !tbaa !5
  %25893 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25894 = call i32 @s2n_print_stacktrace(ptr noundef %25893)
  %25895 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %25896 = trunc i8 %25895 to i1
  br i1 %25896, label %25897, label %25919

25897:                                            ; preds = %25890
  %25898 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25899 = call i32 @fileno(ptr noundef %25898) #11
  %25900 = call i32 @isatty(i32 noundef %25899) #11
  %25901 = icmp ne i32 %25900, 0
  br i1 %25901, label %25902, label %25919

25902:                                            ; preds = %25897
  %25903 = load i32, ptr %520, align 4, !tbaa !5
  %25904 = call ptr @__errno_location() #12
  store i32 %25903, ptr %25904, align 4, !tbaa !5
  %25905 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25906 = load i32, ptr @test_count, align 4, !tbaa !5
  %25907 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25908 = load i32, ptr %25907, align 4, !tbaa !5
  %25909 = call ptr @s2n_strerror(i32 noundef %25908, ptr noundef @.str.11)
  %25910 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25911 = load i32, ptr %25910, align 4, !tbaa !5
  %25912 = call ptr @s2n_strerror_debug(i32 noundef %25911, ptr noundef @.str.11)
  %25913 = call ptr @__errno_location() #12
  %25914 = load i32, ptr %25913, align 4, !tbaa !5
  %25915 = call ptr @strerror(i32 noundef %25914) #11
  %25916 = call ptr @__errno_location() #12
  %25917 = load i32, ptr %25916, align 4, !tbaa !5
  %25918 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25905, ptr noundef @.str.9, i32 noundef %25906, ptr noundef @.str.225, ptr noundef @.str.8, i32 noundef 991, ptr noundef %25909, ptr noundef %25912, ptr noundef %25915, i32 noundef %25917) #11
  br label %25936

25919:                                            ; preds = %25897, %25890
  %25920 = load i32, ptr %520, align 4, !tbaa !5
  %25921 = call ptr @__errno_location() #12
  store i32 %25920, ptr %25921, align 4, !tbaa !5
  %25922 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25923 = load i32, ptr @test_count, align 4, !tbaa !5
  %25924 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25925 = load i32, ptr %25924, align 4, !tbaa !5
  %25926 = call ptr @s2n_strerror(i32 noundef %25925, ptr noundef @.str.11)
  %25927 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25928 = load i32, ptr %25927, align 4, !tbaa !5
  %25929 = call ptr @s2n_strerror_debug(i32 noundef %25928, ptr noundef @.str.11)
  %25930 = call ptr @__errno_location() #12
  %25931 = load i32, ptr %25930, align 4, !tbaa !5
  %25932 = call ptr @strerror(i32 noundef %25931) #11
  %25933 = call ptr @__errno_location() #12
  %25934 = load i32, ptr %25933, align 4, !tbaa !5
  %25935 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25922, ptr noundef @.str.12, i32 noundef %25923, ptr noundef @.str.225, ptr noundef @.str.8, i32 noundef 991, ptr noundef %25926, ptr noundef %25929, ptr noundef %25932, i32 noundef %25934) #11
  br label %25936

25936:                                            ; preds = %25919, %25902
  call void @llvm.lifetime.end.p0(i64 4, ptr %520) #11
  br label %25937

25937:                                            ; preds = %25936
  br label %25938

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

25939:                                            ; No predecessors!
  br label %25940

25940:                                            ; preds = %25939
  br label %25941

25941:                                            ; preds = %25940, %25882
  br label %25942

25942:                                            ; preds = %25941
  br label %25943

25943:                                            ; preds = %25942
  br label %25944

25944:                                            ; preds = %25943
  %25945 = load i32, ptr @test_count, align 4, !tbaa !5
  %25946 = add nsw i32 %25945, 1
  store i32 %25946, ptr @test_count, align 4, !tbaa !5
  %25947 = load i32, ptr %519, align 4, !tbaa !5
  %25948 = icmp eq i32 %25947, 1
  br i1 %25948, label %26002, label %25949

25949:                                            ; preds = %25944
  br label %25950

25950:                                            ; preds = %25949
  br label %25951

25951:                                            ; preds = %25950
  call void @llvm.lifetime.start.p0(i64 4, ptr %521) #11
  %25952 = call ptr @__errno_location() #12
  %25953 = load i32, ptr %25952, align 4, !tbaa !5
  store i32 %25953, ptr %521, align 4, !tbaa !5
  %25954 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25955 = call i32 @s2n_print_stacktrace(ptr noundef %25954)
  %25956 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %25957 = trunc i8 %25956 to i1
  br i1 %25957, label %25958, label %25980

25958:                                            ; preds = %25951
  %25959 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25960 = call i32 @fileno(ptr noundef %25959) #11
  %25961 = call i32 @isatty(i32 noundef %25960) #11
  %25962 = icmp ne i32 %25961, 0
  br i1 %25962, label %25963, label %25980

25963:                                            ; preds = %25958
  %25964 = load i32, ptr %521, align 4, !tbaa !5
  %25965 = call ptr @__errno_location() #12
  store i32 %25964, ptr %25965, align 4, !tbaa !5
  %25966 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25967 = load i32, ptr @test_count, align 4, !tbaa !5
  %25968 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25969 = load i32, ptr %25968, align 4, !tbaa !5
  %25970 = call ptr @s2n_strerror(i32 noundef %25969, ptr noundef @.str.11)
  %25971 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25972 = load i32, ptr %25971, align 4, !tbaa !5
  %25973 = call ptr @s2n_strerror_debug(i32 noundef %25972, ptr noundef @.str.11)
  %25974 = call ptr @__errno_location() #12
  %25975 = load i32, ptr %25974, align 4, !tbaa !5
  %25976 = call ptr @strerror(i32 noundef %25975) #11
  %25977 = call ptr @__errno_location() #12
  %25978 = load i32, ptr %25977, align 4, !tbaa !5
  %25979 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25966, ptr noundef @.str.9, i32 noundef %25967, ptr noundef @.str.229, ptr noundef @.str.8, i32 noundef 992, ptr noundef %25970, ptr noundef %25973, ptr noundef %25976, i32 noundef %25978) #11
  br label %25997

25980:                                            ; preds = %25958, %25951
  %25981 = load i32, ptr %521, align 4, !tbaa !5
  %25982 = call ptr @__errno_location() #12
  store i32 %25981, ptr %25982, align 4, !tbaa !5
  %25983 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25984 = load i32, ptr @test_count, align 4, !tbaa !5
  %25985 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25986 = load i32, ptr %25985, align 4, !tbaa !5
  %25987 = call ptr @s2n_strerror(i32 noundef %25986, ptr noundef @.str.11)
  %25988 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25989 = load i32, ptr %25988, align 4, !tbaa !5
  %25990 = call ptr @s2n_strerror_debug(i32 noundef %25989, ptr noundef @.str.11)
  %25991 = call ptr @__errno_location() #12
  %25992 = load i32, ptr %25991, align 4, !tbaa !5
  %25993 = call ptr @strerror(i32 noundef %25992) #11
  %25994 = call ptr @__errno_location() #12
  %25995 = load i32, ptr %25994, align 4, !tbaa !5
  %25996 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25983, ptr noundef @.str.12, i32 noundef %25984, ptr noundef @.str.229, ptr noundef @.str.8, i32 noundef 992, ptr noundef %25987, ptr noundef %25990, ptr noundef %25993, i32 noundef %25995) #11
  br label %25997

25997:                                            ; preds = %25980, %25963
  call void @llvm.lifetime.end.p0(i64 4, ptr %521) #11
  br label %25998

25998:                                            ; preds = %25997
  br label %25999

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

26000:                                            ; No predecessors!
  br label %26001

26001:                                            ; preds = %26000
  br label %26002

26002:                                            ; preds = %26001, %25944
  br label %26003

26003:                                            ; preds = %26002
  br label %26004

26004:                                            ; preds = %26003
  br label %26005

26005:                                            ; preds = %26004
  %26006 = load i32, ptr @test_count, align 4, !tbaa !5
  %26007 = add nsw i32 %26006, 1
  store i32 %26007, ptr @test_count, align 4, !tbaa !5
  %26008 = load ptr, ptr %510, align 8, !tbaa !9
  %26009 = call i32 @s2n_connection_get_client_auth_type(ptr noundef %26008, ptr noundef %519)
  %26010 = icmp eq i32 %26009, -1
  br i1 %26010, label %26011, label %26064

26011:                                            ; preds = %26005
  br label %26012

26012:                                            ; preds = %26011
  br label %26013

26013:                                            ; preds = %26012
  call void @llvm.lifetime.start.p0(i64 4, ptr %522) #11
  %26014 = call ptr @__errno_location() #12
  %26015 = load i32, ptr %26014, align 4, !tbaa !5
  store i32 %26015, ptr %522, align 4, !tbaa !5
  %26016 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26017 = call i32 @s2n_print_stacktrace(ptr noundef %26016)
  %26018 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %26019 = trunc i8 %26018 to i1
  br i1 %26019, label %26020, label %26042

26020:                                            ; preds = %26013
  %26021 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26022 = call i32 @fileno(ptr noundef %26021) #11
  %26023 = call i32 @isatty(i32 noundef %26022) #11
  %26024 = icmp ne i32 %26023, 0
  br i1 %26024, label %26025, label %26042

26025:                                            ; preds = %26020
  %26026 = load i32, ptr %522, align 4, !tbaa !5
  %26027 = call ptr @__errno_location() #12
  store i32 %26026, ptr %26027, align 4, !tbaa !5
  %26028 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26029 = load i32, ptr @test_count, align 4, !tbaa !5
  %26030 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26031 = load i32, ptr %26030, align 4, !tbaa !5
  %26032 = call ptr @s2n_strerror(i32 noundef %26031, ptr noundef @.str.11)
  %26033 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26034 = load i32, ptr %26033, align 4, !tbaa !5
  %26035 = call ptr @s2n_strerror_debug(i32 noundef %26034, ptr noundef @.str.11)
  %26036 = call ptr @__errno_location() #12
  %26037 = load i32, ptr %26036, align 4, !tbaa !5
  %26038 = call ptr @strerror(i32 noundef %26037) #11
  %26039 = call ptr @__errno_location() #12
  %26040 = load i32, ptr %26039, align 4, !tbaa !5
  %26041 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26028, ptr noundef @.str.9, i32 noundef %26029, ptr noundef @.str.227, ptr noundef @.str.8, i32 noundef 993, ptr noundef %26032, ptr noundef %26035, ptr noundef %26038, i32 noundef %26040) #11
  br label %26059

26042:                                            ; preds = %26020, %26013
  %26043 = load i32, ptr %522, align 4, !tbaa !5
  %26044 = call ptr @__errno_location() #12
  store i32 %26043, ptr %26044, align 4, !tbaa !5
  %26045 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26046 = load i32, ptr @test_count, align 4, !tbaa !5
  %26047 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26048 = load i32, ptr %26047, align 4, !tbaa !5
  %26049 = call ptr @s2n_strerror(i32 noundef %26048, ptr noundef @.str.11)
  %26050 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26051 = load i32, ptr %26050, align 4, !tbaa !5
  %26052 = call ptr @s2n_strerror_debug(i32 noundef %26051, ptr noundef @.str.11)
  %26053 = call ptr @__errno_location() #12
  %26054 = load i32, ptr %26053, align 4, !tbaa !5
  %26055 = call ptr @strerror(i32 noundef %26054) #11
  %26056 = call ptr @__errno_location() #12
  %26057 = load i32, ptr %26056, align 4, !tbaa !5
  %26058 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26045, ptr noundef @.str.12, i32 noundef %26046, ptr noundef @.str.227, ptr noundef @.str.8, i32 noundef 993, ptr noundef %26049, ptr noundef %26052, ptr noundef %26055, i32 noundef %26057) #11
  br label %26059

26059:                                            ; preds = %26042, %26025
  call void @llvm.lifetime.end.p0(i64 4, ptr %522) #11
  br label %26060

26060:                                            ; preds = %26059
  br label %26061

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

26062:                                            ; No predecessors!
  br label %26063

26063:                                            ; preds = %26062
  br label %26064

26064:                                            ; preds = %26063, %26005
  br label %26065

26065:                                            ; preds = %26064
  br label %26066

26066:                                            ; preds = %26065
  br label %26067

26067:                                            ; preds = %26066
  %26068 = load i32, ptr @test_count, align 4, !tbaa !5
  %26069 = add nsw i32 %26068, 1
  store i32 %26069, ptr @test_count, align 4, !tbaa !5
  %26070 = load i32, ptr %519, align 4, !tbaa !5
  %26071 = icmp eq i32 %26070, 1
  br i1 %26071, label %26125, label %26072

26072:                                            ; preds = %26067
  br label %26073

26073:                                            ; preds = %26072
  br label %26074

26074:                                            ; preds = %26073
  call void @llvm.lifetime.start.p0(i64 4, ptr %523) #11
  %26075 = call ptr @__errno_location() #12
  %26076 = load i32, ptr %26075, align 4, !tbaa !5
  store i32 %26076, ptr %523, align 4, !tbaa !5
  %26077 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26078 = call i32 @s2n_print_stacktrace(ptr noundef %26077)
  %26079 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %26080 = trunc i8 %26079 to i1
  br i1 %26080, label %26081, label %26103

26081:                                            ; preds = %26074
  %26082 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26083 = call i32 @fileno(ptr noundef %26082) #11
  %26084 = call i32 @isatty(i32 noundef %26083) #11
  %26085 = icmp ne i32 %26084, 0
  br i1 %26085, label %26086, label %26103

26086:                                            ; preds = %26081
  %26087 = load i32, ptr %523, align 4, !tbaa !5
  %26088 = call ptr @__errno_location() #12
  store i32 %26087, ptr %26088, align 4, !tbaa !5
  %26089 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26090 = load i32, ptr @test_count, align 4, !tbaa !5
  %26091 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26092 = load i32, ptr %26091, align 4, !tbaa !5
  %26093 = call ptr @s2n_strerror(i32 noundef %26092, ptr noundef @.str.11)
  %26094 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26095 = load i32, ptr %26094, align 4, !tbaa !5
  %26096 = call ptr @s2n_strerror_debug(i32 noundef %26095, ptr noundef @.str.11)
  %26097 = call ptr @__errno_location() #12
  %26098 = load i32, ptr %26097, align 4, !tbaa !5
  %26099 = call ptr @strerror(i32 noundef %26098) #11
  %26100 = call ptr @__errno_location() #12
  %26101 = load i32, ptr %26100, align 4, !tbaa !5
  %26102 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26089, ptr noundef @.str.9, i32 noundef %26090, ptr noundef @.str.229, ptr noundef @.str.8, i32 noundef 994, ptr noundef %26093, ptr noundef %26096, ptr noundef %26099, i32 noundef %26101) #11
  br label %26120

26103:                                            ; preds = %26081, %26074
  %26104 = load i32, ptr %523, align 4, !tbaa !5
  %26105 = call ptr @__errno_location() #12
  store i32 %26104, ptr %26105, align 4, !tbaa !5
  %26106 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26107 = load i32, ptr @test_count, align 4, !tbaa !5
  %26108 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26109 = load i32, ptr %26108, align 4, !tbaa !5
  %26110 = call ptr @s2n_strerror(i32 noundef %26109, ptr noundef @.str.11)
  %26111 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26112 = load i32, ptr %26111, align 4, !tbaa !5
  %26113 = call ptr @s2n_strerror_debug(i32 noundef %26112, ptr noundef @.str.11)
  %26114 = call ptr @__errno_location() #12
  %26115 = load i32, ptr %26114, align 4, !tbaa !5
  %26116 = call ptr @strerror(i32 noundef %26115) #11
  %26117 = call ptr @__errno_location() #12
  %26118 = load i32, ptr %26117, align 4, !tbaa !5
  %26119 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26106, ptr noundef @.str.12, i32 noundef %26107, ptr noundef @.str.229, ptr noundef @.str.8, i32 noundef 994, ptr noundef %26110, ptr noundef %26113, ptr noundef %26116, i32 noundef %26118) #11
  br label %26120

26120:                                            ; preds = %26103, %26086
  call void @llvm.lifetime.end.p0(i64 4, ptr %523) #11
  br label %26121

26121:                                            ; preds = %26120
  br label %26122

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

26123:                                            ; No predecessors!
  br label %26124

26124:                                            ; preds = %26123
  br label %26125

26125:                                            ; preds = %26124, %26067
  br label %26126

26126:                                            ; preds = %26125
  br label %26127

26127:                                            ; preds = %26126
  call void @llvm.lifetime.end.p0(i64 4, ptr %519) #11
  br label %26128

26128:                                            ; preds = %26127
  %26129 = load i32, ptr @test_count, align 4, !tbaa !5
  %26130 = add nsw i32 %26129, 1
  store i32 %26130, ptr @test_count, align 4, !tbaa !5
  %26131 = load ptr, ptr %507, align 8, !tbaa !9
  %26132 = call i32 @s2n_connection_set_client_auth_type(ptr noundef %26131, i32 noundef 0)
  %26133 = icmp eq i32 %26132, -1
  br i1 %26133, label %26134, label %26187

26134:                                            ; preds = %26128
  br label %26135

26135:                                            ; preds = %26134
  br label %26136

26136:                                            ; preds = %26135
  call void @llvm.lifetime.start.p0(i64 4, ptr %524) #11
  %26137 = call ptr @__errno_location() #12
  %26138 = load i32, ptr %26137, align 4, !tbaa !5
  store i32 %26138, ptr %524, align 4, !tbaa !5
  %26139 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26140 = call i32 @s2n_print_stacktrace(ptr noundef %26139)
  %26141 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %26142 = trunc i8 %26141 to i1
  br i1 %26142, label %26143, label %26165

26143:                                            ; preds = %26136
  %26144 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26145 = call i32 @fileno(ptr noundef %26144) #11
  %26146 = call i32 @isatty(i32 noundef %26145) #11
  %26147 = icmp ne i32 %26146, 0
  br i1 %26147, label %26148, label %26165

26148:                                            ; preds = %26143
  %26149 = load i32, ptr %524, align 4, !tbaa !5
  %26150 = call ptr @__errno_location() #12
  store i32 %26149, ptr %26150, align 4, !tbaa !5
  %26151 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26152 = load i32, ptr @test_count, align 4, !tbaa !5
  %26153 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26154 = load i32, ptr %26153, align 4, !tbaa !5
  %26155 = call ptr @s2n_strerror(i32 noundef %26154, ptr noundef @.str.11)
  %26156 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26157 = load i32, ptr %26156, align 4, !tbaa !5
  %26158 = call ptr @s2n_strerror_debug(i32 noundef %26157, ptr noundef @.str.11)
  %26159 = call ptr @__errno_location() #12
  %26160 = load i32, ptr %26159, align 4, !tbaa !5
  %26161 = call ptr @strerror(i32 noundef %26160) #11
  %26162 = call ptr @__errno_location() #12
  %26163 = load i32, ptr %26162, align 4, !tbaa !5
  %26164 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26151, ptr noundef @.str.9, i32 noundef %26152, ptr noundef @.str.230, ptr noundef @.str.8, i32 noundef 999, ptr noundef %26155, ptr noundef %26158, ptr noundef %26161, i32 noundef %26163) #11
  br label %26182

26165:                                            ; preds = %26143, %26136
  %26166 = load i32, ptr %524, align 4, !tbaa !5
  %26167 = call ptr @__errno_location() #12
  store i32 %26166, ptr %26167, align 4, !tbaa !5
  %26168 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26169 = load i32, ptr @test_count, align 4, !tbaa !5
  %26170 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26171 = load i32, ptr %26170, align 4, !tbaa !5
  %26172 = call ptr @s2n_strerror(i32 noundef %26171, ptr noundef @.str.11)
  %26173 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26174 = load i32, ptr %26173, align 4, !tbaa !5
  %26175 = call ptr @s2n_strerror_debug(i32 noundef %26174, ptr noundef @.str.11)
  %26176 = call ptr @__errno_location() #12
  %26177 = load i32, ptr %26176, align 4, !tbaa !5
  %26178 = call ptr @strerror(i32 noundef %26177) #11
  %26179 = call ptr @__errno_location() #12
  %26180 = load i32, ptr %26179, align 4, !tbaa !5
  %26181 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26168, ptr noundef @.str.12, i32 noundef %26169, ptr noundef @.str.230, ptr noundef @.str.8, i32 noundef 999, ptr noundef %26172, ptr noundef %26175, ptr noundef %26178, i32 noundef %26180) #11
  br label %26182

26182:                                            ; preds = %26165, %26148
  call void @llvm.lifetime.end.p0(i64 4, ptr %524) #11
  br label %26183

26183:                                            ; preds = %26182
  br label %26184

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

26185:                                            ; No predecessors!
  br label %26186

26186:                                            ; preds = %26185
  br label %26187

26187:                                            ; preds = %26186, %26128
  br label %26188

26188:                                            ; preds = %26187
  br label %26189

26189:                                            ; preds = %26188
  br label %26190

26190:                                            ; preds = %26189
  %26191 = load i32, ptr @test_count, align 4, !tbaa !5
  %26192 = add nsw i32 %26191, 1
  store i32 %26192, ptr @test_count, align 4, !tbaa !5
  %26193 = load ptr, ptr %510, align 8, !tbaa !9
  %26194 = call i32 @s2n_connection_set_client_auth_type(ptr noundef %26193, i32 noundef 2)
  %26195 = icmp eq i32 %26194, -1
  br i1 %26195, label %26196, label %26249

26196:                                            ; preds = %26190
  br label %26197

26197:                                            ; preds = %26196
  br label %26198

26198:                                            ; preds = %26197
  call void @llvm.lifetime.start.p0(i64 4, ptr %525) #11
  %26199 = call ptr @__errno_location() #12
  %26200 = load i32, ptr %26199, align 4, !tbaa !5
  store i32 %26200, ptr %525, align 4, !tbaa !5
  %26201 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26202 = call i32 @s2n_print_stacktrace(ptr noundef %26201)
  %26203 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %26204 = trunc i8 %26203 to i1
  br i1 %26204, label %26205, label %26227

26205:                                            ; preds = %26198
  %26206 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26207 = call i32 @fileno(ptr noundef %26206) #11
  %26208 = call i32 @isatty(i32 noundef %26207) #11
  %26209 = icmp ne i32 %26208, 0
  br i1 %26209, label %26210, label %26227

26210:                                            ; preds = %26205
  %26211 = load i32, ptr %525, align 4, !tbaa !5
  %26212 = call ptr @__errno_location() #12
  store i32 %26211, ptr %26212, align 4, !tbaa !5
  %26213 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26214 = load i32, ptr @test_count, align 4, !tbaa !5
  %26215 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26216 = load i32, ptr %26215, align 4, !tbaa !5
  %26217 = call ptr @s2n_strerror(i32 noundef %26216, ptr noundef @.str.11)
  %26218 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26219 = load i32, ptr %26218, align 4, !tbaa !5
  %26220 = call ptr @s2n_strerror_debug(i32 noundef %26219, ptr noundef @.str.11)
  %26221 = call ptr @__errno_location() #12
  %26222 = load i32, ptr %26221, align 4, !tbaa !5
  %26223 = call ptr @strerror(i32 noundef %26222) #11
  %26224 = call ptr @__errno_location() #12
  %26225 = load i32, ptr %26224, align 4, !tbaa !5
  %26226 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26213, ptr noundef @.str.9, i32 noundef %26214, ptr noundef @.str.231, ptr noundef @.str.8, i32 noundef 1000, ptr noundef %26217, ptr noundef %26220, ptr noundef %26223, i32 noundef %26225) #11
  br label %26244

26227:                                            ; preds = %26205, %26198
  %26228 = load i32, ptr %525, align 4, !tbaa !5
  %26229 = call ptr @__errno_location() #12
  store i32 %26228, ptr %26229, align 4, !tbaa !5
  %26230 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26231 = load i32, ptr @test_count, align 4, !tbaa !5
  %26232 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26233 = load i32, ptr %26232, align 4, !tbaa !5
  %26234 = call ptr @s2n_strerror(i32 noundef %26233, ptr noundef @.str.11)
  %26235 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26236 = load i32, ptr %26235, align 4, !tbaa !5
  %26237 = call ptr @s2n_strerror_debug(i32 noundef %26236, ptr noundef @.str.11)
  %26238 = call ptr @__errno_location() #12
  %26239 = load i32, ptr %26238, align 4, !tbaa !5
  %26240 = call ptr @strerror(i32 noundef %26239) #11
  %26241 = call ptr @__errno_location() #12
  %26242 = load i32, ptr %26241, align 4, !tbaa !5
  %26243 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26230, ptr noundef @.str.12, i32 noundef %26231, ptr noundef @.str.231, ptr noundef @.str.8, i32 noundef 1000, ptr noundef %26234, ptr noundef %26237, ptr noundef %26240, i32 noundef %26242) #11
  br label %26244

26244:                                            ; preds = %26227, %26210
  call void @llvm.lifetime.end.p0(i64 4, ptr %525) #11
  br label %26245

26245:                                            ; preds = %26244
  br label %26246

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

26247:                                            ; No predecessors!
  br label %26248

26248:                                            ; preds = %26247
  br label %26249

26249:                                            ; preds = %26248, %26190
  br label %26250

26250:                                            ; preds = %26249
  br label %26251

26251:                                            ; preds = %26250
  call void @llvm.lifetime.start.p0(i64 4, ptr %526) #11
  store i32 1, ptr %526, align 4, !tbaa !5
  br label %26252

26252:                                            ; preds = %26251
  %26253 = load i32, ptr @test_count, align 4, !tbaa !5
  %26254 = add nsw i32 %26253, 1
  store i32 %26254, ptr @test_count, align 4, !tbaa !5
  %26255 = load ptr, ptr %507, align 8, !tbaa !9
  %26256 = call i32 @s2n_connection_get_client_auth_type(ptr noundef %26255, ptr noundef %526)
  %26257 = icmp eq i32 %26256, -1
  br i1 %26257, label %26258, label %26311

26258:                                            ; preds = %26252
  br label %26259

26259:                                            ; preds = %26258
  br label %26260

26260:                                            ; preds = %26259
  call void @llvm.lifetime.start.p0(i64 4, ptr %527) #11
  %26261 = call ptr @__errno_location() #12
  %26262 = load i32, ptr %26261, align 4, !tbaa !5
  store i32 %26262, ptr %527, align 4, !tbaa !5
  %26263 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26264 = call i32 @s2n_print_stacktrace(ptr noundef %26263)
  %26265 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %26266 = trunc i8 %26265 to i1
  br i1 %26266, label %26267, label %26289

26267:                                            ; preds = %26260
  %26268 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26269 = call i32 @fileno(ptr noundef %26268) #11
  %26270 = call i32 @isatty(i32 noundef %26269) #11
  %26271 = icmp ne i32 %26270, 0
  br i1 %26271, label %26272, label %26289

26272:                                            ; preds = %26267
  %26273 = load i32, ptr %527, align 4, !tbaa !5
  %26274 = call ptr @__errno_location() #12
  store i32 %26273, ptr %26274, align 4, !tbaa !5
  %26275 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26276 = load i32, ptr @test_count, align 4, !tbaa !5
  %26277 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26278 = load i32, ptr %26277, align 4, !tbaa !5
  %26279 = call ptr @s2n_strerror(i32 noundef %26278, ptr noundef @.str.11)
  %26280 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26281 = load i32, ptr %26280, align 4, !tbaa !5
  %26282 = call ptr @s2n_strerror_debug(i32 noundef %26281, ptr noundef @.str.11)
  %26283 = call ptr @__errno_location() #12
  %26284 = load i32, ptr %26283, align 4, !tbaa !5
  %26285 = call ptr @strerror(i32 noundef %26284) #11
  %26286 = call ptr @__errno_location() #12
  %26287 = load i32, ptr %26286, align 4, !tbaa !5
  %26288 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26275, ptr noundef @.str.9, i32 noundef %26276, ptr noundef @.str.225, ptr noundef @.str.8, i32 noundef 1003, ptr noundef %26279, ptr noundef %26282, ptr noundef %26285, i32 noundef %26287) #11
  br label %26306

26289:                                            ; preds = %26267, %26260
  %26290 = load i32, ptr %527, align 4, !tbaa !5
  %26291 = call ptr @__errno_location() #12
  store i32 %26290, ptr %26291, align 4, !tbaa !5
  %26292 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26293 = load i32, ptr @test_count, align 4, !tbaa !5
  %26294 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26295 = load i32, ptr %26294, align 4, !tbaa !5
  %26296 = call ptr @s2n_strerror(i32 noundef %26295, ptr noundef @.str.11)
  %26297 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26298 = load i32, ptr %26297, align 4, !tbaa !5
  %26299 = call ptr @s2n_strerror_debug(i32 noundef %26298, ptr noundef @.str.11)
  %26300 = call ptr @__errno_location() #12
  %26301 = load i32, ptr %26300, align 4, !tbaa !5
  %26302 = call ptr @strerror(i32 noundef %26301) #11
  %26303 = call ptr @__errno_location() #12
  %26304 = load i32, ptr %26303, align 4, !tbaa !5
  %26305 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26292, ptr noundef @.str.12, i32 noundef %26293, ptr noundef @.str.225, ptr noundef @.str.8, i32 noundef 1003, ptr noundef %26296, ptr noundef %26299, ptr noundef %26302, i32 noundef %26304) #11
  br label %26306

26306:                                            ; preds = %26289, %26272
  call void @llvm.lifetime.end.p0(i64 4, ptr %527) #11
  br label %26307

26307:                                            ; preds = %26306
  br label %26308

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

26309:                                            ; No predecessors!
  br label %26310

26310:                                            ; preds = %26309
  br label %26311

26311:                                            ; preds = %26310, %26252
  br label %26312

26312:                                            ; preds = %26311
  br label %26313

26313:                                            ; preds = %26312
  br label %26314

26314:                                            ; preds = %26313
  %26315 = load i32, ptr @test_count, align 4, !tbaa !5
  %26316 = add nsw i32 %26315, 1
  store i32 %26316, ptr @test_count, align 4, !tbaa !5
  %26317 = load i32, ptr %526, align 4, !tbaa !5
  %26318 = icmp eq i32 %26317, 0
  br i1 %26318, label %26372, label %26319

26319:                                            ; preds = %26314
  br label %26320

26320:                                            ; preds = %26319
  br label %26321

26321:                                            ; preds = %26320
  call void @llvm.lifetime.start.p0(i64 4, ptr %528) #11
  %26322 = call ptr @__errno_location() #12
  %26323 = load i32, ptr %26322, align 4, !tbaa !5
  store i32 %26323, ptr %528, align 4, !tbaa !5
  %26324 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26325 = call i32 @s2n_print_stacktrace(ptr noundef %26324)
  %26326 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %26327 = trunc i8 %26326 to i1
  br i1 %26327, label %26328, label %26350

26328:                                            ; preds = %26321
  %26329 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26330 = call i32 @fileno(ptr noundef %26329) #11
  %26331 = call i32 @isatty(i32 noundef %26330) #11
  %26332 = icmp ne i32 %26331, 0
  br i1 %26332, label %26333, label %26350

26333:                                            ; preds = %26328
  %26334 = load i32, ptr %528, align 4, !tbaa !5
  %26335 = call ptr @__errno_location() #12
  store i32 %26334, ptr %26335, align 4, !tbaa !5
  %26336 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26337 = load i32, ptr @test_count, align 4, !tbaa !5
  %26338 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26339 = load i32, ptr %26338, align 4, !tbaa !5
  %26340 = call ptr @s2n_strerror(i32 noundef %26339, ptr noundef @.str.11)
  %26341 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26342 = load i32, ptr %26341, align 4, !tbaa !5
  %26343 = call ptr @s2n_strerror_debug(i32 noundef %26342, ptr noundef @.str.11)
  %26344 = call ptr @__errno_location() #12
  %26345 = load i32, ptr %26344, align 4, !tbaa !5
  %26346 = call ptr @strerror(i32 noundef %26345) #11
  %26347 = call ptr @__errno_location() #12
  %26348 = load i32, ptr %26347, align 4, !tbaa !5
  %26349 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26336, ptr noundef @.str.9, i32 noundef %26337, ptr noundef @.str.228, ptr noundef @.str.8, i32 noundef 1004, ptr noundef %26340, ptr noundef %26343, ptr noundef %26346, i32 noundef %26348) #11
  br label %26367

26350:                                            ; preds = %26328, %26321
  %26351 = load i32, ptr %528, align 4, !tbaa !5
  %26352 = call ptr @__errno_location() #12
  store i32 %26351, ptr %26352, align 4, !tbaa !5
  %26353 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26354 = load i32, ptr @test_count, align 4, !tbaa !5
  %26355 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26356 = load i32, ptr %26355, align 4, !tbaa !5
  %26357 = call ptr @s2n_strerror(i32 noundef %26356, ptr noundef @.str.11)
  %26358 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26359 = load i32, ptr %26358, align 4, !tbaa !5
  %26360 = call ptr @s2n_strerror_debug(i32 noundef %26359, ptr noundef @.str.11)
  %26361 = call ptr @__errno_location() #12
  %26362 = load i32, ptr %26361, align 4, !tbaa !5
  %26363 = call ptr @strerror(i32 noundef %26362) #11
  %26364 = call ptr @__errno_location() #12
  %26365 = load i32, ptr %26364, align 4, !tbaa !5
  %26366 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26353, ptr noundef @.str.12, i32 noundef %26354, ptr noundef @.str.228, ptr noundef @.str.8, i32 noundef 1004, ptr noundef %26357, ptr noundef %26360, ptr noundef %26363, i32 noundef %26365) #11
  br label %26367

26367:                                            ; preds = %26350, %26333
  call void @llvm.lifetime.end.p0(i64 4, ptr %528) #11
  br label %26368

26368:                                            ; preds = %26367
  br label %26369

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

26370:                                            ; No predecessors!
  br label %26371

26371:                                            ; preds = %26370
  br label %26372

26372:                                            ; preds = %26371, %26314
  br label %26373

26373:                                            ; preds = %26372
  br label %26374

26374:                                            ; preds = %26373
  br label %26375

26375:                                            ; preds = %26374
  %26376 = load i32, ptr @test_count, align 4, !tbaa !5
  %26377 = add nsw i32 %26376, 1
  store i32 %26377, ptr @test_count, align 4, !tbaa !5
  %26378 = load ptr, ptr %510, align 8, !tbaa !9
  %26379 = call i32 @s2n_connection_get_client_auth_type(ptr noundef %26378, ptr noundef %526)
  %26380 = icmp eq i32 %26379, -1
  br i1 %26380, label %26381, label %26434

26381:                                            ; preds = %26375
  br label %26382

26382:                                            ; preds = %26381
  br label %26383

26383:                                            ; preds = %26382
  call void @llvm.lifetime.start.p0(i64 4, ptr %529) #11
  %26384 = call ptr @__errno_location() #12
  %26385 = load i32, ptr %26384, align 4, !tbaa !5
  store i32 %26385, ptr %529, align 4, !tbaa !5
  %26386 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26387 = call i32 @s2n_print_stacktrace(ptr noundef %26386)
  %26388 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %26389 = trunc i8 %26388 to i1
  br i1 %26389, label %26390, label %26412

26390:                                            ; preds = %26383
  %26391 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26392 = call i32 @fileno(ptr noundef %26391) #11
  %26393 = call i32 @isatty(i32 noundef %26392) #11
  %26394 = icmp ne i32 %26393, 0
  br i1 %26394, label %26395, label %26412

26395:                                            ; preds = %26390
  %26396 = load i32, ptr %529, align 4, !tbaa !5
  %26397 = call ptr @__errno_location() #12
  store i32 %26396, ptr %26397, align 4, !tbaa !5
  %26398 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26399 = load i32, ptr @test_count, align 4, !tbaa !5
  %26400 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26401 = load i32, ptr %26400, align 4, !tbaa !5
  %26402 = call ptr @s2n_strerror(i32 noundef %26401, ptr noundef @.str.11)
  %26403 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26404 = load i32, ptr %26403, align 4, !tbaa !5
  %26405 = call ptr @s2n_strerror_debug(i32 noundef %26404, ptr noundef @.str.11)
  %26406 = call ptr @__errno_location() #12
  %26407 = load i32, ptr %26406, align 4, !tbaa !5
  %26408 = call ptr @strerror(i32 noundef %26407) #11
  %26409 = call ptr @__errno_location() #12
  %26410 = load i32, ptr %26409, align 4, !tbaa !5
  %26411 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26398, ptr noundef @.str.9, i32 noundef %26399, ptr noundef @.str.227, ptr noundef @.str.8, i32 noundef 1005, ptr noundef %26402, ptr noundef %26405, ptr noundef %26408, i32 noundef %26410) #11
  br label %26429

26412:                                            ; preds = %26390, %26383
  %26413 = load i32, ptr %529, align 4, !tbaa !5
  %26414 = call ptr @__errno_location() #12
  store i32 %26413, ptr %26414, align 4, !tbaa !5
  %26415 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26416 = load i32, ptr @test_count, align 4, !tbaa !5
  %26417 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26418 = load i32, ptr %26417, align 4, !tbaa !5
  %26419 = call ptr @s2n_strerror(i32 noundef %26418, ptr noundef @.str.11)
  %26420 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26421 = load i32, ptr %26420, align 4, !tbaa !5
  %26422 = call ptr @s2n_strerror_debug(i32 noundef %26421, ptr noundef @.str.11)
  %26423 = call ptr @__errno_location() #12
  %26424 = load i32, ptr %26423, align 4, !tbaa !5
  %26425 = call ptr @strerror(i32 noundef %26424) #11
  %26426 = call ptr @__errno_location() #12
  %26427 = load i32, ptr %26426, align 4, !tbaa !5
  %26428 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26415, ptr noundef @.str.12, i32 noundef %26416, ptr noundef @.str.227, ptr noundef @.str.8, i32 noundef 1005, ptr noundef %26419, ptr noundef %26422, ptr noundef %26425, i32 noundef %26427) #11
  br label %26429

26429:                                            ; preds = %26412, %26395
  call void @llvm.lifetime.end.p0(i64 4, ptr %529) #11
  br label %26430

26430:                                            ; preds = %26429
  br label %26431

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

26432:                                            ; No predecessors!
  br label %26433

26433:                                            ; preds = %26432
  br label %26434

26434:                                            ; preds = %26433, %26375
  br label %26435

26435:                                            ; preds = %26434
  br label %26436

26436:                                            ; preds = %26435
  br label %26437

26437:                                            ; preds = %26436
  %26438 = load i32, ptr @test_count, align 4, !tbaa !5
  %26439 = add nsw i32 %26438, 1
  store i32 %26439, ptr @test_count, align 4, !tbaa !5
  %26440 = load i32, ptr %526, align 4, !tbaa !5
  %26441 = icmp eq i32 %26440, 2
  br i1 %26441, label %26495, label %26442

26442:                                            ; preds = %26437
  br label %26443

26443:                                            ; preds = %26442
  br label %26444

26444:                                            ; preds = %26443
  call void @llvm.lifetime.start.p0(i64 4, ptr %530) #11
  %26445 = call ptr @__errno_location() #12
  %26446 = load i32, ptr %26445, align 4, !tbaa !5
  store i32 %26446, ptr %530, align 4, !tbaa !5
  %26447 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26448 = call i32 @s2n_print_stacktrace(ptr noundef %26447)
  %26449 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %26450 = trunc i8 %26449 to i1
  br i1 %26450, label %26451, label %26473

26451:                                            ; preds = %26444
  %26452 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26453 = call i32 @fileno(ptr noundef %26452) #11
  %26454 = call i32 @isatty(i32 noundef %26453) #11
  %26455 = icmp ne i32 %26454, 0
  br i1 %26455, label %26456, label %26473

26456:                                            ; preds = %26451
  %26457 = load i32, ptr %530, align 4, !tbaa !5
  %26458 = call ptr @__errno_location() #12
  store i32 %26457, ptr %26458, align 4, !tbaa !5
  %26459 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26460 = load i32, ptr @test_count, align 4, !tbaa !5
  %26461 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26462 = load i32, ptr %26461, align 4, !tbaa !5
  %26463 = call ptr @s2n_strerror(i32 noundef %26462, ptr noundef @.str.11)
  %26464 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26465 = load i32, ptr %26464, align 4, !tbaa !5
  %26466 = call ptr @s2n_strerror_debug(i32 noundef %26465, ptr noundef @.str.11)
  %26467 = call ptr @__errno_location() #12
  %26468 = load i32, ptr %26467, align 4, !tbaa !5
  %26469 = call ptr @strerror(i32 noundef %26468) #11
  %26470 = call ptr @__errno_location() #12
  %26471 = load i32, ptr %26470, align 4, !tbaa !5
  %26472 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26459, ptr noundef @.str.9, i32 noundef %26460, ptr noundef @.str.226, ptr noundef @.str.8, i32 noundef 1006, ptr noundef %26463, ptr noundef %26466, ptr noundef %26469, i32 noundef %26471) #11
  br label %26490

26473:                                            ; preds = %26451, %26444
  %26474 = load i32, ptr %530, align 4, !tbaa !5
  %26475 = call ptr @__errno_location() #12
  store i32 %26474, ptr %26475, align 4, !tbaa !5
  %26476 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26477 = load i32, ptr @test_count, align 4, !tbaa !5
  %26478 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26479 = load i32, ptr %26478, align 4, !tbaa !5
  %26480 = call ptr @s2n_strerror(i32 noundef %26479, ptr noundef @.str.11)
  %26481 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26482 = load i32, ptr %26481, align 4, !tbaa !5
  %26483 = call ptr @s2n_strerror_debug(i32 noundef %26482, ptr noundef @.str.11)
  %26484 = call ptr @__errno_location() #12
  %26485 = load i32, ptr %26484, align 4, !tbaa !5
  %26486 = call ptr @strerror(i32 noundef %26485) #11
  %26487 = call ptr @__errno_location() #12
  %26488 = load i32, ptr %26487, align 4, !tbaa !5
  %26489 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26476, ptr noundef @.str.12, i32 noundef %26477, ptr noundef @.str.226, ptr noundef @.str.8, i32 noundef 1006, ptr noundef %26480, ptr noundef %26483, ptr noundef %26486, i32 noundef %26488) #11
  br label %26490

26490:                                            ; preds = %26473, %26456
  call void @llvm.lifetime.end.p0(i64 4, ptr %530) #11
  br label %26491

26491:                                            ; preds = %26490
  br label %26492

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

26493:                                            ; No predecessors!
  br label %26494

26494:                                            ; preds = %26493
  br label %26495

26495:                                            ; preds = %26494, %26437
  br label %26496

26496:                                            ; preds = %26495
  br label %26497

26497:                                            ; preds = %26496
  call void @llvm.lifetime.end.p0(i64 4, ptr %526) #11
  %26498 = call i32 @s2n_connection_ptr_free(ptr noundef %510)
  %26499 = getelementptr inbounds %struct.s2n_result, ptr %531, i32 0, i32 0
  store i32 %26498, ptr %26499, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %510) #11
  %26500 = call i32 @s2n_connection_ptr_free(ptr noundef %507)
  %26501 = getelementptr inbounds %struct.s2n_result, ptr %532, i32 0, i32 0
  store i32 %26500, ptr %26501, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %507) #11
  %26502 = call i32 @s2n_config_ptr_free(ptr noundef %506)
  %26503 = getelementptr inbounds %struct.s2n_result, ptr %533, i32 0, i32 0
  store i32 %26502, ptr %26503, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %506) #11
  br label %26504

26504:                                            ; preds = %26497
  %26505 = load i32, ptr @test_count, align 4, !tbaa !5
  %26506 = add nsw i32 %26505, 1
  store i32 %26506, ptr @test_count, align 4, !tbaa !5
  %26507 = load ptr, ptr %9, align 8, !tbaa !9
  %26508 = call i32 @s2n_cert_chain_and_key_free(ptr noundef %26507)
  %26509 = icmp eq i32 %26508, -1
  br i1 %26509, label %26510, label %26563

26510:                                            ; preds = %26504
  br label %26511

26511:                                            ; preds = %26510
  br label %26512

26512:                                            ; preds = %26511
  call void @llvm.lifetime.start.p0(i64 4, ptr %534) #11
  %26513 = call ptr @__errno_location() #12
  %26514 = load i32, ptr %26513, align 4, !tbaa !5
  store i32 %26514, ptr %534, align 4, !tbaa !5
  %26515 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26516 = call i32 @s2n_print_stacktrace(ptr noundef %26515)
  %26517 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %26518 = trunc i8 %26517 to i1
  br i1 %26518, label %26519, label %26541

26519:                                            ; preds = %26512
  %26520 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26521 = call i32 @fileno(ptr noundef %26520) #11
  %26522 = call i32 @isatty(i32 noundef %26521) #11
  %26523 = icmp ne i32 %26522, 0
  br i1 %26523, label %26524, label %26541

26524:                                            ; preds = %26519
  %26525 = load i32, ptr %534, align 4, !tbaa !5
  %26526 = call ptr @__errno_location() #12
  store i32 %26525, ptr %26526, align 4, !tbaa !5
  %26527 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26528 = load i32, ptr @test_count, align 4, !tbaa !5
  %26529 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26530 = load i32, ptr %26529, align 4, !tbaa !5
  %26531 = call ptr @s2n_strerror(i32 noundef %26530, ptr noundef @.str.11)
  %26532 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26533 = load i32, ptr %26532, align 4, !tbaa !5
  %26534 = call ptr @s2n_strerror_debug(i32 noundef %26533, ptr noundef @.str.11)
  %26535 = call ptr @__errno_location() #12
  %26536 = load i32, ptr %26535, align 4, !tbaa !5
  %26537 = call ptr @strerror(i32 noundef %26536) #11
  %26538 = call ptr @__errno_location() #12
  %26539 = load i32, ptr %26538, align 4, !tbaa !5
  %26540 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26527, ptr noundef @.str.9, i32 noundef %26528, ptr noundef @.str.232, ptr noundef @.str.8, i32 noundef 1010, ptr noundef %26531, ptr noundef %26534, ptr noundef %26537, i32 noundef %26539) #11
  br label %26558

26541:                                            ; preds = %26519, %26512
  %26542 = load i32, ptr %534, align 4, !tbaa !5
  %26543 = call ptr @__errno_location() #12
  store i32 %26542, ptr %26543, align 4, !tbaa !5
  %26544 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26545 = load i32, ptr @test_count, align 4, !tbaa !5
  %26546 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26547 = load i32, ptr %26546, align 4, !tbaa !5
  %26548 = call ptr @s2n_strerror(i32 noundef %26547, ptr noundef @.str.11)
  %26549 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26550 = load i32, ptr %26549, align 4, !tbaa !5
  %26551 = call ptr @s2n_strerror_debug(i32 noundef %26550, ptr noundef @.str.11)
  %26552 = call ptr @__errno_location() #12
  %26553 = load i32, ptr %26552, align 4, !tbaa !5
  %26554 = call ptr @strerror(i32 noundef %26553) #11
  %26555 = call ptr @__errno_location() #12
  %26556 = load i32, ptr %26555, align 4, !tbaa !5
  %26557 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26544, ptr noundef @.str.12, i32 noundef %26545, ptr noundef @.str.232, ptr noundef @.str.8, i32 noundef 1010, ptr noundef %26548, ptr noundef %26551, ptr noundef %26554, i32 noundef %26556) #11
  br label %26558

26558:                                            ; preds = %26541, %26524
  call void @llvm.lifetime.end.p0(i64 4, ptr %534) #11
  br label %26559

26559:                                            ; preds = %26558
  br label %26560

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

26561:                                            ; No predecessors!
  br label %26562

26562:                                            ; preds = %26561
  br label %26563

26563:                                            ; preds = %26562, %26504
  br label %26564

26564:                                            ; preds = %26563
  br label %26565

26565:                                            ; preds = %26564
  br label %26566

26566:                                            ; preds = %26565
  %26567 = load i32, ptr @test_count, align 4, !tbaa !5
  %26568 = add nsw i32 %26567, 1
  store i32 %26568, ptr @test_count, align 4, !tbaa !5
  %26569 = load ptr, ptr %11, align 8, !tbaa !9
  %26570 = call i32 @s2n_cert_chain_and_key_free(ptr noundef %26569)
  %26571 = icmp eq i32 %26570, -1
  br i1 %26571, label %26572, label %26625

26572:                                            ; preds = %26566
  br label %26573

26573:                                            ; preds = %26572
  br label %26574

26574:                                            ; preds = %26573
  call void @llvm.lifetime.start.p0(i64 4, ptr %535) #11
  %26575 = call ptr @__errno_location() #12
  %26576 = load i32, ptr %26575, align 4, !tbaa !5
  store i32 %26576, ptr %535, align 4, !tbaa !5
  %26577 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26578 = call i32 @s2n_print_stacktrace(ptr noundef %26577)
  %26579 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %26580 = trunc i8 %26579 to i1
  br i1 %26580, label %26581, label %26603

26581:                                            ; preds = %26574
  %26582 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26583 = call i32 @fileno(ptr noundef %26582) #11
  %26584 = call i32 @isatty(i32 noundef %26583) #11
  %26585 = icmp ne i32 %26584, 0
  br i1 %26585, label %26586, label %26603

26586:                                            ; preds = %26581
  %26587 = load i32, ptr %535, align 4, !tbaa !5
  %26588 = call ptr @__errno_location() #12
  store i32 %26587, ptr %26588, align 4, !tbaa !5
  %26589 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26590 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %26592, ptr noundef @.str.11)
  %26594 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26595 = load i32, ptr %26594, align 4, !tbaa !5
  %26596 = call ptr @s2n_strerror_debug(i32 noundef %26595, ptr noundef @.str.11)
  %26597 = call ptr @__errno_location() #12
  %26598 = load i32, ptr %26597, align 4, !tbaa !5
  %26599 = call ptr @strerror(i32 noundef %26598) #11
  %26600 = call ptr @__errno_location() #12
  %26601 = load i32, ptr %26600, align 4, !tbaa !5
  %26602 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26589, ptr noundef @.str.9, i32 noundef %26590, ptr noundef @.str.233, ptr noundef @.str.8, i32 noundef 1011, ptr noundef %26593, ptr noundef %26596, ptr noundef %26599, i32 noundef %26601) #11
  br label %26620

26603:                                            ; preds = %26581, %26574
  %26604 = load i32, ptr %535, align 4, !tbaa !5
  %26605 = call ptr @__errno_location() #12
  store i32 %26604, ptr %26605, align 4, !tbaa !5
  %26606 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26607 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %26609, ptr noundef @.str.11)
  %26611 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26612 = load i32, ptr %26611, align 4, !tbaa !5
  %26613 = call ptr @s2n_strerror_debug(i32 noundef %26612, ptr noundef @.str.11)
  %26614 = call ptr @__errno_location() #12
  %26615 = load i32, ptr %26614, align 4, !tbaa !5
  %26616 = call ptr @strerror(i32 noundef %26615) #11
  %26617 = call ptr @__errno_location() #12
  %26618 = load i32, ptr %26617, align 4, !tbaa !5
  %26619 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26606, ptr noundef @.str.12, i32 noundef %26607, ptr noundef @.str.233, ptr noundef @.str.8, i32 noundef 1011, ptr noundef %26610, ptr noundef %26613, ptr noundef %26616, i32 noundef %26618) #11
  br label %26620

26620:                                            ; preds = %26603, %26586
  call void @llvm.lifetime.end.p0(i64 4, ptr %535) #11
  br label %26621

26621:                                            ; preds = %26620
  br label %26622

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

26623:                                            ; No predecessors!
  br label %26624

26624:                                            ; preds = %26623
  br label %26625

26625:                                            ; preds = %26624, %26566
  br label %26626

26626:                                            ; preds = %26625
  br label %26627

26627:                                            ; preds = %26626
  br label %26628

26628:                                            ; preds = %26627
  br label %26629

26629:                                            ; preds = %26628
  %26630 = call i32 @s2n_cleanup()
  %26631 = icmp eq i32 %26630, -1
  br i1 %26631, label %26632, label %26685

26632:                                            ; preds = %26629
  br label %26633

26633:                                            ; preds = %26632
  br label %26634

26634:                                            ; preds = %26633
  call void @llvm.lifetime.start.p0(i64 4, ptr %536) #11
  %26635 = call ptr @__errno_location() #12
  %26636 = load i32, ptr %26635, align 4, !tbaa !5
  store i32 %26636, ptr %536, align 4, !tbaa !5
  %26637 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26638 = call i32 @s2n_print_stacktrace(ptr noundef %26637)
  %26639 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %26640 = trunc i8 %26639 to i1
  br i1 %26640, label %26641, label %26663

26641:                                            ; preds = %26634
  %26642 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26643 = call i32 @fileno(ptr noundef %26642) #11
  %26644 = call i32 @isatty(i32 noundef %26643) #11
  %26645 = icmp ne i32 %26644, 0
  br i1 %26645, label %26646, label %26663

26646:                                            ; preds = %26641
  %26647 = load i32, ptr %536, align 4, !tbaa !5
  %26648 = call ptr @__errno_location() #12
  store i32 %26647, ptr %26648, align 4, !tbaa !5
  %26649 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26650 = load i32, ptr @test_count, align 4, !tbaa !5
  %26651 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26652 = load i32, ptr %26651, align 4, !tbaa !5
  %26653 = call ptr @s2n_strerror(i32 noundef %26652, ptr noundef @.str.11)
  %26654 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26655 = load i32, ptr %26654, align 4, !tbaa !5
  %26656 = call ptr @s2n_strerror_debug(i32 noundef %26655, ptr noundef @.str.11)
  %26657 = call ptr @__errno_location() #12
  %26658 = load i32, ptr %26657, align 4, !tbaa !5
  %26659 = call ptr @strerror(i32 noundef %26658) #11
  %26660 = call ptr @__errno_location() #12
  %26661 = load i32, ptr %26660, align 4, !tbaa !5
  %26662 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26649, ptr noundef @.str.9, i32 noundef %26650, ptr noundef @.str.234, ptr noundef @.str.8, i32 noundef 1012, ptr noundef %26653, ptr noundef %26656, ptr noundef %26659, i32 noundef %26661) #11
  br label %26680

26663:                                            ; preds = %26641, %26634
  %26664 = load i32, ptr %536, align 4, !tbaa !5
  %26665 = call ptr @__errno_location() #12
  store i32 %26664, ptr %26665, align 4, !tbaa !5
  %26666 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26667 = load i32, ptr @test_count, align 4, !tbaa !5
  %26668 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26669 = load i32, ptr %26668, align 4, !tbaa !5
  %26670 = call ptr @s2n_strerror(i32 noundef %26669, ptr noundef @.str.11)
  %26671 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26672 = load i32, ptr %26671, align 4, !tbaa !5
  %26673 = call ptr @s2n_strerror_debug(i32 noundef %26672, ptr noundef @.str.11)
  %26674 = call ptr @__errno_location() #12
  %26675 = load i32, ptr %26674, align 4, !tbaa !5
  %26676 = call ptr @strerror(i32 noundef %26675) #11
  %26677 = call ptr @__errno_location() #12
  %26678 = load i32, ptr %26677, align 4, !tbaa !5
  %26679 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26666, ptr noundef @.str.12, i32 noundef %26667, ptr noundef @.str.234, ptr noundef @.str.8, i32 noundef 1012, ptr noundef %26670, ptr noundef %26673, ptr noundef %26676, i32 noundef %26678) #11
  br label %26680

26680:                                            ; preds = %26663, %26646
  call void @llvm.lifetime.end.p0(i64 4, ptr %536) #11
  br label %26681

26681:                                            ; preds = %26680
  br label %26682

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

26683:                                            ; No predecessors!
  br label %26684

26684:                                            ; preds = %26683
  br label %26685

26685:                                            ; preds = %26684, %26629
  br label %26686

26686:                                            ; preds = %26685
  br label %26687

26687:                                            ; preds = %26686
  br label %26688

26688:                                            ; preds = %26687
  br label %26689

26689:                                            ; preds = %26688
  %26690 = call i32 @s2n_in_unit_test_set(i1 noundef zeroext false)
  %26691 = icmp eq i32 %26690, -1
  br i1 %26691, label %26692, label %26745

26692:                                            ; preds = %26689
  br label %26693

26693:                                            ; preds = %26692
  br label %26694

26694:                                            ; preds = %26693
  call void @llvm.lifetime.start.p0(i64 4, ptr %537) #11
  %26695 = call ptr @__errno_location() #12
  %26696 = load i32, ptr %26695, align 4, !tbaa !5
  store i32 %26696, ptr %537, align 4, !tbaa !5
  %26697 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26698 = call i32 @s2n_print_stacktrace(ptr noundef %26697)
  %26699 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %26700 = trunc i8 %26699 to i1
  br i1 %26700, label %26701, label %26723

26701:                                            ; preds = %26694
  %26702 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26703 = call i32 @fileno(ptr noundef %26702) #11
  %26704 = call i32 @isatty(i32 noundef %26703) #11
  %26705 = icmp ne i32 %26704, 0
  br i1 %26705, label %26706, label %26723

26706:                                            ; preds = %26701
  %26707 = load i32, ptr %537, align 4, !tbaa !5
  %26708 = call ptr @__errno_location() #12
  store i32 %26707, ptr %26708, align 4, !tbaa !5
  %26709 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26710 = load i32, ptr @test_count, align 4, !tbaa !5
  %26711 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26712 = load i32, ptr %26711, align 4, !tbaa !5
  %26713 = call ptr @s2n_strerror(i32 noundef %26712, ptr noundef @.str.11)
  %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_debug(i32 noundef %26715, ptr noundef @.str.11)
  %26717 = call ptr @__errno_location() #12
  %26718 = load i32, ptr %26717, align 4, !tbaa !5
  %26719 = call ptr @strerror(i32 noundef %26718) #11
  %26720 = call ptr @__errno_location() #12
  %26721 = load i32, ptr %26720, align 4, !tbaa !5
  %26722 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26709, ptr noundef @.str.9, i32 noundef %26710, ptr noundef @.str.235, ptr noundef @.str.8, i32 noundef 1012, ptr noundef %26713, ptr noundef %26716, ptr noundef %26719, i32 noundef %26721) #11
  br label %26740

26723:                                            ; preds = %26701, %26694
  %26724 = load i32, ptr %537, align 4, !tbaa !5
  %26725 = call ptr @__errno_location() #12
  store i32 %26724, ptr %26725, align 4, !tbaa !5
  %26726 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26727 = load i32, ptr @test_count, align 4, !tbaa !5
  %26728 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26729 = load i32, ptr %26728, align 4, !tbaa !5
  %26730 = call ptr @s2n_strerror(i32 noundef %26729, ptr noundef @.str.11)
  %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_debug(i32 noundef %26732, ptr noundef @.str.11)
  %26734 = call ptr @__errno_location() #12
  %26735 = load i32, ptr %26734, align 4, !tbaa !5
  %26736 = call ptr @strerror(i32 noundef %26735) #11
  %26737 = call ptr @__errno_location() #12
  %26738 = load i32, ptr %26737, align 4, !tbaa !5
  %26739 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26726, ptr noundef @.str.12, i32 noundef %26727, ptr noundef @.str.235, ptr noundef @.str.8, i32 noundef 1012, ptr noundef %26730, ptr noundef %26733, ptr noundef %26736, i32 noundef %26738) #11
  br label %26740

26740:                                            ; preds = %26723, %26706
  call void @llvm.lifetime.end.p0(i64 4, ptr %537) #11
  br label %26741

26741:                                            ; preds = %26740
  br label %26742

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

26743:                                            ; No predecessors!
  br label %26744

26744:                                            ; preds = %26743
  br label %26745

26745:                                            ; preds = %26744, %26689
  br label %26746

26746:                                            ; preds = %26745
  br label %26747

26747:                                            ; preds = %26746
  %26748 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %26749 = trunc i8 %26748 to i1
  br i1 %26749, label %26750, label %26766

26750:                                            ; preds = %26747
  %26751 = load ptr, ptr @stdout, align 8, !tbaa !9
  %26752 = call i32 @fileno(ptr noundef %26751) #11
  %26753 = call i32 @isatty(i32 noundef %26752) #11
  %26754 = icmp ne i32 %26753, 0
  br i1 %26754, label %26755, label %26766

26755:                                            ; preds = %26750
  %26756 = load i32, ptr @test_count, align 4, !tbaa !5
  %26757 = icmp ne i32 %26756, 0
  br i1 %26757, label %26758, label %26762

26758:                                            ; preds = %26755
  %26759 = load ptr, ptr @stdout, align 8, !tbaa !9
  %26760 = load i32, ptr @test_count, align 4, !tbaa !5
  %26761 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26759, ptr noundef @.str.236, i32 noundef %26760) #11
  br label %26765

26762:                                            ; preds = %26755
  %26763 = load ptr, ptr @stdout, align 8, !tbaa !9
  %26764 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26763, ptr noundef @.str.237) #11
  br label %26765

26765:                                            ; preds = %26762, %26758
  br label %26777

26766:                                            ; preds = %26750, %26747
  %26767 = load i32, ptr @test_count, align 4, !tbaa !5
  %26768 = icmp ne i32 %26767, 0
  br i1 %26768, label %26769, label %26773

26769:                                            ; preds = %26766
  %26770 = load ptr, ptr @stdout, align 8, !tbaa !9
  %26771 = load i32, ptr @test_count, align 4, !tbaa !5
  %26772 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26770, ptr noundef @.str.238, i32 noundef %26771) #11
  br label %26776

26773:                                            ; preds = %26766
  %26774 = load ptr, ptr @stdout, align 8, !tbaa !9
  %26775 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26774, ptr noundef @.str.239) #11
  br label %26776

26776:                                            ; preds = %26773, %26769
  br label %26777

26777:                                            ; preds = %26776, %26765
  store i32 0, ptr %3, align 4
  store i32 1, ptr %340, align 4
  br label %26782

26778:                                            ; No predecessors!
  br label %26779

26779:                                            ; preds = %26778
  br label %26780

26780:                                            ; preds = %26779
  br label %26781

26781:                                            ; preds = %26780
  store i32 0, ptr %340, align 4
  br label %26782

26782:                                            ; preds = %26781, %26777, %17480
  call void @llvm.lifetime.end.p0(i64 8, ptr %11) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %9) #11
  %26783 = load i32, ptr %340, align 4
  switch i32 %26783, label %26786 [
    i32 0, label %26784
    i32 1, label %26784
  ]

26784:                                            ; preds = %26782, %26782
  %26785 = load i32, ptr %3, align 4
  ret i32 %26785

26786:                                            ; preds = %26782
  unreachable
}

; Function Attrs: nounwind
declare i32 @fprintf(ptr noundef, ptr noundef, ...) #6

declare i32 @fflush(ptr noundef) #2

declare i32 @s2n_in_unit_test_set(i1 noundef zeroext) #2

; Function Attrs: nounwind willreturn memory(none)
declare ptr @__errno_location() #7

declare i32 @s2n_print_stacktrace(ptr noundef) #2

; Function Attrs: nounwind
declare i32 @isatty(i32 noundef) #6

; Function Attrs: nounwind
declare i32 @fileno(ptr noundef) #6

declare ptr @s2n_strerror(i32 noundef, ptr noundef) #2

declare ptr @s2n_strerror_debug(i32 noundef, ptr noundef) #2

; Function Attrs: nounwind
declare ptr @strerror(i32 noundef) #6

; Function Attrs: noreturn nounwind
declare void @exit(i32 noundef) #8

declare i32 @s2n_enable_atexit() #2

declare i32 @s2n_init() #2

declare i32 @s2n_test_cert_chain_and_key_new(ptr noundef, ptr noundef, ptr noundef) #2

declare ptr @s2n_get_server_name(ptr noundef) #2

declare ptr @s2n_connection_new(i32 noundef) #2

declare i32 @s2n_connection_free(ptr noundef) #2

declare i32 @s2n_set_server_name(ptr noundef, ptr noundef) #2

; Function Attrs: nounwind willreturn memory(read)
declare i32 @strcmp(ptr noundef, ptr noundef) #1

declare i32 @s2n_stuffer_free(ptr noundef) #2

declare i32 @s2n_stuffer_growable_alloc(ptr noundef, i32 noundef) #2

declare i32 @s2n_extension_supported_iana_value_to_id(i16 noundef zeroext, ptr noundef) #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) #9

declare ptr @s2n_config_new() #2

declare i32 @s2n_config_set_client_hello_cb(ptr noundef, ptr noundef, ptr noundef) #2

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

declare i32 @s2n_connection_set_config(ptr noundef, ptr noundef) #2

declare i32 @s2n_client_hello_send(ptr noundef) #2

declare i32 @s2n_stuffer_copy(ptr noundef, ptr noundef, i32 noundef) #2

declare i32 @s2n_client_hello_recv(ptr noundef) #2

declare i32 @s2n_config_free(ptr noundef) #2

; Function Attrs: nounwind uwtable
declare hidden i32 @s2n_set_test_protocol_versions(ptr noundef) #3

declare zeroext i8 @s2n_connection_get_protocol_version(ptr noundef) #2

declare void @s2n_debug_info_reset() #2

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

declare zeroext i1 @s2n_is_tls13_fully_supported(...) #2

declare i32 @s2n_config_set_unsafe_for_testing(ptr noundef) #2

declare i32 @s2n_config_set_client_auth_type(ptr noundef, i32 noundef) #2

declare i32 @s2n_config_add_cert_chain_and_key_to_store(ptr noundef, ptr noundef) #2

declare i32 @s2n_config_set_cipher_preferences(ptr noundef, ptr noundef) #2

declare i32 @s2n_io_pair_init_non_blocking(ptr noundef) #2

declare i32 @s2n_connection_set_io_pair(ptr noundef, ptr noundef) #2

declare i32 @s2n_negotiate_test_server_and_client(ptr noundef, ptr noundef) #2

declare i32 @s2n_io_pair_close(ptr noundef) #2

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

declare i32 @s2n_connection_set_max_fragment_length(ptr noundef, i16 noundef zeroext) #2

declare i32 @s2n_realloc(ptr noundef, i32 noundef) #2

declare i32 @s2n_free(ptr noundef) #2

declare i32 @s2n_connection_set_fd(ptr noundef, i32 noundef) #2

declare i32 @s2n_connection_set_read_fd(ptr noundef, i32 noundef) #2

declare i32 @s2n_connection_set_write_fd(ptr noundef, i32 noundef) #2

declare i32 @s2n_connection_get_write_fd(ptr noundef, ptr noundef) #2

declare i32 @s2n_connection_get_read_fd(ptr noundef, ptr noundef) #2

declare i32 @s2n_connection_wipe(ptr noundef) #2

declare i32 @s2n_connection_set_send_cb(ptr noundef, ptr noundef) #2

declare i32 @s2n_connection_set_send_ctx(ptr noundef, ptr noundef) #2

declare i32 @s2n_connection_set_recv_cb(ptr noundef, ptr noundef) #2

declare i32 @s2n_connection_set_recv_ctx(ptr noundef, ptr noundef) #2

declare i32 @s2n_connection_get_config(ptr noundef, ptr noundef) #2

declare i32 @s2n_config_ptr_free(ptr noundef) #2

declare i32 @s2n_connection_ptr_free(ptr noundef) #2

declare i32 @s2n_cert_chain_and_key_ptr_free(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_find_security_policy_from_version(ptr noundef, ptr noundef) #2

declare i64 @s2n_connection_get_wire_bytes_out(ptr noundef) #2

declare i32 @s2n_connections_set_io_pair(ptr noundef, ptr noundef, ptr noundef) #2

declare i32 @s2n_connection_free_handshake(ptr noundef) #2

declare i64 @s2n_send(ptr noundef, ptr noundef, i64 noundef, ptr noundef) #2

declare i64 @s2n_recv(ptr noundef, ptr noundef, i64 noundef, ptr noundef) #2

declare i32 @s2n_connection_release_buffers(ptr noundef) #2

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

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

declare i32 @s2n_stuffer_write_uint8(ptr noundef, i8 noundef zeroext) #2

declare zeroext i1 @s2n_connection_check_io_status(ptr noundef, i32 noundef) #2

declare void @s2n_atomic_flag_set(ptr noundef) #2

declare void @s2n_atomic_flag_clear(ptr noundef) #2

declare i32 @s2n_connection_get_key_update_counts(ptr noundef, ptr noundef, ptr noundef) #2

declare i32 @s2n_connection_get_client_auth_type(ptr noundef, ptr noundef) #2

declare i32 @s2n_connection_set_client_auth_type(ptr noundef, i32 noundef) #2

declare i32 @s2n_cert_chain_and_key_free(ptr noundef) #2

declare i32 @s2n_cleanup() #2

attributes #0 = { nocallback nofree nosync nounwind speculatable willreturn memory(none) }
attributes #1 = { 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 #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 = { 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 #4 = { nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) }
attributes #5 = { inlinehint nounwind uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #6 = { 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 = { nounwind willreturn memory(none) "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #8 = { 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 #9 = { nocallback nofree nounwind willreturn memory(argmem: readwrite) }
attributes #10 = { nocallback nofree nounwind willreturn memory(argmem: write) }
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 8}
!16 = !{!"", !17, i64 0, !6, i64 2, !17, i64 4, !10, i64 8, !10, i64 16, !10, i64 24, !10, i64 32}
!17 = !{!"short", !7, i64 0}
!18 = !{!7, !7, i64 0}
!19 = !{!20, !17, i64 24}
!20 = !{!"", !21, i64 0, !17, i64 24, !17, i64 26, !6, i64 28}
!21 = !{!"s2n_blob", !10, i64 0, !6, i64 8, !6, i64 12, !6, i64 16}
!22 = !{i64 0, i64 8, !9, i64 8, i64 4, !5, i64 12, i64 4, !5, i64 16, i64 1, !18}
!23 = !{!24, !6, i64 2044}
!24 = !{!"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, !25, i64 160, !26, i64 168, !26, 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, !27, i64 240, !10, i64 632, !10, i64 640, !28, i64 648, !33, i64 1144, !36, i64 1688, !10, i64 1752, !7, i64 1760, !6, i64 1764, !7, i64 1768, !38, i64 1776, !38, i64 1816, !38, i64 1856, !38, i64 1896, !6, i64 1936, !26, i64 1944, !7, i64 1952, !38, i64 1960, !7, i64 2000, !7, i64 2001, !7, i64 2002, !12, i64 2003, !39, i64 2004, !39, i64 2008, !40, i64 2016, !17, i64 2208, !6, i64 2212, !17, i64 2216, !26, i64 2224, !7, i64 2232, !26, i64 2240, !26, i64 2248, !26, i64 2256, !39, i64 2264, !39, i64 2268, !7, i64 2272, !7, i64 2528, !6, i64 2784, !21, i64 2792, !6, i64 2816, !21, i64 2824, !21, i64 2848, !21, i64 2872, !42, i64 2896, !44, i64 3704, !10, i64 3760, !10, i64 3768, !7, i64 3776, !6, i64 3780, !21, i64 3784, !6, i64 3808, !46, i64 3816, !7, i64 3848, !38, i64 3992, !21, i64 4032, !21, i64 4056, !12, i64 4080, !12, i64 4081, !12, i64 4082, !17, i64 4084, !17, i64 4086, !6, i64 4088, !6, i64 4092, !21, i64 4096, !6, i64 4120, !47, i64 4128, !39, i64 4176, !7, i64 4180, !7, i64 4181}
!25 = !{!"s2n_timer", !26, i64 0}
!26 = !{!"long", !7, i64 0}
!27 = !{!"s2n_secrets", !7, i64 0, !6, i64 388}
!28 = !{!"s2n_kex_parameters", !29, i64 0, !30, i64 8, !7, i64 24, !30, i64 56, !31, i64 72, !31, i64 184, !7, i64 296, !32, i64 360, !21, i64 448, !21, i64 472}
!29 = !{!"s2n_dh_params", !10, i64 0}
!30 = !{!"s2n_ecc_evp_params", !10, i64 0, !10, i64 8}
!31 = !{!"s2n_kem_group_params", !10, i64 0, !32, i64 8, !30, i64 96}
!32 = !{!"s2n_kem_params", !10, i64 0, !21, i64 8, !21, i64 32, !21, i64 56, !12, i64 80}
!33 = !{!"s2n_handshake_parameters", !34, i64 0, !34, i64 48, !21, i64 96, !6, i64 120, !35, 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}
!34 = !{!"s2n_pkey", !10, i64 0, !10, i64 8, !10, i64 16, !10, i64 24, !10, i64 32, !10, i64 40}
!35 = !{!"s2n_sig_scheme_list", !7, i64 0, !7, i64 256}
!36 = !{!"s2n_psk_parameters", !6, i64 0, !37, i64 8, !17, i64 40, !17, i64 42, !10, i64 48, !6, i64 56}
!37 = !{!"s2n_array", !21, i64 0, !6, i64 24, !6, i64 28}
!38 = !{!"s2n_stuffer", !21, i64 0, !6, i64 24, !6, i64 28, !6, i64 32, !6, i64 36, !6, i64 36, !6, i64 36}
!39 = !{!"", !6, i64 0}
!40 = !{!"s2n_handshake", !38, 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, !41, i64 176, !6, i64 184, !6, i64 184, !6, i64 184, !6, i64 184, !6, i64 188}
!41 = !{!"s2n_offered_early_data", !10, i64 0}
!42 = !{!"s2n_client_hello", !21, i64 0, !43, i64 24, !21, i64 728, !21, i64 752, !21, 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}
!43 = !{!"", !7, i64 0, !21, i64 672, !17, i64 696}
!44 = !{!"s2n_x509_validator", !10, i64 0, !10, i64 8, !7, i64 16, !7, i64 17, !17, i64 18, !10, i64 24, !6, i64 32, !10, i64 40, !45, i64 48, !12, i64 52}
!45 = !{!"s2n_cert_validation_info", !6, i64 0, !6, i64 0}
!46 = !{!"s2n_ticket_fields", !21, i64 0, !6, i64 24}
!47 = !{!"s2n_post_handshake", !38, i64 0, !7, i64 40}
!48 = !{!24, !6, i64 2040}
!49 = !{!24, !7, i64 220}
!50 = !{!26, !26, i64 0}
!51 = !{!24, !10, i64 1536}
!52 = !{i64 0, i64 2, !53, i64 8, i64 8, !9, i64 16, i64 4, !5, i64 20, i64 4, !5, i64 24, i64 1, !18, i64 25, i64 1, !18, i64 26, i64 2, !53, i64 32, i64 8, !9}
!53 = !{!17, !17, i64 0}
!54 = !{!55, !6, i64 16}
!55 = !{!"s2n_signature_scheme", !17, i64 0, !10, i64 8, !6, i64 16, !6, i64 20, !7, i64 24, !7, i64 25, !17, i64 26, !10, i64 32}
!56 = !{!24, !10, i64 1528}
!57 = distinct !{!57, !58}
!58 = !{!"llvm.loop.mustprogress"}
!59 = !{!55, !6, i64 20}
!60 = distinct !{!60, !58}
!61 = !{!24, !17, i64 2208}
!62 = !{!24, !6, i64 1904}
!63 = !{!24, !7, i64 2232}
!64 = !{!24, !10, i64 48}
!65 = !{!24, !10, i64 56}
!66 = !{!24, !10, i64 64}
!67 = !{!24, !10, i64 72}
!68 = !{i64 0, i64 1, !18, 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, !18}
!69 = !{!70, !12, i64 56}
!70 = !{!"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}
!71 = !{!24, !10, i64 16}
!72 = !{!73, !10, i64 96}
!73 = !{!"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, !74, i64 24, !21, 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, !26, i64 144, !10, i64 152, !26, i64 160, !26, 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, !75, i64 304, !17, 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, !21, i64 448}
!74 = !{!"certs_by_type", !7, i64 0}
!75 = !{!"s2n_x509_trust_store", !10, i64 0, !6, i64 8}
!76 = !{!77, !10, i64 0}
!77 = !{!"s2n_debug_info", !10, i64 0, !10, i64 8}
!78 = !{!77, !10, i64 8}
!79 = !{!24, !26, i64 2248}
!80 = distinct !{!80, !58}
!81 = !{!24, !6, i64 4136}
!82 = distinct !{!82, !58}
!83 = distinct !{!83, !58}
!84 = distinct !{!84, !58}
!85 = distinct !{!85, !58}
!86 = distinct !{!86, !58}
!87 = distinct !{!87, !58}
!88 = !{!24, !7, i64 4180}
!89 = !{!24, !7, i64 4181}
!90 = !{!24, !6, i64 1764}


; 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_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_stuffer = type { %struct.s2n_blob, i32, i32, i32, i8 }
%struct.s2n_blob = type { ptr, i32, i32, i8 }
%struct.s2n_signature_scheme = type { i16, ptr, i32, i32, i8, i8, i16, ptr }
%struct.s2n_test_io_pair = type { i32, i32 }
%struct.s2n_parsed_extension = type { %struct.s2n_blob, i16, i16, i8 }

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

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

; Function Attrs: mustprogress nofree nounwind willreturn memory(argmem: read)
declare ptr @strrchr(ptr noundef, i32 noundef) local_unnamed_addr #1

declare i32 @s2n_calculate_stacktrace() local_unnamed_addr #2

; Function Attrs: nounwind uwtable
declare dso_local i32 @s2n_test_all_signature_schemes_valid(i32 noundef, ptr noundef, ptr noundef) local_unnamed_addr #3

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

declare i32 @s2n_connection_get_selected_signature_algorithm(ptr noundef, ptr noundef) local_unnamed_addr #2

declare i32 @s2n_connection_get_selected_digest_algorithm(ptr noundef, ptr noundef) local_unnamed_addr #2

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

declare i32 @s2n_connection_get_selected_client_cert_signature_algorithm(ptr noundef, ptr noundef) local_unnamed_addr #2

declare i32 @s2n_connection_get_selected_client_cert_digest_algorithm(ptr noundef, ptr noundef) local_unnamed_addr #2

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

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

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

; Function Attrs: nounwind uwtable
define dso_local range(i32 -1, 1) i32 @main(i32 noundef %0, ptr nocapture noundef readnone %1) local_unnamed_addr #3 {
  %3 = alloca ptr, align 8
  %4 = alloca ptr, align 8
  %5 = alloca ptr, align 8
  %6 = alloca %struct.s2n_stuffer, align 8
  %7 = alloca i8, align 1
  %8 = alloca i32, align 4
  %9 = alloca %struct.s2n_signature_scheme, align 8
  %10 = alloca i32, align 4
  %11 = alloca [226 x i32], align 16
  %12 = alloca %struct.s2n_signature_scheme, align 8
  %13 = alloca %struct.s2n_test_io_pair, align 8
  %14 = alloca %struct.s2n_test_io_pair, align 8
  %15 = alloca [18 x i8], align 16
  %16 = alloca [18 x i8], align 16
  %17 = alloca ptr, align 8
  %18 = alloca %struct.s2n_security_policy, 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 [100 x i8], align 16
  %31 = alloca i32, align 4
  %32 = alloca %struct.s2n_test_io_pair, align 8
  %33 = alloca ptr, align 8
  %34 = alloca %struct.s2n_blob, align 8
  %35 = alloca ptr, align 8
  %36 = alloca %struct.s2n_blob, align 8
  %37 = alloca ptr, align 8
  %38 = alloca ptr, align 8
  %39 = alloca ptr, align 8
  %40 = alloca ptr, align 8
  %41 = alloca i8, align 1
  %42 = alloca i8, align 1
  %43 = alloca ptr, align 8
  %44 = alloca ptr, align 8
  %45 = alloca ptr, align 8
  %46 = alloca i32, align 4
  %47 = alloca i32, align 4
  %48 = alloca i32, align 4
  store i32 0, ptr @test_count, align 4, !tbaa !5
  %49 = load ptr, ptr @stdout, align 8, !tbaa !9
  %50 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %49, ptr noundef nonnull @.str.7, ptr noundef nonnull @.str.8) #12
  %51 = load ptr, ptr @stdout, align 8, !tbaa !9
  %52 = tail call i32 @fflush(ptr noundef %51)
  %53 = tail call i32 @s2n_in_unit_test_set(i1 noundef zeroext true) #12
  %54 = icmp eq i32 %53, -1
  br i1 %54, label %55, label %79

55:                                               ; preds = %2
  %56 = tail call ptr @__errno_location() #13
  %57 = load i32, ptr %56, align 4, !tbaa !5
  %58 = load ptr, ptr @stderr, align 8, !tbaa !9
  %59 = tail call i32 @s2n_print_stacktrace(ptr noundef %58) #12
  %60 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %61 = trunc nuw i8 %60 to i1
  br i1 %61, label %62, label %66

62:                                               ; preds = %55
  %63 = load ptr, ptr @stderr, align 8, !tbaa !9
  %64 = tail call i32 @fileno(ptr noundef %63) #12
  %65 = tail call i32 @isatty(i32 noundef %64) #12
  %.not1544 = icmp eq i32 %65, 0
  br i1 %.not1544, label %66, label %67

66:                                               ; preds = %62, %55
  br label %67

67:                                               ; preds = %62, %66
  %.str.12.sink = phi ptr [ @.str.12, %66 ], [ @.str.9, %62 ]
  store i32 %57, ptr %56, align 4, !tbaa !5
  %68 = load ptr, ptr @stderr, align 8, !tbaa !9
  %69 = load i32, ptr @test_count, align 4, !tbaa !5
  %70 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %71 = load i32, ptr %70, align 4, !tbaa !5
  %72 = tail call ptr @s2n_strerror(i32 noundef %71, ptr noundef nonnull @.str.11) #12
  %73 = load i32, ptr %70, align 4, !tbaa !5
  %74 = tail call ptr @s2n_strerror_debug(i32 noundef %73, ptr noundef nonnull @.str.11) #12
  %75 = load i32, ptr %56, align 4, !tbaa !5
  %76 = tail call ptr @strerror(i32 noundef %75) #12
  %77 = load i32, ptr %56, align 4, !tbaa !5
  %78 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %68, ptr noundef nonnull %.str.12.sink, i32 noundef %69, ptr noundef nonnull @.str.10, ptr noundef nonnull @.str.8, i32 noundef 107, ptr noundef %72, ptr noundef %74, ptr noundef %76, i32 noundef %77) #14
  tail call void @exit(i32 noundef 1) #15
  unreachable

79:                                               ; preds = %2
  %80 = load i32, ptr @test_count, align 4, !tbaa !5
  %81 = add nsw i32 %80, 1
  store i32 %81, ptr @test_count, align 4, !tbaa !5
  %82 = tail call i32 @s2n_enable_atexit() #12
  %83 = icmp eq i32 %82, -1
  br i1 %83, label %84, label %108

84:                                               ; preds = %79
  %85 = tail call ptr @__errno_location() #13
  %86 = load i32, ptr %85, align 4, !tbaa !5
  %87 = load ptr, ptr @stderr, align 8, !tbaa !9
  %88 = tail call i32 @s2n_print_stacktrace(ptr noundef %87) #12
  %89 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %90 = trunc nuw i8 %89 to i1
  br i1 %90, label %91, label %95

91:                                               ; preds = %84
  %92 = load ptr, ptr @stderr, align 8, !tbaa !9
  %93 = tail call i32 @fileno(ptr noundef %92) #12
  %94 = tail call i32 @isatty(i32 noundef %93) #12
  %.not1543 = icmp eq i32 %94, 0
  br i1 %.not1543, label %95, label %96

95:                                               ; preds = %91, %84
  br label %96

96:                                               ; preds = %91, %95
  %.str.12.sink1582 = phi ptr [ @.str.12, %95 ], [ @.str.9, %91 ]
  store i32 %86, ptr %85, align 4, !tbaa !5
  %97 = load ptr, ptr @stderr, align 8, !tbaa !9
  %98 = load i32, ptr @test_count, align 4, !tbaa !5
  %99 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %100 = load i32, ptr %99, align 4, !tbaa !5
  %101 = tail call ptr @s2n_strerror(i32 noundef %100, ptr noundef nonnull @.str.11) #12
  %102 = load i32, ptr %99, align 4, !tbaa !5
  %103 = tail call ptr @s2n_strerror_debug(i32 noundef %102, ptr noundef nonnull @.str.11) #12
  %104 = load i32, ptr %85, align 4, !tbaa !5
  %105 = tail call ptr @strerror(i32 noundef %104) #12
  %106 = load i32, ptr %85, align 4, !tbaa !5
  %107 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %97, ptr noundef nonnull %.str.12.sink1582, i32 noundef %98, ptr noundef nonnull @.str.13, ptr noundef nonnull @.str.8, i32 noundef 107, ptr noundef %101, ptr noundef %103, ptr noundef %105, i32 noundef %106) #14
  tail call void @exit(i32 noundef 1) #15
  unreachable

108:                                              ; preds = %79
  %109 = tail call i32 @s2n_init() #12
  %110 = icmp eq i32 %109, -1
  br i1 %110, label %111, label %135

111:                                              ; preds = %108
  %112 = tail call ptr @__errno_location() #13
  %113 = load i32, ptr %112, align 4, !tbaa !5
  %114 = load ptr, ptr @stderr, align 8, !tbaa !9
  %115 = tail call i32 @s2n_print_stacktrace(ptr noundef %114) #12
  %116 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %117 = trunc nuw i8 %116 to i1
  br i1 %117, label %118, label %122

118:                                              ; preds = %111
  %119 = load ptr, ptr @stderr, align 8, !tbaa !9
  %120 = tail call i32 @fileno(ptr noundef %119) #12
  %121 = tail call i32 @isatty(i32 noundef %120) #12
  %.not1542 = icmp eq i32 %121, 0
  br i1 %.not1542, label %122, label %123

122:                                              ; preds = %118, %111
  br label %123

123:                                              ; preds = %118, %122
  %.str.12.sink1593 = phi ptr [ @.str.12, %122 ], [ @.str.9, %118 ]
  store i32 %113, ptr %112, align 4, !tbaa !5
  %124 = load ptr, ptr @stderr, align 8, !tbaa !9
  %125 = load i32, ptr @test_count, align 4, !tbaa !5
  %126 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %127 = load i32, ptr %126, align 4, !tbaa !5
  %128 = tail call ptr @s2n_strerror(i32 noundef %127, ptr noundef nonnull @.str.11) #12
  %129 = load i32, ptr %126, align 4, !tbaa !5
  %130 = tail call ptr @s2n_strerror_debug(i32 noundef %129, ptr noundef nonnull @.str.11) #12
  %131 = load i32, ptr %112, align 4, !tbaa !5
  %132 = tail call ptr @strerror(i32 noundef %131) #12
  %133 = load i32, ptr %112, align 4, !tbaa !5
  %134 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %124, ptr noundef nonnull %.str.12.sink1593, i32 noundef %125, ptr noundef nonnull @.str.14, ptr noundef nonnull @.str.8, i32 noundef 107, ptr noundef %128, ptr noundef %130, ptr noundef %132, i32 noundef %133) #14
  tail call void @exit(i32 noundef 1) #15
  unreachable

135:                                              ; preds = %108
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %3) #12
  store ptr null, ptr %3, align 8, !tbaa !9
  %136 = load i32, ptr @test_count, align 4, !tbaa !5
  %137 = add nsw i32 %136, 1
  store i32 %137, ptr @test_count, align 4, !tbaa !5
  %138 = call i32 @s2n_test_cert_chain_and_key_new(ptr noundef nonnull %3, ptr noundef nonnull @.str.15, ptr noundef nonnull @.str.16) #12
  %139 = icmp eq i32 %138, -1
  br i1 %139, label %140, label %164

140:                                              ; preds = %135
  %141 = tail call ptr @__errno_location() #13
  %142 = load i32, ptr %141, align 4, !tbaa !5
  %143 = load ptr, ptr @stderr, align 8, !tbaa !9
  %144 = call i32 @s2n_print_stacktrace(ptr noundef %143) #12
  %145 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %146 = trunc nuw i8 %145 to i1
  br i1 %146, label %147, label %151

147:                                              ; preds = %140
  %148 = load ptr, ptr @stderr, align 8, !tbaa !9
  %149 = call i32 @fileno(ptr noundef %148) #12
  %150 = call i32 @isatty(i32 noundef %149) #12
  %.not1541 = icmp eq i32 %150, 0
  br i1 %.not1541, label %151, label %152

151:                                              ; preds = %147, %140
  br label %152

152:                                              ; preds = %147, %151
  %.str.12.sink1604 = phi ptr [ @.str.12, %151 ], [ @.str.9, %147 ]
  store i32 %142, ptr %141, align 4, !tbaa !5
  %153 = load ptr, ptr @stderr, align 8, !tbaa !9
  %154 = load i32, ptr @test_count, align 4, !tbaa !5
  %155 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %156 = load i32, ptr %155, align 4, !tbaa !5
  %157 = call ptr @s2n_strerror(i32 noundef %156, ptr noundef nonnull @.str.11) #12
  %158 = load i32, ptr %155, align 4, !tbaa !5
  %159 = call ptr @s2n_strerror_debug(i32 noundef %158, ptr noundef nonnull @.str.11) #12
  %160 = load i32, ptr %141, align 4, !tbaa !5
  %161 = call ptr @strerror(i32 noundef %160) #12
  %162 = load i32, ptr %141, align 4, !tbaa !5
  %163 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %153, ptr noundef nonnull %.str.12.sink1604, i32 noundef %154, ptr noundef nonnull @.str.17, ptr noundef nonnull @.str.8, i32 noundef 111, ptr noundef %157, ptr noundef %159, ptr noundef %161, i32 noundef %162) #14
  call void @exit(i32 noundef 1) #15
  unreachable

164:                                              ; preds = %135
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %4) #12
  store ptr null, ptr %4, align 8, !tbaa !9
  %165 = load i32, ptr @test_count, align 4, !tbaa !5
  %166 = add nsw i32 %165, 1
  store i32 %166, ptr @test_count, align 4, !tbaa !5
  %167 = call i32 @s2n_test_cert_chain_and_key_new(ptr noundef nonnull %4, ptr noundef nonnull @.str.18, ptr noundef nonnull @.str.19) #12
  %168 = icmp eq i32 %167, -1
  br i1 %168, label %169, label %193

169:                                              ; preds = %164
  %170 = tail call ptr @__errno_location() #13
  %171 = load i32, ptr %170, align 4, !tbaa !5
  %172 = load ptr, ptr @stderr, align 8, !tbaa !9
  %173 = call i32 @s2n_print_stacktrace(ptr noundef %172) #12
  %174 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %175 = trunc nuw i8 %174 to i1
  br i1 %175, label %176, label %180

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

180:                                              ; preds = %176, %169
  br label %181

181:                                              ; preds = %176, %180
  %.str.12.sink1615 = phi ptr [ @.str.12, %180 ], [ @.str.9, %176 ]
  store i32 %171, ptr %170, align 4, !tbaa !5
  %182 = load ptr, ptr @stderr, align 8, !tbaa !9
  %183 = load i32, ptr @test_count, align 4, !tbaa !5
  %184 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %185 = load i32, ptr %184, align 4, !tbaa !5
  %186 = call ptr @s2n_strerror(i32 noundef %185, ptr noundef nonnull @.str.11) #12
  %187 = load i32, ptr %184, align 4, !tbaa !5
  %188 = call ptr @s2n_strerror_debug(i32 noundef %187, ptr noundef nonnull @.str.11) #12
  %189 = load i32, ptr %170, align 4, !tbaa !5
  %190 = call ptr @strerror(i32 noundef %189) #12
  %191 = load i32, ptr %170, align 4, !tbaa !5
  %192 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %182, ptr noundef nonnull %.str.12.sink1615, i32 noundef %183, ptr noundef nonnull @.str.20, ptr noundef nonnull @.str.8, i32 noundef 115, ptr noundef %186, ptr noundef %188, ptr noundef %190, i32 noundef %191) #14
  call void @exit(i32 noundef 1) #15
  unreachable

193:                                              ; preds = %164
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %5) #12
  store ptr @.str.21, ptr %5, align 8, !tbaa !9
  %194 = load i32, ptr @test_count, align 4, !tbaa !5
  %195 = add nsw i32 %194, 1
  store i32 %195, ptr @test_count, align 4, !tbaa !5
  %196 = call ptr @s2n_get_server_name(ptr noundef null) #12
  %197 = icmp eq ptr %196, null
  br i1 %197, label %222, label %198

198:                                              ; preds = %193
  %199 = tail call ptr @__errno_location() #13
  %200 = load i32, ptr %199, align 4, !tbaa !5
  %201 = load ptr, ptr @stderr, align 8, !tbaa !9
  %202 = call i32 @s2n_print_stacktrace(ptr noundef %201) #12
  %203 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %204 = trunc nuw i8 %203 to i1
  br i1 %204, label %205, label %209

205:                                              ; preds = %198
  %206 = load ptr, ptr @stderr, align 8, !tbaa !9
  %207 = call i32 @fileno(ptr noundef %206) #12
  %208 = call i32 @isatty(i32 noundef %207) #12
  %.not = icmp eq i32 %208, 0
  br i1 %.not, label %209, label %210

209:                                              ; preds = %205, %198
  br label %210

210:                                              ; preds = %205, %209
  %.str.12.sink1626 = phi ptr [ @.str.12, %209 ], [ @.str.9, %205 ]
  store i32 %200, ptr %199, align 4, !tbaa !5
  %211 = load ptr, ptr @stderr, align 8, !tbaa !9
  %212 = load i32, ptr @test_count, align 4, !tbaa !5
  %213 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %214 = load i32, ptr %213, align 4, !tbaa !5
  %215 = call ptr @s2n_strerror(i32 noundef %214, ptr noundef nonnull @.str.11) #12
  %216 = load i32, ptr %213, align 4, !tbaa !5
  %217 = call ptr @s2n_strerror_debug(i32 noundef %216, ptr noundef nonnull @.str.11) #12
  %218 = load i32, ptr %199, align 4, !tbaa !5
  %219 = call ptr @strerror(i32 noundef %218) #12
  %220 = load i32, ptr %199, align 4, !tbaa !5
  %221 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %211, ptr noundef nonnull %.str.12.sink1626, i32 noundef %212, ptr noundef nonnull @.str.22, ptr noundef nonnull @.str.8, i32 noundef 122, ptr noundef %215, ptr noundef %217, ptr noundef %219, i32 noundef %220) #14
  call void @exit(i32 noundef 1) #15
  unreachable

222:                                              ; preds = %193
  %223 = load i32, ptr @test_count, align 4, !tbaa !5
  %224 = add nsw i32 %223, 1
  store i32 %224, ptr @test_count, align 4, !tbaa !5
  %225 = call ptr @s2n_connection_new(i32 noundef 1) #12
  %226 = icmp eq ptr %225, null
  br i1 %226, label %227, label %251

227:                                              ; preds = %222
  %228 = tail call ptr @__errno_location() #13
  %229 = load i32, ptr %228, align 4, !tbaa !5
  %230 = load ptr, ptr @stderr, align 8, !tbaa !9
  %231 = call i32 @s2n_print_stacktrace(ptr noundef %230) #12
  %232 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %233 = trunc nuw i8 %232 to i1
  br i1 %233, label %234, label %238

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

238:                                              ; preds = %234, %227
  br label %239

239:                                              ; preds = %234, %238
  %.str.12.sink1637 = phi ptr [ @.str.12, %238 ], [ @.str.9, %234 ]
  store i32 %229, ptr %228, align 4, !tbaa !5
  %240 = load ptr, ptr @stderr, align 8, !tbaa !9
  %241 = load i32, ptr @test_count, align 4, !tbaa !5
  %242 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %243 = load i32, ptr %242, align 4, !tbaa !5
  %244 = call ptr @s2n_strerror(i32 noundef %243, ptr noundef nonnull @.str.11) #12
  %245 = load i32, ptr %242, align 4, !tbaa !5
  %246 = call ptr @s2n_strerror_debug(i32 noundef %245, ptr noundef nonnull @.str.11) #12
  %247 = load i32, ptr %228, align 4, !tbaa !5
  %248 = call ptr @strerror(i32 noundef %247) #12
  %249 = load i32, ptr %228, align 4, !tbaa !5
  %250 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %240, ptr noundef nonnull %.str.12.sink1637, i32 noundef %241, ptr noundef nonnull @.str.23, ptr noundef nonnull @.str.8, i32 noundef 127, ptr noundef %244, ptr noundef %246, ptr noundef %248, i32 noundef %249) #14
  call void @exit(i32 noundef 1) #15
  unreachable

251:                                              ; preds = %222
  %252 = load i32, ptr @test_count, align 4, !tbaa !5
  %253 = add nsw i32 %252, 1
  store i32 %253, ptr @test_count, align 4, !tbaa !5
  %254 = call ptr @s2n_get_server_name(ptr noundef nonnull %225) #12
  %255 = icmp eq ptr %254, null
  br i1 %255, label %280, label %256

256:                                              ; preds = %251
  %257 = tail call ptr @__errno_location() #13
  %258 = load i32, ptr %257, align 4, !tbaa !5
  %259 = load ptr, ptr @stderr, align 8, !tbaa !9
  %260 = call i32 @s2n_print_stacktrace(ptr noundef %259) #12
  %261 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %262 = trunc nuw i8 %261 to i1
  br i1 %262, label %263, label %267

263:                                              ; preds = %256
  %264 = load ptr, ptr @stderr, align 8, !tbaa !9
  %265 = call i32 @fileno(ptr noundef %264) #12
  %266 = call i32 @isatty(i32 noundef %265) #12
  %.not1118 = icmp eq i32 %266, 0
  br i1 %.not1118, label %267, label %268

267:                                              ; preds = %263, %256
  br label %268

268:                                              ; preds = %263, %267
  %.str.12.sink1648 = phi ptr [ @.str.12, %267 ], [ @.str.9, %263 ]
  store i32 %258, ptr %257, align 4, !tbaa !5
  %269 = load ptr, ptr @stderr, align 8, !tbaa !9
  %270 = load i32, ptr @test_count, align 4, !tbaa !5
  %271 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %272 = load i32, ptr %271, align 4, !tbaa !5
  %273 = call ptr @s2n_strerror(i32 noundef %272, ptr noundef nonnull @.str.11) #12
  %274 = load i32, ptr %271, align 4, !tbaa !5
  %275 = call ptr @s2n_strerror_debug(i32 noundef %274, ptr noundef nonnull @.str.11) #12
  %276 = load i32, ptr %257, align 4, !tbaa !5
  %277 = call ptr @strerror(i32 noundef %276) #12
  %278 = load i32, ptr %257, align 4, !tbaa !5
  %279 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %269, ptr noundef nonnull %.str.12.sink1648, i32 noundef %270, ptr noundef nonnull @.str.24, ptr noundef nonnull @.str.8, i32 noundef 129, ptr noundef %273, ptr noundef %275, ptr noundef %277, i32 noundef %278) #14
  call void @exit(i32 noundef 1) #15
  unreachable

280:                                              ; preds = %251
  %281 = load i32, ptr @test_count, align 4, !tbaa !5
  %282 = add nsw i32 %281, 1
  store i32 %282, ptr @test_count, align 4, !tbaa !5
  %283 = call i32 @s2n_connection_free(ptr noundef nonnull %225) #12
  %284 = icmp eq i32 %283, -1
  br i1 %284, label %285, label %309

285:                                              ; preds = %280
  %286 = tail call ptr @__errno_location() #13
  %287 = load i32, ptr %286, align 4, !tbaa !5
  %288 = load ptr, ptr @stderr, align 8, !tbaa !9
  %289 = call i32 @s2n_print_stacktrace(ptr noundef %288) #12
  %290 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %291 = trunc nuw i8 %290 to i1
  br i1 %291, label %292, label %296

292:                                              ; preds = %285
  %293 = load ptr, ptr @stderr, align 8, !tbaa !9
  %294 = call i32 @fileno(ptr noundef %293) #12
  %295 = call i32 @isatty(i32 noundef %294) #12
  %.not1538 = icmp eq i32 %295, 0
  br i1 %.not1538, label %296, label %297

296:                                              ; preds = %292, %285
  br label %297

297:                                              ; preds = %292, %296
  %.str.12.sink1659 = phi ptr [ @.str.12, %296 ], [ @.str.9, %292 ]
  store i32 %287, ptr %286, align 4, !tbaa !5
  %298 = load ptr, ptr @stderr, align 8, !tbaa !9
  %299 = load i32, ptr @test_count, align 4, !tbaa !5
  %300 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %301 = load i32, ptr %300, align 4, !tbaa !5
  %302 = call ptr @s2n_strerror(i32 noundef %301, ptr noundef nonnull @.str.11) #12
  %303 = load i32, ptr %300, align 4, !tbaa !5
  %304 = call ptr @s2n_strerror_debug(i32 noundef %303, ptr noundef nonnull @.str.11) #12
  %305 = load i32, ptr %286, align 4, !tbaa !5
  %306 = call ptr @strerror(i32 noundef %305) #12
  %307 = load i32, ptr %286, align 4, !tbaa !5
  %308 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %298, ptr noundef nonnull %.str.12.sink1659, i32 noundef %299, ptr noundef nonnull @.str.25, ptr noundef nonnull @.str.8, i32 noundef 131, ptr noundef %302, ptr noundef %304, ptr noundef %306, i32 noundef %307) #14
  call void @exit(i32 noundef 1) #15
  unreachable

309:                                              ; preds = %280
  %310 = load i32, ptr @test_count, align 4, !tbaa !5
  %311 = add nsw i32 %310, 1
  store i32 %311, ptr @test_count, align 4, !tbaa !5
  %312 = call ptr @s2n_connection_new(i32 noundef 1) #12
  %313 = icmp eq ptr %312, null
  br i1 %313, label %314, label %338

314:                                              ; preds = %309
  %315 = tail call ptr @__errno_location() #13
  %316 = load i32, ptr %315, align 4, !tbaa !5
  %317 = load ptr, ptr @stderr, align 8, !tbaa !9
  %318 = call i32 @s2n_print_stacktrace(ptr noundef %317) #12
  %319 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %320 = trunc nuw i8 %319 to i1
  br i1 %320, label %321, label %325

321:                                              ; preds = %314
  %322 = load ptr, ptr @stderr, align 8, !tbaa !9
  %323 = call i32 @fileno(ptr noundef %322) #12
  %324 = call i32 @isatty(i32 noundef %323) #12
  %.not1537 = icmp eq i32 %324, 0
  br i1 %.not1537, label %325, label %326

325:                                              ; preds = %321, %314
  br label %326

326:                                              ; preds = %321, %325
  %.str.12.sink1670 = phi ptr [ @.str.12, %325 ], [ @.str.9, %321 ]
  store i32 %316, ptr %315, align 4, !tbaa !5
  %327 = load ptr, ptr @stderr, align 8, !tbaa !9
  %328 = load i32, ptr @test_count, align 4, !tbaa !5
  %329 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %330 = load i32, ptr %329, align 4, !tbaa !5
  %331 = call ptr @s2n_strerror(i32 noundef %330, ptr noundef nonnull @.str.11) #12
  %332 = load i32, ptr %329, align 4, !tbaa !5
  %333 = call ptr @s2n_strerror_debug(i32 noundef %332, ptr noundef nonnull @.str.11) #12
  %334 = load i32, ptr %315, align 4, !tbaa !5
  %335 = call ptr @strerror(i32 noundef %334) #12
  %336 = load i32, ptr %315, align 4, !tbaa !5
  %337 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %327, ptr noundef nonnull %.str.12.sink1670, i32 noundef %328, ptr noundef nonnull @.str.23, ptr noundef nonnull @.str.8, i32 noundef 137, ptr noundef %331, ptr noundef %333, ptr noundef %335, i32 noundef %336) #14
  call void @exit(i32 noundef 1) #15
  unreachable

338:                                              ; preds = %309
  %339 = load i32, ptr @test_count, align 4, !tbaa !5
  %340 = add nsw i32 %339, 1
  store i32 %340, ptr @test_count, align 4, !tbaa !5
  %341 = load ptr, ptr %5, align 8, !tbaa !9
  %342 = call i32 @s2n_set_server_name(ptr noundef nonnull %312, ptr noundef %341) #12
  %343 = icmp eq i32 %342, -1
  br i1 %343, label %344, label %368

344:                                              ; preds = %338
  %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
  %.not1536 = icmp eq i32 %354, 0
  br i1 %.not1536, label %355, label %356

355:                                              ; preds = %351, %344
  br label %356

356:                                              ; preds = %351, %355
  %.str.12.sink1681 = phi ptr [ @.str.12, %355 ], [ @.str.9, %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.11) #12
  %362 = load i32, ptr %359, align 4, !tbaa !5
  %363 = call ptr @s2n_strerror_debug(i32 noundef %362, ptr noundef nonnull @.str.11) #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.12.sink1681, i32 noundef %358, ptr noundef nonnull @.str.26, ptr noundef nonnull @.str.8, i32 noundef 138, ptr noundef %361, ptr noundef %363, ptr noundef %365, i32 noundef %366) #14
  call void @exit(i32 noundef 1) #15
  unreachable

368:                                              ; preds = %338
  %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_get_server_name(ptr noundef nonnull %312) #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
  %.not1535 = icmp eq i32 %383, 0
  br i1 %.not1535, label %384, label %385

384:                                              ; preds = %380, %373
  br label %385

385:                                              ; preds = %380, %384
  %.str.12.sink1692 = phi ptr [ @.str.12, %384 ], [ @.str.9, %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.11) #12
  %391 = load i32, ptr %388, align 4, !tbaa !5
  %392 = call ptr @s2n_strerror_debug(i32 noundef %391, ptr noundef nonnull @.str.11) #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.12.sink1692, i32 noundef %387, ptr noundef nonnull @.str.27, ptr noundef nonnull @.str.8, i32 noundef 141, 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 = load ptr, ptr %5, align 8, !tbaa !9
  %401 = call i32 @strcmp(ptr noundef nonnull dereferenceable(1) %371, ptr noundef nonnull dereferenceable(1) %400) #16
  %402 = icmp eq i32 %401, 0
  br i1 %402, label %427, label %403

403:                                              ; preds = %397
  %404 = tail call ptr @__errno_location() #13
  %405 = load i32, ptr %404, align 4, !tbaa !5
  %406 = load ptr, ptr @stderr, align 8, !tbaa !9
  %407 = call i32 @s2n_print_stacktrace(ptr noundef %406) #12
  %408 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %409 = trunc nuw i8 %408 to i1
  br i1 %409, label %410, label %414

410:                                              ; preds = %403
  %411 = load ptr, ptr @stderr, align 8, !tbaa !9
  %412 = call i32 @fileno(ptr noundef %411) #12
  %413 = call i32 @isatty(i32 noundef %412) #12
  %.not1119 = icmp eq i32 %413, 0
  br i1 %.not1119, label %414, label %415

414:                                              ; preds = %410, %403
  br label %415

415:                                              ; preds = %410, %414
  %.str.12.sink1703 = phi ptr [ @.str.12, %414 ], [ @.str.9, %410 ]
  store i32 %405, ptr %404, align 4, !tbaa !5
  %416 = load ptr, ptr @stderr, align 8, !tbaa !9
  %417 = load i32, ptr @test_count, align 4, !tbaa !5
  %418 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %419 = load i32, ptr %418, align 4, !tbaa !5
  %420 = call ptr @s2n_strerror(i32 noundef %419, ptr noundef nonnull @.str.11) #12
  %421 = load i32, ptr %418, align 4, !tbaa !5
  %422 = call ptr @s2n_strerror_debug(i32 noundef %421, ptr noundef nonnull @.str.11) #12
  %423 = load i32, ptr %404, align 4, !tbaa !5
  %424 = call ptr @strerror(i32 noundef %423) #12
  %425 = load i32, ptr %404, align 4, !tbaa !5
  %426 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %416, ptr noundef nonnull %.str.12.sink1703, i32 noundef %417, ptr noundef nonnull @.str.28, ptr noundef nonnull @.str.8, i32 noundef 142, ptr noundef %420, ptr noundef %422, ptr noundef %424, i32 noundef %425) #14
  call void @exit(i32 noundef 1) #15
  unreachable

427:                                              ; preds = %397
  %428 = add nsw i32 %398, 2
  store i32 %428, ptr @test_count, align 4, !tbaa !5
  %429 = call i32 @s2n_connection_free(ptr noundef nonnull %312) #12
  %430 = icmp eq i32 %429, -1
  br i1 %430, label %431, label %455

431:                                              ; preds = %427
  %432 = tail call ptr @__errno_location() #13
  %433 = load i32, ptr %432, align 4, !tbaa !5
  %434 = load ptr, ptr @stderr, align 8, !tbaa !9
  %435 = call i32 @s2n_print_stacktrace(ptr noundef %434) #12
  %436 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %437 = trunc nuw i8 %436 to i1
  br i1 %437, label %438, label %442

438:                                              ; preds = %431
  %439 = load ptr, ptr @stderr, align 8, !tbaa !9
  %440 = call i32 @fileno(ptr noundef %439) #12
  %441 = call i32 @isatty(i32 noundef %440) #12
  %.not1534 = icmp eq i32 %441, 0
  br i1 %.not1534, label %442, label %443

442:                                              ; preds = %438, %431
  br label %443

443:                                              ; preds = %438, %442
  %.str.12.sink1714 = phi ptr [ @.str.12, %442 ], [ @.str.9, %438 ]
  store i32 %433, ptr %432, align 4, !tbaa !5
  %444 = load ptr, ptr @stderr, align 8, !tbaa !9
  %445 = load i32, ptr @test_count, align 4, !tbaa !5
  %446 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %447 = load i32, ptr %446, align 4, !tbaa !5
  %448 = call ptr @s2n_strerror(i32 noundef %447, ptr noundef nonnull @.str.11) #12
  %449 = load i32, ptr %446, align 4, !tbaa !5
  %450 = call ptr @s2n_strerror_debug(i32 noundef %449, ptr noundef nonnull @.str.11) #12
  %451 = load i32, ptr %432, align 4, !tbaa !5
  %452 = call ptr @strerror(i32 noundef %451) #12
  %453 = load i32, ptr %432, align 4, !tbaa !5
  %454 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %444, ptr noundef nonnull %.str.12.sink1714, i32 noundef %445, ptr noundef nonnull @.str.25, ptr noundef nonnull @.str.8, i32 noundef 144, ptr noundef %448, ptr noundef %450, ptr noundef %452, i32 noundef %453) #14
  call void @exit(i32 noundef 1) #15
  unreachable

455:                                              ; preds = %427
  %456 = load i32, ptr @test_count, align 4, !tbaa !5
  %457 = add nsw i32 %456, 1
  store i32 %457, ptr @test_count, align 4, !tbaa !5
  %458 = call ptr @s2n_connection_new(i32 noundef 1) #12
  %459 = icmp eq ptr %458, null
  br i1 %459, label %460, label %484

460:                                              ; preds = %455
  %461 = tail call ptr @__errno_location() #13
  %462 = load i32, ptr %461, align 4, !tbaa !5
  %463 = load ptr, ptr @stderr, align 8, !tbaa !9
  %464 = call i32 @s2n_print_stacktrace(ptr noundef %463) #12
  %465 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %466 = trunc nuw i8 %465 to i1
  br i1 %466, label %467, label %471

467:                                              ; preds = %460
  %468 = load ptr, ptr @stderr, align 8, !tbaa !9
  %469 = call i32 @fileno(ptr noundef %468) #12
  %470 = call i32 @isatty(i32 noundef %469) #12
  %.not1533 = icmp eq i32 %470, 0
  br i1 %.not1533, label %471, label %472

471:                                              ; preds = %467, %460
  br label %472

472:                                              ; preds = %467, %471
  %.str.12.sink1725 = phi ptr [ @.str.12, %471 ], [ @.str.9, %467 ]
  store i32 %462, ptr %461, align 4, !tbaa !5
  %473 = load ptr, ptr @stderr, align 8, !tbaa !9
  %474 = load i32, ptr @test_count, align 4, !tbaa !5
  %475 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %476 = load i32, ptr %475, align 4, !tbaa !5
  %477 = call ptr @s2n_strerror(i32 noundef %476, ptr noundef nonnull @.str.11) #12
  %478 = load i32, ptr %475, align 4, !tbaa !5
  %479 = call ptr @s2n_strerror_debug(i32 noundef %478, ptr noundef nonnull @.str.11) #12
  %480 = load i32, ptr %461, align 4, !tbaa !5
  %481 = call ptr @strerror(i32 noundef %480) #12
  %482 = load i32, ptr %461, align 4, !tbaa !5
  %483 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %473, ptr noundef nonnull %.str.12.sink1725, i32 noundef %474, ptr noundef nonnull @.str.29, ptr noundef nonnull @.str.8, i32 noundef 150, ptr noundef %477, ptr noundef %479, ptr noundef %481, i32 noundef %482) #14
  call void @exit(i32 noundef 1) #15
  unreachable

484:                                              ; preds = %455
  %485 = load i32, ptr @test_count, align 4, !tbaa !5
  %486 = add nsw i32 %485, 1
  store i32 %486, ptr @test_count, align 4, !tbaa !5
  %487 = call ptr @s2n_connection_new(i32 noundef 0) #12
  %488 = icmp eq ptr %487, null
  br i1 %488, label %489, label %513

489:                                              ; preds = %484
  %490 = tail call ptr @__errno_location() #13
  %491 = load i32, ptr %490, align 4, !tbaa !5
  %492 = load ptr, ptr @stderr, align 8, !tbaa !9
  %493 = call i32 @s2n_print_stacktrace(ptr noundef %492) #12
  %494 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %495 = trunc nuw i8 %494 to i1
  br i1 %495, label %496, label %500

496:                                              ; preds = %489
  %497 = load ptr, ptr @stderr, align 8, !tbaa !9
  %498 = call i32 @fileno(ptr noundef %497) #12
  %499 = call i32 @isatty(i32 noundef %498) #12
  %.not1532 = icmp eq i32 %499, 0
  br i1 %.not1532, label %500, label %501

500:                                              ; preds = %496, %489
  br label %501

501:                                              ; preds = %496, %500
  %.str.12.sink1736 = phi ptr [ @.str.12, %500 ], [ @.str.9, %496 ]
  store i32 %491, ptr %490, align 4, !tbaa !5
  %502 = load ptr, ptr @stderr, align 8, !tbaa !9
  %503 = load i32, ptr @test_count, align 4, !tbaa !5
  %504 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %505 = load i32, ptr %504, align 4, !tbaa !5
  %506 = call ptr @s2n_strerror(i32 noundef %505, ptr noundef nonnull @.str.11) #12
  %507 = load i32, ptr %504, align 4, !tbaa !5
  %508 = call ptr @s2n_strerror_debug(i32 noundef %507, ptr noundef nonnull @.str.11) #12
  %509 = load i32, ptr %490, align 4, !tbaa !5
  %510 = call ptr @strerror(i32 noundef %509) #12
  %511 = load i32, ptr %490, align 4, !tbaa !5
  %512 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %502, ptr noundef nonnull %.str.12.sink1736, i32 noundef %503, ptr noundef nonnull @.str.30, ptr noundef nonnull @.str.8, i32 noundef 151, ptr noundef %506, ptr noundef %508, ptr noundef %510, i32 noundef %511) #14
  call void @exit(i32 noundef 1) #15
  unreachable

513:                                              ; preds = %484
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %6) #12
  %514 = load i32, ptr @test_count, align 4, !tbaa !5
  %515 = add nsw i32 %514, 1
  store i32 %515, ptr @test_count, align 4, !tbaa !5
  %516 = call i32 @s2n_stuffer_growable_alloc(ptr noundef nonnull %6, i32 noundef 0) #12
  %517 = icmp eq i32 %516, -1
  br i1 %517, label %518, label %542

518:                                              ; preds = %513
  %519 = tail call ptr @__errno_location() #13
  %520 = load i32, ptr %519, align 4, !tbaa !5
  %521 = load ptr, ptr @stderr, align 8, !tbaa !9
  %522 = call i32 @s2n_print_stacktrace(ptr noundef %521) #12
  %523 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %524 = trunc nuw i8 %523 to i1
  br i1 %524, label %525, label %529

525:                                              ; preds = %518
  %526 = load ptr, ptr @stderr, align 8, !tbaa !9
  %527 = call i32 @fileno(ptr noundef %526) #12
  %528 = call i32 @isatty(i32 noundef %527) #12
  %.not1531 = icmp eq i32 %528, 0
  br i1 %.not1531, label %529, label %530

529:                                              ; preds = %525, %518
  br label %530

530:                                              ; preds = %525, %529
  %.str.12.sink1747 = phi ptr [ @.str.12, %529 ], [ @.str.9, %525 ]
  store i32 %520, ptr %519, align 4, !tbaa !5
  %531 = load ptr, ptr @stderr, align 8, !tbaa !9
  %532 = load i32, ptr @test_count, align 4, !tbaa !5
  %533 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %534 = load i32, ptr %533, align 4, !tbaa !5
  %535 = call ptr @s2n_strerror(i32 noundef %534, ptr noundef nonnull @.str.11) #12
  %536 = load i32, ptr %533, align 4, !tbaa !5
  %537 = call ptr @s2n_strerror_debug(i32 noundef %536, ptr noundef nonnull @.str.11) #12
  %538 = load i32, ptr %519, align 4, !tbaa !5
  %539 = call ptr @strerror(i32 noundef %538) #12
  %540 = load i32, ptr %519, align 4, !tbaa !5
  %541 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %531, ptr noundef nonnull %.str.12.sink1747, i32 noundef %532, ptr noundef nonnull @.str.31, ptr noundef nonnull @.str.8, i32 noundef 154, ptr noundef %535, ptr noundef %537, ptr noundef %539, i32 noundef %540) #14
  call void @exit(i32 noundef 1) #15
  unreachable

542:                                              ; preds = %513
  %543 = load i32, ptr @test_count, align 4, !tbaa !5
  %544 = add nsw i32 %543, 1
  store i32 %544, ptr @test_count, align 4, !tbaa !5
  %545 = load ptr, ptr %5, align 8, !tbaa !9
  %546 = call i32 @s2n_set_server_name(ptr noundef nonnull %458, ptr noundef %545) #12
  %547 = icmp eq i32 %546, -1
  br i1 %547, label %548, label %572

548:                                              ; preds = %542
  %549 = tail call ptr @__errno_location() #13
  %550 = load i32, ptr %549, align 4, !tbaa !5
  %551 = load ptr, ptr @stderr, align 8, !tbaa !9
  %552 = call i32 @s2n_print_stacktrace(ptr noundef %551) #12
  %553 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %554 = trunc nuw i8 %553 to i1
  br i1 %554, label %555, label %559

555:                                              ; preds = %548
  %556 = load ptr, ptr @stderr, align 8, !tbaa !9
  %557 = call i32 @fileno(ptr noundef %556) #12
  %558 = call i32 @isatty(i32 noundef %557) #12
  %.not1530 = icmp eq i32 %558, 0
  br i1 %.not1530, label %559, label %560

559:                                              ; preds = %555, %548
  br label %560

560:                                              ; preds = %555, %559
  %.str.12.sink1758 = phi ptr [ @.str.12, %559 ], [ @.str.9, %555 ]
  store i32 %550, ptr %549, align 4, !tbaa !5
  %561 = load ptr, ptr @stderr, align 8, !tbaa !9
  %562 = load i32, ptr @test_count, align 4, !tbaa !5
  %563 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %564 = load i32, ptr %563, align 4, !tbaa !5
  %565 = call ptr @s2n_strerror(i32 noundef %564, ptr noundef nonnull @.str.11) #12
  %566 = load i32, ptr %563, align 4, !tbaa !5
  %567 = call ptr @s2n_strerror_debug(i32 noundef %566, ptr noundef nonnull @.str.11) #12
  %568 = load i32, ptr %549, align 4, !tbaa !5
  %569 = call ptr @strerror(i32 noundef %568) #12
  %570 = load i32, ptr %549, align 4, !tbaa !5
  %571 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %561, ptr noundef nonnull %.str.12.sink1758, i32 noundef %562, ptr noundef nonnull @.str.32, ptr noundef nonnull @.str.8, i32 noundef 155, ptr noundef %565, ptr noundef %567, ptr noundef %569, i32 noundef %570) #14
  call void @exit(i32 noundef 1) #15
  unreachable

572:                                              ; preds = %542
  %573 = load i32, ptr @test_count, align 4, !tbaa !5
  %574 = add nsw i32 %573, 1
  store i32 %574, ptr @test_count, align 4, !tbaa !5
  %575 = load ptr, ptr getelementptr inbounds (i8, ptr @s2n_client_server_name_extension, i64 8), align 8, !tbaa !15
  %576 = call i32 %575(ptr noundef nonnull %458, ptr noundef nonnull %6) #12
  %577 = icmp eq i32 %576, -1
  br i1 %577, label %578, label %602

578:                                              ; preds = %572
  %579 = tail call ptr @__errno_location() #13
  %580 = load i32, ptr %579, align 4, !tbaa !5
  %581 = load ptr, ptr @stderr, align 8, !tbaa !9
  %582 = call i32 @s2n_print_stacktrace(ptr noundef %581) #12
  %583 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %584 = trunc nuw i8 %583 to i1
  br i1 %584, label %585, label %589

585:                                              ; preds = %578
  %586 = load ptr, ptr @stderr, align 8, !tbaa !9
  %587 = call i32 @fileno(ptr noundef %586) #12
  %588 = call i32 @isatty(i32 noundef %587) #12
  %.not1529 = icmp eq i32 %588, 0
  br i1 %.not1529, label %589, label %590

589:                                              ; preds = %585, %578
  br label %590

590:                                              ; preds = %585, %589
  %.str.12.sink1769 = phi ptr [ @.str.12, %589 ], [ @.str.9, %585 ]
  store i32 %580, ptr %579, align 4, !tbaa !5
  %591 = load ptr, ptr @stderr, align 8, !tbaa !9
  %592 = load i32, ptr @test_count, align 4, !tbaa !5
  %593 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %594 = load i32, ptr %593, align 4, !tbaa !5
  %595 = call ptr @s2n_strerror(i32 noundef %594, ptr noundef nonnull @.str.11) #12
  %596 = load i32, ptr %593, align 4, !tbaa !5
  %597 = call ptr @s2n_strerror_debug(i32 noundef %596, ptr noundef nonnull @.str.11) #12
  %598 = load i32, ptr %579, align 4, !tbaa !5
  %599 = call ptr @strerror(i32 noundef %598) #12
  %600 = load i32, ptr %579, align 4, !tbaa !5
  %601 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %591, ptr noundef nonnull %.str.12.sink1769, i32 noundef %592, ptr noundef nonnull @.str.33, ptr noundef nonnull @.str.8, i32 noundef 156, ptr noundef %595, ptr noundef %597, ptr noundef %599, i32 noundef %600) #14
  call void @exit(i32 noundef 1) #15
  unreachable

602:                                              ; preds = %572
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %7) #12
  store i8 0, ptr %7, align 1, !tbaa !18
  %603 = load i32, ptr @test_count, align 4, !tbaa !5
  %604 = add nsw i32 %603, 1
  store i32 %604, ptr @test_count, align 4, !tbaa !5
  %605 = call i32 @s2n_extension_supported_iana_value_to_id(i16 noundef zeroext 0, ptr noundef nonnull %7) #12
  %606 = icmp eq i32 %605, -1
  br i1 %606, label %607, label %631

607:                                              ; preds = %602
  %608 = tail call ptr @__errno_location() #13
  %609 = load i32, ptr %608, align 4, !tbaa !5
  %610 = load ptr, ptr @stderr, align 8, !tbaa !9
  %611 = call i32 @s2n_print_stacktrace(ptr noundef %610) #12
  %612 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %613 = trunc nuw i8 %612 to i1
  br i1 %613, label %614, label %618

614:                                              ; preds = %607
  %615 = load ptr, ptr @stderr, align 8, !tbaa !9
  %616 = call i32 @fileno(ptr noundef %615) #12
  %617 = call i32 @isatty(i32 noundef %616) #12
  %.not1528 = icmp eq i32 %617, 0
  br i1 %.not1528, label %618, label %619

618:                                              ; preds = %614, %607
  br label %619

619:                                              ; preds = %614, %618
  %.str.12.sink1780 = phi ptr [ @.str.12, %618 ], [ @.str.9, %614 ]
  store i32 %609, ptr %608, align 4, !tbaa !5
  %620 = load ptr, ptr @stderr, align 8, !tbaa !9
  %621 = load i32, ptr @test_count, align 4, !tbaa !5
  %622 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %623 = load i32, ptr %622, align 4, !tbaa !5
  %624 = call ptr @s2n_strerror(i32 noundef %623, ptr noundef nonnull @.str.11) #12
  %625 = load i32, ptr %622, align 4, !tbaa !5
  %626 = call ptr @s2n_strerror_debug(i32 noundef %625, ptr noundef nonnull @.str.11) #12
  %627 = load i32, ptr %608, align 4, !tbaa !5
  %628 = call ptr @strerror(i32 noundef %627) #12
  %629 = load i32, ptr %608, align 4, !tbaa !5
  %630 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %620, ptr noundef nonnull %.str.12.sink1780, i32 noundef %621, ptr noundef nonnull @.str.34, ptr noundef nonnull @.str.8, i32 noundef 159, ptr noundef %624, ptr noundef %626, ptr noundef %628, i32 noundef %629) #14
  call void @exit(i32 noundef 1) #15
  unreachable

631:                                              ; preds = %602
  %632 = getelementptr inbounds i8, ptr %487, i64 2920
  %633 = load i8, ptr %7, align 1, !tbaa !18
  %634 = zext i8 %633 to i64
  %635 = getelementptr inbounds [21 x %struct.s2n_parsed_extension], ptr %632, i64 0, i64 %634, i32 1
  store i16 0, ptr %635, align 8, !tbaa !19
  %636 = getelementptr inbounds [21 x %struct.s2n_parsed_extension], ptr %632, i64 0, i64 %634
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %636, ptr noundef nonnull align 8 dereferenceable(24) %6, i64 24, i1 false), !tbaa.struct !22
  %637 = load i32, ptr @test_count, align 4, !tbaa !5
  %638 = add nsw i32 %637, 1
  store i32 %638, ptr @test_count, align 4, !tbaa !5
  %639 = call ptr @s2n_get_server_name(ptr noundef nonnull %487) #12
  %640 = icmp eq ptr %639, null
  br i1 %640, label %641, label %665

641:                                              ; preds = %631
  %642 = tail call ptr @__errno_location() #13
  %643 = load i32, ptr %642, align 4, !tbaa !5
  %644 = load ptr, ptr @stderr, align 8, !tbaa !9
  %645 = call i32 @s2n_print_stacktrace(ptr noundef %644) #12
  %646 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %647 = trunc nuw i8 %646 to i1
  br i1 %647, label %648, label %652

648:                                              ; preds = %641
  %649 = load ptr, ptr @stderr, align 8, !tbaa !9
  %650 = call i32 @fileno(ptr noundef %649) #12
  %651 = call i32 @isatty(i32 noundef %650) #12
  %.not1527 = icmp eq i32 %651, 0
  br i1 %.not1527, label %652, label %653

652:                                              ; preds = %648, %641
  br label %653

653:                                              ; preds = %648, %652
  %.str.12.sink1791 = phi ptr [ @.str.12, %652 ], [ @.str.9, %648 ]
  store i32 %643, ptr %642, align 4, !tbaa !5
  %654 = load ptr, ptr @stderr, align 8, !tbaa !9
  %655 = load i32, ptr @test_count, align 4, !tbaa !5
  %656 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %657 = load i32, ptr %656, align 4, !tbaa !5
  %658 = call ptr @s2n_strerror(i32 noundef %657, ptr noundef nonnull @.str.11) #12
  %659 = load i32, ptr %656, align 4, !tbaa !5
  %660 = call ptr @s2n_strerror_debug(i32 noundef %659, ptr noundef nonnull @.str.11) #12
  %661 = load i32, ptr %642, align 4, !tbaa !5
  %662 = call ptr @strerror(i32 noundef %661) #12
  %663 = load i32, ptr %642, align 4, !tbaa !5
  %664 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %654, ptr noundef nonnull %.str.12.sink1791, i32 noundef %655, ptr noundef nonnull @.str.35, ptr noundef nonnull @.str.8, i32 noundef 164, ptr noundef %658, ptr noundef %660, ptr noundef %662, i32 noundef %663) #14
  call void @exit(i32 noundef 1) #15
  unreachable

665:                                              ; preds = %631
  %666 = load i32, ptr @test_count, align 4, !tbaa !5
  %667 = add nsw i32 %666, 1
  store i32 %667, ptr @test_count, align 4, !tbaa !5
  %668 = load ptr, ptr %5, align 8, !tbaa !9
  %669 = call i32 @strcmp(ptr noundef nonnull dereferenceable(1) %639, ptr noundef nonnull dereferenceable(1) %668) #16
  %670 = icmp eq i32 %669, 0
  br i1 %670, label %695, label %671

671:                                              ; preds = %665
  %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
  %.not1120 = icmp eq i32 %681, 0
  br i1 %.not1120, label %682, label %683

682:                                              ; preds = %678, %671
  br label %683

683:                                              ; preds = %678, %682
  %.str.12.sink1802 = phi ptr [ @.str.12, %682 ], [ @.str.9, %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.11) #12
  %689 = load i32, ptr %686, align 4, !tbaa !5
  %690 = call ptr @s2n_strerror_debug(i32 noundef %689, ptr noundef nonnull @.str.11) #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.12.sink1802, i32 noundef %685, ptr noundef nonnull @.str.28, ptr noundef nonnull @.str.8, i32 noundef 165, ptr noundef %688, ptr noundef %690, ptr noundef %692, i32 noundef %693) #14
  call void @exit(i32 noundef 1) #15
  unreachable

695:                                              ; preds = %665
  %696 = add nsw i32 %666, 2
  store i32 %696, ptr @test_count, align 4, !tbaa !5
  %697 = call i32 @s2n_connection_free(ptr noundef nonnull %458) #12
  %698 = icmp eq i32 %697, -1
  br i1 %698, label %699, label %723

699:                                              ; preds = %695
  %700 = tail call ptr @__errno_location() #13
  %701 = load i32, ptr %700, align 4, !tbaa !5
  %702 = load ptr, ptr @stderr, align 8, !tbaa !9
  %703 = call i32 @s2n_print_stacktrace(ptr noundef %702) #12
  %704 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %705 = trunc nuw i8 %704 to i1
  br i1 %705, label %706, label %710

706:                                              ; preds = %699
  %707 = load ptr, ptr @stderr, align 8, !tbaa !9
  %708 = call i32 @fileno(ptr noundef %707) #12
  %709 = call i32 @isatty(i32 noundef %708) #12
  %.not1526 = icmp eq i32 %709, 0
  br i1 %.not1526, label %710, label %711

710:                                              ; preds = %706, %699
  br label %711

711:                                              ; preds = %706, %710
  %.str.12.sink1813 = phi ptr [ @.str.12, %710 ], [ @.str.9, %706 ]
  store i32 %701, ptr %700, align 4, !tbaa !5
  %712 = load ptr, ptr @stderr, align 8, !tbaa !9
  %713 = load i32, ptr @test_count, align 4, !tbaa !5
  %714 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %715 = load i32, ptr %714, align 4, !tbaa !5
  %716 = call ptr @s2n_strerror(i32 noundef %715, ptr noundef nonnull @.str.11) #12
  %717 = load i32, ptr %714, align 4, !tbaa !5
  %718 = call ptr @s2n_strerror_debug(i32 noundef %717, ptr noundef nonnull @.str.11) #12
  %719 = load i32, ptr %700, align 4, !tbaa !5
  %720 = call ptr @strerror(i32 noundef %719) #12
  %721 = load i32, ptr %700, align 4, !tbaa !5
  %722 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %712, ptr noundef nonnull %.str.12.sink1813, i32 noundef %713, ptr noundef nonnull @.str.36, ptr noundef nonnull @.str.8, i32 noundef 167, ptr noundef %716, ptr noundef %718, ptr noundef %720, i32 noundef %721) #14
  call void @exit(i32 noundef 1) #15
  unreachable

723:                                              ; preds = %695
  %724 = load i32, ptr @test_count, align 4, !tbaa !5
  %725 = add nsw i32 %724, 1
  store i32 %725, ptr @test_count, align 4, !tbaa !5
  %726 = call i32 @s2n_connection_free(ptr noundef nonnull %487) #12
  %727 = icmp eq i32 %726, -1
  br i1 %727, label %728, label %752

728:                                              ; preds = %723
  %729 = tail call ptr @__errno_location() #13
  %730 = load i32, ptr %729, align 4, !tbaa !5
  %731 = load ptr, ptr @stderr, align 8, !tbaa !9
  %732 = call i32 @s2n_print_stacktrace(ptr noundef %731) #12
  %733 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %734 = trunc nuw i8 %733 to i1
  br i1 %734, label %735, label %739

735:                                              ; preds = %728
  %736 = load ptr, ptr @stderr, align 8, !tbaa !9
  %737 = call i32 @fileno(ptr noundef %736) #12
  %738 = call i32 @isatty(i32 noundef %737) #12
  %.not1525 = icmp eq i32 %738, 0
  br i1 %.not1525, label %739, label %740

739:                                              ; preds = %735, %728
  br label %740

740:                                              ; preds = %735, %739
  %.str.12.sink1824 = phi ptr [ @.str.12, %739 ], [ @.str.9, %735 ]
  store i32 %730, ptr %729, align 4, !tbaa !5
  %741 = load ptr, ptr @stderr, align 8, !tbaa !9
  %742 = load i32, ptr @test_count, align 4, !tbaa !5
  %743 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %744 = load i32, ptr %743, align 4, !tbaa !5
  %745 = call ptr @s2n_strerror(i32 noundef %744, ptr noundef nonnull @.str.11) #12
  %746 = load i32, ptr %743, align 4, !tbaa !5
  %747 = call ptr @s2n_strerror_debug(i32 noundef %746, ptr noundef nonnull @.str.11) #12
  %748 = load i32, ptr %729, align 4, !tbaa !5
  %749 = call ptr @strerror(i32 noundef %748) #12
  %750 = load i32, ptr %729, align 4, !tbaa !5
  %751 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %741, ptr noundef nonnull %.str.12.sink1824, i32 noundef %742, ptr noundef nonnull @.str.37, ptr noundef nonnull @.str.8, i32 noundef 168, ptr noundef %745, ptr noundef %747, ptr noundef %749, i32 noundef %750) #14
  call void @exit(i32 noundef 1) #15
  unreachable

752:                                              ; preds = %723
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %7) #12
  %753 = call i32 @s2n_stuffer_free(ptr noundef nonnull %6) #12
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %6) #12
  store i8 0, ptr @s2n_server_name_test_callback_flag, align 1, !tbaa !11
  %754 = load i32, ptr @test_count, align 4, !tbaa !5
  %755 = add nsw i32 %754, 1
  store i32 %755, ptr @test_count, align 4, !tbaa !5
  %756 = call ptr @s2n_config_new() #12
  %757 = icmp eq ptr %756, null
  br i1 %757, label %758, label %782

758:                                              ; preds = %752
  %759 = tail call ptr @__errno_location() #13
  %760 = load i32, ptr %759, align 4, !tbaa !5
  %761 = load ptr, ptr @stderr, align 8, !tbaa !9
  %762 = call i32 @s2n_print_stacktrace(ptr noundef %761) #12
  %763 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %764 = trunc nuw i8 %763 to i1
  br i1 %764, label %765, label %769

765:                                              ; preds = %758
  %766 = load ptr, ptr @stderr, align 8, !tbaa !9
  %767 = call i32 @fileno(ptr noundef %766) #12
  %768 = call i32 @isatty(i32 noundef %767) #12
  %.not1524 = icmp eq i32 %768, 0
  br i1 %.not1524, label %769, label %770

769:                                              ; preds = %765, %758
  br label %770

770:                                              ; preds = %765, %769
  %.str.12.sink1835 = phi ptr [ @.str.12, %769 ], [ @.str.9, %765 ]
  store i32 %760, ptr %759, align 4, !tbaa !5
  %771 = load ptr, ptr @stderr, align 8, !tbaa !9
  %772 = load i32, ptr @test_count, align 4, !tbaa !5
  %773 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %774 = load i32, ptr %773, align 4, !tbaa !5
  %775 = call ptr @s2n_strerror(i32 noundef %774, ptr noundef nonnull @.str.11) #12
  %776 = load i32, ptr %773, align 4, !tbaa !5
  %777 = call ptr @s2n_strerror_debug(i32 noundef %776, ptr noundef nonnull @.str.11) #12
  %778 = load i32, ptr %759, align 4, !tbaa !5
  %779 = call ptr @strerror(i32 noundef %778) #12
  %780 = load i32, ptr %759, align 4, !tbaa !5
  %781 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %771, ptr noundef nonnull %.str.12.sink1835, i32 noundef %772, ptr noundef nonnull @.str.38, ptr noundef nonnull @.str.8, i32 noundef 177, ptr noundef %775, ptr noundef %777, ptr noundef %779, i32 noundef %780) #14
  call void @exit(i32 noundef 1) #15
  unreachable

782:                                              ; preds = %752
  %783 = load i32, ptr @test_count, align 4, !tbaa !5
  %784 = add nsw i32 %783, 1
  store i32 %784, ptr @test_count, align 4, !tbaa !5
  %785 = call i32 @s2n_config_set_client_hello_cb(ptr noundef nonnull %756, ptr noundef nonnull @s2n_server_name_test_callback, ptr noundef nonnull %5) #12
  %786 = icmp eq i32 %785, -1
  br i1 %786, label %787, label %811

787:                                              ; preds = %782
  %788 = tail call ptr @__errno_location() #13
  %789 = load i32, ptr %788, align 4, !tbaa !5
  %790 = load ptr, ptr @stderr, align 8, !tbaa !9
  %791 = call i32 @s2n_print_stacktrace(ptr noundef %790) #12
  %792 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %793 = trunc nuw i8 %792 to i1
  br i1 %793, label %794, label %798

794:                                              ; preds = %787
  %795 = load ptr, ptr @stderr, align 8, !tbaa !9
  %796 = call i32 @fileno(ptr noundef %795) #12
  %797 = call i32 @isatty(i32 noundef %796) #12
  %.not1523 = icmp eq i32 %797, 0
  br i1 %.not1523, label %798, label %799

798:                                              ; preds = %794, %787
  br label %799

799:                                              ; preds = %794, %798
  %.str.12.sink1846 = phi ptr [ @.str.12, %798 ], [ @.str.9, %794 ]
  store i32 %789, ptr %788, align 4, !tbaa !5
  %800 = load ptr, ptr @stderr, align 8, !tbaa !9
  %801 = load i32, ptr @test_count, align 4, !tbaa !5
  %802 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %803 = load i32, ptr %802, align 4, !tbaa !5
  %804 = call ptr @s2n_strerror(i32 noundef %803, ptr noundef nonnull @.str.11) #12
  %805 = load i32, ptr %802, align 4, !tbaa !5
  %806 = call ptr @s2n_strerror_debug(i32 noundef %805, ptr noundef nonnull @.str.11) #12
  %807 = load i32, ptr %788, align 4, !tbaa !5
  %808 = call ptr @strerror(i32 noundef %807) #12
  %809 = load i32, ptr %788, align 4, !tbaa !5
  %810 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %800, ptr noundef nonnull %.str.12.sink1846, i32 noundef %801, ptr noundef nonnull @.str.39, ptr noundef nonnull @.str.8, i32 noundef 178, ptr noundef %804, ptr noundef %806, ptr noundef %808, i32 noundef %809) #14
  call void @exit(i32 noundef 1) #15
  unreachable

811:                                              ; preds = %782
  %812 = load i32, ptr @test_count, align 4, !tbaa !5
  %813 = add nsw i32 %812, 1
  store i32 %813, ptr @test_count, align 4, !tbaa !5
  %814 = call ptr @s2n_connection_new(i32 noundef 1) #12
  %815 = icmp eq ptr %814, null
  br i1 %815, label %816, label %840

816:                                              ; preds = %811
  %817 = tail call ptr @__errno_location() #13
  %818 = load i32, ptr %817, align 4, !tbaa !5
  %819 = load ptr, ptr @stderr, align 8, !tbaa !9
  %820 = call i32 @s2n_print_stacktrace(ptr noundef %819) #12
  %821 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %822 = trunc nuw i8 %821 to i1
  br i1 %822, label %823, label %827

823:                                              ; preds = %816
  %824 = load ptr, ptr @stderr, align 8, !tbaa !9
  %825 = call i32 @fileno(ptr noundef %824) #12
  %826 = call i32 @isatty(i32 noundef %825) #12
  %.not1522 = icmp eq i32 %826, 0
  br i1 %.not1522, label %827, label %828

827:                                              ; preds = %823, %816
  br label %828

828:                                              ; preds = %823, %827
  %.str.12.sink1857 = phi ptr [ @.str.12, %827 ], [ @.str.9, %823 ]
  store i32 %818, ptr %817, align 4, !tbaa !5
  %829 = load ptr, ptr @stderr, align 8, !tbaa !9
  %830 = load i32, ptr @test_count, align 4, !tbaa !5
  %831 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %832 = load i32, ptr %831, align 4, !tbaa !5
  %833 = call ptr @s2n_strerror(i32 noundef %832, ptr noundef nonnull @.str.11) #12
  %834 = load i32, ptr %831, align 4, !tbaa !5
  %835 = call ptr @s2n_strerror_debug(i32 noundef %834, ptr noundef nonnull @.str.11) #12
  %836 = load i32, ptr %817, align 4, !tbaa !5
  %837 = call ptr @strerror(i32 noundef %836) #12
  %838 = load i32, ptr %817, align 4, !tbaa !5
  %839 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %829, ptr noundef nonnull %.str.12.sink1857, i32 noundef %830, ptr noundef nonnull @.str.29, ptr noundef nonnull @.str.8, i32 noundef 181, ptr noundef %833, ptr noundef %835, ptr noundef %837, i32 noundef %838) #14
  call void @exit(i32 noundef 1) #15
  unreachable

840:                                              ; preds = %811
  %841 = load i32, ptr @test_count, align 4, !tbaa !5
  %842 = add nsw i32 %841, 1
  store i32 %842, ptr @test_count, align 4, !tbaa !5
  %843 = load ptr, ptr %5, align 8, !tbaa !9
  %844 = call i32 @s2n_set_server_name(ptr noundef nonnull %814, ptr noundef %843) #12
  %845 = icmp eq i32 %844, -1
  br i1 %845, label %846, label %870

846:                                              ; preds = %840
  %847 = tail call ptr @__errno_location() #13
  %848 = load i32, ptr %847, align 4, !tbaa !5
  %849 = load ptr, ptr @stderr, align 8, !tbaa !9
  %850 = call i32 @s2n_print_stacktrace(ptr noundef %849) #12
  %851 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %852 = trunc nuw i8 %851 to i1
  br i1 %852, label %853, label %857

853:                                              ; preds = %846
  %854 = load ptr, ptr @stderr, align 8, !tbaa !9
  %855 = call i32 @fileno(ptr noundef %854) #12
  %856 = call i32 @isatty(i32 noundef %855) #12
  %.not1521 = icmp eq i32 %856, 0
  br i1 %.not1521, label %857, label %858

857:                                              ; preds = %853, %846
  br label %858

858:                                              ; preds = %853, %857
  %.str.12.sink1868 = phi ptr [ @.str.12, %857 ], [ @.str.9, %853 ]
  store i32 %848, ptr %847, align 4, !tbaa !5
  %859 = load ptr, ptr @stderr, align 8, !tbaa !9
  %860 = load i32, ptr @test_count, align 4, !tbaa !5
  %861 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %862 = load i32, ptr %861, align 4, !tbaa !5
  %863 = call ptr @s2n_strerror(i32 noundef %862, ptr noundef nonnull @.str.11) #12
  %864 = load i32, ptr %861, align 4, !tbaa !5
  %865 = call ptr @s2n_strerror_debug(i32 noundef %864, ptr noundef nonnull @.str.11) #12
  %866 = load i32, ptr %847, align 4, !tbaa !5
  %867 = call ptr @strerror(i32 noundef %866) #12
  %868 = load i32, ptr %847, align 4, !tbaa !5
  %869 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %859, ptr noundef nonnull %.str.12.sink1868, i32 noundef %860, ptr noundef nonnull @.str.32, ptr noundef nonnull @.str.8, i32 noundef 182, ptr noundef %863, ptr noundef %865, ptr noundef %867, i32 noundef %868) #14
  call void @exit(i32 noundef 1) #15
  unreachable

870:                                              ; preds = %840
  %871 = load i32, ptr @test_count, align 4, !tbaa !5
  %872 = add nsw i32 %871, 1
  store i32 %872, ptr @test_count, align 4, !tbaa !5
  %873 = call ptr @s2n_connection_new(i32 noundef 0) #12
  %874 = icmp eq ptr %873, null
  br i1 %874, label %875, label %899

875:                                              ; preds = %870
  %876 = tail call ptr @__errno_location() #13
  %877 = load i32, ptr %876, align 4, !tbaa !5
  %878 = load ptr, ptr @stderr, align 8, !tbaa !9
  %879 = call i32 @s2n_print_stacktrace(ptr noundef %878) #12
  %880 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %881 = trunc nuw i8 %880 to i1
  br i1 %881, label %882, label %886

882:                                              ; preds = %875
  %883 = load ptr, ptr @stderr, align 8, !tbaa !9
  %884 = call i32 @fileno(ptr noundef %883) #12
  %885 = call i32 @isatty(i32 noundef %884) #12
  %.not1520 = icmp eq i32 %885, 0
  br i1 %.not1520, label %886, label %887

886:                                              ; preds = %882, %875
  br label %887

887:                                              ; preds = %882, %886
  %.str.12.sink1879 = phi ptr [ @.str.12, %886 ], [ @.str.9, %882 ]
  store i32 %877, ptr %876, align 4, !tbaa !5
  %888 = load ptr, ptr @stderr, align 8, !tbaa !9
  %889 = load i32, ptr @test_count, align 4, !tbaa !5
  %890 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %891 = load i32, ptr %890, align 4, !tbaa !5
  %892 = call ptr @s2n_strerror(i32 noundef %891, ptr noundef nonnull @.str.11) #12
  %893 = load i32, ptr %890, align 4, !tbaa !5
  %894 = call ptr @s2n_strerror_debug(i32 noundef %893, ptr noundef nonnull @.str.11) #12
  %895 = load i32, ptr %876, align 4, !tbaa !5
  %896 = call ptr @strerror(i32 noundef %895) #12
  %897 = load i32, ptr %876, align 4, !tbaa !5
  %898 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %888, ptr noundef nonnull %.str.12.sink1879, i32 noundef %889, ptr noundef nonnull @.str.30, ptr noundef nonnull @.str.8, i32 noundef 185, ptr noundef %892, ptr noundef %894, ptr noundef %896, i32 noundef %897) #14
  call void @exit(i32 noundef 1) #15
  unreachable

899:                                              ; preds = %870
  %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_connection_set_config(ptr noundef nonnull %873, ptr noundef nonnull %756) #12
  %903 = icmp eq i32 %902, -1
  br i1 %903, label %904, label %928

904:                                              ; preds = %899
  %905 = tail call ptr @__errno_location() #13
  %906 = load i32, ptr %905, align 4, !tbaa !5
  %907 = load ptr, ptr @stderr, align 8, !tbaa !9
  %908 = call i32 @s2n_print_stacktrace(ptr noundef %907) #12
  %909 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %910 = trunc nuw i8 %909 to i1
  br i1 %910, label %911, label %915

911:                                              ; preds = %904
  %912 = load ptr, ptr @stderr, align 8, !tbaa !9
  %913 = call i32 @fileno(ptr noundef %912) #12
  %914 = call i32 @isatty(i32 noundef %913) #12
  %.not1519 = icmp eq i32 %914, 0
  br i1 %.not1519, label %915, label %916

915:                                              ; preds = %911, %904
  br label %916

916:                                              ; preds = %911, %915
  %.str.12.sink1890 = phi ptr [ @.str.12, %915 ], [ @.str.9, %911 ]
  store i32 %906, ptr %905, align 4, !tbaa !5
  %917 = load ptr, ptr @stderr, align 8, !tbaa !9
  %918 = load i32, ptr @test_count, align 4, !tbaa !5
  %919 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %920 = load i32, ptr %919, align 4, !tbaa !5
  %921 = call ptr @s2n_strerror(i32 noundef %920, ptr noundef nonnull @.str.11) #12
  %922 = load i32, ptr %919, align 4, !tbaa !5
  %923 = call ptr @s2n_strerror_debug(i32 noundef %922, ptr noundef nonnull @.str.11) #12
  %924 = load i32, ptr %905, align 4, !tbaa !5
  %925 = call ptr @strerror(i32 noundef %924) #12
  %926 = load i32, ptr %905, align 4, !tbaa !5
  %927 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %917, ptr noundef nonnull %.str.12.sink1890, i32 noundef %918, ptr noundef nonnull @.str.40, ptr noundef nonnull @.str.8, i32 noundef 186, ptr noundef %921, ptr noundef %923, ptr noundef %925, i32 noundef %926) #14
  call void @exit(i32 noundef 1) #15
  unreachable

928:                                              ; preds = %899
  %929 = load i32, ptr @test_count, align 4, !tbaa !5
  %930 = add nsw i32 %929, 1
  store i32 %930, ptr @test_count, align 4, !tbaa !5
  %931 = call i32 @s2n_client_hello_send(ptr noundef nonnull %814) #12
  %932 = icmp eq i32 %931, -1
  br i1 %932, label %933, label %957

933:                                              ; preds = %928
  %934 = tail call ptr @__errno_location() #13
  %935 = load i32, ptr %934, align 4, !tbaa !5
  %936 = load ptr, ptr @stderr, align 8, !tbaa !9
  %937 = call i32 @s2n_print_stacktrace(ptr noundef %936) #12
  %938 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %939 = trunc nuw i8 %938 to i1
  br i1 %939, label %940, label %944

940:                                              ; preds = %933
  %941 = load ptr, ptr @stderr, align 8, !tbaa !9
  %942 = call i32 @fileno(ptr noundef %941) #12
  %943 = call i32 @isatty(i32 noundef %942) #12
  %.not1518 = icmp eq i32 %943, 0
  br i1 %.not1518, label %944, label %945

944:                                              ; preds = %940, %933
  br label %945

945:                                              ; preds = %940, %944
  %.str.12.sink1901 = phi ptr [ @.str.12, %944 ], [ @.str.9, %940 ]
  store i32 %935, ptr %934, align 4, !tbaa !5
  %946 = load ptr, ptr @stderr, align 8, !tbaa !9
  %947 = load i32, ptr @test_count, align 4, !tbaa !5
  %948 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %949 = load i32, ptr %948, align 4, !tbaa !5
  %950 = call ptr @s2n_strerror(i32 noundef %949, ptr noundef nonnull @.str.11) #12
  %951 = load i32, ptr %948, align 4, !tbaa !5
  %952 = call ptr @s2n_strerror_debug(i32 noundef %951, ptr noundef nonnull @.str.11) #12
  %953 = load i32, ptr %934, align 4, !tbaa !5
  %954 = call ptr @strerror(i32 noundef %953) #12
  %955 = load i32, ptr %934, align 4, !tbaa !5
  %956 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %946, ptr noundef nonnull %.str.12.sink1901, i32 noundef %947, ptr noundef nonnull @.str.41, ptr noundef nonnull @.str.8, i32 noundef 188, ptr noundef %950, ptr noundef %952, ptr noundef %954, i32 noundef %955) #14
  call void @exit(i32 noundef 1) #15
  unreachable

957:                                              ; preds = %928
  %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 = getelementptr inbounds i8, ptr %814, i64 2016
  %961 = getelementptr inbounds i8, ptr %873, i64 2016
  %962 = getelementptr inbounds i8, ptr %814, i64 2044
  %963 = load i32, ptr %962, align 4, !tbaa !23
  %964 = getelementptr inbounds i8, ptr %814, i64 2040
  %965 = load i32, ptr %964, align 8, !tbaa !48
  %966 = sub i32 %963, %965
  %967 = call i32 @s2n_stuffer_copy(ptr noundef nonnull %960, ptr noundef nonnull %961, i32 noundef %966) #12
  %968 = icmp eq i32 %967, -1
  br i1 %968, label %969, label %993

969:                                              ; preds = %957
  %970 = tail call ptr @__errno_location() #13
  %971 = load i32, ptr %970, align 4, !tbaa !5
  %972 = load ptr, ptr @stderr, align 8, !tbaa !9
  %973 = call i32 @s2n_print_stacktrace(ptr noundef %972) #12
  %974 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %975 = trunc nuw i8 %974 to i1
  br i1 %975, label %976, label %980

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

980:                                              ; preds = %976, %969
  br label %981

981:                                              ; preds = %976, %980
  %.str.12.sink1912 = phi ptr [ @.str.12, %980 ], [ @.str.9, %976 ]
  store i32 %971, ptr %970, align 4, !tbaa !5
  %982 = load ptr, ptr @stderr, align 8, !tbaa !9
  %983 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %985, ptr noundef nonnull @.str.11) #12
  %987 = load i32, ptr %984, align 4, !tbaa !5
  %988 = call ptr @s2n_strerror_debug(i32 noundef %987, ptr noundef nonnull @.str.11) #12
  %989 = load i32, ptr %970, align 4, !tbaa !5
  %990 = call ptr @strerror(i32 noundef %989) #12
  %991 = load i32, ptr %970, align 4, !tbaa !5
  %992 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %982, ptr noundef nonnull %.str.12.sink1912, i32 noundef %983, ptr noundef nonnull @.str.42, ptr noundef nonnull @.str.8, i32 noundef 190, ptr noundef %986, ptr noundef %988, ptr noundef %990, i32 noundef %991) #14
  call void @exit(i32 noundef 1) #15
  unreachable

993:                                              ; preds = %957
  %994 = call i32 @s2n_client_hello_recv(ptr noundef nonnull %873) #12
  %995 = load i32, ptr @test_count, align 4, !tbaa !5
  %996 = add nsw i32 %995, 1
  store i32 %996, ptr @test_count, align 4, !tbaa !5
  %997 = load i8, ptr @s2n_server_name_test_callback_flag, align 1, !tbaa !11, !range !13, !noundef !14
  %998 = trunc nuw i8 %997 to i1
  br i1 %998, label %1023, label %999

999:                                              ; preds = %993
  %1000 = tail call ptr @__errno_location() #13
  %1001 = load i32, ptr %1000, align 4, !tbaa !5
  %1002 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1003 = call i32 @s2n_print_stacktrace(ptr noundef %1002) #12
  %1004 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1005 = trunc nuw i8 %1004 to i1
  br i1 %1005, label %1006, label %1010

1006:                                             ; preds = %999
  %1007 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1008 = call i32 @fileno(ptr noundef %1007) #12
  %1009 = call i32 @isatty(i32 noundef %1008) #12
  %.not1121 = icmp eq i32 %1009, 0
  br i1 %.not1121, label %1010, label %1011

1010:                                             ; preds = %1006, %999
  br label %1011

1011:                                             ; preds = %1006, %1010
  %.str.12.sink1923 = phi ptr [ @.str.12, %1010 ], [ @.str.9, %1006 ]
  store i32 %1001, ptr %1000, align 4, !tbaa !5
  %1012 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1013 = load i32, ptr @test_count, align 4, !tbaa !5
  %1014 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1015 = load i32, ptr %1014, align 4, !tbaa !5
  %1016 = call ptr @s2n_strerror(i32 noundef %1015, ptr noundef nonnull @.str.11) #12
  %1017 = load i32, ptr %1014, align 4, !tbaa !5
  %1018 = call ptr @s2n_strerror_debug(i32 noundef %1017, ptr noundef nonnull @.str.11) #12
  %1019 = load i32, ptr %1000, align 4, !tbaa !5
  %1020 = call ptr @strerror(i32 noundef %1019) #12
  %1021 = load i32, ptr %1000, align 4, !tbaa !5
  %1022 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1012, ptr noundef nonnull %.str.12.sink1923, i32 noundef %1013, ptr noundef nonnull @.str.43, ptr noundef nonnull @.str.8, i32 noundef 197, ptr noundef %1016, ptr noundef %1018, ptr noundef %1020, i32 noundef %1021) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1023:                                             ; preds = %993
  %1024 = add nsw i32 %995, 2
  store i32 %1024, ptr @test_count, align 4, !tbaa !5
  %1025 = call i32 @s2n_connection_free(ptr noundef nonnull %814) #12
  %1026 = icmp eq i32 %1025, -1
  br i1 %1026, label %1027, label %1051

1027:                                             ; preds = %1023
  %1028 = tail call ptr @__errno_location() #13
  %1029 = load i32, ptr %1028, align 4, !tbaa !5
  %1030 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1031 = call i32 @s2n_print_stacktrace(ptr noundef %1030) #12
  %1032 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1033 = trunc nuw i8 %1032 to i1
  br i1 %1033, label %1034, label %1038

1034:                                             ; preds = %1027
  %1035 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1036 = call i32 @fileno(ptr noundef %1035) #12
  %1037 = call i32 @isatty(i32 noundef %1036) #12
  %.not1516 = icmp eq i32 %1037, 0
  br i1 %.not1516, label %1038, label %1039

1038:                                             ; preds = %1034, %1027
  br label %1039

1039:                                             ; preds = %1034, %1038
  %.str.12.sink1934 = phi ptr [ @.str.12, %1038 ], [ @.str.9, %1034 ]
  store i32 %1029, ptr %1028, 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 nonnull @.str.11) #12
  %1045 = load i32, ptr %1042, align 4, !tbaa !5
  %1046 = call ptr @s2n_strerror_debug(i32 noundef %1045, ptr noundef nonnull @.str.11) #12
  %1047 = load i32, ptr %1028, align 4, !tbaa !5
  %1048 = call ptr @strerror(i32 noundef %1047) #12
  %1049 = load i32, ptr %1028, align 4, !tbaa !5
  %1050 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1040, ptr noundef nonnull %.str.12.sink1934, i32 noundef %1041, ptr noundef nonnull @.str.36, ptr noundef nonnull @.str.8, i32 noundef 199, ptr noundef %1044, ptr noundef %1046, ptr noundef %1048, i32 noundef %1049) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1051:                                             ; preds = %1023
  %1052 = load i32, ptr @test_count, align 4, !tbaa !5
  %1053 = add nsw i32 %1052, 1
  store i32 %1053, ptr @test_count, align 4, !tbaa !5
  %1054 = call i32 @s2n_connection_free(ptr noundef nonnull %873) #12
  %1055 = icmp eq i32 %1054, -1
  br i1 %1055, label %1056, label %1080

1056:                                             ; preds = %1051
  %1057 = tail call ptr @__errno_location() #13
  %1058 = load i32, ptr %1057, align 4, !tbaa !5
  %1059 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1060 = call i32 @s2n_print_stacktrace(ptr noundef %1059) #12
  %1061 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1062 = trunc nuw i8 %1061 to i1
  br i1 %1062, label %1063, label %1067

1063:                                             ; preds = %1056
  %1064 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1065 = call i32 @fileno(ptr noundef %1064) #12
  %1066 = call i32 @isatty(i32 noundef %1065) #12
  %.not1515 = icmp eq i32 %1066, 0
  br i1 %.not1515, label %1067, label %1068

1067:                                             ; preds = %1063, %1056
  br label %1068

1068:                                             ; preds = %1063, %1067
  %.str.12.sink1945 = phi ptr [ @.str.12, %1067 ], [ @.str.9, %1063 ]
  store i32 %1058, ptr %1057, align 4, !tbaa !5
  %1069 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1070 = load i32, ptr @test_count, align 4, !tbaa !5
  %1071 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1072 = load i32, ptr %1071, align 4, !tbaa !5
  %1073 = call ptr @s2n_strerror(i32 noundef %1072, ptr noundef nonnull @.str.11) #12
  %1074 = load i32, ptr %1071, align 4, !tbaa !5
  %1075 = call ptr @s2n_strerror_debug(i32 noundef %1074, ptr noundef nonnull @.str.11) #12
  %1076 = load i32, ptr %1057, align 4, !tbaa !5
  %1077 = call ptr @strerror(i32 noundef %1076) #12
  %1078 = load i32, ptr %1057, align 4, !tbaa !5
  %1079 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1069, ptr noundef nonnull %.str.12.sink1945, i32 noundef %1070, ptr noundef nonnull @.str.37, ptr noundef nonnull @.str.8, i32 noundef 200, ptr noundef %1073, ptr noundef %1075, ptr noundef %1077, i32 noundef %1078) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1080:                                             ; preds = %1051
  %1081 = load i32, ptr @test_count, align 4, !tbaa !5
  %1082 = add nsw i32 %1081, 1
  store i32 %1082, ptr @test_count, align 4, !tbaa !5
  %1083 = call i32 @s2n_config_free(ptr noundef nonnull %756) #12
  %1084 = icmp eq i32 %1083, -1
  br i1 %1084, label %1085, label %1109

1085:                                             ; preds = %1080
  %1086 = tail call ptr @__errno_location() #13
  %1087 = load i32, ptr %1086, align 4, !tbaa !5
  %1088 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1089 = call i32 @s2n_print_stacktrace(ptr noundef %1088) #12
  %1090 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1091 = trunc nuw i8 %1090 to i1
  br i1 %1091, label %1092, label %1096

1092:                                             ; preds = %1085
  %1093 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1094 = call i32 @fileno(ptr noundef %1093) #12
  %1095 = call i32 @isatty(i32 noundef %1094) #12
  %.not1514 = icmp eq i32 %1095, 0
  br i1 %.not1514, label %1096, label %1097

1096:                                             ; preds = %1092, %1085
  br label %1097

1097:                                             ; preds = %1092, %1096
  %.str.12.sink1956 = phi ptr [ @.str.12, %1096 ], [ @.str.9, %1092 ]
  store i32 %1087, ptr %1086, align 4, !tbaa !5
  %1098 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1099 = load i32, ptr @test_count, align 4, !tbaa !5
  %1100 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1101 = load i32, ptr %1100, align 4, !tbaa !5
  %1102 = call ptr @s2n_strerror(i32 noundef %1101, ptr noundef nonnull @.str.11) #12
  %1103 = load i32, ptr %1100, align 4, !tbaa !5
  %1104 = call ptr @s2n_strerror_debug(i32 noundef %1103, ptr noundef nonnull @.str.11) #12
  %1105 = load i32, ptr %1086, align 4, !tbaa !5
  %1106 = call ptr @strerror(i32 noundef %1105) #12
  %1107 = load i32, ptr %1086, align 4, !tbaa !5
  %1108 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1098, ptr noundef nonnull %.str.12.sink1956, i32 noundef %1099, ptr noundef nonnull @.str.44, ptr noundef nonnull @.str.8, i32 noundef 201, ptr noundef %1102, ptr noundef %1104, ptr noundef %1106, i32 noundef %1107) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1109:                                             ; preds = %1080
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %5) #12
  %1110 = load i32, ptr @test_count, align 4, !tbaa !5
  %1111 = add nsw i32 %1110, 1
  store i32 %1111, ptr @test_count, align 4, !tbaa !5
  %1112 = call ptr @s2n_connection_new(i32 noundef 1) #12
  %1113 = icmp eq ptr %1112, null
  br i1 %1113, label %1114, label %1138

1114:                                             ; preds = %1109
  %1115 = tail call ptr @__errno_location() #13
  %1116 = load i32, ptr %1115, align 4, !tbaa !5
  %1117 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1118 = call i32 @s2n_print_stacktrace(ptr noundef %1117) #12
  %1119 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1120 = trunc nuw i8 %1119 to i1
  br i1 %1120, label %1121, label %1125

1121:                                             ; preds = %1114
  %1122 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1123 = call i32 @fileno(ptr noundef %1122) #12
  %1124 = call i32 @isatty(i32 noundef %1123) #12
  %.not1513 = icmp eq i32 %1124, 0
  br i1 %.not1513, label %1125, label %1126

1125:                                             ; preds = %1121, %1114
  br label %1126

1126:                                             ; preds = %1121, %1125
  %.str.12.sink1967 = phi ptr [ @.str.12, %1125 ], [ @.str.9, %1121 ]
  store i32 %1116, ptr %1115, align 4, !tbaa !5
  %1127 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1128 = load i32, ptr @test_count, align 4, !tbaa !5
  %1129 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1130 = load i32, ptr %1129, align 4, !tbaa !5
  %1131 = call ptr @s2n_strerror(i32 noundef %1130, ptr noundef nonnull @.str.11) #12
  %1132 = load i32, ptr %1129, align 4, !tbaa !5
  %1133 = call ptr @s2n_strerror_debug(i32 noundef %1132, ptr noundef nonnull @.str.11) #12
  %1134 = load i32, ptr %1115, align 4, !tbaa !5
  %1135 = call ptr @strerror(i32 noundef %1134) #12
  %1136 = load i32, ptr %1115, align 4, !tbaa !5
  %1137 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1127, ptr noundef nonnull %.str.12.sink1967, i32 noundef %1128, ptr noundef nonnull @.str.29, ptr noundef nonnull @.str.8, i32 noundef 208, ptr noundef %1131, ptr noundef %1133, ptr noundef %1135, i32 noundef %1136) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1138:                                             ; preds = %1109
  %1139 = load i32, ptr @test_count, align 4, !tbaa !5
  %1140 = add nsw i32 %1139, 1
  store i32 %1140, ptr @test_count, align 4, !tbaa !5
  %1141 = call i32 @s2n_set_test_protocol_versions(ptr noundef nonnull %1112)
  %1142 = icmp eq i32 %1141, -1
  br i1 %1142, label %1143, label %1167

1143:                                             ; preds = %1138
  %1144 = tail call ptr @__errno_location() #13
  %1145 = load i32, ptr %1144, align 4, !tbaa !5
  %1146 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1147 = call i32 @s2n_print_stacktrace(ptr noundef %1146) #12
  %1148 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1149 = trunc nuw i8 %1148 to i1
  br i1 %1149, label %1150, label %1154

1150:                                             ; preds = %1143
  %1151 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1152 = call i32 @fileno(ptr noundef %1151) #12
  %1153 = call i32 @isatty(i32 noundef %1152) #12
  %.not1512 = icmp eq i32 %1153, 0
  br i1 %.not1512, label %1154, label %1155

1154:                                             ; preds = %1150, %1143
  br label %1155

1155:                                             ; preds = %1150, %1154
  %.str.12.sink1978 = phi ptr [ @.str.12, %1154 ], [ @.str.9, %1150 ]
  store i32 %1145, ptr %1144, align 4, !tbaa !5
  %1156 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1157 = load i32, ptr @test_count, align 4, !tbaa !5
  %1158 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1159 = load i32, ptr %1158, align 4, !tbaa !5
  %1160 = call ptr @s2n_strerror(i32 noundef %1159, ptr noundef nonnull @.str.11) #12
  %1161 = load i32, ptr %1158, align 4, !tbaa !5
  %1162 = call ptr @s2n_strerror_debug(i32 noundef %1161, ptr noundef nonnull @.str.11) #12
  %1163 = load i32, ptr %1144, align 4, !tbaa !5
  %1164 = call ptr @strerror(i32 noundef %1163) #12
  %1165 = load i32, ptr %1144, align 4, !tbaa !5
  %1166 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1156, ptr noundef nonnull %.str.12.sink1978, i32 noundef %1157, ptr noundef nonnull @.str.45, ptr noundef nonnull @.str.8, i32 noundef 209, ptr noundef %1160, ptr noundef %1162, ptr noundef %1164, i32 noundef %1165) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1167:                                             ; preds = %1138
  %1168 = load i32, ptr @test_count, align 4, !tbaa !5
  %1169 = add nsw i32 %1168, 1
  store i32 %1169, ptr @test_count, align 4, !tbaa !5
  %1170 = call ptr @s2n_connection_new(i32 noundef 0) #12
  %1171 = icmp eq ptr %1170, null
  br i1 %1171, label %1172, label %1196

1172:                                             ; preds = %1167
  %1173 = tail call ptr @__errno_location() #13
  %1174 = load i32, ptr %1173, align 4, !tbaa !5
  %1175 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1176 = call i32 @s2n_print_stacktrace(ptr noundef %1175) #12
  %1177 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1178 = trunc nuw i8 %1177 to i1
  br i1 %1178, label %1179, label %1183

1179:                                             ; preds = %1172
  %1180 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1181 = call i32 @fileno(ptr noundef %1180) #12
  %1182 = call i32 @isatty(i32 noundef %1181) #12
  %.not1511 = icmp eq i32 %1182, 0
  br i1 %.not1511, label %1183, label %1184

1183:                                             ; preds = %1179, %1172
  br label %1184

1184:                                             ; preds = %1179, %1183
  %.str.12.sink1989 = phi ptr [ @.str.12, %1183 ], [ @.str.9, %1179 ]
  store i32 %1174, ptr %1173, align 4, !tbaa !5
  %1185 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1186 = load i32, ptr @test_count, align 4, !tbaa !5
  %1187 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1188 = load i32, ptr %1187, align 4, !tbaa !5
  %1189 = call ptr @s2n_strerror(i32 noundef %1188, ptr noundef nonnull @.str.11) #12
  %1190 = load i32, ptr %1187, align 4, !tbaa !5
  %1191 = call ptr @s2n_strerror_debug(i32 noundef %1190, ptr noundef nonnull @.str.11) #12
  %1192 = load i32, ptr %1173, align 4, !tbaa !5
  %1193 = call ptr @strerror(i32 noundef %1192) #12
  %1194 = load i32, ptr %1173, align 4, !tbaa !5
  %1195 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1185, ptr noundef nonnull %.str.12.sink1989, i32 noundef %1186, ptr noundef nonnull @.str.30, ptr noundef nonnull @.str.8, i32 noundef 210, ptr noundef %1189, ptr noundef %1191, ptr noundef %1193, i32 noundef %1194) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1196:                                             ; preds = %1167
  %1197 = load i32, ptr @test_count, align 4, !tbaa !5
  %1198 = add nsw i32 %1197, 1
  store i32 %1198, ptr @test_count, align 4, !tbaa !5
  %1199 = call i32 @s2n_set_test_protocol_versions(ptr noundef nonnull %1170)
  %1200 = icmp eq i32 %1199, -1
  br i1 %1200, label %1201, label %1225

1201:                                             ; preds = %1196
  %1202 = tail call ptr @__errno_location() #13
  %1203 = load i32, ptr %1202, align 4, !tbaa !5
  %1204 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1205 = call i32 @s2n_print_stacktrace(ptr noundef %1204) #12
  %1206 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1207 = trunc nuw i8 %1206 to i1
  br i1 %1207, label %1208, label %1212

1208:                                             ; preds = %1201
  %1209 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1210 = call i32 @fileno(ptr noundef %1209) #12
  %1211 = call i32 @isatty(i32 noundef %1210) #12
  %.not1510 = icmp eq i32 %1211, 0
  br i1 %.not1510, label %1212, label %1213

1212:                                             ; preds = %1208, %1201
  br label %1213

1213:                                             ; preds = %1208, %1212
  %.str.12.sink2000 = phi ptr [ @.str.12, %1212 ], [ @.str.9, %1208 ]
  store i32 %1203, ptr %1202, align 4, !tbaa !5
  %1214 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1215 = load i32, ptr @test_count, align 4, !tbaa !5
  %1216 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1217 = load i32, ptr %1216, align 4, !tbaa !5
  %1218 = call ptr @s2n_strerror(i32 noundef %1217, ptr noundef nonnull @.str.11) #12
  %1219 = load i32, ptr %1216, align 4, !tbaa !5
  %1220 = call ptr @s2n_strerror_debug(i32 noundef %1219, ptr noundef nonnull @.str.11) #12
  %1221 = load i32, ptr %1202, align 4, !tbaa !5
  %1222 = call ptr @strerror(i32 noundef %1221) #12
  %1223 = load i32, ptr %1202, align 4, !tbaa !5
  %1224 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1214, ptr noundef nonnull %.str.12.sink2000, i32 noundef %1215, ptr noundef nonnull @.str.46, ptr noundef nonnull @.str.8, i32 noundef 211, ptr noundef %1218, ptr noundef %1220, ptr noundef %1222, i32 noundef %1223) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1225:                                             ; preds = %1196
  %1226 = load i32, ptr @test_count, align 4, !tbaa !5
  %1227 = add nsw i32 %1226, 1
  store i32 %1227, ptr @test_count, align 4, !tbaa !5
  %1228 = call zeroext i8 @s2n_connection_get_protocol_version(ptr noundef null) #12
  %1229 = icmp eq i8 %1228, 0
  br i1 %1229, label %1254, label %1230

1230:                                             ; preds = %1225
  %1231 = tail call ptr @__errno_location() #13
  %1232 = load i32, ptr %1231, align 4, !tbaa !5
  %1233 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1234 = call i32 @s2n_print_stacktrace(ptr noundef %1233) #12
  %1235 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1236 = trunc nuw i8 %1235 to i1
  br i1 %1236, label %1237, label %1241

1237:                                             ; preds = %1230
  %1238 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1239 = call i32 @fileno(ptr noundef %1238) #12
  %1240 = call i32 @isatty(i32 noundef %1239) #12
  %.not1122 = icmp eq i32 %1240, 0
  br i1 %.not1122, label %1241, label %1242

1241:                                             ; preds = %1237, %1230
  br label %1242

1242:                                             ; preds = %1237, %1241
  %.str.12.sink2011 = phi ptr [ @.str.12, %1241 ], [ @.str.9, %1237 ]
  store i32 %1232, ptr %1231, align 4, !tbaa !5
  %1243 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1244 = load i32, ptr @test_count, align 4, !tbaa !5
  %1245 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1246 = load i32, ptr %1245, align 4, !tbaa !5
  %1247 = call ptr @s2n_strerror(i32 noundef %1246, ptr noundef nonnull @.str.11) #12
  %1248 = load i32, ptr %1245, align 4, !tbaa !5
  %1249 = call ptr @s2n_strerror_debug(i32 noundef %1248, ptr noundef nonnull @.str.11) #12
  %1250 = load i32, ptr %1231, align 4, !tbaa !5
  %1251 = call ptr @strerror(i32 noundef %1250) #12
  %1252 = load i32, ptr %1231, align 4, !tbaa !5
  %1253 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1243, ptr noundef nonnull %.str.12.sink2011, i32 noundef %1244, ptr noundef nonnull @.str.47, ptr noundef nonnull @.str.8, i32 noundef 214, ptr noundef %1247, ptr noundef %1249, ptr noundef %1251, i32 noundef %1252) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1254:                                             ; preds = %1225
  %1255 = load i32, ptr @test_count, align 4, !tbaa !5
  %1256 = add nsw i32 %1255, 1
  store i32 %1256, ptr @test_count, align 4, !tbaa !5
  %1257 = call zeroext i8 @s2n_connection_get_protocol_version(ptr noundef nonnull %1112) #12
  %1258 = icmp eq i8 %1257, 1
  br i1 %1258, label %1283, label %1259

1259:                                             ; preds = %1254
  %1260 = tail call ptr @__errno_location() #13
  %1261 = load i32, ptr %1260, align 4, !tbaa !5
  %1262 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1263 = call i32 @s2n_print_stacktrace(ptr noundef %1262) #12
  %1264 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1265 = trunc nuw i8 %1264 to i1
  br i1 %1265, label %1266, label %1270

1266:                                             ; preds = %1259
  %1267 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1268 = call i32 @fileno(ptr noundef %1267) #12
  %1269 = call i32 @isatty(i32 noundef %1268) #12
  %.not1123 = icmp eq i32 %1269, 0
  br i1 %.not1123, label %1270, label %1271

1270:                                             ; preds = %1266, %1259
  br label %1271

1271:                                             ; preds = %1266, %1270
  %.str.12.sink2022 = phi ptr [ @.str.12, %1270 ], [ @.str.9, %1266 ]
  store i32 %1261, ptr %1260, align 4, !tbaa !5
  %1272 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1273 = load i32, ptr @test_count, align 4, !tbaa !5
  %1274 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1275 = load i32, ptr %1274, align 4, !tbaa !5
  %1276 = call ptr @s2n_strerror(i32 noundef %1275, ptr noundef nonnull @.str.11) #12
  %1277 = load i32, ptr %1274, align 4, !tbaa !5
  %1278 = call ptr @s2n_strerror_debug(i32 noundef %1277, ptr noundef nonnull @.str.11) #12
  %1279 = load i32, ptr %1260, align 4, !tbaa !5
  %1280 = call ptr @strerror(i32 noundef %1279) #12
  %1281 = load i32, ptr %1260, align 4, !tbaa !5
  %1282 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1272, ptr noundef nonnull %.str.12.sink2022, i32 noundef %1273, ptr noundef nonnull @.str.48, ptr noundef nonnull @.str.8, i32 noundef 217, ptr noundef %1276, ptr noundef %1278, ptr noundef %1280, i32 noundef %1281) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1283:                                             ; preds = %1254
  %1284 = load i32, ptr @test_count, align 4, !tbaa !5
  %1285 = add nsw i32 %1284, 1
  store i32 %1285, ptr @test_count, align 4, !tbaa !5
  %1286 = call zeroext i8 @s2n_connection_get_protocol_version(ptr noundef nonnull %1170) #12
  %1287 = icmp eq i8 %1286, 1
  br i1 %1287, label %1312, label %1288

1288:                                             ; preds = %1283
  %1289 = tail call ptr @__errno_location() #13
  %1290 = load i32, ptr %1289, align 4, !tbaa !5
  %1291 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1292 = call i32 @s2n_print_stacktrace(ptr noundef %1291) #12
  %1293 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1294 = trunc nuw i8 %1293 to i1
  br i1 %1294, label %1295, label %1299

1295:                                             ; preds = %1288
  %1296 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1297 = call i32 @fileno(ptr noundef %1296) #12
  %1298 = call i32 @isatty(i32 noundef %1297) #12
  %.not1124 = icmp eq i32 %1298, 0
  br i1 %.not1124, label %1299, label %1300

1299:                                             ; preds = %1295, %1288
  br label %1300

1300:                                             ; preds = %1295, %1299
  %.str.12.sink2033 = phi ptr [ @.str.12, %1299 ], [ @.str.9, %1295 ]
  store i32 %1290, ptr %1289, align 4, !tbaa !5
  %1301 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1302 = load i32, ptr @test_count, align 4, !tbaa !5
  %1303 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1304 = load i32, ptr %1303, align 4, !tbaa !5
  %1305 = call ptr @s2n_strerror(i32 noundef %1304, ptr noundef nonnull @.str.11) #12
  %1306 = load i32, ptr %1303, align 4, !tbaa !5
  %1307 = call ptr @s2n_strerror_debug(i32 noundef %1306, ptr noundef nonnull @.str.11) #12
  %1308 = load i32, ptr %1289, align 4, !tbaa !5
  %1309 = call ptr @strerror(i32 noundef %1308) #12
  %1310 = load i32, ptr %1289, align 4, !tbaa !5
  %1311 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1301, ptr noundef nonnull %.str.12.sink2033, i32 noundef %1302, ptr noundef nonnull @.str.49, ptr noundef nonnull @.str.8, i32 noundef 218, ptr noundef %1305, ptr noundef %1307, ptr noundef %1309, i32 noundef %1310) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1312:                                             ; preds = %1283
  %1313 = getelementptr inbounds i8, ptr %1112, i64 220
  store i8 0, ptr %1313, align 4, !tbaa !49
  %1314 = load i32, ptr @test_count, align 4, !tbaa !5
  %1315 = add nsw i32 %1314, 1
  store i32 %1315, ptr @test_count, align 4, !tbaa !5
  %1316 = call zeroext i8 @s2n_connection_get_protocol_version(ptr noundef nonnull %1112) #12
  %1317 = icmp eq i8 %1316, 2
  br i1 %1317, label %1342, label %1318

1318:                                             ; preds = %1312
  %1319 = tail call ptr @__errno_location() #13
  %1320 = load i32, ptr %1319, align 4, !tbaa !5
  %1321 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1322 = call i32 @s2n_print_stacktrace(ptr noundef %1321) #12
  %1323 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1324 = trunc nuw i8 %1323 to i1
  br i1 %1324, label %1325, label %1329

1325:                                             ; preds = %1318
  %1326 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1327 = call i32 @fileno(ptr noundef %1326) #12
  %1328 = call i32 @isatty(i32 noundef %1327) #12
  %.not1125 = icmp eq i32 %1328, 0
  br i1 %.not1125, label %1329, label %1330

1329:                                             ; preds = %1325, %1318
  br label %1330

1330:                                             ; preds = %1325, %1329
  %.str.12.sink2044 = phi ptr [ @.str.12, %1329 ], [ @.str.9, %1325 ]
  store i32 %1320, ptr %1319, align 4, !tbaa !5
  %1331 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1332 = load i32, ptr @test_count, align 4, !tbaa !5
  %1333 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1334 = load i32, ptr %1333, align 4, !tbaa !5
  %1335 = call ptr @s2n_strerror(i32 noundef %1334, ptr noundef nonnull @.str.11) #12
  %1336 = load i32, ptr %1333, align 4, !tbaa !5
  %1337 = call ptr @s2n_strerror_debug(i32 noundef %1336, ptr noundef nonnull @.str.11) #12
  %1338 = load i32, ptr %1319, align 4, !tbaa !5
  %1339 = call ptr @strerror(i32 noundef %1338) #12
  %1340 = load i32, ptr %1319, align 4, !tbaa !5
  %1341 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1331, ptr noundef nonnull %.str.12.sink2044, i32 noundef %1332, ptr noundef nonnull @.str.50, ptr noundef nonnull @.str.8, i32 noundef 222, ptr noundef %1335, ptr noundef %1337, ptr noundef %1339, i32 noundef %1340) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1342:                                             ; preds = %1312
  %1343 = getelementptr inbounds i8, ptr %1170, i64 220
  store i8 0, ptr %1343, align 4, !tbaa !49
  %1344 = load i32, ptr @test_count, align 4, !tbaa !5
  %1345 = add nsw i32 %1344, 1
  store i32 %1345, ptr @test_count, align 4, !tbaa !5
  %1346 = call zeroext i8 @s2n_connection_get_protocol_version(ptr noundef nonnull %1170) #12
  %1347 = icmp eq i8 %1346, 3
  br i1 %1347, label %1372, label %1348

1348:                                             ; preds = %1342
  %1349 = tail call ptr @__errno_location() #13
  %1350 = load i32, ptr %1349, align 4, !tbaa !5
  %1351 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1352 = call i32 @s2n_print_stacktrace(ptr noundef %1351) #12
  %1353 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1354 = trunc nuw i8 %1353 to i1
  br i1 %1354, label %1355, label %1359

1355:                                             ; preds = %1348
  %1356 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1357 = call i32 @fileno(ptr noundef %1356) #12
  %1358 = call i32 @isatty(i32 noundef %1357) #12
  %.not1126 = icmp eq i32 %1358, 0
  br i1 %.not1126, label %1359, label %1360

1359:                                             ; preds = %1355, %1348
  br label %1360

1360:                                             ; preds = %1355, %1359
  %.str.12.sink2055 = phi ptr [ @.str.12, %1359 ], [ @.str.9, %1355 ]
  store i32 %1350, ptr %1349, align 4, !tbaa !5
  %1361 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1362 = load i32, ptr @test_count, align 4, !tbaa !5
  %1363 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1364 = load i32, ptr %1363, align 4, !tbaa !5
  %1365 = call ptr @s2n_strerror(i32 noundef %1364, ptr noundef nonnull @.str.11) #12
  %1366 = load i32, ptr %1363, align 4, !tbaa !5
  %1367 = call ptr @s2n_strerror_debug(i32 noundef %1366, ptr noundef nonnull @.str.11) #12
  %1368 = load i32, ptr %1349, align 4, !tbaa !5
  %1369 = call ptr @strerror(i32 noundef %1368) #12
  %1370 = load i32, ptr %1349, align 4, !tbaa !5
  %1371 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1361, ptr noundef nonnull %.str.12.sink2055, i32 noundef %1362, ptr noundef nonnull @.str.51, ptr noundef nonnull @.str.8, i32 noundef 224, ptr noundef %1365, ptr noundef %1367, ptr noundef %1369, i32 noundef %1370) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1372:                                             ; preds = %1342
  %1373 = load i32, ptr @test_count, align 4, !tbaa !5
  %1374 = add nsw i32 %1373, 1
  store i32 %1374, ptr @test_count, align 4, !tbaa !5
  %1375 = call i32 @s2n_connection_free(ptr noundef nonnull %1112) #12
  %1376 = icmp eq i32 %1375, -1
  br i1 %1376, label %1377, label %1401

1377:                                             ; preds = %1372
  %1378 = tail call ptr @__errno_location() #13
  %1379 = load i32, ptr %1378, align 4, !tbaa !5
  %1380 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1381 = call i32 @s2n_print_stacktrace(ptr noundef %1380) #12
  %1382 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1383 = trunc nuw i8 %1382 to i1
  br i1 %1383, label %1384, label %1388

1384:                                             ; preds = %1377
  %1385 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1386 = call i32 @fileno(ptr noundef %1385) #12
  %1387 = call i32 @isatty(i32 noundef %1386) #12
  %.not1509 = icmp eq i32 %1387, 0
  br i1 %.not1509, label %1388, label %1389

1388:                                             ; preds = %1384, %1377
  br label %1389

1389:                                             ; preds = %1384, %1388
  %.str.12.sink2066 = phi ptr [ @.str.12, %1388 ], [ @.str.9, %1384 ]
  store i32 %1379, ptr %1378, align 4, !tbaa !5
  %1390 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1391 = load i32, ptr @test_count, align 4, !tbaa !5
  %1392 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1393 = load i32, ptr %1392, align 4, !tbaa !5
  %1394 = call ptr @s2n_strerror(i32 noundef %1393, ptr noundef nonnull @.str.11) #12
  %1395 = load i32, ptr %1392, align 4, !tbaa !5
  %1396 = call ptr @s2n_strerror_debug(i32 noundef %1395, ptr noundef nonnull @.str.11) #12
  %1397 = load i32, ptr %1378, align 4, !tbaa !5
  %1398 = call ptr @strerror(i32 noundef %1397) #12
  %1399 = load i32, ptr %1378, align 4, !tbaa !5
  %1400 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1390, ptr noundef nonnull %.str.12.sink2066, i32 noundef %1391, ptr noundef nonnull @.str.36, ptr noundef nonnull @.str.8, i32 noundef 226, ptr noundef %1394, ptr noundef %1396, ptr noundef %1398, i32 noundef %1399) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1401:                                             ; preds = %1372
  %1402 = load i32, ptr @test_count, align 4, !tbaa !5
  %1403 = add nsw i32 %1402, 1
  store i32 %1403, ptr @test_count, align 4, !tbaa !5
  %1404 = call i32 @s2n_connection_free(ptr noundef nonnull %1170) #12
  %1405 = icmp eq i32 %1404, -1
  br i1 %1405, label %1406, label %1430

1406:                                             ; preds = %1401
  %1407 = tail call ptr @__errno_location() #13
  %1408 = load i32, ptr %1407, align 4, !tbaa !5
  %1409 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1410 = call i32 @s2n_print_stacktrace(ptr noundef %1409) #12
  %1411 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1412 = trunc nuw i8 %1411 to i1
  br i1 %1412, label %1413, label %1417

1413:                                             ; preds = %1406
  %1414 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1415 = call i32 @fileno(ptr noundef %1414) #12
  %1416 = call i32 @isatty(i32 noundef %1415) #12
  %.not1508 = icmp eq i32 %1416, 0
  br i1 %.not1508, label %1417, label %1418

1417:                                             ; preds = %1413, %1406
  br label %1418

1418:                                             ; preds = %1413, %1417
  %.str.12.sink2077 = phi ptr [ @.str.12, %1417 ], [ @.str.9, %1413 ]
  store i32 %1408, ptr %1407, align 4, !tbaa !5
  %1419 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1420 = load i32, ptr @test_count, align 4, !tbaa !5
  %1421 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1422 = load i32, ptr %1421, align 4, !tbaa !5
  %1423 = call ptr @s2n_strerror(i32 noundef %1422, ptr noundef nonnull @.str.11) #12
  %1424 = load i32, ptr %1421, align 4, !tbaa !5
  %1425 = call ptr @s2n_strerror_debug(i32 noundef %1424, ptr noundef nonnull @.str.11) #12
  %1426 = load i32, ptr %1407, align 4, !tbaa !5
  %1427 = call ptr @strerror(i32 noundef %1426) #12
  %1428 = load i32, ptr %1407, align 4, !tbaa !5
  %1429 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1419, ptr noundef nonnull %.str.12.sink2077, i32 noundef %1420, ptr noundef nonnull @.str.37, ptr noundef nonnull @.str.8, i32 noundef 227, ptr noundef %1423, ptr noundef %1425, ptr noundef %1427, i32 noundef %1428) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1430:                                             ; preds = %1401
  %1431 = load i32, ptr @test_count, align 4, !tbaa !5
  %1432 = add nsw i32 %1431, 1
  store i32 %1432, ptr @test_count, align 4, !tbaa !5
  %1433 = call ptr @s2n_connection_new(i32 noundef 1) #12
  %1434 = icmp eq ptr %1433, null
  br i1 %1434, label %1435, label %1459

1435:                                             ; preds = %1430
  %1436 = tail call ptr @__errno_location() #13
  %1437 = load i32, ptr %1436, align 4, !tbaa !5
  %1438 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1439 = call i32 @s2n_print_stacktrace(ptr noundef %1438) #12
  %1440 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1441 = trunc nuw i8 %1440 to i1
  br i1 %1441, label %1442, label %1446

1442:                                             ; preds = %1435
  %1443 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1444 = call i32 @fileno(ptr noundef %1443) #12
  %1445 = call i32 @isatty(i32 noundef %1444) #12
  %.not1507 = icmp eq i32 %1445, 0
  br i1 %.not1507, label %1446, label %1447

1446:                                             ; preds = %1442, %1435
  br label %1447

1447:                                             ; preds = %1442, %1446
  %.str.12.sink2088 = phi ptr [ @.str.12, %1446 ], [ @.str.9, %1442 ]
  store i32 %1437, ptr %1436, align 4, !tbaa !5
  %1448 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1449 = load i32, ptr @test_count, align 4, !tbaa !5
  %1450 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1451 = load i32, ptr %1450, align 4, !tbaa !5
  %1452 = call ptr @s2n_strerror(i32 noundef %1451, ptr noundef nonnull @.str.11) #12
  %1453 = load i32, ptr %1450, align 4, !tbaa !5
  %1454 = call ptr @s2n_strerror_debug(i32 noundef %1453, ptr noundef nonnull @.str.11) #12
  %1455 = load i32, ptr %1436, align 4, !tbaa !5
  %1456 = call ptr @strerror(i32 noundef %1455) #12
  %1457 = load i32, ptr %1436, align 4, !tbaa !5
  %1458 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1448, ptr noundef nonnull %.str.12.sink2088, i32 noundef %1449, ptr noundef nonnull @.str.23, ptr noundef nonnull @.str.8, i32 noundef 233, ptr noundef %1452, ptr noundef %1454, ptr noundef %1456, i32 noundef %1457) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1459:                                             ; preds = %1430
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %8) #12
  store i32 0, ptr %8, align 4, !tbaa !5
  %1460 = load i32, ptr @test_count, align 4, !tbaa !5
  %1461 = add nsw i32 %1460, 1
  store i32 %1461, ptr @test_count, align 4, !tbaa !5
  %1462 = call i32 @s2n_connection_get_selected_digest_algorithm(ptr noundef null, ptr noundef nonnull %8) #12
  %1463 = icmp eq i32 %1462, -1
  br i1 %1463, label %1488, label %1464

1464:                                             ; preds = %1459
  %1465 = tail call ptr @__errno_location() #13
  %1466 = load i32, ptr %1465, align 4, !tbaa !5
  %1467 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1468 = call i32 @s2n_print_stacktrace(ptr noundef %1467) #12
  %1469 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1470 = trunc nuw i8 %1469 to i1
  br i1 %1470, label %1471, label %1475

1471:                                             ; preds = %1464
  %1472 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1473 = call i32 @fileno(ptr noundef %1472) #12
  %1474 = call i32 @isatty(i32 noundef %1473) #12
  %.not1127 = icmp eq i32 %1474, 0
  br i1 %.not1127, label %1475, label %1476

1475:                                             ; preds = %1471, %1464
  br label %1476

1476:                                             ; preds = %1471, %1475
  %.str.12.sink2099 = phi ptr [ @.str.12, %1475 ], [ @.str.9, %1471 ]
  store i32 %1466, ptr %1465, align 4, !tbaa !5
  %1477 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1478 = load i32, ptr @test_count, align 4, !tbaa !5
  %1479 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1480 = load i32, ptr %1479, align 4, !tbaa !5
  %1481 = call ptr @s2n_strerror(i32 noundef %1480, ptr noundef nonnull @.str.11) #12
  %1482 = load i32, ptr %1479, align 4, !tbaa !5
  %1483 = call ptr @s2n_strerror_debug(i32 noundef %1482, ptr noundef nonnull @.str.11) #12
  %1484 = load i32, ptr %1465, align 4, !tbaa !5
  %1485 = call ptr @strerror(i32 noundef %1484) #12
  %1486 = load i32, ptr %1465, align 4, !tbaa !5
  %1487 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1477, ptr noundef nonnull %.str.12.sink2099, i32 noundef %1478, ptr noundef nonnull @.str.52, ptr noundef nonnull @.str.8, i32 noundef 237, ptr noundef %1481, ptr noundef %1483, ptr noundef %1485, i32 noundef %1486) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1488:                                             ; preds = %1459
  %1489 = load i32, ptr @test_count, align 4, !tbaa !5
  %1490 = add nsw i32 %1489, 1
  store i32 %1490, ptr @test_count, align 4, !tbaa !5
  %1491 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1492 = load i32, ptr %1491, align 4, !tbaa !5
  %1493 = icmp eq i32 %1492, 0
  br i1 %1493, label %1494, label %1517

1494:                                             ; preds = %1488
  %1495 = tail call ptr @__errno_location() #13
  %1496 = load i32, ptr %1495, align 4, !tbaa !5
  %1497 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1498 = call i32 @s2n_print_stacktrace(ptr noundef %1497) #12
  %1499 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1500 = trunc nuw i8 %1499 to i1
  br i1 %1500, label %1501, label %1505

1501:                                             ; preds = %1494
  %1502 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1503 = call i32 @fileno(ptr noundef %1502) #12
  %1504 = call i32 @isatty(i32 noundef %1503) #12
  %.not1506 = icmp eq i32 %1504, 0
  br i1 %.not1506, label %1505, label %1506

1505:                                             ; preds = %1501, %1494
  br label %1506

1506:                                             ; preds = %1501, %1505
  %.str.12.sink2110 = phi ptr [ @.str.12, %1505 ], [ @.str.9, %1501 ]
  store i32 %1496, ptr %1495, align 4, !tbaa !5
  %1507 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1508 = load i32, ptr @test_count, align 4, !tbaa !5
  %1509 = load i32, ptr %1491, align 4, !tbaa !5
  %1510 = call ptr @s2n_strerror(i32 noundef %1509, ptr noundef nonnull @.str.11) #12
  %1511 = load i32, ptr %1491, align 4, !tbaa !5
  %1512 = call ptr @s2n_strerror_debug(i32 noundef %1511, ptr noundef nonnull @.str.11) #12
  %1513 = load i32, ptr %1495, align 4, !tbaa !5
  %1514 = call ptr @strerror(i32 noundef %1513) #12
  %1515 = load i32, ptr %1495, align 4, !tbaa !5
  %1516 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1507, ptr noundef nonnull %.str.12.sink2110, i32 noundef %1508, ptr noundef nonnull @.str.53, ptr noundef nonnull @.str.8, i32 noundef 237, ptr noundef %1510, ptr noundef %1512, ptr noundef %1514, i32 noundef %1515) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1517:                                             ; preds = %1488
  %1518 = add nsw i32 %1489, 2
  store i32 %1518, ptr @test_count, align 4, !tbaa !5
  %1519 = call ptr @s2n_strerror_debug(i32 noundef %1492, ptr noundef nonnull @.str.11) #12
  %1520 = icmp eq ptr %1519, null
  br i1 %1520, label %1521, label %1544

1521:                                             ; preds = %1517
  %1522 = tail call ptr @__errno_location() #13
  %1523 = load i32, ptr %1522, align 4, !tbaa !5
  %1524 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1525 = call i32 @s2n_print_stacktrace(ptr noundef %1524) #12
  %1526 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1527 = trunc nuw i8 %1526 to i1
  br i1 %1527, label %1528, label %1532

1528:                                             ; preds = %1521
  %1529 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1530 = call i32 @fileno(ptr noundef %1529) #12
  %1531 = call i32 @isatty(i32 noundef %1530) #12
  %.not1505 = icmp eq i32 %1531, 0
  br i1 %.not1505, label %1532, label %1533

1532:                                             ; preds = %1528, %1521
  br label %1533

1533:                                             ; preds = %1528, %1532
  %.str.12.sink2119 = phi ptr [ @.str.12, %1532 ], [ @.str.9, %1528 ]
  store i32 %1523, ptr %1522, align 4, !tbaa !5
  %1534 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1535 = load i32, ptr @test_count, align 4, !tbaa !5
  %1536 = load i32, ptr %1491, align 4, !tbaa !5
  %1537 = call ptr @s2n_strerror(i32 noundef %1536, ptr noundef nonnull @.str.11) #12
  %1538 = load i32, ptr %1491, align 4, !tbaa !5
  %1539 = call ptr @s2n_strerror_debug(i32 noundef %1538, ptr noundef nonnull @.str.11) #12
  %1540 = load i32, ptr %1522, align 4, !tbaa !5
  %1541 = call ptr @strerror(i32 noundef %1540) #12
  %1542 = load i32, ptr %1522, align 4, !tbaa !5
  %1543 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1534, ptr noundef nonnull %.str.12.sink2119, i32 noundef %1535, ptr noundef nonnull @.str.54, ptr noundef nonnull @.str.8, i32 noundef 237, ptr noundef %1537, ptr noundef %1539, ptr noundef %1541, i32 noundef %1542) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1544:                                             ; preds = %1517
  store i32 0, ptr %1491, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  %1545 = tail call ptr @__errno_location() #13
  store i32 0, ptr %1545, align 4, !tbaa !5
  %1546 = load i32, ptr @test_count, align 4, !tbaa !5
  %1547 = add nsw i32 %1546, 1
  store i32 %1547, ptr @test_count, align 4, !tbaa !5
  %1548 = call i32 @s2n_connection_get_selected_digest_algorithm(ptr noundef nonnull %1433, ptr noundef null) #12
  %1549 = icmp eq i32 %1548, -1
  br i1 %1549, label %1572, label %1550

1550:                                             ; preds = %1544
  %1551 = load i32, ptr %1545, align 4, !tbaa !5
  %1552 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1553 = call i32 @s2n_print_stacktrace(ptr noundef %1552) #12
  %1554 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1555 = trunc nuw i8 %1554 to i1
  br i1 %1555, label %1556, label %1560

1556:                                             ; preds = %1550
  %1557 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1558 = call i32 @fileno(ptr noundef %1557) #12
  %1559 = call i32 @isatty(i32 noundef %1558) #12
  %.not1128 = icmp eq i32 %1559, 0
  br i1 %.not1128, label %1560, label %1561

1560:                                             ; preds = %1556, %1550
  br label %1561

1561:                                             ; preds = %1556, %1560
  %.str.12.sink2128 = phi ptr [ @.str.12, %1560 ], [ @.str.9, %1556 ]
  store i32 %1551, ptr %1545, align 4, !tbaa !5
  %1562 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1563 = load i32, ptr @test_count, align 4, !tbaa !5
  %1564 = load i32, ptr %1491, align 4, !tbaa !5
  %1565 = call ptr @s2n_strerror(i32 noundef %1564, ptr noundef nonnull @.str.11) #12
  %1566 = load i32, ptr %1491, align 4, !tbaa !5
  %1567 = call ptr @s2n_strerror_debug(i32 noundef %1566, ptr noundef nonnull @.str.11) #12
  %1568 = load i32, ptr %1545, align 4, !tbaa !5
  %1569 = call ptr @strerror(i32 noundef %1568) #12
  %1570 = load i32, ptr %1545, align 4, !tbaa !5
  %1571 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1562, ptr noundef nonnull %.str.12.sink2128, i32 noundef %1563, ptr noundef nonnull @.str.55, ptr noundef nonnull @.str.8, i32 noundef 238, ptr noundef %1565, ptr noundef %1567, ptr noundef %1569, i32 noundef %1570) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1572:                                             ; preds = %1544
  %1573 = load i32, ptr @test_count, align 4, !tbaa !5
  %1574 = add nsw i32 %1573, 1
  store i32 %1574, ptr @test_count, align 4, !tbaa !5
  %1575 = load i32, ptr %1491, align 4, !tbaa !5
  %1576 = icmp eq i32 %1575, 0
  br i1 %1576, label %1577, label %1599

1577:                                             ; preds = %1572
  %1578 = load i32, ptr %1545, align 4, !tbaa !5
  %1579 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1580 = call i32 @s2n_print_stacktrace(ptr noundef %1579) #12
  %1581 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1582 = trunc nuw i8 %1581 to i1
  br i1 %1582, label %1583, label %1587

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

1587:                                             ; preds = %1583, %1577
  br label %1588

1588:                                             ; preds = %1583, %1587
  %.str.12.sink2137 = phi ptr [ @.str.12, %1587 ], [ @.str.9, %1583 ]
  store i32 %1578, ptr %1545, align 4, !tbaa !5
  %1589 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1590 = load i32, ptr @test_count, align 4, !tbaa !5
  %1591 = load i32, ptr %1491, align 4, !tbaa !5
  %1592 = call ptr @s2n_strerror(i32 noundef %1591, ptr noundef nonnull @.str.11) #12
  %1593 = load i32, ptr %1491, align 4, !tbaa !5
  %1594 = call ptr @s2n_strerror_debug(i32 noundef %1593, ptr noundef nonnull @.str.11) #12
  %1595 = load i32, ptr %1545, align 4, !tbaa !5
  %1596 = call ptr @strerror(i32 noundef %1595) #12
  %1597 = load i32, ptr %1545, align 4, !tbaa !5
  %1598 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1589, ptr noundef nonnull %.str.12.sink2137, i32 noundef %1590, ptr noundef nonnull @.str.53, ptr noundef nonnull @.str.8, i32 noundef 238, ptr noundef %1592, ptr noundef %1594, ptr noundef %1596, i32 noundef %1597) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1599:                                             ; preds = %1572
  %1600 = add nsw i32 %1573, 2
  store i32 %1600, ptr @test_count, align 4, !tbaa !5
  %1601 = call ptr @s2n_strerror_debug(i32 noundef %1575, ptr noundef nonnull @.str.11) #12
  %1602 = icmp eq ptr %1601, null
  br i1 %1602, label %1603, label %1625

1603:                                             ; preds = %1599
  %1604 = load i32, ptr %1545, align 4, !tbaa !5
  %1605 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1606 = call i32 @s2n_print_stacktrace(ptr noundef %1605) #12
  %1607 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1608 = trunc nuw i8 %1607 to i1
  br i1 %1608, label %1609, label %1613

1609:                                             ; preds = %1603
  %1610 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1611 = call i32 @fileno(ptr noundef %1610) #12
  %1612 = call i32 @isatty(i32 noundef %1611) #12
  %.not1503 = icmp eq i32 %1612, 0
  br i1 %.not1503, label %1613, label %1614

1613:                                             ; preds = %1609, %1603
  br label %1614

1614:                                             ; preds = %1609, %1613
  %.str.12.sink2146 = phi ptr [ @.str.12, %1613 ], [ @.str.9, %1609 ]
  store i32 %1604, ptr %1545, align 4, !tbaa !5
  %1615 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1616 = load i32, ptr @test_count, align 4, !tbaa !5
  %1617 = load i32, ptr %1491, align 4, !tbaa !5
  %1618 = call ptr @s2n_strerror(i32 noundef %1617, ptr noundef nonnull @.str.11) #12
  %1619 = load i32, ptr %1491, align 4, !tbaa !5
  %1620 = call ptr @s2n_strerror_debug(i32 noundef %1619, ptr noundef nonnull @.str.11) #12
  %1621 = load i32, ptr %1545, align 4, !tbaa !5
  %1622 = call ptr @strerror(i32 noundef %1621) #12
  %1623 = load i32, ptr %1545, align 4, !tbaa !5
  %1624 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1615, ptr noundef nonnull %.str.12.sink2146, i32 noundef %1616, ptr noundef nonnull @.str.54, ptr noundef nonnull @.str.8, i32 noundef 238, ptr noundef %1618, ptr noundef %1620, ptr noundef %1622, i32 noundef %1623) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1625:                                             ; preds = %1599
  store i32 0, ptr %1491, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %1545, align 4, !tbaa !5
  %1626 = load i32, ptr @test_count, align 4, !tbaa !5
  %1627 = add nsw i32 %1626, 1
  store i32 %1627, ptr @test_count, align 4, !tbaa !5
  %1628 = call i32 @s2n_connection_get_selected_client_cert_digest_algorithm(ptr noundef null, ptr noundef nonnull %8) #12
  %1629 = icmp eq i32 %1628, -1
  br i1 %1629, label %1652, label %1630

1630:                                             ; preds = %1625
  %1631 = load i32, ptr %1545, align 4, !tbaa !5
  %1632 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1633 = call i32 @s2n_print_stacktrace(ptr noundef %1632) #12
  %1634 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1635 = trunc nuw i8 %1634 to i1
  br i1 %1635, label %1636, label %1640

1636:                                             ; preds = %1630
  %1637 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1638 = call i32 @fileno(ptr noundef %1637) #12
  %1639 = call i32 @isatty(i32 noundef %1638) #12
  %.not1129 = icmp eq i32 %1639, 0
  br i1 %.not1129, label %1640, label %1641

1640:                                             ; preds = %1636, %1630
  br label %1641

1641:                                             ; preds = %1636, %1640
  %.str.12.sink2155 = phi ptr [ @.str.12, %1640 ], [ @.str.9, %1636 ]
  store i32 %1631, ptr %1545, align 4, !tbaa !5
  %1642 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1643 = load i32, ptr @test_count, align 4, !tbaa !5
  %1644 = load i32, ptr %1491, align 4, !tbaa !5
  %1645 = call ptr @s2n_strerror(i32 noundef %1644, ptr noundef nonnull @.str.11) #12
  %1646 = load i32, ptr %1491, align 4, !tbaa !5
  %1647 = call ptr @s2n_strerror_debug(i32 noundef %1646, ptr noundef nonnull @.str.11) #12
  %1648 = load i32, ptr %1545, align 4, !tbaa !5
  %1649 = call ptr @strerror(i32 noundef %1648) #12
  %1650 = load i32, ptr %1545, align 4, !tbaa !5
  %1651 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1642, ptr noundef nonnull %.str.12.sink2155, i32 noundef %1643, ptr noundef nonnull @.str.56, ptr noundef nonnull @.str.8, i32 noundef 239, ptr noundef %1645, ptr noundef %1647, ptr noundef %1649, i32 noundef %1650) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1652:                                             ; preds = %1625
  %1653 = load i32, ptr @test_count, align 4, !tbaa !5
  %1654 = add nsw i32 %1653, 1
  store i32 %1654, ptr @test_count, align 4, !tbaa !5
  %1655 = load i32, ptr %1491, align 4, !tbaa !5
  %1656 = icmp eq i32 %1655, 0
  br i1 %1656, label %1657, label %1679

1657:                                             ; preds = %1652
  %1658 = load i32, ptr %1545, align 4, !tbaa !5
  %1659 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1660 = call i32 @s2n_print_stacktrace(ptr noundef %1659) #12
  %1661 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1662 = trunc nuw i8 %1661 to i1
  br i1 %1662, label %1663, label %1667

1663:                                             ; preds = %1657
  %1664 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1665 = call i32 @fileno(ptr noundef %1664) #12
  %1666 = call i32 @isatty(i32 noundef %1665) #12
  %.not1502 = icmp eq i32 %1666, 0
  br i1 %.not1502, label %1667, label %1668

1667:                                             ; preds = %1663, %1657
  br label %1668

1668:                                             ; preds = %1663, %1667
  %.str.12.sink2164 = phi ptr [ @.str.12, %1667 ], [ @.str.9, %1663 ]
  store i32 %1658, ptr %1545, align 4, !tbaa !5
  %1669 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1670 = load i32, ptr @test_count, align 4, !tbaa !5
  %1671 = load i32, ptr %1491, align 4, !tbaa !5
  %1672 = call ptr @s2n_strerror(i32 noundef %1671, ptr noundef nonnull @.str.11) #12
  %1673 = load i32, ptr %1491, align 4, !tbaa !5
  %1674 = call ptr @s2n_strerror_debug(i32 noundef %1673, ptr noundef nonnull @.str.11) #12
  %1675 = load i32, ptr %1545, align 4, !tbaa !5
  %1676 = call ptr @strerror(i32 noundef %1675) #12
  %1677 = load i32, ptr %1545, align 4, !tbaa !5
  %1678 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1669, ptr noundef nonnull %.str.12.sink2164, i32 noundef %1670, ptr noundef nonnull @.str.53, ptr noundef nonnull @.str.8, i32 noundef 239, ptr noundef %1672, ptr noundef %1674, ptr noundef %1676, i32 noundef %1677) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1679:                                             ; preds = %1652
  %1680 = add nsw i32 %1653, 2
  store i32 %1680, ptr @test_count, align 4, !tbaa !5
  %1681 = call ptr @s2n_strerror_debug(i32 noundef %1655, ptr noundef nonnull @.str.11) #12
  %1682 = icmp eq ptr %1681, null
  br i1 %1682, label %1683, label %1705

1683:                                             ; preds = %1679
  %1684 = load i32, ptr %1545, align 4, !tbaa !5
  %1685 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1686 = call i32 @s2n_print_stacktrace(ptr noundef %1685) #12
  %1687 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1688 = trunc nuw i8 %1687 to i1
  br i1 %1688, label %1689, label %1693

1689:                                             ; preds = %1683
  %1690 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1691 = call i32 @fileno(ptr noundef %1690) #12
  %1692 = call i32 @isatty(i32 noundef %1691) #12
  %.not1501 = icmp eq i32 %1692, 0
  br i1 %.not1501, label %1693, label %1694

1693:                                             ; preds = %1689, %1683
  br label %1694

1694:                                             ; preds = %1689, %1693
  %.str.12.sink2173 = phi ptr [ @.str.12, %1693 ], [ @.str.9, %1689 ]
  store i32 %1684, ptr %1545, align 4, !tbaa !5
  %1695 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1696 = load i32, ptr @test_count, align 4, !tbaa !5
  %1697 = load i32, ptr %1491, align 4, !tbaa !5
  %1698 = call ptr @s2n_strerror(i32 noundef %1697, ptr noundef nonnull @.str.11) #12
  %1699 = load i32, ptr %1491, align 4, !tbaa !5
  %1700 = call ptr @s2n_strerror_debug(i32 noundef %1699, ptr noundef nonnull @.str.11) #12
  %1701 = load i32, ptr %1545, align 4, !tbaa !5
  %1702 = call ptr @strerror(i32 noundef %1701) #12
  %1703 = load i32, ptr %1545, align 4, !tbaa !5
  %1704 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1695, ptr noundef nonnull %.str.12.sink2173, i32 noundef %1696, ptr noundef nonnull @.str.54, ptr noundef nonnull @.str.8, i32 noundef 239, ptr noundef %1698, ptr noundef %1700, ptr noundef %1702, i32 noundef %1703) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1705:                                             ; preds = %1679
  store i32 0, ptr %1491, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %1545, align 4, !tbaa !5
  %1706 = load i32, ptr @test_count, align 4, !tbaa !5
  %1707 = add nsw i32 %1706, 1
  store i32 %1707, ptr @test_count, align 4, !tbaa !5
  %1708 = call i32 @s2n_connection_get_selected_client_cert_digest_algorithm(ptr noundef nonnull %1433, ptr noundef null) #12
  %1709 = icmp eq i32 %1708, -1
  br i1 %1709, label %1732, label %1710

1710:                                             ; preds = %1705
  %1711 = load i32, ptr %1545, align 4, !tbaa !5
  %1712 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1713 = call i32 @s2n_print_stacktrace(ptr noundef %1712) #12
  %1714 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1715 = trunc nuw i8 %1714 to i1
  br i1 %1715, label %1716, label %1720

1716:                                             ; preds = %1710
  %1717 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1718 = call i32 @fileno(ptr noundef %1717) #12
  %1719 = call i32 @isatty(i32 noundef %1718) #12
  %.not1130 = icmp eq i32 %1719, 0
  br i1 %.not1130, label %1720, label %1721

1720:                                             ; preds = %1716, %1710
  br label %1721

1721:                                             ; preds = %1716, %1720
  %.str.12.sink2182 = phi ptr [ @.str.12, %1720 ], [ @.str.9, %1716 ]
  store i32 %1711, ptr %1545, align 4, !tbaa !5
  %1722 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1723 = load i32, ptr @test_count, align 4, !tbaa !5
  %1724 = load i32, ptr %1491, align 4, !tbaa !5
  %1725 = call ptr @s2n_strerror(i32 noundef %1724, ptr noundef nonnull @.str.11) #12
  %1726 = load i32, ptr %1491, align 4, !tbaa !5
  %1727 = call ptr @s2n_strerror_debug(i32 noundef %1726, ptr noundef nonnull @.str.11) #12
  %1728 = load i32, ptr %1545, align 4, !tbaa !5
  %1729 = call ptr @strerror(i32 noundef %1728) #12
  %1730 = load i32, ptr %1545, align 4, !tbaa !5
  %1731 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1722, ptr noundef nonnull %.str.12.sink2182, i32 noundef %1723, ptr noundef nonnull @.str.57, ptr noundef nonnull @.str.8, i32 noundef 240, ptr noundef %1725, ptr noundef %1727, ptr noundef %1729, i32 noundef %1730) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1732:                                             ; preds = %1705
  %1733 = load i32, ptr @test_count, align 4, !tbaa !5
  %1734 = add nsw i32 %1733, 1
  store i32 %1734, ptr @test_count, align 4, !tbaa !5
  %1735 = load i32, ptr %1491, align 4, !tbaa !5
  %1736 = icmp eq i32 %1735, 0
  br i1 %1736, label %1737, label %1759

1737:                                             ; preds = %1732
  %1738 = load i32, ptr %1545, align 4, !tbaa !5
  %1739 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1740 = call i32 @s2n_print_stacktrace(ptr noundef %1739) #12
  %1741 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1742 = trunc nuw i8 %1741 to i1
  br i1 %1742, label %1743, label %1747

1743:                                             ; preds = %1737
  %1744 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1745 = call i32 @fileno(ptr noundef %1744) #12
  %1746 = call i32 @isatty(i32 noundef %1745) #12
  %.not1500 = icmp eq i32 %1746, 0
  br i1 %.not1500, label %1747, label %1748

1747:                                             ; preds = %1743, %1737
  br label %1748

1748:                                             ; preds = %1743, %1747
  %.str.12.sink2191 = phi ptr [ @.str.12, %1747 ], [ @.str.9, %1743 ]
  store i32 %1738, ptr %1545, align 4, !tbaa !5
  %1749 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1750 = load i32, ptr @test_count, align 4, !tbaa !5
  %1751 = load i32, ptr %1491, align 4, !tbaa !5
  %1752 = call ptr @s2n_strerror(i32 noundef %1751, ptr noundef nonnull @.str.11) #12
  %1753 = load i32, ptr %1491, align 4, !tbaa !5
  %1754 = call ptr @s2n_strerror_debug(i32 noundef %1753, ptr noundef nonnull @.str.11) #12
  %1755 = load i32, ptr %1545, align 4, !tbaa !5
  %1756 = call ptr @strerror(i32 noundef %1755) #12
  %1757 = load i32, ptr %1545, align 4, !tbaa !5
  %1758 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1749, ptr noundef nonnull %.str.12.sink2191, i32 noundef %1750, ptr noundef nonnull @.str.53, ptr noundef nonnull @.str.8, i32 noundef 240, ptr noundef %1752, ptr noundef %1754, ptr noundef %1756, i32 noundef %1757) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1759:                                             ; preds = %1732
  %1760 = add nsw i32 %1733, 2
  store i32 %1760, ptr @test_count, align 4, !tbaa !5
  %1761 = call ptr @s2n_strerror_debug(i32 noundef %1735, ptr noundef nonnull @.str.11) #12
  %1762 = icmp eq ptr %1761, null
  br i1 %1762, label %1763, label %1785

1763:                                             ; preds = %1759
  %1764 = load i32, ptr %1545, align 4, !tbaa !5
  %1765 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1766 = call i32 @s2n_print_stacktrace(ptr noundef %1765) #12
  %1767 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1768 = trunc nuw i8 %1767 to i1
  br i1 %1768, label %1769, label %1773

1769:                                             ; preds = %1763
  %1770 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1771 = call i32 @fileno(ptr noundef %1770) #12
  %1772 = call i32 @isatty(i32 noundef %1771) #12
  %.not1499 = icmp eq i32 %1772, 0
  br i1 %.not1499, label %1773, label %1774

1773:                                             ; preds = %1769, %1763
  br label %1774

1774:                                             ; preds = %1769, %1773
  %.str.12.sink2200 = phi ptr [ @.str.12, %1773 ], [ @.str.9, %1769 ]
  store i32 %1764, ptr %1545, align 4, !tbaa !5
  %1775 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1776 = load i32, ptr @test_count, align 4, !tbaa !5
  %1777 = load i32, ptr %1491, align 4, !tbaa !5
  %1778 = call ptr @s2n_strerror(i32 noundef %1777, ptr noundef nonnull @.str.11) #12
  %1779 = load i32, ptr %1491, align 4, !tbaa !5
  %1780 = call ptr @s2n_strerror_debug(i32 noundef %1779, ptr noundef nonnull @.str.11) #12
  %1781 = load i32, ptr %1545, align 4, !tbaa !5
  %1782 = call ptr @strerror(i32 noundef %1781) #12
  %1783 = load i32, ptr %1545, align 4, !tbaa !5
  %1784 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1775, ptr noundef nonnull %.str.12.sink2200, i32 noundef %1776, ptr noundef nonnull @.str.54, ptr noundef nonnull @.str.8, i32 noundef 240, ptr noundef %1778, ptr noundef %1780, ptr noundef %1782, i32 noundef %1783) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1785:                                             ; preds = %1759
  store i32 0, ptr %1491, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %1545, align 4, !tbaa !5
  %1786 = load i32, ptr @test_count, align 4, !tbaa !5
  %1787 = add nsw i32 %1786, 1
  store i32 %1787, ptr @test_count, align 4, !tbaa !5
  %1788 = call i32 @s2n_connection_get_selected_client_cert_digest_algorithm(ptr noundef nonnull %1433, ptr noundef nonnull %8) #12
  %1789 = icmp eq i32 %1788, -1
  br i1 %1789, label %1790, label %1812

1790:                                             ; preds = %1785
  %1791 = load i32, ptr %1545, align 4, !tbaa !5
  %1792 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1793 = call i32 @s2n_print_stacktrace(ptr noundef %1792) #12
  %1794 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1795 = trunc nuw i8 %1794 to i1
  br i1 %1795, label %1796, label %1800

1796:                                             ; preds = %1790
  %1797 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1798 = call i32 @fileno(ptr noundef %1797) #12
  %1799 = call i32 @isatty(i32 noundef %1798) #12
  %.not1498 = icmp eq i32 %1799, 0
  br i1 %.not1498, label %1800, label %1801

1800:                                             ; preds = %1796, %1790
  br label %1801

1801:                                             ; preds = %1796, %1800
  %.str.12.sink2209 = phi ptr [ @.str.12, %1800 ], [ @.str.9, %1796 ]
  store i32 %1791, ptr %1545, align 4, !tbaa !5
  %1802 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1803 = load i32, ptr @test_count, align 4, !tbaa !5
  %1804 = load i32, ptr %1491, align 4, !tbaa !5
  %1805 = call ptr @s2n_strerror(i32 noundef %1804, ptr noundef nonnull @.str.11) #12
  %1806 = load i32, ptr %1491, align 4, !tbaa !5
  %1807 = call ptr @s2n_strerror_debug(i32 noundef %1806, ptr noundef nonnull @.str.11) #12
  %1808 = load i32, ptr %1545, align 4, !tbaa !5
  %1809 = call ptr @strerror(i32 noundef %1808) #12
  %1810 = load i32, ptr %1545, align 4, !tbaa !5
  %1811 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1802, ptr noundef nonnull %.str.12.sink2209, i32 noundef %1803, ptr noundef nonnull @.str.58, ptr noundef nonnull @.str.8, i32 noundef 242, ptr noundef %1805, ptr noundef %1807, ptr noundef %1809, i32 noundef %1810) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1812:                                             ; preds = %1785
  %1813 = load i32, ptr @test_count, align 4, !tbaa !5
  %1814 = add nsw i32 %1813, 1
  store i32 %1814, ptr @test_count, align 4, !tbaa !5
  %1815 = load i32, ptr %8, align 4, !tbaa !5
  %1816 = icmp eq i32 %1815, 0
  br i1 %1816, label %1839, label %1817

1817:                                             ; preds = %1812
  %1818 = load i32, ptr %1545, align 4, !tbaa !5
  %1819 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1820 = call i32 @s2n_print_stacktrace(ptr noundef %1819) #12
  %1821 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1822 = trunc nuw i8 %1821 to i1
  br i1 %1822, label %1823, label %1827

1823:                                             ; preds = %1817
  %1824 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1825 = call i32 @fileno(ptr noundef %1824) #12
  %1826 = call i32 @isatty(i32 noundef %1825) #12
  %.not1131 = icmp eq i32 %1826, 0
  br i1 %.not1131, label %1827, label %1828

1827:                                             ; preds = %1823, %1817
  br label %1828

1828:                                             ; preds = %1823, %1827
  %.str.12.sink2218 = phi ptr [ @.str.12, %1827 ], [ @.str.9, %1823 ]
  store i32 %1818, ptr %1545, align 4, !tbaa !5
  %1829 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1830 = load i32, ptr @test_count, align 4, !tbaa !5
  %1831 = load i32, ptr %1491, align 4, !tbaa !5
  %1832 = call ptr @s2n_strerror(i32 noundef %1831, ptr noundef nonnull @.str.11) #12
  %1833 = load i32, ptr %1491, align 4, !tbaa !5
  %1834 = call ptr @s2n_strerror_debug(i32 noundef %1833, ptr noundef nonnull @.str.11) #12
  %1835 = load i32, ptr %1545, align 4, !tbaa !5
  %1836 = call ptr @strerror(i32 noundef %1835) #12
  %1837 = load i32, ptr %1545, align 4, !tbaa !5
  %1838 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1829, ptr noundef nonnull %.str.12.sink2218, i32 noundef %1830, ptr noundef nonnull @.str.59, ptr noundef nonnull @.str.8, i32 noundef 243, ptr noundef %1832, ptr noundef %1834, ptr noundef %1836, i32 noundef %1837) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1839:                                             ; preds = %1812
  %1840 = add nsw i32 %1813, 2
  store i32 %1840, ptr @test_count, align 4, !tbaa !5
  %1841 = call i32 @s2n_connection_get_selected_digest_algorithm(ptr noundef nonnull %1433, ptr noundef nonnull %8) #12
  %1842 = icmp eq i32 %1841, -1
  br i1 %1842, label %1843, label %1865

1843:                                             ; preds = %1839
  %1844 = load i32, ptr %1545, align 4, !tbaa !5
  %1845 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1846 = call i32 @s2n_print_stacktrace(ptr noundef %1845) #12
  %1847 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1848 = trunc nuw i8 %1847 to i1
  br i1 %1848, label %1849, label %1853

1849:                                             ; preds = %1843
  %1850 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1851 = call i32 @fileno(ptr noundef %1850) #12
  %1852 = call i32 @isatty(i32 noundef %1851) #12
  %.not1497 = icmp eq i32 %1852, 0
  br i1 %.not1497, label %1853, label %1854

1853:                                             ; preds = %1849, %1843
  br label %1854

1854:                                             ; preds = %1849, %1853
  %.str.12.sink2227 = phi ptr [ @.str.12, %1853 ], [ @.str.9, %1849 ]
  store i32 %1844, ptr %1545, align 4, !tbaa !5
  %1855 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1856 = load i32, ptr @test_count, align 4, !tbaa !5
  %1857 = load i32, ptr %1491, align 4, !tbaa !5
  %1858 = call ptr @s2n_strerror(i32 noundef %1857, ptr noundef nonnull @.str.11) #12
  %1859 = load i32, ptr %1491, align 4, !tbaa !5
  %1860 = call ptr @s2n_strerror_debug(i32 noundef %1859, ptr noundef nonnull @.str.11) #12
  %1861 = load i32, ptr %1545, align 4, !tbaa !5
  %1862 = call ptr @strerror(i32 noundef %1861) #12
  %1863 = load i32, ptr %1545, align 4, !tbaa !5
  %1864 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1855, ptr noundef nonnull %.str.12.sink2227, i32 noundef %1856, ptr noundef nonnull @.str.60, ptr noundef nonnull @.str.8, i32 noundef 245, ptr noundef %1858, ptr noundef %1860, ptr noundef %1862, i32 noundef %1863) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1865:                                             ; preds = %1839
  %1866 = load i32, ptr @test_count, align 4, !tbaa !5
  %1867 = add nsw i32 %1866, 1
  store i32 %1867, ptr @test_count, align 4, !tbaa !5
  %1868 = load i32, ptr %8, align 4, !tbaa !5
  %1869 = icmp eq i32 %1868, 0
  br i1 %1869, label %.preheader1550, label %1873

.preheader1550:                                   ; preds = %1865
  %1870 = getelementptr inbounds i8, ptr %1433, i64 1536
  %1871 = getelementptr inbounds i8, ptr %9, i64 16
  %1872 = getelementptr inbounds i8, ptr %1433, i64 1528
  br label %1899

1873:                                             ; preds = %1865
  %1874 = load i32, ptr %1545, align 4, !tbaa !5
  %1875 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1876 = call i32 @s2n_print_stacktrace(ptr noundef %1875) #12
  %1877 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1878 = trunc nuw i8 %1877 to i1
  br i1 %1878, label %1879, label %1883

1879:                                             ; preds = %1873
  %1880 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1881 = call i32 @fileno(ptr noundef %1880) #12
  %1882 = call i32 @isatty(i32 noundef %1881) #12
  %.not1132 = icmp eq i32 %1882, 0
  br i1 %.not1132, label %1883, label %1884

1883:                                             ; preds = %1879, %1873
  br label %1884

1884:                                             ; preds = %1879, %1883
  %.str.12.sink2236 = phi ptr [ @.str.12, %1883 ], [ @.str.9, %1879 ]
  store i32 %1874, ptr %1545, align 4, !tbaa !5
  %1885 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1886 = load i32, ptr @test_count, align 4, !tbaa !5
  %1887 = load i32, ptr %1491, align 4, !tbaa !5
  %1888 = call ptr @s2n_strerror(i32 noundef %1887, ptr noundef nonnull @.str.11) #12
  %1889 = load i32, ptr %1491, align 4, !tbaa !5
  %1890 = call ptr @s2n_strerror_debug(i32 noundef %1889, ptr noundef nonnull @.str.11) #12
  %1891 = load i32, ptr %1545, align 4, !tbaa !5
  %1892 = call ptr @strerror(i32 noundef %1891) #12
  %1893 = load i32, ptr %1545, align 4, !tbaa !5
  %1894 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1885, ptr noundef nonnull %.str.12.sink2236, i32 noundef %1886, ptr noundef nonnull @.str.59, ptr noundef nonnull @.str.8, i32 noundef 246, ptr noundef %1888, ptr noundef %1890, ptr noundef %1892, i32 noundef %1893) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1895:                                             ; preds = %2115
  %1896 = add nsw i32 %2116, 1
  store i32 %1896, ptr @test_count, align 4, !tbaa !5
  %1897 = call i32 @s2n_connection_free(ptr noundef nonnull %1433) #12
  %1898 = icmp eq i32 %1897, -1
  br i1 %1898, label %2118, label %2140

1899:                                             ; preds = %.preheader1550, %2115
  %1900 = phi i32 [ %1867, %.preheader1550 ], [ %2116, %2115 ]
  %.010761551 = phi i64 [ 0, %.preheader1550 ], [ %2117, %2115 ]
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %9) #12
  %1901 = load ptr, ptr %1870, align 8, !tbaa !50
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %9, ptr noundef nonnull align 8 dereferenceable(40) %1901, i64 40, i1 false), !tbaa.struct !51
  %1902 = trunc nuw nsw i64 %.010761551 to i32
  store i32 %1902, ptr %1871, align 8, !tbaa !53
  store ptr %9, ptr %1870, align 8, !tbaa !50
  store ptr %9, ptr %1872, align 8, !tbaa !55
  %1903 = icmp ult i64 %.010761551, 9
  %1904 = add nsw i32 %1900, 1
  store i32 %1904, ptr @test_count, align 4, !tbaa !5
  %1905 = call i32 @s2n_connection_get_selected_client_cert_digest_algorithm(ptr noundef nonnull %1433, ptr noundef nonnull %8) #12
  %1906 = icmp eq i32 %1905, -1
  br i1 %1903, label %1907, label %2012

1907:                                             ; preds = %1899
  br i1 %1906, label %1908, label %1930

1908:                                             ; preds = %1907
  %1909 = load i32, ptr %1545, align 4, !tbaa !5
  %1910 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1911 = call i32 @s2n_print_stacktrace(ptr noundef %1910) #12
  %1912 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1913 = trunc nuw i8 %1912 to i1
  br i1 %1913, label %1914, label %1918

1914:                                             ; preds = %1908
  %1915 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1916 = call i32 @fileno(ptr noundef %1915) #12
  %1917 = call i32 @isatty(i32 noundef %1916) #12
  %.not1496 = icmp eq i32 %1917, 0
  br i1 %.not1496, label %1918, label %1919

1918:                                             ; preds = %1914, %1908
  br label %1919

1919:                                             ; preds = %1914, %1918
  %.str.12.sink2245 = phi ptr [ @.str.12, %1918 ], [ @.str.9, %1914 ]
  store i32 %1909, ptr %1545, align 4, !tbaa !5
  %1920 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1921 = load i32, ptr @test_count, align 4, !tbaa !5
  %1922 = load i32, ptr %1491, align 4, !tbaa !5
  %1923 = call ptr @s2n_strerror(i32 noundef %1922, ptr noundef nonnull @.str.11) #12
  %1924 = load i32, ptr %1491, align 4, !tbaa !5
  %1925 = call ptr @s2n_strerror_debug(i32 noundef %1924, ptr noundef nonnull @.str.11) #12
  %1926 = load i32, ptr %1545, align 4, !tbaa !5
  %1927 = call ptr @strerror(i32 noundef %1926) #12
  %1928 = load i32, ptr %1545, align 4, !tbaa !5
  %1929 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1920, ptr noundef nonnull %.str.12.sink2245, i32 noundef %1921, ptr noundef nonnull @.str.58, ptr noundef nonnull @.str.8, i32 noundef 262, ptr noundef %1923, ptr noundef %1925, ptr noundef %1927, i32 noundef %1928) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1930:                                             ; preds = %1907
  %1931 = load i32, ptr @test_count, align 4, !tbaa !5
  %1932 = add nsw i32 %1931, 1
  store i32 %1932, ptr @test_count, align 4, !tbaa !5
  %1933 = getelementptr inbounds [9 x i32], ptr @__const.main.expected_output, i64 0, i64 %.010761551
  %1934 = load i32, ptr %1933, align 4, !tbaa !5
  %1935 = load i32, ptr %8, align 4, !tbaa !5
  %1936 = icmp eq i32 %1934, %1935
  br i1 %1936, label %1959, label %1937

1937:                                             ; preds = %1930
  %1938 = load i32, ptr %1545, align 4, !tbaa !5
  %1939 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1940 = call i32 @s2n_print_stacktrace(ptr noundef %1939) #12
  %1941 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1942 = trunc nuw i8 %1941 to i1
  br i1 %1942, label %1943, label %1947

1943:                                             ; preds = %1937
  %1944 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1945 = call i32 @fileno(ptr noundef %1944) #12
  %1946 = call i32 @isatty(i32 noundef %1945) #12
  %.not1493 = icmp eq i32 %1946, 0
  br i1 %.not1493, label %1947, label %1948

1947:                                             ; preds = %1943, %1937
  br label %1948

1948:                                             ; preds = %1943, %1947
  %.str.12.sink2254 = phi ptr [ @.str.12, %1947 ], [ @.str.9, %1943 ]
  store i32 %1938, ptr %1545, align 4, !tbaa !5
  %1949 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1950 = load i32, ptr @test_count, align 4, !tbaa !5
  %1951 = load i32, ptr %1491, align 4, !tbaa !5
  %1952 = call ptr @s2n_strerror(i32 noundef %1951, ptr noundef nonnull @.str.11) #12
  %1953 = load i32, ptr %1491, align 4, !tbaa !5
  %1954 = call ptr @s2n_strerror_debug(i32 noundef %1953, ptr noundef nonnull @.str.11) #12
  %1955 = load i32, ptr %1545, align 4, !tbaa !5
  %1956 = call ptr @strerror(i32 noundef %1955) #12
  %1957 = load i32, ptr %1545, align 4, !tbaa !5
  %1958 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1949, ptr noundef nonnull %.str.12.sink2254, i32 noundef %1950, ptr noundef nonnull @.str.61, ptr noundef nonnull @.str.8, i32 noundef 263, ptr noundef %1952, ptr noundef %1954, ptr noundef %1956, i32 noundef %1957) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1959:                                             ; preds = %1930
  %1960 = add nsw i32 %1931, 2
  store i32 %1960, ptr @test_count, align 4, !tbaa !5
  %1961 = call i32 @s2n_connection_get_selected_digest_algorithm(ptr noundef nonnull %1433, ptr noundef nonnull %8) #12
  %1962 = icmp eq i32 %1961, -1
  br i1 %1962, label %1963, label %1985

1963:                                             ; preds = %1959
  %1964 = load i32, ptr %1545, align 4, !tbaa !5
  %1965 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1966 = call i32 @s2n_print_stacktrace(ptr noundef %1965) #12
  %1967 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1968 = trunc nuw i8 %1967 to i1
  br i1 %1968, label %1969, label %1973

1969:                                             ; preds = %1963
  %1970 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1971 = call i32 @fileno(ptr noundef %1970) #12
  %1972 = call i32 @isatty(i32 noundef %1971) #12
  %.not1495 = icmp eq i32 %1972, 0
  br i1 %.not1495, label %1973, label %1974

1973:                                             ; preds = %1969, %1963
  br label %1974

1974:                                             ; preds = %1969, %1973
  %.str.12.sink2263 = phi ptr [ @.str.12, %1973 ], [ @.str.9, %1969 ]
  store i32 %1964, ptr %1545, align 4, !tbaa !5
  %1975 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1976 = load i32, ptr @test_count, align 4, !tbaa !5
  %1977 = load i32, ptr %1491, align 4, !tbaa !5
  %1978 = call ptr @s2n_strerror(i32 noundef %1977, ptr noundef nonnull @.str.11) #12
  %1979 = load i32, ptr %1491, align 4, !tbaa !5
  %1980 = call ptr @s2n_strerror_debug(i32 noundef %1979, ptr noundef nonnull @.str.11) #12
  %1981 = load i32, ptr %1545, align 4, !tbaa !5
  %1982 = call ptr @strerror(i32 noundef %1981) #12
  %1983 = load i32, ptr %1545, align 4, !tbaa !5
  %1984 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1975, ptr noundef nonnull %.str.12.sink2263, i32 noundef %1976, ptr noundef nonnull @.str.60, ptr noundef nonnull @.str.8, i32 noundef 265, ptr noundef %1978, ptr noundef %1980, ptr noundef %1982, i32 noundef %1983) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1985:                                             ; preds = %1959
  %1986 = load i32, ptr @test_count, align 4, !tbaa !5
  %1987 = add nsw i32 %1986, 1
  store i32 %1987, ptr @test_count, align 4, !tbaa !5
  %1988 = load i32, ptr %8, align 4, !tbaa !5
  %1989 = icmp eq i32 %1934, %1988
  br i1 %1989, label %2115, label %1990

1990:                                             ; preds = %1985
  %1991 = load i32, ptr %1545, align 4, !tbaa !5
  %1992 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1993 = call i32 @s2n_print_stacktrace(ptr noundef %1992) #12
  %1994 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1995 = trunc nuw i8 %1994 to i1
  br i1 %1995, label %1996, label %2000

1996:                                             ; preds = %1990
  %1997 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1998 = call i32 @fileno(ptr noundef %1997) #12
  %1999 = call i32 @isatty(i32 noundef %1998) #12
  %.not1494 = icmp eq i32 %1999, 0
  br i1 %.not1494, label %2000, label %2001

2000:                                             ; preds = %1996, %1990
  br label %2001

2001:                                             ; preds = %1996, %2000
  %.str.12.sink2272 = phi ptr [ @.str.12, %2000 ], [ @.str.9, %1996 ]
  store i32 %1991, ptr %1545, align 4, !tbaa !5
  %2002 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2003 = load i32, ptr @test_count, align 4, !tbaa !5
  %2004 = load i32, ptr %1491, align 4, !tbaa !5
  %2005 = call ptr @s2n_strerror(i32 noundef %2004, ptr noundef nonnull @.str.11) #12
  %2006 = load i32, ptr %1491, align 4, !tbaa !5
  %2007 = call ptr @s2n_strerror_debug(i32 noundef %2006, ptr noundef nonnull @.str.11) #12
  %2008 = load i32, ptr %1545, align 4, !tbaa !5
  %2009 = call ptr @strerror(i32 noundef %2008) #12
  %2010 = load i32, ptr %1545, align 4, !tbaa !5
  %2011 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2002, ptr noundef nonnull %.str.12.sink2272, i32 noundef %2003, ptr noundef nonnull @.str.61, ptr noundef nonnull @.str.8, i32 noundef 266, ptr noundef %2005, ptr noundef %2007, ptr noundef %2009, i32 noundef %2010) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2012:                                             ; preds = %1899
  br i1 %1906, label %2013, label %2035

2013:                                             ; preds = %2012
  %2014 = load i32, ptr %1545, align 4, !tbaa !5
  %2015 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2016 = call i32 @s2n_print_stacktrace(ptr noundef %2015) #12
  %2017 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2018 = trunc nuw i8 %2017 to i1
  br i1 %2018, label %2019, label %2023

2019:                                             ; preds = %2013
  %2020 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2021 = call i32 @fileno(ptr noundef %2020) #12
  %2022 = call i32 @isatty(i32 noundef %2021) #12
  %.not1492 = icmp eq i32 %2022, 0
  br i1 %.not1492, label %2023, label %2024

2023:                                             ; preds = %2019, %2013
  br label %2024

2024:                                             ; preds = %2019, %2023
  %.str.12.sink2281 = phi ptr [ @.str.12, %2023 ], [ @.str.9, %2019 ]
  store i32 %2014, ptr %1545, align 4, !tbaa !5
  %2025 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2026 = load i32, ptr @test_count, align 4, !tbaa !5
  %2027 = load i32, ptr %1491, align 4, !tbaa !5
  %2028 = call ptr @s2n_strerror(i32 noundef %2027, ptr noundef nonnull @.str.11) #12
  %2029 = load i32, ptr %1491, align 4, !tbaa !5
  %2030 = call ptr @s2n_strerror_debug(i32 noundef %2029, ptr noundef nonnull @.str.11) #12
  %2031 = load i32, ptr %1545, align 4, !tbaa !5
  %2032 = call ptr @strerror(i32 noundef %2031) #12
  %2033 = load i32, ptr %1545, align 4, !tbaa !5
  %2034 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2025, ptr noundef nonnull %.str.12.sink2281, i32 noundef %2026, ptr noundef nonnull @.str.58, ptr noundef nonnull @.str.8, i32 noundef 268, ptr noundef %2028, ptr noundef %2030, ptr noundef %2032, i32 noundef %2033) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2035:                                             ; preds = %2012
  %2036 = load i32, ptr @test_count, align 4, !tbaa !5
  %2037 = add nsw i32 %2036, 1
  store i32 %2037, ptr @test_count, align 4, !tbaa !5
  %2038 = load i32, ptr %8, align 4, !tbaa !5
  %2039 = icmp eq i32 %2038, 0
  br i1 %2039, label %2062, label %2040

2040:                                             ; preds = %2035
  %2041 = load i32, ptr %1545, align 4, !tbaa !5
  %2042 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2043 = call i32 @s2n_print_stacktrace(ptr noundef %2042) #12
  %2044 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2045 = trunc nuw i8 %2044 to i1
  br i1 %2045, label %2046, label %2050

2046:                                             ; preds = %2040
  %2047 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2048 = call i32 @fileno(ptr noundef %2047) #12
  %2049 = call i32 @isatty(i32 noundef %2048) #12
  %.not1489 = icmp eq i32 %2049, 0
  br i1 %.not1489, label %2050, label %2051

2050:                                             ; preds = %2046, %2040
  br label %2051

2051:                                             ; preds = %2046, %2050
  %.str.12.sink2290 = phi ptr [ @.str.12, %2050 ], [ @.str.9, %2046 ]
  store i32 %2041, ptr %1545, align 4, !tbaa !5
  %2052 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2053 = load i32, ptr @test_count, align 4, !tbaa !5
  %2054 = load i32, ptr %1491, align 4, !tbaa !5
  %2055 = call ptr @s2n_strerror(i32 noundef %2054, ptr noundef nonnull @.str.11) #12
  %2056 = load i32, ptr %1491, align 4, !tbaa !5
  %2057 = call ptr @s2n_strerror_debug(i32 noundef %2056, ptr noundef nonnull @.str.11) #12
  %2058 = load i32, ptr %1545, align 4, !tbaa !5
  %2059 = call ptr @strerror(i32 noundef %2058) #12
  %2060 = load i32, ptr %1545, align 4, !tbaa !5
  %2061 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2052, ptr noundef nonnull %.str.12.sink2290, i32 noundef %2053, ptr noundef nonnull @.str.59, ptr noundef nonnull @.str.8, i32 noundef 269, ptr noundef %2055, ptr noundef %2057, ptr noundef %2059, i32 noundef %2060) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2062:                                             ; preds = %2035
  %2063 = add nsw i32 %2036, 2
  store i32 %2063, ptr @test_count, align 4, !tbaa !5
  %2064 = call i32 @s2n_connection_get_selected_digest_algorithm(ptr noundef nonnull %1433, ptr noundef nonnull %8) #12
  %2065 = icmp eq i32 %2064, -1
  br i1 %2065, label %2066, label %2088

2066:                                             ; preds = %2062
  %2067 = load i32, ptr %1545, align 4, !tbaa !5
  %2068 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2069 = call i32 @s2n_print_stacktrace(ptr noundef %2068) #12
  %2070 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2071 = trunc nuw i8 %2070 to i1
  br i1 %2071, label %2072, label %2076

2072:                                             ; preds = %2066
  %2073 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2074 = call i32 @fileno(ptr noundef %2073) #12
  %2075 = call i32 @isatty(i32 noundef %2074) #12
  %.not1491 = icmp eq i32 %2075, 0
  br i1 %.not1491, label %2076, label %2077

2076:                                             ; preds = %2072, %2066
  br label %2077

2077:                                             ; preds = %2072, %2076
  %.str.12.sink2299 = phi ptr [ @.str.12, %2076 ], [ @.str.9, %2072 ]
  store i32 %2067, ptr %1545, align 4, !tbaa !5
  %2078 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2079 = load i32, ptr @test_count, align 4, !tbaa !5
  %2080 = load i32, ptr %1491, align 4, !tbaa !5
  %2081 = call ptr @s2n_strerror(i32 noundef %2080, ptr noundef nonnull @.str.11) #12
  %2082 = load i32, ptr %1491, align 4, !tbaa !5
  %2083 = call ptr @s2n_strerror_debug(i32 noundef %2082, ptr noundef nonnull @.str.11) #12
  %2084 = load i32, ptr %1545, align 4, !tbaa !5
  %2085 = call ptr @strerror(i32 noundef %2084) #12
  %2086 = load i32, ptr %1545, align 4, !tbaa !5
  %2087 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2078, ptr noundef nonnull %.str.12.sink2299, i32 noundef %2079, ptr noundef nonnull @.str.60, ptr noundef nonnull @.str.8, i32 noundef 271, ptr noundef %2081, ptr noundef %2083, ptr noundef %2085, i32 noundef %2086) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2088:                                             ; preds = %2062
  %2089 = load i32, ptr @test_count, align 4, !tbaa !5
  %2090 = add nsw i32 %2089, 1
  store i32 %2090, ptr @test_count, align 4, !tbaa !5
  %2091 = load i32, ptr %8, align 4, !tbaa !5
  %2092 = icmp eq i32 %2091, 0
  br i1 %2092, label %2115, label %2093

2093:                                             ; preds = %2088
  %2094 = load i32, ptr %1545, align 4, !tbaa !5
  %2095 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2096 = call i32 @s2n_print_stacktrace(ptr noundef %2095) #12
  %2097 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2098 = trunc nuw i8 %2097 to i1
  br i1 %2098, label %2099, label %2103

2099:                                             ; preds = %2093
  %2100 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2101 = call i32 @fileno(ptr noundef %2100) #12
  %2102 = call i32 @isatty(i32 noundef %2101) #12
  %.not1490 = icmp eq i32 %2102, 0
  br i1 %.not1490, label %2103, label %2104

2103:                                             ; preds = %2099, %2093
  br label %2104

2104:                                             ; preds = %2099, %2103
  %.str.12.sink2308 = phi ptr [ @.str.12, %2103 ], [ @.str.9, %2099 ]
  store i32 %2094, ptr %1545, align 4, !tbaa !5
  %2105 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2106 = load i32, ptr @test_count, align 4, !tbaa !5
  %2107 = load i32, ptr %1491, align 4, !tbaa !5
  %2108 = call ptr @s2n_strerror(i32 noundef %2107, ptr noundef nonnull @.str.11) #12
  %2109 = load i32, ptr %1491, align 4, !tbaa !5
  %2110 = call ptr @s2n_strerror_debug(i32 noundef %2109, ptr noundef nonnull @.str.11) #12
  %2111 = load i32, ptr %1545, align 4, !tbaa !5
  %2112 = call ptr @strerror(i32 noundef %2111) #12
  %2113 = load i32, ptr %1545, align 4, !tbaa !5
  %2114 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2105, ptr noundef nonnull %.str.12.sink2308, i32 noundef %2106, ptr noundef nonnull @.str.59, ptr noundef nonnull @.str.8, i32 noundef 272, ptr noundef %2108, ptr noundef %2110, ptr noundef %2112, i32 noundef %2113) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2115:                                             ; preds = %2088, %1985
  %2116 = phi i32 [ %2090, %2088 ], [ %1987, %1985 ]
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %9) #12
  %2117 = add nuw nsw i64 %.010761551, 1
  %exitcond.not = icmp eq i64 %2117, 65536
  br i1 %exitcond.not, label %1895, label %1899, !llvm.loop !56

2118:                                             ; preds = %1895
  %2119 = load i32, ptr %1545, align 4, !tbaa !5
  %2120 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2121 = call i32 @s2n_print_stacktrace(ptr noundef %2120) #12
  %2122 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2123 = trunc nuw i8 %2122 to i1
  br i1 %2123, label %2124, label %2128

2124:                                             ; preds = %2118
  %2125 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2126 = call i32 @fileno(ptr noundef %2125) #12
  %2127 = call i32 @isatty(i32 noundef %2126) #12
  %.not1488 = icmp eq i32 %2127, 0
  br i1 %.not1488, label %2128, label %2129

2128:                                             ; preds = %2124, %2118
  br label %2129

2129:                                             ; preds = %2124, %2128
  %.str.12.sink2317 = phi ptr [ @.str.12, %2128 ], [ @.str.9, %2124 ]
  store i32 %2119, ptr %1545, align 4, !tbaa !5
  %2130 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2131 = load i32, ptr @test_count, align 4, !tbaa !5
  %2132 = load i32, ptr %1491, align 4, !tbaa !5
  %2133 = call ptr @s2n_strerror(i32 noundef %2132, ptr noundef nonnull @.str.11) #12
  %2134 = load i32, ptr %1491, align 4, !tbaa !5
  %2135 = call ptr @s2n_strerror_debug(i32 noundef %2134, ptr noundef nonnull @.str.11) #12
  %2136 = load i32, ptr %1545, align 4, !tbaa !5
  %2137 = call ptr @strerror(i32 noundef %2136) #12
  %2138 = load i32, ptr %1545, align 4, !tbaa !5
  %2139 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2130, ptr noundef nonnull %.str.12.sink2317, i32 noundef %2131, ptr noundef nonnull @.str.25, ptr noundef nonnull @.str.8, i32 noundef 276, ptr noundef %2133, ptr noundef %2135, ptr noundef %2137, i32 noundef %2138) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2140:                                             ; preds = %1895
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %8) #12
  %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 ptr @s2n_connection_new(i32 noundef 1) #12
  %2144 = icmp eq ptr %2143, null
  br i1 %2144, label %2145, label %2167

2145:                                             ; preds = %2140
  %2146 = load i32, ptr %1545, 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
  %.not1487 = icmp eq i32 %2154, 0
  br i1 %.not1487, label %2155, label %2156

2155:                                             ; preds = %2151, %2145
  br label %2156

2156:                                             ; preds = %2151, %2155
  %.str.12.sink2326 = phi ptr [ @.str.12, %2155 ], [ @.str.9, %2151 ]
  store i32 %2146, ptr %1545, 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 %1491, align 4, !tbaa !5
  %2160 = call ptr @s2n_strerror(i32 noundef %2159, ptr noundef nonnull @.str.11) #12
  %2161 = load i32, ptr %1491, align 4, !tbaa !5
  %2162 = call ptr @s2n_strerror_debug(i32 noundef %2161, ptr noundef nonnull @.str.11) #12
  %2163 = load i32, ptr %1545, align 4, !tbaa !5
  %2164 = call ptr @strerror(i32 noundef %2163) #12
  %2165 = load i32, ptr %1545, align 4, !tbaa !5
  %2166 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2157, ptr noundef nonnull %.str.12.sink2326, i32 noundef %2158, ptr noundef nonnull @.str.23, ptr noundef nonnull @.str.8, i32 noundef 282, ptr noundef %2160, ptr noundef %2162, ptr noundef %2164, i32 noundef %2165) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2167:                                             ; preds = %2140
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %10) #12
  store i32 0, ptr %10, align 4, !tbaa !5
  %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 = call i32 @s2n_connection_get_selected_signature_algorithm(ptr noundef null, ptr noundef nonnull %10) #12
  %2171 = icmp eq i32 %2170, -1
  br i1 %2171, label %2194, label %2172

2172:                                             ; preds = %2167
  %2173 = load i32, ptr %1545, 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
  %.not1133 = icmp eq i32 %2181, 0
  br i1 %.not1133, label %2182, label %2183

2182:                                             ; preds = %2178, %2172
  br label %2183

2183:                                             ; preds = %2178, %2182
  %.str.12.sink2335 = phi ptr [ @.str.12, %2182 ], [ @.str.9, %2178 ]
  store i32 %2173, ptr %1545, 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 %1491, align 4, !tbaa !5
  %2187 = call ptr @s2n_strerror(i32 noundef %2186, ptr noundef nonnull @.str.11) #12
  %2188 = load i32, ptr %1491, align 4, !tbaa !5
  %2189 = call ptr @s2n_strerror_debug(i32 noundef %2188, ptr noundef nonnull @.str.11) #12
  %2190 = load i32, ptr %1545, align 4, !tbaa !5
  %2191 = call ptr @strerror(i32 noundef %2190) #12
  %2192 = load i32, ptr %1545, align 4, !tbaa !5
  %2193 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2184, ptr noundef nonnull %.str.12.sink2335, i32 noundef %2185, ptr noundef nonnull @.str.62, ptr noundef nonnull @.str.8, i32 noundef 286, 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 = load i32, ptr @test_count, align 4, !tbaa !5
  %2196 = add nsw i32 %2195, 1
  store i32 %2196, ptr @test_count, align 4, !tbaa !5
  %2197 = load i32, ptr %1491, align 4, !tbaa !5
  %2198 = icmp eq i32 %2197, 0
  br i1 %2198, label %2199, label %2221

2199:                                             ; preds = %2194
  %2200 = load i32, ptr %1545, align 4, !tbaa !5
  %2201 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2202 = call i32 @s2n_print_stacktrace(ptr noundef %2201) #12
  %2203 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2204 = trunc nuw i8 %2203 to i1
  br i1 %2204, label %2205, label %2209

2205:                                             ; preds = %2199
  %2206 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2207 = call i32 @fileno(ptr noundef %2206) #12
  %2208 = call i32 @isatty(i32 noundef %2207) #12
  %.not1486 = icmp eq i32 %2208, 0
  br i1 %.not1486, label %2209, label %2210

2209:                                             ; preds = %2205, %2199
  br label %2210

2210:                                             ; preds = %2205, %2209
  %.str.12.sink2344 = phi ptr [ @.str.12, %2209 ], [ @.str.9, %2205 ]
  store i32 %2200, ptr %1545, align 4, !tbaa !5
  %2211 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2212 = load i32, ptr @test_count, align 4, !tbaa !5
  %2213 = load i32, ptr %1491, align 4, !tbaa !5
  %2214 = call ptr @s2n_strerror(i32 noundef %2213, ptr noundef nonnull @.str.11) #12
  %2215 = load i32, ptr %1491, align 4, !tbaa !5
  %2216 = call ptr @s2n_strerror_debug(i32 noundef %2215, ptr noundef nonnull @.str.11) #12
  %2217 = load i32, ptr %1545, align 4, !tbaa !5
  %2218 = call ptr @strerror(i32 noundef %2217) #12
  %2219 = load i32, ptr %1545, align 4, !tbaa !5
  %2220 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2211, ptr noundef nonnull %.str.12.sink2344, i32 noundef %2212, ptr noundef nonnull @.str.53, ptr noundef nonnull @.str.8, i32 noundef 286, ptr noundef %2214, ptr noundef %2216, ptr noundef %2218, i32 noundef %2219) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2221:                                             ; preds = %2194
  %2222 = add nsw i32 %2195, 2
  store i32 %2222, ptr @test_count, align 4, !tbaa !5
  %2223 = call ptr @s2n_strerror_debug(i32 noundef %2197, ptr noundef nonnull @.str.11) #12
  %2224 = icmp eq ptr %2223, null
  br i1 %2224, label %2225, label %2247

2225:                                             ; preds = %2221
  %2226 = load i32, ptr %1545, align 4, !tbaa !5
  %2227 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2228 = call i32 @s2n_print_stacktrace(ptr noundef %2227) #12
  %2229 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2230 = trunc nuw i8 %2229 to i1
  br i1 %2230, label %2231, label %2235

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

2235:                                             ; preds = %2231, %2225
  br label %2236

2236:                                             ; preds = %2231, %2235
  %.str.12.sink2353 = phi ptr [ @.str.12, %2235 ], [ @.str.9, %2231 ]
  store i32 %2226, ptr %1545, align 4, !tbaa !5
  %2237 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2238 = load i32, ptr @test_count, align 4, !tbaa !5
  %2239 = load i32, ptr %1491, align 4, !tbaa !5
  %2240 = call ptr @s2n_strerror(i32 noundef %2239, ptr noundef nonnull @.str.11) #12
  %2241 = load i32, ptr %1491, align 4, !tbaa !5
  %2242 = call ptr @s2n_strerror_debug(i32 noundef %2241, ptr noundef nonnull @.str.11) #12
  %2243 = load i32, ptr %1545, align 4, !tbaa !5
  %2244 = call ptr @strerror(i32 noundef %2243) #12
  %2245 = load i32, ptr %1545, align 4, !tbaa !5
  %2246 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2237, ptr noundef nonnull %.str.12.sink2353, i32 noundef %2238, ptr noundef nonnull @.str.54, ptr noundef nonnull @.str.8, i32 noundef 286, ptr noundef %2240, ptr noundef %2242, ptr noundef %2244, i32 noundef %2245) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2247:                                             ; preds = %2221
  store i32 0, ptr %1491, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %1545, align 4, !tbaa !5
  %2248 = load i32, ptr @test_count, align 4, !tbaa !5
  %2249 = add nsw i32 %2248, 1
  store i32 %2249, ptr @test_count, align 4, !tbaa !5
  %2250 = call i32 @s2n_connection_get_selected_signature_algorithm(ptr noundef nonnull %2143, ptr noundef null) #12
  %2251 = icmp eq i32 %2250, -1
  br i1 %2251, label %2274, label %2252

2252:                                             ; preds = %2247
  %2253 = load i32, ptr %1545, align 4, !tbaa !5
  %2254 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2255 = call i32 @s2n_print_stacktrace(ptr noundef %2254) #12
  %2256 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2257 = trunc nuw i8 %2256 to i1
  br i1 %2257, label %2258, label %2262

2258:                                             ; preds = %2252
  %2259 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2260 = call i32 @fileno(ptr noundef %2259) #12
  %2261 = call i32 @isatty(i32 noundef %2260) #12
  %.not1134 = icmp eq i32 %2261, 0
  br i1 %.not1134, label %2262, label %2263

2262:                                             ; preds = %2258, %2252
  br label %2263

2263:                                             ; preds = %2258, %2262
  %.str.12.sink2362 = phi ptr [ @.str.12, %2262 ], [ @.str.9, %2258 ]
  store i32 %2253, ptr %1545, align 4, !tbaa !5
  %2264 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2265 = load i32, ptr @test_count, align 4, !tbaa !5
  %2266 = load i32, ptr %1491, align 4, !tbaa !5
  %2267 = call ptr @s2n_strerror(i32 noundef %2266, ptr noundef nonnull @.str.11) #12
  %2268 = load i32, ptr %1491, align 4, !tbaa !5
  %2269 = call ptr @s2n_strerror_debug(i32 noundef %2268, ptr noundef nonnull @.str.11) #12
  %2270 = load i32, ptr %1545, align 4, !tbaa !5
  %2271 = call ptr @strerror(i32 noundef %2270) #12
  %2272 = load i32, ptr %1545, align 4, !tbaa !5
  %2273 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2264, ptr noundef nonnull %.str.12.sink2362, i32 noundef %2265, ptr noundef nonnull @.str.63, ptr noundef nonnull @.str.8, i32 noundef 287, ptr noundef %2267, ptr noundef %2269, ptr noundef %2271, i32 noundef %2272) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2274:                                             ; preds = %2247
  %2275 = load i32, ptr @test_count, align 4, !tbaa !5
  %2276 = add nsw i32 %2275, 1
  store i32 %2276, ptr @test_count, align 4, !tbaa !5
  %2277 = load i32, ptr %1491, align 4, !tbaa !5
  %2278 = icmp eq i32 %2277, 0
  br i1 %2278, label %2279, label %2301

2279:                                             ; preds = %2274
  %2280 = load i32, ptr %1545, align 4, !tbaa !5
  %2281 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2282 = call i32 @s2n_print_stacktrace(ptr noundef %2281) #12
  %2283 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2284 = trunc nuw i8 %2283 to i1
  br i1 %2284, label %2285, label %2289

2285:                                             ; preds = %2279
  %2286 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2287 = call i32 @fileno(ptr noundef %2286) #12
  %2288 = call i32 @isatty(i32 noundef %2287) #12
  %.not1484 = icmp eq i32 %2288, 0
  br i1 %.not1484, label %2289, label %2290

2289:                                             ; preds = %2285, %2279
  br label %2290

2290:                                             ; preds = %2285, %2289
  %.str.12.sink2371 = phi ptr [ @.str.12, %2289 ], [ @.str.9, %2285 ]
  store i32 %2280, ptr %1545, align 4, !tbaa !5
  %2291 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2292 = load i32, ptr @test_count, align 4, !tbaa !5
  %2293 = load i32, ptr %1491, align 4, !tbaa !5
  %2294 = call ptr @s2n_strerror(i32 noundef %2293, ptr noundef nonnull @.str.11) #12
  %2295 = load i32, ptr %1491, align 4, !tbaa !5
  %2296 = call ptr @s2n_strerror_debug(i32 noundef %2295, ptr noundef nonnull @.str.11) #12
  %2297 = load i32, ptr %1545, align 4, !tbaa !5
  %2298 = call ptr @strerror(i32 noundef %2297) #12
  %2299 = load i32, ptr %1545, align 4, !tbaa !5
  %2300 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2291, ptr noundef nonnull %.str.12.sink2371, i32 noundef %2292, ptr noundef nonnull @.str.53, ptr noundef nonnull @.str.8, i32 noundef 287, ptr noundef %2294, ptr noundef %2296, ptr noundef %2298, i32 noundef %2299) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2301:                                             ; preds = %2274
  %2302 = add nsw i32 %2275, 2
  store i32 %2302, ptr @test_count, align 4, !tbaa !5
  %2303 = call ptr @s2n_strerror_debug(i32 noundef %2277, ptr noundef nonnull @.str.11) #12
  %2304 = icmp eq ptr %2303, null
  br i1 %2304, label %2305, label %2327

2305:                                             ; preds = %2301
  %2306 = load i32, ptr %1545, align 4, !tbaa !5
  %2307 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2308 = call i32 @s2n_print_stacktrace(ptr noundef %2307) #12
  %2309 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2310 = trunc nuw i8 %2309 to i1
  br i1 %2310, label %2311, label %2315

2311:                                             ; preds = %2305
  %2312 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2313 = call i32 @fileno(ptr noundef %2312) #12
  %2314 = call i32 @isatty(i32 noundef %2313) #12
  %.not1483 = icmp eq i32 %2314, 0
  br i1 %.not1483, label %2315, label %2316

2315:                                             ; preds = %2311, %2305
  br label %2316

2316:                                             ; preds = %2311, %2315
  %.str.12.sink2380 = phi ptr [ @.str.12, %2315 ], [ @.str.9, %2311 ]
  store i32 %2306, ptr %1545, align 4, !tbaa !5
  %2317 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2318 = load i32, ptr @test_count, align 4, !tbaa !5
  %2319 = load i32, ptr %1491, align 4, !tbaa !5
  %2320 = call ptr @s2n_strerror(i32 noundef %2319, ptr noundef nonnull @.str.11) #12
  %2321 = load i32, ptr %1491, align 4, !tbaa !5
  %2322 = call ptr @s2n_strerror_debug(i32 noundef %2321, ptr noundef nonnull @.str.11) #12
  %2323 = load i32, ptr %1545, align 4, !tbaa !5
  %2324 = call ptr @strerror(i32 noundef %2323) #12
  %2325 = load i32, ptr %1545, align 4, !tbaa !5
  %2326 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2317, ptr noundef nonnull %.str.12.sink2380, i32 noundef %2318, ptr noundef nonnull @.str.54, ptr noundef nonnull @.str.8, i32 noundef 287, ptr noundef %2320, ptr noundef %2322, ptr noundef %2324, i32 noundef %2325) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2327:                                             ; preds = %2301
  store i32 0, ptr %1491, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %1545, align 4, !tbaa !5
  %2328 = load i32, ptr @test_count, align 4, !tbaa !5
  %2329 = add nsw i32 %2328, 1
  store i32 %2329, ptr @test_count, align 4, !tbaa !5
  %2330 = call i32 @s2n_connection_get_selected_client_cert_signature_algorithm(ptr noundef null, ptr noundef nonnull %10) #12
  %2331 = icmp eq i32 %2330, -1
  br i1 %2331, label %2354, label %2332

2332:                                             ; preds = %2327
  %2333 = load i32, ptr %1545, align 4, !tbaa !5
  %2334 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2335 = call i32 @s2n_print_stacktrace(ptr noundef %2334) #12
  %2336 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2337 = trunc nuw i8 %2336 to i1
  br i1 %2337, label %2338, label %2342

2338:                                             ; preds = %2332
  %2339 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2340 = call i32 @fileno(ptr noundef %2339) #12
  %2341 = call i32 @isatty(i32 noundef %2340) #12
  %.not1135 = icmp eq i32 %2341, 0
  br i1 %.not1135, label %2342, label %2343

2342:                                             ; preds = %2338, %2332
  br label %2343

2343:                                             ; preds = %2338, %2342
  %.str.12.sink2389 = phi ptr [ @.str.12, %2342 ], [ @.str.9, %2338 ]
  store i32 %2333, ptr %1545, align 4, !tbaa !5
  %2344 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2345 = load i32, ptr @test_count, align 4, !tbaa !5
  %2346 = load i32, ptr %1491, align 4, !tbaa !5
  %2347 = call ptr @s2n_strerror(i32 noundef %2346, ptr noundef nonnull @.str.11) #12
  %2348 = load i32, ptr %1491, align 4, !tbaa !5
  %2349 = call ptr @s2n_strerror_debug(i32 noundef %2348, ptr noundef nonnull @.str.11) #12
  %2350 = load i32, ptr %1545, align 4, !tbaa !5
  %2351 = call ptr @strerror(i32 noundef %2350) #12
  %2352 = load i32, ptr %1545, align 4, !tbaa !5
  %2353 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2344, ptr noundef nonnull %.str.12.sink2389, i32 noundef %2345, ptr noundef nonnull @.str.64, ptr noundef nonnull @.str.8, i32 noundef 288, ptr noundef %2347, ptr noundef %2349, ptr noundef %2351, i32 noundef %2352) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2354:                                             ; preds = %2327
  %2355 = load i32, ptr @test_count, align 4, !tbaa !5
  %2356 = add nsw i32 %2355, 1
  store i32 %2356, ptr @test_count, align 4, !tbaa !5
  %2357 = load i32, ptr %1491, align 4, !tbaa !5
  %2358 = icmp eq i32 %2357, 0
  br i1 %2358, label %2359, label %2381

2359:                                             ; preds = %2354
  %2360 = load i32, ptr %1545, align 4, !tbaa !5
  %2361 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2362 = call i32 @s2n_print_stacktrace(ptr noundef %2361) #12
  %2363 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2364 = trunc nuw i8 %2363 to i1
  br i1 %2364, label %2365, label %2369

2365:                                             ; preds = %2359
  %2366 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2367 = call i32 @fileno(ptr noundef %2366) #12
  %2368 = call i32 @isatty(i32 noundef %2367) #12
  %.not1482 = icmp eq i32 %2368, 0
  br i1 %.not1482, label %2369, label %2370

2369:                                             ; preds = %2365, %2359
  br label %2370

2370:                                             ; preds = %2365, %2369
  %.str.12.sink2398 = phi ptr [ @.str.12, %2369 ], [ @.str.9, %2365 ]
  store i32 %2360, ptr %1545, align 4, !tbaa !5
  %2371 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2372 = load i32, ptr @test_count, align 4, !tbaa !5
  %2373 = load i32, ptr %1491, align 4, !tbaa !5
  %2374 = call ptr @s2n_strerror(i32 noundef %2373, ptr noundef nonnull @.str.11) #12
  %2375 = load i32, ptr %1491, align 4, !tbaa !5
  %2376 = call ptr @s2n_strerror_debug(i32 noundef %2375, ptr noundef nonnull @.str.11) #12
  %2377 = load i32, ptr %1545, align 4, !tbaa !5
  %2378 = call ptr @strerror(i32 noundef %2377) #12
  %2379 = load i32, ptr %1545, align 4, !tbaa !5
  %2380 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2371, ptr noundef nonnull %.str.12.sink2398, i32 noundef %2372, ptr noundef nonnull @.str.53, ptr noundef nonnull @.str.8, i32 noundef 288, ptr noundef %2374, ptr noundef %2376, ptr noundef %2378, i32 noundef %2379) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2381:                                             ; preds = %2354
  %2382 = add nsw i32 %2355, 2
  store i32 %2382, ptr @test_count, align 4, !tbaa !5
  %2383 = call ptr @s2n_strerror_debug(i32 noundef %2357, ptr noundef nonnull @.str.11) #12
  %2384 = icmp eq ptr %2383, null
  br i1 %2384, label %2385, label %2407

2385:                                             ; preds = %2381
  %2386 = load i32, ptr %1545, align 4, !tbaa !5
  %2387 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2388 = call i32 @s2n_print_stacktrace(ptr noundef %2387) #12
  %2389 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2390 = trunc nuw i8 %2389 to i1
  br i1 %2390, label %2391, label %2395

2391:                                             ; preds = %2385
  %2392 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2393 = call i32 @fileno(ptr noundef %2392) #12
  %2394 = call i32 @isatty(i32 noundef %2393) #12
  %.not1481 = icmp eq i32 %2394, 0
  br i1 %.not1481, label %2395, label %2396

2395:                                             ; preds = %2391, %2385
  br label %2396

2396:                                             ; preds = %2391, %2395
  %.str.12.sink2407 = phi ptr [ @.str.12, %2395 ], [ @.str.9, %2391 ]
  store i32 %2386, ptr %1545, align 4, !tbaa !5
  %2397 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2398 = load i32, ptr @test_count, align 4, !tbaa !5
  %2399 = load i32, ptr %1491, align 4, !tbaa !5
  %2400 = call ptr @s2n_strerror(i32 noundef %2399, ptr noundef nonnull @.str.11) #12
  %2401 = load i32, ptr %1491, align 4, !tbaa !5
  %2402 = call ptr @s2n_strerror_debug(i32 noundef %2401, ptr noundef nonnull @.str.11) #12
  %2403 = load i32, ptr %1545, align 4, !tbaa !5
  %2404 = call ptr @strerror(i32 noundef %2403) #12
  %2405 = load i32, ptr %1545, align 4, !tbaa !5
  %2406 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2397, ptr noundef nonnull %.str.12.sink2407, i32 noundef %2398, ptr noundef nonnull @.str.54, ptr noundef nonnull @.str.8, i32 noundef 288, ptr noundef %2400, ptr noundef %2402, ptr noundef %2404, i32 noundef %2405) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2407:                                             ; preds = %2381
  store i32 0, ptr %1491, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %1545, align 4, !tbaa !5
  %2408 = load i32, ptr @test_count, align 4, !tbaa !5
  %2409 = add nsw i32 %2408, 1
  store i32 %2409, ptr @test_count, align 4, !tbaa !5
  %2410 = call i32 @s2n_connection_get_selected_client_cert_signature_algorithm(ptr noundef nonnull %2143, ptr noundef null) #12
  %2411 = icmp eq i32 %2410, -1
  br i1 %2411, label %2434, label %2412

2412:                                             ; preds = %2407
  %2413 = load i32, ptr %1545, align 4, !tbaa !5
  %2414 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2415 = call i32 @s2n_print_stacktrace(ptr noundef %2414) #12
  %2416 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2417 = trunc nuw i8 %2416 to i1
  br i1 %2417, label %2418, label %2422

2418:                                             ; preds = %2412
  %2419 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2420 = call i32 @fileno(ptr noundef %2419) #12
  %2421 = call i32 @isatty(i32 noundef %2420) #12
  %.not1136 = icmp eq i32 %2421, 0
  br i1 %.not1136, label %2422, label %2423

2422:                                             ; preds = %2418, %2412
  br label %2423

2423:                                             ; preds = %2418, %2422
  %.str.12.sink2416 = phi ptr [ @.str.12, %2422 ], [ @.str.9, %2418 ]
  store i32 %2413, ptr %1545, align 4, !tbaa !5
  %2424 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2425 = load i32, ptr @test_count, align 4, !tbaa !5
  %2426 = load i32, ptr %1491, align 4, !tbaa !5
  %2427 = call ptr @s2n_strerror(i32 noundef %2426, ptr noundef nonnull @.str.11) #12
  %2428 = load i32, ptr %1491, align 4, !tbaa !5
  %2429 = call ptr @s2n_strerror_debug(i32 noundef %2428, ptr noundef nonnull @.str.11) #12
  %2430 = load i32, ptr %1545, align 4, !tbaa !5
  %2431 = call ptr @strerror(i32 noundef %2430) #12
  %2432 = load i32, ptr %1545, align 4, !tbaa !5
  %2433 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2424, ptr noundef nonnull %.str.12.sink2416, i32 noundef %2425, ptr noundef nonnull @.str.65, ptr noundef nonnull @.str.8, i32 noundef 289, ptr noundef %2427, ptr noundef %2429, ptr noundef %2431, i32 noundef %2432) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2434:                                             ; preds = %2407
  %2435 = load i32, ptr @test_count, align 4, !tbaa !5
  %2436 = add nsw i32 %2435, 1
  store i32 %2436, ptr @test_count, align 4, !tbaa !5
  %2437 = load i32, ptr %1491, align 4, !tbaa !5
  %2438 = icmp eq i32 %2437, 0
  br i1 %2438, label %2439, label %2461

2439:                                             ; preds = %2434
  %2440 = load i32, ptr %1545, align 4, !tbaa !5
  %2441 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2442 = call i32 @s2n_print_stacktrace(ptr noundef %2441) #12
  %2443 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2444 = trunc nuw i8 %2443 to i1
  br i1 %2444, label %2445, label %2449

2445:                                             ; preds = %2439
  %2446 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2447 = call i32 @fileno(ptr noundef %2446) #12
  %2448 = call i32 @isatty(i32 noundef %2447) #12
  %.not1480 = icmp eq i32 %2448, 0
  br i1 %.not1480, label %2449, label %2450

2449:                                             ; preds = %2445, %2439
  br label %2450

2450:                                             ; preds = %2445, %2449
  %.str.12.sink2425 = phi ptr [ @.str.12, %2449 ], [ @.str.9, %2445 ]
  store i32 %2440, ptr %1545, align 4, !tbaa !5
  %2451 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2452 = load i32, ptr @test_count, align 4, !tbaa !5
  %2453 = load i32, ptr %1491, align 4, !tbaa !5
  %2454 = call ptr @s2n_strerror(i32 noundef %2453, ptr noundef nonnull @.str.11) #12
  %2455 = load i32, ptr %1491, align 4, !tbaa !5
  %2456 = call ptr @s2n_strerror_debug(i32 noundef %2455, ptr noundef nonnull @.str.11) #12
  %2457 = load i32, ptr %1545, align 4, !tbaa !5
  %2458 = call ptr @strerror(i32 noundef %2457) #12
  %2459 = load i32, ptr %1545, align 4, !tbaa !5
  %2460 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2451, ptr noundef nonnull %.str.12.sink2425, i32 noundef %2452, ptr noundef nonnull @.str.53, ptr noundef nonnull @.str.8, i32 noundef 289, ptr noundef %2454, ptr noundef %2456, ptr noundef %2458, i32 noundef %2459) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2461:                                             ; preds = %2434
  %2462 = add nsw i32 %2435, 2
  store i32 %2462, ptr @test_count, align 4, !tbaa !5
  %2463 = call ptr @s2n_strerror_debug(i32 noundef %2437, ptr noundef nonnull @.str.11) #12
  %2464 = icmp eq ptr %2463, null
  br i1 %2464, label %2465, label %2487

2465:                                             ; preds = %2461
  %2466 = load i32, ptr %1545, align 4, !tbaa !5
  %2467 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2468 = call i32 @s2n_print_stacktrace(ptr noundef %2467) #12
  %2469 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2470 = trunc nuw i8 %2469 to i1
  br i1 %2470, label %2471, label %2475

2471:                                             ; preds = %2465
  %2472 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2473 = call i32 @fileno(ptr noundef %2472) #12
  %2474 = call i32 @isatty(i32 noundef %2473) #12
  %.not1479 = icmp eq i32 %2474, 0
  br i1 %.not1479, label %2475, label %2476

2475:                                             ; preds = %2471, %2465
  br label %2476

2476:                                             ; preds = %2471, %2475
  %.str.12.sink2434 = phi ptr [ @.str.12, %2475 ], [ @.str.9, %2471 ]
  store i32 %2466, ptr %1545, align 4, !tbaa !5
  %2477 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2478 = load i32, ptr @test_count, align 4, !tbaa !5
  %2479 = load i32, ptr %1491, align 4, !tbaa !5
  %2480 = call ptr @s2n_strerror(i32 noundef %2479, ptr noundef nonnull @.str.11) #12
  %2481 = load i32, ptr %1491, align 4, !tbaa !5
  %2482 = call ptr @s2n_strerror_debug(i32 noundef %2481, ptr noundef nonnull @.str.11) #12
  %2483 = load i32, ptr %1545, align 4, !tbaa !5
  %2484 = call ptr @strerror(i32 noundef %2483) #12
  %2485 = load i32, ptr %1545, align 4, !tbaa !5
  %2486 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2477, ptr noundef nonnull %.str.12.sink2434, i32 noundef %2478, ptr noundef nonnull @.str.54, ptr noundef nonnull @.str.8, i32 noundef 289, ptr noundef %2480, ptr noundef %2482, ptr noundef %2484, i32 noundef %2485) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2487:                                             ; preds = %2461
  store i32 0, ptr %1491, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %1545, align 4, !tbaa !5
  %2488 = load i32, ptr @test_count, align 4, !tbaa !5
  %2489 = add nsw i32 %2488, 1
  store i32 %2489, ptr @test_count, align 4, !tbaa !5
  %2490 = call i32 @s2n_connection_get_selected_client_cert_signature_algorithm(ptr noundef nonnull %2143, ptr noundef nonnull %10) #12
  %2491 = icmp eq i32 %2490, -1
  br i1 %2491, label %2492, label %2514

2492:                                             ; preds = %2487
  %2493 = load i32, ptr %1545, align 4, !tbaa !5
  %2494 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2495 = call i32 @s2n_print_stacktrace(ptr noundef %2494) #12
  %2496 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2497 = trunc nuw i8 %2496 to i1
  br i1 %2497, label %2498, label %2502

2498:                                             ; preds = %2492
  %2499 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2500 = call i32 @fileno(ptr noundef %2499) #12
  %2501 = call i32 @isatty(i32 noundef %2500) #12
  %.not1478 = icmp eq i32 %2501, 0
  br i1 %.not1478, label %2502, label %2503

2502:                                             ; preds = %2498, %2492
  br label %2503

2503:                                             ; preds = %2498, %2502
  %.str.12.sink2443 = phi ptr [ @.str.12, %2502 ], [ @.str.9, %2498 ]
  store i32 %2493, ptr %1545, align 4, !tbaa !5
  %2504 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2505 = load i32, ptr @test_count, align 4, !tbaa !5
  %2506 = load i32, ptr %1491, align 4, !tbaa !5
  %2507 = call ptr @s2n_strerror(i32 noundef %2506, ptr noundef nonnull @.str.11) #12
  %2508 = load i32, ptr %1491, align 4, !tbaa !5
  %2509 = call ptr @s2n_strerror_debug(i32 noundef %2508, ptr noundef nonnull @.str.11) #12
  %2510 = load i32, ptr %1545, align 4, !tbaa !5
  %2511 = call ptr @strerror(i32 noundef %2510) #12
  %2512 = load i32, ptr %1545, align 4, !tbaa !5
  %2513 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2504, ptr noundef nonnull %.str.12.sink2443, i32 noundef %2505, ptr noundef nonnull @.str.66, ptr noundef nonnull @.str.8, i32 noundef 291, ptr noundef %2507, ptr noundef %2509, ptr noundef %2511, i32 noundef %2512) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2514:                                             ; preds = %2487
  %2515 = load i32, ptr @test_count, align 4, !tbaa !5
  %2516 = add nsw i32 %2515, 1
  store i32 %2516, ptr @test_count, align 4, !tbaa !5
  %2517 = load i32, ptr %10, align 4, !tbaa !5
  %2518 = icmp eq i32 %2517, 0
  br i1 %2518, label %2541, label %2519

2519:                                             ; preds = %2514
  %2520 = load i32, ptr %1545, align 4, !tbaa !5
  %2521 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2522 = call i32 @s2n_print_stacktrace(ptr noundef %2521) #12
  %2523 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2524 = trunc nuw i8 %2523 to i1
  br i1 %2524, label %2525, label %2529

2525:                                             ; preds = %2519
  %2526 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2527 = call i32 @fileno(ptr noundef %2526) #12
  %2528 = call i32 @isatty(i32 noundef %2527) #12
  %.not1137 = icmp eq i32 %2528, 0
  br i1 %.not1137, label %2529, label %2530

2529:                                             ; preds = %2525, %2519
  br label %2530

2530:                                             ; preds = %2525, %2529
  %.str.12.sink2452 = phi ptr [ @.str.12, %2529 ], [ @.str.9, %2525 ]
  store i32 %2520, ptr %1545, align 4, !tbaa !5
  %2531 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2532 = load i32, ptr @test_count, align 4, !tbaa !5
  %2533 = load i32, ptr %1491, align 4, !tbaa !5
  %2534 = call ptr @s2n_strerror(i32 noundef %2533, ptr noundef nonnull @.str.11) #12
  %2535 = load i32, ptr %1491, align 4, !tbaa !5
  %2536 = call ptr @s2n_strerror_debug(i32 noundef %2535, ptr noundef nonnull @.str.11) #12
  %2537 = load i32, ptr %1545, align 4, !tbaa !5
  %2538 = call ptr @strerror(i32 noundef %2537) #12
  %2539 = load i32, ptr %1545, align 4, !tbaa !5
  %2540 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2531, ptr noundef nonnull %.str.12.sink2452, i32 noundef %2532, ptr noundef nonnull @.str.67, ptr noundef nonnull @.str.8, i32 noundef 292, ptr noundef %2534, ptr noundef %2536, ptr noundef %2538, i32 noundef %2539) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2541:                                             ; preds = %2514
  %2542 = add nsw i32 %2515, 2
  store i32 %2542, ptr @test_count, align 4, !tbaa !5
  %2543 = call i32 @s2n_connection_get_selected_signature_algorithm(ptr noundef nonnull %2143, ptr noundef nonnull %10) #12
  %2544 = icmp eq i32 %2543, -1
  br i1 %2544, label %2545, label %2567

2545:                                             ; preds = %2541
  %2546 = load i32, ptr %1545, align 4, !tbaa !5
  %2547 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2548 = call i32 @s2n_print_stacktrace(ptr noundef %2547) #12
  %2549 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2550 = trunc nuw i8 %2549 to i1
  br i1 %2550, label %2551, label %2555

2551:                                             ; preds = %2545
  %2552 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2553 = call i32 @fileno(ptr noundef %2552) #12
  %2554 = call i32 @isatty(i32 noundef %2553) #12
  %.not1477 = icmp eq i32 %2554, 0
  br i1 %.not1477, label %2555, label %2556

2555:                                             ; preds = %2551, %2545
  br label %2556

2556:                                             ; preds = %2551, %2555
  %.str.12.sink2461 = phi ptr [ @.str.12, %2555 ], [ @.str.9, %2551 ]
  store i32 %2546, ptr %1545, align 4, !tbaa !5
  %2557 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2558 = load i32, ptr @test_count, align 4, !tbaa !5
  %2559 = load i32, ptr %1491, align 4, !tbaa !5
  %2560 = call ptr @s2n_strerror(i32 noundef %2559, ptr noundef nonnull @.str.11) #12
  %2561 = load i32, ptr %1491, align 4, !tbaa !5
  %2562 = call ptr @s2n_strerror_debug(i32 noundef %2561, ptr noundef nonnull @.str.11) #12
  %2563 = load i32, ptr %1545, align 4, !tbaa !5
  %2564 = call ptr @strerror(i32 noundef %2563) #12
  %2565 = load i32, ptr %1545, align 4, !tbaa !5
  %2566 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2557, ptr noundef nonnull %.str.12.sink2461, i32 noundef %2558, ptr noundef nonnull @.str.68, ptr noundef nonnull @.str.8, i32 noundef 294, ptr noundef %2560, ptr noundef %2562, ptr noundef %2564, i32 noundef %2565) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2567:                                             ; preds = %2541
  %2568 = load i32, ptr @test_count, align 4, !tbaa !5
  %2569 = add nsw i32 %2568, 1
  store i32 %2569, ptr @test_count, align 4, !tbaa !5
  %2570 = load i32, ptr %10, align 4, !tbaa !5
  %2571 = icmp eq i32 %2570, 0
  br i1 %2571, label %2594, label %2572

2572:                                             ; preds = %2567
  %2573 = load i32, ptr %1545, align 4, !tbaa !5
  %2574 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2575 = call i32 @s2n_print_stacktrace(ptr noundef %2574) #12
  %2576 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2577 = trunc nuw i8 %2576 to i1
  br i1 %2577, label %2578, label %2582

2578:                                             ; preds = %2572
  %2579 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2580 = call i32 @fileno(ptr noundef %2579) #12
  %2581 = call i32 @isatty(i32 noundef %2580) #12
  %.not1138 = icmp eq i32 %2581, 0
  br i1 %.not1138, label %2582, label %2583

2582:                                             ; preds = %2578, %2572
  br label %2583

2583:                                             ; preds = %2578, %2582
  %.str.12.sink2470 = phi ptr [ @.str.12, %2582 ], [ @.str.9, %2578 ]
  store i32 %2573, ptr %1545, align 4, !tbaa !5
  %2584 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2585 = load i32, ptr @test_count, align 4, !tbaa !5
  %2586 = load i32, ptr %1491, align 4, !tbaa !5
  %2587 = call ptr @s2n_strerror(i32 noundef %2586, ptr noundef nonnull @.str.11) #12
  %2588 = load i32, ptr %1491, align 4, !tbaa !5
  %2589 = call ptr @s2n_strerror_debug(i32 noundef %2588, ptr noundef nonnull @.str.11) #12
  %2590 = load i32, ptr %1545, align 4, !tbaa !5
  %2591 = call ptr @strerror(i32 noundef %2590) #12
  %2592 = load i32, ptr %1545, align 4, !tbaa !5
  %2593 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2584, ptr noundef nonnull %.str.12.sink2470, i32 noundef %2585, ptr noundef nonnull @.str.67, ptr noundef nonnull @.str.8, i32 noundef 295, ptr noundef %2587, ptr noundef %2589, ptr noundef %2591, i32 noundef %2592) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2594:                                             ; preds = %2567
  call void @llvm.lifetime.start.p0(i64 904, ptr nonnull %11) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 16 dereferenceable(904) %11, i8 0, i64 896, i1 false)
  %2595 = getelementptr inbounds i8, ptr %11, i64 4
  store i32 1, ptr %2595, align 4
  %2596 = getelementptr inbounds i8, ptr %11, i64 12
  store i32 3, ptr %2596, align 4
  %2597 = getelementptr inbounds i8, ptr %11, i64 896
  store i32 224, ptr %2597, align 16
  %2598 = getelementptr inbounds i8, ptr %11, i64 900
  store i32 225, ptr %2598, align 4
  %2599 = getelementptr inbounds i8, ptr %2143, i64 1536
  %2600 = getelementptr inbounds i8, ptr %12, i64 20
  %2601 = getelementptr inbounds i8, ptr %2143, i64 1528
  br label %2606

2602:                                             ; preds = %2822
  %2603 = add nsw i32 %2823, 1
  store i32 %2603, ptr @test_count, align 4, !tbaa !5
  %2604 = call i32 @s2n_connection_free(ptr noundef nonnull %2143) #12
  %2605 = icmp eq i32 %2604, -1
  br i1 %2605, label %2825, label %2847

2606:                                             ; preds = %2594, %2822
  %2607 = phi i32 [ %2569, %2594 ], [ %2823, %2822 ]
  %.010771552 = phi i64 [ 0, %2594 ], [ %2824, %2822 ]
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %12) #12
  %2608 = load ptr, ptr %2599, align 8, !tbaa !50
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %12, ptr noundef nonnull align 8 dereferenceable(40) %2608, i64 40, i1 false), !tbaa.struct !51
  %2609 = trunc nuw nsw i64 %.010771552 to i32
  store i32 %2609, ptr %2600, align 4, !tbaa !58
  store ptr %12, ptr %2599, align 8, !tbaa !50
  store ptr %12, ptr %2601, align 8, !tbaa !55
  %2610 = icmp ult i64 %.010771552, 226
  %2611 = add nsw i32 %2607, 1
  store i32 %2611, ptr @test_count, align 4, !tbaa !5
  %2612 = call i32 @s2n_connection_get_selected_client_cert_signature_algorithm(ptr noundef nonnull %2143, ptr noundef nonnull %10) #12
  %2613 = icmp eq i32 %2612, -1
  br i1 %2610, label %2614, label %2719

2614:                                             ; preds = %2606
  br i1 %2613, label %2615, label %2637

2615:                                             ; preds = %2614
  %2616 = load i32, ptr %1545, align 4, !tbaa !5
  %2617 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2618 = call i32 @s2n_print_stacktrace(ptr noundef %2617) #12
  %2619 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2620 = trunc nuw i8 %2619 to i1
  br i1 %2620, label %2621, label %2625

2621:                                             ; preds = %2615
  %2622 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2623 = call i32 @fileno(ptr noundef %2622) #12
  %2624 = call i32 @isatty(i32 noundef %2623) #12
  %.not1476 = icmp eq i32 %2624, 0
  br i1 %.not1476, label %2625, label %2626

2625:                                             ; preds = %2621, %2615
  br label %2626

2626:                                             ; preds = %2621, %2625
  %.str.12.sink2479 = phi ptr [ @.str.12, %2625 ], [ @.str.9, %2621 ]
  store i32 %2616, ptr %1545, align 4, !tbaa !5
  %2627 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2628 = load i32, ptr @test_count, align 4, !tbaa !5
  %2629 = load i32, ptr %1491, align 4, !tbaa !5
  %2630 = call ptr @s2n_strerror(i32 noundef %2629, ptr noundef nonnull @.str.11) #12
  %2631 = load i32, ptr %1491, align 4, !tbaa !5
  %2632 = call ptr @s2n_strerror_debug(i32 noundef %2631, ptr noundef nonnull @.str.11) #12
  %2633 = load i32, ptr %1545, align 4, !tbaa !5
  %2634 = call ptr @strerror(i32 noundef %2633) #12
  %2635 = load i32, ptr %1545, align 4, !tbaa !5
  %2636 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2627, ptr noundef nonnull %.str.12.sink2479, i32 noundef %2628, ptr noundef nonnull @.str.66, ptr noundef nonnull @.str.8, i32 noundef 312, ptr noundef %2630, ptr noundef %2632, ptr noundef %2634, i32 noundef %2635) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2637:                                             ; preds = %2614
  %2638 = load i32, ptr @test_count, align 4, !tbaa !5
  %2639 = add nsw i32 %2638, 1
  store i32 %2639, ptr @test_count, align 4, !tbaa !5
  %2640 = getelementptr inbounds [226 x i32], ptr %11, i64 0, i64 %.010771552
  %2641 = load i32, ptr %2640, align 4, !tbaa !5
  %2642 = load i32, ptr %10, align 4, !tbaa !5
  %2643 = icmp eq i32 %2641, %2642
  br i1 %2643, label %2666, label %2644

2644:                                             ; preds = %2637
  %2645 = load i32, ptr %1545, align 4, !tbaa !5
  %2646 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2647 = call i32 @s2n_print_stacktrace(ptr noundef %2646) #12
  %2648 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2649 = trunc nuw i8 %2648 to i1
  br i1 %2649, label %2650, label %2654

2650:                                             ; preds = %2644
  %2651 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2652 = call i32 @fileno(ptr noundef %2651) #12
  %2653 = call i32 @isatty(i32 noundef %2652) #12
  %.not1473 = icmp eq i32 %2653, 0
  br i1 %.not1473, label %2654, label %2655

2654:                                             ; preds = %2650, %2644
  br label %2655

2655:                                             ; preds = %2650, %2654
  %.str.12.sink2488 = phi ptr [ @.str.12, %2654 ], [ @.str.9, %2650 ]
  store i32 %2645, ptr %1545, align 4, !tbaa !5
  %2656 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2657 = load i32, ptr @test_count, align 4, !tbaa !5
  %2658 = load i32, ptr %1491, align 4, !tbaa !5
  %2659 = call ptr @s2n_strerror(i32 noundef %2658, ptr noundef nonnull @.str.11) #12
  %2660 = load i32, ptr %1491, align 4, !tbaa !5
  %2661 = call ptr @s2n_strerror_debug(i32 noundef %2660, ptr noundef nonnull @.str.11) #12
  %2662 = load i32, ptr %1545, align 4, !tbaa !5
  %2663 = call ptr @strerror(i32 noundef %2662) #12
  %2664 = load i32, ptr %1545, align 4, !tbaa !5
  %2665 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2656, ptr noundef nonnull %.str.12.sink2488, i32 noundef %2657, ptr noundef nonnull @.str.61, ptr noundef nonnull @.str.8, i32 noundef 313, ptr noundef %2659, ptr noundef %2661, ptr noundef %2663, i32 noundef %2664) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2666:                                             ; preds = %2637
  %2667 = add nsw i32 %2638, 2
  store i32 %2667, ptr @test_count, align 4, !tbaa !5
  %2668 = call i32 @s2n_connection_get_selected_signature_algorithm(ptr noundef nonnull %2143, ptr noundef nonnull %10) #12
  %2669 = icmp eq i32 %2668, -1
  br i1 %2669, label %2670, label %2692

2670:                                             ; preds = %2666
  %2671 = load i32, ptr %1545, align 4, !tbaa !5
  %2672 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2673 = call i32 @s2n_print_stacktrace(ptr noundef %2672) #12
  %2674 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2675 = trunc nuw i8 %2674 to i1
  br i1 %2675, label %2676, label %2680

2676:                                             ; preds = %2670
  %2677 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2678 = call i32 @fileno(ptr noundef %2677) #12
  %2679 = call i32 @isatty(i32 noundef %2678) #12
  %.not1475 = icmp eq i32 %2679, 0
  br i1 %.not1475, label %2680, label %2681

2680:                                             ; preds = %2676, %2670
  br label %2681

2681:                                             ; preds = %2676, %2680
  %.str.12.sink2497 = phi ptr [ @.str.12, %2680 ], [ @.str.9, %2676 ]
  store i32 %2671, ptr %1545, align 4, !tbaa !5
  %2682 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2683 = load i32, ptr @test_count, align 4, !tbaa !5
  %2684 = load i32, ptr %1491, align 4, !tbaa !5
  %2685 = call ptr @s2n_strerror(i32 noundef %2684, ptr noundef nonnull @.str.11) #12
  %2686 = load i32, ptr %1491, align 4, !tbaa !5
  %2687 = call ptr @s2n_strerror_debug(i32 noundef %2686, ptr noundef nonnull @.str.11) #12
  %2688 = load i32, ptr %1545, align 4, !tbaa !5
  %2689 = call ptr @strerror(i32 noundef %2688) #12
  %2690 = load i32, ptr %1545, align 4, !tbaa !5
  %2691 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2682, ptr noundef nonnull %.str.12.sink2497, i32 noundef %2683, ptr noundef nonnull @.str.68, ptr noundef nonnull @.str.8, i32 noundef 315, ptr noundef %2685, ptr noundef %2687, ptr noundef %2689, i32 noundef %2690) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2692:                                             ; preds = %2666
  %2693 = load i32, ptr @test_count, align 4, !tbaa !5
  %2694 = add nsw i32 %2693, 1
  store i32 %2694, ptr @test_count, align 4, !tbaa !5
  %2695 = load i32, ptr %10, align 4, !tbaa !5
  %2696 = icmp eq i32 %2641, %2695
  br i1 %2696, label %2822, label %2697

2697:                                             ; preds = %2692
  %2698 = load i32, ptr %1545, align 4, !tbaa !5
  %2699 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2700 = call i32 @s2n_print_stacktrace(ptr noundef %2699) #12
  %2701 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2702 = trunc nuw i8 %2701 to i1
  br i1 %2702, label %2703, label %2707

2703:                                             ; preds = %2697
  %2704 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2705 = call i32 @fileno(ptr noundef %2704) #12
  %2706 = call i32 @isatty(i32 noundef %2705) #12
  %.not1474 = icmp eq i32 %2706, 0
  br i1 %.not1474, label %2707, label %2708

2707:                                             ; preds = %2703, %2697
  br label %2708

2708:                                             ; preds = %2703, %2707
  %.str.12.sink2506 = phi ptr [ @.str.12, %2707 ], [ @.str.9, %2703 ]
  store i32 %2698, ptr %1545, align 4, !tbaa !5
  %2709 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2710 = load i32, ptr @test_count, align 4, !tbaa !5
  %2711 = load i32, ptr %1491, align 4, !tbaa !5
  %2712 = call ptr @s2n_strerror(i32 noundef %2711, ptr noundef nonnull @.str.11) #12
  %2713 = load i32, ptr %1491, align 4, !tbaa !5
  %2714 = call ptr @s2n_strerror_debug(i32 noundef %2713, ptr noundef nonnull @.str.11) #12
  %2715 = load i32, ptr %1545, align 4, !tbaa !5
  %2716 = call ptr @strerror(i32 noundef %2715) #12
  %2717 = load i32, ptr %1545, align 4, !tbaa !5
  %2718 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2709, ptr noundef nonnull %.str.12.sink2506, i32 noundef %2710, ptr noundef nonnull @.str.61, ptr noundef nonnull @.str.8, i32 noundef 316, ptr noundef %2712, ptr noundef %2714, ptr noundef %2716, i32 noundef %2717) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2719:                                             ; preds = %2606
  br i1 %2613, label %2720, label %2742

2720:                                             ; preds = %2719
  %2721 = load i32, ptr %1545, align 4, !tbaa !5
  %2722 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2723 = call i32 @s2n_print_stacktrace(ptr noundef %2722) #12
  %2724 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2725 = trunc nuw i8 %2724 to i1
  br i1 %2725, label %2726, label %2730

2726:                                             ; preds = %2720
  %2727 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2728 = call i32 @fileno(ptr noundef %2727) #12
  %2729 = call i32 @isatty(i32 noundef %2728) #12
  %.not1472 = icmp eq i32 %2729, 0
  br i1 %.not1472, label %2730, label %2731

2730:                                             ; preds = %2726, %2720
  br label %2731

2731:                                             ; preds = %2726, %2730
  %.str.12.sink2515 = phi ptr [ @.str.12, %2730 ], [ @.str.9, %2726 ]
  store i32 %2721, ptr %1545, align 4, !tbaa !5
  %2732 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2733 = load i32, ptr @test_count, align 4, !tbaa !5
  %2734 = load i32, ptr %1491, align 4, !tbaa !5
  %2735 = call ptr @s2n_strerror(i32 noundef %2734, ptr noundef nonnull @.str.11) #12
  %2736 = load i32, ptr %1491, align 4, !tbaa !5
  %2737 = call ptr @s2n_strerror_debug(i32 noundef %2736, ptr noundef nonnull @.str.11) #12
  %2738 = load i32, ptr %1545, align 4, !tbaa !5
  %2739 = call ptr @strerror(i32 noundef %2738) #12
  %2740 = load i32, ptr %1545, align 4, !tbaa !5
  %2741 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2732, ptr noundef nonnull %.str.12.sink2515, i32 noundef %2733, ptr noundef nonnull @.str.66, ptr noundef nonnull @.str.8, i32 noundef 318, ptr noundef %2735, ptr noundef %2737, ptr noundef %2739, i32 noundef %2740) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2742:                                             ; preds = %2719
  %2743 = load i32, ptr @test_count, align 4, !tbaa !5
  %2744 = add nsw i32 %2743, 1
  store i32 %2744, ptr @test_count, align 4, !tbaa !5
  %2745 = load i32, ptr %10, align 4, !tbaa !5
  %2746 = icmp eq i32 %2745, 0
  br i1 %2746, label %2769, label %2747

2747:                                             ; preds = %2742
  %2748 = load i32, ptr %1545, align 4, !tbaa !5
  %2749 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2750 = call i32 @s2n_print_stacktrace(ptr noundef %2749) #12
  %2751 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2752 = trunc nuw i8 %2751 to i1
  br i1 %2752, label %2753, label %2757

2753:                                             ; preds = %2747
  %2754 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2755 = call i32 @fileno(ptr noundef %2754) #12
  %2756 = call i32 @isatty(i32 noundef %2755) #12
  %.not1469 = icmp eq i32 %2756, 0
  br i1 %.not1469, label %2757, label %2758

2757:                                             ; preds = %2753, %2747
  br label %2758

2758:                                             ; preds = %2753, %2757
  %.str.12.sink2524 = phi ptr [ @.str.12, %2757 ], [ @.str.9, %2753 ]
  store i32 %2748, ptr %1545, align 4, !tbaa !5
  %2759 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2760 = load i32, ptr @test_count, align 4, !tbaa !5
  %2761 = load i32, ptr %1491, align 4, !tbaa !5
  %2762 = call ptr @s2n_strerror(i32 noundef %2761, ptr noundef nonnull @.str.11) #12
  %2763 = load i32, ptr %1491, align 4, !tbaa !5
  %2764 = call ptr @s2n_strerror_debug(i32 noundef %2763, ptr noundef nonnull @.str.11) #12
  %2765 = load i32, ptr %1545, align 4, !tbaa !5
  %2766 = call ptr @strerror(i32 noundef %2765) #12
  %2767 = load i32, ptr %1545, align 4, !tbaa !5
  %2768 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2759, ptr noundef nonnull %.str.12.sink2524, i32 noundef %2760, ptr noundef nonnull @.str.67, ptr noundef nonnull @.str.8, i32 noundef 319, ptr noundef %2762, ptr noundef %2764, ptr noundef %2766, i32 noundef %2767) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2769:                                             ; preds = %2742
  %2770 = add nsw i32 %2743, 2
  store i32 %2770, ptr @test_count, align 4, !tbaa !5
  %2771 = call i32 @s2n_connection_get_selected_signature_algorithm(ptr noundef nonnull %2143, ptr noundef nonnull %10) #12
  %2772 = icmp eq i32 %2771, -1
  br i1 %2772, label %2773, label %2795

2773:                                             ; preds = %2769
  %2774 = load i32, ptr %1545, align 4, !tbaa !5
  %2775 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2776 = call i32 @s2n_print_stacktrace(ptr noundef %2775) #12
  %2777 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2778 = trunc nuw i8 %2777 to i1
  br i1 %2778, label %2779, label %2783

2779:                                             ; preds = %2773
  %2780 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2781 = call i32 @fileno(ptr noundef %2780) #12
  %2782 = call i32 @isatty(i32 noundef %2781) #12
  %.not1471 = icmp eq i32 %2782, 0
  br i1 %.not1471, label %2783, label %2784

2783:                                             ; preds = %2779, %2773
  br label %2784

2784:                                             ; preds = %2779, %2783
  %.str.12.sink2533 = phi ptr [ @.str.12, %2783 ], [ @.str.9, %2779 ]
  store i32 %2774, ptr %1545, align 4, !tbaa !5
  %2785 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2786 = load i32, ptr @test_count, align 4, !tbaa !5
  %2787 = load i32, ptr %1491, align 4, !tbaa !5
  %2788 = call ptr @s2n_strerror(i32 noundef %2787, ptr noundef nonnull @.str.11) #12
  %2789 = load i32, ptr %1491, align 4, !tbaa !5
  %2790 = call ptr @s2n_strerror_debug(i32 noundef %2789, ptr noundef nonnull @.str.11) #12
  %2791 = load i32, ptr %1545, align 4, !tbaa !5
  %2792 = call ptr @strerror(i32 noundef %2791) #12
  %2793 = load i32, ptr %1545, align 4, !tbaa !5
  %2794 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2785, ptr noundef nonnull %.str.12.sink2533, i32 noundef %2786, ptr noundef nonnull @.str.68, ptr noundef nonnull @.str.8, i32 noundef 321, ptr noundef %2788, ptr noundef %2790, ptr noundef %2792, i32 noundef %2793) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2795:                                             ; preds = %2769
  %2796 = load i32, ptr @test_count, align 4, !tbaa !5
  %2797 = add nsw i32 %2796, 1
  store i32 %2797, ptr @test_count, align 4, !tbaa !5
  %2798 = load i32, ptr %10, align 4, !tbaa !5
  %2799 = icmp eq i32 %2798, 0
  br i1 %2799, label %2822, label %2800

2800:                                             ; preds = %2795
  %2801 = load i32, ptr %1545, align 4, !tbaa !5
  %2802 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2803 = call i32 @s2n_print_stacktrace(ptr noundef %2802) #12
  %2804 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2805 = trunc nuw i8 %2804 to i1
  br i1 %2805, label %2806, label %2810

2806:                                             ; preds = %2800
  %2807 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2808 = call i32 @fileno(ptr noundef %2807) #12
  %2809 = call i32 @isatty(i32 noundef %2808) #12
  %.not1470 = icmp eq i32 %2809, 0
  br i1 %.not1470, label %2810, label %2811

2810:                                             ; preds = %2806, %2800
  br label %2811

2811:                                             ; preds = %2806, %2810
  %.str.12.sink2542 = phi ptr [ @.str.12, %2810 ], [ @.str.9, %2806 ]
  store i32 %2801, ptr %1545, align 4, !tbaa !5
  %2812 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2813 = load i32, ptr @test_count, align 4, !tbaa !5
  %2814 = load i32, ptr %1491, align 4, !tbaa !5
  %2815 = call ptr @s2n_strerror(i32 noundef %2814, ptr noundef nonnull @.str.11) #12
  %2816 = load i32, ptr %1491, align 4, !tbaa !5
  %2817 = call ptr @s2n_strerror_debug(i32 noundef %2816, ptr noundef nonnull @.str.11) #12
  %2818 = load i32, ptr %1545, align 4, !tbaa !5
  %2819 = call ptr @strerror(i32 noundef %2818) #12
  %2820 = load i32, ptr %1545, align 4, !tbaa !5
  %2821 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2812, ptr noundef nonnull %.str.12.sink2542, i32 noundef %2813, ptr noundef nonnull @.str.67, ptr noundef nonnull @.str.8, i32 noundef 322, ptr noundef %2815, ptr noundef %2817, ptr noundef %2819, i32 noundef %2820) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2822:                                             ; preds = %2795, %2692
  %2823 = phi i32 [ %2797, %2795 ], [ %2694, %2692 ]
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %12) #12
  %2824 = add nuw nsw i64 %.010771552, 1
  %exitcond1560.not = icmp eq i64 %2824, 65536
  br i1 %exitcond1560.not, label %2602, label %2606, !llvm.loop !59

2825:                                             ; preds = %2602
  %2826 = load i32, ptr %1545, align 4, !tbaa !5
  %2827 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2828 = call i32 @s2n_print_stacktrace(ptr noundef %2827) #12
  %2829 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2830 = trunc nuw i8 %2829 to i1
  br i1 %2830, label %2831, label %2835

2831:                                             ; preds = %2825
  %2832 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2833 = call i32 @fileno(ptr noundef %2832) #12
  %2834 = call i32 @isatty(i32 noundef %2833) #12
  %.not1468 = icmp eq i32 %2834, 0
  br i1 %.not1468, label %2835, label %2836

2835:                                             ; preds = %2831, %2825
  br label %2836

2836:                                             ; preds = %2831, %2835
  %.str.12.sink2551 = phi ptr [ @.str.12, %2835 ], [ @.str.9, %2831 ]
  store i32 %2826, ptr %1545, align 4, !tbaa !5
  %2837 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2838 = load i32, ptr @test_count, align 4, !tbaa !5
  %2839 = load i32, ptr %1491, align 4, !tbaa !5
  %2840 = call ptr @s2n_strerror(i32 noundef %2839, ptr noundef nonnull @.str.11) #12
  %2841 = load i32, ptr %1491, align 4, !tbaa !5
  %2842 = call ptr @s2n_strerror_debug(i32 noundef %2841, ptr noundef nonnull @.str.11) #12
  %2843 = load i32, ptr %1545, align 4, !tbaa !5
  %2844 = call ptr @strerror(i32 noundef %2843) #12
  %2845 = load i32, ptr %1545, align 4, !tbaa !5
  %2846 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2837, ptr noundef nonnull %.str.12.sink2551, i32 noundef %2838, ptr noundef nonnull @.str.25, ptr noundef nonnull @.str.8, i32 noundef 326, ptr noundef %2840, ptr noundef %2842, ptr noundef %2844, i32 noundef %2845) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2847:                                             ; preds = %2602
  call void @llvm.lifetime.end.p0(i64 904, ptr nonnull %11) #12
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %10) #12
  %2848 = call zeroext i1 (...) @s2n_is_tls13_fully_supported() #12
  br i1 %2848, label %2849, label %3361

2849:                                             ; preds = %2847
  %2850 = call ptr @s2n_config_new() #12
  %2851 = load i32, ptr @test_count, align 4, !tbaa !5
  %2852 = add nsw i32 %2851, 1
  store i32 %2852, ptr @test_count, align 4, !tbaa !5
  %2853 = icmp eq ptr %2850, null
  br i1 %2853, label %2854, label %2876

2854:                                             ; preds = %2849
  %2855 = load i32, ptr %1545, align 4, !tbaa !5
  %2856 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2857 = call i32 @s2n_print_stacktrace(ptr noundef %2856) #12
  %2858 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2859 = trunc nuw i8 %2858 to i1
  br i1 %2859, label %2860, label %2864

2860:                                             ; preds = %2854
  %2861 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2862 = call i32 @fileno(ptr noundef %2861) #12
  %2863 = call i32 @isatty(i32 noundef %2862) #12
  %.not1467 = icmp eq i32 %2863, 0
  br i1 %.not1467, label %2864, label %2865

2864:                                             ; preds = %2860, %2854
  br label %2865

2865:                                             ; preds = %2860, %2864
  %.str.12.sink2560 = phi ptr [ @.str.12, %2864 ], [ @.str.9, %2860 ]
  store i32 %2855, ptr %1545, align 4, !tbaa !5
  %2866 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2867 = load i32, ptr @test_count, align 4, !tbaa !5
  %2868 = load i32, ptr %1491, align 4, !tbaa !5
  %2869 = call ptr @s2n_strerror(i32 noundef %2868, ptr noundef nonnull @.str.11) #12
  %2870 = load i32, ptr %1491, align 4, !tbaa !5
  %2871 = call ptr @s2n_strerror_debug(i32 noundef %2870, ptr noundef nonnull @.str.11) #12
  %2872 = load i32, ptr %1545, align 4, !tbaa !5
  %2873 = call ptr @strerror(i32 noundef %2872) #12
  %2874 = load i32, ptr %1545, align 4, !tbaa !5
  %2875 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2866, ptr noundef nonnull %.str.12.sink2560, i32 noundef %2867, ptr noundef nonnull @.str.69, ptr noundef nonnull @.str.8, i32 noundef 337, ptr noundef %2869, ptr noundef %2871, ptr noundef %2873, i32 noundef %2874) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2876:                                             ; preds = %2849
  %2877 = add nsw i32 %2851, 2
  store i32 %2877, ptr @test_count, align 4, !tbaa !5
  %2878 = call i32 @s2n_config_set_unsafe_for_testing(ptr noundef nonnull %2850) #12
  %2879 = icmp eq i32 %2878, -1
  br i1 %2879, label %2880, label %2902

2880:                                             ; preds = %2876
  %2881 = load i32, ptr %1545, align 4, !tbaa !5
  %2882 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2883 = call i32 @s2n_print_stacktrace(ptr noundef %2882) #12
  %2884 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2885 = trunc nuw i8 %2884 to i1
  br i1 %2885, label %2886, label %2890

2886:                                             ; preds = %2880
  %2887 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2888 = call i32 @fileno(ptr noundef %2887) #12
  %2889 = call i32 @isatty(i32 noundef %2888) #12
  %.not1466 = icmp eq i32 %2889, 0
  br i1 %.not1466, label %2890, label %2891

2890:                                             ; preds = %2886, %2880
  br label %2891

2891:                                             ; preds = %2886, %2890
  %.str.12.sink2569 = phi ptr [ @.str.12, %2890 ], [ @.str.9, %2886 ]
  store i32 %2881, ptr %1545, align 4, !tbaa !5
  %2892 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2893 = load i32, ptr @test_count, align 4, !tbaa !5
  %2894 = load i32, ptr %1491, align 4, !tbaa !5
  %2895 = call ptr @s2n_strerror(i32 noundef %2894, ptr noundef nonnull @.str.11) #12
  %2896 = load i32, ptr %1491, align 4, !tbaa !5
  %2897 = call ptr @s2n_strerror_debug(i32 noundef %2896, ptr noundef nonnull @.str.11) #12
  %2898 = load i32, ptr %1545, align 4, !tbaa !5
  %2899 = call ptr @strerror(i32 noundef %2898) #12
  %2900 = load i32, ptr %1545, align 4, !tbaa !5
  %2901 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2892, ptr noundef nonnull %.str.12.sink2569, i32 noundef %2893, ptr noundef nonnull @.str.70, ptr noundef nonnull @.str.8, i32 noundef 338, ptr noundef %2895, ptr noundef %2897, ptr noundef %2899, i32 noundef %2900) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2902:                                             ; preds = %2876
  %2903 = load i32, ptr @test_count, align 4, !tbaa !5
  %2904 = add nsw i32 %2903, 1
  store i32 %2904, ptr @test_count, align 4, !tbaa !5
  %2905 = call i32 @s2n_config_set_client_auth_type(ptr noundef nonnull %2850, i32 noundef 1) #12
  %2906 = icmp eq i32 %2905, -1
  br i1 %2906, label %2907, label %2929

2907:                                             ; preds = %2902
  %2908 = load i32, ptr %1545, align 4, !tbaa !5
  %2909 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2910 = call i32 @s2n_print_stacktrace(ptr noundef %2909) #12
  %2911 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2912 = trunc nuw i8 %2911 to i1
  br i1 %2912, label %2913, label %2917

2913:                                             ; preds = %2907
  %2914 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2915 = call i32 @fileno(ptr noundef %2914) #12
  %2916 = call i32 @isatty(i32 noundef %2915) #12
  %.not1465 = icmp eq i32 %2916, 0
  br i1 %.not1465, label %2917, label %2918

2917:                                             ; preds = %2913, %2907
  br label %2918

2918:                                             ; preds = %2913, %2917
  %.str.12.sink2578 = phi ptr [ @.str.12, %2917 ], [ @.str.9, %2913 ]
  store i32 %2908, ptr %1545, align 4, !tbaa !5
  %2919 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2920 = load i32, ptr @test_count, align 4, !tbaa !5
  %2921 = load i32, ptr %1491, align 4, !tbaa !5
  %2922 = call ptr @s2n_strerror(i32 noundef %2921, ptr noundef nonnull @.str.11) #12
  %2923 = load i32, ptr %1491, align 4, !tbaa !5
  %2924 = call ptr @s2n_strerror_debug(i32 noundef %2923, ptr noundef nonnull @.str.11) #12
  %2925 = load i32, ptr %1545, align 4, !tbaa !5
  %2926 = call ptr @strerror(i32 noundef %2925) #12
  %2927 = load i32, ptr %1545, align 4, !tbaa !5
  %2928 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2919, ptr noundef nonnull %.str.12.sink2578, i32 noundef %2920, ptr noundef nonnull @.str.71, ptr noundef nonnull @.str.8, i32 noundef 339, ptr noundef %2922, ptr noundef %2924, ptr noundef %2926, i32 noundef %2927) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2929:                                             ; preds = %2902
  %2930 = load i32, ptr @test_count, align 4, !tbaa !5
  %2931 = add nsw i32 %2930, 1
  store i32 %2931, ptr @test_count, align 4, !tbaa !5
  %2932 = load ptr, ptr %3, align 8, !tbaa !9
  %2933 = call i32 @s2n_config_add_cert_chain_and_key_to_store(ptr noundef nonnull %2850, ptr noundef %2932) #12
  %2934 = icmp eq i32 %2933, -1
  br i1 %2934, label %2935, label %2957

2935:                                             ; preds = %2929
  %2936 = load i32, ptr %1545, align 4, !tbaa !5
  %2937 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2938 = call i32 @s2n_print_stacktrace(ptr noundef %2937) #12
  %2939 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2940 = trunc nuw i8 %2939 to i1
  br i1 %2940, label %2941, label %2945

2941:                                             ; preds = %2935
  %2942 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2943 = call i32 @fileno(ptr noundef %2942) #12
  %2944 = call i32 @isatty(i32 noundef %2943) #12
  %.not1464 = icmp eq i32 %2944, 0
  br i1 %.not1464, label %2945, label %2946

2945:                                             ; preds = %2941, %2935
  br label %2946

2946:                                             ; preds = %2941, %2945
  %.str.12.sink2587 = phi ptr [ @.str.12, %2945 ], [ @.str.9, %2941 ]
  store i32 %2936, ptr %1545, align 4, !tbaa !5
  %2947 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2948 = load i32, ptr @test_count, align 4, !tbaa !5
  %2949 = load i32, ptr %1491, align 4, !tbaa !5
  %2950 = call ptr @s2n_strerror(i32 noundef %2949, ptr noundef nonnull @.str.11) #12
  %2951 = load i32, ptr %1491, align 4, !tbaa !5
  %2952 = call ptr @s2n_strerror_debug(i32 noundef %2951, ptr noundef nonnull @.str.11) #12
  %2953 = load i32, ptr %1545, align 4, !tbaa !5
  %2954 = call ptr @strerror(i32 noundef %2953) #12
  %2955 = load i32, ptr %1545, align 4, !tbaa !5
  %2956 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2947, ptr noundef nonnull %.str.12.sink2587, i32 noundef %2948, ptr noundef nonnull @.str.72, ptr noundef nonnull @.str.8, i32 noundef 340, ptr noundef %2950, ptr noundef %2952, ptr noundef %2954, i32 noundef %2955) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2957:                                             ; preds = %2929
  %2958 = load i32, ptr @test_count, align 4, !tbaa !5
  %2959 = add nsw i32 %2958, 1
  store i32 %2959, ptr @test_count, align 4, !tbaa !5
  %2960 = call i32 @s2n_config_set_cipher_preferences(ptr noundef nonnull %2850, ptr noundef nonnull @.str.73) #12
  %2961 = icmp eq i32 %2960, -1
  br i1 %2961, label %2962, label %2984

2962:                                             ; preds = %2957
  %2963 = load i32, ptr %1545, align 4, !tbaa !5
  %2964 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2965 = call i32 @s2n_print_stacktrace(ptr noundef %2964) #12
  %2966 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2967 = trunc nuw i8 %2966 to i1
  br i1 %2967, label %2968, label %2972

2968:                                             ; preds = %2962
  %2969 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2970 = call i32 @fileno(ptr noundef %2969) #12
  %2971 = call i32 @isatty(i32 noundef %2970) #12
  %.not1463 = icmp eq i32 %2971, 0
  br i1 %.not1463, label %2972, label %2973

2972:                                             ; preds = %2968, %2962
  br label %2973

2973:                                             ; preds = %2968, %2972
  %.str.12.sink2596 = phi ptr [ @.str.12, %2972 ], [ @.str.9, %2968 ]
  store i32 %2963, ptr %1545, align 4, !tbaa !5
  %2974 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2975 = load i32, ptr @test_count, align 4, !tbaa !5
  %2976 = load i32, ptr %1491, align 4, !tbaa !5
  %2977 = call ptr @s2n_strerror(i32 noundef %2976, ptr noundef nonnull @.str.11) #12
  %2978 = load i32, ptr %1491, align 4, !tbaa !5
  %2979 = call ptr @s2n_strerror_debug(i32 noundef %2978, ptr noundef nonnull @.str.11) #12
  %2980 = load i32, ptr %1545, align 4, !tbaa !5
  %2981 = call ptr @strerror(i32 noundef %2980) #12
  %2982 = load i32, ptr %1545, align 4, !tbaa !5
  %2983 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2974, ptr noundef nonnull %.str.12.sink2596, i32 noundef %2975, ptr noundef nonnull @.str.74, ptr noundef nonnull @.str.8, i32 noundef 341, ptr noundef %2977, ptr noundef %2979, ptr noundef %2981, i32 noundef %2982) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2984:                                             ; preds = %2957
  %2985 = call ptr @s2n_connection_new(i32 noundef 1) #12
  %2986 = load i32, ptr @test_count, align 4, !tbaa !5
  %2987 = add nsw i32 %2986, 1
  store i32 %2987, ptr @test_count, align 4, !tbaa !5
  %2988 = icmp eq ptr %2985, null
  br i1 %2988, label %2989, label %3011

2989:                                             ; preds = %2984
  %2990 = load i32, ptr %1545, align 4, !tbaa !5
  %2991 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2992 = call i32 @s2n_print_stacktrace(ptr noundef %2991) #12
  %2993 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2994 = trunc nuw i8 %2993 to i1
  br i1 %2994, label %2995, label %2999

2995:                                             ; preds = %2989
  %2996 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2997 = call i32 @fileno(ptr noundef %2996) #12
  %2998 = call i32 @isatty(i32 noundef %2997) #12
  %.not1462 = icmp eq i32 %2998, 0
  br i1 %.not1462, label %2999, label %3000

2999:                                             ; preds = %2995, %2989
  br label %3000

3000:                                             ; preds = %2995, %2999
  %.str.12.sink2605 = phi ptr [ @.str.12, %2999 ], [ @.str.9, %2995 ]
  store i32 %2990, ptr %1545, align 4, !tbaa !5
  %3001 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3002 = load i32, ptr @test_count, align 4, !tbaa !5
  %3003 = load i32, ptr %1491, align 4, !tbaa !5
  %3004 = call ptr @s2n_strerror(i32 noundef %3003, ptr noundef nonnull @.str.11) #12
  %3005 = load i32, ptr %1491, align 4, !tbaa !5
  %3006 = call ptr @s2n_strerror_debug(i32 noundef %3005, ptr noundef nonnull @.str.11) #12
  %3007 = load i32, ptr %1545, align 4, !tbaa !5
  %3008 = call ptr @strerror(i32 noundef %3007) #12
  %3009 = load i32, ptr %1545, align 4, !tbaa !5
  %3010 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3001, ptr noundef nonnull %.str.12.sink2605, i32 noundef %3002, ptr noundef nonnull @.str.75, ptr noundef nonnull @.str.8, i32 noundef 344, ptr noundef %3004, ptr noundef %3006, ptr noundef %3008, i32 noundef %3009) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3011:                                             ; preds = %2984
  %3012 = add nsw i32 %2986, 2
  store i32 %3012, ptr @test_count, align 4, !tbaa !5
  %3013 = call i32 @s2n_connection_set_config(ptr noundef nonnull %2985, ptr noundef nonnull %2850) #12
  %3014 = icmp eq i32 %3013, -1
  br i1 %3014, label %3015, label %3037

3015:                                             ; preds = %3011
  %3016 = load i32, ptr %1545, align 4, !tbaa !5
  %3017 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3018 = call i32 @s2n_print_stacktrace(ptr noundef %3017) #12
  %3019 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3020 = trunc nuw i8 %3019 to i1
  br i1 %3020, label %3021, label %3025

3021:                                             ; preds = %3015
  %3022 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3023 = call i32 @fileno(ptr noundef %3022) #12
  %3024 = call i32 @isatty(i32 noundef %3023) #12
  %.not1461 = icmp eq i32 %3024, 0
  br i1 %.not1461, label %3025, label %3026

3025:                                             ; preds = %3021, %3015
  br label %3026

3026:                                             ; preds = %3021, %3025
  %.str.12.sink2614 = phi ptr [ @.str.12, %3025 ], [ @.str.9, %3021 ]
  store i32 %3016, ptr %1545, align 4, !tbaa !5
  %3027 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3028 = load i32, ptr @test_count, align 4, !tbaa !5
  %3029 = load i32, ptr %1491, align 4, !tbaa !5
  %3030 = call ptr @s2n_strerror(i32 noundef %3029, ptr noundef nonnull @.str.11) #12
  %3031 = load i32, ptr %1491, align 4, !tbaa !5
  %3032 = call ptr @s2n_strerror_debug(i32 noundef %3031, ptr noundef nonnull @.str.11) #12
  %3033 = load i32, ptr %1545, align 4, !tbaa !5
  %3034 = call ptr @strerror(i32 noundef %3033) #12
  %3035 = load i32, ptr %1545, align 4, !tbaa !5
  %3036 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3027, ptr noundef nonnull %.str.12.sink2614, i32 noundef %3028, ptr noundef nonnull @.str.76, ptr noundef nonnull @.str.8, i32 noundef 345, ptr noundef %3030, ptr noundef %3032, ptr noundef %3034, i32 noundef %3035) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3037:                                             ; preds = %3011
  %3038 = call ptr @s2n_connection_new(i32 noundef 0) #12
  %3039 = load i32, ptr @test_count, align 4, !tbaa !5
  %3040 = add nsw i32 %3039, 1
  store i32 %3040, ptr @test_count, align 4, !tbaa !5
  %3041 = icmp eq ptr %3038, null
  br i1 %3041, label %3042, label %3064

3042:                                             ; preds = %3037
  %3043 = load i32, ptr %1545, align 4, !tbaa !5
  %3044 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3045 = call i32 @s2n_print_stacktrace(ptr noundef %3044) #12
  %3046 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3047 = trunc nuw i8 %3046 to i1
  br i1 %3047, label %3048, label %3052

3048:                                             ; preds = %3042
  %3049 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3050 = call i32 @fileno(ptr noundef %3049) #12
  %3051 = call i32 @isatty(i32 noundef %3050) #12
  %.not1460 = icmp eq i32 %3051, 0
  br i1 %.not1460, label %3052, label %3053

3052:                                             ; preds = %3048, %3042
  br label %3053

3053:                                             ; preds = %3048, %3052
  %.str.12.sink2623 = phi ptr [ @.str.12, %3052 ], [ @.str.9, %3048 ]
  store i32 %3043, ptr %1545, align 4, !tbaa !5
  %3054 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3055 = load i32, ptr @test_count, align 4, !tbaa !5
  %3056 = load i32, ptr %1491, align 4, !tbaa !5
  %3057 = call ptr @s2n_strerror(i32 noundef %3056, ptr noundef nonnull @.str.11) #12
  %3058 = load i32, ptr %1491, align 4, !tbaa !5
  %3059 = call ptr @s2n_strerror_debug(i32 noundef %3058, ptr noundef nonnull @.str.11) #12
  %3060 = load i32, ptr %1545, align 4, !tbaa !5
  %3061 = call ptr @strerror(i32 noundef %3060) #12
  %3062 = load i32, ptr %1545, align 4, !tbaa !5
  %3063 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3054, ptr noundef nonnull %.str.12.sink2623, i32 noundef %3055, ptr noundef nonnull @.str.77, ptr noundef nonnull @.str.8, i32 noundef 348, ptr noundef %3057, ptr noundef %3059, ptr noundef %3061, i32 noundef %3062) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3064:                                             ; preds = %3037
  %3065 = add nsw i32 %3039, 2
  store i32 %3065, ptr @test_count, align 4, !tbaa !5
  %3066 = call i32 @s2n_connection_set_config(ptr noundef nonnull %3038, ptr noundef nonnull %2850) #12
  %3067 = icmp eq i32 %3066, -1
  br i1 %3067, label %3068, label %3090

3068:                                             ; preds = %3064
  %3069 = load i32, ptr %1545, align 4, !tbaa !5
  %3070 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3071 = call i32 @s2n_print_stacktrace(ptr noundef %3070) #12
  %3072 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3073 = trunc nuw i8 %3072 to i1
  br i1 %3073, label %3074, label %3078

3074:                                             ; preds = %3068
  %3075 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3076 = call i32 @fileno(ptr noundef %3075) #12
  %3077 = call i32 @isatty(i32 noundef %3076) #12
  %.not1459 = icmp eq i32 %3077, 0
  br i1 %.not1459, label %3078, label %3079

3078:                                             ; preds = %3074, %3068
  br label %3079

3079:                                             ; preds = %3074, %3078
  %.str.12.sink2632 = phi ptr [ @.str.12, %3078 ], [ @.str.9, %3074 ]
  store i32 %3069, ptr %1545, align 4, !tbaa !5
  %3080 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3081 = load i32, ptr @test_count, align 4, !tbaa !5
  %3082 = load i32, ptr %1491, align 4, !tbaa !5
  %3083 = call ptr @s2n_strerror(i32 noundef %3082, ptr noundef nonnull @.str.11) #12
  %3084 = load i32, ptr %1491, align 4, !tbaa !5
  %3085 = call ptr @s2n_strerror_debug(i32 noundef %3084, ptr noundef nonnull @.str.11) #12
  %3086 = load i32, ptr %1545, align 4, !tbaa !5
  %3087 = call ptr @strerror(i32 noundef %3086) #12
  %3088 = load i32, ptr %1545, align 4, !tbaa !5
  %3089 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3080, ptr noundef nonnull %.str.12.sink2632, i32 noundef %3081, ptr noundef nonnull @.str.40, ptr noundef nonnull @.str.8, i32 noundef 349, ptr noundef %3083, ptr noundef %3085, ptr noundef %3087, i32 noundef %3088) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3090:                                             ; preds = %3064
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %13) #12
  store i64 0, ptr %13, align 8
  %3091 = load i32, ptr @test_count, align 4, !tbaa !5
  %3092 = add nsw i32 %3091, 1
  store i32 %3092, ptr @test_count, align 4, !tbaa !5
  %3093 = call i32 @s2n_io_pair_init_non_blocking(ptr noundef nonnull %13) #12
  %3094 = icmp eq i32 %3093, -1
  br i1 %3094, label %3095, label %3117

3095:                                             ; preds = %3090
  %3096 = load i32, ptr %1545, align 4, !tbaa !5
  %3097 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3098 = call i32 @s2n_print_stacktrace(ptr noundef %3097) #12
  %3099 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3100 = trunc nuw i8 %3099 to i1
  br i1 %3100, label %3101, label %3105

3101:                                             ; preds = %3095
  %3102 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3103 = call i32 @fileno(ptr noundef %3102) #12
  %3104 = call i32 @isatty(i32 noundef %3103) #12
  %.not1458 = icmp eq i32 %3104, 0
  br i1 %.not1458, label %3105, label %3106

3105:                                             ; preds = %3101, %3095
  br label %3106

3106:                                             ; preds = %3101, %3105
  %.str.12.sink2641 = phi ptr [ @.str.12, %3105 ], [ @.str.9, %3101 ]
  store i32 %3096, ptr %1545, align 4, !tbaa !5
  %3107 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3108 = load i32, ptr @test_count, align 4, !tbaa !5
  %3109 = load i32, ptr %1491, align 4, !tbaa !5
  %3110 = call ptr @s2n_strerror(i32 noundef %3109, ptr noundef nonnull @.str.11) #12
  %3111 = load i32, ptr %1491, align 4, !tbaa !5
  %3112 = call ptr @s2n_strerror_debug(i32 noundef %3111, ptr noundef nonnull @.str.11) #12
  %3113 = load i32, ptr %1545, align 4, !tbaa !5
  %3114 = call ptr @strerror(i32 noundef %3113) #12
  %3115 = load i32, ptr %1545, align 4, !tbaa !5
  %3116 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3107, ptr noundef nonnull %.str.12.sink2641, i32 noundef %3108, ptr noundef nonnull @.str.78, ptr noundef nonnull @.str.8, i32 noundef 352, ptr noundef %3110, ptr noundef %3112, ptr noundef %3114, i32 noundef %3115) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3117:                                             ; preds = %3090
  %3118 = load i32, ptr @test_count, align 4, !tbaa !5
  %3119 = add nsw i32 %3118, 1
  store i32 %3119, ptr @test_count, align 4, !tbaa !5
  %3120 = call i32 @s2n_connection_set_io_pair(ptr noundef nonnull %2985, ptr noundef nonnull %13) #12
  %3121 = icmp eq i32 %3120, -1
  br i1 %3121, label %3122, label %3144

3122:                                             ; preds = %3117
  %3123 = load i32, ptr %1545, align 4, !tbaa !5
  %3124 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3125 = call i32 @s2n_print_stacktrace(ptr noundef %3124) #12
  %3126 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3127 = trunc nuw i8 %3126 to i1
  br i1 %3127, label %3128, label %3132

3128:                                             ; preds = %3122
  %3129 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3130 = call i32 @fileno(ptr noundef %3129) #12
  %3131 = call i32 @isatty(i32 noundef %3130) #12
  %.not1457 = icmp eq i32 %3131, 0
  br i1 %.not1457, label %3132, label %3133

3132:                                             ; preds = %3128, %3122
  br label %3133

3133:                                             ; preds = %3128, %3132
  %.str.12.sink2650 = phi ptr [ @.str.12, %3132 ], [ @.str.9, %3128 ]
  store i32 %3123, ptr %1545, align 4, !tbaa !5
  %3134 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3135 = load i32, ptr @test_count, align 4, !tbaa !5
  %3136 = load i32, ptr %1491, align 4, !tbaa !5
  %3137 = call ptr @s2n_strerror(i32 noundef %3136, ptr noundef nonnull @.str.11) #12
  %3138 = load i32, ptr %1491, align 4, !tbaa !5
  %3139 = call ptr @s2n_strerror_debug(i32 noundef %3138, ptr noundef nonnull @.str.11) #12
  %3140 = load i32, ptr %1545, align 4, !tbaa !5
  %3141 = call ptr @strerror(i32 noundef %3140) #12
  %3142 = load i32, ptr %1545, align 4, !tbaa !5
  %3143 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3134, ptr noundef nonnull %.str.12.sink2650, i32 noundef %3135, ptr noundef nonnull @.str.79, ptr noundef nonnull @.str.8, i32 noundef 353, ptr noundef %3137, ptr noundef %3139, ptr noundef %3141, i32 noundef %3142) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3144:                                             ; preds = %3117
  %3145 = load i32, ptr @test_count, align 4, !tbaa !5
  %3146 = add nsw i32 %3145, 1
  store i32 %3146, ptr @test_count, align 4, !tbaa !5
  %3147 = call i32 @s2n_connection_set_io_pair(ptr noundef nonnull %3038, ptr noundef nonnull %13) #12
  %3148 = icmp eq i32 %3147, -1
  br i1 %3148, label %3149, label %3171

3149:                                             ; preds = %3144
  %3150 = load i32, ptr %1545, align 4, !tbaa !5
  %3151 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3152 = call i32 @s2n_print_stacktrace(ptr noundef %3151) #12
  %3153 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3154 = trunc nuw i8 %3153 to i1
  br i1 %3154, label %3155, label %3159

3155:                                             ; preds = %3149
  %3156 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3157 = call i32 @fileno(ptr noundef %3156) #12
  %3158 = call i32 @isatty(i32 noundef %3157) #12
  %.not1456 = icmp eq i32 %3158, 0
  br i1 %.not1456, label %3159, label %3160

3159:                                             ; preds = %3155, %3149
  br label %3160

3160:                                             ; preds = %3155, %3159
  %.str.12.sink2659 = phi ptr [ @.str.12, %3159 ], [ @.str.9, %3155 ]
  store i32 %3150, ptr %1545, align 4, !tbaa !5
  %3161 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3162 = load i32, ptr @test_count, align 4, !tbaa !5
  %3163 = load i32, ptr %1491, align 4, !tbaa !5
  %3164 = call ptr @s2n_strerror(i32 noundef %3163, ptr noundef nonnull @.str.11) #12
  %3165 = load i32, ptr %1491, align 4, !tbaa !5
  %3166 = call ptr @s2n_strerror_debug(i32 noundef %3165, ptr noundef nonnull @.str.11) #12
  %3167 = load i32, ptr %1545, align 4, !tbaa !5
  %3168 = call ptr @strerror(i32 noundef %3167) #12
  %3169 = load i32, ptr %1545, align 4, !tbaa !5
  %3170 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3161, ptr noundef nonnull %.str.12.sink2659, i32 noundef %3162, ptr noundef nonnull @.str.80, ptr noundef nonnull @.str.8, i32 noundef 354, ptr noundef %3164, ptr noundef %3166, ptr noundef %3168, i32 noundef %3169) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3171:                                             ; preds = %3144
  %3172 = load i32, ptr @test_count, align 4, !tbaa !5
  %3173 = add nsw i32 %3172, 1
  store i32 %3173, ptr @test_count, align 4, !tbaa !5
  %3174 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef nonnull %3038, ptr noundef nonnull %2985) #12
  %3175 = icmp eq i32 %3174, -1
  br i1 %3175, label %3176, label %3198

3176:                                             ; preds = %3171
  %3177 = load i32, ptr %1545, align 4, !tbaa !5
  %3178 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3179 = call i32 @s2n_print_stacktrace(ptr noundef %3178) #12
  %3180 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3181 = trunc nuw i8 %3180 to i1
  br i1 %3181, label %3182, label %3186

3182:                                             ; preds = %3176
  %3183 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3184 = call i32 @fileno(ptr noundef %3183) #12
  %3185 = call i32 @isatty(i32 noundef %3184) #12
  %.not1455 = icmp eq i32 %3185, 0
  br i1 %.not1455, label %3186, label %3187

3186:                                             ; preds = %3182, %3176
  br label %3187

3187:                                             ; preds = %3182, %3186
  %.str.12.sink2668 = phi ptr [ @.str.12, %3186 ], [ @.str.9, %3182 ]
  store i32 %3177, ptr %1545, align 4, !tbaa !5
  %3188 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3189 = load i32, ptr @test_count, align 4, !tbaa !5
  %3190 = load i32, ptr %1491, align 4, !tbaa !5
  %3191 = call ptr @s2n_strerror(i32 noundef %3190, ptr noundef nonnull @.str.11) #12
  %3192 = load i32, ptr %1491, align 4, !tbaa !5
  %3193 = call ptr @s2n_strerror_debug(i32 noundef %3192, ptr noundef nonnull @.str.11) #12
  %3194 = load i32, ptr %1545, align 4, !tbaa !5
  %3195 = call ptr @strerror(i32 noundef %3194) #12
  %3196 = load i32, ptr %1545, align 4, !tbaa !5
  %3197 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3188, ptr noundef nonnull %.str.12.sink2668, i32 noundef %3189, ptr noundef nonnull @.str.81, ptr noundef nonnull @.str.8, i32 noundef 356, ptr noundef %3191, ptr noundef %3193, ptr noundef %3195, i32 noundef %3196) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3198:                                             ; preds = %3171
  %3199 = load i32, ptr @test_count, align 4, !tbaa !5
  %3200 = add nsw i32 %3199, 1
  store i32 %3200, ptr @test_count, align 4, !tbaa !5
  %3201 = getelementptr inbounds i8, ptr %3038, i64 220
  %3202 = load i8, ptr %3201, align 4, !tbaa !49
  %3203 = icmp eq i8 %3202, 34
  br i1 %3203, label %3226, label %3204

3204:                                             ; preds = %3198
  %3205 = load i32, ptr %1545, align 4, !tbaa !5
  %3206 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3207 = call i32 @s2n_print_stacktrace(ptr noundef %3206) #12
  %3208 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3209 = trunc nuw i8 %3208 to i1
  br i1 %3209, label %3210, label %3214

3210:                                             ; preds = %3204
  %3211 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3212 = call i32 @fileno(ptr noundef %3211) #12
  %3213 = call i32 @isatty(i32 noundef %3212) #12
  %.not1139 = icmp eq i32 %3213, 0
  br i1 %.not1139, label %3214, label %3215

3214:                                             ; preds = %3210, %3204
  br label %3215

3215:                                             ; preds = %3210, %3214
  %.str.12.sink2677 = phi ptr [ @.str.12, %3214 ], [ @.str.9, %3210 ]
  store i32 %3205, ptr %1545, align 4, !tbaa !5
  %3216 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3217 = load i32, ptr @test_count, align 4, !tbaa !5
  %3218 = load i32, ptr %1491, align 4, !tbaa !5
  %3219 = call ptr @s2n_strerror(i32 noundef %3218, ptr noundef nonnull @.str.11) #12
  %3220 = load i32, ptr %1491, align 4, !tbaa !5
  %3221 = call ptr @s2n_strerror_debug(i32 noundef %3220, ptr noundef nonnull @.str.11) #12
  %3222 = load i32, ptr %1545, align 4, !tbaa !5
  %3223 = call ptr @strerror(i32 noundef %3222) #12
  %3224 = load i32, ptr %1545, align 4, !tbaa !5
  %3225 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3216, ptr noundef nonnull %.str.12.sink2677, i32 noundef %3217, ptr noundef nonnull @.str.82, ptr noundef nonnull @.str.8, i32 noundef 357, ptr noundef %3219, ptr noundef %3221, ptr noundef %3223, i32 noundef %3224) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3226:                                             ; preds = %3198
  %3227 = add nsw i32 %3199, 3
  store i32 %3227, ptr @test_count, align 4, !tbaa !5
  %3228 = call i32 @s2n_test_all_signature_schemes_valid(i32 noundef 3, ptr noundef nonnull %3038, ptr noundef nonnull %2985)
  %3229 = call zeroext i1 @s2n_result_is_ok(i32 %3228)
  br i1 %3229, label %3252, label %3230

3230:                                             ; preds = %3226
  %3231 = load i32, ptr %1545, align 4, !tbaa !5
  %3232 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3233 = call i32 @s2n_print_stacktrace(ptr noundef %3232) #12
  %3234 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3235 = trunc nuw i8 %3234 to i1
  br i1 %3235, label %3236, label %3240

3236:                                             ; preds = %3230
  %3237 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3238 = call i32 @fileno(ptr noundef %3237) #12
  %3239 = call i32 @isatty(i32 noundef %3238) #12
  %.not1141 = icmp eq i32 %3239, 0
  br i1 %.not1141, label %3240, label %3241

3240:                                             ; preds = %3236, %3230
  br label %3241

3241:                                             ; preds = %3236, %3240
  %.str.12.sink2686 = phi ptr [ @.str.12, %3240 ], [ @.str.9, %3236 ]
  store i32 %3231, ptr %1545, align 4, !tbaa !5
  %3242 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3243 = load i32, ptr @test_count, align 4, !tbaa !5
  %3244 = load i32, ptr %1491, align 4, !tbaa !5
  %3245 = call ptr @s2n_strerror(i32 noundef %3244, ptr noundef nonnull @.str.11) #12
  %3246 = load i32, ptr %1491, align 4, !tbaa !5
  %3247 = call ptr @s2n_strerror_debug(i32 noundef %3246, ptr noundef nonnull @.str.11) #12
  %3248 = load i32, ptr %1545, align 4, !tbaa !5
  %3249 = call ptr @strerror(i32 noundef %3248) #12
  %3250 = load i32, ptr %1545, align 4, !tbaa !5
  %3251 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3242, ptr noundef nonnull %.str.12.sink2686, i32 noundef %3243, ptr noundef nonnull @.str.83, ptr noundef nonnull @.str.8, i32 noundef 359, ptr noundef %3245, ptr noundef %3247, ptr noundef %3249, i32 noundef %3250) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3252:                                             ; preds = %3226
  %3253 = load i32, ptr @test_count, align 4, !tbaa !5
  %3254 = add nsw i32 %3253, 1
  store i32 %3254, ptr @test_count, align 4, !tbaa !5
  %3255 = call i32 @s2n_connection_free(ptr noundef nonnull %3038) #12
  %3256 = icmp eq i32 %3255, -1
  br i1 %3256, label %3257, label %3279

3257:                                             ; preds = %3252
  %3258 = load i32, ptr %1545, align 4, !tbaa !5
  %3259 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3260 = call i32 @s2n_print_stacktrace(ptr noundef %3259) #12
  %3261 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3262 = trunc nuw i8 %3261 to i1
  br i1 %3262, label %3263, label %3267

3263:                                             ; preds = %3257
  %3264 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3265 = call i32 @fileno(ptr noundef %3264) #12
  %3266 = call i32 @isatty(i32 noundef %3265) #12
  %.not1454 = icmp eq i32 %3266, 0
  br i1 %.not1454, label %3267, label %3268

3267:                                             ; preds = %3263, %3257
  br label %3268

3268:                                             ; preds = %3263, %3267
  %.str.12.sink2695 = phi ptr [ @.str.12, %3267 ], [ @.str.9, %3263 ]
  store i32 %3258, ptr %1545, align 4, !tbaa !5
  %3269 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3270 = load i32, ptr @test_count, align 4, !tbaa !5
  %3271 = load i32, ptr %1491, align 4, !tbaa !5
  %3272 = call ptr @s2n_strerror(i32 noundef %3271, ptr noundef nonnull @.str.11) #12
  %3273 = load i32, ptr %1491, align 4, !tbaa !5
  %3274 = call ptr @s2n_strerror_debug(i32 noundef %3273, ptr noundef nonnull @.str.11) #12
  %3275 = load i32, ptr %1545, align 4, !tbaa !5
  %3276 = call ptr @strerror(i32 noundef %3275) #12
  %3277 = load i32, ptr %1545, align 4, !tbaa !5
  %3278 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3269, ptr noundef nonnull %.str.12.sink2695, i32 noundef %3270, ptr noundef nonnull @.str.37, ptr noundef nonnull @.str.8, i32 noundef 361, ptr noundef %3272, ptr noundef %3274, ptr noundef %3276, i32 noundef %3277) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3279:                                             ; preds = %3252
  %3280 = load i32, ptr @test_count, align 4, !tbaa !5
  %3281 = add nsw i32 %3280, 1
  store i32 %3281, ptr @test_count, align 4, !tbaa !5
  %3282 = call i32 @s2n_connection_free(ptr noundef nonnull %2985) #12
  %3283 = icmp eq i32 %3282, -1
  br i1 %3283, label %3284, label %3306

3284:                                             ; preds = %3279
  %3285 = load i32, ptr %1545, align 4, !tbaa !5
  %3286 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3287 = call i32 @s2n_print_stacktrace(ptr noundef %3286) #12
  %3288 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3289 = trunc nuw i8 %3288 to i1
  br i1 %3289, label %3290, label %3294

3290:                                             ; preds = %3284
  %3291 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3292 = call i32 @fileno(ptr noundef %3291) #12
  %3293 = call i32 @isatty(i32 noundef %3292) #12
  %.not1453 = icmp eq i32 %3293, 0
  br i1 %.not1453, label %3294, label %3295

3294:                                             ; preds = %3290, %3284
  br label %3295

3295:                                             ; preds = %3290, %3294
  %.str.12.sink2704 = phi ptr [ @.str.12, %3294 ], [ @.str.9, %3290 ]
  store i32 %3285, ptr %1545, align 4, !tbaa !5
  %3296 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3297 = load i32, ptr @test_count, align 4, !tbaa !5
  %3298 = load i32, ptr %1491, align 4, !tbaa !5
  %3299 = call ptr @s2n_strerror(i32 noundef %3298, ptr noundef nonnull @.str.11) #12
  %3300 = load i32, ptr %1491, align 4, !tbaa !5
  %3301 = call ptr @s2n_strerror_debug(i32 noundef %3300, ptr noundef nonnull @.str.11) #12
  %3302 = load i32, ptr %1545, align 4, !tbaa !5
  %3303 = call ptr @strerror(i32 noundef %3302) #12
  %3304 = load i32, ptr %1545, align 4, !tbaa !5
  %3305 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3296, ptr noundef nonnull %.str.12.sink2704, i32 noundef %3297, ptr noundef nonnull @.str.36, ptr noundef nonnull @.str.8, i32 noundef 362, ptr noundef %3299, ptr noundef %3301, ptr noundef %3303, i32 noundef %3304) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3306:                                             ; preds = %3279
  %3307 = load i32, ptr @test_count, align 4, !tbaa !5
  %3308 = add nsw i32 %3307, 1
  store i32 %3308, ptr @test_count, align 4, !tbaa !5
  %3309 = call i32 @s2n_io_pair_close(ptr noundef nonnull %13) #12
  %3310 = icmp eq i32 %3309, -1
  br i1 %3310, label %3311, label %3333

3311:                                             ; preds = %3306
  %3312 = load i32, ptr %1545, align 4, !tbaa !5
  %3313 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3314 = call i32 @s2n_print_stacktrace(ptr noundef %3313) #12
  %3315 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3316 = trunc nuw i8 %3315 to i1
  br i1 %3316, label %3317, label %3321

3317:                                             ; preds = %3311
  %3318 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3319 = call i32 @fileno(ptr noundef %3318) #12
  %3320 = call i32 @isatty(i32 noundef %3319) #12
  %.not1452 = icmp eq i32 %3320, 0
  br i1 %.not1452, label %3321, label %3322

3321:                                             ; preds = %3317, %3311
  br label %3322

3322:                                             ; preds = %3317, %3321
  %.str.12.sink2713 = phi ptr [ @.str.12, %3321 ], [ @.str.9, %3317 ]
  store i32 %3312, ptr %1545, align 4, !tbaa !5
  %3323 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3324 = load i32, ptr @test_count, align 4, !tbaa !5
  %3325 = load i32, ptr %1491, align 4, !tbaa !5
  %3326 = call ptr @s2n_strerror(i32 noundef %3325, ptr noundef nonnull @.str.11) #12
  %3327 = load i32, ptr %1491, align 4, !tbaa !5
  %3328 = call ptr @s2n_strerror_debug(i32 noundef %3327, ptr noundef nonnull @.str.11) #12
  %3329 = load i32, ptr %1545, align 4, !tbaa !5
  %3330 = call ptr @strerror(i32 noundef %3329) #12
  %3331 = load i32, ptr %1545, align 4, !tbaa !5
  %3332 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3323, ptr noundef nonnull %.str.12.sink2713, i32 noundef %3324, ptr noundef nonnull @.str.84, ptr noundef nonnull @.str.8, i32 noundef 363, ptr noundef %3326, ptr noundef %3328, ptr noundef %3330, i32 noundef %3331) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3333:                                             ; preds = %3306
  %3334 = load i32, ptr @test_count, align 4, !tbaa !5
  %3335 = add nsw i32 %3334, 1
  store i32 %3335, ptr @test_count, align 4, !tbaa !5
  %3336 = call i32 @s2n_config_free(ptr noundef nonnull %2850) #12
  %3337 = icmp eq i32 %3336, -1
  br i1 %3337, label %3338, label %3360

3338:                                             ; preds = %3333
  %3339 = load i32, ptr %1545, align 4, !tbaa !5
  %3340 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3341 = call i32 @s2n_print_stacktrace(ptr noundef %3340) #12
  %3342 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3343 = trunc nuw i8 %3342 to i1
  br i1 %3343, label %3344, label %3348

3344:                                             ; preds = %3338
  %3345 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3346 = call i32 @fileno(ptr noundef %3345) #12
  %3347 = call i32 @isatty(i32 noundef %3346) #12
  %.not1451 = icmp eq i32 %3347, 0
  br i1 %.not1451, label %3348, label %3349

3348:                                             ; preds = %3344, %3338
  br label %3349

3349:                                             ; preds = %3344, %3348
  %.str.12.sink2722 = phi ptr [ @.str.12, %3348 ], [ @.str.9, %3344 ]
  store i32 %3339, ptr %1545, align 4, !tbaa !5
  %3350 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3351 = load i32, ptr @test_count, align 4, !tbaa !5
  %3352 = load i32, ptr %1491, align 4, !tbaa !5
  %3353 = call ptr @s2n_strerror(i32 noundef %3352, ptr noundef nonnull @.str.11) #12
  %3354 = load i32, ptr %1491, align 4, !tbaa !5
  %3355 = call ptr @s2n_strerror_debug(i32 noundef %3354, ptr noundef nonnull @.str.11) #12
  %3356 = load i32, ptr %1545, align 4, !tbaa !5
  %3357 = call ptr @strerror(i32 noundef %3356) #12
  %3358 = load i32, ptr %1545, align 4, !tbaa !5
  %3359 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3350, ptr noundef nonnull %.str.12.sink2722, i32 noundef %3351, ptr noundef nonnull @.str.44, ptr noundef nonnull @.str.8, i32 noundef 364, ptr noundef %3353, ptr noundef %3355, ptr noundef %3357, i32 noundef %3358) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3360:                                             ; preds = %3333
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %13) #12
  br label %3361

3361:                                             ; preds = %3360, %2847
  %3362 = call ptr @s2n_config_new() #12
  %3363 = load i32, ptr @test_count, align 4, !tbaa !5
  %3364 = add nsw i32 %3363, 1
  store i32 %3364, ptr @test_count, align 4, !tbaa !5
  %3365 = icmp eq ptr %3362, null
  br i1 %3365, label %3366, label %3388

3366:                                             ; preds = %3361
  %3367 = load i32, ptr %1545, align 4, !tbaa !5
  %3368 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3369 = call i32 @s2n_print_stacktrace(ptr noundef %3368) #12
  %3370 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3371 = trunc nuw i8 %3370 to i1
  br i1 %3371, label %3372, label %3376

3372:                                             ; preds = %3366
  %3373 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3374 = call i32 @fileno(ptr noundef %3373) #12
  %3375 = call i32 @isatty(i32 noundef %3374) #12
  %.not1450 = icmp eq i32 %3375, 0
  br i1 %.not1450, label %3376, label %3377

3376:                                             ; preds = %3372, %3366
  br label %3377

3377:                                             ; preds = %3372, %3376
  %.str.12.sink2731 = phi ptr [ @.str.12, %3376 ], [ @.str.9, %3372 ]
  store i32 %3367, ptr %1545, align 4, !tbaa !5
  %3378 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3379 = load i32, ptr @test_count, align 4, !tbaa !5
  %3380 = load i32, ptr %1491, align 4, !tbaa !5
  %3381 = call ptr @s2n_strerror(i32 noundef %3380, ptr noundef nonnull @.str.11) #12
  %3382 = load i32, ptr %1491, align 4, !tbaa !5
  %3383 = call ptr @s2n_strerror_debug(i32 noundef %3382, ptr noundef nonnull @.str.11) #12
  %3384 = load i32, ptr %1545, align 4, !tbaa !5
  %3385 = call ptr @strerror(i32 noundef %3384) #12
  %3386 = load i32, ptr %1545, align 4, !tbaa !5
  %3387 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3378, ptr noundef nonnull %.str.12.sink2731, i32 noundef %3379, ptr noundef nonnull @.str.69, ptr noundef nonnull @.str.8, i32 noundef 370, ptr noundef %3381, ptr noundef %3383, ptr noundef %3385, i32 noundef %3386) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3388:                                             ; preds = %3361
  %3389 = add nsw i32 %3363, 2
  store i32 %3389, ptr @test_count, align 4, !tbaa !5
  %3390 = call i32 @s2n_config_set_unsafe_for_testing(ptr noundef nonnull %3362) #12
  %3391 = icmp eq i32 %3390, -1
  br i1 %3391, label %3392, label %3414

3392:                                             ; preds = %3388
  %3393 = load i32, ptr %1545, align 4, !tbaa !5
  %3394 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3395 = call i32 @s2n_print_stacktrace(ptr noundef %3394) #12
  %3396 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3397 = trunc nuw i8 %3396 to i1
  br i1 %3397, label %3398, label %3402

3398:                                             ; preds = %3392
  %3399 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3400 = call i32 @fileno(ptr noundef %3399) #12
  %3401 = call i32 @isatty(i32 noundef %3400) #12
  %.not1449 = icmp eq i32 %3401, 0
  br i1 %.not1449, label %3402, label %3403

3402:                                             ; preds = %3398, %3392
  br label %3403

3403:                                             ; preds = %3398, %3402
  %.str.12.sink2740 = phi ptr [ @.str.12, %3402 ], [ @.str.9, %3398 ]
  store i32 %3393, ptr %1545, align 4, !tbaa !5
  %3404 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3405 = load i32, ptr @test_count, align 4, !tbaa !5
  %3406 = load i32, ptr %1491, align 4, !tbaa !5
  %3407 = call ptr @s2n_strerror(i32 noundef %3406, ptr noundef nonnull @.str.11) #12
  %3408 = load i32, ptr %1491, align 4, !tbaa !5
  %3409 = call ptr @s2n_strerror_debug(i32 noundef %3408, ptr noundef nonnull @.str.11) #12
  %3410 = load i32, ptr %1545, align 4, !tbaa !5
  %3411 = call ptr @strerror(i32 noundef %3410) #12
  %3412 = load i32, ptr %1545, align 4, !tbaa !5
  %3413 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3404, ptr noundef nonnull %.str.12.sink2740, i32 noundef %3405, ptr noundef nonnull @.str.70, ptr noundef nonnull @.str.8, i32 noundef 371, ptr noundef %3407, ptr noundef %3409, ptr noundef %3411, i32 noundef %3412) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3414:                                             ; preds = %3388
  %3415 = load i32, ptr @test_count, align 4, !tbaa !5
  %3416 = add nsw i32 %3415, 1
  store i32 %3416, ptr @test_count, align 4, !tbaa !5
  %3417 = call i32 @s2n_config_set_client_auth_type(ptr noundef nonnull %3362, i32 noundef 1) #12
  %3418 = icmp eq i32 %3417, -1
  br i1 %3418, label %3419, label %3441

3419:                                             ; preds = %3414
  %3420 = load i32, ptr %1545, align 4, !tbaa !5
  %3421 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3422 = call i32 @s2n_print_stacktrace(ptr noundef %3421) #12
  %3423 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3424 = trunc nuw i8 %3423 to i1
  br i1 %3424, label %3425, label %3429

3425:                                             ; preds = %3419
  %3426 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3427 = call i32 @fileno(ptr noundef %3426) #12
  %3428 = call i32 @isatty(i32 noundef %3427) #12
  %.not1448 = icmp eq i32 %3428, 0
  br i1 %.not1448, label %3429, label %3430

3429:                                             ; preds = %3425, %3419
  br label %3430

3430:                                             ; preds = %3425, %3429
  %.str.12.sink2749 = phi ptr [ @.str.12, %3429 ], [ @.str.9, %3425 ]
  store i32 %3420, ptr %1545, align 4, !tbaa !5
  %3431 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3432 = load i32, ptr @test_count, align 4, !tbaa !5
  %3433 = load i32, ptr %1491, align 4, !tbaa !5
  %3434 = call ptr @s2n_strerror(i32 noundef %3433, ptr noundef nonnull @.str.11) #12
  %3435 = load i32, ptr %1491, align 4, !tbaa !5
  %3436 = call ptr @s2n_strerror_debug(i32 noundef %3435, ptr noundef nonnull @.str.11) #12
  %3437 = load i32, ptr %1545, align 4, !tbaa !5
  %3438 = call ptr @strerror(i32 noundef %3437) #12
  %3439 = load i32, ptr %1545, align 4, !tbaa !5
  %3440 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3431, ptr noundef nonnull %.str.12.sink2749, i32 noundef %3432, ptr noundef nonnull @.str.71, ptr noundef nonnull @.str.8, i32 noundef 372, ptr noundef %3434, ptr noundef %3436, ptr noundef %3438, i32 noundef %3439) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3441:                                             ; preds = %3414
  %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 = load ptr, ptr %4, align 8, !tbaa !9
  %3445 = call i32 @s2n_config_add_cert_chain_and_key_to_store(ptr noundef nonnull %3362, ptr noundef %3444) #12
  %3446 = icmp eq i32 %3445, -1
  br i1 %3446, label %3447, label %3469

3447:                                             ; preds = %3441
  %3448 = load i32, ptr %1545, align 4, !tbaa !5
  %3449 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3450 = call i32 @s2n_print_stacktrace(ptr noundef %3449) #12
  %3451 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3452 = trunc nuw i8 %3451 to i1
  br i1 %3452, label %3453, label %3457

3453:                                             ; preds = %3447
  %3454 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3455 = call i32 @fileno(ptr noundef %3454) #12
  %3456 = call i32 @isatty(i32 noundef %3455) #12
  %.not1447 = icmp eq i32 %3456, 0
  br i1 %.not1447, label %3457, label %3458

3457:                                             ; preds = %3453, %3447
  br label %3458

3458:                                             ; preds = %3453, %3457
  %.str.12.sink2758 = phi ptr [ @.str.12, %3457 ], [ @.str.9, %3453 ]
  store i32 %3448, ptr %1545, align 4, !tbaa !5
  %3459 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3460 = load i32, ptr @test_count, align 4, !tbaa !5
  %3461 = load i32, ptr %1491, align 4, !tbaa !5
  %3462 = call ptr @s2n_strerror(i32 noundef %3461, ptr noundef nonnull @.str.11) #12
  %3463 = load i32, ptr %1491, align 4, !tbaa !5
  %3464 = call ptr @s2n_strerror_debug(i32 noundef %3463, ptr noundef nonnull @.str.11) #12
  %3465 = load i32, ptr %1545, align 4, !tbaa !5
  %3466 = call ptr @strerror(i32 noundef %3465) #12
  %3467 = load i32, ptr %1545, align 4, !tbaa !5
  %3468 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3459, ptr noundef nonnull %.str.12.sink2758, i32 noundef %3460, ptr noundef nonnull @.str.85, ptr noundef nonnull @.str.8, i32 noundef 373, ptr noundef %3462, ptr noundef %3464, ptr noundef %3466, i32 noundef %3467) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3469:                                             ; preds = %3441
  %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 = call i32 @s2n_config_set_cipher_preferences(ptr noundef nonnull %3362, ptr noundef nonnull @.str.86) #12
  %3473 = icmp eq i32 %3472, -1
  br i1 %3473, label %3474, label %3496

3474:                                             ; preds = %3469
  %3475 = load i32, ptr %1545, align 4, !tbaa !5
  %3476 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3477 = call i32 @s2n_print_stacktrace(ptr noundef %3476) #12
  %3478 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3479 = trunc nuw i8 %3478 to i1
  br i1 %3479, label %3480, label %3484

3480:                                             ; preds = %3474
  %3481 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3482 = call i32 @fileno(ptr noundef %3481) #12
  %3483 = call i32 @isatty(i32 noundef %3482) #12
  %.not1446 = icmp eq i32 %3483, 0
  br i1 %.not1446, label %3484, label %3485

3484:                                             ; preds = %3480, %3474
  br label %3485

3485:                                             ; preds = %3480, %3484
  %.str.12.sink2767 = phi ptr [ @.str.12, %3484 ], [ @.str.9, %3480 ]
  store i32 %3475, ptr %1545, align 4, !tbaa !5
  %3486 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3487 = load i32, ptr @test_count, align 4, !tbaa !5
  %3488 = load i32, ptr %1491, align 4, !tbaa !5
  %3489 = call ptr @s2n_strerror(i32 noundef %3488, ptr noundef nonnull @.str.11) #12
  %3490 = load i32, ptr %1491, align 4, !tbaa !5
  %3491 = call ptr @s2n_strerror_debug(i32 noundef %3490, ptr noundef nonnull @.str.11) #12
  %3492 = load i32, ptr %1545, align 4, !tbaa !5
  %3493 = call ptr @strerror(i32 noundef %3492) #12
  %3494 = load i32, ptr %1545, align 4, !tbaa !5
  %3495 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3486, ptr noundef nonnull %.str.12.sink2767, i32 noundef %3487, ptr noundef nonnull @.str.87, ptr noundef nonnull @.str.8, i32 noundef 374, ptr noundef %3489, ptr noundef %3491, ptr noundef %3493, i32 noundef %3494) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3496:                                             ; preds = %3469
  %3497 = call ptr @s2n_connection_new(i32 noundef 1) #12
  %3498 = load i32, ptr @test_count, align 4, !tbaa !5
  %3499 = add nsw i32 %3498, 1
  store i32 %3499, ptr @test_count, align 4, !tbaa !5
  %3500 = icmp eq ptr %3497, null
  br i1 %3500, label %3501, label %3523

3501:                                             ; preds = %3496
  %3502 = load i32, ptr %1545, align 4, !tbaa !5
  %3503 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3504 = call i32 @s2n_print_stacktrace(ptr noundef %3503) #12
  %3505 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3506 = trunc nuw i8 %3505 to i1
  br i1 %3506, label %3507, label %3511

3507:                                             ; preds = %3501
  %3508 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3509 = call i32 @fileno(ptr noundef %3508) #12
  %3510 = call i32 @isatty(i32 noundef %3509) #12
  %.not1445 = icmp eq i32 %3510, 0
  br i1 %.not1445, label %3511, label %3512

3511:                                             ; preds = %3507, %3501
  br label %3512

3512:                                             ; preds = %3507, %3511
  %.str.12.sink2776 = phi ptr [ @.str.12, %3511 ], [ @.str.9, %3507 ]
  store i32 %3502, ptr %1545, align 4, !tbaa !5
  %3513 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3514 = load i32, ptr @test_count, align 4, !tbaa !5
  %3515 = load i32, ptr %1491, align 4, !tbaa !5
  %3516 = call ptr @s2n_strerror(i32 noundef %3515, ptr noundef nonnull @.str.11) #12
  %3517 = load i32, ptr %1491, align 4, !tbaa !5
  %3518 = call ptr @s2n_strerror_debug(i32 noundef %3517, ptr noundef nonnull @.str.11) #12
  %3519 = load i32, ptr %1545, align 4, !tbaa !5
  %3520 = call ptr @strerror(i32 noundef %3519) #12
  %3521 = load i32, ptr %1545, align 4, !tbaa !5
  %3522 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3513, ptr noundef nonnull %.str.12.sink2776, i32 noundef %3514, ptr noundef nonnull @.str.75, ptr noundef nonnull @.str.8, i32 noundef 377, ptr noundef %3516, ptr noundef %3518, ptr noundef %3520, i32 noundef %3521) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3523:                                             ; preds = %3496
  %3524 = add nsw i32 %3498, 2
  store i32 %3524, ptr @test_count, align 4, !tbaa !5
  %3525 = call i32 @s2n_connection_set_config(ptr noundef nonnull %3497, ptr noundef nonnull %3362) #12
  %3526 = icmp eq i32 %3525, -1
  br i1 %3526, label %3527, label %3549

3527:                                             ; preds = %3523
  %3528 = load i32, ptr %1545, align 4, !tbaa !5
  %3529 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3530 = call i32 @s2n_print_stacktrace(ptr noundef %3529) #12
  %3531 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3532 = trunc nuw i8 %3531 to i1
  br i1 %3532, label %3533, label %3537

3533:                                             ; preds = %3527
  %3534 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3535 = call i32 @fileno(ptr noundef %3534) #12
  %3536 = call i32 @isatty(i32 noundef %3535) #12
  %.not1444 = icmp eq i32 %3536, 0
  br i1 %.not1444, label %3537, label %3538

3537:                                             ; preds = %3533, %3527
  br label %3538

3538:                                             ; preds = %3533, %3537
  %.str.12.sink2785 = phi ptr [ @.str.12, %3537 ], [ @.str.9, %3533 ]
  store i32 %3528, ptr %1545, align 4, !tbaa !5
  %3539 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3540 = load i32, ptr @test_count, align 4, !tbaa !5
  %3541 = load i32, ptr %1491, align 4, !tbaa !5
  %3542 = call ptr @s2n_strerror(i32 noundef %3541, ptr noundef nonnull @.str.11) #12
  %3543 = load i32, ptr %1491, align 4, !tbaa !5
  %3544 = call ptr @s2n_strerror_debug(i32 noundef %3543, ptr noundef nonnull @.str.11) #12
  %3545 = load i32, ptr %1545, align 4, !tbaa !5
  %3546 = call ptr @strerror(i32 noundef %3545) #12
  %3547 = load i32, ptr %1545, align 4, !tbaa !5
  %3548 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3539, ptr noundef nonnull %.str.12.sink2785, i32 noundef %3540, ptr noundef nonnull @.str.76, ptr noundef nonnull @.str.8, i32 noundef 378, ptr noundef %3542, ptr noundef %3544, ptr noundef %3546, i32 noundef %3547) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3549:                                             ; preds = %3523
  %3550 = call ptr @s2n_connection_new(i32 noundef 0) #12
  %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 = icmp eq ptr %3550, null
  br i1 %3553, label %3554, label %3576

3554:                                             ; preds = %3549
  %3555 = load i32, ptr %1545, align 4, !tbaa !5
  %3556 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3557 = call i32 @s2n_print_stacktrace(ptr noundef %3556) #12
  %3558 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3559 = trunc nuw i8 %3558 to i1
  br i1 %3559, label %3560, label %3564

3560:                                             ; preds = %3554
  %3561 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3562 = call i32 @fileno(ptr noundef %3561) #12
  %3563 = call i32 @isatty(i32 noundef %3562) #12
  %.not1443 = icmp eq i32 %3563, 0
  br i1 %.not1443, label %3564, label %3565

3564:                                             ; preds = %3560, %3554
  br label %3565

3565:                                             ; preds = %3560, %3564
  %.str.12.sink2794 = phi ptr [ @.str.12, %3564 ], [ @.str.9, %3560 ]
  store i32 %3555, ptr %1545, align 4, !tbaa !5
  %3566 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3567 = load i32, ptr @test_count, align 4, !tbaa !5
  %3568 = load i32, ptr %1491, align 4, !tbaa !5
  %3569 = call ptr @s2n_strerror(i32 noundef %3568, ptr noundef nonnull @.str.11) #12
  %3570 = load i32, ptr %1491, align 4, !tbaa !5
  %3571 = call ptr @s2n_strerror_debug(i32 noundef %3570, ptr noundef nonnull @.str.11) #12
  %3572 = load i32, ptr %1545, align 4, !tbaa !5
  %3573 = call ptr @strerror(i32 noundef %3572) #12
  %3574 = load i32, ptr %1545, align 4, !tbaa !5
  %3575 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3566, ptr noundef nonnull %.str.12.sink2794, i32 noundef %3567, ptr noundef nonnull @.str.77, ptr noundef nonnull @.str.8, i32 noundef 381, ptr noundef %3569, ptr noundef %3571, ptr noundef %3573, i32 noundef %3574) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3576:                                             ; preds = %3549
  %3577 = add nsw i32 %3551, 2
  store i32 %3577, ptr @test_count, align 4, !tbaa !5
  %3578 = call i32 @s2n_connection_set_config(ptr noundef nonnull %3550, ptr noundef nonnull %3362) #12
  %3579 = icmp eq i32 %3578, -1
  br i1 %3579, label %3580, label %3602

3580:                                             ; preds = %3576
  %3581 = load i32, ptr %1545, align 4, !tbaa !5
  %3582 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3583 = call i32 @s2n_print_stacktrace(ptr noundef %3582) #12
  %3584 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3585 = trunc nuw i8 %3584 to i1
  br i1 %3585, label %3586, label %3590

3586:                                             ; preds = %3580
  %3587 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3588 = call i32 @fileno(ptr noundef %3587) #12
  %3589 = call i32 @isatty(i32 noundef %3588) #12
  %.not1442 = icmp eq i32 %3589, 0
  br i1 %.not1442, label %3590, label %3591

3590:                                             ; preds = %3586, %3580
  br label %3591

3591:                                             ; preds = %3586, %3590
  %.str.12.sink2803 = phi ptr [ @.str.12, %3590 ], [ @.str.9, %3586 ]
  store i32 %3581, ptr %1545, align 4, !tbaa !5
  %3592 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3593 = load i32, ptr @test_count, align 4, !tbaa !5
  %3594 = load i32, ptr %1491, align 4, !tbaa !5
  %3595 = call ptr @s2n_strerror(i32 noundef %3594, ptr noundef nonnull @.str.11) #12
  %3596 = load i32, ptr %1491, align 4, !tbaa !5
  %3597 = call ptr @s2n_strerror_debug(i32 noundef %3596, ptr noundef nonnull @.str.11) #12
  %3598 = load i32, ptr %1545, align 4, !tbaa !5
  %3599 = call ptr @strerror(i32 noundef %3598) #12
  %3600 = load i32, ptr %1545, align 4, !tbaa !5
  %3601 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3592, ptr noundef nonnull %.str.12.sink2803, i32 noundef %3593, ptr noundef nonnull @.str.40, ptr noundef nonnull @.str.8, i32 noundef 382, ptr noundef %3595, ptr noundef %3597, ptr noundef %3599, i32 noundef %3600) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3602:                                             ; preds = %3576
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %14) #12
  store i64 0, ptr %14, align 8
  %3603 = load i32, ptr @test_count, align 4, !tbaa !5
  %3604 = add nsw i32 %3603, 1
  store i32 %3604, ptr @test_count, align 4, !tbaa !5
  %3605 = call i32 @s2n_io_pair_init_non_blocking(ptr noundef nonnull %14) #12
  %3606 = icmp eq i32 %3605, -1
  br i1 %3606, label %3607, label %3629

3607:                                             ; preds = %3602
  %3608 = load i32, ptr %1545, align 4, !tbaa !5
  %3609 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3610 = call i32 @s2n_print_stacktrace(ptr noundef %3609) #12
  %3611 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3612 = trunc nuw i8 %3611 to i1
  br i1 %3612, label %3613, label %3617

3613:                                             ; preds = %3607
  %3614 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3615 = call i32 @fileno(ptr noundef %3614) #12
  %3616 = call i32 @isatty(i32 noundef %3615) #12
  %.not1441 = icmp eq i32 %3616, 0
  br i1 %.not1441, label %3617, label %3618

3617:                                             ; preds = %3613, %3607
  br label %3618

3618:                                             ; preds = %3613, %3617
  %.str.12.sink2812 = phi ptr [ @.str.12, %3617 ], [ @.str.9, %3613 ]
  store i32 %3608, ptr %1545, align 4, !tbaa !5
  %3619 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3620 = load i32, ptr @test_count, align 4, !tbaa !5
  %3621 = load i32, ptr %1491, align 4, !tbaa !5
  %3622 = call ptr @s2n_strerror(i32 noundef %3621, ptr noundef nonnull @.str.11) #12
  %3623 = load i32, ptr %1491, align 4, !tbaa !5
  %3624 = call ptr @s2n_strerror_debug(i32 noundef %3623, ptr noundef nonnull @.str.11) #12
  %3625 = load i32, ptr %1545, align 4, !tbaa !5
  %3626 = call ptr @strerror(i32 noundef %3625) #12
  %3627 = load i32, ptr %1545, align 4, !tbaa !5
  %3628 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3619, ptr noundef nonnull %.str.12.sink2812, i32 noundef %3620, ptr noundef nonnull @.str.78, ptr noundef nonnull @.str.8, i32 noundef 385, ptr noundef %3622, ptr noundef %3624, ptr noundef %3626, i32 noundef %3627) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3629:                                             ; preds = %3602
  %3630 = load i32, ptr @test_count, align 4, !tbaa !5
  %3631 = add nsw i32 %3630, 1
  store i32 %3631, ptr @test_count, align 4, !tbaa !5
  %3632 = call i32 @s2n_connection_set_io_pair(ptr noundef nonnull %3497, ptr noundef nonnull %14) #12
  %3633 = icmp eq i32 %3632, -1
  br i1 %3633, label %3634, label %3656

3634:                                             ; preds = %3629
  %3635 = load i32, ptr %1545, align 4, !tbaa !5
  %3636 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3637 = call i32 @s2n_print_stacktrace(ptr noundef %3636) #12
  %3638 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3639 = trunc nuw i8 %3638 to i1
  br i1 %3639, label %3640, label %3644

3640:                                             ; preds = %3634
  %3641 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3642 = call i32 @fileno(ptr noundef %3641) #12
  %3643 = call i32 @isatty(i32 noundef %3642) #12
  %.not1440 = icmp eq i32 %3643, 0
  br i1 %.not1440, label %3644, label %3645

3644:                                             ; preds = %3640, %3634
  br label %3645

3645:                                             ; preds = %3640, %3644
  %.str.12.sink2821 = phi ptr [ @.str.12, %3644 ], [ @.str.9, %3640 ]
  store i32 %3635, ptr %1545, align 4, !tbaa !5
  %3646 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3647 = load i32, ptr @test_count, align 4, !tbaa !5
  %3648 = load i32, ptr %1491, align 4, !tbaa !5
  %3649 = call ptr @s2n_strerror(i32 noundef %3648, ptr noundef nonnull @.str.11) #12
  %3650 = load i32, ptr %1491, align 4, !tbaa !5
  %3651 = call ptr @s2n_strerror_debug(i32 noundef %3650, ptr noundef nonnull @.str.11) #12
  %3652 = load i32, ptr %1545, align 4, !tbaa !5
  %3653 = call ptr @strerror(i32 noundef %3652) #12
  %3654 = load i32, ptr %1545, align 4, !tbaa !5
  %3655 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3646, ptr noundef nonnull %.str.12.sink2821, i32 noundef %3647, ptr noundef nonnull @.str.79, ptr noundef nonnull @.str.8, i32 noundef 386, ptr noundef %3649, ptr noundef %3651, ptr noundef %3653, i32 noundef %3654) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3656:                                             ; preds = %3629
  %3657 = load i32, ptr @test_count, align 4, !tbaa !5
  %3658 = add nsw i32 %3657, 1
  store i32 %3658, ptr @test_count, align 4, !tbaa !5
  %3659 = call i32 @s2n_connection_set_io_pair(ptr noundef nonnull %3550, ptr noundef nonnull %14) #12
  %3660 = icmp eq i32 %3659, -1
  br i1 %3660, label %3661, label %3683

3661:                                             ; preds = %3656
  %3662 = load i32, ptr %1545, align 4, !tbaa !5
  %3663 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3664 = call i32 @s2n_print_stacktrace(ptr noundef %3663) #12
  %3665 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3666 = trunc nuw i8 %3665 to i1
  br i1 %3666, label %3667, label %3671

3667:                                             ; preds = %3661
  %3668 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3669 = call i32 @fileno(ptr noundef %3668) #12
  %3670 = call i32 @isatty(i32 noundef %3669) #12
  %.not1439 = icmp eq i32 %3670, 0
  br i1 %.not1439, label %3671, label %3672

3671:                                             ; preds = %3667, %3661
  br label %3672

3672:                                             ; preds = %3667, %3671
  %.str.12.sink2830 = phi ptr [ @.str.12, %3671 ], [ @.str.9, %3667 ]
  store i32 %3662, ptr %1545, align 4, !tbaa !5
  %3673 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3674 = load i32, ptr @test_count, align 4, !tbaa !5
  %3675 = load i32, ptr %1491, align 4, !tbaa !5
  %3676 = call ptr @s2n_strerror(i32 noundef %3675, ptr noundef nonnull @.str.11) #12
  %3677 = load i32, ptr %1491, align 4, !tbaa !5
  %3678 = call ptr @s2n_strerror_debug(i32 noundef %3677, ptr noundef nonnull @.str.11) #12
  %3679 = load i32, ptr %1545, align 4, !tbaa !5
  %3680 = call ptr @strerror(i32 noundef %3679) #12
  %3681 = load i32, ptr %1545, align 4, !tbaa !5
  %3682 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3673, ptr noundef nonnull %.str.12.sink2830, i32 noundef %3674, ptr noundef nonnull @.str.80, ptr noundef nonnull @.str.8, i32 noundef 387, ptr noundef %3676, ptr noundef %3678, ptr noundef %3680, i32 noundef %3681) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3683:                                             ; preds = %3656
  %3684 = load i32, ptr @test_count, align 4, !tbaa !5
  %3685 = add nsw i32 %3684, 1
  store i32 %3685, ptr @test_count, align 4, !tbaa !5
  %3686 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef nonnull %3550, ptr noundef nonnull %3497) #12
  %3687 = icmp eq i32 %3686, -1
  br i1 %3687, label %3688, label %3710

3688:                                             ; preds = %3683
  %3689 = load i32, ptr %1545, align 4, !tbaa !5
  %3690 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3691 = call i32 @s2n_print_stacktrace(ptr noundef %3690) #12
  %3692 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3693 = trunc nuw i8 %3692 to i1
  br i1 %3693, label %3694, label %3698

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

3698:                                             ; preds = %3694, %3688
  br label %3699

3699:                                             ; preds = %3694, %3698
  %.str.12.sink2839 = phi ptr [ @.str.12, %3698 ], [ @.str.9, %3694 ]
  store i32 %3689, ptr %1545, align 4, !tbaa !5
  %3700 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3701 = load i32, ptr @test_count, align 4, !tbaa !5
  %3702 = load i32, ptr %1491, align 4, !tbaa !5
  %3703 = call ptr @s2n_strerror(i32 noundef %3702, ptr noundef nonnull @.str.11) #12
  %3704 = load i32, ptr %1491, align 4, !tbaa !5
  %3705 = call ptr @s2n_strerror_debug(i32 noundef %3704, ptr noundef nonnull @.str.11) #12
  %3706 = load i32, ptr %1545, align 4, !tbaa !5
  %3707 = call ptr @strerror(i32 noundef %3706) #12
  %3708 = load i32, ptr %1545, align 4, !tbaa !5
  %3709 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3700, ptr noundef nonnull %.str.12.sink2839, i32 noundef %3701, ptr noundef nonnull @.str.81, ptr noundef nonnull @.str.8, i32 noundef 389, ptr noundef %3703, ptr noundef %3705, ptr noundef %3707, i32 noundef %3708) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3710:                                             ; preds = %3683
  %3711 = load i32, ptr @test_count, align 4, !tbaa !5
  %3712 = add nsw i32 %3711, 1
  store i32 %3712, ptr @test_count, align 4, !tbaa !5
  %3713 = getelementptr inbounds i8, ptr %3550, i64 220
  %3714 = load i8, ptr %3713, align 4, !tbaa !49
  %3715 = icmp eq i8 %3714, 33
  br i1 %3715, label %3738, label %3716

3716:                                             ; preds = %3710
  %3717 = load i32, ptr %1545, align 4, !tbaa !5
  %3718 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3719 = call i32 @s2n_print_stacktrace(ptr noundef %3718) #12
  %3720 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3721 = trunc nuw i8 %3720 to i1
  br i1 %3721, label %3722, label %3726

3722:                                             ; preds = %3716
  %3723 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3724 = call i32 @fileno(ptr noundef %3723) #12
  %3725 = call i32 @isatty(i32 noundef %3724) #12
  %.not1142 = icmp eq i32 %3725, 0
  br i1 %.not1142, label %3726, label %3727

3726:                                             ; preds = %3722, %3716
  br label %3727

3727:                                             ; preds = %3722, %3726
  %.str.12.sink2848 = phi ptr [ @.str.12, %3726 ], [ @.str.9, %3722 ]
  store i32 %3717, ptr %1545, align 4, !tbaa !5
  %3728 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3729 = load i32, ptr @test_count, align 4, !tbaa !5
  %3730 = load i32, ptr %1491, align 4, !tbaa !5
  %3731 = call ptr @s2n_strerror(i32 noundef %3730, ptr noundef nonnull @.str.11) #12
  %3732 = load i32, ptr %1491, align 4, !tbaa !5
  %3733 = call ptr @s2n_strerror_debug(i32 noundef %3732, ptr noundef nonnull @.str.11) #12
  %3734 = load i32, ptr %1545, align 4, !tbaa !5
  %3735 = call ptr @strerror(i32 noundef %3734) #12
  %3736 = load i32, ptr %1545, align 4, !tbaa !5
  %3737 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3728, ptr noundef nonnull %.str.12.sink2848, i32 noundef %3729, ptr noundef nonnull @.str.88, ptr noundef nonnull @.str.8, i32 noundef 390, ptr noundef %3731, ptr noundef %3733, ptr noundef %3735, i32 noundef %3736) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3738:                                             ; preds = %3710
  %3739 = add nsw i32 %3711, 3
  store i32 %3739, ptr @test_count, align 4, !tbaa !5
  %3740 = call i32 @s2n_test_all_signature_schemes_valid(i32 noundef 1, ptr noundef nonnull %3550, ptr noundef nonnull %3497)
  %3741 = call zeroext i1 @s2n_result_is_ok(i32 %3740)
  br i1 %3741, label %3764, label %3742

3742:                                             ; preds = %3738
  %3743 = load i32, ptr %1545, align 4, !tbaa !5
  %3744 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3745 = call i32 @s2n_print_stacktrace(ptr noundef %3744) #12
  %3746 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3747 = trunc nuw i8 %3746 to i1
  br i1 %3747, label %3748, label %3752

3748:                                             ; preds = %3742
  %3749 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3750 = call i32 @fileno(ptr noundef %3749) #12
  %3751 = call i32 @isatty(i32 noundef %3750) #12
  %.not1144 = icmp eq i32 %3751, 0
  br i1 %.not1144, label %3752, label %3753

3752:                                             ; preds = %3748, %3742
  br label %3753

3753:                                             ; preds = %3748, %3752
  %.str.12.sink2857 = phi ptr [ @.str.12, %3752 ], [ @.str.9, %3748 ]
  store i32 %3743, ptr %1545, align 4, !tbaa !5
  %3754 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3755 = load i32, ptr @test_count, align 4, !tbaa !5
  %3756 = load i32, ptr %1491, align 4, !tbaa !5
  %3757 = call ptr @s2n_strerror(i32 noundef %3756, ptr noundef nonnull @.str.11) #12
  %3758 = load i32, ptr %1491, align 4, !tbaa !5
  %3759 = call ptr @s2n_strerror_debug(i32 noundef %3758, ptr noundef nonnull @.str.11) #12
  %3760 = load i32, ptr %1545, align 4, !tbaa !5
  %3761 = call ptr @strerror(i32 noundef %3760) #12
  %3762 = load i32, ptr %1545, align 4, !tbaa !5
  %3763 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3754, ptr noundef nonnull %.str.12.sink2857, i32 noundef %3755, ptr noundef nonnull @.str.89, ptr noundef nonnull @.str.8, i32 noundef 392, ptr noundef %3757, ptr noundef %3759, ptr noundef %3761, i32 noundef %3762) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3764:                                             ; preds = %3738
  %3765 = load i32, ptr @test_count, align 4, !tbaa !5
  %3766 = add nsw i32 %3765, 1
  store i32 %3766, ptr @test_count, align 4, !tbaa !5
  %3767 = call i32 @s2n_connection_free(ptr noundef nonnull %3550) #12
  %3768 = icmp eq i32 %3767, -1
  br i1 %3768, label %3769, label %3791

3769:                                             ; preds = %3764
  %3770 = load i32, ptr %1545, align 4, !tbaa !5
  %3771 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3772 = call i32 @s2n_print_stacktrace(ptr noundef %3771) #12
  %3773 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3774 = trunc nuw i8 %3773 to i1
  br i1 %3774, label %3775, label %3779

3775:                                             ; preds = %3769
  %3776 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3777 = call i32 @fileno(ptr noundef %3776) #12
  %3778 = call i32 @isatty(i32 noundef %3777) #12
  %.not1437 = icmp eq i32 %3778, 0
  br i1 %.not1437, label %3779, label %3780

3779:                                             ; preds = %3775, %3769
  br label %3780

3780:                                             ; preds = %3775, %3779
  %.str.12.sink2866 = phi ptr [ @.str.12, %3779 ], [ @.str.9, %3775 ]
  store i32 %3770, ptr %1545, align 4, !tbaa !5
  %3781 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3782 = load i32, ptr @test_count, align 4, !tbaa !5
  %3783 = load i32, ptr %1491, align 4, !tbaa !5
  %3784 = call ptr @s2n_strerror(i32 noundef %3783, ptr noundef nonnull @.str.11) #12
  %3785 = load i32, ptr %1491, align 4, !tbaa !5
  %3786 = call ptr @s2n_strerror_debug(i32 noundef %3785, ptr noundef nonnull @.str.11) #12
  %3787 = load i32, ptr %1545, align 4, !tbaa !5
  %3788 = call ptr @strerror(i32 noundef %3787) #12
  %3789 = load i32, ptr %1545, align 4, !tbaa !5
  %3790 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3781, ptr noundef nonnull %.str.12.sink2866, i32 noundef %3782, ptr noundef nonnull @.str.37, ptr noundef nonnull @.str.8, i32 noundef 394, ptr noundef %3784, ptr noundef %3786, ptr noundef %3788, i32 noundef %3789) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3791:                                             ; preds = %3764
  %3792 = load i32, ptr @test_count, align 4, !tbaa !5
  %3793 = add nsw i32 %3792, 1
  store i32 %3793, ptr @test_count, align 4, !tbaa !5
  %3794 = call i32 @s2n_connection_free(ptr noundef nonnull %3497) #12
  %3795 = icmp eq i32 %3794, -1
  br i1 %3795, label %3796, label %3818

3796:                                             ; preds = %3791
  %3797 = load i32, ptr %1545, align 4, !tbaa !5
  %3798 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3799 = call i32 @s2n_print_stacktrace(ptr noundef %3798) #12
  %3800 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3801 = trunc nuw i8 %3800 to i1
  br i1 %3801, label %3802, label %3806

3802:                                             ; preds = %3796
  %3803 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3804 = call i32 @fileno(ptr noundef %3803) #12
  %3805 = call i32 @isatty(i32 noundef %3804) #12
  %.not1436 = icmp eq i32 %3805, 0
  br i1 %.not1436, label %3806, label %3807

3806:                                             ; preds = %3802, %3796
  br label %3807

3807:                                             ; preds = %3802, %3806
  %.str.12.sink2875 = phi ptr [ @.str.12, %3806 ], [ @.str.9, %3802 ]
  store i32 %3797, ptr %1545, align 4, !tbaa !5
  %3808 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3809 = load i32, ptr @test_count, align 4, !tbaa !5
  %3810 = load i32, ptr %1491, align 4, !tbaa !5
  %3811 = call ptr @s2n_strerror(i32 noundef %3810, ptr noundef nonnull @.str.11) #12
  %3812 = load i32, ptr %1491, align 4, !tbaa !5
  %3813 = call ptr @s2n_strerror_debug(i32 noundef %3812, ptr noundef nonnull @.str.11) #12
  %3814 = load i32, ptr %1545, align 4, !tbaa !5
  %3815 = call ptr @strerror(i32 noundef %3814) #12
  %3816 = load i32, ptr %1545, align 4, !tbaa !5
  %3817 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3808, ptr noundef nonnull %.str.12.sink2875, i32 noundef %3809, ptr noundef nonnull @.str.36, ptr noundef nonnull @.str.8, i32 noundef 395, ptr noundef %3811, ptr noundef %3813, ptr noundef %3815, i32 noundef %3816) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3818:                                             ; preds = %3791
  %3819 = load i32, ptr @test_count, align 4, !tbaa !5
  %3820 = add nsw i32 %3819, 1
  store i32 %3820, ptr @test_count, align 4, !tbaa !5
  %3821 = call i32 @s2n_io_pair_close(ptr noundef nonnull %14) #12
  %3822 = icmp eq i32 %3821, -1
  br i1 %3822, label %3823, label %3845

3823:                                             ; preds = %3818
  %3824 = load i32, ptr %1545, align 4, !tbaa !5
  %3825 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3826 = call i32 @s2n_print_stacktrace(ptr noundef %3825) #12
  %3827 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3828 = trunc nuw i8 %3827 to i1
  br i1 %3828, label %3829, label %3833

3829:                                             ; preds = %3823
  %3830 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3831 = call i32 @fileno(ptr noundef %3830) #12
  %3832 = call i32 @isatty(i32 noundef %3831) #12
  %.not1435 = icmp eq i32 %3832, 0
  br i1 %.not1435, label %3833, label %3834

3833:                                             ; preds = %3829, %3823
  br label %3834

3834:                                             ; preds = %3829, %3833
  %.str.12.sink2884 = phi ptr [ @.str.12, %3833 ], [ @.str.9, %3829 ]
  store i32 %3824, ptr %1545, align 4, !tbaa !5
  %3835 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3836 = load i32, ptr @test_count, align 4, !tbaa !5
  %3837 = load i32, ptr %1491, align 4, !tbaa !5
  %3838 = call ptr @s2n_strerror(i32 noundef %3837, ptr noundef nonnull @.str.11) #12
  %3839 = load i32, ptr %1491, align 4, !tbaa !5
  %3840 = call ptr @s2n_strerror_debug(i32 noundef %3839, ptr noundef nonnull @.str.11) #12
  %3841 = load i32, ptr %1545, align 4, !tbaa !5
  %3842 = call ptr @strerror(i32 noundef %3841) #12
  %3843 = load i32, ptr %1545, align 4, !tbaa !5
  %3844 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3835, ptr noundef nonnull %.str.12.sink2884, i32 noundef %3836, ptr noundef nonnull @.str.84, ptr noundef nonnull @.str.8, i32 noundef 396, ptr noundef %3838, ptr noundef %3840, ptr noundef %3842, i32 noundef %3843) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3845:                                             ; preds = %3818
  %3846 = load i32, ptr @test_count, align 4, !tbaa !5
  %3847 = add nsw i32 %3846, 1
  store i32 %3847, ptr @test_count, align 4, !tbaa !5
  %3848 = call i32 @s2n_config_free(ptr noundef nonnull %3362) #12
  %3849 = icmp eq i32 %3848, -1
  br i1 %3849, label %3850, label %3872

3850:                                             ; preds = %3845
  %3851 = load i32, ptr %1545, align 4, !tbaa !5
  %3852 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3853 = call i32 @s2n_print_stacktrace(ptr noundef %3852) #12
  %3854 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3855 = trunc nuw i8 %3854 to i1
  br i1 %3855, label %3856, label %3860

3856:                                             ; preds = %3850
  %3857 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3858 = call i32 @fileno(ptr noundef %3857) #12
  %3859 = call i32 @isatty(i32 noundef %3858) #12
  %.not1434 = icmp eq i32 %3859, 0
  br i1 %.not1434, label %3860, label %3861

3860:                                             ; preds = %3856, %3850
  br label %3861

3861:                                             ; preds = %3856, %3860
  %.str.12.sink2893 = phi ptr [ @.str.12, %3860 ], [ @.str.9, %3856 ]
  store i32 %3851, ptr %1545, align 4, !tbaa !5
  %3862 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3863 = load i32, ptr @test_count, align 4, !tbaa !5
  %3864 = load i32, ptr %1491, align 4, !tbaa !5
  %3865 = call ptr @s2n_strerror(i32 noundef %3864, ptr noundef nonnull @.str.11) #12
  %3866 = load i32, ptr %1491, align 4, !tbaa !5
  %3867 = call ptr @s2n_strerror_debug(i32 noundef %3866, ptr noundef nonnull @.str.11) #12
  %3868 = load i32, ptr %1545, align 4, !tbaa !5
  %3869 = call ptr @strerror(i32 noundef %3868) #12
  %3870 = load i32, ptr %1545, align 4, !tbaa !5
  %3871 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3862, ptr noundef nonnull %.str.12.sink2893, i32 noundef %3863, ptr noundef nonnull @.str.44, ptr noundef nonnull @.str.8, i32 noundef 397, ptr noundef %3865, ptr noundef %3867, ptr noundef %3869, i32 noundef %3870) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3872:                                             ; preds = %3845
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %14) #12
  %3873 = load i32, ptr @test_count, align 4, !tbaa !5
  %3874 = add nsw i32 %3873, 1
  store i32 %3874, ptr @test_count, align 4, !tbaa !5
  %3875 = call i32 @s2n_connection_set_max_fragment_length(ptr noundef null, i16 noundef zeroext 1) #12
  %3876 = call zeroext i1 @s2n_result_is_error(i32 %3875)
  br i1 %3876, label %3899, label %3877

3877:                                             ; preds = %3872
  %3878 = load i32, ptr %1545, align 4, !tbaa !5
  %3879 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3880 = call i32 @s2n_print_stacktrace(ptr noundef %3879) #12
  %3881 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3882 = trunc nuw i8 %3881 to i1
  br i1 %3882, label %3883, label %3887

3883:                                             ; preds = %3877
  %3884 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3885 = call i32 @fileno(ptr noundef %3884) #12
  %3886 = call i32 @isatty(i32 noundef %3885) #12
  %.not1145 = icmp eq i32 %3886, 0
  br i1 %.not1145, label %3887, label %3888

3887:                                             ; preds = %3883, %3877
  br label %3888

3888:                                             ; preds = %3883, %3887
  %.str.12.sink2902 = phi ptr [ @.str.12, %3887 ], [ @.str.9, %3883 ]
  store i32 %3878, ptr %1545, align 4, !tbaa !5
  %3889 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3890 = load i32, ptr @test_count, align 4, !tbaa !5
  %3891 = load i32, ptr %1491, align 4, !tbaa !5
  %3892 = call ptr @s2n_strerror(i32 noundef %3891, ptr noundef nonnull @.str.11) #12
  %3893 = load i32, ptr %1491, align 4, !tbaa !5
  %3894 = call ptr @s2n_strerror_debug(i32 noundef %3893, ptr noundef nonnull @.str.11) #12
  %3895 = load i32, ptr %1545, align 4, !tbaa !5
  %3896 = call ptr @strerror(i32 noundef %3895) #12
  %3897 = load i32, ptr %1545, align 4, !tbaa !5
  %3898 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3889, ptr noundef nonnull %.str.12.sink2902, i32 noundef %3890, ptr noundef nonnull @.str.90, ptr noundef nonnull @.str.8, i32 noundef 409, ptr noundef %3892, ptr noundef %3894, ptr noundef %3896, i32 noundef %3897) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3899:                                             ; preds = %3872
  %3900 = load i32, ptr @test_count, align 4, !tbaa !5
  %3901 = add nsw i32 %3900, 1
  store i32 %3901, ptr @test_count, align 4, !tbaa !5
  %3902 = load i32, ptr %1491, align 4, !tbaa !5
  %3903 = icmp eq i32 %3902, 402653193
  br i1 %3903, label %3926, label %3904

3904:                                             ; preds = %3899
  %3905 = load i32, ptr %1545, align 4, !tbaa !5
  %3906 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3907 = call i32 @s2n_print_stacktrace(ptr noundef %3906) #12
  %3908 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3909 = trunc nuw i8 %3908 to i1
  br i1 %3909, label %3910, label %3914

3910:                                             ; preds = %3904
  %3911 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3912 = call i32 @fileno(ptr noundef %3911) #12
  %3913 = call i32 @isatty(i32 noundef %3912) #12
  %.not1146 = icmp eq i32 %3913, 0
  br i1 %.not1146, label %3914, label %3915

3914:                                             ; preds = %3910, %3904
  br label %3915

3915:                                             ; preds = %3910, %3914
  %.str.12.sink2911 = phi ptr [ @.str.12, %3914 ], [ @.str.9, %3910 ]
  store i32 %3905, ptr %1545, align 4, !tbaa !5
  %3916 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3917 = load i32, ptr @test_count, align 4, !tbaa !5
  %3918 = load i32, ptr %1491, align 4, !tbaa !5
  %3919 = call ptr @s2n_strerror(i32 noundef %3918, ptr noundef nonnull @.str.11) #12
  %3920 = load i32, ptr %1491, align 4, !tbaa !5
  %3921 = call ptr @s2n_strerror_debug(i32 noundef %3920, ptr noundef nonnull @.str.11) #12
  %3922 = load i32, ptr %1545, align 4, !tbaa !5
  %3923 = call ptr @strerror(i32 noundef %3922) #12
  %3924 = load i32, ptr %1545, align 4, !tbaa !5
  %3925 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3916, ptr noundef nonnull %.str.12.sink2911, i32 noundef %3917, ptr noundef nonnull @.str.91, ptr noundef nonnull @.str.8, i32 noundef 409, ptr noundef %3919, ptr noundef %3921, ptr noundef %3923, i32 noundef %3924) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3926:                                             ; preds = %3899
  %3927 = add nsw i32 %3900, 2
  store i32 %3927, ptr @test_count, align 4, !tbaa !5
  %3928 = call ptr @s2n_strerror_debug(i32 noundef 402653193, ptr noundef nonnull @.str.11) #12
  %3929 = icmp eq ptr %3928, null
  br i1 %3929, label %3930, label %3952

3930:                                             ; preds = %3926
  %3931 = load i32, ptr %1545, align 4, !tbaa !5
  %3932 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3933 = call i32 @s2n_print_stacktrace(ptr noundef %3932) #12
  %3934 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3935 = trunc nuw i8 %3934 to i1
  br i1 %3935, label %3936, label %3940

3936:                                             ; preds = %3930
  %3937 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3938 = call i32 @fileno(ptr noundef %3937) #12
  %3939 = call i32 @isatty(i32 noundef %3938) #12
  %.not1433 = icmp eq i32 %3939, 0
  br i1 %.not1433, label %3940, label %3941

3940:                                             ; preds = %3936, %3930
  br label %3941

3941:                                             ; preds = %3936, %3940
  %.str.12.sink2920 = phi ptr [ @.str.12, %3940 ], [ @.str.9, %3936 ]
  store i32 %3931, ptr %1545, align 4, !tbaa !5
  %3942 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3943 = load i32, ptr @test_count, align 4, !tbaa !5
  %3944 = load i32, ptr %1491, align 4, !tbaa !5
  %3945 = call ptr @s2n_strerror(i32 noundef %3944, ptr noundef nonnull @.str.11) #12
  %3946 = load i32, ptr %1491, align 4, !tbaa !5
  %3947 = call ptr @s2n_strerror_debug(i32 noundef %3946, ptr noundef nonnull @.str.11) #12
  %3948 = load i32, ptr %1545, align 4, !tbaa !5
  %3949 = call ptr @strerror(i32 noundef %3948) #12
  %3950 = load i32, ptr %1545, align 4, !tbaa !5
  %3951 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3942, ptr noundef nonnull %.str.12.sink2920, i32 noundef %3943, ptr noundef nonnull @.str.54, ptr noundef nonnull @.str.8, i32 noundef 409, ptr noundef %3945, ptr noundef %3947, ptr noundef %3949, i32 noundef %3950) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3952:                                             ; preds = %3926
  store i32 0, ptr %1491, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %1545, align 4, !tbaa !5
  %3953 = call ptr @s2n_connection_new(i32 noundef 1) #12
  %3954 = load i32, ptr @test_count, align 4, !tbaa !5
  %3955 = add nsw i32 %3954, 1
  store i32 %3955, ptr @test_count, align 4, !tbaa !5
  %3956 = icmp eq ptr %3953, null
  br i1 %3956, label %3957, label %3979

3957:                                             ; preds = %3952
  %3958 = load i32, ptr %1545, align 4, !tbaa !5
  %3959 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3960 = call i32 @s2n_print_stacktrace(ptr noundef %3959) #12
  %3961 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3962 = trunc nuw i8 %3961 to i1
  br i1 %3962, label %3963, label %3967

3963:                                             ; preds = %3957
  %3964 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3965 = call i32 @fileno(ptr noundef %3964) #12
  %3966 = call i32 @isatty(i32 noundef %3965) #12
  %.not1432 = icmp eq i32 %3966, 0
  br i1 %.not1432, label %3967, label %3968

3967:                                             ; preds = %3963, %3957
  br label %3968

3968:                                             ; preds = %3963, %3967
  %.str.12.sink2929 = phi ptr [ @.str.12, %3967 ], [ @.str.9, %3963 ]
  store i32 %3958, ptr %1545, align 4, !tbaa !5
  %3969 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3970 = load i32, ptr @test_count, align 4, !tbaa !5
  %3971 = load i32, ptr %1491, align 4, !tbaa !5
  %3972 = call ptr @s2n_strerror(i32 noundef %3971, ptr noundef nonnull @.str.11) #12
  %3973 = load i32, ptr %1491, align 4, !tbaa !5
  %3974 = call ptr @s2n_strerror_debug(i32 noundef %3973, ptr noundef nonnull @.str.11) #12
  %3975 = load i32, ptr %1545, align 4, !tbaa !5
  %3976 = call ptr @strerror(i32 noundef %3975) #12
  %3977 = load i32, ptr %1545, align 4, !tbaa !5
  %3978 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3969, ptr noundef nonnull %.str.12.sink2929, i32 noundef %3970, ptr noundef nonnull @.str.92, ptr noundef nonnull @.str.8, i32 noundef 412, ptr noundef %3972, ptr noundef %3974, ptr noundef %3976, i32 noundef %3977) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3979:                                             ; preds = %3952
  %3980 = getelementptr inbounds i8, ptr %3953, i64 2208
  store i16 1, ptr %3980, align 8, !tbaa !60
  %3981 = add nsw i32 %3954, 2
  store i32 %3981, ptr @test_count, align 4, !tbaa !5
  %3982 = call i32 @s2n_connection_set_max_fragment_length(ptr noundef nonnull %3953, i16 noundef zeroext -1) #12
  %3983 = call zeroext i1 @s2n_result_is_ok(i32 %3982)
  br i1 %3983, label %4006, label %3984

3984:                                             ; preds = %3979
  %3985 = load i32, ptr %1545, align 4, !tbaa !5
  %3986 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3987 = call i32 @s2n_print_stacktrace(ptr noundef %3986) #12
  %3988 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3989 = trunc nuw i8 %3988 to i1
  br i1 %3989, label %3990, label %3994

3990:                                             ; preds = %3984
  %3991 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3992 = call i32 @fileno(ptr noundef %3991) #12
  %3993 = call i32 @isatty(i32 noundef %3992) #12
  %.not1147 = icmp eq i32 %3993, 0
  br i1 %.not1147, label %3994, label %3995

3994:                                             ; preds = %3990, %3984
  br label %3995

3995:                                             ; preds = %3990, %3994
  %.str.12.sink2938 = phi ptr [ @.str.12, %3994 ], [ @.str.9, %3990 ]
  store i32 %3985, ptr %1545, align 4, !tbaa !5
  %3996 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3997 = load i32, ptr @test_count, align 4, !tbaa !5
  %3998 = load i32, ptr %1491, align 4, !tbaa !5
  %3999 = call ptr @s2n_strerror(i32 noundef %3998, ptr noundef nonnull @.str.11) #12
  %4000 = load i32, ptr %1491, align 4, !tbaa !5
  %4001 = call ptr @s2n_strerror_debug(i32 noundef %4000, ptr noundef nonnull @.str.11) #12
  %4002 = load i32, ptr %1545, align 4, !tbaa !5
  %4003 = call ptr @strerror(i32 noundef %4002) #12
  %4004 = load i32, ptr %1545, align 4, !tbaa !5
  %4005 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3996, ptr noundef nonnull %.str.12.sink2938, i32 noundef %3997, ptr noundef nonnull @.str.93, ptr noundef nonnull @.str.8, i32 noundef 417, ptr noundef %3999, ptr noundef %4001, ptr noundef %4003, i32 noundef %4004) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4006:                                             ; preds = %3979
  %4007 = load i32, ptr @test_count, align 4, !tbaa !5
  %4008 = add nsw i32 %4007, 1
  store i32 %4008, ptr @test_count, align 4, !tbaa !5
  %4009 = load i16, ptr %3980, align 8, !tbaa !60
  %4010 = icmp eq i16 %4009, -1
  br i1 %4010, label %4033, label %4011

4011:                                             ; preds = %4006
  %4012 = load i32, ptr %1545, align 4, !tbaa !5
  %4013 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4014 = call i32 @s2n_print_stacktrace(ptr noundef %4013) #12
  %4015 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4016 = trunc nuw i8 %4015 to i1
  br i1 %4016, label %4017, label %4021

4017:                                             ; preds = %4011
  %4018 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4019 = call i32 @fileno(ptr noundef %4018) #12
  %4020 = call i32 @isatty(i32 noundef %4019) #12
  %.not1148 = icmp eq i32 %4020, 0
  br i1 %.not1148, label %4021, label %4022

4021:                                             ; preds = %4017, %4011
  br label %4022

4022:                                             ; preds = %4017, %4021
  %.str.12.sink2947 = phi ptr [ @.str.12, %4021 ], [ @.str.9, %4017 ]
  store i32 %4012, ptr %1545, align 4, !tbaa !5
  %4023 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4024 = load i32, ptr @test_count, align 4, !tbaa !5
  %4025 = load i32, ptr %1491, align 4, !tbaa !5
  %4026 = call ptr @s2n_strerror(i32 noundef %4025, ptr noundef nonnull @.str.11) #12
  %4027 = load i32, ptr %1491, align 4, !tbaa !5
  %4028 = call ptr @s2n_strerror_debug(i32 noundef %4027, ptr noundef nonnull @.str.11) #12
  %4029 = load i32, ptr %1545, align 4, !tbaa !5
  %4030 = call ptr @strerror(i32 noundef %4029) #12
  %4031 = load i32, ptr %1545, align 4, !tbaa !5
  %4032 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4023, ptr noundef nonnull %.str.12.sink2947, i32 noundef %4024, ptr noundef nonnull @.str.94, ptr noundef nonnull @.str.8, i32 noundef 418, ptr noundef %4026, ptr noundef %4028, ptr noundef %4030, i32 noundef %4031) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4033:                                             ; preds = %4006
  %4034 = add nsw i32 %4007, 2
  store i32 %4034, ptr @test_count, align 4, !tbaa !5
  %4035 = getelementptr inbounds i8, ptr %3953, i64 1896
  %4036 = getelementptr inbounds i8, ptr %3953, i64 1904
  %4037 = load i32, ptr %4036, align 8, !tbaa !61
  %4038 = icmp eq i32 %4037, 0
  br i1 %4038, label %4061, label %4039

4039:                                             ; preds = %4033
  %4040 = load i32, ptr %1545, align 4, !tbaa !5
  %4041 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4042 = call i32 @s2n_print_stacktrace(ptr noundef %4041) #12
  %4043 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4044 = trunc nuw i8 %4043 to i1
  br i1 %4044, label %4045, label %4049

4045:                                             ; preds = %4039
  %4046 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4047 = call i32 @fileno(ptr noundef %4046) #12
  %4048 = call i32 @isatty(i32 noundef %4047) #12
  %.not1149 = icmp eq i32 %4048, 0
  br i1 %.not1149, label %4049, label %4050

4049:                                             ; preds = %4045, %4039
  br label %4050

4050:                                             ; preds = %4045, %4049
  %.str.12.sink2956 = phi ptr [ @.str.12, %4049 ], [ @.str.9, %4045 ]
  store i32 %4040, ptr %1545, align 4, !tbaa !5
  %4051 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4052 = load i32, ptr @test_count, align 4, !tbaa !5
  %4053 = load i32, ptr %1491, align 4, !tbaa !5
  %4054 = call ptr @s2n_strerror(i32 noundef %4053, ptr noundef nonnull @.str.11) #12
  %4055 = load i32, ptr %1491, align 4, !tbaa !5
  %4056 = call ptr @s2n_strerror_debug(i32 noundef %4055, ptr noundef nonnull @.str.11) #12
  %4057 = load i32, ptr %1545, align 4, !tbaa !5
  %4058 = call ptr @strerror(i32 noundef %4057) #12
  %4059 = load i32, ptr %1545, align 4, !tbaa !5
  %4060 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4051, ptr noundef nonnull %.str.12.sink2956, i32 noundef %4052, ptr noundef nonnull @.str.95, ptr noundef nonnull @.str.8, i32 noundef 419, ptr noundef %4054, ptr noundef %4056, ptr noundef %4058, i32 noundef %4059) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4061:                                             ; preds = %4033
  store i16 1, ptr %3980, align 8, !tbaa !60
  %4062 = add nsw i32 %4007, 3
  store i32 %4062, ptr @test_count, align 4, !tbaa !5
  %4063 = call i32 @s2n_connection_set_max_fragment_length(ptr noundef nonnull %3953, i16 noundef zeroext 10) #12
  %4064 = call zeroext i1 @s2n_result_is_ok(i32 %4063)
  br i1 %4064, label %4087, label %4065

4065:                                             ; preds = %4061
  %4066 = load i32, ptr %1545, align 4, !tbaa !5
  %4067 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4068 = call i32 @s2n_print_stacktrace(ptr noundef %4067) #12
  %4069 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4070 = trunc nuw i8 %4069 to i1
  br i1 %4070, label %4071, label %4075

4071:                                             ; preds = %4065
  %4072 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4073 = call i32 @fileno(ptr noundef %4072) #12
  %4074 = call i32 @isatty(i32 noundef %4073) #12
  %.not1150 = icmp eq i32 %4074, 0
  br i1 %.not1150, label %4075, label %4076

4075:                                             ; preds = %4071, %4065
  br label %4076

4076:                                             ; preds = %4071, %4075
  %.str.12.sink2965 = phi ptr [ @.str.12, %4075 ], [ @.str.9, %4071 ]
  store i32 %4066, ptr %1545, align 4, !tbaa !5
  %4077 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4078 = load i32, ptr @test_count, align 4, !tbaa !5
  %4079 = load i32, ptr %1491, align 4, !tbaa !5
  %4080 = call ptr @s2n_strerror(i32 noundef %4079, ptr noundef nonnull @.str.11) #12
  %4081 = load i32, ptr %1491, align 4, !tbaa !5
  %4082 = call ptr @s2n_strerror_debug(i32 noundef %4081, ptr noundef nonnull @.str.11) #12
  %4083 = load i32, ptr %1545, align 4, !tbaa !5
  %4084 = call ptr @strerror(i32 noundef %4083) #12
  %4085 = load i32, ptr %1545, align 4, !tbaa !5
  %4086 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4077, ptr noundef nonnull %.str.12.sink2965, i32 noundef %4078, ptr noundef nonnull @.str.96, ptr noundef nonnull @.str.8, i32 noundef 425, ptr noundef %4080, ptr noundef %4082, ptr noundef %4084, i32 noundef %4085) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4087:                                             ; preds = %4061
  %4088 = load i32, ptr @test_count, align 4, !tbaa !5
  %4089 = add nsw i32 %4088, 1
  store i32 %4089, ptr @test_count, align 4, !tbaa !5
  %4090 = load i16, ptr %3980, align 8, !tbaa !60
  %4091 = icmp eq i16 %4090, 10
  br i1 %4091, label %4114, label %4092

4092:                                             ; preds = %4087
  %4093 = load i32, ptr %1545, align 4, !tbaa !5
  %4094 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4095 = call i32 @s2n_print_stacktrace(ptr noundef %4094) #12
  %4096 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4097 = trunc nuw i8 %4096 to i1
  br i1 %4097, label %4098, label %4102

4098:                                             ; preds = %4092
  %4099 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4100 = call i32 @fileno(ptr noundef %4099) #12
  %4101 = call i32 @isatty(i32 noundef %4100) #12
  %.not1151 = icmp eq i32 %4101, 0
  br i1 %.not1151, label %4102, label %4103

4102:                                             ; preds = %4098, %4092
  br label %4103

4103:                                             ; preds = %4098, %4102
  %.str.12.sink2974 = phi ptr [ @.str.12, %4102 ], [ @.str.9, %4098 ]
  store i32 %4093, ptr %1545, align 4, !tbaa !5
  %4104 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4105 = load i32, ptr @test_count, align 4, !tbaa !5
  %4106 = load i32, ptr %1491, align 4, !tbaa !5
  %4107 = call ptr @s2n_strerror(i32 noundef %4106, ptr noundef nonnull @.str.11) #12
  %4108 = load i32, ptr %1491, align 4, !tbaa !5
  %4109 = call ptr @s2n_strerror_debug(i32 noundef %4108, ptr noundef nonnull @.str.11) #12
  %4110 = load i32, ptr %1545, align 4, !tbaa !5
  %4111 = call ptr @strerror(i32 noundef %4110) #12
  %4112 = load i32, ptr %1545, align 4, !tbaa !5
  %4113 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4104, ptr noundef nonnull %.str.12.sink2974, i32 noundef %4105, ptr noundef nonnull @.str.97, ptr noundef nonnull @.str.8, i32 noundef 426, ptr noundef %4107, ptr noundef %4109, ptr noundef %4111, i32 noundef %4112) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4114:                                             ; preds = %4087
  %4115 = add nsw i32 %4088, 2
  store i32 %4115, ptr @test_count, align 4, !tbaa !5
  %4116 = load i32, ptr %4036, align 8, !tbaa !61
  %4117 = icmp eq i32 %4116, 0
  br i1 %4117, label %4140, label %4118

4118:                                             ; preds = %4114
  %4119 = load i32, ptr %1545, align 4, !tbaa !5
  %4120 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4121 = call i32 @s2n_print_stacktrace(ptr noundef %4120) #12
  %4122 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4123 = trunc nuw i8 %4122 to i1
  br i1 %4123, label %4124, label %4128

4124:                                             ; preds = %4118
  %4125 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4126 = call i32 @fileno(ptr noundef %4125) #12
  %4127 = call i32 @isatty(i32 noundef %4126) #12
  %.not1152 = icmp eq i32 %4127, 0
  br i1 %.not1152, label %4128, label %4129

4128:                                             ; preds = %4124, %4118
  br label %4129

4129:                                             ; preds = %4124, %4128
  %.str.12.sink2983 = phi ptr [ @.str.12, %4128 ], [ @.str.9, %4124 ]
  store i32 %4119, ptr %1545, align 4, !tbaa !5
  %4130 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4131 = load i32, ptr @test_count, align 4, !tbaa !5
  %4132 = load i32, ptr %1491, align 4, !tbaa !5
  %4133 = call ptr @s2n_strerror(i32 noundef %4132, ptr noundef nonnull @.str.11) #12
  %4134 = load i32, ptr %1491, align 4, !tbaa !5
  %4135 = call ptr @s2n_strerror_debug(i32 noundef %4134, ptr noundef nonnull @.str.11) #12
  %4136 = load i32, ptr %1545, align 4, !tbaa !5
  %4137 = call ptr @strerror(i32 noundef %4136) #12
  %4138 = load i32, ptr %1545, align 4, !tbaa !5
  %4139 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4130, ptr noundef nonnull %.str.12.sink2983, i32 noundef %4131, ptr noundef nonnull @.str.95, ptr noundef nonnull @.str.8, i32 noundef 427, ptr noundef %4133, ptr noundef %4135, ptr noundef %4137, i32 noundef %4138) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4140:                                             ; preds = %4114
  %4141 = getelementptr inbounds i8, ptr %3953, i64 2232
  store i8 2, ptr %4141, align 8, !tbaa !62
  store i16 1, ptr %3980, align 8, !tbaa !60
  %4142 = add nsw i32 %4088, 3
  store i32 %4142, ptr @test_count, align 4, !tbaa !5
  %4143 = call i32 @s2n_connection_set_max_fragment_length(ptr noundef nonnull %3953, i16 noundef zeroext -1) #12
  %4144 = call zeroext i1 @s2n_result_is_ok(i32 %4143)
  br i1 %4144, label %4167, label %4145

4145:                                             ; preds = %4140
  %4146 = load i32, ptr %1545, align 4, !tbaa !5
  %4147 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4148 = call i32 @s2n_print_stacktrace(ptr noundef %4147) #12
  %4149 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4150 = trunc nuw i8 %4149 to i1
  br i1 %4150, label %4151, label %4155

4151:                                             ; preds = %4145
  %4152 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4153 = call i32 @fileno(ptr noundef %4152) #12
  %4154 = call i32 @isatty(i32 noundef %4153) #12
  %.not1153 = icmp eq i32 %4154, 0
  br i1 %.not1153, label %4155, label %4156

4155:                                             ; preds = %4151, %4145
  br label %4156

4156:                                             ; preds = %4151, %4155
  %.str.12.sink2992 = phi ptr [ @.str.12, %4155 ], [ @.str.9, %4151 ]
  store i32 %4146, ptr %1545, align 4, !tbaa !5
  %4157 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4158 = load i32, ptr @test_count, align 4, !tbaa !5
  %4159 = load i32, ptr %1491, align 4, !tbaa !5
  %4160 = call ptr @s2n_strerror(i32 noundef %4159, ptr noundef nonnull @.str.11) #12
  %4161 = load i32, ptr %1491, align 4, !tbaa !5
  %4162 = call ptr @s2n_strerror_debug(i32 noundef %4161, ptr noundef nonnull @.str.11) #12
  %4163 = load i32, ptr %1545, align 4, !tbaa !5
  %4164 = call ptr @strerror(i32 noundef %4163) #12
  %4165 = load i32, ptr %1545, align 4, !tbaa !5
  %4166 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4157, ptr noundef nonnull %.str.12.sink2992, i32 noundef %4158, ptr noundef nonnull @.str.93, ptr noundef nonnull @.str.8, i32 noundef 434, ptr noundef %4160, ptr noundef %4162, ptr noundef %4164, i32 noundef %4165) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4167:                                             ; preds = %4140
  %4168 = load i32, ptr @test_count, align 4, !tbaa !5
  %4169 = add nsw i32 %4168, 1
  store i32 %4169, ptr @test_count, align 4, !tbaa !5
  %4170 = load i16, ptr %3980, align 8, !tbaa !60
  %4171 = icmp eq i16 %4170, 1024
  br i1 %4171, label %4194, label %4172

4172:                                             ; preds = %4167
  %4173 = load i32, ptr %1545, align 4, !tbaa !5
  %4174 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4175 = call i32 @s2n_print_stacktrace(ptr noundef %4174) #12
  %4176 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4177 = trunc nuw i8 %4176 to i1
  br i1 %4177, label %4178, label %4182

4178:                                             ; preds = %4172
  %4179 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4180 = call i32 @fileno(ptr noundef %4179) #12
  %4181 = call i32 @isatty(i32 noundef %4180) #12
  %.not1154 = icmp eq i32 %4181, 0
  br i1 %.not1154, label %4182, label %4183

4182:                                             ; preds = %4178, %4172
  br label %4183

4183:                                             ; preds = %4178, %4182
  %.str.12.sink3001 = phi ptr [ @.str.12, %4182 ], [ @.str.9, %4178 ]
  store i32 %4173, ptr %1545, align 4, !tbaa !5
  %4184 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4185 = load i32, ptr @test_count, align 4, !tbaa !5
  %4186 = load i32, ptr %1491, align 4, !tbaa !5
  %4187 = call ptr @s2n_strerror(i32 noundef %4186, ptr noundef nonnull @.str.11) #12
  %4188 = load i32, ptr %1491, align 4, !tbaa !5
  %4189 = call ptr @s2n_strerror_debug(i32 noundef %4188, ptr noundef nonnull @.str.11) #12
  %4190 = load i32, ptr %1545, align 4, !tbaa !5
  %4191 = call ptr @strerror(i32 noundef %4190) #12
  %4192 = load i32, ptr %1545, align 4, !tbaa !5
  %4193 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4184, ptr noundef nonnull %.str.12.sink3001, i32 noundef %4185, ptr noundef nonnull @.str.98, ptr noundef nonnull @.str.8, i32 noundef 435, ptr noundef %4187, ptr noundef %4189, ptr noundef %4191, i32 noundef %4192) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4194:                                             ; preds = %4167
  %4195 = add nsw i32 %4168, 2
  store i32 %4195, ptr @test_count, align 4, !tbaa !5
  %4196 = load i32, ptr %4036, align 8, !tbaa !61
  %4197 = icmp eq i32 %4196, 0
  br i1 %4197, label %4220, label %4198

4198:                                             ; preds = %4194
  %4199 = load i32, ptr %1545, align 4, !tbaa !5
  %4200 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4201 = call i32 @s2n_print_stacktrace(ptr noundef %4200) #12
  %4202 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4203 = trunc nuw i8 %4202 to i1
  br i1 %4203, label %4204, label %4208

4204:                                             ; preds = %4198
  %4205 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4206 = call i32 @fileno(ptr noundef %4205) #12
  %4207 = call i32 @isatty(i32 noundef %4206) #12
  %.not1155 = icmp eq i32 %4207, 0
  br i1 %.not1155, label %4208, label %4209

4208:                                             ; preds = %4204, %4198
  br label %4209

4209:                                             ; preds = %4204, %4208
  %.str.12.sink3010 = phi ptr [ @.str.12, %4208 ], [ @.str.9, %4204 ]
  store i32 %4199, ptr %1545, align 4, !tbaa !5
  %4210 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4211 = load i32, ptr @test_count, align 4, !tbaa !5
  %4212 = load i32, ptr %1491, align 4, !tbaa !5
  %4213 = call ptr @s2n_strerror(i32 noundef %4212, ptr noundef nonnull @.str.11) #12
  %4214 = load i32, ptr %1491, align 4, !tbaa !5
  %4215 = call ptr @s2n_strerror_debug(i32 noundef %4214, ptr noundef nonnull @.str.11) #12
  %4216 = load i32, ptr %1545, align 4, !tbaa !5
  %4217 = call ptr @strerror(i32 noundef %4216) #12
  %4218 = load i32, ptr %1545, align 4, !tbaa !5
  %4219 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4210, ptr noundef nonnull %.str.12.sink3010, i32 noundef %4211, ptr noundef nonnull @.str.95, ptr noundef nonnull @.str.8, i32 noundef 436, ptr noundef %4213, ptr noundef %4215, ptr noundef %4217, i32 noundef %4218) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4220:                                             ; preds = %4194
  store i8 2, ptr %4141, align 8, !tbaa !62
  store i16 1, ptr %3980, align 8, !tbaa !60
  %4221 = add nsw i32 %4168, 3
  store i32 %4221, ptr @test_count, align 4, !tbaa !5
  %4222 = call i32 @s2n_connection_set_max_fragment_length(ptr noundef nonnull %3953, i16 noundef zeroext 10) #12
  %4223 = call zeroext i1 @s2n_result_is_ok(i32 %4222)
  br i1 %4223, label %4246, label %4224

4224:                                             ; preds = %4220
  %4225 = load i32, ptr %1545, align 4, !tbaa !5
  %4226 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4227 = call i32 @s2n_print_stacktrace(ptr noundef %4226) #12
  %4228 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4229 = trunc nuw i8 %4228 to i1
  br i1 %4229, label %4230, label %4234

4230:                                             ; preds = %4224
  %4231 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4232 = call i32 @fileno(ptr noundef %4231) #12
  %4233 = call i32 @isatty(i32 noundef %4232) #12
  %.not1156 = icmp eq i32 %4233, 0
  br i1 %.not1156, label %4234, label %4235

4234:                                             ; preds = %4230, %4224
  br label %4235

4235:                                             ; preds = %4230, %4234
  %.str.12.sink3019 = phi ptr [ @.str.12, %4234 ], [ @.str.9, %4230 ]
  store i32 %4225, ptr %1545, align 4, !tbaa !5
  %4236 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4237 = load i32, ptr @test_count, align 4, !tbaa !5
  %4238 = load i32, ptr %1491, align 4, !tbaa !5
  %4239 = call ptr @s2n_strerror(i32 noundef %4238, ptr noundef nonnull @.str.11) #12
  %4240 = load i32, ptr %1491, align 4, !tbaa !5
  %4241 = call ptr @s2n_strerror_debug(i32 noundef %4240, ptr noundef nonnull @.str.11) #12
  %4242 = load i32, ptr %1545, align 4, !tbaa !5
  %4243 = call ptr @strerror(i32 noundef %4242) #12
  %4244 = load i32, ptr %1545, align 4, !tbaa !5
  %4245 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4236, ptr noundef nonnull %.str.12.sink3019, i32 noundef %4237, ptr noundef nonnull @.str.96, ptr noundef nonnull @.str.8, i32 noundef 443, ptr noundef %4239, ptr noundef %4241, ptr noundef %4243, i32 noundef %4244) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4246:                                             ; preds = %4220
  %4247 = load i32, ptr @test_count, align 4, !tbaa !5
  %4248 = add nsw i32 %4247, 1
  store i32 %4248, ptr @test_count, align 4, !tbaa !5
  %4249 = load i16, ptr %3980, align 8, !tbaa !60
  %4250 = icmp eq i16 %4249, 10
  br i1 %4250, label %4273, label %4251

4251:                                             ; preds = %4246
  %4252 = load i32, ptr %1545, align 4, !tbaa !5
  %4253 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4254 = call i32 @s2n_print_stacktrace(ptr noundef %4253) #12
  %4255 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4256 = trunc nuw i8 %4255 to i1
  br i1 %4256, label %4257, label %4261

4257:                                             ; preds = %4251
  %4258 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4259 = call i32 @fileno(ptr noundef %4258) #12
  %4260 = call i32 @isatty(i32 noundef %4259) #12
  %.not1157 = icmp eq i32 %4260, 0
  br i1 %.not1157, label %4261, label %4262

4261:                                             ; preds = %4257, %4251
  br label %4262

4262:                                             ; preds = %4257, %4261
  %.str.12.sink3028 = phi ptr [ @.str.12, %4261 ], [ @.str.9, %4257 ]
  store i32 %4252, ptr %1545, align 4, !tbaa !5
  %4263 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4264 = load i32, ptr @test_count, align 4, !tbaa !5
  %4265 = load i32, ptr %1491, align 4, !tbaa !5
  %4266 = call ptr @s2n_strerror(i32 noundef %4265, ptr noundef nonnull @.str.11) #12
  %4267 = load i32, ptr %1491, align 4, !tbaa !5
  %4268 = call ptr @s2n_strerror_debug(i32 noundef %4267, ptr noundef nonnull @.str.11) #12
  %4269 = load i32, ptr %1545, align 4, !tbaa !5
  %4270 = call ptr @strerror(i32 noundef %4269) #12
  %4271 = load i32, ptr %1545, align 4, !tbaa !5
  %4272 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4263, ptr noundef nonnull %.str.12.sink3028, i32 noundef %4264, ptr noundef nonnull @.str.97, ptr noundef nonnull @.str.8, i32 noundef 444, ptr noundef %4266, ptr noundef %4268, ptr noundef %4270, i32 noundef %4271) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4273:                                             ; preds = %4246
  %4274 = add nsw i32 %4247, 2
  store i32 %4274, ptr @test_count, align 4, !tbaa !5
  %4275 = load i32, ptr %4036, align 8, !tbaa !61
  %4276 = icmp eq i32 %4275, 0
  br i1 %4276, label %4299, label %4277

4277:                                             ; preds = %4273
  %4278 = load i32, ptr %1545, align 4, !tbaa !5
  %4279 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4280 = call i32 @s2n_print_stacktrace(ptr noundef %4279) #12
  %4281 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4282 = trunc nuw i8 %4281 to i1
  br i1 %4282, label %4283, label %4287

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

4287:                                             ; preds = %4283, %4277
  br label %4288

4288:                                             ; preds = %4283, %4287
  %.str.12.sink3037 = phi ptr [ @.str.12, %4287 ], [ @.str.9, %4283 ]
  store i32 %4278, ptr %1545, align 4, !tbaa !5
  %4289 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4290 = load i32, ptr @test_count, align 4, !tbaa !5
  %4291 = load i32, ptr %1491, align 4, !tbaa !5
  %4292 = call ptr @s2n_strerror(i32 noundef %4291, ptr noundef nonnull @.str.11) #12
  %4293 = load i32, ptr %1491, align 4, !tbaa !5
  %4294 = call ptr @s2n_strerror_debug(i32 noundef %4293, ptr noundef nonnull @.str.11) #12
  %4295 = load i32, ptr %1545, align 4, !tbaa !5
  %4296 = call ptr @strerror(i32 noundef %4295) #12
  %4297 = load i32, ptr %1545, align 4, !tbaa !5
  %4298 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4289, ptr noundef nonnull %.str.12.sink3037, i32 noundef %4290, ptr noundef nonnull @.str.95, ptr noundef nonnull @.str.8, i32 noundef 445, ptr noundef %4292, ptr noundef %4294, ptr noundef %4296, i32 noundef %4297) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4299:                                             ; preds = %4273
  store i8 -1, ptr %4141, align 8, !tbaa !62
  %4300 = add nsw i32 %4247, 3
  store i32 %4300, ptr @test_count, align 4, !tbaa !5
  %4301 = call i32 @s2n_connection_set_max_fragment_length(ptr noundef nonnull %3953, i16 noundef zeroext 10) #12
  %4302 = call zeroext i1 @s2n_result_is_error(i32 %4301)
  br i1 %4302, label %4325, label %4303

4303:                                             ; preds = %4299
  %4304 = load i32, ptr %1545, 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
  %.not1159 = icmp eq i32 %4312, 0
  br i1 %.not1159, label %4313, label %4314

4313:                                             ; preds = %4309, %4303
  br label %4314

4314:                                             ; preds = %4309, %4313
  %.str.12.sink3046 = phi ptr [ @.str.12, %4313 ], [ @.str.9, %4309 ]
  store i32 %4304, ptr %1545, 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 %1491, align 4, !tbaa !5
  %4318 = call ptr @s2n_strerror(i32 noundef %4317, ptr noundef nonnull @.str.11) #12
  %4319 = load i32, ptr %1491, align 4, !tbaa !5
  %4320 = call ptr @s2n_strerror_debug(i32 noundef %4319, ptr noundef nonnull @.str.11) #12
  %4321 = load i32, ptr %1545, align 4, !tbaa !5
  %4322 = call ptr @strerror(i32 noundef %4321) #12
  %4323 = load i32, ptr %1545, align 4, !tbaa !5
  %4324 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4315, ptr noundef nonnull %.str.12.sink3046, i32 noundef %4316, ptr noundef nonnull @.str.99, ptr noundef nonnull @.str.8, i32 noundef 451, ptr noundef %4318, ptr noundef %4320, ptr noundef %4322, i32 noundef %4323) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4325:                                             ; preds = %4299
  %4326 = load i32, ptr @test_count, align 4, !tbaa !5
  %4327 = add nsw i32 %4326, 1
  store i32 %4327, ptr @test_count, align 4, !tbaa !5
  %4328 = load i32, ptr %1491, align 4, !tbaa !5
  %4329 = icmp eq i32 %4328, 402653194
  br i1 %4329, label %4352, label %4330

4330:                                             ; preds = %4325
  %4331 = load i32, ptr %1545, align 4, !tbaa !5
  %4332 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4333 = call i32 @s2n_print_stacktrace(ptr noundef %4332) #12
  %4334 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4335 = trunc nuw i8 %4334 to i1
  br i1 %4335, label %4336, label %4340

4336:                                             ; preds = %4330
  %4337 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4338 = call i32 @fileno(ptr noundef %4337) #12
  %4339 = call i32 @isatty(i32 noundef %4338) #12
  %.not1160 = icmp eq i32 %4339, 0
  br i1 %.not1160, label %4340, label %4341

4340:                                             ; preds = %4336, %4330
  br label %4341

4341:                                             ; preds = %4336, %4340
  %.str.12.sink3055 = phi ptr [ @.str.12, %4340 ], [ @.str.9, %4336 ]
  store i32 %4331, ptr %1545, align 4, !tbaa !5
  %4342 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4343 = load i32, ptr @test_count, align 4, !tbaa !5
  %4344 = load i32, ptr %1491, align 4, !tbaa !5
  %4345 = call ptr @s2n_strerror(i32 noundef %4344, ptr noundef nonnull @.str.11) #12
  %4346 = load i32, ptr %1491, align 4, !tbaa !5
  %4347 = call ptr @s2n_strerror_debug(i32 noundef %4346, ptr noundef nonnull @.str.11) #12
  %4348 = load i32, ptr %1545, align 4, !tbaa !5
  %4349 = call ptr @strerror(i32 noundef %4348) #12
  %4350 = load i32, ptr %1545, align 4, !tbaa !5
  %4351 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4342, ptr noundef nonnull %.str.12.sink3055, i32 noundef %4343, ptr noundef nonnull @.str.100, ptr noundef nonnull @.str.8, i32 noundef 451, ptr noundef %4345, ptr noundef %4347, ptr noundef %4349, i32 noundef %4350) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4352:                                             ; preds = %4325
  %4353 = add nsw i32 %4326, 2
  store i32 %4353, ptr @test_count, align 4, !tbaa !5
  %4354 = call ptr @s2n_strerror_debug(i32 noundef 402653194, ptr noundef nonnull @.str.11) #12
  %4355 = icmp eq ptr %4354, null
  br i1 %4355, label %4356, label %4378

4356:                                             ; preds = %4352
  %4357 = load i32, ptr %1545, align 4, !tbaa !5
  %4358 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4359 = call i32 @s2n_print_stacktrace(ptr noundef %4358) #12
  %4360 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4361 = trunc nuw i8 %4360 to i1
  br i1 %4361, label %4362, label %4366

4362:                                             ; preds = %4356
  %4363 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4364 = call i32 @fileno(ptr noundef %4363) #12
  %4365 = call i32 @isatty(i32 noundef %4364) #12
  %.not1431 = icmp eq i32 %4365, 0
  br i1 %.not1431, label %4366, label %4367

4366:                                             ; preds = %4362, %4356
  br label %4367

4367:                                             ; preds = %4362, %4366
  %.str.12.sink3064 = phi ptr [ @.str.12, %4366 ], [ @.str.9, %4362 ]
  store i32 %4357, ptr %1545, align 4, !tbaa !5
  %4368 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4369 = load i32, ptr @test_count, align 4, !tbaa !5
  %4370 = load i32, ptr %1491, align 4, !tbaa !5
  %4371 = call ptr @s2n_strerror(i32 noundef %4370, ptr noundef nonnull @.str.11) #12
  %4372 = load i32, ptr %1491, align 4, !tbaa !5
  %4373 = call ptr @s2n_strerror_debug(i32 noundef %4372, ptr noundef nonnull @.str.11) #12
  %4374 = load i32, ptr %1545, align 4, !tbaa !5
  %4375 = call ptr @strerror(i32 noundef %4374) #12
  %4376 = load i32, ptr %1545, align 4, !tbaa !5
  %4377 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4368, ptr noundef nonnull %.str.12.sink3064, i32 noundef %4369, ptr noundef nonnull @.str.54, ptr noundef nonnull @.str.8, i32 noundef 451, ptr noundef %4371, ptr noundef %4373, ptr noundef %4375, i32 noundef %4376) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4378:                                             ; preds = %4352
  store i32 0, ptr %1491, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %1545, align 4, !tbaa !5
  store i8 0, ptr %4141, align 8, !tbaa !62
  %4379 = load i32, ptr @test_count, align 4, !tbaa !5
  %4380 = add nsw i32 %4379, 1
  store i32 %4380, ptr @test_count, align 4, !tbaa !5
  %4381 = call i32 @s2n_realloc(ptr noundef nonnull %4035, i32 noundef 1) #12
  %4382 = icmp eq i32 %4381, -1
  br i1 %4382, label %4383, label %4405

4383:                                             ; preds = %4378
  %4384 = load i32, ptr %1545, align 4, !tbaa !5
  %4385 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4386 = call i32 @s2n_print_stacktrace(ptr noundef %4385) #12
  %4387 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4388 = trunc nuw i8 %4387 to i1
  br i1 %4388, label %4389, label %4393

4389:                                             ; preds = %4383
  %4390 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4391 = call i32 @fileno(ptr noundef %4390) #12
  %4392 = call i32 @isatty(i32 noundef %4391) #12
  %.not1430 = icmp eq i32 %4392, 0
  br i1 %.not1430, label %4393, label %4394

4393:                                             ; preds = %4389, %4383
  br label %4394

4394:                                             ; preds = %4389, %4393
  %.str.12.sink3073 = phi ptr [ @.str.12, %4393 ], [ @.str.9, %4389 ]
  store i32 %4384, ptr %1545, align 4, !tbaa !5
  %4395 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4396 = load i32, ptr @test_count, align 4, !tbaa !5
  %4397 = load i32, ptr %1491, align 4, !tbaa !5
  %4398 = call ptr @s2n_strerror(i32 noundef %4397, ptr noundef nonnull @.str.11) #12
  %4399 = load i32, ptr %1491, align 4, !tbaa !5
  %4400 = call ptr @s2n_strerror_debug(i32 noundef %4399, ptr noundef nonnull @.str.11) #12
  %4401 = load i32, ptr %1545, align 4, !tbaa !5
  %4402 = call ptr @strerror(i32 noundef %4401) #12
  %4403 = load i32, ptr %1545, align 4, !tbaa !5
  %4404 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4395, ptr noundef nonnull %.str.12.sink3073, i32 noundef %4396, ptr noundef nonnull @.str.101, ptr noundef nonnull @.str.8, i32 noundef 457, ptr noundef %4398, ptr noundef %4400, ptr noundef %4402, i32 noundef %4403) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4405:                                             ; preds = %4378
  %4406 = load i32, ptr @test_count, align 4, !tbaa !5
  %4407 = add nsw i32 %4406, 1
  store i32 %4407, ptr @test_count, align 4, !tbaa !5
  %4408 = call i32 @s2n_connection_set_max_fragment_length(ptr noundef nonnull %3953, i16 noundef zeroext 16384) #12
  %4409 = call zeroext i1 @s2n_result_is_ok(i32 %4408)
  br i1 %4409, label %4432, label %4410

4410:                                             ; preds = %4405
  %4411 = load i32, ptr %1545, align 4, !tbaa !5
  %4412 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4413 = call i32 @s2n_print_stacktrace(ptr noundef %4412) #12
  %4414 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4415 = trunc nuw i8 %4414 to i1
  br i1 %4415, label %4416, label %4420

4416:                                             ; preds = %4410
  %4417 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4418 = call i32 @fileno(ptr noundef %4417) #12
  %4419 = call i32 @isatty(i32 noundef %4418) #12
  %.not1161 = icmp eq i32 %4419, 0
  br i1 %.not1161, label %4420, label %4421

4420:                                             ; preds = %4416, %4410
  br label %4421

4421:                                             ; preds = %4416, %4420
  %.str.12.sink3082 = phi ptr [ @.str.12, %4420 ], [ @.str.9, %4416 ]
  store i32 %4411, ptr %1545, align 4, !tbaa !5
  %4422 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4423 = load i32, ptr @test_count, align 4, !tbaa !5
  %4424 = load i32, ptr %1491, align 4, !tbaa !5
  %4425 = call ptr @s2n_strerror(i32 noundef %4424, ptr noundef nonnull @.str.11) #12
  %4426 = load i32, ptr %1491, align 4, !tbaa !5
  %4427 = call ptr @s2n_strerror_debug(i32 noundef %4426, ptr noundef nonnull @.str.11) #12
  %4428 = load i32, ptr %1545, align 4, !tbaa !5
  %4429 = call ptr @strerror(i32 noundef %4428) #12
  %4430 = load i32, ptr %1545, align 4, !tbaa !5
  %4431 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4422, ptr noundef nonnull %.str.12.sink3082, i32 noundef %4423, ptr noundef nonnull @.str.102, ptr noundef nonnull @.str.8, i32 noundef 458, ptr noundef %4425, ptr noundef %4427, ptr noundef %4429, i32 noundef %4430) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4432:                                             ; preds = %4405
  %4433 = load i32, ptr @test_count, align 4, !tbaa !5
  %4434 = add nsw i32 %4433, 1
  store i32 %4434, ptr @test_count, align 4, !tbaa !5
  %4435 = load i16, ptr %3980, align 8, !tbaa !60
  %4436 = icmp eq i16 %4435, 16384
  br i1 %4436, label %4459, label %4437

4437:                                             ; preds = %4432
  %4438 = load i32, ptr %1545, align 4, !tbaa !5
  %4439 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4440 = call i32 @s2n_print_stacktrace(ptr noundef %4439) #12
  %4441 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4442 = trunc nuw i8 %4441 to i1
  br i1 %4442, label %4443, label %4447

4443:                                             ; preds = %4437
  %4444 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4445 = call i32 @fileno(ptr noundef %4444) #12
  %4446 = call i32 @isatty(i32 noundef %4445) #12
  %.not1162 = icmp eq i32 %4446, 0
  br i1 %.not1162, label %4447, label %4448

4447:                                             ; preds = %4443, %4437
  br label %4448

4448:                                             ; preds = %4443, %4447
  %.str.12.sink3091 = phi ptr [ @.str.12, %4447 ], [ @.str.9, %4443 ]
  store i32 %4438, ptr %1545, align 4, !tbaa !5
  %4449 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4450 = load i32, ptr @test_count, align 4, !tbaa !5
  %4451 = load i32, ptr %1491, align 4, !tbaa !5
  %4452 = call ptr @s2n_strerror(i32 noundef %4451, ptr noundef nonnull @.str.11) #12
  %4453 = load i32, ptr %1491, align 4, !tbaa !5
  %4454 = call ptr @s2n_strerror_debug(i32 noundef %4453, ptr noundef nonnull @.str.11) #12
  %4455 = load i32, ptr %1545, align 4, !tbaa !5
  %4456 = call ptr @strerror(i32 noundef %4455) #12
  %4457 = load i32, ptr %1545, align 4, !tbaa !5
  %4458 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4449, ptr noundef nonnull %.str.12.sink3091, i32 noundef %4450, ptr noundef nonnull @.str.103, ptr noundef nonnull @.str.8, i32 noundef 459, ptr noundef %4452, ptr noundef %4454, ptr noundef %4456, i32 noundef %4457) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4459:                                             ; preds = %4432
  %4460 = add nsw i32 %4433, 2
  store i32 %4460, ptr @test_count, align 4, !tbaa !5
  %4461 = load i32, ptr %4036, align 8, !tbaa !61
  %4462 = icmp eq i32 %4461, 17413
  br i1 %4462, label %4485, label %4463

4463:                                             ; preds = %4459
  %4464 = load i32, ptr %1545, align 4, !tbaa !5
  %4465 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4466 = call i32 @s2n_print_stacktrace(ptr noundef %4465) #12
  %4467 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4468 = trunc nuw i8 %4467 to i1
  br i1 %4468, label %4469, label %4473

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

4473:                                             ; preds = %4469, %4463
  br label %4474

4474:                                             ; preds = %4469, %4473
  %.str.12.sink3100 = phi ptr [ @.str.12, %4473 ], [ @.str.9, %4469 ]
  store i32 %4464, ptr %1545, align 4, !tbaa !5
  %4475 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4476 = load i32, ptr @test_count, align 4, !tbaa !5
  %4477 = load i32, ptr %1491, align 4, !tbaa !5
  %4478 = call ptr @s2n_strerror(i32 noundef %4477, ptr noundef nonnull @.str.11) #12
  %4479 = load i32, ptr %1491, align 4, !tbaa !5
  %4480 = call ptr @s2n_strerror_debug(i32 noundef %4479, ptr noundef nonnull @.str.11) #12
  %4481 = load i32, ptr %1545, align 4, !tbaa !5
  %4482 = call ptr @strerror(i32 noundef %4481) #12
  %4483 = load i32, ptr %1545, align 4, !tbaa !5
  %4484 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4475, ptr noundef nonnull %.str.12.sink3100, i32 noundef %4476, ptr noundef nonnull @.str.104, ptr noundef nonnull @.str.8, i32 noundef 460, ptr noundef %4478, ptr noundef %4480, ptr noundef %4482, i32 noundef %4483) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4485:                                             ; preds = %4459
  %4486 = add nsw i32 %4433, 3
  store i32 %4486, ptr @test_count, align 4, !tbaa !5
  %4487 = call i32 @s2n_free(ptr noundef nonnull %4035) #12
  %4488 = icmp eq i32 %4487, -1
  br i1 %4488, label %4489, label %4511

4489:                                             ; preds = %4485
  %4490 = load i32, ptr %1545, align 4, !tbaa !5
  %4491 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4492 = call i32 @s2n_print_stacktrace(ptr noundef %4491) #12
  %4493 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4494 = trunc nuw i8 %4493 to i1
  br i1 %4494, label %4495, label %4499

4495:                                             ; preds = %4489
  %4496 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4497 = call i32 @fileno(ptr noundef %4496) #12
  %4498 = call i32 @isatty(i32 noundef %4497) #12
  %.not1429 = icmp eq i32 %4498, 0
  br i1 %.not1429, label %4499, label %4500

4499:                                             ; preds = %4495, %4489
  br label %4500

4500:                                             ; preds = %4495, %4499
  %.str.12.sink3109 = phi ptr [ @.str.12, %4499 ], [ @.str.9, %4495 ]
  store i32 %4490, ptr %1545, align 4, !tbaa !5
  %4501 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4502 = load i32, ptr @test_count, align 4, !tbaa !5
  %4503 = load i32, ptr %1491, align 4, !tbaa !5
  %4504 = call ptr @s2n_strerror(i32 noundef %4503, ptr noundef nonnull @.str.11) #12
  %4505 = load i32, ptr %1491, align 4, !tbaa !5
  %4506 = call ptr @s2n_strerror_debug(i32 noundef %4505, ptr noundef nonnull @.str.11) #12
  %4507 = load i32, ptr %1545, align 4, !tbaa !5
  %4508 = call ptr @strerror(i32 noundef %4507) #12
  %4509 = load i32, ptr %1545, align 4, !tbaa !5
  %4510 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4501, ptr noundef nonnull %.str.12.sink3109, i32 noundef %4502, ptr noundef nonnull @.str.105, ptr noundef nonnull @.str.8, i32 noundef 461, ptr noundef %4504, ptr noundef %4506, ptr noundef %4508, i32 noundef %4509) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4511:                                             ; preds = %4485
  %4512 = load i32, ptr @test_count, align 4, !tbaa !5
  %4513 = add nsw i32 %4512, 1
  store i32 %4513, ptr @test_count, align 4, !tbaa !5
  %4514 = call i32 @s2n_realloc(ptr noundef nonnull %4035, i32 noundef 65535) #12
  %4515 = icmp eq i32 %4514, -1
  br i1 %4515, label %4516, label %4538

4516:                                             ; preds = %4511
  %4517 = load i32, ptr %1545, align 4, !tbaa !5
  %4518 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4519 = call i32 @s2n_print_stacktrace(ptr noundef %4518) #12
  %4520 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4521 = trunc nuw i8 %4520 to i1
  br i1 %4521, label %4522, label %4526

4522:                                             ; preds = %4516
  %4523 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4524 = call i32 @fileno(ptr noundef %4523) #12
  %4525 = call i32 @isatty(i32 noundef %4524) #12
  %.not1428 = icmp eq i32 %4525, 0
  br i1 %.not1428, label %4526, label %4527

4526:                                             ; preds = %4522, %4516
  br label %4527

4527:                                             ; preds = %4522, %4526
  %.str.12.sink3118 = phi ptr [ @.str.12, %4526 ], [ @.str.9, %4522 ]
  store i32 %4517, ptr %1545, align 4, !tbaa !5
  %4528 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4529 = load i32, ptr @test_count, align 4, !tbaa !5
  %4530 = load i32, ptr %1491, align 4, !tbaa !5
  %4531 = call ptr @s2n_strerror(i32 noundef %4530, ptr noundef nonnull @.str.11) #12
  %4532 = load i32, ptr %1491, align 4, !tbaa !5
  %4533 = call ptr @s2n_strerror_debug(i32 noundef %4532, ptr noundef nonnull @.str.11) #12
  %4534 = load i32, ptr %1545, align 4, !tbaa !5
  %4535 = call ptr @strerror(i32 noundef %4534) #12
  %4536 = load i32, ptr %1545, align 4, !tbaa !5
  %4537 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4528, ptr noundef nonnull %.str.12.sink3118, i32 noundef %4529, ptr noundef nonnull @.str.106, ptr noundef nonnull @.str.8, i32 noundef 466, ptr noundef %4531, ptr noundef %4533, ptr noundef %4535, i32 noundef %4536) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4538:                                             ; preds = %4511
  %4539 = load i32, ptr @test_count, align 4, !tbaa !5
  %4540 = add nsw i32 %4539, 1
  store i32 %4540, ptr @test_count, align 4, !tbaa !5
  %4541 = call i32 @s2n_connection_set_max_fragment_length(ptr noundef nonnull %3953, i16 noundef zeroext 10) #12
  %4542 = call zeroext i1 @s2n_result_is_ok(i32 %4541)
  br i1 %4542, label %4565, label %4543

4543:                                             ; preds = %4538
  %4544 = load i32, ptr %1545, align 4, !tbaa !5
  %4545 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4546 = call i32 @s2n_print_stacktrace(ptr noundef %4545) #12
  %4547 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4548 = trunc nuw i8 %4547 to i1
  br i1 %4548, label %4549, label %4553

4549:                                             ; preds = %4543
  %4550 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4551 = call i32 @fileno(ptr noundef %4550) #12
  %4552 = call i32 @isatty(i32 noundef %4551) #12
  %.not1164 = icmp eq i32 %4552, 0
  br i1 %.not1164, label %4553, label %4554

4553:                                             ; preds = %4549, %4543
  br label %4554

4554:                                             ; preds = %4549, %4553
  %.str.12.sink3127 = phi ptr [ @.str.12, %4553 ], [ @.str.9, %4549 ]
  store i32 %4544, ptr %1545, align 4, !tbaa !5
  %4555 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4556 = load i32, ptr @test_count, align 4, !tbaa !5
  %4557 = load i32, ptr %1491, align 4, !tbaa !5
  %4558 = call ptr @s2n_strerror(i32 noundef %4557, ptr noundef nonnull @.str.11) #12
  %4559 = load i32, ptr %1491, align 4, !tbaa !5
  %4560 = call ptr @s2n_strerror_debug(i32 noundef %4559, ptr noundef nonnull @.str.11) #12
  %4561 = load i32, ptr %1545, align 4, !tbaa !5
  %4562 = call ptr @strerror(i32 noundef %4561) #12
  %4563 = load i32, ptr %1545, align 4, !tbaa !5
  %4564 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4555, ptr noundef nonnull %.str.12.sink3127, i32 noundef %4556, ptr noundef nonnull @.str.96, ptr noundef nonnull @.str.8, i32 noundef 467, ptr noundef %4558, ptr noundef %4560, ptr noundef %4562, i32 noundef %4563) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4565:                                             ; preds = %4538
  %4566 = load i32, ptr @test_count, align 4, !tbaa !5
  %4567 = add nsw i32 %4566, 1
  store i32 %4567, ptr @test_count, align 4, !tbaa !5
  %4568 = load i16, ptr %3980, align 8, !tbaa !60
  %4569 = icmp eq i16 %4568, 10
  br i1 %4569, label %4592, label %4570

4570:                                             ; preds = %4565
  %4571 = load i32, ptr %1545, align 4, !tbaa !5
  %4572 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4573 = call i32 @s2n_print_stacktrace(ptr noundef %4572) #12
  %4574 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4575 = trunc nuw i8 %4574 to i1
  br i1 %4575, label %4576, label %4580

4576:                                             ; preds = %4570
  %4577 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4578 = call i32 @fileno(ptr noundef %4577) #12
  %4579 = call i32 @isatty(i32 noundef %4578) #12
  %.not1165 = icmp eq i32 %4579, 0
  br i1 %.not1165, label %4580, label %4581

4580:                                             ; preds = %4576, %4570
  br label %4581

4581:                                             ; preds = %4576, %4580
  %.str.12.sink3136 = phi ptr [ @.str.12, %4580 ], [ @.str.9, %4576 ]
  store i32 %4571, ptr %1545, align 4, !tbaa !5
  %4582 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4583 = load i32, ptr @test_count, align 4, !tbaa !5
  %4584 = load i32, ptr %1491, align 4, !tbaa !5
  %4585 = call ptr @s2n_strerror(i32 noundef %4584, ptr noundef nonnull @.str.11) #12
  %4586 = load i32, ptr %1491, align 4, !tbaa !5
  %4587 = call ptr @s2n_strerror_debug(i32 noundef %4586, ptr noundef nonnull @.str.11) #12
  %4588 = load i32, ptr %1545, align 4, !tbaa !5
  %4589 = call ptr @strerror(i32 noundef %4588) #12
  %4590 = load i32, ptr %1545, align 4, !tbaa !5
  %4591 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4582, ptr noundef nonnull %.str.12.sink3136, i32 noundef %4583, ptr noundef nonnull @.str.97, ptr noundef nonnull @.str.8, i32 noundef 468, ptr noundef %4585, ptr noundef %4587, ptr noundef %4589, i32 noundef %4590) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4592:                                             ; preds = %4565
  %4593 = add nsw i32 %4566, 2
  store i32 %4593, ptr @test_count, align 4, !tbaa !5
  %4594 = load i32, ptr %4036, align 8, !tbaa !61
  %4595 = icmp eq i32 %4594, 65535
  br i1 %4595, label %4618, label %4596

4596:                                             ; preds = %4592
  %4597 = load i32, ptr %1545, align 4, !tbaa !5
  %4598 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4599 = call i32 @s2n_print_stacktrace(ptr noundef %4598) #12
  %4600 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4601 = trunc nuw i8 %4600 to i1
  br i1 %4601, label %4602, label %4606

4602:                                             ; preds = %4596
  %4603 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4604 = call i32 @fileno(ptr noundef %4603) #12
  %4605 = call i32 @isatty(i32 noundef %4604) #12
  %.not1166 = icmp eq i32 %4605, 0
  br i1 %.not1166, label %4606, label %4607

4606:                                             ; preds = %4602, %4596
  br label %4607

4607:                                             ; preds = %4602, %4606
  %.str.12.sink3145 = phi ptr [ @.str.12, %4606 ], [ @.str.9, %4602 ]
  store i32 %4597, ptr %1545, align 4, !tbaa !5
  %4608 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4609 = load i32, ptr @test_count, align 4, !tbaa !5
  %4610 = load i32, ptr %1491, align 4, !tbaa !5
  %4611 = call ptr @s2n_strerror(i32 noundef %4610, ptr noundef nonnull @.str.11) #12
  %4612 = load i32, ptr %1491, align 4, !tbaa !5
  %4613 = call ptr @s2n_strerror_debug(i32 noundef %4612, ptr noundef nonnull @.str.11) #12
  %4614 = load i32, ptr %1545, align 4, !tbaa !5
  %4615 = call ptr @strerror(i32 noundef %4614) #12
  %4616 = load i32, ptr %1545, align 4, !tbaa !5
  %4617 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4608, ptr noundef nonnull %.str.12.sink3145, i32 noundef %4609, ptr noundef nonnull @.str.107, ptr noundef nonnull @.str.8, i32 noundef 469, ptr noundef %4611, ptr noundef %4613, ptr noundef %4615, i32 noundef %4616) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4618:                                             ; preds = %4592
  %4619 = add nsw i32 %4566, 3
  store i32 %4619, ptr @test_count, align 4, !tbaa !5
  %4620 = call i32 @s2n_free(ptr noundef nonnull %4035) #12
  %4621 = icmp eq i32 %4620, -1
  br i1 %4621, label %4622, label %4644

4622:                                             ; preds = %4618
  %4623 = load i32, ptr %1545, align 4, !tbaa !5
  %4624 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4625 = call i32 @s2n_print_stacktrace(ptr noundef %4624) #12
  %4626 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4627 = trunc nuw i8 %4626 to i1
  br i1 %4627, label %4628, label %4632

4628:                                             ; preds = %4622
  %4629 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4630 = call i32 @fileno(ptr noundef %4629) #12
  %4631 = call i32 @isatty(i32 noundef %4630) #12
  %.not1427 = icmp eq i32 %4631, 0
  br i1 %.not1427, label %4632, label %4633

4632:                                             ; preds = %4628, %4622
  br label %4633

4633:                                             ; preds = %4628, %4632
  %.str.12.sink3154 = phi ptr [ @.str.12, %4632 ], [ @.str.9, %4628 ]
  store i32 %4623, ptr %1545, align 4, !tbaa !5
  %4634 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4635 = load i32, ptr @test_count, align 4, !tbaa !5
  %4636 = load i32, ptr %1491, align 4, !tbaa !5
  %4637 = call ptr @s2n_strerror(i32 noundef %4636, ptr noundef nonnull @.str.11) #12
  %4638 = load i32, ptr %1491, align 4, !tbaa !5
  %4639 = call ptr @s2n_strerror_debug(i32 noundef %4638, ptr noundef nonnull @.str.11) #12
  %4640 = load i32, ptr %1545, align 4, !tbaa !5
  %4641 = call ptr @strerror(i32 noundef %4640) #12
  %4642 = load i32, ptr %1545, align 4, !tbaa !5
  %4643 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4634, ptr noundef nonnull %.str.12.sink3154, i32 noundef %4635, ptr noundef nonnull @.str.105, ptr noundef nonnull @.str.8, i32 noundef 470, ptr noundef %4637, ptr noundef %4639, ptr noundef %4641, i32 noundef %4642) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4644:                                             ; preds = %4618
  %4645 = load i32, ptr @test_count, align 4, !tbaa !5
  %4646 = add nsw i32 %4645, 1
  store i32 %4646, ptr @test_count, align 4, !tbaa !5
  %4647 = call i32 @s2n_connection_free(ptr noundef nonnull %3953) #12
  %4648 = icmp eq i32 %4647, -1
  br i1 %4648, label %4649, label %4671

4649:                                             ; preds = %4644
  %4650 = load i32, ptr %1545, align 4, !tbaa !5
  %4651 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4652 = call i32 @s2n_print_stacktrace(ptr noundef %4651) #12
  %4653 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4654 = trunc nuw i8 %4653 to i1
  br i1 %4654, label %4655, label %4659

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

4659:                                             ; preds = %4655, %4649
  br label %4660

4660:                                             ; preds = %4655, %4659
  %.str.12.sink3163 = phi ptr [ @.str.12, %4659 ], [ @.str.9, %4655 ]
  store i32 %4650, ptr %1545, align 4, !tbaa !5
  %4661 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4662 = load i32, ptr @test_count, align 4, !tbaa !5
  %4663 = load i32, ptr %1491, align 4, !tbaa !5
  %4664 = call ptr @s2n_strerror(i32 noundef %4663, ptr noundef nonnull @.str.11) #12
  %4665 = load i32, ptr %1491, align 4, !tbaa !5
  %4666 = call ptr @s2n_strerror_debug(i32 noundef %4665, ptr noundef nonnull @.str.11) #12
  %4667 = load i32, ptr %1545, align 4, !tbaa !5
  %4668 = call ptr @strerror(i32 noundef %4667) #12
  %4669 = load i32, ptr %1545, align 4, !tbaa !5
  %4670 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4661, ptr noundef nonnull %.str.12.sink3163, i32 noundef %4662, ptr noundef nonnull @.str.25, ptr noundef nonnull @.str.8, i32 noundef 473, ptr noundef %4664, ptr noundef %4666, ptr noundef %4668, i32 noundef %4669) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4671:                                             ; preds = %4644
  %4672 = load i32, ptr @test_count, align 4, !tbaa !5
  %4673 = add nsw i32 %4672, 1
  store i32 %4673, ptr @test_count, align 4, !tbaa !5
  %4674 = call i32 @s2n_connection_set_fd(ptr noundef null, i32 noundef 1) #12
  %4675 = icmp eq i32 %4674, -1
  br i1 %4675, label %4698, label %4676

4676:                                             ; preds = %4671
  %4677 = load i32, ptr %1545, align 4, !tbaa !5
  %4678 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4679 = call i32 @s2n_print_stacktrace(ptr noundef %4678) #12
  %4680 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4681 = trunc nuw i8 %4680 to i1
  br i1 %4681, label %4682, label %4686

4682:                                             ; preds = %4676
  %4683 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4684 = call i32 @fileno(ptr noundef %4683) #12
  %4685 = call i32 @isatty(i32 noundef %4684) #12
  %.not1167 = icmp eq i32 %4685, 0
  br i1 %.not1167, label %4686, label %4687

4686:                                             ; preds = %4682, %4676
  br label %4687

4687:                                             ; preds = %4682, %4686
  %.str.12.sink3172 = phi ptr [ @.str.12, %4686 ], [ @.str.9, %4682 ]
  store i32 %4677, ptr %1545, align 4, !tbaa !5
  %4688 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4689 = load i32, ptr @test_count, align 4, !tbaa !5
  %4690 = load i32, ptr %1491, align 4, !tbaa !5
  %4691 = call ptr @s2n_strerror(i32 noundef %4690, ptr noundef nonnull @.str.11) #12
  %4692 = load i32, ptr %1491, align 4, !tbaa !5
  %4693 = call ptr @s2n_strerror_debug(i32 noundef %4692, ptr noundef nonnull @.str.11) #12
  %4694 = load i32, ptr %1545, align 4, !tbaa !5
  %4695 = call ptr @strerror(i32 noundef %4694) #12
  %4696 = load i32, ptr %1545, align 4, !tbaa !5
  %4697 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4688, ptr noundef nonnull %.str.12.sink3172, i32 noundef %4689, ptr noundef nonnull @.str.108, ptr noundef nonnull @.str.8, i32 noundef 483, ptr noundef %4691, ptr noundef %4693, ptr noundef %4695, i32 noundef %4696) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4698:                                             ; preds = %4671
  %4699 = load i32, ptr @test_count, align 4, !tbaa !5
  %4700 = add nsw i32 %4699, 1
  store i32 %4700, ptr @test_count, align 4, !tbaa !5
  %4701 = load i32, ptr %1491, align 4, !tbaa !5
  %4702 = icmp eq i32 %4701, 402653193
  br i1 %4702, label %4725, label %4703

4703:                                             ; preds = %4698
  %4704 = load i32, ptr %1545, align 4, !tbaa !5
  %4705 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4706 = call i32 @s2n_print_stacktrace(ptr noundef %4705) #12
  %4707 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4708 = trunc nuw i8 %4707 to i1
  br i1 %4708, label %4709, label %4713

4709:                                             ; preds = %4703
  %4710 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4711 = call i32 @fileno(ptr noundef %4710) #12
  %4712 = call i32 @isatty(i32 noundef %4711) #12
  %.not1168 = icmp eq i32 %4712, 0
  br i1 %.not1168, label %4713, label %4714

4713:                                             ; preds = %4709, %4703
  br label %4714

4714:                                             ; preds = %4709, %4713
  %.str.12.sink3181 = phi ptr [ @.str.12, %4713 ], [ @.str.9, %4709 ]
  store i32 %4704, ptr %1545, align 4, !tbaa !5
  %4715 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4716 = load i32, ptr @test_count, align 4, !tbaa !5
  %4717 = load i32, ptr %1491, align 4, !tbaa !5
  %4718 = call ptr @s2n_strerror(i32 noundef %4717, ptr noundef nonnull @.str.11) #12
  %4719 = load i32, ptr %1491, align 4, !tbaa !5
  %4720 = call ptr @s2n_strerror_debug(i32 noundef %4719, ptr noundef nonnull @.str.11) #12
  %4721 = load i32, ptr %1545, align 4, !tbaa !5
  %4722 = call ptr @strerror(i32 noundef %4721) #12
  %4723 = load i32, ptr %1545, align 4, !tbaa !5
  %4724 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4715, ptr noundef nonnull %.str.12.sink3181, i32 noundef %4716, ptr noundef nonnull @.str.91, ptr noundef nonnull @.str.8, i32 noundef 483, ptr noundef %4718, ptr noundef %4720, ptr noundef %4722, i32 noundef %4723) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4725:                                             ; preds = %4698
  %4726 = add nsw i32 %4699, 2
  store i32 %4726, ptr @test_count, align 4, !tbaa !5
  %4727 = call ptr @s2n_strerror_debug(i32 noundef 402653193, ptr noundef nonnull @.str.11) #12
  %4728 = icmp eq ptr %4727, null
  br i1 %4728, label %4729, label %4751

4729:                                             ; preds = %4725
  %4730 = load i32, ptr %1545, align 4, !tbaa !5
  %4731 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4732 = call i32 @s2n_print_stacktrace(ptr noundef %4731) #12
  %4733 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4734 = trunc nuw i8 %4733 to i1
  br i1 %4734, label %4735, label %4739

4735:                                             ; preds = %4729
  %4736 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4737 = call i32 @fileno(ptr noundef %4736) #12
  %4738 = call i32 @isatty(i32 noundef %4737) #12
  %.not1425 = icmp eq i32 %4738, 0
  br i1 %.not1425, label %4739, label %4740

4739:                                             ; preds = %4735, %4729
  br label %4740

4740:                                             ; preds = %4735, %4739
  %.str.12.sink3190 = phi ptr [ @.str.12, %4739 ], [ @.str.9, %4735 ]
  store i32 %4730, ptr %1545, align 4, !tbaa !5
  %4741 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4742 = load i32, ptr @test_count, align 4, !tbaa !5
  %4743 = load i32, ptr %1491, align 4, !tbaa !5
  %4744 = call ptr @s2n_strerror(i32 noundef %4743, ptr noundef nonnull @.str.11) #12
  %4745 = load i32, ptr %1491, align 4, !tbaa !5
  %4746 = call ptr @s2n_strerror_debug(i32 noundef %4745, ptr noundef nonnull @.str.11) #12
  %4747 = load i32, ptr %1545, align 4, !tbaa !5
  %4748 = call ptr @strerror(i32 noundef %4747) #12
  %4749 = load i32, ptr %1545, align 4, !tbaa !5
  %4750 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4741, ptr noundef nonnull %.str.12.sink3190, i32 noundef %4742, ptr noundef nonnull @.str.54, ptr noundef nonnull @.str.8, i32 noundef 483, ptr noundef %4744, ptr noundef %4746, ptr noundef %4748, i32 noundef %4749) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4751:                                             ; preds = %4725
  store i32 0, ptr %1491, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %1545, align 4, !tbaa !5
  %4752 = load i32, ptr @test_count, align 4, !tbaa !5
  %4753 = add nsw i32 %4752, 1
  store i32 %4753, ptr @test_count, align 4, !tbaa !5
  %4754 = call i32 @s2n_connection_set_read_fd(ptr noundef null, i32 noundef 1) #12
  %4755 = icmp eq i32 %4754, -1
  br i1 %4755, label %4778, label %4756

4756:                                             ; preds = %4751
  %4757 = load i32, ptr %1545, align 4, !tbaa !5
  %4758 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4759 = call i32 @s2n_print_stacktrace(ptr noundef %4758) #12
  %4760 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4761 = trunc nuw i8 %4760 to i1
  br i1 %4761, label %4762, label %4766

4762:                                             ; preds = %4756
  %4763 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4764 = call i32 @fileno(ptr noundef %4763) #12
  %4765 = call i32 @isatty(i32 noundef %4764) #12
  %.not1169 = icmp eq i32 %4765, 0
  br i1 %.not1169, label %4766, label %4767

4766:                                             ; preds = %4762, %4756
  br label %4767

4767:                                             ; preds = %4762, %4766
  %.str.12.sink3199 = phi ptr [ @.str.12, %4766 ], [ @.str.9, %4762 ]
  store i32 %4757, ptr %1545, align 4, !tbaa !5
  %4768 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4769 = load i32, ptr @test_count, align 4, !tbaa !5
  %4770 = load i32, ptr %1491, align 4, !tbaa !5
  %4771 = call ptr @s2n_strerror(i32 noundef %4770, ptr noundef nonnull @.str.11) #12
  %4772 = load i32, ptr %1491, align 4, !tbaa !5
  %4773 = call ptr @s2n_strerror_debug(i32 noundef %4772, ptr noundef nonnull @.str.11) #12
  %4774 = load i32, ptr %1545, align 4, !tbaa !5
  %4775 = call ptr @strerror(i32 noundef %4774) #12
  %4776 = load i32, ptr %1545, align 4, !tbaa !5
  %4777 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4768, ptr noundef nonnull %.str.12.sink3199, i32 noundef %4769, ptr noundef nonnull @.str.109, ptr noundef nonnull @.str.8, i32 noundef 484, ptr noundef %4771, ptr noundef %4773, ptr noundef %4775, i32 noundef %4776) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4778:                                             ; preds = %4751
  %4779 = load i32, ptr @test_count, align 4, !tbaa !5
  %4780 = add nsw i32 %4779, 1
  store i32 %4780, ptr @test_count, align 4, !tbaa !5
  %4781 = load i32, ptr %1491, align 4, !tbaa !5
  %4782 = icmp eq i32 %4781, 402653193
  br i1 %4782, label %4805, label %4783

4783:                                             ; preds = %4778
  %4784 = load i32, ptr %1545, align 4, !tbaa !5
  %4785 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4786 = call i32 @s2n_print_stacktrace(ptr noundef %4785) #12
  %4787 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4788 = trunc nuw i8 %4787 to i1
  br i1 %4788, label %4789, label %4793

4789:                                             ; preds = %4783
  %4790 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4791 = call i32 @fileno(ptr noundef %4790) #12
  %4792 = call i32 @isatty(i32 noundef %4791) #12
  %.not1170 = icmp eq i32 %4792, 0
  br i1 %.not1170, label %4793, label %4794

4793:                                             ; preds = %4789, %4783
  br label %4794

4794:                                             ; preds = %4789, %4793
  %.str.12.sink3208 = phi ptr [ @.str.12, %4793 ], [ @.str.9, %4789 ]
  store i32 %4784, ptr %1545, align 4, !tbaa !5
  %4795 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4796 = load i32, ptr @test_count, align 4, !tbaa !5
  %4797 = load i32, ptr %1491, align 4, !tbaa !5
  %4798 = call ptr @s2n_strerror(i32 noundef %4797, ptr noundef nonnull @.str.11) #12
  %4799 = load i32, ptr %1491, align 4, !tbaa !5
  %4800 = call ptr @s2n_strerror_debug(i32 noundef %4799, ptr noundef nonnull @.str.11) #12
  %4801 = load i32, ptr %1545, align 4, !tbaa !5
  %4802 = call ptr @strerror(i32 noundef %4801) #12
  %4803 = load i32, ptr %1545, align 4, !tbaa !5
  %4804 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4795, ptr noundef nonnull %.str.12.sink3208, i32 noundef %4796, ptr noundef nonnull @.str.91, ptr noundef nonnull @.str.8, i32 noundef 484, ptr noundef %4798, ptr noundef %4800, ptr noundef %4802, i32 noundef %4803) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4805:                                             ; preds = %4778
  %4806 = add nsw i32 %4779, 2
  store i32 %4806, ptr @test_count, align 4, !tbaa !5
  %4807 = call ptr @s2n_strerror_debug(i32 noundef 402653193, ptr noundef nonnull @.str.11) #12
  %4808 = icmp eq ptr %4807, null
  br i1 %4808, label %4809, label %4831

4809:                                             ; preds = %4805
  %4810 = load i32, ptr %1545, align 4, !tbaa !5
  %4811 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4812 = call i32 @s2n_print_stacktrace(ptr noundef %4811) #12
  %4813 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4814 = trunc nuw i8 %4813 to i1
  br i1 %4814, label %4815, label %4819

4815:                                             ; preds = %4809
  %4816 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4817 = call i32 @fileno(ptr noundef %4816) #12
  %4818 = call i32 @isatty(i32 noundef %4817) #12
  %.not1424 = icmp eq i32 %4818, 0
  br i1 %.not1424, label %4819, label %4820

4819:                                             ; preds = %4815, %4809
  br label %4820

4820:                                             ; preds = %4815, %4819
  %.str.12.sink3217 = phi ptr [ @.str.12, %4819 ], [ @.str.9, %4815 ]
  store i32 %4810, ptr %1545, align 4, !tbaa !5
  %4821 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4822 = load i32, ptr @test_count, align 4, !tbaa !5
  %4823 = load i32, ptr %1491, align 4, !tbaa !5
  %4824 = call ptr @s2n_strerror(i32 noundef %4823, ptr noundef nonnull @.str.11) #12
  %4825 = load i32, ptr %1491, align 4, !tbaa !5
  %4826 = call ptr @s2n_strerror_debug(i32 noundef %4825, ptr noundef nonnull @.str.11) #12
  %4827 = load i32, ptr %1545, align 4, !tbaa !5
  %4828 = call ptr @strerror(i32 noundef %4827) #12
  %4829 = load i32, ptr %1545, align 4, !tbaa !5
  %4830 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4821, ptr noundef nonnull %.str.12.sink3217, i32 noundef %4822, ptr noundef nonnull @.str.54, ptr noundef nonnull @.str.8, i32 noundef 484, ptr noundef %4824, ptr noundef %4826, ptr noundef %4828, i32 noundef %4829) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4831:                                             ; preds = %4805
  store i32 0, ptr %1491, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %1545, align 4, !tbaa !5
  %4832 = load i32, ptr @test_count, align 4, !tbaa !5
  %4833 = add nsw i32 %4832, 1
  store i32 %4833, ptr @test_count, align 4, !tbaa !5
  %4834 = call i32 @s2n_connection_set_write_fd(ptr noundef null, i32 noundef 2) #12
  %4835 = icmp eq i32 %4834, -1
  br i1 %4835, label %4858, label %4836

4836:                                             ; preds = %4831
  %4837 = load i32, ptr %1545, align 4, !tbaa !5
  %4838 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4839 = call i32 @s2n_print_stacktrace(ptr noundef %4838) #12
  %4840 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4841 = trunc nuw i8 %4840 to i1
  br i1 %4841, label %4842, label %4846

4842:                                             ; preds = %4836
  %4843 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4844 = call i32 @fileno(ptr noundef %4843) #12
  %4845 = call i32 @isatty(i32 noundef %4844) #12
  %.not1171 = icmp eq i32 %4845, 0
  br i1 %.not1171, label %4846, label %4847

4846:                                             ; preds = %4842, %4836
  br label %4847

4847:                                             ; preds = %4842, %4846
  %.str.12.sink3226 = phi ptr [ @.str.12, %4846 ], [ @.str.9, %4842 ]
  store i32 %4837, ptr %1545, align 4, !tbaa !5
  %4848 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4849 = load i32, ptr @test_count, align 4, !tbaa !5
  %4850 = load i32, ptr %1491, align 4, !tbaa !5
  %4851 = call ptr @s2n_strerror(i32 noundef %4850, ptr noundef nonnull @.str.11) #12
  %4852 = load i32, ptr %1491, align 4, !tbaa !5
  %4853 = call ptr @s2n_strerror_debug(i32 noundef %4852, ptr noundef nonnull @.str.11) #12
  %4854 = load i32, ptr %1545, align 4, !tbaa !5
  %4855 = call ptr @strerror(i32 noundef %4854) #12
  %4856 = load i32, ptr %1545, align 4, !tbaa !5
  %4857 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4848, ptr noundef nonnull %.str.12.sink3226, i32 noundef %4849, ptr noundef nonnull @.str.110, ptr noundef nonnull @.str.8, i32 noundef 485, ptr noundef %4851, ptr noundef %4853, ptr noundef %4855, i32 noundef %4856) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4858:                                             ; preds = %4831
  %4859 = load i32, ptr @test_count, align 4, !tbaa !5
  %4860 = add nsw i32 %4859, 1
  store i32 %4860, ptr @test_count, align 4, !tbaa !5
  %4861 = load i32, ptr %1491, align 4, !tbaa !5
  %4862 = icmp eq i32 %4861, 402653193
  br i1 %4862, label %4885, label %4863

4863:                                             ; preds = %4858
  %4864 = load i32, ptr %1545, align 4, !tbaa !5
  %4865 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4866 = call i32 @s2n_print_stacktrace(ptr noundef %4865) #12
  %4867 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4868 = trunc nuw i8 %4867 to i1
  br i1 %4868, label %4869, label %4873

4869:                                             ; preds = %4863
  %4870 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4871 = call i32 @fileno(ptr noundef %4870) #12
  %4872 = call i32 @isatty(i32 noundef %4871) #12
  %.not1172 = icmp eq i32 %4872, 0
  br i1 %.not1172, label %4873, label %4874

4873:                                             ; preds = %4869, %4863
  br label %4874

4874:                                             ; preds = %4869, %4873
  %.str.12.sink3235 = phi ptr [ @.str.12, %4873 ], [ @.str.9, %4869 ]
  store i32 %4864, ptr %1545, align 4, !tbaa !5
  %4875 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4876 = load i32, ptr @test_count, align 4, !tbaa !5
  %4877 = load i32, ptr %1491, align 4, !tbaa !5
  %4878 = call ptr @s2n_strerror(i32 noundef %4877, ptr noundef nonnull @.str.11) #12
  %4879 = load i32, ptr %1491, align 4, !tbaa !5
  %4880 = call ptr @s2n_strerror_debug(i32 noundef %4879, ptr noundef nonnull @.str.11) #12
  %4881 = load i32, ptr %1545, align 4, !tbaa !5
  %4882 = call ptr @strerror(i32 noundef %4881) #12
  %4883 = load i32, ptr %1545, align 4, !tbaa !5
  %4884 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4875, ptr noundef nonnull %.str.12.sink3235, i32 noundef %4876, ptr noundef nonnull @.str.91, ptr noundef nonnull @.str.8, i32 noundef 485, ptr noundef %4878, ptr noundef %4880, ptr noundef %4882, i32 noundef %4883) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4885:                                             ; preds = %4858
  %4886 = add nsw i32 %4859, 2
  store i32 %4886, ptr @test_count, align 4, !tbaa !5
  %4887 = call ptr @s2n_strerror_debug(i32 noundef 402653193, ptr noundef nonnull @.str.11) #12
  %4888 = icmp eq ptr %4887, null
  br i1 %4888, label %4889, label %4911

4889:                                             ; preds = %4885
  %4890 = load i32, ptr %1545, align 4, !tbaa !5
  %4891 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4892 = call i32 @s2n_print_stacktrace(ptr noundef %4891) #12
  %4893 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4894 = trunc nuw i8 %4893 to i1
  br i1 %4894, label %4895, label %4899

4895:                                             ; preds = %4889
  %4896 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4897 = call i32 @fileno(ptr noundef %4896) #12
  %4898 = call i32 @isatty(i32 noundef %4897) #12
  %.not1423 = icmp eq i32 %4898, 0
  br i1 %.not1423, label %4899, label %4900

4899:                                             ; preds = %4895, %4889
  br label %4900

4900:                                             ; preds = %4895, %4899
  %.str.12.sink3244 = phi ptr [ @.str.12, %4899 ], [ @.str.9, %4895 ]
  store i32 %4890, ptr %1545, align 4, !tbaa !5
  %4901 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4902 = load i32, ptr @test_count, align 4, !tbaa !5
  %4903 = load i32, ptr %1491, align 4, !tbaa !5
  %4904 = call ptr @s2n_strerror(i32 noundef %4903, ptr noundef nonnull @.str.11) #12
  %4905 = load i32, ptr %1491, align 4, !tbaa !5
  %4906 = call ptr @s2n_strerror_debug(i32 noundef %4905, ptr noundef nonnull @.str.11) #12
  %4907 = load i32, ptr %1545, align 4, !tbaa !5
  %4908 = call ptr @strerror(i32 noundef %4907) #12
  %4909 = load i32, ptr %1545, align 4, !tbaa !5
  %4910 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4901, ptr noundef nonnull %.str.12.sink3244, i32 noundef %4902, ptr noundef nonnull @.str.54, ptr noundef nonnull @.str.8, i32 noundef 485, ptr noundef %4904, ptr noundef %4906, ptr noundef %4908, i32 noundef %4909) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4911:                                             ; preds = %4885
  store i32 0, ptr %1491, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %1545, align 4, !tbaa !5
  %4912 = load i32, ptr @test_count, align 4, !tbaa !5
  %4913 = add nsw i32 %4912, 1
  store i32 %4913, ptr @test_count, align 4, !tbaa !5
  %4914 = call i32 @s2n_connection_get_write_fd(ptr noundef null, ptr noundef nonnull @main.getWriteFd) #12
  %4915 = icmp eq i32 %4914, -1
  br i1 %4915, label %4938, label %4916

4916:                                             ; preds = %4911
  %4917 = load i32, ptr %1545, 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
  %.not1173 = icmp eq i32 %4925, 0
  br i1 %.not1173, label %4926, label %4927

4926:                                             ; preds = %4922, %4916
  br label %4927

4927:                                             ; preds = %4922, %4926
  %.str.12.sink3253 = phi ptr [ @.str.12, %4926 ], [ @.str.9, %4922 ]
  store i32 %4917, ptr %1545, 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 %1491, align 4, !tbaa !5
  %4931 = call ptr @s2n_strerror(i32 noundef %4930, ptr noundef nonnull @.str.11) #12
  %4932 = load i32, ptr %1491, align 4, !tbaa !5
  %4933 = call ptr @s2n_strerror_debug(i32 noundef %4932, ptr noundef nonnull @.str.11) #12
  %4934 = load i32, ptr %1545, align 4, !tbaa !5
  %4935 = call ptr @strerror(i32 noundef %4934) #12
  %4936 = load i32, ptr %1545, align 4, !tbaa !5
  %4937 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4928, ptr noundef nonnull %.str.12.sink3253, i32 noundef %4929, ptr noundef nonnull @.str.111, ptr noundef nonnull @.str.8, i32 noundef 486, ptr noundef %4931, ptr noundef %4933, ptr noundef %4935, i32 noundef %4936) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4938:                                             ; preds = %4911
  %4939 = load i32, ptr @test_count, align 4, !tbaa !5
  %4940 = add nsw i32 %4939, 1
  store i32 %4940, ptr @test_count, align 4, !tbaa !5
  %4941 = load i32, ptr %1491, align 4, !tbaa !5
  %4942 = icmp eq i32 %4941, 402653193
  br i1 %4942, label %4965, label %4943

4943:                                             ; preds = %4938
  %4944 = load i32, ptr %1545, align 4, !tbaa !5
  %4945 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4946 = call i32 @s2n_print_stacktrace(ptr noundef %4945) #12
  %4947 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4948 = trunc nuw i8 %4947 to i1
  br i1 %4948, label %4949, label %4953

4949:                                             ; preds = %4943
  %4950 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4951 = call i32 @fileno(ptr noundef %4950) #12
  %4952 = call i32 @isatty(i32 noundef %4951) #12
  %.not1174 = icmp eq i32 %4952, 0
  br i1 %.not1174, label %4953, label %4954

4953:                                             ; preds = %4949, %4943
  br label %4954

4954:                                             ; preds = %4949, %4953
  %.str.12.sink3262 = phi ptr [ @.str.12, %4953 ], [ @.str.9, %4949 ]
  store i32 %4944, ptr %1545, align 4, !tbaa !5
  %4955 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4956 = load i32, ptr @test_count, align 4, !tbaa !5
  %4957 = load i32, ptr %1491, align 4, !tbaa !5
  %4958 = call ptr @s2n_strerror(i32 noundef %4957, ptr noundef nonnull @.str.11) #12
  %4959 = load i32, ptr %1491, align 4, !tbaa !5
  %4960 = call ptr @s2n_strerror_debug(i32 noundef %4959, ptr noundef nonnull @.str.11) #12
  %4961 = load i32, ptr %1545, align 4, !tbaa !5
  %4962 = call ptr @strerror(i32 noundef %4961) #12
  %4963 = load i32, ptr %1545, align 4, !tbaa !5
  %4964 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4955, ptr noundef nonnull %.str.12.sink3262, i32 noundef %4956, ptr noundef nonnull @.str.91, ptr noundef nonnull @.str.8, i32 noundef 486, ptr noundef %4958, ptr noundef %4960, ptr noundef %4962, i32 noundef %4963) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4965:                                             ; preds = %4938
  %4966 = add nsw i32 %4939, 2
  store i32 %4966, ptr @test_count, align 4, !tbaa !5
  %4967 = call ptr @s2n_strerror_debug(i32 noundef 402653193, ptr noundef nonnull @.str.11) #12
  %4968 = icmp eq ptr %4967, null
  br i1 %4968, label %4969, label %4991

4969:                                             ; preds = %4965
  %4970 = load i32, ptr %1545, 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
  %.not1422 = icmp eq i32 %4978, 0
  br i1 %.not1422, label %4979, label %4980

4979:                                             ; preds = %4975, %4969
  br label %4980

4980:                                             ; preds = %4975, %4979
  %.str.12.sink3271 = phi ptr [ @.str.12, %4979 ], [ @.str.9, %4975 ]
  store i32 %4970, ptr %1545, 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 %1491, align 4, !tbaa !5
  %4984 = call ptr @s2n_strerror(i32 noundef %4983, ptr noundef nonnull @.str.11) #12
  %4985 = load i32, ptr %1491, align 4, !tbaa !5
  %4986 = call ptr @s2n_strerror_debug(i32 noundef %4985, ptr noundef nonnull @.str.11) #12
  %4987 = load i32, ptr %1545, align 4, !tbaa !5
  %4988 = call ptr @strerror(i32 noundef %4987) #12
  %4989 = load i32, ptr %1545, align 4, !tbaa !5
  %4990 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4981, ptr noundef nonnull %.str.12.sink3271, i32 noundef %4982, ptr noundef nonnull @.str.54, ptr noundef nonnull @.str.8, i32 noundef 486, ptr noundef %4984, ptr noundef %4986, ptr noundef %4988, i32 noundef %4989) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4991:                                             ; preds = %4965
  store i32 0, ptr %1491, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %1545, align 4, !tbaa !5
  %4992 = load i32, ptr @test_count, align 4, !tbaa !5
  %4993 = add nsw i32 %4992, 1
  store i32 %4993, ptr @test_count, align 4, !tbaa !5
  %4994 = call i32 @s2n_connection_get_read_fd(ptr noundef null, ptr noundef nonnull @main.getReadFd) #12
  %4995 = icmp eq i32 %4994, -1
  br i1 %4995, label %5018, label %4996

4996:                                             ; preds = %4991
  %4997 = load i32, ptr %1545, align 4, !tbaa !5
  %4998 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4999 = call i32 @s2n_print_stacktrace(ptr noundef %4998) #12
  %5000 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5001 = trunc nuw i8 %5000 to i1
  br i1 %5001, label %5002, label %5006

5002:                                             ; preds = %4996
  %5003 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5004 = call i32 @fileno(ptr noundef %5003) #12
  %5005 = call i32 @isatty(i32 noundef %5004) #12
  %.not1175 = icmp eq i32 %5005, 0
  br i1 %.not1175, label %5006, label %5007

5006:                                             ; preds = %5002, %4996
  br label %5007

5007:                                             ; preds = %5002, %5006
  %.str.12.sink3280 = phi ptr [ @.str.12, %5006 ], [ @.str.9, %5002 ]
  store i32 %4997, ptr %1545, align 4, !tbaa !5
  %5008 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5009 = load i32, ptr @test_count, align 4, !tbaa !5
  %5010 = load i32, ptr %1491, align 4, !tbaa !5
  %5011 = call ptr @s2n_strerror(i32 noundef %5010, ptr noundef nonnull @.str.11) #12
  %5012 = load i32, ptr %1491, align 4, !tbaa !5
  %5013 = call ptr @s2n_strerror_debug(i32 noundef %5012, ptr noundef nonnull @.str.11) #12
  %5014 = load i32, ptr %1545, align 4, !tbaa !5
  %5015 = call ptr @strerror(i32 noundef %5014) #12
  %5016 = load i32, ptr %1545, align 4, !tbaa !5
  %5017 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5008, ptr noundef nonnull %.str.12.sink3280, i32 noundef %5009, ptr noundef nonnull @.str.112, ptr noundef nonnull @.str.8, i32 noundef 487, ptr noundef %5011, ptr noundef %5013, ptr noundef %5015, i32 noundef %5016) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5018:                                             ; preds = %4991
  %5019 = load i32, ptr @test_count, align 4, !tbaa !5
  %5020 = add nsw i32 %5019, 1
  store i32 %5020, ptr @test_count, align 4, !tbaa !5
  %5021 = load i32, ptr %1491, align 4, !tbaa !5
  %5022 = icmp eq i32 %5021, 402653193
  br i1 %5022, label %5045, label %5023

5023:                                             ; preds = %5018
  %5024 = load i32, ptr %1545, align 4, !tbaa !5
  %5025 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5026 = call i32 @s2n_print_stacktrace(ptr noundef %5025) #12
  %5027 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5028 = trunc nuw i8 %5027 to i1
  br i1 %5028, label %5029, label %5033

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

5033:                                             ; preds = %5029, %5023
  br label %5034

5034:                                             ; preds = %5029, %5033
  %.str.12.sink3289 = phi ptr [ @.str.12, %5033 ], [ @.str.9, %5029 ]
  store i32 %5024, ptr %1545, align 4, !tbaa !5
  %5035 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5036 = load i32, ptr @test_count, align 4, !tbaa !5
  %5037 = load i32, ptr %1491, align 4, !tbaa !5
  %5038 = call ptr @s2n_strerror(i32 noundef %5037, ptr noundef nonnull @.str.11) #12
  %5039 = load i32, ptr %1491, align 4, !tbaa !5
  %5040 = call ptr @s2n_strerror_debug(i32 noundef %5039, ptr noundef nonnull @.str.11) #12
  %5041 = load i32, ptr %1545, align 4, !tbaa !5
  %5042 = call ptr @strerror(i32 noundef %5041) #12
  %5043 = load i32, ptr %1545, align 4, !tbaa !5
  %5044 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5035, ptr noundef nonnull %.str.12.sink3289, i32 noundef %5036, ptr noundef nonnull @.str.91, ptr noundef nonnull @.str.8, i32 noundef 487, ptr noundef %5038, ptr noundef %5040, ptr noundef %5042, i32 noundef %5043) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5045:                                             ; preds = %5018
  %5046 = add nsw i32 %5019, 2
  store i32 %5046, ptr @test_count, align 4, !tbaa !5
  %5047 = call ptr @s2n_strerror_debug(i32 noundef 402653193, ptr noundef nonnull @.str.11) #12
  %5048 = icmp eq ptr %5047, null
  br i1 %5048, label %5049, label %5071

5049:                                             ; preds = %5045
  %5050 = load i32, ptr %1545, align 4, !tbaa !5
  %5051 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5052 = call i32 @s2n_print_stacktrace(ptr noundef %5051) #12
  %5053 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5054 = trunc nuw i8 %5053 to i1
  br i1 %5054, label %5055, label %5059

5055:                                             ; preds = %5049
  %5056 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5057 = call i32 @fileno(ptr noundef %5056) #12
  %5058 = call i32 @isatty(i32 noundef %5057) #12
  %.not1421 = icmp eq i32 %5058, 0
  br i1 %.not1421, label %5059, label %5060

5059:                                             ; preds = %5055, %5049
  br label %5060

5060:                                             ; preds = %5055, %5059
  %.str.12.sink3298 = phi ptr [ @.str.12, %5059 ], [ @.str.9, %5055 ]
  store i32 %5050, ptr %1545, align 4, !tbaa !5
  %5061 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5062 = load i32, ptr @test_count, align 4, !tbaa !5
  %5063 = load i32, ptr %1491, align 4, !tbaa !5
  %5064 = call ptr @s2n_strerror(i32 noundef %5063, ptr noundef nonnull @.str.11) #12
  %5065 = load i32, ptr %1491, align 4, !tbaa !5
  %5066 = call ptr @s2n_strerror_debug(i32 noundef %5065, ptr noundef nonnull @.str.11) #12
  %5067 = load i32, ptr %1545, align 4, !tbaa !5
  %5068 = call ptr @strerror(i32 noundef %5067) #12
  %5069 = load i32, ptr %1545, align 4, !tbaa !5
  %5070 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5061, ptr noundef nonnull %.str.12.sink3298, i32 noundef %5062, ptr noundef nonnull @.str.54, ptr noundef nonnull @.str.8, i32 noundef 487, ptr noundef %5064, ptr noundef %5066, ptr noundef %5068, i32 noundef %5069) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5071:                                             ; preds = %5045
  store i32 0, ptr %1491, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %1545, align 4, !tbaa !5
  %5072 = call ptr @s2n_connection_new(i32 noundef 1) #12
  %5073 = load i32, ptr @test_count, align 4, !tbaa !5
  %5074 = add nsw i32 %5073, 1
  store i32 %5074, ptr @test_count, align 4, !tbaa !5
  %5075 = icmp eq ptr %5072, null
  br i1 %5075, label %5076, label %5098

5076:                                             ; preds = %5071
  %5077 = load i32, ptr %1545, align 4, !tbaa !5
  %5078 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5079 = call i32 @s2n_print_stacktrace(ptr noundef %5078) #12
  %5080 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5081 = trunc nuw i8 %5080 to i1
  br i1 %5081, label %5082, label %5086

5082:                                             ; preds = %5076
  %5083 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5084 = call i32 @fileno(ptr noundef %5083) #12
  %5085 = call i32 @isatty(i32 noundef %5084) #12
  %.not1420 = icmp eq i32 %5085, 0
  br i1 %.not1420, label %5086, label %5087

5086:                                             ; preds = %5082, %5076
  br label %5087

5087:                                             ; preds = %5082, %5086
  %.str.12.sink3307 = phi ptr [ @.str.12, %5086 ], [ @.str.9, %5082 ]
  store i32 %5077, ptr %1545, align 4, !tbaa !5
  %5088 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5089 = load i32, ptr @test_count, align 4, !tbaa !5
  %5090 = load i32, ptr %1491, align 4, !tbaa !5
  %5091 = call ptr @s2n_strerror(i32 noundef %5090, ptr noundef nonnull @.str.11) #12
  %5092 = load i32, ptr %1491, align 4, !tbaa !5
  %5093 = call ptr @s2n_strerror_debug(i32 noundef %5092, ptr noundef nonnull @.str.11) #12
  %5094 = load i32, ptr %1545, align 4, !tbaa !5
  %5095 = call ptr @strerror(i32 noundef %5094) #12
  %5096 = load i32, ptr %1545, align 4, !tbaa !5
  %5097 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5088, ptr noundef nonnull %.str.12.sink3307, i32 noundef %5089, ptr noundef nonnull @.str.92, ptr noundef nonnull @.str.8, i32 noundef 490, ptr noundef %5091, ptr noundef %5093, ptr noundef %5095, i32 noundef %5096) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5098:                                             ; preds = %5071
  %5099 = add nsw i32 %5073, 2
  store i32 %5099, ptr @test_count, align 4, !tbaa !5
  %5100 = call i32 @s2n_connection_set_fd(ptr noundef nonnull %5072, i32 noundef 1) #12
  %5101 = icmp eq i32 %5100, -1
  br i1 %5101, label %5102, label %5124

5102:                                             ; preds = %5098
  %5103 = load i32, ptr %1545, align 4, !tbaa !5
  %5104 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5105 = call i32 @s2n_print_stacktrace(ptr noundef %5104) #12
  %5106 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5107 = trunc nuw i8 %5106 to i1
  br i1 %5107, label %5108, label %5112

5108:                                             ; preds = %5102
  %5109 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5110 = call i32 @fileno(ptr noundef %5109) #12
  %5111 = call i32 @isatty(i32 noundef %5110) #12
  %.not1419 = icmp eq i32 %5111, 0
  br i1 %.not1419, label %5112, label %5113

5112:                                             ; preds = %5108, %5102
  br label %5113

5113:                                             ; preds = %5108, %5112
  %.str.12.sink3316 = phi ptr [ @.str.12, %5112 ], [ @.str.9, %5108 ]
  store i32 %5103, ptr %1545, align 4, !tbaa !5
  %5114 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5115 = load i32, ptr @test_count, align 4, !tbaa !5
  %5116 = load i32, ptr %1491, align 4, !tbaa !5
  %5117 = call ptr @s2n_strerror(i32 noundef %5116, ptr noundef nonnull @.str.11) #12
  %5118 = load i32, ptr %1491, align 4, !tbaa !5
  %5119 = call ptr @s2n_strerror_debug(i32 noundef %5118, ptr noundef nonnull @.str.11) #12
  %5120 = load i32, ptr %1545, align 4, !tbaa !5
  %5121 = call ptr @strerror(i32 noundef %5120) #12
  %5122 = load i32, ptr %1545, align 4, !tbaa !5
  %5123 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5114, ptr noundef nonnull %.str.12.sink3316, i32 noundef %5115, ptr noundef nonnull @.str.113, ptr noundef nonnull @.str.8, i32 noundef 493, ptr noundef %5117, ptr noundef %5119, ptr noundef %5121, i32 noundef %5122) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5124:                                             ; preds = %5098
  %5125 = load i32, ptr @test_count, align 4, !tbaa !5
  %5126 = add nsw i32 %5125, 1
  store i32 %5126, ptr @test_count, align 4, !tbaa !5
  %5127 = call i32 @s2n_connection_get_write_fd(ptr noundef nonnull %5072, ptr noundef nonnull @main.getWriteFd) #12
  %5128 = icmp eq i32 %5127, -1
  br i1 %5128, label %5129, label %5151

5129:                                             ; preds = %5124
  %5130 = load i32, ptr %1545, align 4, !tbaa !5
  %5131 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5132 = call i32 @s2n_print_stacktrace(ptr noundef %5131) #12
  %5133 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5134 = trunc nuw i8 %5133 to i1
  br i1 %5134, label %5135, label %5139

5135:                                             ; preds = %5129
  %5136 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5137 = call i32 @fileno(ptr noundef %5136) #12
  %5138 = call i32 @isatty(i32 noundef %5137) #12
  %.not1418 = icmp eq i32 %5138, 0
  br i1 %.not1418, label %5139, label %5140

5139:                                             ; preds = %5135, %5129
  br label %5140

5140:                                             ; preds = %5135, %5139
  %.str.12.sink3325 = phi ptr [ @.str.12, %5139 ], [ @.str.9, %5135 ]
  store i32 %5130, ptr %1545, align 4, !tbaa !5
  %5141 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5142 = load i32, ptr @test_count, align 4, !tbaa !5
  %5143 = load i32, ptr %1491, align 4, !tbaa !5
  %5144 = call ptr @s2n_strerror(i32 noundef %5143, ptr noundef nonnull @.str.11) #12
  %5145 = load i32, ptr %1491, align 4, !tbaa !5
  %5146 = call ptr @s2n_strerror_debug(i32 noundef %5145, ptr noundef nonnull @.str.11) #12
  %5147 = load i32, ptr %1545, align 4, !tbaa !5
  %5148 = call ptr @strerror(i32 noundef %5147) #12
  %5149 = load i32, ptr %1545, align 4, !tbaa !5
  %5150 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5141, ptr noundef nonnull %.str.12.sink3325, i32 noundef %5142, ptr noundef nonnull @.str.114, ptr noundef nonnull @.str.8, i32 noundef 494, ptr noundef %5144, ptr noundef %5146, ptr noundef %5148, i32 noundef %5149) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5151:                                             ; preds = %5124
  %5152 = load i32, ptr @test_count, align 4, !tbaa !5
  %5153 = add nsw i32 %5152, 1
  store i32 %5153, ptr @test_count, align 4, !tbaa !5
  %5154 = call i32 @s2n_connection_get_read_fd(ptr noundef nonnull %5072, ptr noundef nonnull @main.getReadFd) #12
  %5155 = icmp eq i32 %5154, -1
  br i1 %5155, label %5156, label %5178

5156:                                             ; preds = %5151
  %5157 = load i32, ptr %1545, align 4, !tbaa !5
  %5158 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5159 = call i32 @s2n_print_stacktrace(ptr noundef %5158) #12
  %5160 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5161 = trunc nuw i8 %5160 to i1
  br i1 %5161, label %5162, label %5166

5162:                                             ; preds = %5156
  %5163 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5164 = call i32 @fileno(ptr noundef %5163) #12
  %5165 = call i32 @isatty(i32 noundef %5164) #12
  %.not1417 = icmp eq i32 %5165, 0
  br i1 %.not1417, label %5166, label %5167

5166:                                             ; preds = %5162, %5156
  br label %5167

5167:                                             ; preds = %5162, %5166
  %.str.12.sink3334 = phi ptr [ @.str.12, %5166 ], [ @.str.9, %5162 ]
  store i32 %5157, ptr %1545, align 4, !tbaa !5
  %5168 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5169 = load i32, ptr @test_count, align 4, !tbaa !5
  %5170 = load i32, ptr %1491, align 4, !tbaa !5
  %5171 = call ptr @s2n_strerror(i32 noundef %5170, ptr noundef nonnull @.str.11) #12
  %5172 = load i32, ptr %1491, align 4, !tbaa !5
  %5173 = call ptr @s2n_strerror_debug(i32 noundef %5172, ptr noundef nonnull @.str.11) #12
  %5174 = load i32, ptr %1545, align 4, !tbaa !5
  %5175 = call ptr @strerror(i32 noundef %5174) #12
  %5176 = load i32, ptr %1545, align 4, !tbaa !5
  %5177 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5168, ptr noundef nonnull %.str.12.sink3334, i32 noundef %5169, ptr noundef nonnull @.str.115, ptr noundef nonnull @.str.8, i32 noundef 495, ptr noundef %5171, ptr noundef %5173, ptr noundef %5175, i32 noundef %5176) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5178:                                             ; preds = %5151
  %5179 = load i32, ptr @test_count, align 4, !tbaa !5
  %5180 = add nsw i32 %5179, 1
  store i32 %5180, ptr @test_count, align 4, !tbaa !5
  %5181 = load i32, ptr @main.getReadFd, align 4, !tbaa !5
  %5182 = icmp eq i32 %5181, 1
  br i1 %5182, label %5205, label %5183

5183:                                             ; preds = %5178
  %5184 = load i32, ptr %1545, align 4, !tbaa !5
  %5185 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5186 = call i32 @s2n_print_stacktrace(ptr noundef %5185) #12
  %5187 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5188 = trunc nuw i8 %5187 to i1
  br i1 %5188, label %5189, label %5193

5189:                                             ; preds = %5183
  %5190 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5191 = call i32 @fileno(ptr noundef %5190) #12
  %5192 = call i32 @isatty(i32 noundef %5191) #12
  %.not1177 = icmp eq i32 %5192, 0
  br i1 %.not1177, label %5193, label %5194

5193:                                             ; preds = %5189, %5183
  br label %5194

5194:                                             ; preds = %5189, %5193
  %.str.12.sink3343 = phi ptr [ @.str.12, %5193 ], [ @.str.9, %5189 ]
  store i32 %5184, ptr %1545, align 4, !tbaa !5
  %5195 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5196 = load i32, ptr @test_count, align 4, !tbaa !5
  %5197 = load i32, ptr %1491, align 4, !tbaa !5
  %5198 = call ptr @s2n_strerror(i32 noundef %5197, ptr noundef nonnull @.str.11) #12
  %5199 = load i32, ptr %1491, align 4, !tbaa !5
  %5200 = call ptr @s2n_strerror_debug(i32 noundef %5199, ptr noundef nonnull @.str.11) #12
  %5201 = load i32, ptr %1545, align 4, !tbaa !5
  %5202 = call ptr @strerror(i32 noundef %5201) #12
  %5203 = load i32, ptr %1545, align 4, !tbaa !5
  %5204 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5195, ptr noundef nonnull %.str.12.sink3343, i32 noundef %5196, ptr noundef nonnull @.str.116, ptr noundef nonnull @.str.8, i32 noundef 496, ptr noundef %5198, ptr noundef %5200, ptr noundef %5202, i32 noundef %5203) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5205:                                             ; preds = %5178
  %5206 = add nsw i32 %5179, 2
  store i32 %5206, ptr @test_count, align 4, !tbaa !5
  %5207 = load i32, ptr @main.getWriteFd, align 4, !tbaa !5
  %5208 = icmp eq i32 %5207, 1
  br i1 %5208, label %5231, label %5209

5209:                                             ; preds = %5205
  %5210 = load i32, ptr %1545, align 4, !tbaa !5
  %5211 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5212 = call i32 @s2n_print_stacktrace(ptr noundef %5211) #12
  %5213 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5214 = trunc nuw i8 %5213 to i1
  br i1 %5214, label %5215, label %5219

5215:                                             ; preds = %5209
  %5216 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5217 = call i32 @fileno(ptr noundef %5216) #12
  %5218 = call i32 @isatty(i32 noundef %5217) #12
  %.not1178 = icmp eq i32 %5218, 0
  br i1 %.not1178, label %5219, label %5220

5219:                                             ; preds = %5215, %5209
  br label %5220

5220:                                             ; preds = %5215, %5219
  %.str.12.sink3352 = phi ptr [ @.str.12, %5219 ], [ @.str.9, %5215 ]
  store i32 %5210, ptr %1545, align 4, !tbaa !5
  %5221 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5222 = load i32, ptr @test_count, align 4, !tbaa !5
  %5223 = load i32, ptr %1491, align 4, !tbaa !5
  %5224 = call ptr @s2n_strerror(i32 noundef %5223, ptr noundef nonnull @.str.11) #12
  %5225 = load i32, ptr %1491, align 4, !tbaa !5
  %5226 = call ptr @s2n_strerror_debug(i32 noundef %5225, ptr noundef nonnull @.str.11) #12
  %5227 = load i32, ptr %1545, align 4, !tbaa !5
  %5228 = call ptr @strerror(i32 noundef %5227) #12
  %5229 = load i32, ptr %1545, align 4, !tbaa !5
  %5230 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5221, ptr noundef nonnull %.str.12.sink3352, i32 noundef %5222, ptr noundef nonnull @.str.117, ptr noundef nonnull @.str.8, i32 noundef 497, ptr noundef %5224, ptr noundef %5226, ptr noundef %5228, i32 noundef %5229) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5231:                                             ; preds = %5205
  %5232 = add nsw i32 %5179, 3
  store i32 %5232, ptr @test_count, align 4, !tbaa !5
  %5233 = call i32 @s2n_connection_wipe(ptr noundef nonnull %5072) #12
  %5234 = icmp eq i32 %5233, -1
  br i1 %5234, label %5235, label %5257

5235:                                             ; preds = %5231
  %5236 = load i32, ptr %1545, align 4, !tbaa !5
  %5237 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5238 = call i32 @s2n_print_stacktrace(ptr noundef %5237) #12
  %5239 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5240 = trunc nuw i8 %5239 to i1
  br i1 %5240, label %5241, label %5245

5241:                                             ; preds = %5235
  %5242 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5243 = call i32 @fileno(ptr noundef %5242) #12
  %5244 = call i32 @isatty(i32 noundef %5243) #12
  %.not1416 = icmp eq i32 %5244, 0
  br i1 %.not1416, label %5245, label %5246

5245:                                             ; preds = %5241, %5235
  br label %5246

5246:                                             ; preds = %5241, %5245
  %.str.12.sink3361 = phi ptr [ @.str.12, %5245 ], [ @.str.9, %5241 ]
  store i32 %5236, ptr %1545, align 4, !tbaa !5
  %5247 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5248 = load i32, ptr @test_count, align 4, !tbaa !5
  %5249 = load i32, ptr %1491, align 4, !tbaa !5
  %5250 = call ptr @s2n_strerror(i32 noundef %5249, ptr noundef nonnull @.str.11) #12
  %5251 = load i32, ptr %1491, align 4, !tbaa !5
  %5252 = call ptr @s2n_strerror_debug(i32 noundef %5251, ptr noundef nonnull @.str.11) #12
  %5253 = load i32, ptr %1545, align 4, !tbaa !5
  %5254 = call ptr @strerror(i32 noundef %5253) #12
  %5255 = load i32, ptr %1545, align 4, !tbaa !5
  %5256 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5247, ptr noundef nonnull %.str.12.sink3361, i32 noundef %5248, ptr noundef nonnull @.str.118, ptr noundef nonnull @.str.8, i32 noundef 500, ptr noundef %5250, ptr noundef %5252, ptr noundef %5254, i32 noundef %5255) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5257:                                             ; preds = %5231
  %5258 = load i32, ptr @test_count, align 4, !tbaa !5
  %5259 = add nsw i32 %5258, 1
  store i32 %5259, ptr @test_count, align 4, !tbaa !5
  %5260 = call i32 @s2n_connection_set_read_fd(ptr noundef nonnull %5072, i32 noundef 1) #12
  %5261 = icmp eq i32 %5260, -1
  br i1 %5261, label %5262, label %5284

5262:                                             ; preds = %5257
  %5263 = load i32, ptr %1545, align 4, !tbaa !5
  %5264 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5265 = call i32 @s2n_print_stacktrace(ptr noundef %5264) #12
  %5266 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5267 = trunc nuw i8 %5266 to i1
  br i1 %5267, label %5268, label %5272

5268:                                             ; preds = %5262
  %5269 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5270 = call i32 @fileno(ptr noundef %5269) #12
  %5271 = call i32 @isatty(i32 noundef %5270) #12
  %.not1415 = icmp eq i32 %5271, 0
  br i1 %.not1415, label %5272, label %5273

5272:                                             ; preds = %5268, %5262
  br label %5273

5273:                                             ; preds = %5268, %5272
  %.str.12.sink3370 = phi ptr [ @.str.12, %5272 ], [ @.str.9, %5268 ]
  store i32 %5263, ptr %1545, align 4, !tbaa !5
  %5274 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5275 = load i32, ptr @test_count, align 4, !tbaa !5
  %5276 = load i32, ptr %1491, align 4, !tbaa !5
  %5277 = call ptr @s2n_strerror(i32 noundef %5276, ptr noundef nonnull @.str.11) #12
  %5278 = load i32, ptr %1491, align 4, !tbaa !5
  %5279 = call ptr @s2n_strerror_debug(i32 noundef %5278, ptr noundef nonnull @.str.11) #12
  %5280 = load i32, ptr %1545, align 4, !tbaa !5
  %5281 = call ptr @strerror(i32 noundef %5280) #12
  %5282 = load i32, ptr %1545, align 4, !tbaa !5
  %5283 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5274, ptr noundef nonnull %.str.12.sink3370, i32 noundef %5275, ptr noundef nonnull @.str.119, ptr noundef nonnull @.str.8, i32 noundef 501, ptr noundef %5277, ptr noundef %5279, ptr noundef %5281, i32 noundef %5282) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5284:                                             ; preds = %5257
  %5285 = load i32, ptr @test_count, align 4, !tbaa !5
  %5286 = add nsw i32 %5285, 1
  store i32 %5286, ptr @test_count, align 4, !tbaa !5
  %5287 = call i32 @s2n_connection_get_write_fd(ptr noundef nonnull %5072, ptr noundef nonnull @main.getWriteFd) #12
  %5288 = icmp eq i32 %5287, -1
  br i1 %5288, label %5311, label %5289

5289:                                             ; preds = %5284
  %5290 = load i32, ptr %1545, align 4, !tbaa !5
  %5291 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5292 = call i32 @s2n_print_stacktrace(ptr noundef %5291) #12
  %5293 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5294 = trunc nuw i8 %5293 to i1
  br i1 %5294, label %5295, label %5299

5295:                                             ; preds = %5289
  %5296 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5297 = call i32 @fileno(ptr noundef %5296) #12
  %5298 = call i32 @isatty(i32 noundef %5297) #12
  %.not1179 = icmp eq i32 %5298, 0
  br i1 %.not1179, label %5299, label %5300

5299:                                             ; preds = %5295, %5289
  br label %5300

5300:                                             ; preds = %5295, %5299
  %.str.12.sink3379 = phi ptr [ @.str.12, %5299 ], [ @.str.9, %5295 ]
  store i32 %5290, ptr %1545, align 4, !tbaa !5
  %5301 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5302 = load i32, ptr @test_count, align 4, !tbaa !5
  %5303 = load i32, ptr %1491, align 4, !tbaa !5
  %5304 = call ptr @s2n_strerror(i32 noundef %5303, ptr noundef nonnull @.str.11) #12
  %5305 = load i32, ptr %1491, align 4, !tbaa !5
  %5306 = call ptr @s2n_strerror_debug(i32 noundef %5305, ptr noundef nonnull @.str.11) #12
  %5307 = load i32, ptr %1545, align 4, !tbaa !5
  %5308 = call ptr @strerror(i32 noundef %5307) #12
  %5309 = load i32, ptr %1545, align 4, !tbaa !5
  %5310 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5301, ptr noundef nonnull %.str.12.sink3379, i32 noundef %5302, ptr noundef nonnull @.str.120, ptr noundef nonnull @.str.8, i32 noundef 502, ptr noundef %5304, ptr noundef %5306, ptr noundef %5308, i32 noundef %5309) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5311:                                             ; preds = %5284
  %5312 = load i32, ptr @test_count, align 4, !tbaa !5
  %5313 = add nsw i32 %5312, 1
  store i32 %5313, ptr @test_count, align 4, !tbaa !5
  %5314 = load i32, ptr %1491, align 4, !tbaa !5
  %5315 = icmp eq i32 %5314, 469762112
  br i1 %5315, label %5338, label %5316

5316:                                             ; preds = %5311
  %5317 = load i32, ptr %1545, align 4, !tbaa !5
  %5318 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5319 = call i32 @s2n_print_stacktrace(ptr noundef %5318) #12
  %5320 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5321 = trunc nuw i8 %5320 to i1
  br i1 %5321, label %5322, label %5326

5322:                                             ; preds = %5316
  %5323 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5324 = call i32 @fileno(ptr noundef %5323) #12
  %5325 = call i32 @isatty(i32 noundef %5324) #12
  %.not1180 = icmp eq i32 %5325, 0
  br i1 %.not1180, label %5326, label %5327

5326:                                             ; preds = %5322, %5316
  br label %5327

5327:                                             ; preds = %5322, %5326
  %.str.12.sink3388 = phi ptr [ @.str.12, %5326 ], [ @.str.9, %5322 ]
  store i32 %5317, ptr %1545, align 4, !tbaa !5
  %5328 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5329 = load i32, ptr @test_count, align 4, !tbaa !5
  %5330 = load i32, ptr %1491, align 4, !tbaa !5
  %5331 = call ptr @s2n_strerror(i32 noundef %5330, ptr noundef nonnull @.str.11) #12
  %5332 = load i32, ptr %1491, align 4, !tbaa !5
  %5333 = call ptr @s2n_strerror_debug(i32 noundef %5332, ptr noundef nonnull @.str.11) #12
  %5334 = load i32, ptr %1545, align 4, !tbaa !5
  %5335 = call ptr @strerror(i32 noundef %5334) #12
  %5336 = load i32, ptr %1545, align 4, !tbaa !5
  %5337 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5328, ptr noundef nonnull %.str.12.sink3388, i32 noundef %5329, ptr noundef nonnull @.str.121, ptr noundef nonnull @.str.8, i32 noundef 502, ptr noundef %5331, ptr noundef %5333, ptr noundef %5335, i32 noundef %5336) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5338:                                             ; preds = %5311
  %5339 = add nsw i32 %5312, 2
  store i32 %5339, ptr @test_count, align 4, !tbaa !5
  %5340 = call ptr @s2n_strerror_debug(i32 noundef 469762112, ptr noundef nonnull @.str.11) #12
  %5341 = icmp eq ptr %5340, null
  br i1 %5341, label %5342, label %5364

5342:                                             ; preds = %5338
  %5343 = load i32, ptr %1545, align 4, !tbaa !5
  %5344 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5345 = call i32 @s2n_print_stacktrace(ptr noundef %5344) #12
  %5346 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5347 = trunc nuw i8 %5346 to i1
  br i1 %5347, label %5348, label %5352

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

5352:                                             ; preds = %5348, %5342
  br label %5353

5353:                                             ; preds = %5348, %5352
  %.str.12.sink3397 = phi ptr [ @.str.12, %5352 ], [ @.str.9, %5348 ]
  store i32 %5343, ptr %1545, align 4, !tbaa !5
  %5354 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5355 = load i32, ptr @test_count, align 4, !tbaa !5
  %5356 = load i32, ptr %1491, align 4, !tbaa !5
  %5357 = call ptr @s2n_strerror(i32 noundef %5356, ptr noundef nonnull @.str.11) #12
  %5358 = load i32, ptr %1491, align 4, !tbaa !5
  %5359 = call ptr @s2n_strerror_debug(i32 noundef %5358, ptr noundef nonnull @.str.11) #12
  %5360 = load i32, ptr %1545, align 4, !tbaa !5
  %5361 = call ptr @strerror(i32 noundef %5360) #12
  %5362 = load i32, ptr %1545, align 4, !tbaa !5
  %5363 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5354, ptr noundef nonnull %.str.12.sink3397, i32 noundef %5355, ptr noundef nonnull @.str.54, ptr noundef nonnull @.str.8, i32 noundef 502, ptr noundef %5357, ptr noundef %5359, ptr noundef %5361, i32 noundef %5362) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5364:                                             ; preds = %5338
  store i32 0, ptr %1491, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %1545, align 4, !tbaa !5
  %5365 = load i32, ptr @test_count, align 4, !tbaa !5
  %5366 = add nsw i32 %5365, 1
  store i32 %5366, ptr @test_count, align 4, !tbaa !5
  %5367 = call i32 @s2n_connection_get_read_fd(ptr noundef nonnull %5072, ptr noundef nonnull @main.getReadFd) #12
  %5368 = icmp eq i32 %5367, -1
  br i1 %5368, label %5369, label %5391

5369:                                             ; preds = %5364
  %5370 = load i32, ptr %1545, align 4, !tbaa !5
  %5371 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5372 = call i32 @s2n_print_stacktrace(ptr noundef %5371) #12
  %5373 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5374 = trunc nuw i8 %5373 to i1
  br i1 %5374, label %5375, label %5379

5375:                                             ; preds = %5369
  %5376 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5377 = call i32 @fileno(ptr noundef %5376) #12
  %5378 = call i32 @isatty(i32 noundef %5377) #12
  %.not1413 = icmp eq i32 %5378, 0
  br i1 %.not1413, label %5379, label %5380

5379:                                             ; preds = %5375, %5369
  br label %5380

5380:                                             ; preds = %5375, %5379
  %.str.12.sink3406 = phi ptr [ @.str.12, %5379 ], [ @.str.9, %5375 ]
  store i32 %5370, ptr %1545, align 4, !tbaa !5
  %5381 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5382 = load i32, ptr @test_count, align 4, !tbaa !5
  %5383 = load i32, ptr %1491, align 4, !tbaa !5
  %5384 = call ptr @s2n_strerror(i32 noundef %5383, ptr noundef nonnull @.str.11) #12
  %5385 = load i32, ptr %1491, align 4, !tbaa !5
  %5386 = call ptr @s2n_strerror_debug(i32 noundef %5385, ptr noundef nonnull @.str.11) #12
  %5387 = load i32, ptr %1545, align 4, !tbaa !5
  %5388 = call ptr @strerror(i32 noundef %5387) #12
  %5389 = load i32, ptr %1545, align 4, !tbaa !5
  %5390 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5381, ptr noundef nonnull %.str.12.sink3406, i32 noundef %5382, ptr noundef nonnull @.str.115, ptr noundef nonnull @.str.8, i32 noundef 503, ptr noundef %5384, ptr noundef %5386, ptr noundef %5388, i32 noundef %5389) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5391:                                             ; preds = %5364
  %5392 = load i32, ptr @test_count, align 4, !tbaa !5
  %5393 = add nsw i32 %5392, 1
  store i32 %5393, ptr @test_count, align 4, !tbaa !5
  %5394 = load i32, ptr @main.getReadFd, align 4, !tbaa !5
  %5395 = icmp eq i32 %5394, 1
  br i1 %5395, label %5418, label %5396

5396:                                             ; preds = %5391
  %5397 = load i32, ptr %1545, align 4, !tbaa !5
  %5398 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5399 = call i32 @s2n_print_stacktrace(ptr noundef %5398) #12
  %5400 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5401 = trunc nuw i8 %5400 to i1
  br i1 %5401, label %5402, label %5406

5402:                                             ; preds = %5396
  %5403 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5404 = call i32 @fileno(ptr noundef %5403) #12
  %5405 = call i32 @isatty(i32 noundef %5404) #12
  %.not1181 = icmp eq i32 %5405, 0
  br i1 %.not1181, label %5406, label %5407

5406:                                             ; preds = %5402, %5396
  br label %5407

5407:                                             ; preds = %5402, %5406
  %.str.12.sink3415 = phi ptr [ @.str.12, %5406 ], [ @.str.9, %5402 ]
  store i32 %5397, ptr %1545, align 4, !tbaa !5
  %5408 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5409 = load i32, ptr @test_count, align 4, !tbaa !5
  %5410 = load i32, ptr %1491, align 4, !tbaa !5
  %5411 = call ptr @s2n_strerror(i32 noundef %5410, ptr noundef nonnull @.str.11) #12
  %5412 = load i32, ptr %1491, align 4, !tbaa !5
  %5413 = call ptr @s2n_strerror_debug(i32 noundef %5412, ptr noundef nonnull @.str.11) #12
  %5414 = load i32, ptr %1545, align 4, !tbaa !5
  %5415 = call ptr @strerror(i32 noundef %5414) #12
  %5416 = load i32, ptr %1545, align 4, !tbaa !5
  %5417 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5408, ptr noundef nonnull %.str.12.sink3415, i32 noundef %5409, ptr noundef nonnull @.str.116, ptr noundef nonnull @.str.8, i32 noundef 504, ptr noundef %5411, ptr noundef %5413, ptr noundef %5415, i32 noundef %5416) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5418:                                             ; preds = %5391
  %5419 = add nsw i32 %5392, 2
  store i32 %5419, ptr @test_count, align 4, !tbaa !5
  %5420 = call i32 @s2n_connection_wipe(ptr noundef nonnull %5072) #12
  %5421 = icmp eq i32 %5420, -1
  br i1 %5421, label %5422, label %5444

5422:                                             ; preds = %5418
  %5423 = load i32, ptr %1545, align 4, !tbaa !5
  %5424 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5425 = call i32 @s2n_print_stacktrace(ptr noundef %5424) #12
  %5426 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5427 = trunc nuw i8 %5426 to i1
  br i1 %5427, label %5428, label %5432

5428:                                             ; preds = %5422
  %5429 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5430 = call i32 @fileno(ptr noundef %5429) #12
  %5431 = call i32 @isatty(i32 noundef %5430) #12
  %.not1412 = icmp eq i32 %5431, 0
  br i1 %.not1412, label %5432, label %5433

5432:                                             ; preds = %5428, %5422
  br label %5433

5433:                                             ; preds = %5428, %5432
  %.str.12.sink3424 = phi ptr [ @.str.12, %5432 ], [ @.str.9, %5428 ]
  store i32 %5423, ptr %1545, align 4, !tbaa !5
  %5434 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5435 = load i32, ptr @test_count, align 4, !tbaa !5
  %5436 = load i32, ptr %1491, align 4, !tbaa !5
  %5437 = call ptr @s2n_strerror(i32 noundef %5436, ptr noundef nonnull @.str.11) #12
  %5438 = load i32, ptr %1491, align 4, !tbaa !5
  %5439 = call ptr @s2n_strerror_debug(i32 noundef %5438, ptr noundef nonnull @.str.11) #12
  %5440 = load i32, ptr %1545, align 4, !tbaa !5
  %5441 = call ptr @strerror(i32 noundef %5440) #12
  %5442 = load i32, ptr %1545, align 4, !tbaa !5
  %5443 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5434, ptr noundef nonnull %.str.12.sink3424, i32 noundef %5435, ptr noundef nonnull @.str.118, ptr noundef nonnull @.str.8, i32 noundef 507, ptr noundef %5437, ptr noundef %5439, ptr noundef %5441, i32 noundef %5442) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5444:                                             ; preds = %5418
  %5445 = load i32, ptr @test_count, align 4, !tbaa !5
  %5446 = add nsw i32 %5445, 1
  store i32 %5446, ptr @test_count, align 4, !tbaa !5
  %5447 = call i32 @s2n_connection_set_write_fd(ptr noundef nonnull %5072, i32 noundef 2) #12
  %5448 = icmp eq i32 %5447, -1
  br i1 %5448, label %5449, label %5471

5449:                                             ; preds = %5444
  %5450 = load i32, ptr %1545, align 4, !tbaa !5
  %5451 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5452 = call i32 @s2n_print_stacktrace(ptr noundef %5451) #12
  %5453 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5454 = trunc nuw i8 %5453 to i1
  br i1 %5454, label %5455, label %5459

5455:                                             ; preds = %5449
  %5456 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5457 = call i32 @fileno(ptr noundef %5456) #12
  %5458 = call i32 @isatty(i32 noundef %5457) #12
  %.not1411 = icmp eq i32 %5458, 0
  br i1 %.not1411, label %5459, label %5460

5459:                                             ; preds = %5455, %5449
  br label %5460

5460:                                             ; preds = %5455, %5459
  %.str.12.sink3433 = phi ptr [ @.str.12, %5459 ], [ @.str.9, %5455 ]
  store i32 %5450, ptr %1545, align 4, !tbaa !5
  %5461 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5462 = load i32, ptr @test_count, align 4, !tbaa !5
  %5463 = load i32, ptr %1491, align 4, !tbaa !5
  %5464 = call ptr @s2n_strerror(i32 noundef %5463, ptr noundef nonnull @.str.11) #12
  %5465 = load i32, ptr %1491, align 4, !tbaa !5
  %5466 = call ptr @s2n_strerror_debug(i32 noundef %5465, ptr noundef nonnull @.str.11) #12
  %5467 = load i32, ptr %1545, align 4, !tbaa !5
  %5468 = call ptr @strerror(i32 noundef %5467) #12
  %5469 = load i32, ptr %1545, align 4, !tbaa !5
  %5470 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5461, ptr noundef nonnull %.str.12.sink3433, i32 noundef %5462, ptr noundef nonnull @.str.122, ptr noundef nonnull @.str.8, i32 noundef 508, ptr noundef %5464, ptr noundef %5466, ptr noundef %5468, i32 noundef %5469) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5471:                                             ; preds = %5444
  %5472 = load i32, ptr @test_count, align 4, !tbaa !5
  %5473 = add nsw i32 %5472, 1
  store i32 %5473, ptr @test_count, align 4, !tbaa !5
  %5474 = call i32 @s2n_connection_get_write_fd(ptr noundef nonnull %5072, ptr noundef nonnull @main.getWriteFd) #12
  %5475 = icmp eq i32 %5474, -1
  br i1 %5475, label %5476, label %5498

5476:                                             ; preds = %5471
  %5477 = load i32, ptr %1545, align 4, !tbaa !5
  %5478 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5479 = call i32 @s2n_print_stacktrace(ptr noundef %5478) #12
  %5480 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5481 = trunc nuw i8 %5480 to i1
  br i1 %5481, label %5482, label %5486

5482:                                             ; preds = %5476
  %5483 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5484 = call i32 @fileno(ptr noundef %5483) #12
  %5485 = call i32 @isatty(i32 noundef %5484) #12
  %.not1410 = icmp eq i32 %5485, 0
  br i1 %.not1410, label %5486, label %5487

5486:                                             ; preds = %5482, %5476
  br label %5487

5487:                                             ; preds = %5482, %5486
  %.str.12.sink3442 = phi ptr [ @.str.12, %5486 ], [ @.str.9, %5482 ]
  store i32 %5477, ptr %1545, align 4, !tbaa !5
  %5488 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5489 = load i32, ptr @test_count, align 4, !tbaa !5
  %5490 = load i32, ptr %1491, align 4, !tbaa !5
  %5491 = call ptr @s2n_strerror(i32 noundef %5490, ptr noundef nonnull @.str.11) #12
  %5492 = load i32, ptr %1491, align 4, !tbaa !5
  %5493 = call ptr @s2n_strerror_debug(i32 noundef %5492, ptr noundef nonnull @.str.11) #12
  %5494 = load i32, ptr %1545, align 4, !tbaa !5
  %5495 = call ptr @strerror(i32 noundef %5494) #12
  %5496 = load i32, ptr %1545, align 4, !tbaa !5
  %5497 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5488, ptr noundef nonnull %.str.12.sink3442, i32 noundef %5489, ptr noundef nonnull @.str.114, ptr noundef nonnull @.str.8, i32 noundef 509, ptr noundef %5491, ptr noundef %5493, ptr noundef %5495, i32 noundef %5496) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5498:                                             ; preds = %5471
  %5499 = load i32, ptr @test_count, align 4, !tbaa !5
  %5500 = add nsw i32 %5499, 1
  store i32 %5500, ptr @test_count, align 4, !tbaa !5
  %5501 = call i32 @s2n_connection_get_read_fd(ptr noundef nonnull %5072, ptr noundef nonnull @main.getReadFd) #12
  %5502 = icmp eq i32 %5501, -1
  br i1 %5502, label %5525, label %5503

5503:                                             ; preds = %5498
  %5504 = load i32, ptr %1545, align 4, !tbaa !5
  %5505 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5506 = call i32 @s2n_print_stacktrace(ptr noundef %5505) #12
  %5507 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5508 = trunc nuw i8 %5507 to i1
  br i1 %5508, label %5509, label %5513

5509:                                             ; preds = %5503
  %5510 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5511 = call i32 @fileno(ptr noundef %5510) #12
  %5512 = call i32 @isatty(i32 noundef %5511) #12
  %.not1182 = icmp eq i32 %5512, 0
  br i1 %.not1182, label %5513, label %5514

5513:                                             ; preds = %5509, %5503
  br label %5514

5514:                                             ; preds = %5509, %5513
  %.str.12.sink3451 = phi ptr [ @.str.12, %5513 ], [ @.str.9, %5509 ]
  store i32 %5504, ptr %1545, align 4, !tbaa !5
  %5515 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5516 = load i32, ptr @test_count, align 4, !tbaa !5
  %5517 = load i32, ptr %1491, align 4, !tbaa !5
  %5518 = call ptr @s2n_strerror(i32 noundef %5517, ptr noundef nonnull @.str.11) #12
  %5519 = load i32, ptr %1491, align 4, !tbaa !5
  %5520 = call ptr @s2n_strerror_debug(i32 noundef %5519, ptr noundef nonnull @.str.11) #12
  %5521 = load i32, ptr %1545, align 4, !tbaa !5
  %5522 = call ptr @strerror(i32 noundef %5521) #12
  %5523 = load i32, ptr %1545, align 4, !tbaa !5
  %5524 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5515, ptr noundef nonnull %.str.12.sink3451, i32 noundef %5516, ptr noundef nonnull @.str.123, ptr noundef nonnull @.str.8, i32 noundef 510, ptr noundef %5518, ptr noundef %5520, ptr noundef %5522, i32 noundef %5523) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5525:                                             ; preds = %5498
  %5526 = load i32, ptr @test_count, align 4, !tbaa !5
  %5527 = add nsw i32 %5526, 1
  store i32 %5527, ptr @test_count, align 4, !tbaa !5
  %5528 = load i32, ptr %1491, align 4, !tbaa !5
  %5529 = icmp eq i32 %5528, 469762112
  br i1 %5529, label %5552, label %5530

5530:                                             ; preds = %5525
  %5531 = load i32, ptr %1545, align 4, !tbaa !5
  %5532 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5533 = call i32 @s2n_print_stacktrace(ptr noundef %5532) #12
  %5534 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5535 = trunc nuw i8 %5534 to i1
  br i1 %5535, label %5536, label %5540

5536:                                             ; preds = %5530
  %5537 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5538 = call i32 @fileno(ptr noundef %5537) #12
  %5539 = call i32 @isatty(i32 noundef %5538) #12
  %.not1183 = icmp eq i32 %5539, 0
  br i1 %.not1183, label %5540, label %5541

5540:                                             ; preds = %5536, %5530
  br label %5541

5541:                                             ; preds = %5536, %5540
  %.str.12.sink3460 = phi ptr [ @.str.12, %5540 ], [ @.str.9, %5536 ]
  store i32 %5531, ptr %1545, align 4, !tbaa !5
  %5542 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5543 = load i32, ptr @test_count, align 4, !tbaa !5
  %5544 = load i32, ptr %1491, align 4, !tbaa !5
  %5545 = call ptr @s2n_strerror(i32 noundef %5544, ptr noundef nonnull @.str.11) #12
  %5546 = load i32, ptr %1491, align 4, !tbaa !5
  %5547 = call ptr @s2n_strerror_debug(i32 noundef %5546, ptr noundef nonnull @.str.11) #12
  %5548 = load i32, ptr %1545, align 4, !tbaa !5
  %5549 = call ptr @strerror(i32 noundef %5548) #12
  %5550 = load i32, ptr %1545, align 4, !tbaa !5
  %5551 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5542, ptr noundef nonnull %.str.12.sink3460, i32 noundef %5543, ptr noundef nonnull @.str.121, ptr noundef nonnull @.str.8, i32 noundef 510, ptr noundef %5545, ptr noundef %5547, ptr noundef %5549, i32 noundef %5550) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5552:                                             ; preds = %5525
  %5553 = add nsw i32 %5526, 2
  store i32 %5553, ptr @test_count, align 4, !tbaa !5
  %5554 = call ptr @s2n_strerror_debug(i32 noundef 469762112, ptr noundef nonnull @.str.11) #12
  %5555 = icmp eq ptr %5554, null
  br i1 %5555, label %5556, label %5578

5556:                                             ; preds = %5552
  %5557 = load i32, ptr %1545, align 4, !tbaa !5
  %5558 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5559 = call i32 @s2n_print_stacktrace(ptr noundef %5558) #12
  %5560 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5561 = trunc nuw i8 %5560 to i1
  br i1 %5561, label %5562, label %5566

5562:                                             ; preds = %5556
  %5563 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5564 = call i32 @fileno(ptr noundef %5563) #12
  %5565 = call i32 @isatty(i32 noundef %5564) #12
  %.not1409 = icmp eq i32 %5565, 0
  br i1 %.not1409, label %5566, label %5567

5566:                                             ; preds = %5562, %5556
  br label %5567

5567:                                             ; preds = %5562, %5566
  %.str.12.sink3469 = phi ptr [ @.str.12, %5566 ], [ @.str.9, %5562 ]
  store i32 %5557, ptr %1545, align 4, !tbaa !5
  %5568 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5569 = load i32, ptr @test_count, align 4, !tbaa !5
  %5570 = load i32, ptr %1491, align 4, !tbaa !5
  %5571 = call ptr @s2n_strerror(i32 noundef %5570, ptr noundef nonnull @.str.11) #12
  %5572 = load i32, ptr %1491, align 4, !tbaa !5
  %5573 = call ptr @s2n_strerror_debug(i32 noundef %5572, ptr noundef nonnull @.str.11) #12
  %5574 = load i32, ptr %1545, align 4, !tbaa !5
  %5575 = call ptr @strerror(i32 noundef %5574) #12
  %5576 = load i32, ptr %1545, align 4, !tbaa !5
  %5577 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5568, ptr noundef nonnull %.str.12.sink3469, i32 noundef %5569, ptr noundef nonnull @.str.54, ptr noundef nonnull @.str.8, i32 noundef 510, ptr noundef %5571, ptr noundef %5573, ptr noundef %5575, i32 noundef %5576) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5578:                                             ; preds = %5552
  store i32 0, ptr %1491, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %1545, align 4, !tbaa !5
  %5579 = load i32, ptr @test_count, align 4, !tbaa !5
  %5580 = add nsw i32 %5579, 1
  store i32 %5580, ptr @test_count, align 4, !tbaa !5
  %5581 = load i32, ptr @main.getWriteFd, align 4, !tbaa !5
  %5582 = icmp eq i32 %5581, 2
  br i1 %5582, label %5605, label %5583

5583:                                             ; preds = %5578
  %5584 = load i32, ptr %1545, align 4, !tbaa !5
  %5585 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5586 = call i32 @s2n_print_stacktrace(ptr noundef %5585) #12
  %5587 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5588 = trunc nuw i8 %5587 to i1
  br i1 %5588, label %5589, label %5593

5589:                                             ; preds = %5583
  %5590 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5591 = call i32 @fileno(ptr noundef %5590) #12
  %5592 = call i32 @isatty(i32 noundef %5591) #12
  %.not1184 = icmp eq i32 %5592, 0
  br i1 %.not1184, label %5593, label %5594

5593:                                             ; preds = %5589, %5583
  br label %5594

5594:                                             ; preds = %5589, %5593
  %.str.12.sink3478 = phi ptr [ @.str.12, %5593 ], [ @.str.9, %5589 ]
  store i32 %5584, ptr %1545, align 4, !tbaa !5
  %5595 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5596 = load i32, ptr @test_count, align 4, !tbaa !5
  %5597 = load i32, ptr %1491, align 4, !tbaa !5
  %5598 = call ptr @s2n_strerror(i32 noundef %5597, ptr noundef nonnull @.str.11) #12
  %5599 = load i32, ptr %1491, align 4, !tbaa !5
  %5600 = call ptr @s2n_strerror_debug(i32 noundef %5599, ptr noundef nonnull @.str.11) #12
  %5601 = load i32, ptr %1545, align 4, !tbaa !5
  %5602 = call ptr @strerror(i32 noundef %5601) #12
  %5603 = load i32, ptr %1545, align 4, !tbaa !5
  %5604 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5595, ptr noundef nonnull %.str.12.sink3478, i32 noundef %5596, ptr noundef nonnull @.str.124, ptr noundef nonnull @.str.8, i32 noundef 511, ptr noundef %5598, ptr noundef %5600, ptr noundef %5602, i32 noundef %5603) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5605:                                             ; preds = %5578
  %5606 = add nsw i32 %5579, 2
  store i32 %5606, ptr @test_count, align 4, !tbaa !5
  %5607 = call i32 @s2n_connection_free(ptr noundef nonnull %5072) #12
  %5608 = icmp eq i32 %5607, -1
  br i1 %5608, label %5609, label %5631

5609:                                             ; preds = %5605
  %5610 = load i32, ptr %1545, align 4, !tbaa !5
  %5611 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5612 = call i32 @s2n_print_stacktrace(ptr noundef %5611) #12
  %5613 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5614 = trunc nuw i8 %5613 to i1
  br i1 %5614, label %5615, label %5619

5615:                                             ; preds = %5609
  %5616 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5617 = call i32 @fileno(ptr noundef %5616) #12
  %5618 = call i32 @isatty(i32 noundef %5617) #12
  %.not1408 = icmp eq i32 %5618, 0
  br i1 %.not1408, label %5619, label %5620

5619:                                             ; preds = %5615, %5609
  br label %5620

5620:                                             ; preds = %5615, %5619
  %.str.12.sink3487 = phi ptr [ @.str.12, %5619 ], [ @.str.9, %5615 ]
  store i32 %5610, ptr %1545, align 4, !tbaa !5
  %5621 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5622 = load i32, ptr @test_count, align 4, !tbaa !5
  %5623 = load i32, ptr %1491, align 4, !tbaa !5
  %5624 = call ptr @s2n_strerror(i32 noundef %5623, ptr noundef nonnull @.str.11) #12
  %5625 = load i32, ptr %1491, align 4, !tbaa !5
  %5626 = call ptr @s2n_strerror_debug(i32 noundef %5625, ptr noundef nonnull @.str.11) #12
  %5627 = load i32, ptr %1545, align 4, !tbaa !5
  %5628 = call ptr @strerror(i32 noundef %5627) #12
  %5629 = load i32, ptr %1545, align 4, !tbaa !5
  %5630 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5621, ptr noundef nonnull %.str.12.sink3487, i32 noundef %5622, ptr noundef nonnull @.str.25, ptr noundef nonnull @.str.8, i32 noundef 513, ptr noundef %5624, ptr noundef %5626, ptr noundef %5628, i32 noundef %5629) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5631:                                             ; preds = %5605
  %5632 = call ptr @s2n_connection_new(i32 noundef 1) #12
  %5633 = load i32, ptr @test_count, align 4, !tbaa !5
  %5634 = add nsw i32 %5633, 1
  store i32 %5634, ptr @test_count, align 4, !tbaa !5
  %5635 = icmp eq ptr %5632, null
  br i1 %5635, label %5636, label %5658

5636:                                             ; preds = %5631
  %5637 = load i32, ptr %1545, align 4, !tbaa !5
  %5638 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5639 = call i32 @s2n_print_stacktrace(ptr noundef %5638) #12
  %5640 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5641 = trunc nuw i8 %5640 to i1
  br i1 %5641, label %5642, label %5646

5642:                                             ; preds = %5636
  %5643 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5644 = call i32 @fileno(ptr noundef %5643) #12
  %5645 = call i32 @isatty(i32 noundef %5644) #12
  %.not1407 = icmp eq i32 %5645, 0
  br i1 %.not1407, label %5646, label %5647

5646:                                             ; preds = %5642, %5636
  br label %5647

5647:                                             ; preds = %5642, %5646
  %.str.12.sink3496 = phi ptr [ @.str.12, %5646 ], [ @.str.9, %5642 ]
  store i32 %5637, ptr %1545, align 4, !tbaa !5
  %5648 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5649 = load i32, ptr @test_count, align 4, !tbaa !5
  %5650 = load i32, ptr %1491, align 4, !tbaa !5
  %5651 = call ptr @s2n_strerror(i32 noundef %5650, ptr noundef nonnull @.str.11) #12
  %5652 = load i32, ptr %1491, align 4, !tbaa !5
  %5653 = call ptr @s2n_strerror_debug(i32 noundef %5652, ptr noundef nonnull @.str.11) #12
  %5654 = load i32, ptr %1545, align 4, !tbaa !5
  %5655 = call ptr @strerror(i32 noundef %5654) #12
  %5656 = load i32, ptr %1545, align 4, !tbaa !5
  %5657 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5648, ptr noundef nonnull %.str.12.sink3496, i32 noundef %5649, ptr noundef nonnull @.str.92, ptr noundef nonnull @.str.8, i32 noundef 523, ptr noundef %5651, ptr noundef %5653, ptr noundef %5655, i32 noundef %5656) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5658:                                             ; preds = %5631
  %5659 = add nsw i32 %5633, 2
  store i32 %5659, ptr @test_count, align 4, !tbaa !5
  %5660 = call i32 @s2n_connection_set_fd(ptr noundef nonnull %5632, i32 noundef 1) #12
  %5661 = icmp eq i32 %5660, -1
  br i1 %5661, label %5662, label %5684

5662:                                             ; preds = %5658
  %5663 = load i32, ptr %1545, align 4, !tbaa !5
  %5664 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5665 = call i32 @s2n_print_stacktrace(ptr noundef %5664) #12
  %5666 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5667 = trunc nuw i8 %5666 to i1
  br i1 %5667, label %5668, label %5672

5668:                                             ; preds = %5662
  %5669 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5670 = call i32 @fileno(ptr noundef %5669) #12
  %5671 = call i32 @isatty(i32 noundef %5670) #12
  %.not1406 = icmp eq i32 %5671, 0
  br i1 %.not1406, label %5672, label %5673

5672:                                             ; preds = %5668, %5662
  br label %5673

5673:                                             ; preds = %5668, %5672
  %.str.12.sink3505 = phi ptr [ @.str.12, %5672 ], [ @.str.9, %5668 ]
  store i32 %5663, ptr %1545, align 4, !tbaa !5
  %5674 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5675 = load i32, ptr @test_count, align 4, !tbaa !5
  %5676 = load i32, ptr %1491, align 4, !tbaa !5
  %5677 = call ptr @s2n_strerror(i32 noundef %5676, ptr noundef nonnull @.str.11) #12
  %5678 = load i32, ptr %1491, align 4, !tbaa !5
  %5679 = call ptr @s2n_strerror_debug(i32 noundef %5678, ptr noundef nonnull @.str.11) #12
  %5680 = load i32, ptr %1545, align 4, !tbaa !5
  %5681 = call ptr @strerror(i32 noundef %5680) #12
  %5682 = load i32, ptr %1545, align 4, !tbaa !5
  %5683 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5674, ptr noundef nonnull %.str.12.sink3505, i32 noundef %5675, ptr noundef nonnull @.str.127, ptr noundef nonnull @.str.8, i32 noundef 525, ptr noundef %5677, ptr noundef %5679, ptr noundef %5681, i32 noundef %5682) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5684:                                             ; preds = %5658
  %5685 = load i32, ptr @test_count, align 4, !tbaa !5
  %5686 = add nsw i32 %5685, 1
  store i32 %5686, ptr @test_count, align 4, !tbaa !5
  %5687 = call i32 @s2n_connection_set_fd(ptr noundef nonnull %5632, i32 noundef 2) #12
  %5688 = icmp eq i32 %5687, -1
  br i1 %5688, label %5689, label %5711

5689:                                             ; preds = %5684
  %5690 = load i32, ptr %1545, align 4, !tbaa !5
  %5691 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5692 = call i32 @s2n_print_stacktrace(ptr noundef %5691) #12
  %5693 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5694 = trunc nuw i8 %5693 to i1
  br i1 %5694, label %5695, label %5699

5695:                                             ; preds = %5689
  %5696 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5697 = call i32 @fileno(ptr noundef %5696) #12
  %5698 = call i32 @isatty(i32 noundef %5697) #12
  %.not1405 = icmp eq i32 %5698, 0
  br i1 %.not1405, label %5699, label %5700

5699:                                             ; preds = %5695, %5689
  br label %5700

5700:                                             ; preds = %5695, %5699
  %.str.12.sink3514 = phi ptr [ @.str.12, %5699 ], [ @.str.9, %5695 ]
  store i32 %5690, ptr %1545, align 4, !tbaa !5
  %5701 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5702 = load i32, ptr @test_count, align 4, !tbaa !5
  %5703 = load i32, ptr %1491, align 4, !tbaa !5
  %5704 = call ptr @s2n_strerror(i32 noundef %5703, ptr noundef nonnull @.str.11) #12
  %5705 = load i32, ptr %1491, align 4, !tbaa !5
  %5706 = call ptr @s2n_strerror_debug(i32 noundef %5705, ptr noundef nonnull @.str.11) #12
  %5707 = load i32, ptr %1545, align 4, !tbaa !5
  %5708 = call ptr @strerror(i32 noundef %5707) #12
  %5709 = load i32, ptr %1545, align 4, !tbaa !5
  %5710 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5701, ptr noundef nonnull %.str.12.sink3514, i32 noundef %5702, ptr noundef nonnull @.str.128, ptr noundef nonnull @.str.8, i32 noundef 526, ptr noundef %5704, ptr noundef %5706, ptr noundef %5708, i32 noundef %5709) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5711:                                             ; preds = %5684
  %5712 = load i32, ptr @test_count, align 4, !tbaa !5
  %5713 = add nsw i32 %5712, 1
  store i32 %5713, ptr @test_count, align 4, !tbaa !5
  %5714 = call i32 @s2n_connection_get_write_fd(ptr noundef nonnull %5632, ptr noundef nonnull @main.getWriteFd.126) #12
  %5715 = icmp eq i32 %5714, -1
  br i1 %5715, label %5716, label %5738

5716:                                             ; preds = %5711
  %5717 = load i32, ptr %1545, align 4, !tbaa !5
  %5718 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5719 = call i32 @s2n_print_stacktrace(ptr noundef %5718) #12
  %5720 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5721 = trunc nuw i8 %5720 to i1
  br i1 %5721, label %5722, label %5726

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

5726:                                             ; preds = %5722, %5716
  br label %5727

5727:                                             ; preds = %5722, %5726
  %.str.12.sink3523 = phi ptr [ @.str.12, %5726 ], [ @.str.9, %5722 ]
  store i32 %5717, ptr %1545, align 4, !tbaa !5
  %5728 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5729 = load i32, ptr @test_count, align 4, !tbaa !5
  %5730 = load i32, ptr %1491, align 4, !tbaa !5
  %5731 = call ptr @s2n_strerror(i32 noundef %5730, ptr noundef nonnull @.str.11) #12
  %5732 = load i32, ptr %1491, align 4, !tbaa !5
  %5733 = call ptr @s2n_strerror_debug(i32 noundef %5732, ptr noundef nonnull @.str.11) #12
  %5734 = load i32, ptr %1545, align 4, !tbaa !5
  %5735 = call ptr @strerror(i32 noundef %5734) #12
  %5736 = load i32, ptr %1545, align 4, !tbaa !5
  %5737 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5728, ptr noundef nonnull %.str.12.sink3523, i32 noundef %5729, ptr noundef nonnull @.str.114, ptr noundef nonnull @.str.8, i32 noundef 528, ptr noundef %5731, ptr noundef %5733, ptr noundef %5735, i32 noundef %5736) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5738:                                             ; preds = %5711
  %5739 = load i32, ptr @test_count, align 4, !tbaa !5
  %5740 = add nsw i32 %5739, 1
  store i32 %5740, ptr @test_count, align 4, !tbaa !5
  %5741 = call i32 @s2n_connection_get_read_fd(ptr noundef nonnull %5632, ptr noundef nonnull @main.getReadFd.125) #12
  %5742 = icmp eq i32 %5741, -1
  br i1 %5742, label %5743, label %5765

5743:                                             ; preds = %5738
  %5744 = load i32, ptr %1545, align 4, !tbaa !5
  %5745 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5746 = call i32 @s2n_print_stacktrace(ptr noundef %5745) #12
  %5747 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5748 = trunc nuw i8 %5747 to i1
  br i1 %5748, label %5749, label %5753

5749:                                             ; preds = %5743
  %5750 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5751 = call i32 @fileno(ptr noundef %5750) #12
  %5752 = call i32 @isatty(i32 noundef %5751) #12
  %.not1403 = icmp eq i32 %5752, 0
  br i1 %.not1403, label %5753, label %5754

5753:                                             ; preds = %5749, %5743
  br label %5754

5754:                                             ; preds = %5749, %5753
  %.str.12.sink3532 = phi ptr [ @.str.12, %5753 ], [ @.str.9, %5749 ]
  store i32 %5744, ptr %1545, align 4, !tbaa !5
  %5755 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5756 = load i32, ptr @test_count, align 4, !tbaa !5
  %5757 = load i32, ptr %1491, align 4, !tbaa !5
  %5758 = call ptr @s2n_strerror(i32 noundef %5757, ptr noundef nonnull @.str.11) #12
  %5759 = load i32, ptr %1491, align 4, !tbaa !5
  %5760 = call ptr @s2n_strerror_debug(i32 noundef %5759, ptr noundef nonnull @.str.11) #12
  %5761 = load i32, ptr %1545, align 4, !tbaa !5
  %5762 = call ptr @strerror(i32 noundef %5761) #12
  %5763 = load i32, ptr %1545, align 4, !tbaa !5
  %5764 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5755, ptr noundef nonnull %.str.12.sink3532, i32 noundef %5756, ptr noundef nonnull @.str.115, ptr noundef nonnull @.str.8, i32 noundef 529, ptr noundef %5758, ptr noundef %5760, ptr noundef %5762, i32 noundef %5763) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5765:                                             ; preds = %5738
  %5766 = load i32, ptr @test_count, align 4, !tbaa !5
  %5767 = add nsw i32 %5766, 1
  store i32 %5767, ptr @test_count, align 4, !tbaa !5
  %5768 = load i32, ptr @main.getReadFd.125, align 4, !tbaa !5
  %5769 = icmp eq i32 %5768, 2
  br i1 %5769, label %5792, label %5770

5770:                                             ; preds = %5765
  %5771 = load i32, ptr %1545, align 4, !tbaa !5
  %5772 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5773 = call i32 @s2n_print_stacktrace(ptr noundef %5772) #12
  %5774 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5775 = trunc nuw i8 %5774 to i1
  br i1 %5775, label %5776, label %5780

5776:                                             ; preds = %5770
  %5777 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5778 = call i32 @fileno(ptr noundef %5777) #12
  %5779 = call i32 @isatty(i32 noundef %5778) #12
  %.not1185 = icmp eq i32 %5779, 0
  br i1 %.not1185, label %5780, label %5781

5780:                                             ; preds = %5776, %5770
  br label %5781

5781:                                             ; preds = %5776, %5780
  %.str.12.sink3541 = phi ptr [ @.str.12, %5780 ], [ @.str.9, %5776 ]
  store i32 %5771, ptr %1545, align 4, !tbaa !5
  %5782 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5783 = load i32, ptr @test_count, align 4, !tbaa !5
  %5784 = load i32, ptr %1491, align 4, !tbaa !5
  %5785 = call ptr @s2n_strerror(i32 noundef %5784, ptr noundef nonnull @.str.11) #12
  %5786 = load i32, ptr %1491, align 4, !tbaa !5
  %5787 = call ptr @s2n_strerror_debug(i32 noundef %5786, ptr noundef nonnull @.str.11) #12
  %5788 = load i32, ptr %1545, align 4, !tbaa !5
  %5789 = call ptr @strerror(i32 noundef %5788) #12
  %5790 = load i32, ptr %1545, align 4, !tbaa !5
  %5791 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5782, ptr noundef nonnull %.str.12.sink3541, i32 noundef %5783, ptr noundef nonnull @.str.129, ptr noundef nonnull @.str.8, i32 noundef 530, ptr noundef %5785, ptr noundef %5787, ptr noundef %5789, i32 noundef %5790) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5792:                                             ; preds = %5765
  %5793 = add nsw i32 %5766, 2
  store i32 %5793, ptr @test_count, align 4, !tbaa !5
  %5794 = load i32, ptr @main.getWriteFd.126, align 4, !tbaa !5
  %5795 = icmp eq i32 %5794, 2
  br i1 %5795, label %5818, label %5796

5796:                                             ; preds = %5792
  %5797 = load i32, ptr %1545, align 4, !tbaa !5
  %5798 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5799 = call i32 @s2n_print_stacktrace(ptr noundef %5798) #12
  %5800 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5801 = trunc nuw i8 %5800 to i1
  br i1 %5801, label %5802, label %5806

5802:                                             ; preds = %5796
  %5803 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5804 = call i32 @fileno(ptr noundef %5803) #12
  %5805 = call i32 @isatty(i32 noundef %5804) #12
  %.not1186 = icmp eq i32 %5805, 0
  br i1 %.not1186, label %5806, label %5807

5806:                                             ; preds = %5802, %5796
  br label %5807

5807:                                             ; preds = %5802, %5806
  %.str.12.sink3550 = phi ptr [ @.str.12, %5806 ], [ @.str.9, %5802 ]
  store i32 %5797, ptr %1545, align 4, !tbaa !5
  %5808 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5809 = load i32, ptr @test_count, align 4, !tbaa !5
  %5810 = load i32, ptr %1491, align 4, !tbaa !5
  %5811 = call ptr @s2n_strerror(i32 noundef %5810, ptr noundef nonnull @.str.11) #12
  %5812 = load i32, ptr %1491, align 4, !tbaa !5
  %5813 = call ptr @s2n_strerror_debug(i32 noundef %5812, ptr noundef nonnull @.str.11) #12
  %5814 = load i32, ptr %1545, align 4, !tbaa !5
  %5815 = call ptr @strerror(i32 noundef %5814) #12
  %5816 = load i32, ptr %1545, align 4, !tbaa !5
  %5817 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5808, ptr noundef nonnull %.str.12.sink3550, i32 noundef %5809, ptr noundef nonnull @.str.130, ptr noundef nonnull @.str.8, i32 noundef 531, ptr noundef %5811, ptr noundef %5813, ptr noundef %5815, i32 noundef %5816) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5818:                                             ; preds = %5792
  %5819 = add nsw i32 %5766, 3
  store i32 %5819, ptr @test_count, align 4, !tbaa !5
  %5820 = call i32 @s2n_connection_free(ptr noundef nonnull %5632) #12
  %5821 = icmp eq i32 %5820, -1
  br i1 %5821, label %5822, label %5844

5822:                                             ; preds = %5818
  %5823 = load i32, ptr %1545, align 4, !tbaa !5
  %5824 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5825 = call i32 @s2n_print_stacktrace(ptr noundef %5824) #12
  %5826 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5827 = trunc nuw i8 %5826 to i1
  br i1 %5827, label %5828, label %5832

5828:                                             ; preds = %5822
  %5829 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5830 = call i32 @fileno(ptr noundef %5829) #12
  %5831 = call i32 @isatty(i32 noundef %5830) #12
  %.not1402 = icmp eq i32 %5831, 0
  br i1 %.not1402, label %5832, label %5833

5832:                                             ; preds = %5828, %5822
  br label %5833

5833:                                             ; preds = %5828, %5832
  %.str.12.sink3559 = phi ptr [ @.str.12, %5832 ], [ @.str.9, %5828 ]
  store i32 %5823, ptr %1545, align 4, !tbaa !5
  %5834 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5835 = load i32, ptr @test_count, align 4, !tbaa !5
  %5836 = load i32, ptr %1491, align 4, !tbaa !5
  %5837 = call ptr @s2n_strerror(i32 noundef %5836, ptr noundef nonnull @.str.11) #12
  %5838 = load i32, ptr %1491, align 4, !tbaa !5
  %5839 = call ptr @s2n_strerror_debug(i32 noundef %5838, ptr noundef nonnull @.str.11) #12
  %5840 = load i32, ptr %1545, align 4, !tbaa !5
  %5841 = call ptr @strerror(i32 noundef %5840) #12
  %5842 = load i32, ptr %1545, align 4, !tbaa !5
  %5843 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5834, ptr noundef nonnull %.str.12.sink3559, i32 noundef %5835, ptr noundef nonnull @.str.25, ptr noundef nonnull @.str.8, i32 noundef 533, ptr noundef %5837, ptr noundef %5839, ptr noundef %5841, i32 noundef %5842) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5844:                                             ; preds = %5818
  %5845 = call ptr @s2n_connection_new(i32 noundef 1) #12
  %5846 = load i32, ptr @test_count, align 4, !tbaa !5
  %5847 = add nsw i32 %5846, 1
  store i32 %5847, ptr @test_count, align 4, !tbaa !5
  %5848 = icmp eq ptr %5845, null
  br i1 %5848, label %5849, label %5871

5849:                                             ; preds = %5844
  %5850 = load i32, ptr %1545, align 4, !tbaa !5
  %5851 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5852 = call i32 @s2n_print_stacktrace(ptr noundef %5851) #12
  %5853 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5854 = trunc nuw i8 %5853 to i1
  br i1 %5854, label %5855, label %5859

5855:                                             ; preds = %5849
  %5856 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5857 = call i32 @fileno(ptr noundef %5856) #12
  %5858 = call i32 @isatty(i32 noundef %5857) #12
  %.not1401 = icmp eq i32 %5858, 0
  br i1 %.not1401, label %5859, label %5860

5859:                                             ; preds = %5855, %5849
  br label %5860

5860:                                             ; preds = %5855, %5859
  %.str.12.sink3568 = phi ptr [ @.str.12, %5859 ], [ @.str.9, %5855 ]
  store i32 %5850, ptr %1545, align 4, !tbaa !5
  %5861 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5862 = load i32, ptr @test_count, align 4, !tbaa !5
  %5863 = load i32, ptr %1491, align 4, !tbaa !5
  %5864 = call ptr @s2n_strerror(i32 noundef %5863, ptr noundef nonnull @.str.11) #12
  %5865 = load i32, ptr %1491, align 4, !tbaa !5
  %5866 = call ptr @s2n_strerror_debug(i32 noundef %5865, ptr noundef nonnull @.str.11) #12
  %5867 = load i32, ptr %1545, align 4, !tbaa !5
  %5868 = call ptr @strerror(i32 noundef %5867) #12
  %5869 = load i32, ptr %1545, align 4, !tbaa !5
  %5870 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5861, ptr noundef nonnull %.str.12.sink3568, i32 noundef %5862, ptr noundef nonnull @.str.92, ptr noundef nonnull @.str.8, i32 noundef 544, ptr noundef %5864, ptr noundef %5866, ptr noundef %5868, i32 noundef %5869) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5871:                                             ; preds = %5844
  %5872 = add nsw i32 %5846, 2
  store i32 %5872, ptr @test_count, align 4, !tbaa !5
  %5873 = call i32 @s2n_connection_set_fd(ptr noundef nonnull %5845, i32 noundef 1) #12
  %5874 = icmp eq i32 %5873, -1
  br i1 %5874, label %5875, label %5897

5875:                                             ; preds = %5871
  %5876 = load i32, ptr %1545, align 4, !tbaa !5
  %5877 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5878 = call i32 @s2n_print_stacktrace(ptr noundef %5877) #12
  %5879 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5880 = trunc nuw i8 %5879 to i1
  br i1 %5880, label %5881, label %5885

5881:                                             ; preds = %5875
  %5882 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5883 = call i32 @fileno(ptr noundef %5882) #12
  %5884 = call i32 @isatty(i32 noundef %5883) #12
  %.not1400 = icmp eq i32 %5884, 0
  br i1 %.not1400, label %5885, label %5886

5885:                                             ; preds = %5881, %5875
  br label %5886

5886:                                             ; preds = %5881, %5885
  %.str.12.sink3577 = phi ptr [ @.str.12, %5885 ], [ @.str.9, %5881 ]
  store i32 %5876, ptr %1545, align 4, !tbaa !5
  %5887 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5888 = load i32, ptr @test_count, align 4, !tbaa !5
  %5889 = load i32, ptr %1491, align 4, !tbaa !5
  %5890 = call ptr @s2n_strerror(i32 noundef %5889, ptr noundef nonnull @.str.11) #12
  %5891 = load i32, ptr %1491, align 4, !tbaa !5
  %5892 = call ptr @s2n_strerror_debug(i32 noundef %5891, ptr noundef nonnull @.str.11) #12
  %5893 = load i32, ptr %1545, align 4, !tbaa !5
  %5894 = call ptr @strerror(i32 noundef %5893) #12
  %5895 = load i32, ptr %1545, align 4, !tbaa !5
  %5896 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5887, ptr noundef nonnull %.str.12.sink3577, i32 noundef %5888, ptr noundef nonnull @.str.127, ptr noundef nonnull @.str.8, i32 noundef 546, ptr noundef %5890, ptr noundef %5892, ptr noundef %5894, i32 noundef %5895) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5897:                                             ; preds = %5871
  %5898 = load i32, ptr @test_count, align 4, !tbaa !5
  %5899 = add nsw i32 %5898, 1
  store i32 %5899, ptr @test_count, align 4, !tbaa !5
  %5900 = call i32 @s2n_connection_set_read_fd(ptr noundef nonnull %5845, i32 noundef 2) #12
  %5901 = icmp eq i32 %5900, -1
  br i1 %5901, label %5902, label %5924

5902:                                             ; preds = %5897
  %5903 = load i32, ptr %1545, align 4, !tbaa !5
  %5904 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5905 = call i32 @s2n_print_stacktrace(ptr noundef %5904) #12
  %5906 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5907 = trunc nuw i8 %5906 to i1
  br i1 %5907, label %5908, label %5912

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

5912:                                             ; preds = %5908, %5902
  br label %5913

5913:                                             ; preds = %5908, %5912
  %.str.12.sink3586 = phi ptr [ @.str.12, %5912 ], [ @.str.9, %5908 ]
  store i32 %5903, ptr %1545, align 4, !tbaa !5
  %5914 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5915 = load i32, ptr @test_count, align 4, !tbaa !5
  %5916 = load i32, ptr %1491, align 4, !tbaa !5
  %5917 = call ptr @s2n_strerror(i32 noundef %5916, ptr noundef nonnull @.str.11) #12
  %5918 = load i32, ptr %1491, align 4, !tbaa !5
  %5919 = call ptr @s2n_strerror_debug(i32 noundef %5918, ptr noundef nonnull @.str.11) #12
  %5920 = load i32, ptr %1545, align 4, !tbaa !5
  %5921 = call ptr @strerror(i32 noundef %5920) #12
  %5922 = load i32, ptr %1545, align 4, !tbaa !5
  %5923 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5914, ptr noundef nonnull %.str.12.sink3586, i32 noundef %5915, ptr noundef nonnull @.str.135, ptr noundef nonnull @.str.8, i32 noundef 547, ptr noundef %5917, ptr noundef %5919, ptr noundef %5921, i32 noundef %5922) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5924:                                             ; preds = %5897
  %5925 = load i32, ptr @test_count, align 4, !tbaa !5
  %5926 = add nsw i32 %5925, 1
  store i32 %5926, ptr @test_count, align 4, !tbaa !5
  %5927 = call i32 @s2n_connection_set_write_fd(ptr noundef nonnull %5845, i32 noundef 2) #12
  %5928 = icmp eq i32 %5927, -1
  br i1 %5928, label %5929, label %5951

5929:                                             ; preds = %5924
  %5930 = load i32, ptr %1545, align 4, !tbaa !5
  %5931 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5932 = call i32 @s2n_print_stacktrace(ptr noundef %5931) #12
  %5933 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5934 = trunc nuw i8 %5933 to i1
  br i1 %5934, label %5935, label %5939

5935:                                             ; preds = %5929
  %5936 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5937 = call i32 @fileno(ptr noundef %5936) #12
  %5938 = call i32 @isatty(i32 noundef %5937) #12
  %.not1398 = icmp eq i32 %5938, 0
  br i1 %.not1398, label %5939, label %5940

5939:                                             ; preds = %5935, %5929
  br label %5940

5940:                                             ; preds = %5935, %5939
  %.str.12.sink3595 = phi ptr [ @.str.12, %5939 ], [ @.str.9, %5935 ]
  store i32 %5930, ptr %1545, align 4, !tbaa !5
  %5941 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5942 = load i32, ptr @test_count, align 4, !tbaa !5
  %5943 = load i32, ptr %1491, align 4, !tbaa !5
  %5944 = call ptr @s2n_strerror(i32 noundef %5943, ptr noundef nonnull @.str.11) #12
  %5945 = load i32, ptr %1491, align 4, !tbaa !5
  %5946 = call ptr @s2n_strerror_debug(i32 noundef %5945, ptr noundef nonnull @.str.11) #12
  %5947 = load i32, ptr %1545, align 4, !tbaa !5
  %5948 = call ptr @strerror(i32 noundef %5947) #12
  %5949 = load i32, ptr %1545, align 4, !tbaa !5
  %5950 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5941, ptr noundef nonnull %.str.12.sink3595, i32 noundef %5942, ptr noundef nonnull @.str.136, ptr noundef nonnull @.str.8, i32 noundef 548, ptr noundef %5944, ptr noundef %5946, ptr noundef %5948, i32 noundef %5949) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5951:                                             ; preds = %5924
  %5952 = load i32, ptr @test_count, align 4, !tbaa !5
  %5953 = add nsw i32 %5952, 1
  store i32 %5953, ptr @test_count, align 4, !tbaa !5
  %5954 = call i32 @s2n_connection_get_write_fd(ptr noundef nonnull %5845, ptr noundef nonnull @main.getWriteFd.134) #12
  %5955 = icmp eq i32 %5954, -1
  br i1 %5955, label %5956, label %5978

5956:                                             ; preds = %5951
  %5957 = load i32, ptr %1545, align 4, !tbaa !5
  %5958 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5959 = call i32 @s2n_print_stacktrace(ptr noundef %5958) #12
  %5960 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5961 = trunc nuw i8 %5960 to i1
  br i1 %5961, label %5962, label %5966

5962:                                             ; preds = %5956
  %5963 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5964 = call i32 @fileno(ptr noundef %5963) #12
  %5965 = call i32 @isatty(i32 noundef %5964) #12
  %.not1397 = icmp eq i32 %5965, 0
  br i1 %.not1397, label %5966, label %5967

5966:                                             ; preds = %5962, %5956
  br label %5967

5967:                                             ; preds = %5962, %5966
  %.str.12.sink3604 = phi ptr [ @.str.12, %5966 ], [ @.str.9, %5962 ]
  store i32 %5957, ptr %1545, align 4, !tbaa !5
  %5968 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5969 = load i32, ptr @test_count, align 4, !tbaa !5
  %5970 = load i32, ptr %1491, align 4, !tbaa !5
  %5971 = call ptr @s2n_strerror(i32 noundef %5970, ptr noundef nonnull @.str.11) #12
  %5972 = load i32, ptr %1491, align 4, !tbaa !5
  %5973 = call ptr @s2n_strerror_debug(i32 noundef %5972, ptr noundef nonnull @.str.11) #12
  %5974 = load i32, ptr %1545, align 4, !tbaa !5
  %5975 = call ptr @strerror(i32 noundef %5974) #12
  %5976 = load i32, ptr %1545, align 4, !tbaa !5
  %5977 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5968, ptr noundef nonnull %.str.12.sink3604, i32 noundef %5969, ptr noundef nonnull @.str.114, ptr noundef nonnull @.str.8, i32 noundef 550, ptr noundef %5971, ptr noundef %5973, ptr noundef %5975, i32 noundef %5976) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5978:                                             ; preds = %5951
  %5979 = load i32, ptr @test_count, align 4, !tbaa !5
  %5980 = add nsw i32 %5979, 1
  store i32 %5980, ptr @test_count, align 4, !tbaa !5
  %5981 = call i32 @s2n_connection_get_read_fd(ptr noundef nonnull %5845, ptr noundef nonnull @main.getReadFd.133) #12
  %5982 = icmp eq i32 %5981, -1
  br i1 %5982, label %5983, label %6005

5983:                                             ; preds = %5978
  %5984 = load i32, ptr %1545, align 4, !tbaa !5
  %5985 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5986 = call i32 @s2n_print_stacktrace(ptr noundef %5985) #12
  %5987 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5988 = trunc nuw i8 %5987 to i1
  br i1 %5988, label %5989, label %5993

5989:                                             ; preds = %5983
  %5990 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5991 = call i32 @fileno(ptr noundef %5990) #12
  %5992 = call i32 @isatty(i32 noundef %5991) #12
  %.not1396 = icmp eq i32 %5992, 0
  br i1 %.not1396, label %5993, label %5994

5993:                                             ; preds = %5989, %5983
  br label %5994

5994:                                             ; preds = %5989, %5993
  %.str.12.sink3613 = phi ptr [ @.str.12, %5993 ], [ @.str.9, %5989 ]
  store i32 %5984, ptr %1545, align 4, !tbaa !5
  %5995 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5996 = load i32, ptr @test_count, align 4, !tbaa !5
  %5997 = load i32, ptr %1491, align 4, !tbaa !5
  %5998 = call ptr @s2n_strerror(i32 noundef %5997, ptr noundef nonnull @.str.11) #12
  %5999 = load i32, ptr %1491, align 4, !tbaa !5
  %6000 = call ptr @s2n_strerror_debug(i32 noundef %5999, ptr noundef nonnull @.str.11) #12
  %6001 = load i32, ptr %1545, align 4, !tbaa !5
  %6002 = call ptr @strerror(i32 noundef %6001) #12
  %6003 = load i32, ptr %1545, align 4, !tbaa !5
  %6004 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5995, ptr noundef nonnull %.str.12.sink3613, i32 noundef %5996, ptr noundef nonnull @.str.115, ptr noundef nonnull @.str.8, i32 noundef 551, ptr noundef %5998, ptr noundef %6000, ptr noundef %6002, i32 noundef %6003) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6005:                                             ; preds = %5978
  %6006 = load i32, ptr @test_count, align 4, !tbaa !5
  %6007 = add nsw i32 %6006, 1
  store i32 %6007, ptr @test_count, align 4, !tbaa !5
  %6008 = load i32, ptr @main.getReadFd.133, align 4, !tbaa !5
  %6009 = icmp eq i32 %6008, 2
  br i1 %6009, label %6032, label %6010

6010:                                             ; preds = %6005
  %6011 = load i32, ptr %1545, align 4, !tbaa !5
  %6012 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6013 = call i32 @s2n_print_stacktrace(ptr noundef %6012) #12
  %6014 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6015 = trunc nuw i8 %6014 to i1
  br i1 %6015, label %6016, label %6020

6016:                                             ; preds = %6010
  %6017 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6018 = call i32 @fileno(ptr noundef %6017) #12
  %6019 = call i32 @isatty(i32 noundef %6018) #12
  %.not1187 = icmp eq i32 %6019, 0
  br i1 %.not1187, label %6020, label %6021

6020:                                             ; preds = %6016, %6010
  br label %6021

6021:                                             ; preds = %6016, %6020
  %.str.12.sink3622 = phi ptr [ @.str.12, %6020 ], [ @.str.9, %6016 ]
  store i32 %6011, ptr %1545, align 4, !tbaa !5
  %6022 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6023 = load i32, ptr @test_count, align 4, !tbaa !5
  %6024 = load i32, ptr %1491, align 4, !tbaa !5
  %6025 = call ptr @s2n_strerror(i32 noundef %6024, ptr noundef nonnull @.str.11) #12
  %6026 = load i32, ptr %1491, align 4, !tbaa !5
  %6027 = call ptr @s2n_strerror_debug(i32 noundef %6026, ptr noundef nonnull @.str.11) #12
  %6028 = load i32, ptr %1545, align 4, !tbaa !5
  %6029 = call ptr @strerror(i32 noundef %6028) #12
  %6030 = load i32, ptr %1545, align 4, !tbaa !5
  %6031 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6022, ptr noundef nonnull %.str.12.sink3622, i32 noundef %6023, ptr noundef nonnull @.str.129, ptr noundef nonnull @.str.8, i32 noundef 552, ptr noundef %6025, ptr noundef %6027, ptr noundef %6029, i32 noundef %6030) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6032:                                             ; preds = %6005
  %6033 = add nsw i32 %6006, 2
  store i32 %6033, ptr @test_count, align 4, !tbaa !5
  %6034 = load i32, ptr @main.getWriteFd.134, align 4, !tbaa !5
  %6035 = icmp eq i32 %6034, 2
  br i1 %6035, label %6058, label %6036

6036:                                             ; preds = %6032
  %6037 = load i32, ptr %1545, align 4, !tbaa !5
  %6038 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6039 = call i32 @s2n_print_stacktrace(ptr noundef %6038) #12
  %6040 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6041 = trunc nuw i8 %6040 to i1
  br i1 %6041, label %6042, label %6046

6042:                                             ; preds = %6036
  %6043 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6044 = call i32 @fileno(ptr noundef %6043) #12
  %6045 = call i32 @isatty(i32 noundef %6044) #12
  %.not1188 = icmp eq i32 %6045, 0
  br i1 %.not1188, label %6046, label %6047

6046:                                             ; preds = %6042, %6036
  br label %6047

6047:                                             ; preds = %6042, %6046
  %.str.12.sink3631 = phi ptr [ @.str.12, %6046 ], [ @.str.9, %6042 ]
  store i32 %6037, ptr %1545, align 4, !tbaa !5
  %6048 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6049 = load i32, ptr @test_count, align 4, !tbaa !5
  %6050 = load i32, ptr %1491, align 4, !tbaa !5
  %6051 = call ptr @s2n_strerror(i32 noundef %6050, ptr noundef nonnull @.str.11) #12
  %6052 = load i32, ptr %1491, align 4, !tbaa !5
  %6053 = call ptr @s2n_strerror_debug(i32 noundef %6052, ptr noundef nonnull @.str.11) #12
  %6054 = load i32, ptr %1545, align 4, !tbaa !5
  %6055 = call ptr @strerror(i32 noundef %6054) #12
  %6056 = load i32, ptr %1545, align 4, !tbaa !5
  %6057 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6048, ptr noundef nonnull %.str.12.sink3631, i32 noundef %6049, ptr noundef nonnull @.str.130, ptr noundef nonnull @.str.8, i32 noundef 553, ptr noundef %6051, ptr noundef %6053, ptr noundef %6055, i32 noundef %6056) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6058:                                             ; preds = %6032
  %6059 = add nsw i32 %6006, 3
  store i32 %6059, ptr @test_count, align 4, !tbaa !5
  %6060 = call i32 @s2n_connection_free(ptr noundef nonnull %5845) #12
  %6061 = icmp eq i32 %6060, -1
  br i1 %6061, label %6062, label %6084

6062:                                             ; preds = %6058
  %6063 = load i32, ptr %1545, 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
  %.not1395 = icmp eq i32 %6071, 0
  br i1 %.not1395, label %6072, label %6073

6072:                                             ; preds = %6068, %6062
  br label %6073

6073:                                             ; preds = %6068, %6072
  %.str.12.sink3640 = phi ptr [ @.str.12, %6072 ], [ @.str.9, %6068 ]
  store i32 %6063, ptr %1545, 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 %1491, align 4, !tbaa !5
  %6077 = call ptr @s2n_strerror(i32 noundef %6076, ptr noundef nonnull @.str.11) #12
  %6078 = load i32, ptr %1491, align 4, !tbaa !5
  %6079 = call ptr @s2n_strerror_debug(i32 noundef %6078, ptr noundef nonnull @.str.11) #12
  %6080 = load i32, ptr %1545, align 4, !tbaa !5
  %6081 = call ptr @strerror(i32 noundef %6080) #12
  %6082 = load i32, ptr %1545, align 4, !tbaa !5
  %6083 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6074, ptr noundef nonnull %.str.12.sink3640, i32 noundef %6075, ptr noundef nonnull @.str.25, ptr noundef nonnull @.str.8, i32 noundef 555, ptr noundef %6077, ptr noundef %6079, ptr noundef %6081, i32 noundef %6082) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6084:                                             ; preds = %6058
  call void @llvm.lifetime.start.p0(i64 18, ptr nonnull %15) #12
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 16 dereferenceable(18) %15, ptr noundef nonnull align 16 dereferenceable(18) @__const.main.socket_ctx, i64 18, i1 false)
  %6085 = call ptr @s2n_connection_new(i32 noundef 1) #12
  %6086 = load i32, ptr @test_count, align 4, !tbaa !5
  %6087 = add nsw i32 %6086, 1
  store i32 %6087, ptr @test_count, align 4, !tbaa !5
  %6088 = icmp eq ptr %6085, null
  br i1 %6088, label %6089, label %6111

6089:                                             ; preds = %6084
  %6090 = load i32, ptr %1545, 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
  %.not1394 = icmp eq i32 %6098, 0
  br i1 %.not1394, label %6099, label %6100

6099:                                             ; preds = %6095, %6089
  br label %6100

6100:                                             ; preds = %6095, %6099
  %.str.12.sink3649 = phi ptr [ @.str.12, %6099 ], [ @.str.9, %6095 ]
  store i32 %6090, ptr %1545, 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 %1491, align 4, !tbaa !5
  %6104 = call ptr @s2n_strerror(i32 noundef %6103, ptr noundef nonnull @.str.11) #12
  %6105 = load i32, ptr %1491, align 4, !tbaa !5
  %6106 = call ptr @s2n_strerror_debug(i32 noundef %6105, ptr noundef nonnull @.str.11) #12
  %6107 = load i32, ptr %1545, align 4, !tbaa !5
  %6108 = call ptr @strerror(i32 noundef %6107) #12
  %6109 = load i32, ptr %1545, align 4, !tbaa !5
  %6110 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6101, ptr noundef nonnull %.str.12.sink3649, i32 noundef %6102, ptr noundef nonnull @.str.92, ptr noundef nonnull @.str.8, i32 noundef 565, 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 %6086, 2
  store i32 %6112, ptr @test_count, align 4, !tbaa !5
  %6113 = call i32 @s2n_connection_set_read_fd(ptr noundef nonnull %6085, i32 noundef 1) #12
  %6114 = icmp eq i32 %6113, -1
  br i1 %6114, label %6115, label %6137

6115:                                             ; preds = %6111
  %6116 = load i32, ptr %1545, 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
  %.not1393 = icmp eq i32 %6124, 0
  br i1 %.not1393, label %6125, label %6126

6125:                                             ; preds = %6121, %6115
  br label %6126

6126:                                             ; preds = %6121, %6125
  %.str.12.sink3658 = phi ptr [ @.str.12, %6125 ], [ @.str.9, %6121 ]
  store i32 %6116, ptr %1545, 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 %1491, align 4, !tbaa !5
  %6130 = call ptr @s2n_strerror(i32 noundef %6129, ptr noundef nonnull @.str.11) #12
  %6131 = load i32, ptr %1491, align 4, !tbaa !5
  %6132 = call ptr @s2n_strerror_debug(i32 noundef %6131, ptr noundef nonnull @.str.11) #12
  %6133 = load i32, ptr %1545, align 4, !tbaa !5
  %6134 = call ptr @strerror(i32 noundef %6133) #12
  %6135 = load i32, ptr %1545, align 4, !tbaa !5
  %6136 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6127, ptr noundef nonnull %.str.12.sink3658, i32 noundef %6128, ptr noundef nonnull @.str.119, ptr noundef nonnull @.str.8, i32 noundef 567, 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 = call i32 @s2n_connection_set_send_cb(ptr noundef nonnull %6085, ptr noundef nonnull @s2n_noop_send_cb) #12
  %6141 = icmp eq i32 %6140, -1
  br i1 %6141, label %6142, label %6164

6142:                                             ; preds = %6137
  %6143 = load i32, ptr %1545, 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
  %.not1392 = icmp eq i32 %6151, 0
  br i1 %.not1392, label %6152, label %6153

6152:                                             ; preds = %6148, %6142
  br label %6153

6153:                                             ; preds = %6148, %6152
  %.str.12.sink3667 = phi ptr [ @.str.12, %6152 ], [ @.str.9, %6148 ]
  store i32 %6143, ptr %1545, 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 %1491, align 4, !tbaa !5
  %6157 = call ptr @s2n_strerror(i32 noundef %6156, ptr noundef nonnull @.str.11) #12
  %6158 = load i32, ptr %1491, align 4, !tbaa !5
  %6159 = call ptr @s2n_strerror_debug(i32 noundef %6158, ptr noundef nonnull @.str.11) #12
  %6160 = load i32, ptr %1545, align 4, !tbaa !5
  %6161 = call ptr @strerror(i32 noundef %6160) #12
  %6162 = load i32, ptr %1545, align 4, !tbaa !5
  %6163 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6154, ptr noundef nonnull %.str.12.sink3667, i32 noundef %6155, ptr noundef nonnull @.str.139, ptr noundef nonnull @.str.8, i32 noundef 568, 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 = load i32, ptr @test_count, align 4, !tbaa !5
  %6166 = add nsw i32 %6165, 1
  store i32 %6166, ptr @test_count, align 4, !tbaa !5
  %6167 = call i32 @s2n_connection_set_send_ctx(ptr noundef nonnull %6085, ptr noundef nonnull %15) #12
  %6168 = icmp eq i32 %6167, -1
  br i1 %6168, label %6169, label %6191

6169:                                             ; preds = %6164
  %6170 = load i32, ptr %1545, align 4, !tbaa !5
  %6171 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6172 = call i32 @s2n_print_stacktrace(ptr noundef %6171) #12
  %6173 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6174 = trunc nuw i8 %6173 to i1
  br i1 %6174, label %6175, label %6179

6175:                                             ; preds = %6169
  %6176 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6177 = call i32 @fileno(ptr noundef %6176) #12
  %6178 = call i32 @isatty(i32 noundef %6177) #12
  %.not1391 = icmp eq i32 %6178, 0
  br i1 %.not1391, label %6179, label %6180

6179:                                             ; preds = %6175, %6169
  br label %6180

6180:                                             ; preds = %6175, %6179
  %.str.12.sink3676 = phi ptr [ @.str.12, %6179 ], [ @.str.9, %6175 ]
  store i32 %6170, ptr %1545, align 4, !tbaa !5
  %6181 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6182 = load i32, ptr @test_count, align 4, !tbaa !5
  %6183 = load i32, ptr %1491, align 4, !tbaa !5
  %6184 = call ptr @s2n_strerror(i32 noundef %6183, ptr noundef nonnull @.str.11) #12
  %6185 = load i32, ptr %1491, align 4, !tbaa !5
  %6186 = call ptr @s2n_strerror_debug(i32 noundef %6185, ptr noundef nonnull @.str.11) #12
  %6187 = load i32, ptr %1545, align 4, !tbaa !5
  %6188 = call ptr @strerror(i32 noundef %6187) #12
  %6189 = load i32, ptr %1545, align 4, !tbaa !5
  %6190 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6181, ptr noundef nonnull %.str.12.sink3676, i32 noundef %6182, ptr noundef nonnull @.str.140, ptr noundef nonnull @.str.8, i32 noundef 569, ptr noundef %6184, ptr noundef %6186, ptr noundef %6188, i32 noundef %6189) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6191:                                             ; preds = %6164
  %6192 = load i32, ptr @test_count, align 4, !tbaa !5
  %6193 = add nsw i32 %6192, 1
  store i32 %6193, ptr @test_count, align 4, !tbaa !5
  %6194 = call i32 @s2n_connection_wipe(ptr noundef nonnull %6085) #12
  %6195 = icmp eq i32 %6194, -1
  br i1 %6195, label %6196, label %6218

6196:                                             ; preds = %6191
  %6197 = load i32, ptr %1545, 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
  %.not1390 = icmp eq i32 %6205, 0
  br i1 %.not1390, label %6206, label %6207

6206:                                             ; preds = %6202, %6196
  br label %6207

6207:                                             ; preds = %6202, %6206
  %.str.12.sink3685 = phi ptr [ @.str.12, %6206 ], [ @.str.9, %6202 ]
  store i32 %6197, ptr %1545, 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 %1491, align 4, !tbaa !5
  %6211 = call ptr @s2n_strerror(i32 noundef %6210, ptr noundef nonnull @.str.11) #12
  %6212 = load i32, ptr %1491, align 4, !tbaa !5
  %6213 = call ptr @s2n_strerror_debug(i32 noundef %6212, ptr noundef nonnull @.str.11) #12
  %6214 = load i32, ptr %1545, align 4, !tbaa !5
  %6215 = call ptr @strerror(i32 noundef %6214) #12
  %6216 = load i32, ptr %1545, align 4, !tbaa !5
  %6217 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6208, ptr noundef nonnull %.str.12.sink3685, i32 noundef %6209, ptr noundef nonnull @.str.118, ptr noundef nonnull @.str.8, i32 noundef 571, ptr noundef %6211, ptr noundef %6213, ptr noundef %6215, i32 noundef %6216) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6218:                                             ; preds = %6191
  %6219 = load i32, ptr @test_count, align 4, !tbaa !5
  %6220 = add nsw i32 %6219, 1
  store i32 %6220, ptr @test_count, align 4, !tbaa !5
  %6221 = call i32 @s2n_connection_set_write_fd(ptr noundef nonnull %6085, i32 noundef 2) #12
  %6222 = icmp eq i32 %6221, -1
  br i1 %6222, label %6223, label %6245

6223:                                             ; preds = %6218
  %6224 = load i32, ptr %1545, align 4, !tbaa !5
  %6225 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6226 = call i32 @s2n_print_stacktrace(ptr noundef %6225) #12
  %6227 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6228 = trunc nuw i8 %6227 to i1
  br i1 %6228, label %6229, label %6233

6229:                                             ; preds = %6223
  %6230 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6231 = call i32 @fileno(ptr noundef %6230) #12
  %6232 = call i32 @isatty(i32 noundef %6231) #12
  %.not1389 = icmp eq i32 %6232, 0
  br i1 %.not1389, label %6233, label %6234

6233:                                             ; preds = %6229, %6223
  br label %6234

6234:                                             ; preds = %6229, %6233
  %.str.12.sink3694 = phi ptr [ @.str.12, %6233 ], [ @.str.9, %6229 ]
  store i32 %6224, ptr %1545, align 4, !tbaa !5
  %6235 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6236 = load i32, ptr @test_count, align 4, !tbaa !5
  %6237 = load i32, ptr %1491, align 4, !tbaa !5
  %6238 = call ptr @s2n_strerror(i32 noundef %6237, ptr noundef nonnull @.str.11) #12
  %6239 = load i32, ptr %1491, align 4, !tbaa !5
  %6240 = call ptr @s2n_strerror_debug(i32 noundef %6239, ptr noundef nonnull @.str.11) #12
  %6241 = load i32, ptr %1545, align 4, !tbaa !5
  %6242 = call ptr @strerror(i32 noundef %6241) #12
  %6243 = load i32, ptr %1545, align 4, !tbaa !5
  %6244 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6235, ptr noundef nonnull %.str.12.sink3694, i32 noundef %6236, ptr noundef nonnull @.str.122, ptr noundef nonnull @.str.8, i32 noundef 573, ptr noundef %6238, ptr noundef %6240, ptr noundef %6242, i32 noundef %6243) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6245:                                             ; preds = %6218
  %6246 = load i32, ptr @test_count, align 4, !tbaa !5
  %6247 = add nsw i32 %6246, 1
  store i32 %6247, ptr @test_count, align 4, !tbaa !5
  %6248 = call i32 @s2n_connection_set_recv_cb(ptr noundef nonnull %6085, ptr noundef nonnull @s2n_noop_recv_cb) #12
  %6249 = icmp eq i32 %6248, -1
  br i1 %6249, label %6250, label %6272

6250:                                             ; preds = %6245
  %6251 = load i32, ptr %1545, align 4, !tbaa !5
  %6252 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6253 = call i32 @s2n_print_stacktrace(ptr noundef %6252) #12
  %6254 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6255 = trunc nuw i8 %6254 to i1
  br i1 %6255, label %6256, label %6260

6256:                                             ; preds = %6250
  %6257 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6258 = call i32 @fileno(ptr noundef %6257) #12
  %6259 = call i32 @isatty(i32 noundef %6258) #12
  %.not1388 = icmp eq i32 %6259, 0
  br i1 %.not1388, label %6260, label %6261

6260:                                             ; preds = %6256, %6250
  br label %6261

6261:                                             ; preds = %6256, %6260
  %.str.12.sink3703 = phi ptr [ @.str.12, %6260 ], [ @.str.9, %6256 ]
  store i32 %6251, ptr %1545, align 4, !tbaa !5
  %6262 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6263 = load i32, ptr @test_count, align 4, !tbaa !5
  %6264 = load i32, ptr %1491, align 4, !tbaa !5
  %6265 = call ptr @s2n_strerror(i32 noundef %6264, ptr noundef nonnull @.str.11) #12
  %6266 = load i32, ptr %1491, align 4, !tbaa !5
  %6267 = call ptr @s2n_strerror_debug(i32 noundef %6266, ptr noundef nonnull @.str.11) #12
  %6268 = load i32, ptr %1545, align 4, !tbaa !5
  %6269 = call ptr @strerror(i32 noundef %6268) #12
  %6270 = load i32, ptr %1545, align 4, !tbaa !5
  %6271 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6262, ptr noundef nonnull %.str.12.sink3703, i32 noundef %6263, ptr noundef nonnull @.str.141, ptr noundef nonnull @.str.8, i32 noundef 574, ptr noundef %6265, ptr noundef %6267, ptr noundef %6269, i32 noundef %6270) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6272:                                             ; preds = %6245
  %6273 = load i32, ptr @test_count, align 4, !tbaa !5
  %6274 = add nsw i32 %6273, 1
  store i32 %6274, ptr @test_count, align 4, !tbaa !5
  %6275 = call i32 @s2n_connection_set_recv_ctx(ptr noundef nonnull %6085, ptr noundef nonnull %15) #12
  %6276 = icmp eq i32 %6275, -1
  br i1 %6276, label %6277, label %6299

6277:                                             ; preds = %6272
  %6278 = load i32, ptr %1545, align 4, !tbaa !5
  %6279 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6280 = call i32 @s2n_print_stacktrace(ptr noundef %6279) #12
  %6281 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6282 = trunc nuw i8 %6281 to i1
  br i1 %6282, label %6283, label %6287

6283:                                             ; preds = %6277
  %6284 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6285 = call i32 @fileno(ptr noundef %6284) #12
  %6286 = call i32 @isatty(i32 noundef %6285) #12
  %.not1387 = icmp eq i32 %6286, 0
  br i1 %.not1387, label %6287, label %6288

6287:                                             ; preds = %6283, %6277
  br label %6288

6288:                                             ; preds = %6283, %6287
  %.str.12.sink3712 = phi ptr [ @.str.12, %6287 ], [ @.str.9, %6283 ]
  store i32 %6278, ptr %1545, align 4, !tbaa !5
  %6289 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6290 = load i32, ptr @test_count, align 4, !tbaa !5
  %6291 = load i32, ptr %1491, align 4, !tbaa !5
  %6292 = call ptr @s2n_strerror(i32 noundef %6291, ptr noundef nonnull @.str.11) #12
  %6293 = load i32, ptr %1491, align 4, !tbaa !5
  %6294 = call ptr @s2n_strerror_debug(i32 noundef %6293, ptr noundef nonnull @.str.11) #12
  %6295 = load i32, ptr %1545, align 4, !tbaa !5
  %6296 = call ptr @strerror(i32 noundef %6295) #12
  %6297 = load i32, ptr %1545, align 4, !tbaa !5
  %6298 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6289, ptr noundef nonnull %.str.12.sink3712, i32 noundef %6290, ptr noundef nonnull @.str.142, ptr noundef nonnull @.str.8, i32 noundef 575, ptr noundef %6292, ptr noundef %6294, ptr noundef %6296, i32 noundef %6297) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6299:                                             ; preds = %6272
  %6300 = load i32, ptr @test_count, align 4, !tbaa !5
  %6301 = add nsw i32 %6300, 1
  store i32 %6301, ptr @test_count, align 4, !tbaa !5
  %6302 = call i32 @s2n_connection_free(ptr noundef nonnull %6085) #12
  %6303 = icmp eq i32 %6302, -1
  br i1 %6303, label %6304, label %6326

6304:                                             ; preds = %6299
  %6305 = load i32, ptr %1545, align 4, !tbaa !5
  %6306 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6307 = call i32 @s2n_print_stacktrace(ptr noundef %6306) #12
  %6308 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6309 = trunc nuw i8 %6308 to i1
  br i1 %6309, label %6310, label %6314

6310:                                             ; preds = %6304
  %6311 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6312 = call i32 @fileno(ptr noundef %6311) #12
  %6313 = call i32 @isatty(i32 noundef %6312) #12
  %.not1386 = icmp eq i32 %6313, 0
  br i1 %.not1386, label %6314, label %6315

6314:                                             ; preds = %6310, %6304
  br label %6315

6315:                                             ; preds = %6310, %6314
  %.str.12.sink3721 = phi ptr [ @.str.12, %6314 ], [ @.str.9, %6310 ]
  store i32 %6305, ptr %1545, align 4, !tbaa !5
  %6316 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6317 = load i32, ptr @test_count, align 4, !tbaa !5
  %6318 = load i32, ptr %1491, align 4, !tbaa !5
  %6319 = call ptr @s2n_strerror(i32 noundef %6318, ptr noundef nonnull @.str.11) #12
  %6320 = load i32, ptr %1491, align 4, !tbaa !5
  %6321 = call ptr @s2n_strerror_debug(i32 noundef %6320, ptr noundef nonnull @.str.11) #12
  %6322 = load i32, ptr %1545, align 4, !tbaa !5
  %6323 = call ptr @strerror(i32 noundef %6322) #12
  %6324 = load i32, ptr %1545, align 4, !tbaa !5
  %6325 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6316, ptr noundef nonnull %.str.12.sink3721, i32 noundef %6317, ptr noundef nonnull @.str.25, ptr noundef nonnull @.str.8, i32 noundef 577, ptr noundef %6319, ptr noundef %6321, ptr noundef %6323, i32 noundef %6324) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6326:                                             ; preds = %6299
  call void @llvm.lifetime.end.p0(i64 18, ptr nonnull %15) #12
  call void @llvm.lifetime.start.p0(i64 18, ptr nonnull %16) #12
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 16 dereferenceable(18) %16, ptr noundef nonnull align 16 dereferenceable(18) @__const.main.socket_ctx.144, i64 18, i1 false)
  %6327 = call ptr @s2n_connection_new(i32 noundef 1) #12
  %6328 = load i32, ptr @test_count, align 4, !tbaa !5
  %6329 = add nsw i32 %6328, 1
  store i32 %6329, ptr @test_count, align 4, !tbaa !5
  %6330 = icmp eq ptr %6327, null
  br i1 %6330, label %6331, label %6353

6331:                                             ; preds = %6326
  %6332 = load i32, ptr %1545, align 4, !tbaa !5
  %6333 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6334 = call i32 @s2n_print_stacktrace(ptr noundef %6333) #12
  %6335 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6336 = trunc nuw i8 %6335 to i1
  br i1 %6336, label %6337, label %6341

6337:                                             ; preds = %6331
  %6338 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6339 = call i32 @fileno(ptr noundef %6338) #12
  %6340 = call i32 @isatty(i32 noundef %6339) #12
  %.not1385 = icmp eq i32 %6340, 0
  br i1 %.not1385, label %6341, label %6342

6341:                                             ; preds = %6337, %6331
  br label %6342

6342:                                             ; preds = %6337, %6341
  %.str.12.sink3730 = phi ptr [ @.str.12, %6341 ], [ @.str.9, %6337 ]
  store i32 %6332, ptr %1545, align 4, !tbaa !5
  %6343 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6344 = load i32, ptr @test_count, align 4, !tbaa !5
  %6345 = load i32, ptr %1491, align 4, !tbaa !5
  %6346 = call ptr @s2n_strerror(i32 noundef %6345, ptr noundef nonnull @.str.11) #12
  %6347 = load i32, ptr %1491, align 4, !tbaa !5
  %6348 = call ptr @s2n_strerror_debug(i32 noundef %6347, ptr noundef nonnull @.str.11) #12
  %6349 = load i32, ptr %1545, align 4, !tbaa !5
  %6350 = call ptr @strerror(i32 noundef %6349) #12
  %6351 = load i32, ptr %1545, align 4, !tbaa !5
  %6352 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6343, ptr noundef nonnull %.str.12.sink3730, i32 noundef %6344, ptr noundef nonnull @.str.92, ptr noundef nonnull @.str.8, i32 noundef 586, ptr noundef %6346, ptr noundef %6348, ptr noundef %6350, i32 noundef %6351) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6353:                                             ; preds = %6326
  %6354 = add nsw i32 %6328, 2
  store i32 %6354, ptr @test_count, align 4, !tbaa !5
  %6355 = call i32 @s2n_connection_set_fd(ptr noundef nonnull %6327, i32 noundef 1) #12
  %6356 = icmp eq i32 %6355, -1
  br i1 %6356, label %6357, label %6379

6357:                                             ; preds = %6353
  %6358 = load i32, ptr %1545, align 4, !tbaa !5
  %6359 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6360 = call i32 @s2n_print_stacktrace(ptr noundef %6359) #12
  %6361 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6362 = trunc nuw i8 %6361 to i1
  br i1 %6362, label %6363, label %6367

6363:                                             ; preds = %6357
  %6364 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6365 = call i32 @fileno(ptr noundef %6364) #12
  %6366 = call i32 @isatty(i32 noundef %6365) #12
  %.not1384 = icmp eq i32 %6366, 0
  br i1 %.not1384, label %6367, label %6368

6367:                                             ; preds = %6363, %6357
  br label %6368

6368:                                             ; preds = %6363, %6367
  %.str.12.sink3739 = phi ptr [ @.str.12, %6367 ], [ @.str.9, %6363 ]
  store i32 %6358, ptr %1545, align 4, !tbaa !5
  %6369 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6370 = load i32, ptr @test_count, align 4, !tbaa !5
  %6371 = load i32, ptr %1491, align 4, !tbaa !5
  %6372 = call ptr @s2n_strerror(i32 noundef %6371, ptr noundef nonnull @.str.11) #12
  %6373 = load i32, ptr %1491, align 4, !tbaa !5
  %6374 = call ptr @s2n_strerror_debug(i32 noundef %6373, ptr noundef nonnull @.str.11) #12
  %6375 = load i32, ptr %1545, align 4, !tbaa !5
  %6376 = call ptr @strerror(i32 noundef %6375) #12
  %6377 = load i32, ptr %1545, align 4, !tbaa !5
  %6378 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6369, ptr noundef nonnull %.str.12.sink3739, i32 noundef %6370, ptr noundef nonnull @.str.113, ptr noundef nonnull @.str.8, i32 noundef 589, ptr noundef %6372, ptr noundef %6374, ptr noundef %6376, i32 noundef %6377) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6379:                                             ; preds = %6353
  %6380 = load i32, ptr @test_count, align 4, !tbaa !5
  %6381 = add nsw i32 %6380, 1
  store i32 %6381, ptr @test_count, align 4, !tbaa !5
  %6382 = getelementptr inbounds i8, ptr %6327, i64 48
  %6383 = load ptr, ptr %6382, align 8, !tbaa !63
  %6384 = icmp eq ptr %6383, null
  br i1 %6384, label %6385, label %6407

6385:                                             ; preds = %6379
  %6386 = load i32, ptr %1545, align 4, !tbaa !5
  %6387 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6388 = call i32 @s2n_print_stacktrace(ptr noundef %6387) #12
  %6389 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6390 = trunc nuw i8 %6389 to i1
  br i1 %6390, label %6391, label %6395

6391:                                             ; preds = %6385
  %6392 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6393 = call i32 @fileno(ptr noundef %6392) #12
  %6394 = call i32 @isatty(i32 noundef %6393) #12
  %.not1383 = icmp eq i32 %6394, 0
  br i1 %.not1383, label %6395, label %6396

6395:                                             ; preds = %6391, %6385
  br label %6396

6396:                                             ; preds = %6391, %6395
  %.str.12.sink3748 = phi ptr [ @.str.12, %6395 ], [ @.str.9, %6391 ]
  store i32 %6386, ptr %1545, align 4, !tbaa !5
  %6397 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6398 = load i32, ptr @test_count, align 4, !tbaa !5
  %6399 = load i32, ptr %1491, align 4, !tbaa !5
  %6400 = call ptr @s2n_strerror(i32 noundef %6399, ptr noundef nonnull @.str.11) #12
  %6401 = load i32, ptr %1491, align 4, !tbaa !5
  %6402 = call ptr @s2n_strerror_debug(i32 noundef %6401, ptr noundef nonnull @.str.11) #12
  %6403 = load i32, ptr %1545, align 4, !tbaa !5
  %6404 = call ptr @strerror(i32 noundef %6403) #12
  %6405 = load i32, ptr %1545, align 4, !tbaa !5
  %6406 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6397, ptr noundef nonnull %.str.12.sink3748, i32 noundef %6398, ptr noundef nonnull @.str.145, ptr noundef nonnull @.str.8, i32 noundef 590, ptr noundef %6400, ptr noundef %6402, ptr noundef %6404, i32 noundef %6405) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6407:                                             ; preds = %6379
  %6408 = add nsw i32 %6380, 2
  store i32 %6408, ptr @test_count, align 4, !tbaa !5
  %6409 = getelementptr inbounds i8, ptr %6327, i64 56
  %6410 = load ptr, ptr %6409, align 8, !tbaa !64
  %6411 = icmp eq ptr %6410, null
  br i1 %6411, label %6412, label %6434

6412:                                             ; preds = %6407
  %6413 = load i32, ptr %1545, align 4, !tbaa !5
  %6414 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6415 = call i32 @s2n_print_stacktrace(ptr noundef %6414) #12
  %6416 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6417 = trunc nuw i8 %6416 to i1
  br i1 %6417, label %6418, label %6422

6418:                                             ; preds = %6412
  %6419 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6420 = call i32 @fileno(ptr noundef %6419) #12
  %6421 = call i32 @isatty(i32 noundef %6420) #12
  %.not1382 = icmp eq i32 %6421, 0
  br i1 %.not1382, label %6422, label %6423

6422:                                             ; preds = %6418, %6412
  br label %6423

6423:                                             ; preds = %6418, %6422
  %.str.12.sink3757 = phi ptr [ @.str.12, %6422 ], [ @.str.9, %6418 ]
  store i32 %6413, ptr %1545, align 4, !tbaa !5
  %6424 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6425 = load i32, ptr @test_count, align 4, !tbaa !5
  %6426 = load i32, ptr %1491, align 4, !tbaa !5
  %6427 = call ptr @s2n_strerror(i32 noundef %6426, ptr noundef nonnull @.str.11) #12
  %6428 = load i32, ptr %1491, align 4, !tbaa !5
  %6429 = call ptr @s2n_strerror_debug(i32 noundef %6428, ptr noundef nonnull @.str.11) #12
  %6430 = load i32, ptr %1545, align 4, !tbaa !5
  %6431 = call ptr @strerror(i32 noundef %6430) #12
  %6432 = load i32, ptr %1545, align 4, !tbaa !5
  %6433 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6424, ptr noundef nonnull %.str.12.sink3757, i32 noundef %6425, ptr noundef nonnull @.str.146, ptr noundef nonnull @.str.8, i32 noundef 591, ptr noundef %6427, ptr noundef %6429, ptr noundef %6431, i32 noundef %6432) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6434:                                             ; preds = %6407
  %6435 = add nsw i32 %6380, 3
  store i32 %6435, ptr @test_count, align 4, !tbaa !5
  %6436 = call i32 @s2n_connection_set_send_ctx(ptr noundef nonnull %6327, ptr noundef nonnull %16) #12
  %6437 = icmp eq i32 %6436, -1
  br i1 %6437, label %6438, label %6460

6438:                                             ; preds = %6434
  %6439 = load i32, ptr %1545, align 4, !tbaa !5
  %6440 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6441 = call i32 @s2n_print_stacktrace(ptr noundef %6440) #12
  %6442 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6443 = trunc nuw i8 %6442 to i1
  br i1 %6443, label %6444, label %6448

6444:                                             ; preds = %6438
  %6445 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6446 = call i32 @fileno(ptr noundef %6445) #12
  %6447 = call i32 @isatty(i32 noundef %6446) #12
  %.not1381 = icmp eq i32 %6447, 0
  br i1 %.not1381, label %6448, label %6449

6448:                                             ; preds = %6444, %6438
  br label %6449

6449:                                             ; preds = %6444, %6448
  %.str.12.sink3766 = phi ptr [ @.str.12, %6448 ], [ @.str.9, %6444 ]
  store i32 %6439, ptr %1545, align 4, !tbaa !5
  %6450 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6451 = load i32, ptr @test_count, align 4, !tbaa !5
  %6452 = load i32, ptr %1491, align 4, !tbaa !5
  %6453 = call ptr @s2n_strerror(i32 noundef %6452, ptr noundef nonnull @.str.11) #12
  %6454 = load i32, ptr %1491, align 4, !tbaa !5
  %6455 = call ptr @s2n_strerror_debug(i32 noundef %6454, ptr noundef nonnull @.str.11) #12
  %6456 = load i32, ptr %1545, align 4, !tbaa !5
  %6457 = call ptr @strerror(i32 noundef %6456) #12
  %6458 = load i32, ptr %1545, align 4, !tbaa !5
  %6459 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6450, ptr noundef nonnull %.str.12.sink3766, i32 noundef %6451, ptr noundef nonnull @.str.140, ptr noundef nonnull @.str.8, i32 noundef 594, ptr noundef %6453, ptr noundef %6455, ptr noundef %6457, i32 noundef %6458) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6460:                                             ; preds = %6434
  %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 = call i32 @s2n_connection_set_recv_ctx(ptr noundef nonnull %6327, ptr noundef nonnull %16) #12
  %6464 = icmp eq i32 %6463, -1
  br i1 %6464, label %6465, label %6487

6465:                                             ; preds = %6460
  %6466 = load i32, ptr %1545, align 4, !tbaa !5
  %6467 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6468 = call i32 @s2n_print_stacktrace(ptr noundef %6467) #12
  %6469 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6470 = trunc nuw i8 %6469 to i1
  br i1 %6470, label %6471, label %6475

6471:                                             ; preds = %6465
  %6472 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6473 = call i32 @fileno(ptr noundef %6472) #12
  %6474 = call i32 @isatty(i32 noundef %6473) #12
  %.not1380 = icmp eq i32 %6474, 0
  br i1 %.not1380, label %6475, label %6476

6475:                                             ; preds = %6471, %6465
  br label %6476

6476:                                             ; preds = %6471, %6475
  %.str.12.sink3775 = phi ptr [ @.str.12, %6475 ], [ @.str.9, %6471 ]
  store i32 %6466, ptr %1545, align 4, !tbaa !5
  %6477 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6478 = load i32, ptr @test_count, align 4, !tbaa !5
  %6479 = load i32, ptr %1491, align 4, !tbaa !5
  %6480 = call ptr @s2n_strerror(i32 noundef %6479, ptr noundef nonnull @.str.11) #12
  %6481 = load i32, ptr %1491, align 4, !tbaa !5
  %6482 = call ptr @s2n_strerror_debug(i32 noundef %6481, ptr noundef nonnull @.str.11) #12
  %6483 = load i32, ptr %1545, align 4, !tbaa !5
  %6484 = call ptr @strerror(i32 noundef %6483) #12
  %6485 = load i32, ptr %1545, align 4, !tbaa !5
  %6486 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6477, ptr noundef nonnull %.str.12.sink3775, i32 noundef %6478, ptr noundef nonnull @.str.142, ptr noundef nonnull @.str.8, i32 noundef 595, ptr noundef %6480, ptr noundef %6482, ptr noundef %6484, i32 noundef %6485) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6487:                                             ; preds = %6460
  %6488 = load i32, ptr @test_count, align 4, !tbaa !5
  %6489 = add nsw i32 %6488, 1
  store i32 %6489, ptr @test_count, align 4, !tbaa !5
  %6490 = load ptr, ptr %6382, align 8, !tbaa !63
  %6491 = icmp eq ptr %6490, null
  br i1 %6491, label %6514, label %6492

6492:                                             ; preds = %6487
  %6493 = load i32, ptr %1545, align 4, !tbaa !5
  %6494 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6495 = call i32 @s2n_print_stacktrace(ptr noundef %6494) #12
  %6496 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6497 = trunc nuw i8 %6496 to i1
  br i1 %6497, label %6498, label %6502

6498:                                             ; preds = %6492
  %6499 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6500 = call i32 @fileno(ptr noundef %6499) #12
  %6501 = call i32 @isatty(i32 noundef %6500) #12
  %.not1189 = icmp eq i32 %6501, 0
  br i1 %.not1189, label %6502, label %6503

6502:                                             ; preds = %6498, %6492
  br label %6503

6503:                                             ; preds = %6498, %6502
  %.str.12.sink3784 = phi ptr [ @.str.12, %6502 ], [ @.str.9, %6498 ]
  store i32 %6493, ptr %1545, align 4, !tbaa !5
  %6504 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6505 = load i32, ptr @test_count, align 4, !tbaa !5
  %6506 = load i32, ptr %1491, align 4, !tbaa !5
  %6507 = call ptr @s2n_strerror(i32 noundef %6506, ptr noundef nonnull @.str.11) #12
  %6508 = load i32, ptr %1491, align 4, !tbaa !5
  %6509 = call ptr @s2n_strerror_debug(i32 noundef %6508, ptr noundef nonnull @.str.11) #12
  %6510 = load i32, ptr %1545, align 4, !tbaa !5
  %6511 = call ptr @strerror(i32 noundef %6510) #12
  %6512 = load i32, ptr %1545, align 4, !tbaa !5
  %6513 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6504, ptr noundef nonnull %.str.12.sink3784, i32 noundef %6505, ptr noundef nonnull @.str.147, ptr noundef nonnull @.str.8, i32 noundef 596, ptr noundef %6507, ptr noundef %6509, ptr noundef %6511, i32 noundef %6512) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6514:                                             ; preds = %6487
  %6515 = add nsw i32 %6488, 2
  store i32 %6515, ptr @test_count, align 4, !tbaa !5
  %6516 = load ptr, ptr %6409, align 8, !tbaa !64
  %6517 = icmp eq ptr %6516, null
  br i1 %6517, label %6540, label %6518

6518:                                             ; preds = %6514
  %6519 = load i32, ptr %1545, align 4, !tbaa !5
  %6520 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6521 = call i32 @s2n_print_stacktrace(ptr noundef %6520) #12
  %6522 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6523 = trunc nuw i8 %6522 to i1
  br i1 %6523, label %6524, label %6528

6524:                                             ; preds = %6518
  %6525 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6526 = call i32 @fileno(ptr noundef %6525) #12
  %6527 = call i32 @isatty(i32 noundef %6526) #12
  %.not1190 = icmp eq i32 %6527, 0
  br i1 %.not1190, label %6528, label %6529

6528:                                             ; preds = %6524, %6518
  br label %6529

6529:                                             ; preds = %6524, %6528
  %.str.12.sink3793 = phi ptr [ @.str.12, %6528 ], [ @.str.9, %6524 ]
  store i32 %6519, ptr %1545, align 4, !tbaa !5
  %6530 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6531 = load i32, ptr @test_count, align 4, !tbaa !5
  %6532 = load i32, ptr %1491, align 4, !tbaa !5
  %6533 = call ptr @s2n_strerror(i32 noundef %6532, ptr noundef nonnull @.str.11) #12
  %6534 = load i32, ptr %1491, align 4, !tbaa !5
  %6535 = call ptr @s2n_strerror_debug(i32 noundef %6534, ptr noundef nonnull @.str.11) #12
  %6536 = load i32, ptr %1545, align 4, !tbaa !5
  %6537 = call ptr @strerror(i32 noundef %6536) #12
  %6538 = load i32, ptr %1545, align 4, !tbaa !5
  %6539 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6530, ptr noundef nonnull %.str.12.sink3793, i32 noundef %6531, ptr noundef nonnull @.str.148, ptr noundef nonnull @.str.8, i32 noundef 597, ptr noundef %6533, ptr noundef %6535, ptr noundef %6537, i32 noundef %6538) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6540:                                             ; preds = %6514
  %6541 = add nsw i32 %6488, 3
  store i32 %6541, ptr @test_count, align 4, !tbaa !5
  %6542 = call i32 @s2n_connection_set_fd(ptr noundef nonnull %6327, i32 noundef 1) #12
  %6543 = icmp eq i32 %6542, -1
  br i1 %6543, label %6544, label %6566

6544:                                             ; preds = %6540
  %6545 = load i32, ptr %1545, align 4, !tbaa !5
  %6546 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6547 = call i32 @s2n_print_stacktrace(ptr noundef %6546) #12
  %6548 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6549 = trunc nuw i8 %6548 to i1
  br i1 %6549, label %6550, label %6554

6550:                                             ; preds = %6544
  %6551 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6552 = call i32 @fileno(ptr noundef %6551) #12
  %6553 = call i32 @isatty(i32 noundef %6552) #12
  %.not1379 = icmp eq i32 %6553, 0
  br i1 %.not1379, label %6554, label %6555

6554:                                             ; preds = %6550, %6544
  br label %6555

6555:                                             ; preds = %6550, %6554
  %.str.12.sink3802 = phi ptr [ @.str.12, %6554 ], [ @.str.9, %6550 ]
  store i32 %6545, ptr %1545, align 4, !tbaa !5
  %6556 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6557 = load i32, ptr @test_count, align 4, !tbaa !5
  %6558 = load i32, ptr %1491, align 4, !tbaa !5
  %6559 = call ptr @s2n_strerror(i32 noundef %6558, ptr noundef nonnull @.str.11) #12
  %6560 = load i32, ptr %1491, align 4, !tbaa !5
  %6561 = call ptr @s2n_strerror_debug(i32 noundef %6560, ptr noundef nonnull @.str.11) #12
  %6562 = load i32, ptr %1545, align 4, !tbaa !5
  %6563 = call ptr @strerror(i32 noundef %6562) #12
  %6564 = load i32, ptr %1545, align 4, !tbaa !5
  %6565 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6556, ptr noundef nonnull %.str.12.sink3802, i32 noundef %6557, ptr noundef nonnull @.str.113, ptr noundef nonnull @.str.8, i32 noundef 600, ptr noundef %6559, ptr noundef %6561, ptr noundef %6563, i32 noundef %6564) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6566:                                             ; preds = %6540
  %6567 = load i32, ptr @test_count, align 4, !tbaa !5
  %6568 = add nsw i32 %6567, 1
  store i32 %6568, ptr @test_count, align 4, !tbaa !5
  %6569 = getelementptr inbounds i8, ptr %6327, i64 64
  %6570 = load ptr, ptr %6569, align 8, !tbaa !65
  %6571 = icmp eq ptr %6570, null
  br i1 %6571, label %6572, label %6594

6572:                                             ; preds = %6566
  %6573 = load i32, ptr %1545, align 4, !tbaa !5
  %6574 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6575 = call i32 @s2n_print_stacktrace(ptr noundef %6574) #12
  %6576 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6577 = trunc nuw i8 %6576 to i1
  br i1 %6577, label %6578, label %6582

6578:                                             ; preds = %6572
  %6579 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6580 = call i32 @fileno(ptr noundef %6579) #12
  %6581 = call i32 @isatty(i32 noundef %6580) #12
  %.not1378 = icmp eq i32 %6581, 0
  br i1 %.not1378, label %6582, label %6583

6582:                                             ; preds = %6578, %6572
  br label %6583

6583:                                             ; preds = %6578, %6582
  %.str.12.sink3811 = phi ptr [ @.str.12, %6582 ], [ @.str.9, %6578 ]
  store i32 %6573, ptr %1545, align 4, !tbaa !5
  %6584 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6585 = load i32, ptr @test_count, align 4, !tbaa !5
  %6586 = load i32, ptr %1491, align 4, !tbaa !5
  %6587 = call ptr @s2n_strerror(i32 noundef %6586, ptr noundef nonnull @.str.11) #12
  %6588 = load i32, ptr %1491, align 4, !tbaa !5
  %6589 = call ptr @s2n_strerror_debug(i32 noundef %6588, ptr noundef nonnull @.str.11) #12
  %6590 = load i32, ptr %1545, align 4, !tbaa !5
  %6591 = call ptr @strerror(i32 noundef %6590) #12
  %6592 = load i32, ptr %1545, align 4, !tbaa !5
  %6593 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6584, ptr noundef nonnull %.str.12.sink3811, i32 noundef %6585, ptr noundef nonnull @.str.149, ptr noundef nonnull @.str.8, i32 noundef 601, ptr noundef %6587, ptr noundef %6589, ptr noundef %6591, i32 noundef %6592) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6594:                                             ; preds = %6566
  %6595 = add nsw i32 %6567, 2
  store i32 %6595, ptr @test_count, align 4, !tbaa !5
  %6596 = getelementptr inbounds i8, ptr %6327, i64 72
  %6597 = load ptr, ptr %6596, align 8, !tbaa !66
  %6598 = icmp eq ptr %6597, null
  br i1 %6598, label %6599, label %6621

6599:                                             ; preds = %6594
  %6600 = load i32, ptr %1545, align 4, !tbaa !5
  %6601 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6602 = call i32 @s2n_print_stacktrace(ptr noundef %6601) #12
  %6603 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6604 = trunc nuw i8 %6603 to i1
  br i1 %6604, label %6605, label %6609

6605:                                             ; preds = %6599
  %6606 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6607 = call i32 @fileno(ptr noundef %6606) #12
  %6608 = call i32 @isatty(i32 noundef %6607) #12
  %.not1377 = icmp eq i32 %6608, 0
  br i1 %.not1377, label %6609, label %6610

6609:                                             ; preds = %6605, %6599
  br label %6610

6610:                                             ; preds = %6605, %6609
  %.str.12.sink3820 = phi ptr [ @.str.12, %6609 ], [ @.str.9, %6605 ]
  store i32 %6600, ptr %1545, align 4, !tbaa !5
  %6611 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6612 = load i32, ptr @test_count, align 4, !tbaa !5
  %6613 = load i32, ptr %1491, align 4, !tbaa !5
  %6614 = call ptr @s2n_strerror(i32 noundef %6613, ptr noundef nonnull @.str.11) #12
  %6615 = load i32, ptr %1491, align 4, !tbaa !5
  %6616 = call ptr @s2n_strerror_debug(i32 noundef %6615, ptr noundef nonnull @.str.11) #12
  %6617 = load i32, ptr %1545, align 4, !tbaa !5
  %6618 = call ptr @strerror(i32 noundef %6617) #12
  %6619 = load i32, ptr %1545, align 4, !tbaa !5
  %6620 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6611, ptr noundef nonnull %.str.12.sink3820, i32 noundef %6612, ptr noundef nonnull @.str.150, ptr noundef nonnull @.str.8, i32 noundef 602, ptr noundef %6614, ptr noundef %6616, ptr noundef %6618, i32 noundef %6619) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6621:                                             ; preds = %6594
  %6622 = add nsw i32 %6567, 3
  store i32 %6622, ptr @test_count, align 4, !tbaa !5
  %6623 = call i32 @s2n_connection_set_send_cb(ptr noundef nonnull %6327, ptr noundef nonnull @s2n_noop_send_cb) #12
  %6624 = icmp eq i32 %6623, -1
  br i1 %6624, label %6625, label %6647

6625:                                             ; preds = %6621
  %6626 = load i32, ptr %1545, align 4, !tbaa !5
  %6627 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6628 = call i32 @s2n_print_stacktrace(ptr noundef %6627) #12
  %6629 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6630 = trunc nuw i8 %6629 to i1
  br i1 %6630, label %6631, label %6635

6631:                                             ; preds = %6625
  %6632 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6633 = call i32 @fileno(ptr noundef %6632) #12
  %6634 = call i32 @isatty(i32 noundef %6633) #12
  %.not1376 = icmp eq i32 %6634, 0
  br i1 %.not1376, label %6635, label %6636

6635:                                             ; preds = %6631, %6625
  br label %6636

6636:                                             ; preds = %6631, %6635
  %.str.12.sink3829 = phi ptr [ @.str.12, %6635 ], [ @.str.9, %6631 ]
  store i32 %6626, ptr %1545, align 4, !tbaa !5
  %6637 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6638 = load i32, ptr @test_count, align 4, !tbaa !5
  %6639 = load i32, ptr %1491, align 4, !tbaa !5
  %6640 = call ptr @s2n_strerror(i32 noundef %6639, ptr noundef nonnull @.str.11) #12
  %6641 = load i32, ptr %1491, align 4, !tbaa !5
  %6642 = call ptr @s2n_strerror_debug(i32 noundef %6641, ptr noundef nonnull @.str.11) #12
  %6643 = load i32, ptr %1545, align 4, !tbaa !5
  %6644 = call ptr @strerror(i32 noundef %6643) #12
  %6645 = load i32, ptr %1545, align 4, !tbaa !5
  %6646 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6637, ptr noundef nonnull %.str.12.sink3829, i32 noundef %6638, ptr noundef nonnull @.str.139, ptr noundef nonnull @.str.8, i32 noundef 605, ptr noundef %6640, ptr noundef %6642, ptr noundef %6644, i32 noundef %6645) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6647:                                             ; preds = %6621
  %6648 = load i32, ptr @test_count, align 4, !tbaa !5
  %6649 = add nsw i32 %6648, 1
  store i32 %6649, ptr @test_count, align 4, !tbaa !5
  %6650 = call i32 @s2n_connection_set_recv_cb(ptr noundef nonnull %6327, ptr noundef nonnull @s2n_noop_recv_cb) #12
  %6651 = icmp eq i32 %6650, -1
  br i1 %6651, label %6652, label %6674

6652:                                             ; preds = %6647
  %6653 = load i32, ptr %1545, align 4, !tbaa !5
  %6654 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6655 = call i32 @s2n_print_stacktrace(ptr noundef %6654) #12
  %6656 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6657 = trunc nuw i8 %6656 to i1
  br i1 %6657, label %6658, label %6662

6658:                                             ; preds = %6652
  %6659 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6660 = call i32 @fileno(ptr noundef %6659) #12
  %6661 = call i32 @isatty(i32 noundef %6660) #12
  %.not1375 = icmp eq i32 %6661, 0
  br i1 %.not1375, label %6662, label %6663

6662:                                             ; preds = %6658, %6652
  br label %6663

6663:                                             ; preds = %6658, %6662
  %.str.12.sink3838 = phi ptr [ @.str.12, %6662 ], [ @.str.9, %6658 ]
  store i32 %6653, ptr %1545, align 4, !tbaa !5
  %6664 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6665 = load i32, ptr @test_count, align 4, !tbaa !5
  %6666 = load i32, ptr %1491, align 4, !tbaa !5
  %6667 = call ptr @s2n_strerror(i32 noundef %6666, ptr noundef nonnull @.str.11) #12
  %6668 = load i32, ptr %1491, align 4, !tbaa !5
  %6669 = call ptr @s2n_strerror_debug(i32 noundef %6668, ptr noundef nonnull @.str.11) #12
  %6670 = load i32, ptr %1545, align 4, !tbaa !5
  %6671 = call ptr @strerror(i32 noundef %6670) #12
  %6672 = load i32, ptr %1545, align 4, !tbaa !5
  %6673 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6664, ptr noundef nonnull %.str.12.sink3838, i32 noundef %6665, ptr noundef nonnull @.str.141, ptr noundef nonnull @.str.8, i32 noundef 606, ptr noundef %6667, ptr noundef %6669, ptr noundef %6671, i32 noundef %6672) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6674:                                             ; preds = %6647
  %6675 = load i32, ptr @test_count, align 4, !tbaa !5
  %6676 = add nsw i32 %6675, 1
  store i32 %6676, ptr @test_count, align 4, !tbaa !5
  %6677 = load ptr, ptr %6569, align 8, !tbaa !65
  %6678 = icmp eq ptr %6677, null
  br i1 %6678, label %6701, label %6679

6679:                                             ; preds = %6674
  %6680 = load i32, ptr %1545, align 4, !tbaa !5
  %6681 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6682 = call i32 @s2n_print_stacktrace(ptr noundef %6681) #12
  %6683 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6684 = trunc nuw i8 %6683 to i1
  br i1 %6684, label %6685, label %6689

6685:                                             ; preds = %6679
  %6686 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6687 = call i32 @fileno(ptr noundef %6686) #12
  %6688 = call i32 @isatty(i32 noundef %6687) #12
  %.not1191 = icmp eq i32 %6688, 0
  br i1 %.not1191, label %6689, label %6690

6689:                                             ; preds = %6685, %6679
  br label %6690

6690:                                             ; preds = %6685, %6689
  %.str.12.sink3847 = phi ptr [ @.str.12, %6689 ], [ @.str.9, %6685 ]
  store i32 %6680, ptr %1545, align 4, !tbaa !5
  %6691 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6692 = load i32, ptr @test_count, align 4, !tbaa !5
  %6693 = load i32, ptr %1491, align 4, !tbaa !5
  %6694 = call ptr @s2n_strerror(i32 noundef %6693, ptr noundef nonnull @.str.11) #12
  %6695 = load i32, ptr %1491, align 4, !tbaa !5
  %6696 = call ptr @s2n_strerror_debug(i32 noundef %6695, ptr noundef nonnull @.str.11) #12
  %6697 = load i32, ptr %1545, align 4, !tbaa !5
  %6698 = call ptr @strerror(i32 noundef %6697) #12
  %6699 = load i32, ptr %1545, align 4, !tbaa !5
  %6700 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6691, ptr noundef nonnull %.str.12.sink3847, i32 noundef %6692, ptr noundef nonnull @.str.151, ptr noundef nonnull @.str.8, i32 noundef 607, ptr noundef %6694, ptr noundef %6696, ptr noundef %6698, i32 noundef %6699) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6701:                                             ; preds = %6674
  %6702 = add nsw i32 %6675, 2
  store i32 %6702, ptr @test_count, align 4, !tbaa !5
  %6703 = load ptr, ptr %6596, align 8, !tbaa !66
  %6704 = icmp eq ptr %6703, null
  br i1 %6704, label %6727, label %6705

6705:                                             ; preds = %6701
  %6706 = load i32, ptr %1545, align 4, !tbaa !5
  %6707 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6708 = call i32 @s2n_print_stacktrace(ptr noundef %6707) #12
  %6709 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6710 = trunc nuw i8 %6709 to i1
  br i1 %6710, label %6711, label %6715

6711:                                             ; preds = %6705
  %6712 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6713 = call i32 @fileno(ptr noundef %6712) #12
  %6714 = call i32 @isatty(i32 noundef %6713) #12
  %.not1192 = icmp eq i32 %6714, 0
  br i1 %.not1192, label %6715, label %6716

6715:                                             ; preds = %6711, %6705
  br label %6716

6716:                                             ; preds = %6711, %6715
  %.str.12.sink3856 = phi ptr [ @.str.12, %6715 ], [ @.str.9, %6711 ]
  store i32 %6706, ptr %1545, align 4, !tbaa !5
  %6717 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6718 = load i32, ptr @test_count, align 4, !tbaa !5
  %6719 = load i32, ptr %1491, align 4, !tbaa !5
  %6720 = call ptr @s2n_strerror(i32 noundef %6719, ptr noundef nonnull @.str.11) #12
  %6721 = load i32, ptr %1491, align 4, !tbaa !5
  %6722 = call ptr @s2n_strerror_debug(i32 noundef %6721, ptr noundef nonnull @.str.11) #12
  %6723 = load i32, ptr %1545, align 4, !tbaa !5
  %6724 = call ptr @strerror(i32 noundef %6723) #12
  %6725 = load i32, ptr %1545, align 4, !tbaa !5
  %6726 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6717, ptr noundef nonnull %.str.12.sink3856, i32 noundef %6718, ptr noundef nonnull @.str.152, ptr noundef nonnull @.str.8, i32 noundef 608, ptr noundef %6720, ptr noundef %6722, ptr noundef %6724, i32 noundef %6725) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6727:                                             ; preds = %6701
  %6728 = add nsw i32 %6675, 3
  store i32 %6728, ptr @test_count, align 4, !tbaa !5
  %6729 = call i32 @s2n_connection_free(ptr noundef nonnull %6327) #12
  %6730 = icmp eq i32 %6729, -1
  br i1 %6730, label %6731, label %6753

6731:                                             ; preds = %6727
  %6732 = load i32, ptr %1545, align 4, !tbaa !5
  %6733 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6734 = call i32 @s2n_print_stacktrace(ptr noundef %6733) #12
  %6735 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6736 = trunc nuw i8 %6735 to i1
  br i1 %6736, label %6737, label %6741

6737:                                             ; preds = %6731
  %6738 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6739 = call i32 @fileno(ptr noundef %6738) #12
  %6740 = call i32 @isatty(i32 noundef %6739) #12
  %.not1374 = icmp eq i32 %6740, 0
  br i1 %.not1374, label %6741, label %6742

6741:                                             ; preds = %6737, %6731
  br label %6742

6742:                                             ; preds = %6737, %6741
  %.str.12.sink3865 = phi ptr [ @.str.12, %6741 ], [ @.str.9, %6737 ]
  store i32 %6732, ptr %1545, align 4, !tbaa !5
  %6743 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6744 = load i32, ptr @test_count, align 4, !tbaa !5
  %6745 = load i32, ptr %1491, align 4, !tbaa !5
  %6746 = call ptr @s2n_strerror(i32 noundef %6745, ptr noundef nonnull @.str.11) #12
  %6747 = load i32, ptr %1491, align 4, !tbaa !5
  %6748 = call ptr @s2n_strerror_debug(i32 noundef %6747, ptr noundef nonnull @.str.11) #12
  %6749 = load i32, ptr %1545, align 4, !tbaa !5
  %6750 = call ptr @strerror(i32 noundef %6749) #12
  %6751 = load i32, ptr %1545, align 4, !tbaa !5
  %6752 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6743, ptr noundef nonnull %.str.12.sink3865, i32 noundef %6744, ptr noundef nonnull @.str.25, ptr noundef nonnull @.str.8, i32 noundef 610, ptr noundef %6746, ptr noundef %6748, ptr noundef %6750, i32 noundef %6751) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6753:                                             ; preds = %6727
  call void @llvm.lifetime.end.p0(i64 18, 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
  %6754 = call ptr @s2n_config_new() #12
  %6755 = load i32, ptr @test_count, align 4, !tbaa !5
  %6756 = add nsw i32 %6755, 1
  store i32 %6756, ptr @test_count, align 4, !tbaa !5
  %6757 = icmp eq ptr %6754, null
  br i1 %6757, label %6758, label %6780

6758:                                             ; preds = %6753
  %6759 = load i32, ptr %1545, align 4, !tbaa !5
  %6760 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6761 = call i32 @s2n_print_stacktrace(ptr noundef %6760) #12
  %6762 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6763 = trunc nuw i8 %6762 to i1
  br i1 %6763, label %6764, label %6768

6764:                                             ; preds = %6758
  %6765 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6766 = call i32 @fileno(ptr noundef %6765) #12
  %6767 = call i32 @isatty(i32 noundef %6766) #12
  %.not1373 = icmp eq i32 %6767, 0
  br i1 %.not1373, label %6768, label %6769

6768:                                             ; preds = %6764, %6758
  br label %6769

6769:                                             ; preds = %6764, %6768
  %.str.12.sink3874 = phi ptr [ @.str.12, %6768 ], [ @.str.9, %6764 ]
  store i32 %6759, ptr %1545, align 4, !tbaa !5
  %6770 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6771 = load i32, ptr @test_count, align 4, !tbaa !5
  %6772 = load i32, ptr %1491, align 4, !tbaa !5
  %6773 = call ptr @s2n_strerror(i32 noundef %6772, ptr noundef nonnull @.str.11) #12
  %6774 = load i32, ptr %1491, align 4, !tbaa !5
  %6775 = call ptr @s2n_strerror_debug(i32 noundef %6774, ptr noundef nonnull @.str.11) #12
  %6776 = load i32, ptr %1545, align 4, !tbaa !5
  %6777 = call ptr @strerror(i32 noundef %6776) #12
  %6778 = load i32, ptr %1545, align 4, !tbaa !5
  %6779 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6770, ptr noundef nonnull %.str.12.sink3874, i32 noundef %6771, ptr noundef nonnull @.str.69, ptr noundef nonnull @.str.8, i32 noundef 617, ptr noundef %6773, ptr noundef %6775, ptr noundef %6777, i32 noundef %6778) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6780:                                             ; preds = %6753
  %6781 = call ptr @s2n_connection_new(i32 noundef 1) #12
  %6782 = load i32, ptr @test_count, align 4, !tbaa !5
  %6783 = add nsw i32 %6782, 1
  store i32 %6783, ptr @test_count, align 4, !tbaa !5
  %6784 = call i32 @s2n_connection_get_config(ptr noundef %6781, ptr noundef nonnull %17) #12
  %6785 = icmp eq i32 %6784, -1
  br i1 %6785, label %6808, label %6786

6786:                                             ; preds = %6780
  %6787 = load i32, ptr %1545, align 4, !tbaa !5
  %6788 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6789 = call i32 @s2n_print_stacktrace(ptr noundef %6788) #12
  %6790 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6791 = trunc nuw i8 %6790 to i1
  br i1 %6791, label %6792, label %6796

6792:                                             ; preds = %6786
  %6793 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6794 = call i32 @fileno(ptr noundef %6793) #12
  %6795 = call i32 @isatty(i32 noundef %6794) #12
  %.not1193 = icmp eq i32 %6795, 0
  br i1 %.not1193, label %6796, label %6797

6796:                                             ; preds = %6792, %6786
  br label %6797

6797:                                             ; preds = %6792, %6796
  %.str.12.sink3883 = phi ptr [ @.str.12, %6796 ], [ @.str.9, %6792 ]
  store i32 %6787, ptr %1545, align 4, !tbaa !5
  %6798 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6799 = load i32, ptr @test_count, align 4, !tbaa !5
  %6800 = load i32, ptr %1491, align 4, !tbaa !5
  %6801 = call ptr @s2n_strerror(i32 noundef %6800, ptr noundef nonnull @.str.11) #12
  %6802 = load i32, ptr %1491, align 4, !tbaa !5
  %6803 = call ptr @s2n_strerror_debug(i32 noundef %6802, ptr noundef nonnull @.str.11) #12
  %6804 = load i32, ptr %1545, align 4, !tbaa !5
  %6805 = call ptr @strerror(i32 noundef %6804) #12
  %6806 = load i32, ptr %1545, align 4, !tbaa !5
  %6807 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6798, ptr noundef nonnull %.str.12.sink3883, i32 noundef %6799, ptr noundef nonnull @.str.153, ptr noundef nonnull @.str.8, i32 noundef 620, ptr noundef %6801, ptr noundef %6803, ptr noundef %6805, i32 noundef %6806) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6808:                                             ; preds = %6780
  %6809 = load i32, ptr @test_count, align 4, !tbaa !5
  %6810 = add nsw i32 %6809, 1
  store i32 %6810, ptr @test_count, align 4, !tbaa !5
  %6811 = load i32, ptr %1491, align 4, !tbaa !5
  %6812 = icmp eq i32 %6811, 402653193
  br i1 %6812, label %6835, label %6813

6813:                                             ; preds = %6808
  %6814 = load i32, ptr %1545, align 4, !tbaa !5
  %6815 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6816 = call i32 @s2n_print_stacktrace(ptr noundef %6815) #12
  %6817 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6818 = trunc nuw i8 %6817 to i1
  br i1 %6818, label %6819, label %6823

6819:                                             ; preds = %6813
  %6820 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6821 = call i32 @fileno(ptr noundef %6820) #12
  %6822 = call i32 @isatty(i32 noundef %6821) #12
  %.not1194 = icmp eq i32 %6822, 0
  br i1 %.not1194, label %6823, label %6824

6823:                                             ; preds = %6819, %6813
  br label %6824

6824:                                             ; preds = %6819, %6823
  %.str.12.sink3892 = phi ptr [ @.str.12, %6823 ], [ @.str.9, %6819 ]
  store i32 %6814, ptr %1545, align 4, !tbaa !5
  %6825 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6826 = load i32, ptr @test_count, align 4, !tbaa !5
  %6827 = load i32, ptr %1491, align 4, !tbaa !5
  %6828 = call ptr @s2n_strerror(i32 noundef %6827, ptr noundef nonnull @.str.11) #12
  %6829 = load i32, ptr %1491, align 4, !tbaa !5
  %6830 = call ptr @s2n_strerror_debug(i32 noundef %6829, ptr noundef nonnull @.str.11) #12
  %6831 = load i32, ptr %1545, align 4, !tbaa !5
  %6832 = call ptr @strerror(i32 noundef %6831) #12
  %6833 = load i32, ptr %1545, align 4, !tbaa !5
  %6834 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6825, ptr noundef nonnull %.str.12.sink3892, i32 noundef %6826, ptr noundef nonnull @.str.91, ptr noundef nonnull @.str.8, i32 noundef 620, ptr noundef %6828, ptr noundef %6830, ptr noundef %6832, i32 noundef %6833) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6835:                                             ; preds = %6808
  %6836 = add nsw i32 %6809, 2
  store i32 %6836, ptr @test_count, align 4, !tbaa !5
  %6837 = call ptr @s2n_strerror_debug(i32 noundef 402653193, ptr noundef nonnull @.str.11) #12
  %6838 = icmp eq ptr %6837, null
  br i1 %6838, label %6839, label %6861

6839:                                             ; preds = %6835
  %6840 = load i32, ptr %1545, align 4, !tbaa !5
  %6841 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6842 = call i32 @s2n_print_stacktrace(ptr noundef %6841) #12
  %6843 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6844 = trunc nuw i8 %6843 to i1
  br i1 %6844, label %6845, label %6849

6845:                                             ; preds = %6839
  %6846 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6847 = call i32 @fileno(ptr noundef %6846) #12
  %6848 = call i32 @isatty(i32 noundef %6847) #12
  %.not1372 = icmp eq i32 %6848, 0
  br i1 %.not1372, label %6849, label %6850

6849:                                             ; preds = %6845, %6839
  br label %6850

6850:                                             ; preds = %6845, %6849
  %.str.12.sink3901 = phi ptr [ @.str.12, %6849 ], [ @.str.9, %6845 ]
  store i32 %6840, ptr %1545, align 4, !tbaa !5
  %6851 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6852 = load i32, ptr @test_count, align 4, !tbaa !5
  %6853 = load i32, ptr %1491, align 4, !tbaa !5
  %6854 = call ptr @s2n_strerror(i32 noundef %6853, ptr noundef nonnull @.str.11) #12
  %6855 = load i32, ptr %1491, align 4, !tbaa !5
  %6856 = call ptr @s2n_strerror_debug(i32 noundef %6855, ptr noundef nonnull @.str.11) #12
  %6857 = load i32, ptr %1545, align 4, !tbaa !5
  %6858 = call ptr @strerror(i32 noundef %6857) #12
  %6859 = load i32, ptr %1545, align 4, !tbaa !5
  %6860 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6851, ptr noundef nonnull %.str.12.sink3901, i32 noundef %6852, ptr noundef nonnull @.str.54, ptr noundef nonnull @.str.8, i32 noundef 620, ptr noundef %6854, ptr noundef %6856, ptr noundef %6858, i32 noundef %6859) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6861:                                             ; preds = %6835
  store i32 0, ptr %1491, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %1545, align 4, !tbaa !5
  %6862 = load i32, ptr @test_count, align 4, !tbaa !5
  %6863 = add nsw i32 %6862, 1
  store i32 %6863, ptr @test_count, align 4, !tbaa !5
  %6864 = call i32 @s2n_connection_set_config(ptr noundef %6781, ptr noundef nonnull %6754) #12
  %6865 = icmp eq i32 %6864, -1
  br i1 %6865, label %6866, label %6888

6866:                                             ; preds = %6861
  %6867 = load i32, ptr %1545, align 4, !tbaa !5
  %6868 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6869 = call i32 @s2n_print_stacktrace(ptr noundef %6868) #12
  %6870 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6871 = trunc nuw i8 %6870 to i1
  br i1 %6871, label %6872, label %6876

6872:                                             ; preds = %6866
  %6873 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6874 = call i32 @fileno(ptr noundef %6873) #12
  %6875 = call i32 @isatty(i32 noundef %6874) #12
  %.not1371 = icmp eq i32 %6875, 0
  br i1 %.not1371, label %6876, label %6877

6876:                                             ; preds = %6872, %6866
  br label %6877

6877:                                             ; preds = %6872, %6876
  %.str.12.sink3910 = phi ptr [ @.str.12, %6876 ], [ @.str.9, %6872 ]
  store i32 %6867, ptr %1545, align 4, !tbaa !5
  %6878 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6879 = load i32, ptr @test_count, align 4, !tbaa !5
  %6880 = load i32, ptr %1491, align 4, !tbaa !5
  %6881 = call ptr @s2n_strerror(i32 noundef %6880, ptr noundef nonnull @.str.11) #12
  %6882 = load i32, ptr %1491, align 4, !tbaa !5
  %6883 = call ptr @s2n_strerror_debug(i32 noundef %6882, ptr noundef nonnull @.str.11) #12
  %6884 = load i32, ptr %1545, align 4, !tbaa !5
  %6885 = call ptr @strerror(i32 noundef %6884) #12
  %6886 = load i32, ptr %1545, align 4, !tbaa !5
  %6887 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6878, ptr noundef nonnull %.str.12.sink3910, i32 noundef %6879, ptr noundef nonnull @.str.154, ptr noundef nonnull @.str.8, i32 noundef 622, ptr noundef %6881, ptr noundef %6883, ptr noundef %6885, i32 noundef %6886) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6888:                                             ; preds = %6861
  %6889 = load i32, ptr @test_count, align 4, !tbaa !5
  %6890 = add nsw i32 %6889, 1
  store i32 %6890, ptr @test_count, align 4, !tbaa !5
  %6891 = call i32 @s2n_connection_get_config(ptr noundef %6781, ptr noundef nonnull %17) #12
  %6892 = icmp eq i32 %6891, -1
  br i1 %6892, label %6893, label %6915

6893:                                             ; preds = %6888
  %6894 = load i32, ptr %1545, align 4, !tbaa !5
  %6895 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6896 = call i32 @s2n_print_stacktrace(ptr noundef %6895) #12
  %6897 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6898 = trunc nuw i8 %6897 to i1
  br i1 %6898, label %6899, label %6903

6899:                                             ; preds = %6893
  %6900 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6901 = call i32 @fileno(ptr noundef %6900) #12
  %6902 = call i32 @isatty(i32 noundef %6901) #12
  %.not1370 = icmp eq i32 %6902, 0
  br i1 %.not1370, label %6903, label %6904

6903:                                             ; preds = %6899, %6893
  br label %6904

6904:                                             ; preds = %6899, %6903
  %.str.12.sink3919 = phi ptr [ @.str.12, %6903 ], [ @.str.9, %6899 ]
  store i32 %6894, ptr %1545, align 4, !tbaa !5
  %6905 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6906 = load i32, ptr @test_count, align 4, !tbaa !5
  %6907 = load i32, ptr %1491, align 4, !tbaa !5
  %6908 = call ptr @s2n_strerror(i32 noundef %6907, ptr noundef nonnull @.str.11) #12
  %6909 = load i32, ptr %1491, align 4, !tbaa !5
  %6910 = call ptr @s2n_strerror_debug(i32 noundef %6909, ptr noundef nonnull @.str.11) #12
  %6911 = load i32, ptr %1545, align 4, !tbaa !5
  %6912 = call ptr @strerror(i32 noundef %6911) #12
  %6913 = load i32, ptr %1545, align 4, !tbaa !5
  %6914 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6905, ptr noundef nonnull %.str.12.sink3919, i32 noundef %6906, ptr noundef nonnull @.str.155, ptr noundef nonnull @.str.8, i32 noundef 623, ptr noundef %6908, ptr noundef %6910, ptr noundef %6912, i32 noundef %6913) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6915:                                             ; preds = %6888
  %6916 = load i32, ptr @test_count, align 4, !tbaa !5
  %6917 = add nsw i32 %6916, 1
  store i32 %6917, ptr @test_count, align 4, !tbaa !5
  %6918 = load ptr, ptr %17, align 8, !tbaa !9
  %6919 = icmp eq ptr %6918, %6754
  br i1 %6919, label %6942, label %6920

6920:                                             ; preds = %6915
  %6921 = load i32, ptr %1545, align 4, !tbaa !5
  %6922 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6923 = call i32 @s2n_print_stacktrace(ptr noundef %6922) #12
  %6924 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6925 = trunc nuw i8 %6924 to i1
  br i1 %6925, label %6926, label %6930

6926:                                             ; preds = %6920
  %6927 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6928 = call i32 @fileno(ptr noundef %6927) #12
  %6929 = call i32 @isatty(i32 noundef %6928) #12
  %.not1195 = icmp eq i32 %6929, 0
  br i1 %.not1195, label %6930, label %6931

6930:                                             ; preds = %6926, %6920
  br label %6931

6931:                                             ; preds = %6926, %6930
  %.str.12.sink3928 = phi ptr [ @.str.12, %6930 ], [ @.str.9, %6926 ]
  store i32 %6921, ptr %1545, align 4, !tbaa !5
  %6932 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6933 = load i32, ptr @test_count, align 4, !tbaa !5
  %6934 = load i32, ptr %1491, align 4, !tbaa !5
  %6935 = call ptr @s2n_strerror(i32 noundef %6934, ptr noundef nonnull @.str.11) #12
  %6936 = load i32, ptr %1491, align 4, !tbaa !5
  %6937 = call ptr @s2n_strerror_debug(i32 noundef %6936, ptr noundef nonnull @.str.11) #12
  %6938 = load i32, ptr %1545, align 4, !tbaa !5
  %6939 = call ptr @strerror(i32 noundef %6938) #12
  %6940 = load i32, ptr %1545, align 4, !tbaa !5
  %6941 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6932, ptr noundef nonnull %.str.12.sink3928, i32 noundef %6933, ptr noundef nonnull @.str.156, ptr noundef nonnull @.str.8, i32 noundef 624, ptr noundef %6935, ptr noundef %6937, ptr noundef %6939, i32 noundef %6940) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6942:                                             ; preds = %6915
  %6943 = add nsw i32 %6916, 2
  store i32 %6943, ptr @test_count, align 4, !tbaa !5
  %6944 = call i32 @s2n_connection_free(ptr noundef %6781) #12
  %6945 = icmp eq i32 %6944, -1
  br i1 %6945, label %6946, label %6968

6946:                                             ; preds = %6942
  %6947 = load i32, ptr %1545, align 4, !tbaa !5
  %6948 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6949 = call i32 @s2n_print_stacktrace(ptr noundef %6948) #12
  %6950 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6951 = trunc nuw i8 %6950 to i1
  br i1 %6951, label %6952, label %6956

6952:                                             ; preds = %6946
  %6953 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6954 = call i32 @fileno(ptr noundef %6953) #12
  %6955 = call i32 @isatty(i32 noundef %6954) #12
  %.not1369 = icmp eq i32 %6955, 0
  br i1 %.not1369, label %6956, label %6957

6956:                                             ; preds = %6952, %6946
  br label %6957

6957:                                             ; preds = %6952, %6956
  %.str.12.sink3937 = phi ptr [ @.str.12, %6956 ], [ @.str.9, %6952 ]
  store i32 %6947, ptr %1545, align 4, !tbaa !5
  %6958 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6959 = load i32, ptr @test_count, align 4, !tbaa !5
  %6960 = load i32, ptr %1491, align 4, !tbaa !5
  %6961 = call ptr @s2n_strerror(i32 noundef %6960, ptr noundef nonnull @.str.11) #12
  %6962 = load i32, ptr %1491, align 4, !tbaa !5
  %6963 = call ptr @s2n_strerror_debug(i32 noundef %6962, ptr noundef nonnull @.str.11) #12
  %6964 = load i32, ptr %1545, align 4, !tbaa !5
  %6965 = call ptr @strerror(i32 noundef %6964) #12
  %6966 = load i32, ptr %1545, align 4, !tbaa !5
  %6967 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6958, ptr noundef nonnull %.str.12.sink3937, i32 noundef %6959, ptr noundef nonnull @.str.25, ptr noundef nonnull @.str.8, i32 noundef 626, ptr noundef %6961, ptr noundef %6963, ptr noundef %6965, i32 noundef %6966) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6968:                                             ; preds = %6942
  %6969 = load i32, ptr @test_count, align 4, !tbaa !5
  %6970 = add nsw i32 %6969, 1
  store i32 %6970, ptr @test_count, align 4, !tbaa !5
  %6971 = call i32 @s2n_config_free(ptr noundef nonnull %6754) #12
  %6972 = icmp eq i32 %6971, -1
  br i1 %6972, label %6973, label %6995

6973:                                             ; preds = %6968
  %6974 = load i32, ptr %1545, align 4, !tbaa !5
  %6975 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6976 = call i32 @s2n_print_stacktrace(ptr noundef %6975) #12
  %6977 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6978 = trunc nuw i8 %6977 to i1
  br i1 %6978, label %6979, label %6983

6979:                                             ; preds = %6973
  %6980 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6981 = call i32 @fileno(ptr noundef %6980) #12
  %6982 = call i32 @isatty(i32 noundef %6981) #12
  %.not1368 = icmp eq i32 %6982, 0
  br i1 %.not1368, label %6983, label %6984

6983:                                             ; preds = %6979, %6973
  br label %6984

6984:                                             ; preds = %6979, %6983
  %.str.12.sink3946 = phi ptr [ @.str.12, %6983 ], [ @.str.9, %6979 ]
  store i32 %6974, ptr %1545, align 4, !tbaa !5
  %6985 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6986 = load i32, ptr @test_count, align 4, !tbaa !5
  %6987 = load i32, ptr %1491, align 4, !tbaa !5
  %6988 = call ptr @s2n_strerror(i32 noundef %6987, ptr noundef nonnull @.str.11) #12
  %6989 = load i32, ptr %1491, align 4, !tbaa !5
  %6990 = call ptr @s2n_strerror_debug(i32 noundef %6989, ptr noundef nonnull @.str.11) #12
  %6991 = load i32, ptr %1545, align 4, !tbaa !5
  %6992 = call ptr @strerror(i32 noundef %6991) #12
  %6993 = load i32, ptr %1545, align 4, !tbaa !5
  %6994 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6985, ptr noundef nonnull %.str.12.sink3946, i32 noundef %6986, ptr noundef nonnull @.str.44, ptr noundef nonnull @.str.8, i32 noundef 627, ptr noundef %6988, ptr noundef %6990, ptr noundef %6992, i32 noundef %6993) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6995:                                             ; preds = %6968
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %17) #12
  call void @llvm.lifetime.start.p0(i64 64, ptr nonnull %18) #12
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(64) %18, ptr noundef nonnull align 8 dereferenceable(64) @security_policy_rfc9151, i64 64, i1 false), !tbaa.struct !67
  %6996 = getelementptr inbounds i8, ptr %18, i64 56
  store i8 1, ptr %6996, align 8, !tbaa !68
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %19) #12
  %6997 = call ptr @s2n_config_new() #12
  store ptr %6997, ptr %19, align 8, !tbaa !9
  %6998 = load i32, ptr @test_count, align 4, !tbaa !5
  %6999 = add nsw i32 %6998, 1
  store i32 %6999, ptr @test_count, align 4, !tbaa !5
  %7000 = icmp eq ptr %6997, null
  br i1 %7000, label %7001, label %7023

7001:                                             ; preds = %6995
  %7002 = load i32, ptr %1545, align 4, !tbaa !5
  %7003 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7004 = call i32 @s2n_print_stacktrace(ptr noundef %7003) #12
  %7005 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7006 = trunc nuw i8 %7005 to i1
  br i1 %7006, label %7007, label %7011

7007:                                             ; preds = %7001
  %7008 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7009 = call i32 @fileno(ptr noundef %7008) #12
  %7010 = call i32 @isatty(i32 noundef %7009) #12
  %.not1367 = icmp eq i32 %7010, 0
  br i1 %.not1367, label %7011, label %7012

7011:                                             ; preds = %7007, %7001
  br label %7012

7012:                                             ; preds = %7007, %7011
  %.str.12.sink3955 = phi ptr [ @.str.12, %7011 ], [ @.str.9, %7007 ]
  store i32 %7002, ptr %1545, align 4, !tbaa !5
  %7013 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7014 = load i32, ptr @test_count, align 4, !tbaa !5
  %7015 = load i32, ptr %1491, align 4, !tbaa !5
  %7016 = call ptr @s2n_strerror(i32 noundef %7015, ptr noundef nonnull @.str.11) #12
  %7017 = load i32, ptr %1491, align 4, !tbaa !5
  %7018 = call ptr @s2n_strerror_debug(i32 noundef %7017, ptr noundef nonnull @.str.11) #12
  %7019 = load i32, ptr %1545, align 4, !tbaa !5
  %7020 = call ptr @strerror(i32 noundef %7019) #12
  %7021 = load i32, ptr %1545, align 4, !tbaa !5
  %7022 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7013, ptr noundef nonnull %.str.12.sink3955, i32 noundef %7014, ptr noundef nonnull @.str.69, ptr noundef nonnull @.str.8, i32 noundef 640, ptr noundef %7016, ptr noundef %7018, ptr noundef %7020, i32 noundef %7021) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7023:                                             ; preds = %6995
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %20) #12
  %7024 = call ptr @s2n_connection_new(i32 noundef 0) #12
  store ptr %7024, ptr %20, align 8, !tbaa !9
  %7025 = load i32, ptr @test_count, align 4, !tbaa !5
  %7026 = add nsw i32 %7025, 1
  store i32 %7026, ptr @test_count, align 4, !tbaa !5
  %7027 = icmp eq ptr %7024, null
  br i1 %7027, label %7028, label %7050

7028:                                             ; preds = %7023
  %7029 = load i32, ptr %1545, align 4, !tbaa !5
  %7030 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7031 = call i32 @s2n_print_stacktrace(ptr noundef %7030) #12
  %7032 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7033 = trunc nuw i8 %7032 to i1
  br i1 %7033, label %7034, label %7038

7034:                                             ; preds = %7028
  %7035 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7036 = call i32 @fileno(ptr noundef %7035) #12
  %7037 = call i32 @isatty(i32 noundef %7036) #12
  %.not1366 = icmp eq i32 %7037, 0
  br i1 %.not1366, label %7038, label %7039

7038:                                             ; preds = %7034, %7028
  br label %7039

7039:                                             ; preds = %7034, %7038
  %.str.12.sink3964 = phi ptr [ @.str.12, %7038 ], [ @.str.9, %7034 ]
  store i32 %7029, ptr %1545, align 4, !tbaa !5
  %7040 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7041 = load i32, ptr @test_count, align 4, !tbaa !5
  %7042 = load i32, ptr %1491, align 4, !tbaa !5
  %7043 = call ptr @s2n_strerror(i32 noundef %7042, ptr noundef nonnull @.str.11) #12
  %7044 = load i32, ptr %1491, align 4, !tbaa !5
  %7045 = call ptr @s2n_strerror_debug(i32 noundef %7044, ptr noundef nonnull @.str.11) #12
  %7046 = load i32, ptr %1545, align 4, !tbaa !5
  %7047 = call ptr @strerror(i32 noundef %7046) #12
  %7048 = load i32, ptr %1545, align 4, !tbaa !5
  %7049 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7040, ptr noundef nonnull %.str.12.sink3964, i32 noundef %7041, ptr noundef nonnull @.str.92, ptr noundef nonnull @.str.8, i32 noundef 642, ptr noundef %7043, ptr noundef %7045, ptr noundef %7047, i32 noundef %7048) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7050:                                             ; preds = %7023
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %21) #12
  store ptr null, ptr %21, align 8, !tbaa !9
  %7051 = add nsw i32 %7025, 2
  store i32 %7051, ptr @test_count, align 4, !tbaa !5
  %7052 = call i32 @s2n_test_cert_permutation_load_server_chain(ptr noundef nonnull %21, ptr noundef nonnull @.str.157, ptr noundef nonnull @.str.158, ptr noundef nonnull @.str.159, ptr noundef nonnull @.str.160) #12
  %7053 = icmp eq i32 %7052, -1
  br i1 %7053, label %7054, label %7076

7054:                                             ; preds = %7050
  %7055 = load i32, ptr %1545, align 4, !tbaa !5
  %7056 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7057 = call i32 @s2n_print_stacktrace(ptr noundef %7056) #12
  %7058 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7059 = trunc nuw i8 %7058 to i1
  br i1 %7059, label %7060, label %7064

7060:                                             ; preds = %7054
  %7061 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7062 = call i32 @fileno(ptr noundef %7061) #12
  %7063 = call i32 @isatty(i32 noundef %7062) #12
  %.not1365 = icmp eq i32 %7063, 0
  br i1 %.not1365, label %7064, label %7065

7064:                                             ; preds = %7060, %7054
  br label %7065

7065:                                             ; preds = %7060, %7064
  %.str.12.sink3973 = phi ptr [ @.str.12, %7064 ], [ @.str.9, %7060 ]
  store i32 %7055, ptr %1545, align 4, !tbaa !5
  %7066 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7067 = load i32, ptr @test_count, align 4, !tbaa !5
  %7068 = load i32, ptr %1491, align 4, !tbaa !5
  %7069 = call ptr @s2n_strerror(i32 noundef %7068, ptr noundef nonnull @.str.11) #12
  %7070 = load i32, ptr %1491, align 4, !tbaa !5
  %7071 = call ptr @s2n_strerror_debug(i32 noundef %7070, ptr noundef nonnull @.str.11) #12
  %7072 = load i32, ptr %1545, align 4, !tbaa !5
  %7073 = call ptr @strerror(i32 noundef %7072) #12
  %7074 = load i32, ptr %1545, align 4, !tbaa !5
  %7075 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7066, ptr noundef nonnull %.str.12.sink3973, i32 noundef %7067, ptr noundef nonnull @.str.161, ptr noundef nonnull @.str.8, i32 noundef 645, ptr noundef %7069, ptr noundef %7071, ptr noundef %7073, i32 noundef %7074) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7076:                                             ; preds = %7050
  %7077 = load i32, ptr @test_count, align 4, !tbaa !5
  %7078 = add nsw i32 %7077, 1
  store i32 %7078, ptr @test_count, align 4, !tbaa !5
  %7079 = load ptr, ptr %19, align 8, !tbaa !9
  %7080 = load ptr, ptr %21, align 8, !tbaa !9
  %7081 = call i32 @s2n_config_add_cert_chain_and_key_to_store(ptr noundef %7079, ptr noundef %7080) #12
  %7082 = icmp eq i32 %7081, -1
  br i1 %7082, label %7083, label %7105

7083:                                             ; preds = %7076
  %7084 = load i32, ptr %1545, align 4, !tbaa !5
  %7085 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7086 = call i32 @s2n_print_stacktrace(ptr noundef %7085) #12
  %7087 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7088 = trunc nuw i8 %7087 to i1
  br i1 %7088, label %7089, label %7093

7089:                                             ; preds = %7083
  %7090 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7091 = call i32 @fileno(ptr noundef %7090) #12
  %7092 = call i32 @isatty(i32 noundef %7091) #12
  %.not1364 = icmp eq i32 %7092, 0
  br i1 %.not1364, label %7093, label %7094

7093:                                             ; preds = %7089, %7083
  br label %7094

7094:                                             ; preds = %7089, %7093
  %.str.12.sink3982 = phi ptr [ @.str.12, %7093 ], [ @.str.9, %7089 ]
  store i32 %7084, ptr %1545, align 4, !tbaa !5
  %7095 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7096 = load i32, ptr @test_count, align 4, !tbaa !5
  %7097 = load i32, ptr %1491, align 4, !tbaa !5
  %7098 = call ptr @s2n_strerror(i32 noundef %7097, ptr noundef nonnull @.str.11) #12
  %7099 = load i32, ptr %1491, align 4, !tbaa !5
  %7100 = call ptr @s2n_strerror_debug(i32 noundef %7099, ptr noundef nonnull @.str.11) #12
  %7101 = load i32, ptr %1545, align 4, !tbaa !5
  %7102 = call ptr @strerror(i32 noundef %7101) #12
  %7103 = load i32, ptr %1545, align 4, !tbaa !5
  %7104 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7095, ptr noundef nonnull %.str.12.sink3982, i32 noundef %7096, ptr noundef nonnull @.str.162, ptr noundef nonnull @.str.8, i32 noundef 647, ptr noundef %7098, ptr noundef %7100, ptr noundef %7102, i32 noundef %7103) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7105:                                             ; preds = %7076
  %7106 = load ptr, ptr %20, align 8, !tbaa !9
  %7107 = getelementptr inbounds i8, ptr %7106, i64 16
  store ptr %18, ptr %7107, align 8, !tbaa !70
  %7108 = load i32, ptr @test_count, align 4, !tbaa !5
  %7109 = add nsw i32 %7108, 1
  store i32 %7109, ptr @test_count, align 4, !tbaa !5
  %7110 = load ptr, ptr %19, align 8, !tbaa !9
  %7111 = call i32 @s2n_connection_set_config(ptr noundef %7106, ptr noundef %7110) #12
  %7112 = icmp eq i32 %7111, -1
  br i1 %7112, label %7135, label %7113

7113:                                             ; preds = %7105
  %7114 = load i32, ptr %1545, align 4, !tbaa !5
  %7115 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7116 = call i32 @s2n_print_stacktrace(ptr noundef %7115) #12
  %7117 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7118 = trunc nuw i8 %7117 to i1
  br i1 %7118, label %7119, label %7123

7119:                                             ; preds = %7113
  %7120 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7121 = call i32 @fileno(ptr noundef %7120) #12
  %7122 = call i32 @isatty(i32 noundef %7121) #12
  %.not1196 = icmp eq i32 %7122, 0
  br i1 %.not1196, label %7123, label %7124

7123:                                             ; preds = %7119, %7113
  br label %7124

7124:                                             ; preds = %7119, %7123
  %.str.12.sink3991 = phi ptr [ @.str.12, %7123 ], [ @.str.9, %7119 ]
  store i32 %7114, ptr %1545, align 4, !tbaa !5
  %7125 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7126 = load i32, ptr @test_count, align 4, !tbaa !5
  %7127 = load i32, ptr %1491, align 4, !tbaa !5
  %7128 = call ptr @s2n_strerror(i32 noundef %7127, ptr noundef nonnull @.str.11) #12
  %7129 = load i32, ptr %1491, align 4, !tbaa !5
  %7130 = call ptr @s2n_strerror_debug(i32 noundef %7129, ptr noundef nonnull @.str.11) #12
  %7131 = load i32, ptr %1545, align 4, !tbaa !5
  %7132 = call ptr @strerror(i32 noundef %7131) #12
  %7133 = load i32, ptr %1545, align 4, !tbaa !5
  %7134 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7125, ptr noundef nonnull %.str.12.sink3991, i32 noundef %7126, ptr noundef nonnull @.str.163, ptr noundef nonnull @.str.8, i32 noundef 649, ptr noundef %7128, ptr noundef %7130, ptr noundef %7132, i32 noundef %7133) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7135:                                             ; preds = %7105
  %7136 = load i32, ptr @test_count, align 4, !tbaa !5
  %7137 = add nsw i32 %7136, 1
  store i32 %7137, ptr @test_count, align 4, !tbaa !5
  %7138 = load i32, ptr %1491, align 4, !tbaa !5
  %7139 = icmp eq i32 %7138, 469762133
  br i1 %7139, label %7162, label %7140

7140:                                             ; preds = %7135
  %7141 = load i32, ptr %1545, align 4, !tbaa !5
  %7142 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7143 = call i32 @s2n_print_stacktrace(ptr noundef %7142) #12
  %7144 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7145 = trunc nuw i8 %7144 to i1
  br i1 %7145, label %7146, label %7150

7146:                                             ; preds = %7140
  %7147 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7148 = call i32 @fileno(ptr noundef %7147) #12
  %7149 = call i32 @isatty(i32 noundef %7148) #12
  %.not1197 = icmp eq i32 %7149, 0
  br i1 %.not1197, label %7150, label %7151

7150:                                             ; preds = %7146, %7140
  br label %7151

7151:                                             ; preds = %7146, %7150
  %.str.12.sink4000 = phi ptr [ @.str.12, %7150 ], [ @.str.9, %7146 ]
  store i32 %7141, ptr %1545, align 4, !tbaa !5
  %7152 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7153 = load i32, ptr @test_count, align 4, !tbaa !5
  %7154 = load i32, ptr %1491, align 4, !tbaa !5
  %7155 = call ptr @s2n_strerror(i32 noundef %7154, ptr noundef nonnull @.str.11) #12
  %7156 = load i32, ptr %1491, align 4, !tbaa !5
  %7157 = call ptr @s2n_strerror_debug(i32 noundef %7156, ptr noundef nonnull @.str.11) #12
  %7158 = load i32, ptr %1545, align 4, !tbaa !5
  %7159 = call ptr @strerror(i32 noundef %7158) #12
  %7160 = load i32, ptr %1545, align 4, !tbaa !5
  %7161 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7152, ptr noundef nonnull %.str.12.sink4000, i32 noundef %7153, ptr noundef nonnull @.str.164, ptr noundef nonnull @.str.8, i32 noundef 649, ptr noundef %7155, ptr noundef %7157, ptr noundef %7159, i32 noundef %7160) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7162:                                             ; preds = %7135
  %7163 = add nsw i32 %7136, 2
  store i32 %7163, ptr @test_count, align 4, !tbaa !5
  %7164 = call ptr @s2n_strerror_debug(i32 noundef 469762133, ptr noundef nonnull @.str.11) #12
  %7165 = icmp eq ptr %7164, null
  br i1 %7165, label %7166, label %7188

7166:                                             ; preds = %7162
  %7167 = load i32, ptr %1545, align 4, !tbaa !5
  %7168 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7169 = call i32 @s2n_print_stacktrace(ptr noundef %7168) #12
  %7170 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7171 = trunc nuw i8 %7170 to i1
  br i1 %7171, label %7172, label %7176

7172:                                             ; preds = %7166
  %7173 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7174 = call i32 @fileno(ptr noundef %7173) #12
  %7175 = call i32 @isatty(i32 noundef %7174) #12
  %.not1363 = icmp eq i32 %7175, 0
  br i1 %.not1363, label %7176, label %7177

7176:                                             ; preds = %7172, %7166
  br label %7177

7177:                                             ; preds = %7172, %7176
  %.str.12.sink4009 = phi ptr [ @.str.12, %7176 ], [ @.str.9, %7172 ]
  store i32 %7167, ptr %1545, align 4, !tbaa !5
  %7178 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7179 = load i32, ptr @test_count, align 4, !tbaa !5
  %7180 = load i32, ptr %1491, align 4, !tbaa !5
  %7181 = call ptr @s2n_strerror(i32 noundef %7180, ptr noundef nonnull @.str.11) #12
  %7182 = load i32, ptr %1491, align 4, !tbaa !5
  %7183 = call ptr @s2n_strerror_debug(i32 noundef %7182, ptr noundef nonnull @.str.11) #12
  %7184 = load i32, ptr %1545, align 4, !tbaa !5
  %7185 = call ptr @strerror(i32 noundef %7184) #12
  %7186 = load i32, ptr %1545, align 4, !tbaa !5
  %7187 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7178, ptr noundef nonnull %.str.12.sink4009, i32 noundef %7179, ptr noundef nonnull @.str.54, ptr noundef nonnull @.str.8, i32 noundef 649, ptr noundef %7181, ptr noundef %7183, ptr noundef %7185, i32 noundef %7186) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7188:                                             ; preds = %7162
  store i32 0, ptr %1491, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %1545, align 4, !tbaa !5
  %7189 = call i32 @s2n_cert_chain_and_key_ptr_free(ptr noundef nonnull %21) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %21) #12
  %7190 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %20) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %20) #12
  %7191 = call i32 @s2n_config_ptr_free(ptr noundef nonnull %19) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %19) #12
  call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %18) #12
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %22) #12
  store ptr null, ptr %22, align 8, !tbaa !9
  %7192 = load i32, ptr @test_count, align 4, !tbaa !5
  %7193 = add nsw i32 %7192, 1
  store i32 %7193, ptr @test_count, align 4, !tbaa !5
  %7194 = call i32 @s2n_test_cert_permutation_load_server_chain(ptr noundef nonnull %22, ptr noundef nonnull @.str.165, ptr noundef nonnull @.str.166, ptr noundef nonnull @.str.167, ptr noundef nonnull @.str.168) #12
  %7195 = icmp eq i32 %7194, -1
  br i1 %7195, label %7196, label %7218

7196:                                             ; preds = %7188
  %7197 = load i32, ptr %1545, align 4, !tbaa !5
  %7198 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7199 = call i32 @s2n_print_stacktrace(ptr noundef %7198) #12
  %7200 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7201 = trunc nuw i8 %7200 to i1
  br i1 %7201, label %7202, label %7206

7202:                                             ; preds = %7196
  %7203 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7204 = call i32 @fileno(ptr noundef %7203) #12
  %7205 = call i32 @isatty(i32 noundef %7204) #12
  %.not1362 = icmp eq i32 %7205, 0
  br i1 %.not1362, label %7206, label %7207

7206:                                             ; preds = %7202, %7196
  br label %7207

7207:                                             ; preds = %7202, %7206
  %.str.12.sink4018 = phi ptr [ @.str.12, %7206 ], [ @.str.9, %7202 ]
  store i32 %7197, ptr %1545, align 4, !tbaa !5
  %7208 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7209 = load i32, ptr @test_count, align 4, !tbaa !5
  %7210 = load i32, ptr %1491, align 4, !tbaa !5
  %7211 = call ptr @s2n_strerror(i32 noundef %7210, ptr noundef nonnull @.str.11) #12
  %7212 = load i32, ptr %1491, align 4, !tbaa !5
  %7213 = call ptr @s2n_strerror_debug(i32 noundef %7212, ptr noundef nonnull @.str.11) #12
  %7214 = load i32, ptr %1545, align 4, !tbaa !5
  %7215 = call ptr @strerror(i32 noundef %7214) #12
  %7216 = load i32, ptr %1545, align 4, !tbaa !5
  %7217 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7208, ptr noundef nonnull %.str.12.sink4018, i32 noundef %7209, ptr noundef nonnull @.str.169, ptr noundef nonnull @.str.8, i32 noundef 661, ptr noundef %7211, ptr noundef %7213, ptr noundef %7215, i32 noundef %7216) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7218:                                             ; preds = %7188
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %23) #12
  %7219 = call ptr @s2n_config_new() #12
  store ptr %7219, ptr %23, align 8, !tbaa !9
  %7220 = load i32, ptr @test_count, align 4, !tbaa !5
  %7221 = add nsw i32 %7220, 1
  store i32 %7221, ptr @test_count, align 4, !tbaa !5
  %7222 = load ptr, ptr %22, align 8, !tbaa !9
  %7223 = call i32 @s2n_config_add_cert_chain_and_key_to_store(ptr noundef %7219, ptr noundef %7222) #12
  %7224 = icmp eq i32 %7223, -1
  br i1 %7224, label %7225, label %7247

7225:                                             ; preds = %7218
  %7226 = load i32, ptr %1545, align 4, !tbaa !5
  %7227 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7228 = call i32 @s2n_print_stacktrace(ptr noundef %7227) #12
  %7229 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7230 = trunc nuw i8 %7229 to i1
  br i1 %7230, label %7231, label %7235

7231:                                             ; preds = %7225
  %7232 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7233 = call i32 @fileno(ptr noundef %7232) #12
  %7234 = call i32 @isatty(i32 noundef %7233) #12
  %.not1361 = icmp eq i32 %7234, 0
  br i1 %.not1361, label %7235, label %7236

7235:                                             ; preds = %7231, %7225
  br label %7236

7236:                                             ; preds = %7231, %7235
  %.str.12.sink4027 = phi ptr [ @.str.12, %7235 ], [ @.str.9, %7231 ]
  store i32 %7226, ptr %1545, align 4, !tbaa !5
  %7237 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7238 = load i32, ptr @test_count, align 4, !tbaa !5
  %7239 = load i32, ptr %1491, align 4, !tbaa !5
  %7240 = call ptr @s2n_strerror(i32 noundef %7239, ptr noundef nonnull @.str.11) #12
  %7241 = load i32, ptr %1491, align 4, !tbaa !5
  %7242 = call ptr @s2n_strerror_debug(i32 noundef %7241, ptr noundef nonnull @.str.11) #12
  %7243 = load i32, ptr %1545, align 4, !tbaa !5
  %7244 = call ptr @strerror(i32 noundef %7243) #12
  %7245 = load i32, ptr %1545, align 4, !tbaa !5
  %7246 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7237, ptr noundef nonnull %.str.12.sink4027, i32 noundef %7238, ptr noundef nonnull @.str.170, ptr noundef nonnull @.str.8, i32 noundef 664, ptr noundef %7240, ptr noundef %7242, ptr noundef %7244, i32 noundef %7245) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7247:                                             ; preds = %7218
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %24) #12
  store ptr null, ptr %24, align 8, !tbaa !9
  %7248 = call i32 @s2n_find_security_policy_from_version(ptr noundef nonnull @.str.171, ptr noundef nonnull %24) #12
  %7249 = icmp sgt i32 %7248, -1
  br i1 %7249, label %7250, label %7292

7250:                                             ; preds = %7247
  %7251 = load ptr, ptr %24, align 8, !tbaa !9
  %7252 = load ptr, ptr %23, align 8, !tbaa !9
  %7253 = getelementptr inbounds i8, ptr %7252, i64 96
  store ptr %7251, ptr %7253, align 8, !tbaa !71
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %25) #12
  %7254 = call ptr @s2n_connection_new(i32 noundef 0) #12
  store ptr %7254, ptr %25, align 8, !tbaa !9
  %.not1198 = icmp eq ptr %7254, null
  br i1 %.not1198, label %7255, label %7262

7255:                                             ; preds = %7250
  %7256 = call align 8 ptr @llvm.threadlocal.address.p0(ptr align 8 @_s2n_debug_info)
  store ptr @.str.172, ptr %7256, align 8, !tbaa !75
  %7257 = call ptr @strrchr(ptr noundef nonnull dereferenceable(1) getelementptr inbounds (i8, ptr @.str.172, i64 21), i32 noundef 47) #16
  %.not1199 = icmp eq ptr %7257, null
  %7258 = getelementptr inbounds i8, ptr %7257, i64 1
  %7259 = select i1 %.not1199, ptr getelementptr inbounds (i8, ptr @.str.172, i64 21), ptr %7258
  %7260 = getelementptr inbounds i8, ptr %7256, i64 8
  store ptr %7259, ptr %7260, align 8, !tbaa !77
  store i32 402653193, ptr %1491, align 4, !tbaa !5
  %7261 = call i32 @s2n_calculate_stacktrace() #12
  br label %7290

7262:                                             ; preds = %7250
  %7263 = load i32, ptr @test_count, align 4, !tbaa !5
  %7264 = add nsw i32 %7263, 1
  store i32 %7264, ptr @test_count, align 4, !tbaa !5
  %7265 = load ptr, ptr %23, align 8, !tbaa !9
  %7266 = call i32 @s2n_connection_set_config(ptr noundef nonnull %7254, ptr noundef %7265) #12
  %7267 = icmp eq i32 %7266, -1
  br i1 %7267, label %7268, label %7290

7268:                                             ; preds = %7262
  %7269 = load i32, ptr %1545, align 4, !tbaa !5
  %7270 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7271 = call i32 @s2n_print_stacktrace(ptr noundef %7270) #12
  %7272 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7273 = trunc nuw i8 %7272 to i1
  br i1 %7273, label %7274, label %7278

7274:                                             ; preds = %7268
  %7275 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7276 = call i32 @fileno(ptr noundef %7275) #12
  %7277 = call i32 @isatty(i32 noundef %7276) #12
  %.not1360 = icmp eq i32 %7277, 0
  br i1 %.not1360, label %7278, label %7279

7278:                                             ; preds = %7274, %7268
  br label %7279

7279:                                             ; preds = %7274, %7278
  %.str.12.sink4036 = phi ptr [ @.str.12, %7278 ], [ @.str.9, %7274 ]
  store i32 %7269, ptr %1545, align 4, !tbaa !5
  %7280 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7281 = load i32, ptr @test_count, align 4, !tbaa !5
  %7282 = load i32, ptr %1491, align 4, !tbaa !5
  %7283 = call ptr @s2n_strerror(i32 noundef %7282, ptr noundef nonnull @.str.11) #12
  %7284 = load i32, ptr %1491, align 4, !tbaa !5
  %7285 = call ptr @s2n_strerror_debug(i32 noundef %7284, ptr noundef nonnull @.str.11) #12
  %7286 = load i32, ptr %1545, align 4, !tbaa !5
  %7287 = call ptr @strerror(i32 noundef %7286) #12
  %7288 = load i32, ptr %1545, align 4, !tbaa !5
  %7289 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7280, ptr noundef nonnull %.str.12.sink4036, i32 noundef %7281, ptr noundef nonnull @.str.173, ptr noundef nonnull @.str.8, i32 noundef 674, ptr noundef %7283, ptr noundef %7285, ptr noundef %7287, i32 noundef %7288) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7290:                                             ; preds = %7262, %7255
  %.01078 = phi i32 [ 1, %7255 ], [ 0, %7262 ]
  %.0 = phi i32 [ -1, %7255 ], [ 0, %7262 ]
  %7291 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %25) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %25) #12
  br label %7292

7292:                                             ; preds = %7247, %7290
  %.11079 = phi i32 [ %.01078, %7290 ], [ 1, %7247 ]
  %.1 = phi i32 [ %.0, %7290 ], [ -1, %7247 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %24) #12
  %7293 = call i32 @s2n_config_ptr_free(ptr noundef nonnull %23) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %23) #12
  %7294 = call i32 @s2n_cert_chain_and_key_ptr_free(ptr noundef nonnull %22) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %22) #12
  %cond = icmp eq i32 %.11079, 0
  br i1 %cond, label %7295, label %11631

7295:                                             ; preds = %7292
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %26) #12
  %7296 = call ptr @s2n_connection_new(i32 noundef 1) #12
  store ptr %7296, ptr %26, align 8, !tbaa !9
  %7297 = load i32, ptr @test_count, align 4, !tbaa !5
  %7298 = add nsw i32 %7297, 1
  store i32 %7298, ptr @test_count, align 4, !tbaa !5
  %7299 = icmp eq ptr %7296, null
  br i1 %7299, label %7300, label %7322

7300:                                             ; preds = %7295
  %7301 = load i32, ptr %1545, align 4, !tbaa !5
  %7302 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7303 = call i32 @s2n_print_stacktrace(ptr noundef %7302) #12
  %7304 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7305 = trunc nuw i8 %7304 to i1
  br i1 %7305, label %7306, label %7310

7306:                                             ; preds = %7300
  %7307 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7308 = call i32 @fileno(ptr noundef %7307) #12
  %7309 = call i32 @isatty(i32 noundef %7308) #12
  %.not1359 = icmp eq i32 %7309, 0
  br i1 %.not1359, label %7310, label %7311

7310:                                             ; preds = %7306, %7300
  br label %7311

7311:                                             ; preds = %7306, %7310
  %.str.12.sink4045 = phi ptr [ @.str.12, %7310 ], [ @.str.9, %7306 ]
  store i32 %7301, ptr %1545, align 4, !tbaa !5
  %7312 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7313 = load i32, ptr @test_count, align 4, !tbaa !5
  %7314 = load i32, ptr %1491, align 4, !tbaa !5
  %7315 = call ptr @s2n_strerror(i32 noundef %7314, ptr noundef nonnull @.str.11) #12
  %7316 = load i32, ptr %1491, align 4, !tbaa !5
  %7317 = call ptr @s2n_strerror_debug(i32 noundef %7316, ptr noundef nonnull @.str.11) #12
  %7318 = load i32, ptr %1545, align 4, !tbaa !5
  %7319 = call ptr @strerror(i32 noundef %7318) #12
  %7320 = load i32, ptr %1545, align 4, !tbaa !5
  %7321 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7312, ptr noundef nonnull %.str.12.sink4045, i32 noundef %7313, ptr noundef nonnull @.str.92, ptr noundef nonnull @.str.8, i32 noundef 682, ptr noundef %7315, ptr noundef %7317, ptr noundef %7319, i32 noundef %7320) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7322:                                             ; preds = %7295
  %7323 = add nsw i32 %7297, 2
  store i32 %7323, ptr @test_count, align 4, !tbaa !5
  %7324 = call i64 @s2n_connection_get_wire_bytes_out(ptr noundef nonnull %7296) #12
  %7325 = icmp eq i64 %7324, 0
  br i1 %7325, label %7348, label %7326

7326:                                             ; preds = %7322
  %7327 = load i32, ptr %1545, align 4, !tbaa !5
  %7328 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7329 = call i32 @s2n_print_stacktrace(ptr noundef %7328) #12
  %7330 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7331 = trunc nuw i8 %7330 to i1
  br i1 %7331, label %7332, label %7336

7332:                                             ; preds = %7326
  %7333 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7334 = call i32 @fileno(ptr noundef %7333) #12
  %7335 = call i32 @isatty(i32 noundef %7334) #12
  %.not1200 = icmp eq i32 %7335, 0
  br i1 %.not1200, label %7336, label %7337

7336:                                             ; preds = %7332, %7326
  br label %7337

7337:                                             ; preds = %7332, %7336
  %.str.12.sink4054 = phi ptr [ @.str.12, %7336 ], [ @.str.9, %7332 ]
  store i32 %7327, ptr %1545, align 4, !tbaa !5
  %7338 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7339 = load i32, ptr @test_count, align 4, !tbaa !5
  %7340 = load i32, ptr %1491, align 4, !tbaa !5
  %7341 = call ptr @s2n_strerror(i32 noundef %7340, ptr noundef nonnull @.str.11) #12
  %7342 = load i32, ptr %1491, align 4, !tbaa !5
  %7343 = call ptr @s2n_strerror_debug(i32 noundef %7342, ptr noundef nonnull @.str.11) #12
  %7344 = load i32, ptr %1545, align 4, !tbaa !5
  %7345 = call ptr @strerror(i32 noundef %7344) #12
  %7346 = load i32, ptr %1545, align 4, !tbaa !5
  %7347 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7338, ptr noundef nonnull %.str.12.sink4054, i32 noundef %7339, ptr noundef nonnull @.str.174, ptr noundef nonnull @.str.8, i32 noundef 683, ptr noundef %7341, ptr noundef %7343, ptr noundef %7345, i32 noundef %7346) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7348:                                             ; preds = %7322
  %7349 = load ptr, ptr %26, align 8, !tbaa !9
  %7350 = getelementptr inbounds i8, ptr %7349, i64 2248
  store i64 123456, ptr %7350, align 8, !tbaa !78
  %7351 = load i32, ptr @test_count, align 4, !tbaa !5
  %7352 = add nsw i32 %7351, 1
  store i32 %7352, ptr @test_count, align 4, !tbaa !5
  %7353 = call i64 @s2n_connection_get_wire_bytes_out(ptr noundef %7349) #12
  %7354 = icmp eq i64 %7353, 123456
  br i1 %7354, label %7377, label %7355

7355:                                             ; preds = %7348
  %7356 = load i32, ptr %1545, align 4, !tbaa !5
  %7357 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7358 = call i32 @s2n_print_stacktrace(ptr noundef %7357) #12
  %7359 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7360 = trunc nuw i8 %7359 to i1
  br i1 %7360, label %7361, label %7365

7361:                                             ; preds = %7355
  %7362 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7363 = call i32 @fileno(ptr noundef %7362) #12
  %7364 = call i32 @isatty(i32 noundef %7363) #12
  %.not1201 = icmp eq i32 %7364, 0
  br i1 %.not1201, label %7365, label %7366

7365:                                             ; preds = %7361, %7355
  br label %7366

7366:                                             ; preds = %7361, %7365
  %.str.12.sink4063 = phi ptr [ @.str.12, %7365 ], [ @.str.9, %7361 ]
  store i32 %7356, ptr %1545, align 4, !tbaa !5
  %7367 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7368 = load i32, ptr @test_count, align 4, !tbaa !5
  %7369 = load i32, ptr %1491, align 4, !tbaa !5
  %7370 = call ptr @s2n_strerror(i32 noundef %7369, ptr noundef nonnull @.str.11) #12
  %7371 = load i32, ptr %1491, align 4, !tbaa !5
  %7372 = call ptr @s2n_strerror_debug(i32 noundef %7371, ptr noundef nonnull @.str.11) #12
  %7373 = load i32, ptr %1545, align 4, !tbaa !5
  %7374 = call ptr @strerror(i32 noundef %7373) #12
  %7375 = load i32, ptr %1545, align 4, !tbaa !5
  %7376 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7367, ptr noundef nonnull %.str.12.sink4063, i32 noundef %7368, ptr noundef nonnull @.str.175, ptr noundef nonnull @.str.8, i32 noundef 687, ptr noundef %7370, ptr noundef %7372, ptr noundef %7374, i32 noundef %7375) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7377:                                             ; preds = %7348
  %7378 = call i32 @s2n_connection_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 %27) #12
  %7379 = call ptr @s2n_config_new() #12
  store ptr %7379, ptr %27, align 8, !tbaa !9
  %7380 = load i32, ptr @test_count, align 4, !tbaa !5
  %7381 = add nsw i32 %7380, 1
  store i32 %7381, ptr @test_count, align 4, !tbaa !5
  %7382 = icmp eq ptr %7379, null
  br i1 %7382, label %7383, label %7405

7383:                                             ; preds = %7377
  %7384 = load i32, ptr %1545, align 4, !tbaa !5
  %7385 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7386 = call i32 @s2n_print_stacktrace(ptr noundef %7385) #12
  %7387 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7388 = trunc nuw i8 %7387 to i1
  br i1 %7388, label %7389, label %7393

7389:                                             ; preds = %7383
  %7390 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7391 = call i32 @fileno(ptr noundef %7390) #12
  %7392 = call i32 @isatty(i32 noundef %7391) #12
  %.not1358 = icmp eq i32 %7392, 0
  br i1 %.not1358, label %7393, label %7394

7393:                                             ; preds = %7389, %7383
  br label %7394

7394:                                             ; preds = %7389, %7393
  %.str.12.sink4072 = phi ptr [ @.str.12, %7393 ], [ @.str.9, %7389 ]
  store i32 %7384, ptr %1545, align 4, !tbaa !5
  %7395 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7396 = load i32, ptr @test_count, align 4, !tbaa !5
  %7397 = load i32, ptr %1491, align 4, !tbaa !5
  %7398 = call ptr @s2n_strerror(i32 noundef %7397, ptr noundef nonnull @.str.11) #12
  %7399 = load i32, ptr %1491, align 4, !tbaa !5
  %7400 = call ptr @s2n_strerror_debug(i32 noundef %7399, ptr noundef nonnull @.str.11) #12
  %7401 = load i32, ptr %1545, align 4, !tbaa !5
  %7402 = call ptr @strerror(i32 noundef %7401) #12
  %7403 = load i32, ptr %1545, align 4, !tbaa !5
  %7404 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7395, ptr noundef nonnull %.str.12.sink4072, i32 noundef %7396, ptr noundef nonnull @.str.69, ptr noundef nonnull @.str.8, i32 noundef 693, ptr noundef %7398, ptr noundef %7400, ptr noundef %7402, i32 noundef %7403) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7405:                                             ; preds = %7377
  %7406 = add nsw i32 %7380, 2
  store i32 %7406, ptr @test_count, align 4, !tbaa !5
  %7407 = call i32 @s2n_config_set_cipher_preferences(ptr noundef nonnull %7379, ptr noundef nonnull @.str.73) #12
  %7408 = icmp eq i32 %7407, -1
  br i1 %7408, label %7409, label %7431

7409:                                             ; preds = %7405
  %7410 = load i32, ptr %1545, align 4, !tbaa !5
  %7411 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7412 = call i32 @s2n_print_stacktrace(ptr noundef %7411) #12
  %7413 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7414 = trunc nuw i8 %7413 to i1
  br i1 %7414, label %7415, label %7419

7415:                                             ; preds = %7409
  %7416 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7417 = call i32 @fileno(ptr noundef %7416) #12
  %7418 = call i32 @isatty(i32 noundef %7417) #12
  %.not1357 = icmp eq i32 %7418, 0
  br i1 %.not1357, label %7419, label %7420

7419:                                             ; preds = %7415, %7409
  br label %7420

7420:                                             ; preds = %7415, %7419
  %.str.12.sink4081 = phi ptr [ @.str.12, %7419 ], [ @.str.9, %7415 ]
  store i32 %7410, ptr %1545, align 4, !tbaa !5
  %7421 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7422 = load i32, ptr @test_count, align 4, !tbaa !5
  %7423 = load i32, ptr %1491, align 4, !tbaa !5
  %7424 = call ptr @s2n_strerror(i32 noundef %7423, ptr noundef nonnull @.str.11) #12
  %7425 = load i32, ptr %1491, align 4, !tbaa !5
  %7426 = call ptr @s2n_strerror_debug(i32 noundef %7425, ptr noundef nonnull @.str.11) #12
  %7427 = load i32, ptr %1545, align 4, !tbaa !5
  %7428 = call ptr @strerror(i32 noundef %7427) #12
  %7429 = load i32, ptr %1545, align 4, !tbaa !5
  %7430 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7421, ptr noundef nonnull %.str.12.sink4081, i32 noundef %7422, ptr noundef nonnull @.str.74, ptr noundef nonnull @.str.8, i32 noundef 694, ptr noundef %7424, ptr noundef %7426, ptr noundef %7428, i32 noundef %7429) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7431:                                             ; preds = %7405
  %7432 = load i32, ptr @test_count, align 4, !tbaa !5
  %7433 = add nsw i32 %7432, 1
  store i32 %7433, ptr @test_count, align 4, !tbaa !5
  %7434 = load ptr, ptr %27, align 8, !tbaa !9
  %7435 = call i32 @s2n_config_set_unsafe_for_testing(ptr noundef %7434) #12
  %7436 = icmp eq i32 %7435, -1
  br i1 %7436, label %7437, label %7459

7437:                                             ; preds = %7431
  %7438 = load i32, ptr %1545, align 4, !tbaa !5
  %7439 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7440 = call i32 @s2n_print_stacktrace(ptr noundef %7439) #12
  %7441 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7442 = trunc nuw i8 %7441 to i1
  br i1 %7442, label %7443, label %7447

7443:                                             ; preds = %7437
  %7444 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7445 = call i32 @fileno(ptr noundef %7444) #12
  %7446 = call i32 @isatty(i32 noundef %7445) #12
  %.not1356 = icmp eq i32 %7446, 0
  br i1 %.not1356, label %7447, label %7448

7447:                                             ; preds = %7443, %7437
  br label %7448

7448:                                             ; preds = %7443, %7447
  %.str.12.sink4090 = phi ptr [ @.str.12, %7447 ], [ @.str.9, %7443 ]
  store i32 %7438, ptr %1545, align 4, !tbaa !5
  %7449 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7450 = load i32, ptr @test_count, align 4, !tbaa !5
  %7451 = load i32, ptr %1491, align 4, !tbaa !5
  %7452 = call ptr @s2n_strerror(i32 noundef %7451, ptr noundef nonnull @.str.11) #12
  %7453 = load i32, ptr %1491, align 4, !tbaa !5
  %7454 = call ptr @s2n_strerror_debug(i32 noundef %7453, ptr noundef nonnull @.str.11) #12
  %7455 = load i32, ptr %1545, align 4, !tbaa !5
  %7456 = call ptr @strerror(i32 noundef %7455) #12
  %7457 = load i32, ptr %1545, align 4, !tbaa !5
  %7458 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7449, ptr noundef nonnull %.str.12.sink4090, i32 noundef %7450, ptr noundef nonnull @.str.70, ptr noundef nonnull @.str.8, i32 noundef 695, ptr noundef %7452, ptr noundef %7454, ptr noundef %7456, i32 noundef %7457) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7459:                                             ; preds = %7431
  %7460 = load i32, ptr @test_count, align 4, !tbaa !5
  %7461 = add nsw i32 %7460, 1
  store i32 %7461, ptr @test_count, align 4, !tbaa !5
  %7462 = load ptr, ptr %27, align 8, !tbaa !9
  %7463 = load ptr, ptr %3, align 8, !tbaa !9
  %7464 = call i32 @s2n_config_add_cert_chain_and_key_to_store(ptr noundef %7462, ptr noundef %7463) #12
  %7465 = icmp eq i32 %7464, -1
  br i1 %7465, label %7466, label %7488

7466:                                             ; preds = %7459
  %7467 = load i32, ptr %1545, align 4, !tbaa !5
  %7468 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7469 = call i32 @s2n_print_stacktrace(ptr noundef %7468) #12
  %7470 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7471 = trunc nuw i8 %7470 to i1
  br i1 %7471, label %7472, label %7476

7472:                                             ; preds = %7466
  %7473 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7474 = call i32 @fileno(ptr noundef %7473) #12
  %7475 = call i32 @isatty(i32 noundef %7474) #12
  %.not1355 = icmp eq i32 %7475, 0
  br i1 %.not1355, label %7476, label %7477

7476:                                             ; preds = %7472, %7466
  br label %7477

7477:                                             ; preds = %7472, %7476
  %.str.12.sink4099 = phi ptr [ @.str.12, %7476 ], [ @.str.9, %7472 ]
  store i32 %7467, ptr %1545, align 4, !tbaa !5
  %7478 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7479 = load i32, ptr @test_count, align 4, !tbaa !5
  %7480 = load i32, ptr %1491, align 4, !tbaa !5
  %7481 = call ptr @s2n_strerror(i32 noundef %7480, ptr noundef nonnull @.str.11) #12
  %7482 = load i32, ptr %1491, align 4, !tbaa !5
  %7483 = call ptr @s2n_strerror_debug(i32 noundef %7482, ptr noundef nonnull @.str.11) #12
  %7484 = load i32, ptr %1545, align 4, !tbaa !5
  %7485 = call ptr @strerror(i32 noundef %7484) #12
  %7486 = load i32, ptr %1545, align 4, !tbaa !5
  %7487 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7478, ptr noundef nonnull %.str.12.sink4099, i32 noundef %7479, ptr noundef nonnull @.str.72, ptr noundef nonnull @.str.8, i32 noundef 696, ptr noundef %7481, ptr noundef %7483, ptr noundef %7485, i32 noundef %7486) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7488:                                             ; preds = %7459
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %28) #12
  %7489 = call ptr @s2n_connection_new(i32 noundef 1) #12
  store ptr %7489, ptr %28, align 8, !tbaa !9
  %7490 = load i32, ptr @test_count, align 4, !tbaa !5
  %7491 = add nsw i32 %7490, 1
  store i32 %7491, ptr @test_count, align 4, !tbaa !5
  %7492 = icmp eq ptr %7489, null
  br i1 %7492, label %7493, label %7515

7493:                                             ; preds = %7488
  %7494 = load i32, ptr %1545, align 4, !tbaa !5
  %7495 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7496 = call i32 @s2n_print_stacktrace(ptr noundef %7495) #12
  %7497 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7498 = trunc nuw i8 %7497 to i1
  br i1 %7498, label %7499, label %7503

7499:                                             ; preds = %7493
  %7500 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7501 = call i32 @fileno(ptr noundef %7500) #12
  %7502 = call i32 @isatty(i32 noundef %7501) #12
  %.not1354 = icmp eq i32 %7502, 0
  br i1 %.not1354, label %7503, label %7504

7503:                                             ; preds = %7499, %7493
  br label %7504

7504:                                             ; preds = %7499, %7503
  %.str.12.sink4108 = phi ptr [ @.str.12, %7503 ], [ @.str.9, %7499 ]
  store i32 %7494, ptr %1545, align 4, !tbaa !5
  %7505 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7506 = load i32, ptr @test_count, align 4, !tbaa !5
  %7507 = load i32, ptr %1491, align 4, !tbaa !5
  %7508 = call ptr @s2n_strerror(i32 noundef %7507, ptr noundef nonnull @.str.11) #12
  %7509 = load i32, ptr %1491, align 4, !tbaa !5
  %7510 = call ptr @s2n_strerror_debug(i32 noundef %7509, ptr noundef nonnull @.str.11) #12
  %7511 = load i32, ptr %1545, align 4, !tbaa !5
  %7512 = call ptr @strerror(i32 noundef %7511) #12
  %7513 = load i32, ptr %1545, align 4, !tbaa !5
  %7514 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7505, ptr noundef nonnull %.str.12.sink4108, i32 noundef %7506, ptr noundef nonnull @.str.75, ptr noundef nonnull @.str.8, i32 noundef 700, ptr noundef %7508, ptr noundef %7510, ptr noundef %7512, i32 noundef %7513) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7515:                                             ; preds = %7488
  %7516 = add nsw i32 %7490, 2
  store i32 %7516, ptr @test_count, align 4, !tbaa !5
  %7517 = load ptr, ptr %27, align 8, !tbaa !9
  %7518 = call i32 @s2n_connection_set_config(ptr noundef nonnull %7489, ptr noundef %7517) #12
  %7519 = icmp eq i32 %7518, -1
  br i1 %7519, label %7520, label %7542

7520:                                             ; preds = %7515
  %7521 = load i32, ptr %1545, align 4, !tbaa !5
  %7522 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7523 = call i32 @s2n_print_stacktrace(ptr noundef %7522) #12
  %7524 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7525 = trunc nuw i8 %7524 to i1
  br i1 %7525, label %7526, label %7530

7526:                                             ; preds = %7520
  %7527 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7528 = call i32 @fileno(ptr noundef %7527) #12
  %7529 = call i32 @isatty(i32 noundef %7528) #12
  %.not1353 = icmp eq i32 %7529, 0
  br i1 %.not1353, label %7530, label %7531

7530:                                             ; preds = %7526, %7520
  br label %7531

7531:                                             ; preds = %7526, %7530
  %.str.12.sink4117 = phi ptr [ @.str.12, %7530 ], [ @.str.9, %7526 ]
  store i32 %7521, ptr %1545, align 4, !tbaa !5
  %7532 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7533 = load i32, ptr @test_count, align 4, !tbaa !5
  %7534 = load i32, ptr %1491, align 4, !tbaa !5
  %7535 = call ptr @s2n_strerror(i32 noundef %7534, ptr noundef nonnull @.str.11) #12
  %7536 = load i32, ptr %1491, align 4, !tbaa !5
  %7537 = call ptr @s2n_strerror_debug(i32 noundef %7536, ptr noundef nonnull @.str.11) #12
  %7538 = load i32, ptr %1545, align 4, !tbaa !5
  %7539 = call ptr @strerror(i32 noundef %7538) #12
  %7540 = load i32, ptr %1545, align 4, !tbaa !5
  %7541 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7532, ptr noundef nonnull %.str.12.sink4117, i32 noundef %7533, ptr noundef nonnull @.str.76, ptr noundef nonnull @.str.8, i32 noundef 701, ptr noundef %7535, ptr noundef %7537, ptr noundef %7539, i32 noundef %7540) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7542:                                             ; preds = %7515
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %29) #12
  %7543 = call ptr @s2n_connection_new(i32 noundef 0) #12
  store ptr %7543, ptr %29, align 8, !tbaa !9
  %7544 = load i32, ptr @test_count, align 4, !tbaa !5
  %7545 = add nsw i32 %7544, 1
  store i32 %7545, ptr @test_count, align 4, !tbaa !5
  %7546 = icmp eq ptr %7543, null
  br i1 %7546, label %7547, label %7569

7547:                                             ; preds = %7542
  %7548 = load i32, ptr %1545, align 4, !tbaa !5
  %7549 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7550 = call i32 @s2n_print_stacktrace(ptr noundef %7549) #12
  %7551 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7552 = trunc nuw i8 %7551 to i1
  br i1 %7552, label %7553, label %7557

7553:                                             ; preds = %7547
  %7554 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7555 = call i32 @fileno(ptr noundef %7554) #12
  %7556 = call i32 @isatty(i32 noundef %7555) #12
  %.not1352 = icmp eq i32 %7556, 0
  br i1 %.not1352, label %7557, label %7558

7557:                                             ; preds = %7553, %7547
  br label %7558

7558:                                             ; preds = %7553, %7557
  %.str.12.sink4126 = phi ptr [ @.str.12, %7557 ], [ @.str.9, %7553 ]
  store i32 %7548, ptr %1545, align 4, !tbaa !5
  %7559 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7560 = load i32, ptr @test_count, align 4, !tbaa !5
  %7561 = load i32, ptr %1491, align 4, !tbaa !5
  %7562 = call ptr @s2n_strerror(i32 noundef %7561, ptr noundef nonnull @.str.11) #12
  %7563 = load i32, ptr %1491, align 4, !tbaa !5
  %7564 = call ptr @s2n_strerror_debug(i32 noundef %7563, ptr noundef nonnull @.str.11) #12
  %7565 = load i32, ptr %1545, align 4, !tbaa !5
  %7566 = call ptr @strerror(i32 noundef %7565) #12
  %7567 = load i32, ptr %1545, align 4, !tbaa !5
  %7568 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7559, ptr noundef nonnull %.str.12.sink4126, i32 noundef %7560, ptr noundef nonnull @.str.77, ptr noundef nonnull @.str.8, i32 noundef 705, ptr noundef %7562, ptr noundef %7564, ptr noundef %7566, i32 noundef %7567) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7569:                                             ; preds = %7542
  %7570 = add nsw i32 %7544, 2
  store i32 %7570, ptr @test_count, align 4, !tbaa !5
  %7571 = load ptr, ptr %27, align 8, !tbaa !9
  %7572 = call i32 @s2n_connection_set_config(ptr noundef nonnull %7543, ptr noundef %7571) #12
  %7573 = icmp eq i32 %7572, -1
  br i1 %7573, label %7574, label %7596

7574:                                             ; preds = %7569
  %7575 = load i32, ptr %1545, align 4, !tbaa !5
  %7576 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7577 = call i32 @s2n_print_stacktrace(ptr noundef %7576) #12
  %7578 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7579 = trunc nuw i8 %7578 to i1
  br i1 %7579, label %7580, label %7584

7580:                                             ; preds = %7574
  %7581 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7582 = call i32 @fileno(ptr noundef %7581) #12
  %7583 = call i32 @isatty(i32 noundef %7582) #12
  %.not1351 = icmp eq i32 %7583, 0
  br i1 %.not1351, label %7584, label %7585

7584:                                             ; preds = %7580, %7574
  br label %7585

7585:                                             ; preds = %7580, %7584
  %.str.12.sink4135 = phi ptr [ @.str.12, %7584 ], [ @.str.9, %7580 ]
  store i32 %7575, ptr %1545, align 4, !tbaa !5
  %7586 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7587 = load i32, ptr @test_count, align 4, !tbaa !5
  %7588 = load i32, ptr %1491, align 4, !tbaa !5
  %7589 = call ptr @s2n_strerror(i32 noundef %7588, ptr noundef nonnull @.str.11) #12
  %7590 = load i32, ptr %1491, align 4, !tbaa !5
  %7591 = call ptr @s2n_strerror_debug(i32 noundef %7590, ptr noundef nonnull @.str.11) #12
  %7592 = load i32, ptr %1545, align 4, !tbaa !5
  %7593 = call ptr @strerror(i32 noundef %7592) #12
  %7594 = load i32, ptr %1545, align 4, !tbaa !5
  %7595 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7586, ptr noundef nonnull %.str.12.sink4135, i32 noundef %7587, ptr noundef nonnull @.str.40, ptr noundef nonnull @.str.8, i32 noundef 706, ptr noundef %7589, ptr noundef %7591, ptr noundef %7593, i32 noundef %7594) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7596:                                             ; preds = %7569
  call void @llvm.lifetime.start.p0(i64 100, ptr nonnull %30) #12
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 16 dereferenceable(100) %30, ptr noundef nonnull align 16 dereferenceable(100) @__const.main.app_data, i64 100, i1 false)
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %31) #12
  store i32 0, ptr %31, align 4, !tbaa !5
  br label %7609

7597:                                             ; preds = %7974
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %31) #12
  call void @llvm.lifetime.end.p0(i64 100, ptr nonnull %30) #12
  %7598 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %29) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %29) #12
  %7599 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %28) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %28) #12
  %7600 = call i32 @s2n_config_ptr_free(ptr noundef nonnull %27) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %27) #12
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %33) #12
  %7601 = call ptr @s2n_connection_new(i32 noundef 1) #12
  store ptr %7601, ptr %33, align 8, !tbaa !9
  %7602 = load i32, ptr @test_count, align 4, !tbaa !5
  %7603 = add nsw i32 %7602, 1
  store i32 %7603, ptr @test_count, align 4, !tbaa !5
  %7604 = icmp eq ptr %7601, null
  br i1 %7604, label %7977, label %.preheader1549.preheader

.preheader1549.preheader:                         ; preds = %7597
  %7605 = add nsw i32 %7602, 2
  store i32 %7605, ptr @test_count, align 4, !tbaa !5
  %7606 = getelementptr inbounds i8, ptr %7601, i64 4164
  %7607 = load i8, ptr %7606, align 4
  %7608 = and i8 %7607, 2
  %.not1330 = icmp eq i8 %7608, 0
  br i1 %.not1330, label %8061, label %8039

7609:                                             ; preds = %7596, %7974
  %.010801553 = phi i64 [ 0, %7596 ], [ %7976, %7974 ]
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %32) #12
  store i64 0, ptr %32, align 8
  %7610 = load i32, ptr @test_count, align 4, !tbaa !5
  %7611 = add nsw i32 %7610, 1
  store i32 %7611, ptr @test_count, align 4, !tbaa !5
  %7612 = call i32 @s2n_io_pair_init_non_blocking(ptr noundef nonnull %32) #12
  %7613 = icmp eq i32 %7612, -1
  br i1 %7613, label %7614, label %7636

7614:                                             ; preds = %7609
  %7615 = load i32, ptr %1545, align 4, !tbaa !5
  %7616 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7617 = call i32 @s2n_print_stacktrace(ptr noundef %7616) #12
  %7618 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7619 = trunc nuw i8 %7618 to i1
  br i1 %7619, label %7620, label %7624

7620:                                             ; preds = %7614
  %7621 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7622 = call i32 @fileno(ptr noundef %7621) #12
  %7623 = call i32 @isatty(i32 noundef %7622) #12
  %.not1350 = icmp eq i32 %7623, 0
  br i1 %.not1350, label %7624, label %7625

7624:                                             ; preds = %7620, %7614
  br label %7625

7625:                                             ; preds = %7620, %7624
  %.str.12.sink4144 = phi ptr [ @.str.12, %7624 ], [ @.str.9, %7620 ]
  store i32 %7615, ptr %1545, align 4, !tbaa !5
  %7626 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7627 = load i32, ptr @test_count, align 4, !tbaa !5
  %7628 = load i32, ptr %1491, align 4, !tbaa !5
  %7629 = call ptr @s2n_strerror(i32 noundef %7628, ptr noundef nonnull @.str.11) #12
  %7630 = load i32, ptr %1491, align 4, !tbaa !5
  %7631 = call ptr @s2n_strerror_debug(i32 noundef %7630, ptr noundef nonnull @.str.11) #12
  %7632 = load i32, ptr %1545, align 4, !tbaa !5
  %7633 = call ptr @strerror(i32 noundef %7632) #12
  %7634 = load i32, ptr %1545, align 4, !tbaa !5
  %7635 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7626, ptr noundef nonnull %.str.12.sink4144, i32 noundef %7627, ptr noundef nonnull @.str.78, ptr noundef nonnull @.str.8, i32 noundef 713, ptr noundef %7629, ptr noundef %7631, ptr noundef %7633, i32 noundef %7634) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7636:                                             ; preds = %7609
  %7637 = load i32, ptr @test_count, align 4, !tbaa !5
  %7638 = add nsw i32 %7637, 1
  store i32 %7638, ptr @test_count, align 4, !tbaa !5
  %7639 = load ptr, ptr %28, align 8, !tbaa !9
  %7640 = load ptr, ptr %29, align 8, !tbaa !9
  %7641 = call i32 @s2n_connections_set_io_pair(ptr noundef %7639, ptr noundef %7640, ptr noundef nonnull %32) #12
  %7642 = icmp eq i32 %7641, -1
  br i1 %7642, label %7643, label %7665

7643:                                             ; preds = %7636
  %7644 = load i32, ptr %1545, align 4, !tbaa !5
  %7645 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7646 = call i32 @s2n_print_stacktrace(ptr noundef %7645) #12
  %7647 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7648 = trunc nuw i8 %7647 to i1
  br i1 %7648, label %7649, label %7653

7649:                                             ; preds = %7643
  %7650 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7651 = call i32 @fileno(ptr noundef %7650) #12
  %7652 = call i32 @isatty(i32 noundef %7651) #12
  %.not1349 = icmp eq i32 %7652, 0
  br i1 %.not1349, label %7653, label %7654

7653:                                             ; preds = %7649, %7643
  br label %7654

7654:                                             ; preds = %7649, %7653
  %.str.12.sink4153 = phi ptr [ @.str.12, %7653 ], [ @.str.9, %7649 ]
  store i32 %7644, ptr %1545, align 4, !tbaa !5
  %7655 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7656 = load i32, ptr @test_count, align 4, !tbaa !5
  %7657 = load i32, ptr %1491, align 4, !tbaa !5
  %7658 = call ptr @s2n_strerror(i32 noundef %7657, ptr noundef nonnull @.str.11) #12
  %7659 = load i32, ptr %1491, align 4, !tbaa !5
  %7660 = call ptr @s2n_strerror_debug(i32 noundef %7659, ptr noundef nonnull @.str.11) #12
  %7661 = load i32, ptr %1545, align 4, !tbaa !5
  %7662 = call ptr @strerror(i32 noundef %7661) #12
  %7663 = load i32, ptr %1545, align 4, !tbaa !5
  %7664 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7655, ptr noundef nonnull %.str.12.sink4153, i32 noundef %7656, ptr noundef nonnull @.str.176, ptr noundef nonnull @.str.8, i32 noundef 714, ptr noundef %7658, ptr noundef %7660, ptr noundef %7662, i32 noundef %7663) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7665:                                             ; preds = %7636
  %7666 = load i32, ptr @test_count, align 4, !tbaa !5
  %7667 = add nsw i32 %7666, 1
  store i32 %7667, ptr @test_count, align 4, !tbaa !5
  %7668 = load ptr, ptr %29, align 8, !tbaa !9
  %7669 = load ptr, ptr %28, align 8, !tbaa !9
  %7670 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef %7668, ptr noundef %7669) #12
  %7671 = icmp eq i32 %7670, -1
  br i1 %7671, label %7672, label %7694

7672:                                             ; preds = %7665
  %7673 = load i32, ptr %1545, align 4, !tbaa !5
  %7674 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7675 = call i32 @s2n_print_stacktrace(ptr noundef %7674) #12
  %7676 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7677 = trunc nuw i8 %7676 to i1
  br i1 %7677, label %7678, label %7682

7678:                                             ; preds = %7672
  %7679 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7680 = call i32 @fileno(ptr noundef %7679) #12
  %7681 = call i32 @isatty(i32 noundef %7680) #12
  %.not1348 = icmp eq i32 %7681, 0
  br i1 %.not1348, label %7682, label %7683

7682:                                             ; preds = %7678, %7672
  br label %7683

7683:                                             ; preds = %7678, %7682
  %.str.12.sink4162 = phi ptr [ @.str.12, %7682 ], [ @.str.9, %7678 ]
  store i32 %7673, ptr %1545, align 4, !tbaa !5
  %7684 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7685 = load i32, ptr @test_count, align 4, !tbaa !5
  %7686 = load i32, ptr %1491, align 4, !tbaa !5
  %7687 = call ptr @s2n_strerror(i32 noundef %7686, ptr noundef nonnull @.str.11) #12
  %7688 = load i32, ptr %1491, align 4, !tbaa !5
  %7689 = call ptr @s2n_strerror_debug(i32 noundef %7688, ptr noundef nonnull @.str.11) #12
  %7690 = load i32, ptr %1545, align 4, !tbaa !5
  %7691 = call ptr @strerror(i32 noundef %7690) #12
  %7692 = load i32, ptr %1545, align 4, !tbaa !5
  %7693 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7684, ptr noundef nonnull %.str.12.sink4162, i32 noundef %7685, ptr noundef nonnull @.str.81, ptr noundef nonnull @.str.8, i32 noundef 717, ptr noundef %7687, ptr noundef %7689, ptr noundef %7691, i32 noundef %7692) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7694:                                             ; preds = %7665
  %7695 = load i32, ptr @test_count, align 4, !tbaa !5
  %7696 = add nsw i32 %7695, 1
  store i32 %7696, ptr @test_count, align 4, !tbaa !5
  %7697 = load ptr, ptr %28, align 8, !tbaa !9
  %7698 = call i32 @s2n_connection_free_handshake(ptr noundef %7697) #12
  %7699 = icmp eq i32 %7698, -1
  br i1 %7699, label %7700, label %7722

7700:                                             ; preds = %7694
  %7701 = load i32, ptr %1545, align 4, !tbaa !5
  %7702 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7703 = call i32 @s2n_print_stacktrace(ptr noundef %7702) #12
  %7704 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7705 = trunc nuw i8 %7704 to i1
  br i1 %7705, label %7706, label %7710

7706:                                             ; preds = %7700
  %7707 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7708 = call i32 @fileno(ptr noundef %7707) #12
  %7709 = call i32 @isatty(i32 noundef %7708) #12
  %.not1347 = icmp eq i32 %7709, 0
  br i1 %.not1347, label %7710, label %7711

7710:                                             ; preds = %7706, %7700
  br label %7711

7711:                                             ; preds = %7706, %7710
  %.str.12.sink4171 = phi ptr [ @.str.12, %7710 ], [ @.str.9, %7706 ]
  store i32 %7701, ptr %1545, align 4, !tbaa !5
  %7712 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7713 = load i32, ptr @test_count, align 4, !tbaa !5
  %7714 = load i32, ptr %1491, align 4, !tbaa !5
  %7715 = call ptr @s2n_strerror(i32 noundef %7714, ptr noundef nonnull @.str.11) #12
  %7716 = load i32, ptr %1491, align 4, !tbaa !5
  %7717 = call ptr @s2n_strerror_debug(i32 noundef %7716, ptr noundef nonnull @.str.11) #12
  %7718 = load i32, ptr %1545, align 4, !tbaa !5
  %7719 = call ptr @strerror(i32 noundef %7718) #12
  %7720 = load i32, ptr %1545, align 4, !tbaa !5
  %7721 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7712, ptr noundef nonnull %.str.12.sink4171, i32 noundef %7713, ptr noundef nonnull @.str.177, ptr noundef nonnull @.str.8, i32 noundef 720, ptr noundef %7715, ptr noundef %7717, ptr noundef %7719, i32 noundef %7720) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7722:                                             ; preds = %7694
  %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 = load ptr, ptr %29, align 8, !tbaa !9
  %7726 = call i32 @s2n_connection_free_handshake(ptr noundef %7725) #12
  %7727 = icmp eq i32 %7726, -1
  br i1 %7727, label %7728, label %7750

7728:                                             ; preds = %7722
  %7729 = load i32, ptr %1545, align 4, !tbaa !5
  %7730 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7731 = call i32 @s2n_print_stacktrace(ptr noundef %7730) #12
  %7732 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7733 = trunc nuw i8 %7732 to i1
  br i1 %7733, label %7734, label %7738

7734:                                             ; preds = %7728
  %7735 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7736 = call i32 @fileno(ptr noundef %7735) #12
  %7737 = call i32 @isatty(i32 noundef %7736) #12
  %.not1346 = icmp eq i32 %7737, 0
  br i1 %.not1346, label %7738, label %7739

7738:                                             ; preds = %7734, %7728
  br label %7739

7739:                                             ; preds = %7734, %7738
  %.str.12.sink4180 = phi ptr [ @.str.12, %7738 ], [ @.str.9, %7734 ]
  store i32 %7729, ptr %1545, align 4, !tbaa !5
  %7740 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7741 = load i32, ptr @test_count, align 4, !tbaa !5
  %7742 = load i32, ptr %1491, align 4, !tbaa !5
  %7743 = call ptr @s2n_strerror(i32 noundef %7742, ptr noundef nonnull @.str.11) #12
  %7744 = load i32, ptr %1491, align 4, !tbaa !5
  %7745 = call ptr @s2n_strerror_debug(i32 noundef %7744, ptr noundef nonnull @.str.11) #12
  %7746 = load i32, ptr %1545, align 4, !tbaa !5
  %7747 = call ptr @strerror(i32 noundef %7746) #12
  %7748 = load i32, ptr %1545, align 4, !tbaa !5
  %7749 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7740, ptr noundef nonnull %.str.12.sink4180, i32 noundef %7741, ptr noundef nonnull @.str.178, ptr noundef nonnull @.str.8, i32 noundef 721, ptr noundef %7743, ptr noundef %7745, ptr noundef %7747, i32 noundef %7748) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7750:                                             ; preds = %7722
  %7751 = load i32, ptr @test_count, align 4, !tbaa !5
  %7752 = add nsw i32 %7751, 1
  store i32 %7752, ptr @test_count, align 4, !tbaa !5
  %7753 = load ptr, ptr %28, align 8, !tbaa !9
  %7754 = call i64 @s2n_send(ptr noundef %7753, ptr noundef nonnull %30, i64 noundef 100, ptr noundef nonnull %31) #12
  %7755 = icmp eq i64 %7754, 100
  br i1 %7755, label %7778, label %7756

7756:                                             ; preds = %7750
  %7757 = load i32, ptr %1545, align 4, !tbaa !5
  %7758 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7759 = call i32 @s2n_print_stacktrace(ptr noundef %7758) #12
  %7760 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7761 = trunc nuw i8 %7760 to i1
  br i1 %7761, label %7762, label %7766

7762:                                             ; preds = %7756
  %7763 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7764 = call i32 @fileno(ptr noundef %7763) #12
  %7765 = call i32 @isatty(i32 noundef %7764) #12
  %.not1338 = icmp eq i32 %7765, 0
  br i1 %.not1338, label %7766, label %7767

7766:                                             ; preds = %7762, %7756
  br label %7767

7767:                                             ; preds = %7762, %7766
  %.str.12.sink4189 = phi ptr [ @.str.12, %7766 ], [ @.str.9, %7762 ]
  store i32 %7757, ptr %1545, align 4, !tbaa !5
  %7768 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7769 = load i32, ptr @test_count, align 4, !tbaa !5
  %7770 = load i32, ptr %1491, align 4, !tbaa !5
  %7771 = call ptr @s2n_strerror(i32 noundef %7770, ptr noundef nonnull @.str.11) #12
  %7772 = load i32, ptr %1491, align 4, !tbaa !5
  %7773 = call ptr @s2n_strerror_debug(i32 noundef %7772, ptr noundef nonnull @.str.11) #12
  %7774 = load i32, ptr %1545, align 4, !tbaa !5
  %7775 = call ptr @strerror(i32 noundef %7774) #12
  %7776 = load i32, ptr %1545, align 4, !tbaa !5
  %7777 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7768, ptr noundef nonnull %.str.12.sink4189, i32 noundef %7769, ptr noundef nonnull @.str.179, ptr noundef nonnull @.str.8, i32 noundef 724, ptr noundef %7771, ptr noundef %7773, ptr noundef %7775, i32 noundef %7776) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7778:                                             ; preds = %7750
  %7779 = load i32, ptr @test_count, align 4, !tbaa !5
  %7780 = add nsw i32 %7779, 1
  store i32 %7780, ptr @test_count, align 4, !tbaa !5
  %7781 = load ptr, ptr %29, align 8, !tbaa !9
  %7782 = call i64 @s2n_recv(ptr noundef %7781, ptr noundef nonnull %30, i64 noundef 100, ptr noundef nonnull %31) #12
  %7783 = icmp eq i64 %7782, 100
  br i1 %7783, label %7806, label %7784

7784:                                             ; preds = %7778
  %7785 = load i32, ptr %1545, align 4, !tbaa !5
  %7786 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7787 = call i32 @s2n_print_stacktrace(ptr noundef %7786) #12
  %7788 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7789 = trunc nuw i8 %7788 to i1
  br i1 %7789, label %7790, label %7794

7790:                                             ; preds = %7784
  %7791 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7792 = call i32 @fileno(ptr noundef %7791) #12
  %7793 = call i32 @isatty(i32 noundef %7792) #12
  %.not1339 = icmp eq i32 %7793, 0
  br i1 %.not1339, label %7794, label %7795

7794:                                             ; preds = %7790, %7784
  br label %7795

7795:                                             ; preds = %7790, %7794
  %.str.12.sink4198 = phi ptr [ @.str.12, %7794 ], [ @.str.9, %7790 ]
  store i32 %7785, ptr %1545, align 4, !tbaa !5
  %7796 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7797 = load i32, ptr @test_count, align 4, !tbaa !5
  %7798 = load i32, ptr %1491, align 4, !tbaa !5
  %7799 = call ptr @s2n_strerror(i32 noundef %7798, ptr noundef nonnull @.str.11) #12
  %7800 = load i32, ptr %1491, align 4, !tbaa !5
  %7801 = call ptr @s2n_strerror_debug(i32 noundef %7800, ptr noundef nonnull @.str.11) #12
  %7802 = load i32, ptr %1545, align 4, !tbaa !5
  %7803 = call ptr @strerror(i32 noundef %7802) #12
  %7804 = load i32, ptr %1545, align 4, !tbaa !5
  %7805 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7796, ptr noundef nonnull %.str.12.sink4198, i32 noundef %7797, ptr noundef nonnull @.str.180, ptr noundef nonnull @.str.8, i32 noundef 725, ptr noundef %7799, ptr noundef %7801, ptr noundef %7803, i32 noundef %7804) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7806:                                             ; preds = %7778
  %7807 = load i32, ptr @test_count, align 4, !tbaa !5
  %7808 = add nsw i32 %7807, 1
  store i32 %7808, ptr @test_count, align 4, !tbaa !5
  %7809 = load ptr, ptr %29, align 8, !tbaa !9
  %7810 = call i64 @s2n_send(ptr noundef %7809, ptr noundef nonnull %30, i64 noundef 100, ptr noundef nonnull %31) #12
  %7811 = icmp eq i64 %7810, 100
  br i1 %7811, label %7834, label %7812

7812:                                             ; preds = %7806
  %7813 = load i32, ptr %1545, align 4, !tbaa !5
  %7814 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7815 = call i32 @s2n_print_stacktrace(ptr noundef %7814) #12
  %7816 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7817 = trunc nuw i8 %7816 to i1
  br i1 %7817, label %7818, label %7822

7818:                                             ; preds = %7812
  %7819 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7820 = call i32 @fileno(ptr noundef %7819) #12
  %7821 = call i32 @isatty(i32 noundef %7820) #12
  %.not1340 = icmp eq i32 %7821, 0
  br i1 %.not1340, label %7822, label %7823

7822:                                             ; preds = %7818, %7812
  br label %7823

7823:                                             ; preds = %7818, %7822
  %.str.12.sink4207 = phi ptr [ @.str.12, %7822 ], [ @.str.9, %7818 ]
  store i32 %7813, ptr %1545, align 4, !tbaa !5
  %7824 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7825 = load i32, ptr @test_count, align 4, !tbaa !5
  %7826 = load i32, ptr %1491, align 4, !tbaa !5
  %7827 = call ptr @s2n_strerror(i32 noundef %7826, ptr noundef nonnull @.str.11) #12
  %7828 = load i32, ptr %1491, align 4, !tbaa !5
  %7829 = call ptr @s2n_strerror_debug(i32 noundef %7828, ptr noundef nonnull @.str.11) #12
  %7830 = load i32, ptr %1545, align 4, !tbaa !5
  %7831 = call ptr @strerror(i32 noundef %7830) #12
  %7832 = load i32, ptr %1545, align 4, !tbaa !5
  %7833 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7824, ptr noundef nonnull %.str.12.sink4207, i32 noundef %7825, ptr noundef nonnull @.str.181, ptr noundef nonnull @.str.8, i32 noundef 726, ptr noundef %7827, ptr noundef %7829, ptr noundef %7831, i32 noundef %7832) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7834:                                             ; preds = %7806
  %7835 = load i32, ptr @test_count, align 4, !tbaa !5
  %7836 = add nsw i32 %7835, 1
  store i32 %7836, ptr @test_count, align 4, !tbaa !5
  %7837 = load ptr, ptr %28, align 8, !tbaa !9
  %7838 = call i64 @s2n_recv(ptr noundef %7837, ptr noundef nonnull %30, i64 noundef 100, ptr noundef nonnull %31) #12
  %7839 = icmp eq i64 %7838, 100
  br i1 %7839, label %7862, label %7840

7840:                                             ; preds = %7834
  %7841 = load i32, ptr %1545, align 4, !tbaa !5
  %7842 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7843 = call i32 @s2n_print_stacktrace(ptr noundef %7842) #12
  %7844 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7845 = trunc nuw i8 %7844 to i1
  br i1 %7845, label %7846, label %7850

7846:                                             ; preds = %7840
  %7847 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7848 = call i32 @fileno(ptr noundef %7847) #12
  %7849 = call i32 @isatty(i32 noundef %7848) #12
  %.not1341 = icmp eq i32 %7849, 0
  br i1 %.not1341, label %7850, label %7851

7850:                                             ; preds = %7846, %7840
  br label %7851

7851:                                             ; preds = %7846, %7850
  %.str.12.sink4216 = phi ptr [ @.str.12, %7850 ], [ @.str.9, %7846 ]
  store i32 %7841, ptr %1545, align 4, !tbaa !5
  %7852 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7853 = load i32, ptr @test_count, align 4, !tbaa !5
  %7854 = load i32, ptr %1491, align 4, !tbaa !5
  %7855 = call ptr @s2n_strerror(i32 noundef %7854, ptr noundef nonnull @.str.11) #12
  %7856 = load i32, ptr %1491, align 4, !tbaa !5
  %7857 = call ptr @s2n_strerror_debug(i32 noundef %7856, ptr noundef nonnull @.str.11) #12
  %7858 = load i32, ptr %1545, align 4, !tbaa !5
  %7859 = call ptr @strerror(i32 noundef %7858) #12
  %7860 = load i32, ptr %1545, align 4, !tbaa !5
  %7861 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7852, ptr noundef nonnull %.str.12.sink4216, i32 noundef %7853, ptr noundef nonnull @.str.182, ptr noundef nonnull @.str.8, i32 noundef 727, ptr noundef %7855, ptr noundef %7857, ptr noundef %7859, i32 noundef %7860) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7862:                                             ; preds = %7834
  %7863 = load i32, ptr @test_count, align 4, !tbaa !5
  %7864 = add nsw i32 %7863, 1
  store i32 %7864, ptr @test_count, align 4, !tbaa !5
  %7865 = load ptr, ptr %28, align 8, !tbaa !9
  %7866 = call i32 @s2n_connection_release_buffers(ptr noundef %7865) #12
  %7867 = icmp eq i32 %7866, -1
  br i1 %7867, label %7868, label %7890

7868:                                             ; preds = %7862
  %7869 = load i32, ptr %1545, align 4, !tbaa !5
  %7870 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7871 = call i32 @s2n_print_stacktrace(ptr noundef %7870) #12
  %7872 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7873 = trunc nuw i8 %7872 to i1
  br i1 %7873, label %7874, label %7878

7874:                                             ; preds = %7868
  %7875 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7876 = call i32 @fileno(ptr noundef %7875) #12
  %7877 = call i32 @isatty(i32 noundef %7876) #12
  %.not1345 = icmp eq i32 %7877, 0
  br i1 %.not1345, label %7878, label %7879

7878:                                             ; preds = %7874, %7868
  br label %7879

7879:                                             ; preds = %7874, %7878
  %.str.12.sink4225 = phi ptr [ @.str.12, %7878 ], [ @.str.9, %7874 ]
  store i32 %7869, ptr %1545, align 4, !tbaa !5
  %7880 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7881 = load i32, ptr @test_count, align 4, !tbaa !5
  %7882 = load i32, ptr %1491, align 4, !tbaa !5
  %7883 = call ptr @s2n_strerror(i32 noundef %7882, ptr noundef nonnull @.str.11) #12
  %7884 = load i32, ptr %1491, align 4, !tbaa !5
  %7885 = call ptr @s2n_strerror_debug(i32 noundef %7884, ptr noundef nonnull @.str.11) #12
  %7886 = load i32, ptr %1545, align 4, !tbaa !5
  %7887 = call ptr @strerror(i32 noundef %7886) #12
  %7888 = load i32, ptr %1545, align 4, !tbaa !5
  %7889 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7880, ptr noundef nonnull %.str.12.sink4225, i32 noundef %7881, ptr noundef nonnull @.str.183, ptr noundef nonnull @.str.8, i32 noundef 730, ptr noundef %7883, ptr noundef %7885, ptr noundef %7887, i32 noundef %7888) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7890:                                             ; preds = %7862
  %7891 = load i32, ptr @test_count, align 4, !tbaa !5
  %7892 = add nsw i32 %7891, 1
  store i32 %7892, ptr @test_count, align 4, !tbaa !5
  %7893 = load ptr, ptr %29, align 8, !tbaa !9
  %7894 = call i32 @s2n_connection_release_buffers(ptr noundef %7893) #12
  %7895 = icmp eq i32 %7894, -1
  br i1 %7895, label %7896, label %7918

7896:                                             ; preds = %7890
  %7897 = load i32, ptr %1545, align 4, !tbaa !5
  %7898 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7899 = call i32 @s2n_print_stacktrace(ptr noundef %7898) #12
  %7900 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7901 = trunc nuw i8 %7900 to i1
  br i1 %7901, label %7902, label %7906

7902:                                             ; preds = %7896
  %7903 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7904 = call i32 @fileno(ptr noundef %7903) #12
  %7905 = call i32 @isatty(i32 noundef %7904) #12
  %.not1344 = icmp eq i32 %7905, 0
  br i1 %.not1344, label %7906, label %7907

7906:                                             ; preds = %7902, %7896
  br label %7907

7907:                                             ; preds = %7902, %7906
  %.str.12.sink4234 = phi ptr [ @.str.12, %7906 ], [ @.str.9, %7902 ]
  store i32 %7897, ptr %1545, align 4, !tbaa !5
  %7908 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7909 = load i32, ptr @test_count, align 4, !tbaa !5
  %7910 = load i32, ptr %1491, align 4, !tbaa !5
  %7911 = call ptr @s2n_strerror(i32 noundef %7910, ptr noundef nonnull @.str.11) #12
  %7912 = load i32, ptr %1491, align 4, !tbaa !5
  %7913 = call ptr @s2n_strerror_debug(i32 noundef %7912, ptr noundef nonnull @.str.11) #12
  %7914 = load i32, ptr %1545, align 4, !tbaa !5
  %7915 = call ptr @strerror(i32 noundef %7914) #12
  %7916 = load i32, ptr %1545, align 4, !tbaa !5
  %7917 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7908, ptr noundef nonnull %.str.12.sink4234, i32 noundef %7909, ptr noundef nonnull @.str.184, ptr noundef nonnull @.str.8, i32 noundef 731, ptr noundef %7911, ptr noundef %7913, ptr noundef %7915, i32 noundef %7916) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7918:                                             ; preds = %7890
  %7919 = load i32, ptr @test_count, align 4, !tbaa !5
  %7920 = add nsw i32 %7919, 1
  store i32 %7920, ptr @test_count, align 4, !tbaa !5
  %7921 = load ptr, ptr %28, align 8, !tbaa !9
  %7922 = call i32 @s2n_connection_wipe(ptr noundef %7921) #12
  %7923 = icmp eq i32 %7922, -1
  br i1 %7923, label %7924, label %7946

7924:                                             ; preds = %7918
  %7925 = load i32, ptr %1545, 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
  %.not1343 = icmp eq i32 %7933, 0
  br i1 %.not1343, label %7934, label %7935

7934:                                             ; preds = %7930, %7924
  br label %7935

7935:                                             ; preds = %7930, %7934
  %.str.12.sink4243 = phi ptr [ @.str.12, %7934 ], [ @.str.9, %7930 ]
  store i32 %7925, ptr %1545, 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 %1491, align 4, !tbaa !5
  %7939 = call ptr @s2n_strerror(i32 noundef %7938, ptr noundef nonnull @.str.11) #12
  %7940 = load i32, ptr %1491, align 4, !tbaa !5
  %7941 = call ptr @s2n_strerror_debug(i32 noundef %7940, ptr noundef nonnull @.str.11) #12
  %7942 = load i32, ptr %1545, align 4, !tbaa !5
  %7943 = call ptr @strerror(i32 noundef %7942) #12
  %7944 = load i32, ptr %1545, align 4, !tbaa !5
  %7945 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7936, ptr noundef nonnull %.str.12.sink4243, i32 noundef %7937, ptr noundef nonnull @.str.185, ptr noundef nonnull @.str.8, i32 noundef 734, ptr noundef %7939, ptr noundef %7941, ptr noundef %7943, i32 noundef %7944) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7946:                                             ; preds = %7918
  %7947 = load i32, ptr @test_count, align 4, !tbaa !5
  %7948 = add nsw i32 %7947, 1
  store i32 %7948, ptr @test_count, align 4, !tbaa !5
  %7949 = load ptr, ptr %29, align 8, !tbaa !9
  %7950 = call i32 @s2n_connection_wipe(ptr noundef %7949) #12
  %7951 = icmp eq i32 %7950, -1
  br i1 %7951, label %7952, label %7974

7952:                                             ; preds = %7946
  %7953 = load i32, ptr %1545, align 4, !tbaa !5
  %7954 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7955 = call i32 @s2n_print_stacktrace(ptr noundef %7954) #12
  %7956 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7957 = trunc nuw i8 %7956 to i1
  br i1 %7957, label %7958, label %7962

7958:                                             ; preds = %7952
  %7959 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7960 = call i32 @fileno(ptr noundef %7959) #12
  %7961 = call i32 @isatty(i32 noundef %7960) #12
  %.not1342 = icmp eq i32 %7961, 0
  br i1 %.not1342, label %7962, label %7963

7962:                                             ; preds = %7958, %7952
  br label %7963

7963:                                             ; preds = %7958, %7962
  %.str.12.sink4252 = phi ptr [ @.str.12, %7962 ], [ @.str.9, %7958 ]
  store i32 %7953, ptr %1545, align 4, !tbaa !5
  %7964 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7965 = load i32, ptr @test_count, align 4, !tbaa !5
  %7966 = load i32, ptr %1491, align 4, !tbaa !5
  %7967 = call ptr @s2n_strerror(i32 noundef %7966, ptr noundef nonnull @.str.11) #12
  %7968 = load i32, ptr %1491, align 4, !tbaa !5
  %7969 = call ptr @s2n_strerror_debug(i32 noundef %7968, ptr noundef nonnull @.str.11) #12
  %7970 = load i32, ptr %1545, align 4, !tbaa !5
  %7971 = call ptr @strerror(i32 noundef %7970) #12
  %7972 = load i32, ptr %1545, align 4, !tbaa !5
  %7973 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7964, ptr noundef nonnull %.str.12.sink4252, i32 noundef %7965, ptr noundef nonnull @.str.186, ptr noundef nonnull @.str.8, i32 noundef 735, ptr noundef %7967, ptr noundef %7969, ptr noundef %7971, i32 noundef %7972) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7974:                                             ; preds = %7946
  %7975 = call i32 @s2n_io_pair_close(ptr noundef nonnull %32) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %32) #12
  %7976 = add nuw nsw i64 %.010801553, 1
  %exitcond1561.not = icmp eq i64 %7976, 10
  br i1 %exitcond1561.not, label %7597, label %7609, !llvm.loop !79

7977:                                             ; preds = %7597
  %7978 = load i32, ptr %1545, align 4, !tbaa !5
  %7979 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7980 = call i32 @s2n_print_stacktrace(ptr noundef %7979) #12
  %7981 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7982 = trunc nuw i8 %7981 to i1
  br i1 %7982, label %7983, label %7987

7983:                                             ; preds = %7977
  %7984 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7985 = call i32 @fileno(ptr noundef %7984) #12
  %7986 = call i32 @isatty(i32 noundef %7985) #12
  %.not1337 = icmp eq i32 %7986, 0
  br i1 %.not1337, label %7987, label %7988

7987:                                             ; preds = %7983, %7977
  br label %7988

7988:                                             ; preds = %7983, %7987
  %.str.12.sink4261 = phi ptr [ @.str.12, %7987 ], [ @.str.9, %7983 ]
  store i32 %7978, ptr %1545, align 4, !tbaa !5
  %7989 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7990 = load i32, ptr @test_count, align 4, !tbaa !5
  %7991 = load i32, ptr %1491, align 4, !tbaa !5
  %7992 = call ptr @s2n_strerror(i32 noundef %7991, ptr noundef nonnull @.str.11) #12
  %7993 = load i32, ptr %1491, align 4, !tbaa !5
  %7994 = call ptr @s2n_strerror_debug(i32 noundef %7993, ptr noundef nonnull @.str.11) #12
  %7995 = load i32, ptr %1545, align 4, !tbaa !5
  %7996 = call ptr @strerror(i32 noundef %7995) #12
  %7997 = load i32, ptr %1545, align 4, !tbaa !5
  %7998 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7989, ptr noundef nonnull %.str.12.sink4261, i32 noundef %7990, ptr noundef nonnull @.str.92, ptr noundef nonnull @.str.8, i32 noundef 747, ptr noundef %7992, ptr noundef %7994, ptr noundef %7996, i32 noundef %7997) #14
  call void @exit(i32 noundef 1) #15
  unreachable

.preheader1549.1:                                 ; preds = %8139
  %7999 = add nsw i32 %8140, 2
  store i32 %7999, ptr @test_count, align 4, !tbaa !5
  %8000 = getelementptr inbounds i8, ptr %8142, i64 4164
  %8001 = load i8, ptr %8000, align 4
  %8002 = and i8 %8001, 2
  %.not1330.1 = icmp eq i8 %8002, 0
  br i1 %.not1330.1, label %8003, label %8039

8003:                                             ; preds = %.preheader1549.1
  %8004 = add nsw i32 %8140, 3
  store i32 %8004, ptr @test_count, align 4, !tbaa !5
  %8005 = and i8 %8001, 1
  %.not1331.1 = icmp eq i8 %8005, 0
  br i1 %.not1331.1, label %8006, label %8064

8006:                                             ; preds = %8003
  %8007 = add nsw i32 %8140, 5
  store i32 %8007, ptr @test_count, align 4, !tbaa !5
  %8008 = call i32 @s2n_connection_wipe(ptr noundef nonnull %8142) #12
  %8009 = icmp eq i32 %8008, -1
  br i1 %8009, label %8117, label %8010

8010:                                             ; preds = %8006
  %8011 = load i32, ptr @test_count, align 4, !tbaa !5
  %8012 = add nsw i32 %8011, 1
  store i32 %8012, ptr @test_count, align 4, !tbaa !5
  %8013 = load ptr, ptr %33, align 8, !tbaa !9
  %8014 = getelementptr inbounds i8, ptr %8013, i64 4136
  %8015 = load i32, ptr %8014, align 8, !tbaa !80
  %8016 = icmp eq i32 %8015, 0
  br i1 %8016, label %.preheader1549.2, label %8146

.preheader1549.2:                                 ; preds = %8010
  %8017 = add nsw i32 %8011, 2
  store i32 %8017, ptr @test_count, align 4, !tbaa !5
  %8018 = getelementptr inbounds i8, ptr %8013, i64 4164
  %8019 = load i8, ptr %8018, align 4
  %8020 = and i8 %8019, 2
  %.not1330.2 = icmp eq i8 %8020, 0
  br i1 %.not1330.2, label %8021, label %8039

8021:                                             ; preds = %.preheader1549.2
  %8022 = add nsw i32 %8011, 3
  store i32 %8022, ptr @test_count, align 4, !tbaa !5
  %8023 = and i8 %8019, 1
  %.not1331.2 = icmp eq i8 %8023, 0
  br i1 %.not1331.2, label %8024, label %8064

8024:                                             ; preds = %8021
  %8025 = add nsw i32 %8011, 5
  store i32 %8025, ptr @test_count, align 4, !tbaa !5
  %8026 = call i32 @s2n_connection_wipe(ptr noundef nonnull %8013) #12
  %8027 = icmp eq i32 %8026, -1
  br i1 %8027, label %8117, label %8028

8028:                                             ; preds = %8024
  %8029 = load i32, ptr @test_count, align 4, !tbaa !5
  %8030 = add nsw i32 %8029, 1
  store i32 %8030, ptr @test_count, align 4, !tbaa !5
  %8031 = load ptr, ptr %33, align 8, !tbaa !9
  %8032 = getelementptr inbounds i8, ptr %8031, i64 4136
  %8033 = load i32, ptr %8032, align 8, !tbaa !80
  %8034 = icmp eq i32 %8033, 0
  br i1 %8034, label %.preheader1548.preheader, label %8146

.preheader1548.preheader:                         ; preds = %8028
  %8035 = add nsw i32 %8029, 2
  store i32 %8035, ptr @test_count, align 4, !tbaa !5
  %8036 = getelementptr inbounds i8, ptr %8031, i64 4128
  %8037 = call i32 @s2n_stuffer_growable_alloc(ptr noundef nonnull %8036, i32 noundef 10) #12
  %8038 = icmp eq i32 %8037, -1
  br i1 %8038, label %8232, label %8254

8039:                                             ; preds = %.preheader1549.2, %.preheader1549.1, %.preheader1549.preheader
  %8040 = load i32, ptr %1545, align 4, !tbaa !5
  %8041 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8042 = call i32 @s2n_print_stacktrace(ptr noundef %8041) #12
  %8043 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8044 = trunc nuw i8 %8043 to i1
  br i1 %8044, label %8045, label %8049

8045:                                             ; preds = %8039
  %8046 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8047 = call i32 @fileno(ptr noundef %8046) #12
  %8048 = call i32 @isatty(i32 noundef %8047) #12
  %.not1336 = icmp eq i32 %8048, 0
  br i1 %.not1336, label %8049, label %8050

8049:                                             ; preds = %8045, %8039
  br label %8050

8050:                                             ; preds = %8045, %8049
  %.str.12.sink4270 = phi ptr [ @.str.12, %8049 ], [ @.str.9, %8045 ]
  store i32 %8040, ptr %1545, align 4, !tbaa !5
  %8051 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8052 = load i32, ptr @test_count, align 4, !tbaa !5
  %8053 = load i32, ptr %1491, align 4, !tbaa !5
  %8054 = call ptr @s2n_strerror(i32 noundef %8053, ptr noundef nonnull @.str.11) #12
  %8055 = load i32, ptr %1491, align 4, !tbaa !5
  %8056 = call ptr @s2n_strerror_debug(i32 noundef %8055, ptr noundef nonnull @.str.11) #12
  %8057 = load i32, ptr %1545, align 4, !tbaa !5
  %8058 = call ptr @strerror(i32 noundef %8057) #12
  %8059 = load i32, ptr %1545, align 4, !tbaa !5
  %8060 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8051, ptr noundef nonnull %.str.12.sink4270, i32 noundef %8052, ptr noundef nonnull @.str.187, ptr noundef nonnull @.str.8, i32 noundef 751, ptr noundef %8054, ptr noundef %8056, ptr noundef %8058, i32 noundef %8059) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8061:                                             ; preds = %.preheader1549.preheader
  %8062 = add nsw i32 %7602, 3
  store i32 %8062, ptr @test_count, align 4, !tbaa !5
  %8063 = and i8 %7607, 1
  %.not1331 = icmp eq i8 %8063, 0
  br i1 %.not1331, label %8086, label %8064

8064:                                             ; preds = %8021, %8003, %8061
  %8065 = load i32, ptr %1545, align 4, !tbaa !5
  %8066 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8067 = call i32 @s2n_print_stacktrace(ptr noundef %8066) #12
  %8068 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8069 = trunc nuw i8 %8068 to i1
  br i1 %8069, label %8070, label %8074

8070:                                             ; preds = %8064
  %8071 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8072 = call i32 @fileno(ptr noundef %8071) #12
  %8073 = call i32 @isatty(i32 noundef %8072) #12
  %.not1335 = icmp eq i32 %8073, 0
  br i1 %.not1335, label %8074, label %8075

8074:                                             ; preds = %8070, %8064
  br label %8075

8075:                                             ; preds = %8070, %8074
  %.str.12.sink4279 = phi ptr [ @.str.12, %8074 ], [ @.str.9, %8070 ]
  store i32 %8065, ptr %1545, align 4, !tbaa !5
  %8076 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8077 = load i32, ptr @test_count, align 4, !tbaa !5
  %8078 = load i32, ptr %1491, align 4, !tbaa !5
  %8079 = call ptr @s2n_strerror(i32 noundef %8078, ptr noundef nonnull @.str.11) #12
  %8080 = load i32, ptr %1491, align 4, !tbaa !5
  %8081 = call ptr @s2n_strerror_debug(i32 noundef %8080, ptr noundef nonnull @.str.11) #12
  %8082 = load i32, ptr %1545, align 4, !tbaa !5
  %8083 = call ptr @strerror(i32 noundef %8082) #12
  %8084 = load i32, ptr %1545, align 4, !tbaa !5
  %8085 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8076, ptr noundef nonnull %.str.12.sink4279, i32 noundef %8077, ptr noundef nonnull @.str.188, ptr noundef nonnull @.str.8, i32 noundef 752, ptr noundef %8079, ptr noundef %8081, ptr noundef %8083, i32 noundef %8084) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8086:                                             ; preds = %8061
  %8087 = add nsw i32 %7602, 4
  store i32 %8087, ptr @test_count, align 4, !tbaa !5
  %8088 = getelementptr inbounds i8, ptr %7601, i64 4136
  %8089 = load i32, ptr %8088, align 8, !tbaa !80
  %8090 = icmp eq i32 %8089, 0
  br i1 %8090, label %8113, label %8091

8091:                                             ; preds = %8086
  %8092 = load i32, ptr %1545, align 4, !tbaa !5
  %8093 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8094 = call i32 @s2n_print_stacktrace(ptr noundef %8093) #12
  %8095 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8096 = trunc nuw i8 %8095 to i1
  br i1 %8096, label %8097, label %8101

8097:                                             ; preds = %8091
  %8098 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8099 = call i32 @fileno(ptr noundef %8098) #12
  %8100 = call i32 @isatty(i32 noundef %8099) #12
  %.not1332 = icmp eq i32 %8100, 0
  br i1 %.not1332, label %8101, label %8102

8101:                                             ; preds = %8097, %8091
  br label %8102

8102:                                             ; preds = %8097, %8101
  %.str.12.sink4288 = phi ptr [ @.str.12, %8101 ], [ @.str.9, %8097 ]
  store i32 %8092, ptr %1545, align 4, !tbaa !5
  %8103 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8104 = load i32, ptr @test_count, align 4, !tbaa !5
  %8105 = load i32, ptr %1491, align 4, !tbaa !5
  %8106 = call ptr @s2n_strerror(i32 noundef %8105, ptr noundef nonnull @.str.11) #12
  %8107 = load i32, ptr %1491, align 4, !tbaa !5
  %8108 = call ptr @s2n_strerror_debug(i32 noundef %8107, ptr noundef nonnull @.str.11) #12
  %8109 = load i32, ptr %1545, align 4, !tbaa !5
  %8110 = call ptr @strerror(i32 noundef %8109) #12
  %8111 = load i32, ptr %1545, align 4, !tbaa !5
  %8112 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8103, ptr noundef nonnull %.str.12.sink4288, i32 noundef %8104, ptr noundef nonnull @.str.189, ptr noundef nonnull @.str.8, i32 noundef 753, ptr noundef %8106, ptr noundef %8108, ptr noundef %8110, i32 noundef %8111) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8113:                                             ; preds = %8086
  %8114 = add nsw i32 %7602, 5
  store i32 %8114, ptr @test_count, align 4, !tbaa !5
  %8115 = call i32 @s2n_connection_wipe(ptr noundef nonnull %7601) #12
  %8116 = icmp eq i32 %8115, -1
  br i1 %8116, label %8117, label %8139

8117:                                             ; preds = %8024, %8006, %8113
  %8118 = load i32, ptr %1545, align 4, !tbaa !5
  %8119 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8120 = call i32 @s2n_print_stacktrace(ptr noundef %8119) #12
  %8121 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8122 = trunc nuw i8 %8121 to i1
  br i1 %8122, label %8123, label %8127

8123:                                             ; preds = %8117
  %8124 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8125 = call i32 @fileno(ptr noundef %8124) #12
  %8126 = call i32 @isatty(i32 noundef %8125) #12
  %.not1334 = icmp eq i32 %8126, 0
  br i1 %.not1334, label %8127, label %8128

8127:                                             ; preds = %8123, %8117
  br label %8128

8128:                                             ; preds = %8123, %8127
  %.str.12.sink4297 = phi ptr [ @.str.12, %8127 ], [ @.str.9, %8123 ]
  store i32 %8118, ptr %1545, align 4, !tbaa !5
  %8129 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8130 = load i32, ptr @test_count, align 4, !tbaa !5
  %8131 = load i32, ptr %1491, align 4, !tbaa !5
  %8132 = call ptr @s2n_strerror(i32 noundef %8131, ptr noundef nonnull @.str.11) #12
  %8133 = load i32, ptr %1491, align 4, !tbaa !5
  %8134 = call ptr @s2n_strerror_debug(i32 noundef %8133, ptr noundef nonnull @.str.11) #12
  %8135 = load i32, ptr %1545, align 4, !tbaa !5
  %8136 = call ptr @strerror(i32 noundef %8135) #12
  %8137 = load i32, ptr %1545, align 4, !tbaa !5
  %8138 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8129, ptr noundef nonnull %.str.12.sink4297, i32 noundef %8130, ptr noundef nonnull @.str.118, ptr noundef nonnull @.str.8, i32 noundef 755, ptr noundef %8132, ptr noundef %8134, ptr noundef %8136, i32 noundef %8137) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8139:                                             ; preds = %8113
  %8140 = load i32, ptr @test_count, align 4, !tbaa !5
  %8141 = add nsw i32 %8140, 1
  store i32 %8141, ptr @test_count, align 4, !tbaa !5
  %8142 = load ptr, ptr %33, align 8, !tbaa !9
  %8143 = getelementptr inbounds i8, ptr %8142, i64 4136
  %8144 = load i32, ptr %8143, align 8, !tbaa !80
  %8145 = icmp eq i32 %8144, 0
  br i1 %8145, label %.preheader1549.1, label %8146

8146:                                             ; preds = %8028, %8010, %8139
  %8147 = load i32, ptr %1545, align 4, !tbaa !5
  %8148 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8149 = call i32 @s2n_print_stacktrace(ptr noundef %8148) #12
  %8150 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8151 = trunc nuw i8 %8150 to i1
  br i1 %8151, label %8152, label %8156

8152:                                             ; preds = %8146
  %8153 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8154 = call i32 @fileno(ptr noundef %8153) #12
  %8155 = call i32 @isatty(i32 noundef %8154) #12
  %.not1333 = icmp eq i32 %8155, 0
  br i1 %.not1333, label %8156, label %8157

8156:                                             ; preds = %8152, %8146
  br label %8157

8157:                                             ; preds = %8152, %8156
  %.str.12.sink4306 = phi ptr [ @.str.12, %8156 ], [ @.str.9, %8152 ]
  store i32 %8147, ptr %1545, align 4, !tbaa !5
  %8158 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8159 = load i32, ptr @test_count, align 4, !tbaa !5
  %8160 = load i32, ptr %1491, align 4, !tbaa !5
  %8161 = call ptr @s2n_strerror(i32 noundef %8160, ptr noundef nonnull @.str.11) #12
  %8162 = load i32, ptr %1491, align 4, !tbaa !5
  %8163 = call ptr @s2n_strerror_debug(i32 noundef %8162, ptr noundef nonnull @.str.11) #12
  %8164 = load i32, ptr %1545, align 4, !tbaa !5
  %8165 = call ptr @strerror(i32 noundef %8164) #12
  %8166 = load i32, ptr %1545, align 4, !tbaa !5
  %8167 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8158, ptr noundef nonnull %.str.12.sink4306, i32 noundef %8159, ptr noundef nonnull @.str.189, ptr noundef nonnull @.str.8, i32 noundef 756, ptr noundef %8161, ptr noundef %8163, ptr noundef %8165, i32 noundef %8166) #14
  call void @exit(i32 noundef 1) #15
  unreachable

.preheader1548.1:                                 ; preds = %8361
  %8168 = add nsw i32 %8362, 2
  store i32 %8168, ptr @test_count, align 4, !tbaa !5
  %8169 = getelementptr inbounds i8, ptr %8364, i64 4128
  %8170 = call i32 @s2n_stuffer_growable_alloc(ptr noundef nonnull %8169, i32 noundef 10) #12
  %8171 = icmp eq i32 %8170, -1
  br i1 %8171, label %8232, label %8172

8172:                                             ; preds = %.preheader1548.1
  %8173 = load i32, ptr @test_count, align 4, !tbaa !5
  %8174 = add nsw i32 %8173, 1
  store i32 %8174, ptr @test_count, align 4, !tbaa !5
  %8175 = load ptr, ptr %33, align 8, !tbaa !9
  %8176 = getelementptr inbounds i8, ptr %8175, i64 4164
  %8177 = load i8, ptr %8176, align 4
  %8178 = and i8 %8177, 2
  %.not1322.1 = icmp eq i8 %8178, 0
  br i1 %.not1322.1, label %8261, label %8179

8179:                                             ; preds = %8172
  %8180 = add nsw i32 %8173, 2
  store i32 %8180, ptr @test_count, align 4, !tbaa !5
  %8181 = and i8 %8177, 1
  %.not1324.1 = icmp eq i8 %8181, 0
  br i1 %.not1324.1, label %8286, label %8182

8182:                                             ; preds = %8179
  %8183 = add nsw i32 %8173, 3
  store i32 %8183, ptr @test_count, align 4, !tbaa !5
  %8184 = getelementptr inbounds i8, ptr %8175, i64 4136
  %8185 = load i32, ptr %8184, align 8, !tbaa !80
  %8186 = icmp eq i32 %8185, 10
  br i1 %8186, label %8187, label %8313

8187:                                             ; preds = %8182
  %8188 = add nsw i32 %8173, 4
  store i32 %8188, ptr @test_count, align 4, !tbaa !5
  %8189 = call i32 @s2n_connection_wipe(ptr noundef nonnull %8175) #12
  %8190 = icmp eq i32 %8189, -1
  br i1 %8190, label %8339, label %8191

8191:                                             ; preds = %8187
  %8192 = load i32, ptr @test_count, align 4, !tbaa !5
  %8193 = add nsw i32 %8192, 1
  store i32 %8193, ptr @test_count, align 4, !tbaa !5
  %8194 = load ptr, ptr %33, align 8, !tbaa !9
  %8195 = getelementptr inbounds i8, ptr %8194, i64 4136
  %8196 = load i32, ptr %8195, align 8, !tbaa !80
  %8197 = icmp eq i32 %8196, 0
  br i1 %8197, label %.preheader1548.2, label %8368

.preheader1548.2:                                 ; preds = %8191
  %8198 = add nsw i32 %8192, 2
  store i32 %8198, ptr @test_count, align 4, !tbaa !5
  %8199 = getelementptr inbounds i8, ptr %8194, i64 4128
  %8200 = call i32 @s2n_stuffer_growable_alloc(ptr noundef nonnull %8199, i32 noundef 10) #12
  %8201 = icmp eq i32 %8200, -1
  br i1 %8201, label %8232, label %8202

8202:                                             ; preds = %.preheader1548.2
  %8203 = load i32, ptr @test_count, align 4, !tbaa !5
  %8204 = add nsw i32 %8203, 1
  store i32 %8204, ptr @test_count, align 4, !tbaa !5
  %8205 = load ptr, ptr %33, align 8, !tbaa !9
  %8206 = getelementptr inbounds i8, ptr %8205, i64 4164
  %8207 = load i8, ptr %8206, align 4
  %8208 = and i8 %8207, 2
  %.not1322.2 = icmp eq i8 %8208, 0
  br i1 %.not1322.2, label %8261, label %8209

8209:                                             ; preds = %8202
  %8210 = add nsw i32 %8203, 2
  store i32 %8210, ptr @test_count, align 4, !tbaa !5
  %8211 = and i8 %8207, 1
  %.not1324.2 = icmp eq i8 %8211, 0
  br i1 %.not1324.2, label %8286, label %8212

8212:                                             ; preds = %8209
  %8213 = add nsw i32 %8203, 3
  store i32 %8213, ptr @test_count, align 4, !tbaa !5
  %8214 = getelementptr inbounds i8, ptr %8205, i64 4136
  %8215 = load i32, ptr %8214, align 8, !tbaa !80
  %8216 = icmp eq i32 %8215, 10
  br i1 %8216, label %8217, label %8313

8217:                                             ; preds = %8212
  %8218 = add nsw i32 %8203, 4
  store i32 %8218, ptr @test_count, align 4, !tbaa !5
  %8219 = call i32 @s2n_connection_wipe(ptr noundef nonnull %8205) #12
  %8220 = icmp eq i32 %8219, -1
  br i1 %8220, label %8339, label %8221

8221:                                             ; preds = %8217
  %8222 = load i32, ptr @test_count, align 4, !tbaa !5
  %8223 = add nsw i32 %8222, 1
  store i32 %8223, ptr @test_count, align 4, !tbaa !5
  %8224 = load ptr, ptr %33, align 8, !tbaa !9
  %8225 = getelementptr inbounds i8, ptr %8224, i64 4136
  %8226 = load i32, ptr %8225, align 8, !tbaa !80
  %8227 = icmp eq i32 %8226, 0
  br i1 %8227, label %.preheader1547.preheader, label %8368

.preheader1547.preheader:                         ; preds = %8221
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %34) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %34, i8 0, i64 24, i1 false)
  %8228 = add nsw i32 %8222, 2
  store i32 %8228, ptr @test_count, align 4, !tbaa !5
  %8229 = getelementptr inbounds i8, ptr %8224, i64 4168
  %8230 = call i32 @s2n_blob_init(ptr noundef nonnull %34, ptr noundef nonnull %8229, i32 noundef 4) #12
  %8231 = icmp eq i32 %8230, -1
  br i1 %8231, label %8394, label %8416

8232:                                             ; preds = %.preheader1548.2, %.preheader1548.1, %.preheader1548.preheader
  %8233 = load i32, ptr %1545, align 4, !tbaa !5
  %8234 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8235 = call i32 @s2n_print_stacktrace(ptr noundef %8234) #12
  %8236 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8237 = trunc nuw i8 %8236 to i1
  br i1 %8237, label %8238, label %8242

8238:                                             ; preds = %8232
  %8239 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8240 = call i32 @fileno(ptr noundef %8239) #12
  %8241 = call i32 @isatty(i32 noundef %8240) #12
  %.not1329 = icmp eq i32 %8241, 0
  br i1 %.not1329, label %8242, label %8243

8242:                                             ; preds = %8238, %8232
  br label %8243

8243:                                             ; preds = %8238, %8242
  %.str.12.sink4315 = phi ptr [ @.str.12, %8242 ], [ @.str.9, %8238 ]
  store i32 %8233, ptr %1545, align 4, !tbaa !5
  %8244 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8245 = load i32, ptr @test_count, align 4, !tbaa !5
  %8246 = load i32, ptr %1491, align 4, !tbaa !5
  %8247 = call ptr @s2n_strerror(i32 noundef %8246, ptr noundef nonnull @.str.11) #12
  %8248 = load i32, ptr %1491, align 4, !tbaa !5
  %8249 = call ptr @s2n_strerror_debug(i32 noundef %8248, ptr noundef nonnull @.str.11) #12
  %8250 = load i32, ptr %1545, align 4, !tbaa !5
  %8251 = call ptr @strerror(i32 noundef %8250) #12
  %8252 = load i32, ptr %1545, align 4, !tbaa !5
  %8253 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8244, ptr noundef nonnull %.str.12.sink4315, i32 noundef %8245, ptr noundef nonnull @.str.190, ptr noundef nonnull @.str.8, i32 noundef 761, ptr noundef %8247, ptr noundef %8249, ptr noundef %8251, i32 noundef %8252) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8254:                                             ; preds = %.preheader1548.preheader
  %8255 = load i32, ptr @test_count, align 4, !tbaa !5
  %8256 = add nsw i32 %8255, 1
  store i32 %8256, ptr @test_count, align 4, !tbaa !5
  %8257 = load ptr, ptr %33, align 8, !tbaa !9
  %8258 = getelementptr inbounds i8, ptr %8257, i64 4164
  %8259 = load i8, ptr %8258, align 4
  %8260 = and i8 %8259, 2
  %.not1322 = icmp eq i8 %8260, 0
  br i1 %.not1322, label %8261, label %8283

8261:                                             ; preds = %8202, %8172, %8254
  %8262 = load i32, ptr %1545, align 4, !tbaa !5
  %8263 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8264 = call i32 @s2n_print_stacktrace(ptr noundef %8263) #12
  %8265 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8266 = trunc nuw i8 %8265 to i1
  br i1 %8266, label %8267, label %8271

8267:                                             ; preds = %8261
  %8268 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8269 = call i32 @fileno(ptr noundef %8268) #12
  %8270 = call i32 @isatty(i32 noundef %8269) #12
  %.not1323 = icmp eq i32 %8270, 0
  br i1 %.not1323, label %8271, label %8272

8271:                                             ; preds = %8267, %8261
  br label %8272

8272:                                             ; preds = %8267, %8271
  %.str.12.sink4324 = phi ptr [ @.str.12, %8271 ], [ @.str.9, %8267 ]
  store i32 %8262, ptr %1545, align 4, !tbaa !5
  %8273 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8274 = load i32, ptr @test_count, align 4, !tbaa !5
  %8275 = load i32, ptr %1491, align 4, !tbaa !5
  %8276 = call ptr @s2n_strerror(i32 noundef %8275, ptr noundef nonnull @.str.11) #12
  %8277 = load i32, ptr %1491, align 4, !tbaa !5
  %8278 = call ptr @s2n_strerror_debug(i32 noundef %8277, ptr noundef nonnull @.str.11) #12
  %8279 = load i32, ptr %1545, align 4, !tbaa !5
  %8280 = call ptr @strerror(i32 noundef %8279) #12
  %8281 = load i32, ptr %1545, align 4, !tbaa !5
  %8282 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8273, ptr noundef nonnull %.str.12.sink4324, i32 noundef %8274, ptr noundef nonnull @.str.191, ptr noundef nonnull @.str.8, i32 noundef 762, ptr noundef %8276, ptr noundef %8278, ptr noundef %8280, i32 noundef %8281) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8283:                                             ; preds = %8254
  %8284 = add nsw i32 %8255, 2
  store i32 %8284, ptr @test_count, align 4, !tbaa !5
  %8285 = and i8 %8259, 1
  %.not1324 = icmp eq i8 %8285, 0
  br i1 %.not1324, label %8286, label %8308

8286:                                             ; preds = %8209, %8179, %8283
  %8287 = load i32, ptr %1545, align 4, !tbaa !5
  %8288 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8289 = call i32 @s2n_print_stacktrace(ptr noundef %8288) #12
  %8290 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8291 = trunc nuw i8 %8290 to i1
  br i1 %8291, label %8292, label %8296

8292:                                             ; preds = %8286
  %8293 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8294 = call i32 @fileno(ptr noundef %8293) #12
  %8295 = call i32 @isatty(i32 noundef %8294) #12
  %.not1325 = icmp eq i32 %8295, 0
  br i1 %.not1325, label %8296, label %8297

8296:                                             ; preds = %8292, %8286
  br label %8297

8297:                                             ; preds = %8292, %8296
  %.str.12.sink4333 = phi ptr [ @.str.12, %8296 ], [ @.str.9, %8292 ]
  store i32 %8287, ptr %1545, align 4, !tbaa !5
  %8298 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8299 = load i32, ptr @test_count, align 4, !tbaa !5
  %8300 = load i32, ptr %1491, align 4, !tbaa !5
  %8301 = call ptr @s2n_strerror(i32 noundef %8300, ptr noundef nonnull @.str.11) #12
  %8302 = load i32, ptr %1491, align 4, !tbaa !5
  %8303 = call ptr @s2n_strerror_debug(i32 noundef %8302, ptr noundef nonnull @.str.11) #12
  %8304 = load i32, ptr %1545, align 4, !tbaa !5
  %8305 = call ptr @strerror(i32 noundef %8304) #12
  %8306 = load i32, ptr %1545, align 4, !tbaa !5
  %8307 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8298, ptr noundef nonnull %.str.12.sink4333, i32 noundef %8299, ptr noundef nonnull @.str.192, ptr noundef nonnull @.str.8, i32 noundef 763, ptr noundef %8301, ptr noundef %8303, ptr noundef %8305, i32 noundef %8306) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8308:                                             ; preds = %8283
  %8309 = add nsw i32 %8255, 3
  store i32 %8309, ptr @test_count, align 4, !tbaa !5
  %8310 = getelementptr inbounds i8, ptr %8257, i64 4136
  %8311 = load i32, ptr %8310, align 8, !tbaa !80
  %8312 = icmp eq i32 %8311, 10
  br i1 %8312, label %8335, label %8313

8313:                                             ; preds = %8212, %8182, %8308
  %8314 = load i32, ptr %1545, align 4, !tbaa !5
  %8315 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8316 = call i32 @s2n_print_stacktrace(ptr noundef %8315) #12
  %8317 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8318 = trunc nuw i8 %8317 to i1
  br i1 %8318, label %8319, label %8323

8319:                                             ; preds = %8313
  %8320 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8321 = call i32 @fileno(ptr noundef %8320) #12
  %8322 = call i32 @isatty(i32 noundef %8321) #12
  %.not1326 = icmp eq i32 %8322, 0
  br i1 %.not1326, label %8323, label %8324

8323:                                             ; preds = %8319, %8313
  br label %8324

8324:                                             ; preds = %8319, %8323
  %.str.12.sink4342 = phi ptr [ @.str.12, %8323 ], [ @.str.9, %8319 ]
  store i32 %8314, ptr %1545, align 4, !tbaa !5
  %8325 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8326 = load i32, ptr @test_count, align 4, !tbaa !5
  %8327 = load i32, ptr %1491, align 4, !tbaa !5
  %8328 = call ptr @s2n_strerror(i32 noundef %8327, ptr noundef nonnull @.str.11) #12
  %8329 = load i32, ptr %1491, align 4, !tbaa !5
  %8330 = call ptr @s2n_strerror_debug(i32 noundef %8329, ptr noundef nonnull @.str.11) #12
  %8331 = load i32, ptr %1545, align 4, !tbaa !5
  %8332 = call ptr @strerror(i32 noundef %8331) #12
  %8333 = load i32, ptr %1545, align 4, !tbaa !5
  %8334 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8325, ptr noundef nonnull %.str.12.sink4342, i32 noundef %8326, ptr noundef nonnull @.str.193, ptr noundef nonnull @.str.8, i32 noundef 764, ptr noundef %8328, ptr noundef %8330, ptr noundef %8332, i32 noundef %8333) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8335:                                             ; preds = %8308
  %8336 = add nsw i32 %8255, 4
  store i32 %8336, ptr @test_count, align 4, !tbaa !5
  %8337 = call i32 @s2n_connection_wipe(ptr noundef nonnull %8257) #12
  %8338 = icmp eq i32 %8337, -1
  br i1 %8338, label %8339, label %8361

8339:                                             ; preds = %8217, %8187, %8335
  %8340 = load i32, ptr %1545, align 4, !tbaa !5
  %8341 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8342 = call i32 @s2n_print_stacktrace(ptr noundef %8341) #12
  %8343 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8344 = trunc nuw i8 %8343 to i1
  br i1 %8344, label %8345, label %8349

8345:                                             ; preds = %8339
  %8346 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8347 = call i32 @fileno(ptr noundef %8346) #12
  %8348 = call i32 @isatty(i32 noundef %8347) #12
  %.not1328 = icmp eq i32 %8348, 0
  br i1 %.not1328, label %8349, label %8350

8349:                                             ; preds = %8345, %8339
  br label %8350

8350:                                             ; preds = %8345, %8349
  %.str.12.sink4351 = phi ptr [ @.str.12, %8349 ], [ @.str.9, %8345 ]
  store i32 %8340, ptr %1545, align 4, !tbaa !5
  %8351 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8352 = load i32, ptr @test_count, align 4, !tbaa !5
  %8353 = load i32, ptr %1491, align 4, !tbaa !5
  %8354 = call ptr @s2n_strerror(i32 noundef %8353, ptr noundef nonnull @.str.11) #12
  %8355 = load i32, ptr %1491, align 4, !tbaa !5
  %8356 = call ptr @s2n_strerror_debug(i32 noundef %8355, ptr noundef nonnull @.str.11) #12
  %8357 = load i32, ptr %1545, align 4, !tbaa !5
  %8358 = call ptr @strerror(i32 noundef %8357) #12
  %8359 = load i32, ptr %1545, align 4, !tbaa !5
  %8360 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8351, ptr noundef nonnull %.str.12.sink4351, i32 noundef %8352, ptr noundef nonnull @.str.118, ptr noundef nonnull @.str.8, i32 noundef 766, ptr noundef %8354, ptr noundef %8356, ptr noundef %8358, i32 noundef %8359) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8361:                                             ; preds = %8335
  %8362 = load i32, ptr @test_count, align 4, !tbaa !5
  %8363 = add nsw i32 %8362, 1
  store i32 %8363, ptr @test_count, align 4, !tbaa !5
  %8364 = load ptr, ptr %33, align 8, !tbaa !9
  %8365 = getelementptr inbounds i8, ptr %8364, i64 4136
  %8366 = load i32, ptr %8365, align 8, !tbaa !80
  %8367 = icmp eq i32 %8366, 0
  br i1 %8367, label %.preheader1548.1, label %8368

8368:                                             ; preds = %8221, %8191, %8361
  %8369 = load i32, ptr %1545, align 4, !tbaa !5
  %8370 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8371 = call i32 @s2n_print_stacktrace(ptr noundef %8370) #12
  %8372 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8373 = trunc nuw i8 %8372 to i1
  br i1 %8373, label %8374, label %8378

8374:                                             ; preds = %8368
  %8375 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8376 = call i32 @fileno(ptr noundef %8375) #12
  %8377 = call i32 @isatty(i32 noundef %8376) #12
  %.not1327 = icmp eq i32 %8377, 0
  br i1 %.not1327, label %8378, label %8379

8378:                                             ; preds = %8374, %8368
  br label %8379

8379:                                             ; preds = %8374, %8378
  %.str.12.sink4360 = phi ptr [ @.str.12, %8378 ], [ @.str.9, %8374 ]
  store i32 %8369, ptr %1545, align 4, !tbaa !5
  %8380 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8381 = load i32, ptr @test_count, align 4, !tbaa !5
  %8382 = load i32, ptr %1491, align 4, !tbaa !5
  %8383 = call ptr @s2n_strerror(i32 noundef %8382, ptr noundef nonnull @.str.11) #12
  %8384 = load i32, ptr %1491, align 4, !tbaa !5
  %8385 = call ptr @s2n_strerror_debug(i32 noundef %8384, ptr noundef nonnull @.str.11) #12
  %8386 = load i32, ptr %1545, align 4, !tbaa !5
  %8387 = call ptr @strerror(i32 noundef %8386) #12
  %8388 = load i32, ptr %1545, align 4, !tbaa !5
  %8389 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8380, ptr noundef nonnull %.str.12.sink4360, i32 noundef %8381, ptr noundef nonnull @.str.189, ptr noundef nonnull @.str.8, i32 noundef 767, ptr noundef %8383, ptr noundef %8385, ptr noundef %8387, i32 noundef %8388) #14
  call void @exit(i32 noundef 1) #15
  unreachable

.preheader1546.preheader:                         ; preds = %8655
  %8390 = add nsw i32 %8658, 2
  store i32 %8390, ptr @test_count, align 4, !tbaa !5
  %8391 = getelementptr inbounds i8, ptr %8657, i64 4164
  %8392 = load i8, ptr %8391, align 4
  %8393 = and i8 %8392, 2
  %.not1305 = icmp eq i8 %8393, 0
  br i1 %.not1305, label %8745, label %8723

8394:                                             ; preds = %.preheader1547.2, %.preheader1547.1, %.preheader1547.preheader
  %8395 = load i32, ptr %1545, align 4, !tbaa !5
  %8396 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8397 = call i32 @s2n_print_stacktrace(ptr noundef %8396) #12
  %8398 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8399 = trunc nuw i8 %8398 to i1
  br i1 %8399, label %8400, label %8404

8400:                                             ; preds = %8394
  %8401 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8402 = call i32 @fileno(ptr noundef %8401) #12
  %8403 = call i32 @isatty(i32 noundef %8402) #12
  %.not1321 = icmp eq i32 %8403, 0
  br i1 %.not1321, label %8404, label %8405

8404:                                             ; preds = %8400, %8394
  br label %8405

8405:                                             ; preds = %8400, %8404
  %.str.12.sink4369 = phi ptr [ @.str.12, %8404 ], [ @.str.9, %8400 ]
  store i32 %8395, ptr %1545, align 4, !tbaa !5
  %8406 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8407 = load i32, ptr @test_count, align 4, !tbaa !5
  %8408 = load i32, ptr %1491, align 4, !tbaa !5
  %8409 = call ptr @s2n_strerror(i32 noundef %8408, ptr noundef nonnull @.str.11) #12
  %8410 = load i32, ptr %1491, align 4, !tbaa !5
  %8411 = call ptr @s2n_strerror_debug(i32 noundef %8410, ptr noundef nonnull @.str.11) #12
  %8412 = load i32, ptr %1545, align 4, !tbaa !5
  %8413 = call ptr @strerror(i32 noundef %8412) #12
  %8414 = load i32, ptr %1545, align 4, !tbaa !5
  %8415 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8406, ptr noundef nonnull %.str.12.sink4369, i32 noundef %8407, ptr noundef nonnull @.str.194, ptr noundef nonnull @.str.8, i32 noundef 774, ptr noundef %8409, ptr noundef %8411, ptr noundef %8413, i32 noundef %8414) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8416:                                             ; preds = %.preheader1547.preheader
  %8417 = load i32, ptr @test_count, align 4, !tbaa !5
  %8418 = add nsw i32 %8417, 1
  store i32 %8418, ptr @test_count, align 4, !tbaa !5
  %8419 = load ptr, ptr %33, align 8, !tbaa !9
  %8420 = getelementptr inbounds i8, ptr %8419, i64 4128
  %8421 = call i32 @s2n_stuffer_init(ptr noundef nonnull %8420, ptr noundef nonnull %34) #12
  %8422 = icmp eq i32 %8421, -1
  br i1 %8422, label %8423, label %8445

8423:                                             ; preds = %8622, %8585, %8416
  %8424 = load i32, ptr %1545, align 4, !tbaa !5
  %8425 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8426 = call i32 @s2n_print_stacktrace(ptr noundef %8425) #12
  %8427 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8428 = trunc nuw i8 %8427 to i1
  br i1 %8428, label %8429, label %8433

8429:                                             ; preds = %8423
  %8430 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8431 = call i32 @fileno(ptr noundef %8430) #12
  %8432 = call i32 @isatty(i32 noundef %8431) #12
  %.not1320 = icmp eq i32 %8432, 0
  br i1 %.not1320, label %8433, label %8434

8433:                                             ; preds = %8429, %8423
  br label %8434

8434:                                             ; preds = %8429, %8433
  %.str.12.sink4378 = phi ptr [ @.str.12, %8433 ], [ @.str.9, %8429 ]
  store i32 %8424, ptr %1545, align 4, !tbaa !5
  %8435 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8436 = load i32, ptr @test_count, align 4, !tbaa !5
  %8437 = load i32, ptr %1491, align 4, !tbaa !5
  %8438 = call ptr @s2n_strerror(i32 noundef %8437, ptr noundef nonnull @.str.11) #12
  %8439 = load i32, ptr %1491, align 4, !tbaa !5
  %8440 = call ptr @s2n_strerror_debug(i32 noundef %8439, ptr noundef nonnull @.str.11) #12
  %8441 = load i32, ptr %1545, align 4, !tbaa !5
  %8442 = call ptr @strerror(i32 noundef %8441) #12
  %8443 = load i32, ptr %1545, align 4, !tbaa !5
  %8444 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8435, ptr noundef nonnull %.str.12.sink4378, i32 noundef %8436, ptr noundef nonnull @.str.195, ptr noundef nonnull @.str.8, i32 noundef 775, ptr noundef %8438, ptr noundef %8440, ptr noundef %8442, i32 noundef %8443) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8445:                                             ; preds = %8416
  %8446 = load i32, ptr @test_count, align 4, !tbaa !5
  %8447 = add nsw i32 %8446, 1
  store i32 %8447, ptr @test_count, align 4, !tbaa !5
  %8448 = load ptr, ptr %33, align 8, !tbaa !9
  %8449 = getelementptr inbounds i8, ptr %8448, i64 4164
  %8450 = load i8, ptr %8449, align 4
  %8451 = and i8 %8450, 2
  %.not1313 = icmp eq i8 %8451, 0
  br i1 %.not1313, label %8474, label %8452

8452:                                             ; preds = %8629, %8592, %8445
  %8453 = load i32, ptr %1545, align 4, !tbaa !5
  %8454 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8455 = call i32 @s2n_print_stacktrace(ptr noundef %8454) #12
  %8456 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8457 = trunc nuw i8 %8456 to i1
  br i1 %8457, label %8458, label %8462

8458:                                             ; preds = %8452
  %8459 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8460 = call i32 @fileno(ptr noundef %8459) #12
  %8461 = call i32 @isatty(i32 noundef %8460) #12
  %.not1319 = icmp eq i32 %8461, 0
  br i1 %.not1319, label %8462, label %8463

8462:                                             ; preds = %8458, %8452
  br label %8463

8463:                                             ; preds = %8458, %8462
  %.str.12.sink4387 = phi ptr [ @.str.12, %8462 ], [ @.str.9, %8458 ]
  store i32 %8453, ptr %1545, align 4, !tbaa !5
  %8464 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8465 = load i32, ptr @test_count, align 4, !tbaa !5
  %8466 = load i32, ptr %1491, align 4, !tbaa !5
  %8467 = call ptr @s2n_strerror(i32 noundef %8466, ptr noundef nonnull @.str.11) #12
  %8468 = load i32, ptr %1491, align 4, !tbaa !5
  %8469 = call ptr @s2n_strerror_debug(i32 noundef %8468, ptr noundef nonnull @.str.11) #12
  %8470 = load i32, ptr %1545, align 4, !tbaa !5
  %8471 = call ptr @strerror(i32 noundef %8470) #12
  %8472 = load i32, ptr %1545, align 4, !tbaa !5
  %8473 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8464, ptr noundef nonnull %.str.12.sink4387, i32 noundef %8465, ptr noundef nonnull @.str.187, ptr noundef nonnull @.str.8, i32 noundef 776, ptr noundef %8467, ptr noundef %8469, ptr noundef %8471, i32 noundef %8472) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8474:                                             ; preds = %8445
  %8475 = add nsw i32 %8446, 2
  store i32 %8475, ptr @test_count, align 4, !tbaa !5
  %8476 = and i8 %8450, 1
  %.not1314 = icmp eq i8 %8476, 0
  br i1 %.not1314, label %8499, label %8477

8477:                                             ; preds = %8636, %8599, %8474
  %8478 = load i32, ptr %1545, align 4, !tbaa !5
  %8479 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8480 = call i32 @s2n_print_stacktrace(ptr noundef %8479) #12
  %8481 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8482 = trunc nuw i8 %8481 to i1
  br i1 %8482, label %8483, label %8487

8483:                                             ; preds = %8477
  %8484 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8485 = call i32 @fileno(ptr noundef %8484) #12
  %8486 = call i32 @isatty(i32 noundef %8485) #12
  %.not1318 = icmp eq i32 %8486, 0
  br i1 %.not1318, label %8487, label %8488

8487:                                             ; preds = %8483, %8477
  br label %8488

8488:                                             ; preds = %8483, %8487
  %.str.12.sink4396 = phi ptr [ @.str.12, %8487 ], [ @.str.9, %8483 ]
  store i32 %8478, ptr %1545, align 4, !tbaa !5
  %8489 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8490 = load i32, ptr @test_count, align 4, !tbaa !5
  %8491 = load i32, ptr %1491, align 4, !tbaa !5
  %8492 = call ptr @s2n_strerror(i32 noundef %8491, ptr noundef nonnull @.str.11) #12
  %8493 = load i32, ptr %1491, align 4, !tbaa !5
  %8494 = call ptr @s2n_strerror_debug(i32 noundef %8493, ptr noundef nonnull @.str.11) #12
  %8495 = load i32, ptr %1545, align 4, !tbaa !5
  %8496 = call ptr @strerror(i32 noundef %8495) #12
  %8497 = load i32, ptr %1545, align 4, !tbaa !5
  %8498 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8489, ptr noundef nonnull %.str.12.sink4396, i32 noundef %8490, ptr noundef nonnull @.str.188, ptr noundef nonnull @.str.8, i32 noundef 777, ptr noundef %8492, ptr noundef %8494, ptr noundef %8496, i32 noundef %8497) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8499:                                             ; preds = %8474
  %8500 = add nsw i32 %8446, 3
  store i32 %8500, ptr @test_count, align 4, !tbaa !5
  %8501 = getelementptr inbounds i8, ptr %8448, i64 4136
  %8502 = load i32, ptr %8501, align 8, !tbaa !80
  %8503 = icmp eq i32 %8502, 0
  br i1 %8503, label %8504, label %8526

8504:                                             ; preds = %8639, %8602, %8499
  %8505 = load i32, ptr %1545, align 4, !tbaa !5
  %8506 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8507 = call i32 @s2n_print_stacktrace(ptr noundef %8506) #12
  %8508 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8509 = trunc nuw i8 %8508 to i1
  br i1 %8509, label %8510, label %8514

8510:                                             ; preds = %8504
  %8511 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8512 = call i32 @fileno(ptr noundef %8511) #12
  %8513 = call i32 @isatty(i32 noundef %8512) #12
  %.not1317 = icmp eq i32 %8513, 0
  br i1 %.not1317, label %8514, label %8515

8514:                                             ; preds = %8510, %8504
  br label %8515

8515:                                             ; preds = %8510, %8514
  %.str.12.sink4405 = phi ptr [ @.str.12, %8514 ], [ @.str.9, %8510 ]
  store i32 %8505, ptr %1545, align 4, !tbaa !5
  %8516 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8517 = load i32, ptr @test_count, align 4, !tbaa !5
  %8518 = load i32, ptr %1491, align 4, !tbaa !5
  %8519 = call ptr @s2n_strerror(i32 noundef %8518, ptr noundef nonnull @.str.11) #12
  %8520 = load i32, ptr %1491, align 4, !tbaa !5
  %8521 = call ptr @s2n_strerror_debug(i32 noundef %8520, ptr noundef nonnull @.str.11) #12
  %8522 = load i32, ptr %1545, align 4, !tbaa !5
  %8523 = call ptr @strerror(i32 noundef %8522) #12
  %8524 = load i32, ptr %1545, align 4, !tbaa !5
  %8525 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8516, ptr noundef nonnull %.str.12.sink4405, i32 noundef %8517, ptr noundef nonnull @.str.196, ptr noundef nonnull @.str.8, i32 noundef 778, ptr noundef %8519, ptr noundef %8521, ptr noundef %8523, i32 noundef %8524) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8526:                                             ; preds = %8499
  %8527 = add nsw i32 %8446, 4
  store i32 %8527, ptr @test_count, align 4, !tbaa !5
  %8528 = call i32 @s2n_connection_wipe(ptr noundef nonnull %8448) #12
  %8529 = icmp eq i32 %8528, -1
  br i1 %8529, label %8530, label %8552

8530:                                             ; preds = %8644, %8607, %8526
  %8531 = load i32, ptr %1545, align 4, !tbaa !5
  %8532 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8533 = call i32 @s2n_print_stacktrace(ptr noundef %8532) #12
  %8534 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8535 = trunc nuw i8 %8534 to i1
  br i1 %8535, label %8536, label %8540

8536:                                             ; preds = %8530
  %8537 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8538 = call i32 @fileno(ptr noundef %8537) #12
  %8539 = call i32 @isatty(i32 noundef %8538) #12
  %.not1316 = icmp eq i32 %8539, 0
  br i1 %.not1316, label %8540, label %8541

8540:                                             ; preds = %8536, %8530
  br label %8541

8541:                                             ; preds = %8536, %8540
  %.str.12.sink4414 = phi ptr [ @.str.12, %8540 ], [ @.str.9, %8536 ]
  store i32 %8531, ptr %1545, align 4, !tbaa !5
  %8542 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8543 = load i32, ptr @test_count, align 4, !tbaa !5
  %8544 = load i32, ptr %1491, align 4, !tbaa !5
  %8545 = call ptr @s2n_strerror(i32 noundef %8544, ptr noundef nonnull @.str.11) #12
  %8546 = load i32, ptr %1491, align 4, !tbaa !5
  %8547 = call ptr @s2n_strerror_debug(i32 noundef %8546, ptr noundef nonnull @.str.11) #12
  %8548 = load i32, ptr %1545, align 4, !tbaa !5
  %8549 = call ptr @strerror(i32 noundef %8548) #12
  %8550 = load i32, ptr %1545, align 4, !tbaa !5
  %8551 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8542, ptr noundef nonnull %.str.12.sink4414, i32 noundef %8543, ptr noundef nonnull @.str.118, ptr noundef nonnull @.str.8, i32 noundef 780, ptr noundef %8545, ptr noundef %8547, ptr noundef %8549, i32 noundef %8550) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8552:                                             ; preds = %8526
  %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 %33, align 8, !tbaa !9
  %8556 = getelementptr inbounds i8, ptr %8555, i64 4136
  %8557 = load i32, ptr %8556, align 8, !tbaa !80
  %8558 = icmp eq i32 %8557, 0
  br i1 %8558, label %.preheader1547.1, label %8559

8559:                                             ; preds = %8648, %8611, %8552
  %8560 = load i32, ptr %1545, align 4, !tbaa !5
  %8561 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8562 = call i32 @s2n_print_stacktrace(ptr noundef %8561) #12
  %8563 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8564 = trunc nuw i8 %8563 to i1
  br i1 %8564, label %8565, label %8569

8565:                                             ; preds = %8559
  %8566 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8567 = call i32 @fileno(ptr noundef %8566) #12
  %8568 = call i32 @isatty(i32 noundef %8567) #12
  %.not1315 = icmp eq i32 %8568, 0
  br i1 %.not1315, label %8569, label %8570

8569:                                             ; preds = %8565, %8559
  br label %8570

8570:                                             ; preds = %8565, %8569
  %.str.12.sink4423 = phi ptr [ @.str.12, %8569 ], [ @.str.9, %8565 ]
  store i32 %8560, ptr %1545, align 4, !tbaa !5
  %8571 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8572 = load i32, ptr @test_count, align 4, !tbaa !5
  %8573 = load i32, ptr %1491, align 4, !tbaa !5
  %8574 = call ptr @s2n_strerror(i32 noundef %8573, ptr noundef nonnull @.str.11) #12
  %8575 = load i32, ptr %1491, align 4, !tbaa !5
  %8576 = call ptr @s2n_strerror_debug(i32 noundef %8575, ptr noundef nonnull @.str.11) #12
  %8577 = load i32, ptr %1545, align 4, !tbaa !5
  %8578 = call ptr @strerror(i32 noundef %8577) #12
  %8579 = load i32, ptr %1545, align 4, !tbaa !5
  %8580 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8571, ptr noundef nonnull %.str.12.sink4423, i32 noundef %8572, ptr noundef nonnull @.str.189, ptr noundef nonnull @.str.8, i32 noundef 781, ptr noundef %8574, ptr noundef %8576, ptr noundef %8578, i32 noundef %8579) #14
  call void @exit(i32 noundef 1) #15
  unreachable

.preheader1547.1:                                 ; preds = %8552
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %34) #12
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %34) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %34, i8 0, i64 24, i1 false)
  %8581 = add nsw i32 %8553, 2
  store i32 %8581, ptr @test_count, align 4, !tbaa !5
  %8582 = getelementptr inbounds i8, ptr %8555, i64 4168
  %8583 = call i32 @s2n_blob_init(ptr noundef nonnull %34, ptr noundef nonnull %8582, i32 noundef 4) #12
  %8584 = icmp eq i32 %8583, -1
  br i1 %8584, label %8394, label %8585

8585:                                             ; preds = %.preheader1547.1
  %8586 = load i32, ptr @test_count, align 4, !tbaa !5
  %8587 = add nsw i32 %8586, 1
  store i32 %8587, ptr @test_count, align 4, !tbaa !5
  %8588 = load ptr, ptr %33, align 8, !tbaa !9
  %8589 = getelementptr inbounds i8, ptr %8588, i64 4128
  %8590 = call i32 @s2n_stuffer_init(ptr noundef nonnull %8589, ptr noundef nonnull %34) #12
  %8591 = icmp eq i32 %8590, -1
  br i1 %8591, label %8423, label %8592

8592:                                             ; preds = %8585
  %8593 = load i32, ptr @test_count, align 4, !tbaa !5
  %8594 = add nsw i32 %8593, 1
  store i32 %8594, ptr @test_count, align 4, !tbaa !5
  %8595 = load ptr, ptr %33, align 8, !tbaa !9
  %8596 = getelementptr inbounds i8, ptr %8595, i64 4164
  %8597 = load i8, ptr %8596, align 4
  %8598 = and i8 %8597, 2
  %.not1313.1 = icmp eq i8 %8598, 0
  br i1 %.not1313.1, label %8599, label %8452

8599:                                             ; preds = %8592
  %8600 = add nsw i32 %8593, 2
  store i32 %8600, ptr @test_count, align 4, !tbaa !5
  %8601 = and i8 %8597, 1
  %.not1314.1 = icmp eq i8 %8601, 0
  br i1 %.not1314.1, label %8602, label %8477

8602:                                             ; preds = %8599
  %8603 = add nsw i32 %8593, 3
  store i32 %8603, ptr @test_count, align 4, !tbaa !5
  %8604 = getelementptr inbounds i8, ptr %8595, i64 4136
  %8605 = load i32, ptr %8604, align 8, !tbaa !80
  %8606 = icmp eq i32 %8605, 0
  br i1 %8606, label %8504, label %8607

8607:                                             ; preds = %8602
  %8608 = add nsw i32 %8593, 4
  store i32 %8608, ptr @test_count, align 4, !tbaa !5
  %8609 = call i32 @s2n_connection_wipe(ptr noundef nonnull %8595) #12
  %8610 = icmp eq i32 %8609, -1
  br i1 %8610, label %8530, label %8611

8611:                                             ; preds = %8607
  %8612 = load i32, ptr @test_count, align 4, !tbaa !5
  %8613 = add nsw i32 %8612, 1
  store i32 %8613, ptr @test_count, align 4, !tbaa !5
  %8614 = load ptr, ptr %33, align 8, !tbaa !9
  %8615 = getelementptr inbounds i8, ptr %8614, i64 4136
  %8616 = load i32, ptr %8615, align 8, !tbaa !80
  %8617 = icmp eq i32 %8616, 0
  br i1 %8617, label %.preheader1547.2, label %8559

.preheader1547.2:                                 ; preds = %8611
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %34) #12
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %34) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %34, i8 0, i64 24, i1 false)
  %8618 = add nsw i32 %8612, 2
  store i32 %8618, ptr @test_count, align 4, !tbaa !5
  %8619 = getelementptr inbounds i8, ptr %8614, i64 4168
  %8620 = call i32 @s2n_blob_init(ptr noundef nonnull %34, ptr noundef nonnull %8619, i32 noundef 4) #12
  %8621 = icmp eq i32 %8620, -1
  br i1 %8621, label %8394, label %8622

8622:                                             ; preds = %.preheader1547.2
  %8623 = load i32, ptr @test_count, align 4, !tbaa !5
  %8624 = add nsw i32 %8623, 1
  store i32 %8624, ptr @test_count, align 4, !tbaa !5
  %8625 = load ptr, ptr %33, align 8, !tbaa !9
  %8626 = getelementptr inbounds i8, ptr %8625, i64 4128
  %8627 = call i32 @s2n_stuffer_init(ptr noundef nonnull %8626, ptr noundef nonnull %34) #12
  %8628 = icmp eq i32 %8627, -1
  br i1 %8628, label %8423, label %8629

8629:                                             ; preds = %8622
  %8630 = load i32, ptr @test_count, align 4, !tbaa !5
  %8631 = add nsw i32 %8630, 1
  store i32 %8631, ptr @test_count, align 4, !tbaa !5
  %8632 = load ptr, ptr %33, align 8, !tbaa !9
  %8633 = getelementptr inbounds i8, ptr %8632, i64 4164
  %8634 = load i8, ptr %8633, align 4
  %8635 = and i8 %8634, 2
  %.not1313.2 = icmp eq i8 %8635, 0
  br i1 %.not1313.2, label %8636, label %8452

8636:                                             ; preds = %8629
  %8637 = add nsw i32 %8630, 2
  store i32 %8637, ptr @test_count, align 4, !tbaa !5
  %8638 = and i8 %8634, 1
  %.not1314.2 = icmp eq i8 %8638, 0
  br i1 %.not1314.2, label %8639, label %8477

8639:                                             ; preds = %8636
  %8640 = add nsw i32 %8630, 3
  store i32 %8640, ptr @test_count, align 4, !tbaa !5
  %8641 = getelementptr inbounds i8, ptr %8632, i64 4136
  %8642 = load i32, ptr %8641, align 8, !tbaa !80
  %8643 = icmp eq i32 %8642, 0
  br i1 %8643, label %8504, label %8644

8644:                                             ; preds = %8639
  %8645 = add nsw i32 %8630, 4
  store i32 %8645, ptr @test_count, align 4, !tbaa !5
  %8646 = call i32 @s2n_connection_wipe(ptr noundef nonnull %8632) #12
  %8647 = icmp eq i32 %8646, -1
  br i1 %8647, label %8530, label %8648

8648:                                             ; preds = %8644
  %8649 = load i32, ptr @test_count, align 4, !tbaa !5
  %8650 = add nsw i32 %8649, 1
  store i32 %8650, ptr @test_count, align 4, !tbaa !5
  %8651 = load ptr, ptr %33, align 8, !tbaa !9
  %8652 = getelementptr inbounds i8, ptr %8651, i64 4136
  %8653 = load i32, ptr %8652, align 8, !tbaa !80
  %8654 = icmp eq i32 %8653, 0
  br i1 %8654, label %8655, label %8559

8655:                                             ; preds = %8648
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %34) #12
  %8656 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %33) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %33) #12
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %35) #12
  %8657 = call ptr @s2n_connection_new(i32 noundef 1) #12
  store ptr %8657, ptr %35, align 8, !tbaa !9
  %8658 = load i32, ptr @test_count, align 4, !tbaa !5
  %8659 = add nsw i32 %8658, 1
  store i32 %8659, ptr @test_count, align 4, !tbaa !5
  %8660 = icmp eq ptr %8657, null
  br i1 %8660, label %8661, label %.preheader1546.preheader

8661:                                             ; preds = %8655
  %8662 = load i32, ptr %1545, align 4, !tbaa !5
  %8663 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8664 = call i32 @s2n_print_stacktrace(ptr noundef %8663) #12
  %8665 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8666 = trunc nuw i8 %8665 to i1
  br i1 %8666, label %8667, label %8671

8667:                                             ; preds = %8661
  %8668 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8669 = call i32 @fileno(ptr noundef %8668) #12
  %8670 = call i32 @isatty(i32 noundef %8669) #12
  %.not1312 = icmp eq i32 %8670, 0
  br i1 %.not1312, label %8671, label %8672

8671:                                             ; preds = %8667, %8661
  br label %8672

8672:                                             ; preds = %8667, %8671
  %.str.12.sink4432 = phi ptr [ @.str.12, %8671 ], [ @.str.9, %8667 ]
  store i32 %8662, ptr %1545, align 4, !tbaa !5
  %8673 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8674 = load i32, ptr @test_count, align 4, !tbaa !5
  %8675 = load i32, ptr %1491, align 4, !tbaa !5
  %8676 = call ptr @s2n_strerror(i32 noundef %8675, ptr noundef nonnull @.str.11) #12
  %8677 = load i32, ptr %1491, align 4, !tbaa !5
  %8678 = call ptr @s2n_strerror_debug(i32 noundef %8677, ptr noundef nonnull @.str.11) #12
  %8679 = load i32, ptr %1545, align 4, !tbaa !5
  %8680 = call ptr @strerror(i32 noundef %8679) #12
  %8681 = load i32, ptr %1545, align 4, !tbaa !5
  %8682 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8673, ptr noundef nonnull %.str.12.sink4432, i32 noundef %8674, ptr noundef nonnull @.str.92, ptr noundef nonnull @.str.8, i32 noundef 789, ptr noundef %8676, ptr noundef %8678, ptr noundef %8680, i32 noundef %8681) #14
  call void @exit(i32 noundef 1) #15
  unreachable

.preheader1546.1:                                 ; preds = %8823
  %8683 = add nsw i32 %8824, 2
  store i32 %8683, ptr @test_count, align 4, !tbaa !5
  %8684 = getelementptr inbounds i8, ptr %8826, i64 4164
  %8685 = load i8, ptr %8684, align 4
  %8686 = and i8 %8685, 2
  %.not1305.1 = icmp eq i8 %8686, 0
  br i1 %.not1305.1, label %8687, label %8723

8687:                                             ; preds = %.preheader1546.1
  %8688 = add nsw i32 %8824, 3
  store i32 %8688, ptr @test_count, align 4, !tbaa !5
  %8689 = and i8 %8685, 1
  %.not1306.1 = icmp eq i8 %8689, 0
  br i1 %.not1306.1, label %8690, label %8748

8690:                                             ; preds = %8687
  %8691 = add nsw i32 %8824, 5
  store i32 %8691, ptr @test_count, align 4, !tbaa !5
  %8692 = call i32 @s2n_connection_release_buffers(ptr noundef nonnull %8826) #12
  %8693 = icmp eq i32 %8692, -1
  br i1 %8693, label %8801, label %8694

8694:                                             ; preds = %8690
  %8695 = load i32, ptr @test_count, align 4, !tbaa !5
  %8696 = add nsw i32 %8695, 1
  store i32 %8696, ptr @test_count, align 4, !tbaa !5
  %8697 = load ptr, ptr %35, align 8, !tbaa !9
  %8698 = getelementptr inbounds i8, ptr %8697, i64 4136
  %8699 = load i32, ptr %8698, align 8, !tbaa !80
  %8700 = icmp eq i32 %8699, 0
  br i1 %8700, label %.preheader1546.2, label %8830

.preheader1546.2:                                 ; preds = %8694
  %8701 = add nsw i32 %8695, 2
  store i32 %8701, ptr @test_count, align 4, !tbaa !5
  %8702 = getelementptr inbounds i8, ptr %8697, i64 4164
  %8703 = load i8, ptr %8702, align 4
  %8704 = and i8 %8703, 2
  %.not1305.2 = icmp eq i8 %8704, 0
  br i1 %.not1305.2, label %8705, label %8723

8705:                                             ; preds = %.preheader1546.2
  %8706 = add nsw i32 %8695, 3
  store i32 %8706, ptr @test_count, align 4, !tbaa !5
  %8707 = and i8 %8703, 1
  %.not1306.2 = icmp eq i8 %8707, 0
  br i1 %.not1306.2, label %8708, label %8748

8708:                                             ; preds = %8705
  %8709 = add nsw i32 %8695, 5
  store i32 %8709, ptr @test_count, align 4, !tbaa !5
  %8710 = call i32 @s2n_connection_release_buffers(ptr noundef nonnull %8697) #12
  %8711 = icmp eq i32 %8710, -1
  br i1 %8711, label %8801, label %8712

8712:                                             ; preds = %8708
  %8713 = load i32, ptr @test_count, align 4, !tbaa !5
  %8714 = add nsw i32 %8713, 1
  store i32 %8714, ptr @test_count, align 4, !tbaa !5
  %8715 = load ptr, ptr %35, align 8, !tbaa !9
  %8716 = getelementptr inbounds i8, ptr %8715, i64 4136
  %8717 = load i32, ptr %8716, align 8, !tbaa !80
  %8718 = icmp eq i32 %8717, 0
  br i1 %8718, label %.preheader1545.preheader, label %8830

.preheader1545.preheader:                         ; preds = %8712
  %8719 = add nsw i32 %8713, 2
  store i32 %8719, ptr @test_count, align 4, !tbaa !5
  %8720 = getelementptr inbounds i8, ptr %8715, i64 4128
  %8721 = call i32 @s2n_stuffer_growable_alloc(ptr noundef nonnull %8720, i32 noundef 10) #12
  %8722 = icmp eq i32 %8721, -1
  br i1 %8722, label %8916, label %8938

8723:                                             ; preds = %.preheader1546.2, %.preheader1546.1, %.preheader1546.preheader
  %8724 = load i32, ptr %1545, align 4, !tbaa !5
  %8725 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8726 = call i32 @s2n_print_stacktrace(ptr noundef %8725) #12
  %8727 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8728 = trunc nuw i8 %8727 to i1
  br i1 %8728, label %8729, label %8733

8729:                                             ; preds = %8723
  %8730 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8731 = call i32 @fileno(ptr noundef %8730) #12
  %8732 = call i32 @isatty(i32 noundef %8731) #12
  %.not1311 = icmp eq i32 %8732, 0
  br i1 %.not1311, label %8733, label %8734

8733:                                             ; preds = %8729, %8723
  br label %8734

8734:                                             ; preds = %8729, %8733
  %.str.12.sink4441 = phi ptr [ @.str.12, %8733 ], [ @.str.9, %8729 ]
  store i32 %8724, ptr %1545, align 4, !tbaa !5
  %8735 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8736 = load i32, ptr @test_count, align 4, !tbaa !5
  %8737 = load i32, ptr %1491, align 4, !tbaa !5
  %8738 = call ptr @s2n_strerror(i32 noundef %8737, ptr noundef nonnull @.str.11) #12
  %8739 = load i32, ptr %1491, align 4, !tbaa !5
  %8740 = call ptr @s2n_strerror_debug(i32 noundef %8739, ptr noundef nonnull @.str.11) #12
  %8741 = load i32, ptr %1545, align 4, !tbaa !5
  %8742 = call ptr @strerror(i32 noundef %8741) #12
  %8743 = load i32, ptr %1545, align 4, !tbaa !5
  %8744 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8735, ptr noundef nonnull %.str.12.sink4441, i32 noundef %8736, ptr noundef nonnull @.str.187, ptr noundef nonnull @.str.8, i32 noundef 793, ptr noundef %8738, ptr noundef %8740, ptr noundef %8742, i32 noundef %8743) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8745:                                             ; preds = %.preheader1546.preheader
  %8746 = add nsw i32 %8658, 3
  store i32 %8746, ptr @test_count, align 4, !tbaa !5
  %8747 = and i8 %8392, 1
  %.not1306 = icmp eq i8 %8747, 0
  br i1 %.not1306, label %8770, label %8748

8748:                                             ; preds = %8705, %8687, %8745
  %8749 = load i32, ptr %1545, align 4, !tbaa !5
  %8750 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8751 = call i32 @s2n_print_stacktrace(ptr noundef %8750) #12
  %8752 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8753 = trunc nuw i8 %8752 to i1
  br i1 %8753, label %8754, label %8758

8754:                                             ; preds = %8748
  %8755 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8756 = call i32 @fileno(ptr noundef %8755) #12
  %8757 = call i32 @isatty(i32 noundef %8756) #12
  %.not1310 = icmp eq i32 %8757, 0
  br i1 %.not1310, label %8758, label %8759

8758:                                             ; preds = %8754, %8748
  br label %8759

8759:                                             ; preds = %8754, %8758
  %.str.12.sink4450 = phi ptr [ @.str.12, %8758 ], [ @.str.9, %8754 ]
  store i32 %8749, ptr %1545, align 4, !tbaa !5
  %8760 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8761 = load i32, ptr @test_count, align 4, !tbaa !5
  %8762 = load i32, ptr %1491, align 4, !tbaa !5
  %8763 = call ptr @s2n_strerror(i32 noundef %8762, ptr noundef nonnull @.str.11) #12
  %8764 = load i32, ptr %1491, align 4, !tbaa !5
  %8765 = call ptr @s2n_strerror_debug(i32 noundef %8764, ptr noundef nonnull @.str.11) #12
  %8766 = load i32, ptr %1545, align 4, !tbaa !5
  %8767 = call ptr @strerror(i32 noundef %8766) #12
  %8768 = load i32, ptr %1545, align 4, !tbaa !5
  %8769 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8760, ptr noundef nonnull %.str.12.sink4450, i32 noundef %8761, ptr noundef nonnull @.str.188, ptr noundef nonnull @.str.8, i32 noundef 794, ptr noundef %8763, ptr noundef %8765, ptr noundef %8767, i32 noundef %8768) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8770:                                             ; preds = %8745
  %8771 = add nsw i32 %8658, 4
  store i32 %8771, ptr @test_count, align 4, !tbaa !5
  %8772 = getelementptr inbounds i8, ptr %8657, i64 4136
  %8773 = load i32, ptr %8772, align 8, !tbaa !80
  %8774 = icmp eq i32 %8773, 0
  br i1 %8774, label %8797, label %8775

8775:                                             ; preds = %8770
  %8776 = load i32, ptr %1545, align 4, !tbaa !5
  %8777 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8778 = call i32 @s2n_print_stacktrace(ptr noundef %8777) #12
  %8779 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8780 = trunc nuw i8 %8779 to i1
  br i1 %8780, label %8781, label %8785

8781:                                             ; preds = %8775
  %8782 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8783 = call i32 @fileno(ptr noundef %8782) #12
  %8784 = call i32 @isatty(i32 noundef %8783) #12
  %.not1307 = icmp eq i32 %8784, 0
  br i1 %.not1307, label %8785, label %8786

8785:                                             ; preds = %8781, %8775
  br label %8786

8786:                                             ; preds = %8781, %8785
  %.str.12.sink4459 = phi ptr [ @.str.12, %8785 ], [ @.str.9, %8781 ]
  store i32 %8776, ptr %1545, align 4, !tbaa !5
  %8787 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8788 = load i32, ptr @test_count, align 4, !tbaa !5
  %8789 = load i32, ptr %1491, align 4, !tbaa !5
  %8790 = call ptr @s2n_strerror(i32 noundef %8789, ptr noundef nonnull @.str.11) #12
  %8791 = load i32, ptr %1491, align 4, !tbaa !5
  %8792 = call ptr @s2n_strerror_debug(i32 noundef %8791, ptr noundef nonnull @.str.11) #12
  %8793 = load i32, ptr %1545, align 4, !tbaa !5
  %8794 = call ptr @strerror(i32 noundef %8793) #12
  %8795 = load i32, ptr %1545, align 4, !tbaa !5
  %8796 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8787, ptr noundef nonnull %.str.12.sink4459, i32 noundef %8788, ptr noundef nonnull @.str.189, ptr noundef nonnull @.str.8, i32 noundef 795, ptr noundef %8790, ptr noundef %8792, ptr noundef %8794, i32 noundef %8795) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8797:                                             ; preds = %8770
  %8798 = add nsw i32 %8658, 5
  store i32 %8798, ptr @test_count, align 4, !tbaa !5
  %8799 = call i32 @s2n_connection_release_buffers(ptr noundef nonnull %8657) #12
  %8800 = icmp eq i32 %8799, -1
  br i1 %8800, label %8801, label %8823

8801:                                             ; preds = %8708, %8690, %8797
  %8802 = load i32, ptr %1545, align 4, !tbaa !5
  %8803 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8804 = call i32 @s2n_print_stacktrace(ptr noundef %8803) #12
  %8805 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8806 = trunc nuw i8 %8805 to i1
  br i1 %8806, label %8807, label %8811

8807:                                             ; preds = %8801
  %8808 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8809 = call i32 @fileno(ptr noundef %8808) #12
  %8810 = call i32 @isatty(i32 noundef %8809) #12
  %.not1309 = icmp eq i32 %8810, 0
  br i1 %.not1309, label %8811, label %8812

8811:                                             ; preds = %8807, %8801
  br label %8812

8812:                                             ; preds = %8807, %8811
  %.str.12.sink4468 = phi ptr [ @.str.12, %8811 ], [ @.str.9, %8807 ]
  store i32 %8802, ptr %1545, align 4, !tbaa !5
  %8813 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8814 = load i32, ptr @test_count, align 4, !tbaa !5
  %8815 = load i32, ptr %1491, align 4, !tbaa !5
  %8816 = call ptr @s2n_strerror(i32 noundef %8815, ptr noundef nonnull @.str.11) #12
  %8817 = load i32, ptr %1491, align 4, !tbaa !5
  %8818 = call ptr @s2n_strerror_debug(i32 noundef %8817, ptr noundef nonnull @.str.11) #12
  %8819 = load i32, ptr %1545, align 4, !tbaa !5
  %8820 = call ptr @strerror(i32 noundef %8819) #12
  %8821 = load i32, ptr %1545, align 4, !tbaa !5
  %8822 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8813, ptr noundef nonnull %.str.12.sink4468, i32 noundef %8814, ptr noundef nonnull @.str.197, ptr noundef nonnull @.str.8, i32 noundef 797, ptr noundef %8816, ptr noundef %8818, ptr noundef %8820, i32 noundef %8821) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8823:                                             ; preds = %8797
  %8824 = load i32, ptr @test_count, align 4, !tbaa !5
  %8825 = add nsw i32 %8824, 1
  store i32 %8825, ptr @test_count, align 4, !tbaa !5
  %8826 = load ptr, ptr %35, align 8, !tbaa !9
  %8827 = getelementptr inbounds i8, ptr %8826, i64 4136
  %8828 = load i32, ptr %8827, align 8, !tbaa !80
  %8829 = icmp eq i32 %8828, 0
  br i1 %8829, label %.preheader1546.1, label %8830

8830:                                             ; preds = %8712, %8694, %8823
  %8831 = load i32, ptr %1545, align 4, !tbaa !5
  %8832 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8833 = call i32 @s2n_print_stacktrace(ptr noundef %8832) #12
  %8834 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8835 = trunc nuw i8 %8834 to i1
  br i1 %8835, label %8836, label %8840

8836:                                             ; preds = %8830
  %8837 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8838 = call i32 @fileno(ptr noundef %8837) #12
  %8839 = call i32 @isatty(i32 noundef %8838) #12
  %.not1308 = icmp eq i32 %8839, 0
  br i1 %.not1308, label %8840, label %8841

8840:                                             ; preds = %8836, %8830
  br label %8841

8841:                                             ; preds = %8836, %8840
  %.str.12.sink4477 = phi ptr [ @.str.12, %8840 ], [ @.str.9, %8836 ]
  store i32 %8831, ptr %1545, align 4, !tbaa !5
  %8842 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8843 = load i32, ptr @test_count, align 4, !tbaa !5
  %8844 = load i32, ptr %1491, align 4, !tbaa !5
  %8845 = call ptr @s2n_strerror(i32 noundef %8844, ptr noundef nonnull @.str.11) #12
  %8846 = load i32, ptr %1491, align 4, !tbaa !5
  %8847 = call ptr @s2n_strerror_debug(i32 noundef %8846, ptr noundef nonnull @.str.11) #12
  %8848 = load i32, ptr %1545, align 4, !tbaa !5
  %8849 = call ptr @strerror(i32 noundef %8848) #12
  %8850 = load i32, ptr %1545, align 4, !tbaa !5
  %8851 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8842, ptr noundef nonnull %.str.12.sink4477, i32 noundef %8843, ptr noundef nonnull @.str.189, ptr noundef nonnull @.str.8, i32 noundef 798, ptr noundef %8845, ptr noundef %8847, ptr noundef %8849, i32 noundef %8850) #14
  call void @exit(i32 noundef 1) #15
  unreachable

.preheader1545.1:                                 ; preds = %9045
  %8852 = add nsw i32 %9046, 2
  store i32 %8852, ptr @test_count, align 4, !tbaa !5
  %8853 = getelementptr inbounds i8, ptr %9048, i64 4128
  %8854 = call i32 @s2n_stuffer_growable_alloc(ptr noundef nonnull %8853, i32 noundef 10) #12
  %8855 = icmp eq i32 %8854, -1
  br i1 %8855, label %8916, label %8856

8856:                                             ; preds = %.preheader1545.1
  %8857 = load i32, ptr @test_count, align 4, !tbaa !5
  %8858 = add nsw i32 %8857, 1
  store i32 %8858, ptr @test_count, align 4, !tbaa !5
  %8859 = load ptr, ptr %35, align 8, !tbaa !9
  %8860 = getelementptr inbounds i8, ptr %8859, i64 4164
  %8861 = load i8, ptr %8860, align 4
  %8862 = and i8 %8861, 2
  %.not1297.1 = icmp eq i8 %8862, 0
  br i1 %.not1297.1, label %8945, label %8863

8863:                                             ; preds = %8856
  %8864 = add nsw i32 %8857, 2
  store i32 %8864, ptr @test_count, align 4, !tbaa !5
  %8865 = and i8 %8861, 1
  %.not1299.1 = icmp eq i8 %8865, 0
  br i1 %.not1299.1, label %8970, label %8866

8866:                                             ; preds = %8863
  %8867 = add nsw i32 %8857, 3
  store i32 %8867, ptr @test_count, align 4, !tbaa !5
  %8868 = getelementptr inbounds i8, ptr %8859, i64 4136
  %8869 = load i32, ptr %8868, align 8, !tbaa !80
  %8870 = icmp eq i32 %8869, 10
  br i1 %8870, label %8871, label %8997

8871:                                             ; preds = %8866
  %8872 = add nsw i32 %8857, 4
  store i32 %8872, ptr @test_count, align 4, !tbaa !5
  %8873 = call i32 @s2n_connection_release_buffers(ptr noundef nonnull %8859) #12
  %8874 = icmp eq i32 %8873, -1
  br i1 %8874, label %9023, label %8875

8875:                                             ; preds = %8871
  %8876 = load i32, ptr @test_count, align 4, !tbaa !5
  %8877 = add nsw i32 %8876, 1
  store i32 %8877, ptr @test_count, align 4, !tbaa !5
  %8878 = load ptr, ptr %35, align 8, !tbaa !9
  %8879 = getelementptr inbounds i8, ptr %8878, i64 4136
  %8880 = load i32, ptr %8879, align 8, !tbaa !80
  %8881 = icmp eq i32 %8880, 0
  br i1 %8881, label %.preheader1545.2, label %9052

.preheader1545.2:                                 ; preds = %8875
  %8882 = add nsw i32 %8876, 2
  store i32 %8882, ptr @test_count, align 4, !tbaa !5
  %8883 = getelementptr inbounds i8, ptr %8878, i64 4128
  %8884 = call i32 @s2n_stuffer_growable_alloc(ptr noundef nonnull %8883, i32 noundef 10) #12
  %8885 = icmp eq i32 %8884, -1
  br i1 %8885, label %8916, label %8886

8886:                                             ; preds = %.preheader1545.2
  %8887 = load i32, ptr @test_count, align 4, !tbaa !5
  %8888 = add nsw i32 %8887, 1
  store i32 %8888, ptr @test_count, align 4, !tbaa !5
  %8889 = load ptr, ptr %35, align 8, !tbaa !9
  %8890 = getelementptr inbounds i8, ptr %8889, i64 4164
  %8891 = load i8, ptr %8890, align 4
  %8892 = and i8 %8891, 2
  %.not1297.2 = icmp eq i8 %8892, 0
  br i1 %.not1297.2, label %8945, label %8893

8893:                                             ; preds = %8886
  %8894 = add nsw i32 %8887, 2
  store i32 %8894, ptr @test_count, align 4, !tbaa !5
  %8895 = and i8 %8891, 1
  %.not1299.2 = icmp eq i8 %8895, 0
  br i1 %.not1299.2, label %8970, label %8896

8896:                                             ; preds = %8893
  %8897 = add nsw i32 %8887, 3
  store i32 %8897, ptr @test_count, align 4, !tbaa !5
  %8898 = getelementptr inbounds i8, ptr %8889, i64 4136
  %8899 = load i32, ptr %8898, align 8, !tbaa !80
  %8900 = icmp eq i32 %8899, 10
  br i1 %8900, label %8901, label %8997

8901:                                             ; preds = %8896
  %8902 = add nsw i32 %8887, 4
  store i32 %8902, ptr @test_count, align 4, !tbaa !5
  %8903 = call i32 @s2n_connection_release_buffers(ptr noundef nonnull %8889) #12
  %8904 = icmp eq i32 %8903, -1
  br i1 %8904, label %9023, label %8905

8905:                                             ; preds = %8901
  %8906 = load i32, ptr @test_count, align 4, !tbaa !5
  %8907 = add nsw i32 %8906, 1
  store i32 %8907, ptr @test_count, align 4, !tbaa !5
  %8908 = load ptr, ptr %35, align 8, !tbaa !9
  %8909 = getelementptr inbounds i8, ptr %8908, i64 4136
  %8910 = load i32, ptr %8909, align 8, !tbaa !80
  %8911 = icmp eq i32 %8910, 0
  br i1 %8911, label %.preheader.preheader, label %9052

.preheader.preheader:                             ; preds = %8905
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %36) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %36, i8 0, i64 24, i1 false)
  %8912 = add nsw i32 %8906, 2
  store i32 %8912, ptr @test_count, align 4, !tbaa !5
  %8913 = getelementptr inbounds i8, ptr %8908, i64 4168
  %8914 = call i32 @s2n_blob_init(ptr noundef nonnull %36, ptr noundef nonnull %8913, i32 noundef 4) #12
  %8915 = icmp eq i32 %8914, -1
  br i1 %8915, label %9074, label %9096

8916:                                             ; preds = %.preheader1545.2, %.preheader1545.1, %.preheader1545.preheader
  %8917 = load i32, ptr %1545, align 4, !tbaa !5
  %8918 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8919 = call i32 @s2n_print_stacktrace(ptr noundef %8918) #12
  %8920 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8921 = trunc nuw i8 %8920 to i1
  br i1 %8921, label %8922, label %8926

8922:                                             ; preds = %8916
  %8923 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8924 = call i32 @fileno(ptr noundef %8923) #12
  %8925 = call i32 @isatty(i32 noundef %8924) #12
  %.not1304 = icmp eq i32 %8925, 0
  br i1 %.not1304, label %8926, label %8927

8926:                                             ; preds = %8922, %8916
  br label %8927

8927:                                             ; preds = %8922, %8926
  %.str.12.sink4486 = phi ptr [ @.str.12, %8926 ], [ @.str.9, %8922 ]
  store i32 %8917, ptr %1545, align 4, !tbaa !5
  %8928 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8929 = load i32, ptr @test_count, align 4, !tbaa !5
  %8930 = load i32, ptr %1491, align 4, !tbaa !5
  %8931 = call ptr @s2n_strerror(i32 noundef %8930, ptr noundef nonnull @.str.11) #12
  %8932 = load i32, ptr %1491, align 4, !tbaa !5
  %8933 = call ptr @s2n_strerror_debug(i32 noundef %8932, ptr noundef nonnull @.str.11) #12
  %8934 = load i32, ptr %1545, align 4, !tbaa !5
  %8935 = call ptr @strerror(i32 noundef %8934) #12
  %8936 = load i32, ptr %1545, align 4, !tbaa !5
  %8937 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8928, ptr noundef nonnull %.str.12.sink4486, i32 noundef %8929, ptr noundef nonnull @.str.190, ptr noundef nonnull @.str.8, i32 noundef 803, ptr noundef %8931, ptr noundef %8933, ptr noundef %8935, i32 noundef %8936) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8938:                                             ; preds = %.preheader1545.preheader
  %8939 = load i32, ptr @test_count, align 4, !tbaa !5
  %8940 = add nsw i32 %8939, 1
  store i32 %8940, ptr @test_count, align 4, !tbaa !5
  %8941 = load ptr, ptr %35, align 8, !tbaa !9
  %8942 = getelementptr inbounds i8, ptr %8941, i64 4164
  %8943 = load i8, ptr %8942, align 4
  %8944 = and i8 %8943, 2
  %.not1297 = icmp eq i8 %8944, 0
  br i1 %.not1297, label %8945, label %8967

8945:                                             ; preds = %8886, %8856, %8938
  %8946 = load i32, ptr %1545, align 4, !tbaa !5
  %8947 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8948 = call i32 @s2n_print_stacktrace(ptr noundef %8947) #12
  %8949 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8950 = trunc nuw i8 %8949 to i1
  br i1 %8950, label %8951, label %8955

8951:                                             ; preds = %8945
  %8952 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8953 = call i32 @fileno(ptr noundef %8952) #12
  %8954 = call i32 @isatty(i32 noundef %8953) #12
  %.not1298 = icmp eq i32 %8954, 0
  br i1 %.not1298, label %8955, label %8956

8955:                                             ; preds = %8951, %8945
  br label %8956

8956:                                             ; preds = %8951, %8955
  %.str.12.sink4495 = phi ptr [ @.str.12, %8955 ], [ @.str.9, %8951 ]
  store i32 %8946, ptr %1545, align 4, !tbaa !5
  %8957 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8958 = load i32, ptr @test_count, align 4, !tbaa !5
  %8959 = load i32, ptr %1491, align 4, !tbaa !5
  %8960 = call ptr @s2n_strerror(i32 noundef %8959, ptr noundef nonnull @.str.11) #12
  %8961 = load i32, ptr %1491, align 4, !tbaa !5
  %8962 = call ptr @s2n_strerror_debug(i32 noundef %8961, ptr noundef nonnull @.str.11) #12
  %8963 = load i32, ptr %1545, align 4, !tbaa !5
  %8964 = call ptr @strerror(i32 noundef %8963) #12
  %8965 = load i32, ptr %1545, align 4, !tbaa !5
  %8966 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8957, ptr noundef nonnull %.str.12.sink4495, i32 noundef %8958, ptr noundef nonnull @.str.191, ptr noundef nonnull @.str.8, i32 noundef 804, ptr noundef %8960, ptr noundef %8962, ptr noundef %8964, i32 noundef %8965) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8967:                                             ; preds = %8938
  %8968 = add nsw i32 %8939, 2
  store i32 %8968, ptr @test_count, align 4, !tbaa !5
  %8969 = and i8 %8943, 1
  %.not1299 = icmp eq i8 %8969, 0
  br i1 %.not1299, label %8970, label %8992

8970:                                             ; preds = %8893, %8863, %8967
  %8971 = load i32, ptr %1545, align 4, !tbaa !5
  %8972 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8973 = call i32 @s2n_print_stacktrace(ptr noundef %8972) #12
  %8974 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8975 = trunc nuw i8 %8974 to i1
  br i1 %8975, label %8976, label %8980

8976:                                             ; preds = %8970
  %8977 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8978 = call i32 @fileno(ptr noundef %8977) #12
  %8979 = call i32 @isatty(i32 noundef %8978) #12
  %.not1300 = icmp eq i32 %8979, 0
  br i1 %.not1300, label %8980, label %8981

8980:                                             ; preds = %8976, %8970
  br label %8981

8981:                                             ; preds = %8976, %8980
  %.str.12.sink4504 = phi ptr [ @.str.12, %8980 ], [ @.str.9, %8976 ]
  store i32 %8971, ptr %1545, align 4, !tbaa !5
  %8982 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8983 = load i32, ptr @test_count, align 4, !tbaa !5
  %8984 = load i32, ptr %1491, align 4, !tbaa !5
  %8985 = call ptr @s2n_strerror(i32 noundef %8984, ptr noundef nonnull @.str.11) #12
  %8986 = load i32, ptr %1491, align 4, !tbaa !5
  %8987 = call ptr @s2n_strerror_debug(i32 noundef %8986, ptr noundef nonnull @.str.11) #12
  %8988 = load i32, ptr %1545, align 4, !tbaa !5
  %8989 = call ptr @strerror(i32 noundef %8988) #12
  %8990 = load i32, ptr %1545, align 4, !tbaa !5
  %8991 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8982, ptr noundef nonnull %.str.12.sink4504, i32 noundef %8983, ptr noundef nonnull @.str.192, ptr noundef nonnull @.str.8, i32 noundef 805, ptr noundef %8985, ptr noundef %8987, ptr noundef %8989, i32 noundef %8990) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8992:                                             ; preds = %8967
  %8993 = add nsw i32 %8939, 3
  store i32 %8993, ptr @test_count, align 4, !tbaa !5
  %8994 = getelementptr inbounds i8, ptr %8941, i64 4136
  %8995 = load i32, ptr %8994, align 8, !tbaa !80
  %8996 = icmp eq i32 %8995, 10
  br i1 %8996, label %9019, label %8997

8997:                                             ; preds = %8896, %8866, %8992
  %8998 = load i32, ptr %1545, 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
  %.not1301 = icmp eq i32 %9006, 0
  br i1 %.not1301, label %9007, label %9008

9007:                                             ; preds = %9003, %8997
  br label %9008

9008:                                             ; preds = %9003, %9007
  %.str.12.sink4513 = phi ptr [ @.str.12, %9007 ], [ @.str.9, %9003 ]
  store i32 %8998, ptr %1545, 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 %1491, align 4, !tbaa !5
  %9012 = call ptr @s2n_strerror(i32 noundef %9011, ptr noundef nonnull @.str.11) #12
  %9013 = load i32, ptr %1491, align 4, !tbaa !5
  %9014 = call ptr @s2n_strerror_debug(i32 noundef %9013, ptr noundef nonnull @.str.11) #12
  %9015 = load i32, ptr %1545, align 4, !tbaa !5
  %9016 = call ptr @strerror(i32 noundef %9015) #12
  %9017 = load i32, ptr %1545, align 4, !tbaa !5
  %9018 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9009, ptr noundef nonnull %.str.12.sink4513, i32 noundef %9010, ptr noundef nonnull @.str.193, ptr noundef nonnull @.str.8, i32 noundef 806, ptr noundef %9012, ptr noundef %9014, ptr noundef %9016, i32 noundef %9017) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9019:                                             ; preds = %8992
  %9020 = add nsw i32 %8939, 4
  store i32 %9020, ptr @test_count, align 4, !tbaa !5
  %9021 = call i32 @s2n_connection_release_buffers(ptr noundef nonnull %8941) #12
  %9022 = icmp eq i32 %9021, -1
  br i1 %9022, label %9023, label %9045

9023:                                             ; preds = %8901, %8871, %9019
  %9024 = load i32, ptr %1545, align 4, !tbaa !5
  %9025 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9026 = call i32 @s2n_print_stacktrace(ptr noundef %9025) #12
  %9027 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9028 = trunc nuw i8 %9027 to i1
  br i1 %9028, label %9029, label %9033

9029:                                             ; preds = %9023
  %9030 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9031 = call i32 @fileno(ptr noundef %9030) #12
  %9032 = call i32 @isatty(i32 noundef %9031) #12
  %.not1303 = icmp eq i32 %9032, 0
  br i1 %.not1303, label %9033, label %9034

9033:                                             ; preds = %9029, %9023
  br label %9034

9034:                                             ; preds = %9029, %9033
  %.str.12.sink4522 = phi ptr [ @.str.12, %9033 ], [ @.str.9, %9029 ]
  store i32 %9024, ptr %1545, align 4, !tbaa !5
  %9035 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9036 = load i32, ptr @test_count, align 4, !tbaa !5
  %9037 = load i32, ptr %1491, align 4, !tbaa !5
  %9038 = call ptr @s2n_strerror(i32 noundef %9037, ptr noundef nonnull @.str.11) #12
  %9039 = load i32, ptr %1491, align 4, !tbaa !5
  %9040 = call ptr @s2n_strerror_debug(i32 noundef %9039, ptr noundef nonnull @.str.11) #12
  %9041 = load i32, ptr %1545, align 4, !tbaa !5
  %9042 = call ptr @strerror(i32 noundef %9041) #12
  %9043 = load i32, ptr %1545, align 4, !tbaa !5
  %9044 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9035, ptr noundef nonnull %.str.12.sink4522, i32 noundef %9036, ptr noundef nonnull @.str.197, ptr noundef nonnull @.str.8, i32 noundef 808, ptr noundef %9038, ptr noundef %9040, ptr noundef %9042, i32 noundef %9043) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9045:                                             ; preds = %9019
  %9046 = load i32, ptr @test_count, align 4, !tbaa !5
  %9047 = add nsw i32 %9046, 1
  store i32 %9047, ptr @test_count, align 4, !tbaa !5
  %9048 = load ptr, ptr %35, align 8, !tbaa !9
  %9049 = getelementptr inbounds i8, ptr %9048, i64 4136
  %9050 = load i32, ptr %9049, align 8, !tbaa !80
  %9051 = icmp eq i32 %9050, 0
  br i1 %9051, label %.preheader1545.1, label %9052

9052:                                             ; preds = %8905, %8875, %9045
  %9053 = load i32, ptr %1545, align 4, !tbaa !5
  %9054 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9055 = call i32 @s2n_print_stacktrace(ptr noundef %9054) #12
  %9056 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9057 = trunc nuw i8 %9056 to i1
  br i1 %9057, label %9058, label %9062

9058:                                             ; preds = %9052
  %9059 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9060 = call i32 @fileno(ptr noundef %9059) #12
  %9061 = call i32 @isatty(i32 noundef %9060) #12
  %.not1302 = icmp eq i32 %9061, 0
  br i1 %.not1302, label %9062, label %9063

9062:                                             ; preds = %9058, %9052
  br label %9063

9063:                                             ; preds = %9058, %9062
  %.str.12.sink4531 = phi ptr [ @.str.12, %9062 ], [ @.str.9, %9058 ]
  store i32 %9053, ptr %1545, align 4, !tbaa !5
  %9064 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9065 = load i32, ptr @test_count, align 4, !tbaa !5
  %9066 = load i32, ptr %1491, align 4, !tbaa !5
  %9067 = call ptr @s2n_strerror(i32 noundef %9066, ptr noundef nonnull @.str.11) #12
  %9068 = load i32, ptr %1491, align 4, !tbaa !5
  %9069 = call ptr @s2n_strerror_debug(i32 noundef %9068, ptr noundef nonnull @.str.11) #12
  %9070 = load i32, ptr %1545, align 4, !tbaa !5
  %9071 = call ptr @strerror(i32 noundef %9070) #12
  %9072 = load i32, ptr %1545, align 4, !tbaa !5
  %9073 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9064, ptr noundef nonnull %.str.12.sink4531, i32 noundef %9065, ptr noundef nonnull @.str.189, ptr noundef nonnull @.str.8, i32 noundef 809, ptr noundef %9067, ptr noundef %9069, ptr noundef %9071, i32 noundef %9072) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9074:                                             ; preds = %.preheader.2, %.preheader.1, %.preheader.preheader
  %9075 = load i32, ptr %1545, align 4, !tbaa !5
  %9076 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9077 = call i32 @s2n_print_stacktrace(ptr noundef %9076) #12
  %9078 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9079 = trunc nuw i8 %9078 to i1
  br i1 %9079, label %9080, label %9084

9080:                                             ; preds = %9074
  %9081 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9082 = call i32 @fileno(ptr noundef %9081) #12
  %9083 = call i32 @isatty(i32 noundef %9082) #12
  %.not1296 = icmp eq i32 %9083, 0
  br i1 %.not1296, label %9084, label %9085

9084:                                             ; preds = %9080, %9074
  br label %9085

9085:                                             ; preds = %9080, %9084
  %.str.12.sink4540 = phi ptr [ @.str.12, %9084 ], [ @.str.9, %9080 ]
  store i32 %9075, ptr %1545, align 4, !tbaa !5
  %9086 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9087 = load i32, ptr @test_count, align 4, !tbaa !5
  %9088 = load i32, ptr %1491, align 4, !tbaa !5
  %9089 = call ptr @s2n_strerror(i32 noundef %9088, ptr noundef nonnull @.str.11) #12
  %9090 = load i32, ptr %1491, align 4, !tbaa !5
  %9091 = call ptr @s2n_strerror_debug(i32 noundef %9090, ptr noundef nonnull @.str.11) #12
  %9092 = load i32, ptr %1545, align 4, !tbaa !5
  %9093 = call ptr @strerror(i32 noundef %9092) #12
  %9094 = load i32, ptr %1545, align 4, !tbaa !5
  %9095 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9086, ptr noundef nonnull %.str.12.sink4540, i32 noundef %9087, ptr noundef nonnull @.str.194, ptr noundef nonnull @.str.8, i32 noundef 816, ptr noundef %9089, ptr noundef %9091, ptr noundef %9093, i32 noundef %9094) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9096:                                             ; preds = %.preheader.preheader
  %9097 = load i32, ptr @test_count, align 4, !tbaa !5
  %9098 = add nsw i32 %9097, 1
  store i32 %9098, ptr @test_count, align 4, !tbaa !5
  %9099 = load ptr, ptr %35, align 8, !tbaa !9
  %9100 = getelementptr inbounds i8, ptr %9099, i64 4128
  %9101 = call i32 @s2n_stuffer_init(ptr noundef nonnull %9100, ptr noundef nonnull %36) #12
  %9102 = icmp eq i32 %9101, -1
  br i1 %9102, label %9103, label %9125

9103:                                             ; preds = %9302, %9265, %9096
  %9104 = load i32, ptr %1545, align 4, !tbaa !5
  %9105 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9106 = call i32 @s2n_print_stacktrace(ptr noundef %9105) #12
  %9107 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9108 = trunc nuw i8 %9107 to i1
  br i1 %9108, label %9109, label %9113

9109:                                             ; preds = %9103
  %9110 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9111 = call i32 @fileno(ptr noundef %9110) #12
  %9112 = call i32 @isatty(i32 noundef %9111) #12
  %.not1295 = icmp eq i32 %9112, 0
  br i1 %.not1295, label %9113, label %9114

9113:                                             ; preds = %9109, %9103
  br label %9114

9114:                                             ; preds = %9109, %9113
  %.str.12.sink4549 = phi ptr [ @.str.12, %9113 ], [ @.str.9, %9109 ]
  store i32 %9104, ptr %1545, align 4, !tbaa !5
  %9115 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9116 = load i32, ptr @test_count, align 4, !tbaa !5
  %9117 = load i32, ptr %1491, align 4, !tbaa !5
  %9118 = call ptr @s2n_strerror(i32 noundef %9117, ptr noundef nonnull @.str.11) #12
  %9119 = load i32, ptr %1491, align 4, !tbaa !5
  %9120 = call ptr @s2n_strerror_debug(i32 noundef %9119, ptr noundef nonnull @.str.11) #12
  %9121 = load i32, ptr %1545, align 4, !tbaa !5
  %9122 = call ptr @strerror(i32 noundef %9121) #12
  %9123 = load i32, ptr %1545, align 4, !tbaa !5
  %9124 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9115, ptr noundef nonnull %.str.12.sink4549, i32 noundef %9116, ptr noundef nonnull @.str.195, ptr noundef nonnull @.str.8, i32 noundef 817, ptr noundef %9118, ptr noundef %9120, ptr noundef %9122, i32 noundef %9123) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9125:                                             ; preds = %9096
  %9126 = load i32, ptr @test_count, align 4, !tbaa !5
  %9127 = add nsw i32 %9126, 1
  store i32 %9127, ptr @test_count, align 4, !tbaa !5
  %9128 = load ptr, ptr %35, align 8, !tbaa !9
  %9129 = getelementptr inbounds i8, ptr %9128, i64 4164
  %9130 = load i8, ptr %9129, align 4
  %9131 = and i8 %9130, 2
  %.not1288 = icmp eq i8 %9131, 0
  br i1 %.not1288, label %9154, label %9132

9132:                                             ; preds = %9309, %9272, %9125
  %9133 = load i32, ptr %1545, align 4, !tbaa !5
  %9134 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9135 = call i32 @s2n_print_stacktrace(ptr noundef %9134) #12
  %9136 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9137 = trunc nuw i8 %9136 to i1
  br i1 %9137, label %9138, label %9142

9138:                                             ; preds = %9132
  %9139 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9140 = call i32 @fileno(ptr noundef %9139) #12
  %9141 = call i32 @isatty(i32 noundef %9140) #12
  %.not1294 = icmp eq i32 %9141, 0
  br i1 %.not1294, label %9142, label %9143

9142:                                             ; preds = %9138, %9132
  br label %9143

9143:                                             ; preds = %9138, %9142
  %.str.12.sink4558 = phi ptr [ @.str.12, %9142 ], [ @.str.9, %9138 ]
  store i32 %9133, ptr %1545, align 4, !tbaa !5
  %9144 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9145 = load i32, ptr @test_count, align 4, !tbaa !5
  %9146 = load i32, ptr %1491, align 4, !tbaa !5
  %9147 = call ptr @s2n_strerror(i32 noundef %9146, ptr noundef nonnull @.str.11) #12
  %9148 = load i32, ptr %1491, align 4, !tbaa !5
  %9149 = call ptr @s2n_strerror_debug(i32 noundef %9148, ptr noundef nonnull @.str.11) #12
  %9150 = load i32, ptr %1545, align 4, !tbaa !5
  %9151 = call ptr @strerror(i32 noundef %9150) #12
  %9152 = load i32, ptr %1545, align 4, !tbaa !5
  %9153 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9144, ptr noundef nonnull %.str.12.sink4558, i32 noundef %9145, ptr noundef nonnull @.str.187, ptr noundef nonnull @.str.8, i32 noundef 818, ptr noundef %9147, ptr noundef %9149, ptr noundef %9151, i32 noundef %9152) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9154:                                             ; preds = %9125
  %9155 = add nsw i32 %9126, 2
  store i32 %9155, ptr @test_count, align 4, !tbaa !5
  %9156 = and i8 %9130, 1
  %.not1289 = icmp eq i8 %9156, 0
  br i1 %.not1289, label %9179, label %9157

9157:                                             ; preds = %9316, %9279, %9154
  %9158 = load i32, ptr %1545, align 4, !tbaa !5
  %9159 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9160 = call i32 @s2n_print_stacktrace(ptr noundef %9159) #12
  %9161 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9162 = trunc nuw i8 %9161 to i1
  br i1 %9162, label %9163, label %9167

9163:                                             ; preds = %9157
  %9164 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9165 = call i32 @fileno(ptr noundef %9164) #12
  %9166 = call i32 @isatty(i32 noundef %9165) #12
  %.not1293 = icmp eq i32 %9166, 0
  br i1 %.not1293, label %9167, label %9168

9167:                                             ; preds = %9163, %9157
  br label %9168

9168:                                             ; preds = %9163, %9167
  %.str.12.sink4567 = phi ptr [ @.str.12, %9167 ], [ @.str.9, %9163 ]
  store i32 %9158, ptr %1545, align 4, !tbaa !5
  %9169 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9170 = load i32, ptr @test_count, align 4, !tbaa !5
  %9171 = load i32, ptr %1491, align 4, !tbaa !5
  %9172 = call ptr @s2n_strerror(i32 noundef %9171, ptr noundef nonnull @.str.11) #12
  %9173 = load i32, ptr %1491, align 4, !tbaa !5
  %9174 = call ptr @s2n_strerror_debug(i32 noundef %9173, ptr noundef nonnull @.str.11) #12
  %9175 = load i32, ptr %1545, align 4, !tbaa !5
  %9176 = call ptr @strerror(i32 noundef %9175) #12
  %9177 = load i32, ptr %1545, align 4, !tbaa !5
  %9178 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9169, ptr noundef nonnull %.str.12.sink4567, i32 noundef %9170, ptr noundef nonnull @.str.188, ptr noundef nonnull @.str.8, i32 noundef 819, ptr noundef %9172, ptr noundef %9174, ptr noundef %9176, i32 noundef %9177) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9179:                                             ; preds = %9154
  %9180 = add nsw i32 %9126, 3
  store i32 %9180, ptr @test_count, align 4, !tbaa !5
  %9181 = getelementptr inbounds i8, ptr %9128, i64 4136
  %9182 = load i32, ptr %9181, align 8, !tbaa !80
  %9183 = icmp eq i32 %9182, 0
  br i1 %9183, label %9184, label %9206

9184:                                             ; preds = %9319, %9282, %9179
  %9185 = load i32, ptr %1545, align 4, !tbaa !5
  %9186 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9187 = call i32 @s2n_print_stacktrace(ptr noundef %9186) #12
  %9188 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9189 = trunc nuw i8 %9188 to i1
  br i1 %9189, label %9190, label %9194

9190:                                             ; preds = %9184
  %9191 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9192 = call i32 @fileno(ptr noundef %9191) #12
  %9193 = call i32 @isatty(i32 noundef %9192) #12
  %.not1292 = icmp eq i32 %9193, 0
  br i1 %.not1292, label %9194, label %9195

9194:                                             ; preds = %9190, %9184
  br label %9195

9195:                                             ; preds = %9190, %9194
  %.str.12.sink4576 = phi ptr [ @.str.12, %9194 ], [ @.str.9, %9190 ]
  store i32 %9185, ptr %1545, align 4, !tbaa !5
  %9196 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9197 = load i32, ptr @test_count, align 4, !tbaa !5
  %9198 = load i32, ptr %1491, align 4, !tbaa !5
  %9199 = call ptr @s2n_strerror(i32 noundef %9198, ptr noundef nonnull @.str.11) #12
  %9200 = load i32, ptr %1491, align 4, !tbaa !5
  %9201 = call ptr @s2n_strerror_debug(i32 noundef %9200, ptr noundef nonnull @.str.11) #12
  %9202 = load i32, ptr %1545, align 4, !tbaa !5
  %9203 = call ptr @strerror(i32 noundef %9202) #12
  %9204 = load i32, ptr %1545, align 4, !tbaa !5
  %9205 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9196, ptr noundef nonnull %.str.12.sink4576, i32 noundef %9197, ptr noundef nonnull @.str.196, ptr noundef nonnull @.str.8, i32 noundef 820, ptr noundef %9199, ptr noundef %9201, ptr noundef %9203, i32 noundef %9204) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9206:                                             ; preds = %9179
  %9207 = add nsw i32 %9126, 4
  store i32 %9207, ptr @test_count, align 4, !tbaa !5
  %9208 = call i32 @s2n_connection_release_buffers(ptr noundef nonnull %9128) #12
  %9209 = icmp eq i32 %9208, -1
  br i1 %9209, label %9210, label %9232

9210:                                             ; preds = %9324, %9287, %9206
  %9211 = load i32, ptr %1545, align 4, !tbaa !5
  %9212 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9213 = call i32 @s2n_print_stacktrace(ptr noundef %9212) #12
  %9214 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9215 = trunc nuw i8 %9214 to i1
  br i1 %9215, label %9216, label %9220

9216:                                             ; preds = %9210
  %9217 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9218 = call i32 @fileno(ptr noundef %9217) #12
  %9219 = call i32 @isatty(i32 noundef %9218) #12
  %.not1291 = icmp eq i32 %9219, 0
  br i1 %.not1291, label %9220, label %9221

9220:                                             ; preds = %9216, %9210
  br label %9221

9221:                                             ; preds = %9216, %9220
  %.str.12.sink4585 = phi ptr [ @.str.12, %9220 ], [ @.str.9, %9216 ]
  store i32 %9211, ptr %1545, align 4, !tbaa !5
  %9222 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9223 = load i32, ptr @test_count, align 4, !tbaa !5
  %9224 = load i32, ptr %1491, align 4, !tbaa !5
  %9225 = call ptr @s2n_strerror(i32 noundef %9224, ptr noundef nonnull @.str.11) #12
  %9226 = load i32, ptr %1491, align 4, !tbaa !5
  %9227 = call ptr @s2n_strerror_debug(i32 noundef %9226, ptr noundef nonnull @.str.11) #12
  %9228 = load i32, ptr %1545, align 4, !tbaa !5
  %9229 = call ptr @strerror(i32 noundef %9228) #12
  %9230 = load i32, ptr %1545, align 4, !tbaa !5
  %9231 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9222, ptr noundef nonnull %.str.12.sink4585, i32 noundef %9223, ptr noundef nonnull @.str.197, ptr noundef nonnull @.str.8, i32 noundef 822, ptr noundef %9225, ptr noundef %9227, ptr noundef %9229, i32 noundef %9230) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9232:                                             ; preds = %9206
  %9233 = load i32, ptr @test_count, align 4, !tbaa !5
  %9234 = add nsw i32 %9233, 1
  store i32 %9234, ptr @test_count, align 4, !tbaa !5
  %9235 = load ptr, ptr %35, align 8, !tbaa !9
  %9236 = getelementptr inbounds i8, ptr %9235, i64 4136
  %9237 = load i32, ptr %9236, align 8, !tbaa !80
  %9238 = icmp eq i32 %9237, 0
  br i1 %9238, label %.preheader.1, label %9239

9239:                                             ; preds = %9328, %9291, %9232
  %9240 = load i32, ptr %1545, align 4, !tbaa !5
  %9241 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9242 = call i32 @s2n_print_stacktrace(ptr noundef %9241) #12
  %9243 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9244 = trunc nuw i8 %9243 to i1
  br i1 %9244, label %9245, label %9249

9245:                                             ; preds = %9239
  %9246 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9247 = call i32 @fileno(ptr noundef %9246) #12
  %9248 = call i32 @isatty(i32 noundef %9247) #12
  %.not1290 = icmp eq i32 %9248, 0
  br i1 %.not1290, label %9249, label %9250

9249:                                             ; preds = %9245, %9239
  br label %9250

9250:                                             ; preds = %9245, %9249
  %.str.12.sink4594 = phi ptr [ @.str.12, %9249 ], [ @.str.9, %9245 ]
  store i32 %9240, ptr %1545, align 4, !tbaa !5
  %9251 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9252 = load i32, ptr @test_count, align 4, !tbaa !5
  %9253 = load i32, ptr %1491, align 4, !tbaa !5
  %9254 = call ptr @s2n_strerror(i32 noundef %9253, ptr noundef nonnull @.str.11) #12
  %9255 = load i32, ptr %1491, align 4, !tbaa !5
  %9256 = call ptr @s2n_strerror_debug(i32 noundef %9255, ptr noundef nonnull @.str.11) #12
  %9257 = load i32, ptr %1545, align 4, !tbaa !5
  %9258 = call ptr @strerror(i32 noundef %9257) #12
  %9259 = load i32, ptr %1545, align 4, !tbaa !5
  %9260 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9251, ptr noundef nonnull %.str.12.sink4594, i32 noundef %9252, ptr noundef nonnull @.str.189, ptr noundef nonnull @.str.8, i32 noundef 823, ptr noundef %9254, ptr noundef %9256, ptr noundef %9258, i32 noundef %9259) #14
  call void @exit(i32 noundef 1) #15
  unreachable

.preheader.1:                                     ; preds = %9232
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %36) #12
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %36) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %36, i8 0, i64 24, i1 false)
  %9261 = add nsw i32 %9233, 2
  store i32 %9261, ptr @test_count, align 4, !tbaa !5
  %9262 = getelementptr inbounds i8, ptr %9235, i64 4168
  %9263 = call i32 @s2n_blob_init(ptr noundef nonnull %36, ptr noundef nonnull %9262, i32 noundef 4) #12
  %9264 = icmp eq i32 %9263, -1
  br i1 %9264, label %9074, label %9265

9265:                                             ; preds = %.preheader.1
  %9266 = load i32, ptr @test_count, align 4, !tbaa !5
  %9267 = add nsw i32 %9266, 1
  store i32 %9267, ptr @test_count, align 4, !tbaa !5
  %9268 = load ptr, ptr %35, align 8, !tbaa !9
  %9269 = getelementptr inbounds i8, ptr %9268, i64 4128
  %9270 = call i32 @s2n_stuffer_init(ptr noundef nonnull %9269, ptr noundef nonnull %36) #12
  %9271 = icmp eq i32 %9270, -1
  br i1 %9271, label %9103, label %9272

9272:                                             ; preds = %9265
  %9273 = load i32, ptr @test_count, align 4, !tbaa !5
  %9274 = add nsw i32 %9273, 1
  store i32 %9274, ptr @test_count, align 4, !tbaa !5
  %9275 = load ptr, ptr %35, align 8, !tbaa !9
  %9276 = getelementptr inbounds i8, ptr %9275, i64 4164
  %9277 = load i8, ptr %9276, align 4
  %9278 = and i8 %9277, 2
  %.not1288.1 = icmp eq i8 %9278, 0
  br i1 %.not1288.1, label %9279, label %9132

9279:                                             ; preds = %9272
  %9280 = add nsw i32 %9273, 2
  store i32 %9280, ptr @test_count, align 4, !tbaa !5
  %9281 = and i8 %9277, 1
  %.not1289.1 = icmp eq i8 %9281, 0
  br i1 %.not1289.1, label %9282, label %9157

9282:                                             ; preds = %9279
  %9283 = add nsw i32 %9273, 3
  store i32 %9283, ptr @test_count, align 4, !tbaa !5
  %9284 = getelementptr inbounds i8, ptr %9275, i64 4136
  %9285 = load i32, ptr %9284, align 8, !tbaa !80
  %9286 = icmp eq i32 %9285, 0
  br i1 %9286, label %9184, label %9287

9287:                                             ; preds = %9282
  %9288 = add nsw i32 %9273, 4
  store i32 %9288, ptr @test_count, align 4, !tbaa !5
  %9289 = call i32 @s2n_connection_release_buffers(ptr noundef nonnull %9275) #12
  %9290 = icmp eq i32 %9289, -1
  br i1 %9290, label %9210, label %9291

9291:                                             ; preds = %9287
  %9292 = load i32, ptr @test_count, align 4, !tbaa !5
  %9293 = add nsw i32 %9292, 1
  store i32 %9293, ptr @test_count, align 4, !tbaa !5
  %9294 = load ptr, ptr %35, align 8, !tbaa !9
  %9295 = getelementptr inbounds i8, ptr %9294, i64 4136
  %9296 = load i32, ptr %9295, align 8, !tbaa !80
  %9297 = icmp eq i32 %9296, 0
  br i1 %9297, label %.preheader.2, label %9239

.preheader.2:                                     ; preds = %9291
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %36) #12
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %36) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %36, i8 0, i64 24, i1 false)
  %9298 = add nsw i32 %9292, 2
  store i32 %9298, ptr @test_count, align 4, !tbaa !5
  %9299 = getelementptr inbounds i8, ptr %9294, i64 4168
  %9300 = call i32 @s2n_blob_init(ptr noundef nonnull %36, ptr noundef nonnull %9299, i32 noundef 4) #12
  %9301 = icmp eq i32 %9300, -1
  br i1 %9301, label %9074, label %9302

9302:                                             ; preds = %.preheader.2
  %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 %35, align 8, !tbaa !9
  %9306 = getelementptr inbounds i8, ptr %9305, i64 4128
  %9307 = call i32 @s2n_stuffer_init(ptr noundef nonnull %9306, ptr noundef nonnull %36) #12
  %9308 = icmp eq i32 %9307, -1
  br i1 %9308, label %9103, label %9309

9309:                                             ; preds = %9302
  %9310 = load i32, ptr @test_count, align 4, !tbaa !5
  %9311 = add nsw i32 %9310, 1
  store i32 %9311, ptr @test_count, align 4, !tbaa !5
  %9312 = load ptr, ptr %35, align 8, !tbaa !9
  %9313 = getelementptr inbounds i8, ptr %9312, i64 4164
  %9314 = load i8, ptr %9313, align 4
  %9315 = and i8 %9314, 2
  %.not1288.2 = icmp eq i8 %9315, 0
  br i1 %.not1288.2, label %9316, label %9132

9316:                                             ; preds = %9309
  %9317 = add nsw i32 %9310, 2
  store i32 %9317, ptr @test_count, align 4, !tbaa !5
  %9318 = and i8 %9314, 1
  %.not1289.2 = icmp eq i8 %9318, 0
  br i1 %.not1289.2, label %9319, label %9157

9319:                                             ; preds = %9316
  %9320 = add nsw i32 %9310, 3
  store i32 %9320, ptr @test_count, align 4, !tbaa !5
  %9321 = getelementptr inbounds i8, ptr %9312, i64 4136
  %9322 = load i32, ptr %9321, align 8, !tbaa !80
  %9323 = icmp eq i32 %9322, 0
  br i1 %9323, label %9184, label %9324

9324:                                             ; preds = %9319
  %9325 = add nsw i32 %9310, 4
  store i32 %9325, ptr @test_count, align 4, !tbaa !5
  %9326 = call i32 @s2n_connection_release_buffers(ptr noundef nonnull %9312) #12
  %9327 = icmp eq i32 %9326, -1
  br i1 %9327, label %9210, label %9328

9328:                                             ; preds = %9324
  %9329 = load i32, ptr @test_count, align 4, !tbaa !5
  %9330 = add nsw i32 %9329, 1
  store i32 %9330, ptr @test_count, align 4, !tbaa !5
  %9331 = load ptr, ptr %35, align 8, !tbaa !9
  %9332 = getelementptr inbounds i8, ptr %9331, i64 4136
  %9333 = load i32, ptr %9332, align 8, !tbaa !80
  %9334 = icmp eq i32 %9333, 0
  br i1 %9334, label %9335, label %9239

9335:                                             ; preds = %9328
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %36) #12
  %9336 = add nsw i32 %9329, 2
  store i32 %9336, ptr @test_count, align 4, !tbaa !5
  %9337 = getelementptr inbounds i8, ptr %9331, i64 4128
  %9338 = call i32 @s2n_stuffer_growable_alloc(ptr noundef nonnull %9337, i32 noundef 10) #12
  %9339 = icmp eq i32 %9338, -1
  br i1 %9339, label %9340, label %9362

9340:                                             ; preds = %9335
  %9341 = load i32, ptr %1545, align 4, !tbaa !5
  %9342 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9343 = call i32 @s2n_print_stacktrace(ptr noundef %9342) #12
  %9344 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9345 = trunc nuw i8 %9344 to i1
  br i1 %9345, label %9346, label %9350

9346:                                             ; preds = %9340
  %9347 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9348 = call i32 @fileno(ptr noundef %9347) #12
  %9349 = call i32 @isatty(i32 noundef %9348) #12
  %.not1287 = icmp eq i32 %9349, 0
  br i1 %.not1287, label %9350, label %9351

9350:                                             ; preds = %9346, %9340
  br label %9351

9351:                                             ; preds = %9346, %9350
  %.str.12.sink4603 = phi ptr [ @.str.12, %9350 ], [ @.str.9, %9346 ]
  store i32 %9341, ptr %1545, align 4, !tbaa !5
  %9352 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9353 = load i32, ptr @test_count, align 4, !tbaa !5
  %9354 = load i32, ptr %1491, align 4, !tbaa !5
  %9355 = call ptr @s2n_strerror(i32 noundef %9354, ptr noundef nonnull @.str.11) #12
  %9356 = load i32, ptr %1491, align 4, !tbaa !5
  %9357 = call ptr @s2n_strerror_debug(i32 noundef %9356, ptr noundef nonnull @.str.11) #12
  %9358 = load i32, ptr %1545, align 4, !tbaa !5
  %9359 = call ptr @strerror(i32 noundef %9358) #12
  %9360 = load i32, ptr %1545, align 4, !tbaa !5
  %9361 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9352, ptr noundef nonnull %.str.12.sink4603, i32 noundef %9353, ptr noundef nonnull @.str.190, ptr noundef nonnull @.str.8, i32 noundef 828, ptr noundef %9355, ptr noundef %9357, ptr noundef %9359, i32 noundef %9360) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9362:                                             ; preds = %9335
  %9363 = load i32, ptr @test_count, align 4, !tbaa !5
  %9364 = add nsw i32 %9363, 1
  store i32 %9364, ptr @test_count, align 4, !tbaa !5
  %9365 = load ptr, ptr %35, align 8, !tbaa !9
  %9366 = getelementptr inbounds i8, ptr %9365, i64 4128
  %9367 = call i32 @s2n_stuffer_write_uint8(ptr noundef nonnull %9366, i8 noundef zeroext 1) #12
  %9368 = icmp eq i32 %9367, -1
  br i1 %9368, label %9369, label %9391

9369:                                             ; preds = %9362
  %9370 = load i32, ptr %1545, align 4, !tbaa !5
  %9371 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9372 = call i32 @s2n_print_stacktrace(ptr noundef %9371) #12
  %9373 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9374 = trunc nuw i8 %9373 to i1
  br i1 %9374, label %9375, label %9379

9375:                                             ; preds = %9369
  %9376 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9377 = call i32 @fileno(ptr noundef %9376) #12
  %9378 = call i32 @isatty(i32 noundef %9377) #12
  %.not1286 = icmp eq i32 %9378, 0
  br i1 %.not1286, label %9379, label %9380

9379:                                             ; preds = %9375, %9369
  br label %9380

9380:                                             ; preds = %9375, %9379
  %.str.12.sink4612 = phi ptr [ @.str.12, %9379 ], [ @.str.9, %9375 ]
  store i32 %9370, ptr %1545, align 4, !tbaa !5
  %9381 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9382 = load i32, ptr @test_count, align 4, !tbaa !5
  %9383 = load i32, ptr %1491, align 4, !tbaa !5
  %9384 = call ptr @s2n_strerror(i32 noundef %9383, ptr noundef nonnull @.str.11) #12
  %9385 = load i32, ptr %1491, align 4, !tbaa !5
  %9386 = call ptr @s2n_strerror_debug(i32 noundef %9385, ptr noundef nonnull @.str.11) #12
  %9387 = load i32, ptr %1545, align 4, !tbaa !5
  %9388 = call ptr @strerror(i32 noundef %9387) #12
  %9389 = load i32, ptr %1545, align 4, !tbaa !5
  %9390 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9381, ptr noundef nonnull %.str.12.sink4612, i32 noundef %9382, ptr noundef nonnull @.str.198, ptr noundef nonnull @.str.8, i32 noundef 829, ptr noundef %9384, ptr noundef %9386, ptr noundef %9388, i32 noundef %9389) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9391:                                             ; preds = %9362
  %9392 = load i32, ptr @test_count, align 4, !tbaa !5
  %9393 = add nsw i32 %9392, 1
  store i32 %9393, ptr @test_count, align 4, !tbaa !5
  %9394 = load ptr, ptr %35, align 8, !tbaa !9
  %9395 = call i32 @s2n_connection_release_buffers(ptr noundef %9394) #12
  %9396 = icmp eq i32 %9395, -1
  br i1 %9396, label %9419, label %9397

9397:                                             ; preds = %9391
  %9398 = load i32, ptr %1545, align 4, !tbaa !5
  %9399 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9400 = call i32 @s2n_print_stacktrace(ptr noundef %9399) #12
  %9401 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9402 = trunc nuw i8 %9401 to i1
  br i1 %9402, label %9403, label %9407

9403:                                             ; preds = %9397
  %9404 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9405 = call i32 @fileno(ptr noundef %9404) #12
  %9406 = call i32 @isatty(i32 noundef %9405) #12
  %.not1202 = icmp eq i32 %9406, 0
  br i1 %.not1202, label %9407, label %9408

9407:                                             ; preds = %9403, %9397
  br label %9408

9408:                                             ; preds = %9403, %9407
  %.str.12.sink4621 = phi ptr [ @.str.12, %9407 ], [ @.str.9, %9403 ]
  store i32 %9398, ptr %1545, align 4, !tbaa !5
  %9409 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9410 = load i32, ptr @test_count, align 4, !tbaa !5
  %9411 = load i32, ptr %1491, align 4, !tbaa !5
  %9412 = call ptr @s2n_strerror(i32 noundef %9411, ptr noundef nonnull @.str.11) #12
  %9413 = load i32, ptr %1491, align 4, !tbaa !5
  %9414 = call ptr @s2n_strerror_debug(i32 noundef %9413, ptr noundef nonnull @.str.11) #12
  %9415 = load i32, ptr %1545, align 4, !tbaa !5
  %9416 = call ptr @strerror(i32 noundef %9415) #12
  %9417 = load i32, ptr %1545, align 4, !tbaa !5
  %9418 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9409, ptr noundef nonnull %.str.12.sink4621, i32 noundef %9410, ptr noundef nonnull @.str.199, ptr noundef nonnull @.str.8, i32 noundef 831, ptr noundef %9412, ptr noundef %9414, ptr noundef %9416, i32 noundef %9417) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9419:                                             ; preds = %9391
  %9420 = load i32, ptr @test_count, align 4, !tbaa !5
  %9421 = add nsw i32 %9420, 1
  store i32 %9421, ptr @test_count, align 4, !tbaa !5
  %9422 = load i32, ptr %1491, align 4, !tbaa !5
  %9423 = icmp eq i32 %9422, 402653204
  br i1 %9423, label %9446, label %9424

9424:                                             ; preds = %9419
  %9425 = load i32, ptr %1545, align 4, !tbaa !5
  %9426 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9427 = call i32 @s2n_print_stacktrace(ptr noundef %9426) #12
  %9428 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9429 = trunc nuw i8 %9428 to i1
  br i1 %9429, label %9430, label %9434

9430:                                             ; preds = %9424
  %9431 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9432 = call i32 @fileno(ptr noundef %9431) #12
  %9433 = call i32 @isatty(i32 noundef %9432) #12
  %.not1203 = icmp eq i32 %9433, 0
  br i1 %.not1203, label %9434, label %9435

9434:                                             ; preds = %9430, %9424
  br label %9435

9435:                                             ; preds = %9430, %9434
  %.str.12.sink4630 = phi ptr [ @.str.12, %9434 ], [ @.str.9, %9430 ]
  store i32 %9425, ptr %1545, align 4, !tbaa !5
  %9436 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9437 = load i32, ptr @test_count, align 4, !tbaa !5
  %9438 = load i32, ptr %1491, align 4, !tbaa !5
  %9439 = call ptr @s2n_strerror(i32 noundef %9438, ptr noundef nonnull @.str.11) #12
  %9440 = load i32, ptr %1491, align 4, !tbaa !5
  %9441 = call ptr @s2n_strerror_debug(i32 noundef %9440, ptr noundef nonnull @.str.11) #12
  %9442 = load i32, ptr %1545, align 4, !tbaa !5
  %9443 = call ptr @strerror(i32 noundef %9442) #12
  %9444 = load i32, ptr %1545, align 4, !tbaa !5
  %9445 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9436, ptr noundef nonnull %.str.12.sink4630, i32 noundef %9437, ptr noundef nonnull @.str.200, ptr noundef nonnull @.str.8, i32 noundef 831, ptr noundef %9439, ptr noundef %9441, ptr noundef %9443, i32 noundef %9444) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9446:                                             ; preds = %9419
  %9447 = add nsw i32 %9420, 2
  store i32 %9447, ptr @test_count, align 4, !tbaa !5
  %9448 = call ptr @s2n_strerror_debug(i32 noundef 402653204, ptr noundef nonnull @.str.11) #12
  %9449 = icmp eq ptr %9448, null
  br i1 %9449, label %9450, label %9472

9450:                                             ; preds = %9446
  %9451 = load i32, ptr %1545, align 4, !tbaa !5
  %9452 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9453 = call i32 @s2n_print_stacktrace(ptr noundef %9452) #12
  %9454 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9455 = trunc nuw i8 %9454 to i1
  br i1 %9455, label %9456, label %9460

9456:                                             ; preds = %9450
  %9457 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9458 = call i32 @fileno(ptr noundef %9457) #12
  %9459 = call i32 @isatty(i32 noundef %9458) #12
  %.not1285 = icmp eq i32 %9459, 0
  br i1 %.not1285, label %9460, label %9461

9460:                                             ; preds = %9456, %9450
  br label %9461

9461:                                             ; preds = %9456, %9460
  %.str.12.sink4639 = phi ptr [ @.str.12, %9460 ], [ @.str.9, %9456 ]
  store i32 %9451, ptr %1545, align 4, !tbaa !5
  %9462 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9463 = load i32, ptr @test_count, align 4, !tbaa !5
  %9464 = load i32, ptr %1491, align 4, !tbaa !5
  %9465 = call ptr @s2n_strerror(i32 noundef %9464, ptr noundef nonnull @.str.11) #12
  %9466 = load i32, ptr %1491, align 4, !tbaa !5
  %9467 = call ptr @s2n_strerror_debug(i32 noundef %9466, ptr noundef nonnull @.str.11) #12
  %9468 = load i32, ptr %1545, align 4, !tbaa !5
  %9469 = call ptr @strerror(i32 noundef %9468) #12
  %9470 = load i32, ptr %1545, align 4, !tbaa !5
  %9471 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9462, ptr noundef nonnull %.str.12.sink4639, i32 noundef %9463, ptr noundef nonnull @.str.54, ptr noundef nonnull @.str.8, i32 noundef 831, ptr noundef %9465, ptr noundef %9467, ptr noundef %9469, i32 noundef %9470) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9472:                                             ; preds = %9446
  store i32 0, ptr %1491, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %1545, align 4, !tbaa !5
  %9473 = load i32, ptr @test_count, align 4, !tbaa !5
  %9474 = add nsw i32 %9473, 1
  store i32 %9474, ptr @test_count, align 4, !tbaa !5
  %9475 = load ptr, ptr %35, align 8, !tbaa !9
  %9476 = getelementptr inbounds i8, ptr %9475, i64 4136
  %9477 = load i32, ptr %9476, align 8, !tbaa !80
  %9478 = icmp eq i32 %9477, 0
  br i1 %9478, label %9479, label %9501

9479:                                             ; preds = %9472
  %9480 = load i32, ptr %1545, align 4, !tbaa !5
  %9481 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9482 = call i32 @s2n_print_stacktrace(ptr noundef %9481) #12
  %9483 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9484 = trunc nuw i8 %9483 to i1
  br i1 %9484, label %9485, label %9489

9485:                                             ; preds = %9479
  %9486 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9487 = call i32 @fileno(ptr noundef %9486) #12
  %9488 = call i32 @isatty(i32 noundef %9487) #12
  %.not1284 = icmp eq i32 %9488, 0
  br i1 %.not1284, label %9489, label %9490

9489:                                             ; preds = %9485, %9479
  br label %9490

9490:                                             ; preds = %9485, %9489
  %.str.12.sink4648 = phi ptr [ @.str.12, %9489 ], [ @.str.9, %9485 ]
  store i32 %9480, ptr %1545, align 4, !tbaa !5
  %9491 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9492 = load i32, ptr @test_count, align 4, !tbaa !5
  %9493 = load i32, ptr %1491, align 4, !tbaa !5
  %9494 = call ptr @s2n_strerror(i32 noundef %9493, ptr noundef nonnull @.str.11) #12
  %9495 = load i32, ptr %1491, align 4, !tbaa !5
  %9496 = call ptr @s2n_strerror_debug(i32 noundef %9495, ptr noundef nonnull @.str.11) #12
  %9497 = load i32, ptr %1545, align 4, !tbaa !5
  %9498 = call ptr @strerror(i32 noundef %9497) #12
  %9499 = load i32, ptr %1545, align 4, !tbaa !5
  %9500 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9491, ptr noundef nonnull %.str.12.sink4648, i32 noundef %9492, ptr noundef nonnull @.str.196, ptr noundef nonnull @.str.8, i32 noundef 832, ptr noundef %9494, ptr noundef %9496, ptr noundef %9498, i32 noundef %9499) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9501:                                             ; preds = %9472
  %9502 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %35) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %35) #12
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %37) #12
  %9503 = call ptr @s2n_connection_new(i32 noundef 1) #12
  store ptr %9503, ptr %37, align 8, !tbaa !9
  %9504 = load i32, ptr @test_count, align 4, !tbaa !5
  %9505 = add nsw i32 %9504, 1
  store i32 %9505, ptr @test_count, align 4, !tbaa !5
  %9506 = icmp eq ptr %9503, null
  br i1 %9506, label %9507, label %9529

9507:                                             ; preds = %9501
  %9508 = load i32, ptr %1545, align 4, !tbaa !5
  %9509 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9510 = call i32 @s2n_print_stacktrace(ptr noundef %9509) #12
  %9511 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9512 = trunc nuw i8 %9511 to i1
  br i1 %9512, label %9513, label %9517

9513:                                             ; preds = %9507
  %9514 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9515 = call i32 @fileno(ptr noundef %9514) #12
  %9516 = call i32 @isatty(i32 noundef %9515) #12
  %.not1283 = icmp eq i32 %9516, 0
  br i1 %.not1283, label %9517, label %9518

9517:                                             ; preds = %9513, %9507
  br label %9518

9518:                                             ; preds = %9513, %9517
  %.str.12.sink4657 = phi ptr [ @.str.12, %9517 ], [ @.str.9, %9513 ]
  store i32 %9508, ptr %1545, align 4, !tbaa !5
  %9519 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9520 = load i32, ptr @test_count, align 4, !tbaa !5
  %9521 = load i32, ptr %1491, align 4, !tbaa !5
  %9522 = call ptr @s2n_strerror(i32 noundef %9521, ptr noundef nonnull @.str.11) #12
  %9523 = load i32, ptr %1491, align 4, !tbaa !5
  %9524 = call ptr @s2n_strerror_debug(i32 noundef %9523, ptr noundef nonnull @.str.11) #12
  %9525 = load i32, ptr %1545, align 4, !tbaa !5
  %9526 = call ptr @strerror(i32 noundef %9525) #12
  %9527 = load i32, ptr %1545, align 4, !tbaa !5
  %9528 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9519, ptr noundef nonnull %.str.12.sink4657, i32 noundef %9520, ptr noundef nonnull @.str.92, ptr noundef nonnull @.str.8, i32 noundef 843, ptr noundef %9522, ptr noundef %9524, ptr noundef %9526, i32 noundef %9527) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9529:                                             ; preds = %9501
  %9530 = add nsw i32 %9504, 2
  store i32 %9530, ptr @test_count, align 4, !tbaa !5
  %9531 = call zeroext i1 @s2n_connection_check_io_status(ptr noundef null, i32 noundef 0) #12
  br i1 %9531, label %9532, label %9554

9532:                                             ; preds = %9529
  %9533 = load i32, ptr %1545, align 4, !tbaa !5
  %9534 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9535 = call i32 @s2n_print_stacktrace(ptr noundef %9534) #12
  %9536 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9537 = trunc nuw i8 %9536 to i1
  br i1 %9537, label %9538, label %9542

9538:                                             ; preds = %9532
  %9539 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9540 = call i32 @fileno(ptr noundef %9539) #12
  %9541 = call i32 @isatty(i32 noundef %9540) #12
  %.not1282 = icmp eq i32 %9541, 0
  br i1 %.not1282, label %9542, label %9543

9542:                                             ; preds = %9538, %9532
  br label %9543

9543:                                             ; preds = %9538, %9542
  %.str.12.sink4666 = phi ptr [ @.str.12, %9542 ], [ @.str.9, %9538 ]
  store i32 %9533, ptr %1545, align 4, !tbaa !5
  %9544 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9545 = load i32, ptr @test_count, align 4, !tbaa !5
  %9546 = load i32, ptr %1491, align 4, !tbaa !5
  %9547 = call ptr @s2n_strerror(i32 noundef %9546, ptr noundef nonnull @.str.11) #12
  %9548 = load i32, ptr %1491, align 4, !tbaa !5
  %9549 = call ptr @s2n_strerror_debug(i32 noundef %9548, ptr noundef nonnull @.str.11) #12
  %9550 = load i32, ptr %1545, align 4, !tbaa !5
  %9551 = call ptr @strerror(i32 noundef %9550) #12
  %9552 = load i32, ptr %1545, align 4, !tbaa !5
  %9553 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9544, ptr noundef nonnull %.str.12.sink4666, i32 noundef %9545, ptr noundef nonnull @.str.201, ptr noundef nonnull @.str.8, i32 noundef 845, ptr noundef %9547, ptr noundef %9549, ptr noundef %9551, i32 noundef %9552) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9554:                                             ; preds = %9529
  %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 = call zeroext i1 @s2n_connection_check_io_status(ptr noundef null, i32 noundef 1) #12
  br i1 %9557, label %9558, label %9580

9558:                                             ; preds = %9554
  %9559 = load i32, ptr %1545, align 4, !tbaa !5
  %9560 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9561 = call i32 @s2n_print_stacktrace(ptr noundef %9560) #12
  %9562 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9563 = trunc nuw i8 %9562 to i1
  br i1 %9563, label %9564, label %9568

9564:                                             ; preds = %9558
  %9565 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9566 = call i32 @fileno(ptr noundef %9565) #12
  %9567 = call i32 @isatty(i32 noundef %9566) #12
  %.not1281 = icmp eq i32 %9567, 0
  br i1 %.not1281, label %9568, label %9569

9568:                                             ; preds = %9564, %9558
  br label %9569

9569:                                             ; preds = %9564, %9568
  %.str.12.sink4675 = phi ptr [ @.str.12, %9568 ], [ @.str.9, %9564 ]
  store i32 %9559, ptr %1545, align 4, !tbaa !5
  %9570 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9571 = load i32, ptr @test_count, align 4, !tbaa !5
  %9572 = load i32, ptr %1491, align 4, !tbaa !5
  %9573 = call ptr @s2n_strerror(i32 noundef %9572, ptr noundef nonnull @.str.11) #12
  %9574 = load i32, ptr %1491, align 4, !tbaa !5
  %9575 = call ptr @s2n_strerror_debug(i32 noundef %9574, ptr noundef nonnull @.str.11) #12
  %9576 = load i32, ptr %1545, align 4, !tbaa !5
  %9577 = call ptr @strerror(i32 noundef %9576) #12
  %9578 = load i32, ptr %1545, align 4, !tbaa !5
  %9579 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9570, ptr noundef nonnull %.str.12.sink4675, i32 noundef %9571, ptr noundef nonnull @.str.202, ptr noundef nonnull @.str.8, i32 noundef 846, ptr noundef %9573, ptr noundef %9575, ptr noundef %9577, i32 noundef %9578) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9580:                                             ; preds = %9554
  %9581 = load i32, ptr @test_count, align 4, !tbaa !5
  %9582 = add nsw i32 %9581, 1
  store i32 %9582, ptr @test_count, align 4, !tbaa !5
  %9583 = call zeroext i1 @s2n_connection_check_io_status(ptr noundef null, i32 noundef 2) #12
  br i1 %9583, label %9584, label %9606

9584:                                             ; preds = %9580
  %9585 = load i32, ptr %1545, align 4, !tbaa !5
  %9586 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9587 = call i32 @s2n_print_stacktrace(ptr noundef %9586) #12
  %9588 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9589 = trunc nuw i8 %9588 to i1
  br i1 %9589, label %9590, label %9594

9590:                                             ; preds = %9584
  %9591 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9592 = call i32 @fileno(ptr noundef %9591) #12
  %9593 = call i32 @isatty(i32 noundef %9592) #12
  %.not1280 = icmp eq i32 %9593, 0
  br i1 %.not1280, label %9594, label %9595

9594:                                             ; preds = %9590, %9584
  br label %9595

9595:                                             ; preds = %9590, %9594
  %.str.12.sink4684 = phi ptr [ @.str.12, %9594 ], [ @.str.9, %9590 ]
  store i32 %9585, ptr %1545, align 4, !tbaa !5
  %9596 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9597 = load i32, ptr @test_count, align 4, !tbaa !5
  %9598 = load i32, ptr %1491, align 4, !tbaa !5
  %9599 = call ptr @s2n_strerror(i32 noundef %9598, ptr noundef nonnull @.str.11) #12
  %9600 = load i32, ptr %1491, align 4, !tbaa !5
  %9601 = call ptr @s2n_strerror_debug(i32 noundef %9600, ptr noundef nonnull @.str.11) #12
  %9602 = load i32, ptr %1545, align 4, !tbaa !5
  %9603 = call ptr @strerror(i32 noundef %9602) #12
  %9604 = load i32, ptr %1545, align 4, !tbaa !5
  %9605 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9596, ptr noundef nonnull %.str.12.sink4684, i32 noundef %9597, ptr noundef nonnull @.str.203, ptr noundef nonnull @.str.8, i32 noundef 847, ptr noundef %9599, ptr noundef %9601, ptr noundef %9603, i32 noundef %9604) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9606:                                             ; preds = %9580
  %9607 = load i32, ptr @test_count, align 4, !tbaa !5
  %9608 = add nsw i32 %9607, 1
  store i32 %9608, ptr @test_count, align 4, !tbaa !5
  %9609 = call zeroext i1 @s2n_connection_check_io_status(ptr noundef null, i32 noundef 3) #12
  br i1 %9609, label %9610, label %9632

9610:                                             ; preds = %9606
  %9611 = load i32, ptr %1545, align 4, !tbaa !5
  %9612 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9613 = call i32 @s2n_print_stacktrace(ptr noundef %9612) #12
  %9614 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9615 = trunc nuw i8 %9614 to i1
  br i1 %9615, label %9616, label %9620

9616:                                             ; preds = %9610
  %9617 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9618 = call i32 @fileno(ptr noundef %9617) #12
  %9619 = call i32 @isatty(i32 noundef %9618) #12
  %.not1279 = icmp eq i32 %9619, 0
  br i1 %.not1279, label %9620, label %9621

9620:                                             ; preds = %9616, %9610
  br label %9621

9621:                                             ; preds = %9616, %9620
  %.str.12.sink4693 = phi ptr [ @.str.12, %9620 ], [ @.str.9, %9616 ]
  store i32 %9611, ptr %1545, align 4, !tbaa !5
  %9622 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9623 = load i32, ptr @test_count, align 4, !tbaa !5
  %9624 = load i32, ptr %1491, align 4, !tbaa !5
  %9625 = call ptr @s2n_strerror(i32 noundef %9624, ptr noundef nonnull @.str.11) #12
  %9626 = load i32, ptr %1491, align 4, !tbaa !5
  %9627 = call ptr @s2n_strerror_debug(i32 noundef %9626, ptr noundef nonnull @.str.11) #12
  %9628 = load i32, ptr %1545, align 4, !tbaa !5
  %9629 = call ptr @strerror(i32 noundef %9628) #12
  %9630 = load i32, ptr %1545, align 4, !tbaa !5
  %9631 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9622, ptr noundef nonnull %.str.12.sink4693, i32 noundef %9623, ptr noundef nonnull @.str.204, ptr noundef nonnull @.str.8, i32 noundef 848, ptr noundef %9625, ptr noundef %9627, ptr noundef %9629, i32 noundef %9630) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9632:                                             ; preds = %9606
  %9633 = load i32, ptr @test_count, align 4, !tbaa !5
  %9634 = add nsw i32 %9633, 1
  store i32 %9634, ptr @test_count, align 4, !tbaa !5
  %9635 = call zeroext i1 @s2n_connection_check_io_status(ptr noundef null, i32 noundef 10) #12
  br i1 %9635, label %9636, label %9658

9636:                                             ; preds = %9632
  %9637 = load i32, ptr %1545, align 4, !tbaa !5
  %9638 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9639 = call i32 @s2n_print_stacktrace(ptr noundef %9638) #12
  %9640 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9641 = trunc nuw i8 %9640 to i1
  br i1 %9641, label %9642, label %9646

9642:                                             ; preds = %9636
  %9643 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9644 = call i32 @fileno(ptr noundef %9643) #12
  %9645 = call i32 @isatty(i32 noundef %9644) #12
  %.not1278 = icmp eq i32 %9645, 0
  br i1 %.not1278, label %9646, label %9647

9646:                                             ; preds = %9642, %9636
  br label %9647

9647:                                             ; preds = %9642, %9646
  %.str.12.sink4702 = phi ptr [ @.str.12, %9646 ], [ @.str.9, %9642 ]
  store i32 %9637, ptr %1545, align 4, !tbaa !5
  %9648 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9649 = load i32, ptr @test_count, align 4, !tbaa !5
  %9650 = load i32, ptr %1491, align 4, !tbaa !5
  %9651 = call ptr @s2n_strerror(i32 noundef %9650, ptr noundef nonnull @.str.11) #12
  %9652 = load i32, ptr %1491, align 4, !tbaa !5
  %9653 = call ptr @s2n_strerror_debug(i32 noundef %9652, ptr noundef nonnull @.str.11) #12
  %9654 = load i32, ptr %1545, align 4, !tbaa !5
  %9655 = call ptr @strerror(i32 noundef %9654) #12
  %9656 = load i32, ptr %1545, align 4, !tbaa !5
  %9657 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9648, ptr noundef nonnull %.str.12.sink4702, i32 noundef %9649, ptr noundef nonnull @.str.205, ptr noundef nonnull @.str.8, i32 noundef 849, ptr noundef %9651, ptr noundef %9653, ptr noundef %9655, i32 noundef %9656) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9658:                                             ; preds = %9632
  %9659 = load i32, ptr @test_count, align 4, !tbaa !5
  %9660 = add nsw i32 %9659, 1
  store i32 %9660, ptr @test_count, align 4, !tbaa !5
  %9661 = load ptr, ptr %37, align 8, !tbaa !9
  %9662 = call zeroext i1 @s2n_connection_check_io_status(ptr noundef %9661, i32 noundef 10) #12
  br i1 %9662, label %9663, label %9685

9663:                                             ; preds = %9658
  %9664 = load i32, ptr %1545, align 4, !tbaa !5
  %9665 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9666 = call i32 @s2n_print_stacktrace(ptr noundef %9665) #12
  %9667 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9668 = trunc nuw i8 %9667 to i1
  br i1 %9668, label %9669, label %9673

9669:                                             ; preds = %9663
  %9670 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9671 = call i32 @fileno(ptr noundef %9670) #12
  %9672 = call i32 @isatty(i32 noundef %9671) #12
  %.not1277 = icmp eq i32 %9672, 0
  br i1 %.not1277, label %9673, label %9674

9673:                                             ; preds = %9669, %9663
  br label %9674

9674:                                             ; preds = %9669, %9673
  %.str.12.sink4711 = phi ptr [ @.str.12, %9673 ], [ @.str.9, %9669 ]
  store i32 %9664, ptr %1545, align 4, !tbaa !5
  %9675 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9676 = load i32, ptr @test_count, align 4, !tbaa !5
  %9677 = load i32, ptr %1491, align 4, !tbaa !5
  %9678 = call ptr @s2n_strerror(i32 noundef %9677, ptr noundef nonnull @.str.11) #12
  %9679 = load i32, ptr %1491, align 4, !tbaa !5
  %9680 = call ptr @s2n_strerror_debug(i32 noundef %9679, ptr noundef nonnull @.str.11) #12
  %9681 = load i32, ptr %1545, align 4, !tbaa !5
  %9682 = call ptr @strerror(i32 noundef %9681) #12
  %9683 = load i32, ptr %1545, align 4, !tbaa !5
  %9684 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9675, ptr noundef nonnull %.str.12.sink4711, i32 noundef %9676, ptr noundef nonnull @.str.206, ptr noundef nonnull @.str.8, i32 noundef 850, ptr noundef %9678, ptr noundef %9680, ptr noundef %9682, i32 noundef %9683) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9685:                                             ; preds = %9658
  %9686 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %37) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %37) #12
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %38) #12
  %9687 = call ptr @s2n_connection_new(i32 noundef 1) #12
  store ptr %9687, ptr %38, align 8, !tbaa !9
  %9688 = load i32, ptr @test_count, align 4, !tbaa !5
  %9689 = add nsw i32 %9688, 1
  store i32 %9689, ptr @test_count, align 4, !tbaa !5
  %9690 = icmp eq ptr %9687, null
  br i1 %9690, label %9691, label %9713

9691:                                             ; preds = %9685
  %9692 = load i32, ptr %1545, align 4, !tbaa !5
  %9693 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9694 = call i32 @s2n_print_stacktrace(ptr noundef %9693) #12
  %9695 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9696 = trunc nuw i8 %9695 to i1
  br i1 %9696, label %9697, label %9701

9697:                                             ; preds = %9691
  %9698 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9699 = call i32 @fileno(ptr noundef %9698) #12
  %9700 = call i32 @isatty(i32 noundef %9699) #12
  %.not1276 = icmp eq i32 %9700, 0
  br i1 %.not1276, label %9701, label %9702

9701:                                             ; preds = %9697, %9691
  br label %9702

9702:                                             ; preds = %9697, %9701
  %.str.12.sink4720 = phi ptr [ @.str.12, %9701 ], [ @.str.9, %9697 ]
  store i32 %9692, ptr %1545, align 4, !tbaa !5
  %9703 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9704 = load i32, ptr @test_count, align 4, !tbaa !5
  %9705 = load i32, ptr %1491, align 4, !tbaa !5
  %9706 = call ptr @s2n_strerror(i32 noundef %9705, ptr noundef nonnull @.str.11) #12
  %9707 = load i32, ptr %1491, align 4, !tbaa !5
  %9708 = call ptr @s2n_strerror_debug(i32 noundef %9707, ptr noundef nonnull @.str.11) #12
  %9709 = load i32, ptr %1545, align 4, !tbaa !5
  %9710 = call ptr @strerror(i32 noundef %9709) #12
  %9711 = load i32, ptr %1545, align 4, !tbaa !5
  %9712 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9703, ptr noundef nonnull %.str.12.sink4720, i32 noundef %9704, ptr noundef nonnull @.str.92, ptr noundef nonnull @.str.8, i32 noundef 857, ptr noundef %9706, ptr noundef %9708, ptr noundef %9710, i32 noundef %9711) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9713:                                             ; preds = %9685
  %9714 = getelementptr inbounds i8, ptr %9687, i64 220
  store i8 33, ptr %9714, align 4, !tbaa !49
  %9715 = add nsw i32 %9688, 2
  store i32 %9715, ptr @test_count, align 4, !tbaa !5
  %9716 = call zeroext i1 @s2n_connection_check_io_status(ptr noundef nonnull %9687, i32 noundef 0) #12
  br i1 %9716, label %9739, label %9717

9717:                                             ; preds = %9713
  %9718 = load i32, ptr %1545, align 4, !tbaa !5
  %9719 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9720 = call i32 @s2n_print_stacktrace(ptr noundef %9719) #12
  %9721 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9722 = trunc nuw i8 %9721 to i1
  br i1 %9722, label %9723, label %9727

9723:                                             ; preds = %9717
  %9724 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9725 = call i32 @fileno(ptr noundef %9724) #12
  %9726 = call i32 @isatty(i32 noundef %9725) #12
  %.not1204 = icmp eq i32 %9726, 0
  br i1 %.not1204, label %9727, label %9728

9727:                                             ; preds = %9723, %9717
  br label %9728

9728:                                             ; preds = %9723, %9727
  %.str.12.sink4729 = phi ptr [ @.str.12, %9727 ], [ @.str.9, %9723 ]
  store i32 %9718, ptr %1545, align 4, !tbaa !5
  %9729 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9730 = load i32, ptr @test_count, align 4, !tbaa !5
  %9731 = load i32, ptr %1491, align 4, !tbaa !5
  %9732 = call ptr @s2n_strerror(i32 noundef %9731, ptr noundef nonnull @.str.11) #12
  %9733 = load i32, ptr %1491, align 4, !tbaa !5
  %9734 = call ptr @s2n_strerror_debug(i32 noundef %9733, ptr noundef nonnull @.str.11) #12
  %9735 = load i32, ptr %1545, align 4, !tbaa !5
  %9736 = call ptr @strerror(i32 noundef %9735) #12
  %9737 = load i32, ptr %1545, align 4, !tbaa !5
  %9738 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9729, ptr noundef nonnull %.str.12.sink4729, i32 noundef %9730, ptr noundef nonnull @.str.207, ptr noundef nonnull @.str.8, i32 noundef 861, ptr noundef %9732, ptr noundef %9734, ptr noundef %9736, i32 noundef %9737) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9739:                                             ; preds = %9713
  %9740 = load i32, ptr @test_count, align 4, !tbaa !5
  %9741 = add nsw i32 %9740, 1
  store i32 %9741, ptr @test_count, align 4, !tbaa !5
  %9742 = load ptr, ptr %38, align 8, !tbaa !9
  %9743 = call zeroext i1 @s2n_connection_check_io_status(ptr noundef %9742, i32 noundef 1) #12
  br i1 %9743, label %9766, label %9744

9744:                                             ; preds = %9739
  %9745 = load i32, ptr %1545, align 4, !tbaa !5
  %9746 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9747 = call i32 @s2n_print_stacktrace(ptr noundef %9746) #12
  %9748 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9749 = trunc nuw i8 %9748 to i1
  br i1 %9749, label %9750, label %9754

9750:                                             ; preds = %9744
  %9751 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9752 = call i32 @fileno(ptr noundef %9751) #12
  %9753 = call i32 @isatty(i32 noundef %9752) #12
  %.not1205 = icmp eq i32 %9753, 0
  br i1 %.not1205, label %9754, label %9755

9754:                                             ; preds = %9750, %9744
  br label %9755

9755:                                             ; preds = %9750, %9754
  %.str.12.sink4738 = phi ptr [ @.str.12, %9754 ], [ @.str.9, %9750 ]
  store i32 %9745, ptr %1545, align 4, !tbaa !5
  %9756 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9757 = load i32, ptr @test_count, align 4, !tbaa !5
  %9758 = load i32, ptr %1491, align 4, !tbaa !5
  %9759 = call ptr @s2n_strerror(i32 noundef %9758, ptr noundef nonnull @.str.11) #12
  %9760 = load i32, ptr %1491, align 4, !tbaa !5
  %9761 = call ptr @s2n_strerror_debug(i32 noundef %9760, ptr noundef nonnull @.str.11) #12
  %9762 = load i32, ptr %1545, align 4, !tbaa !5
  %9763 = call ptr @strerror(i32 noundef %9762) #12
  %9764 = load i32, ptr %1545, align 4, !tbaa !5
  %9765 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9756, ptr noundef nonnull %.str.12.sink4738, i32 noundef %9757, ptr noundef nonnull @.str.208, ptr noundef nonnull @.str.8, i32 noundef 862, ptr noundef %9759, ptr noundef %9761, ptr noundef %9763, i32 noundef %9764) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9766:                                             ; preds = %9739
  %9767 = load i32, ptr @test_count, align 4, !tbaa !5
  %9768 = add nsw i32 %9767, 1
  store i32 %9768, ptr @test_count, align 4, !tbaa !5
  %9769 = load ptr, ptr %38, align 8, !tbaa !9
  %9770 = call zeroext i1 @s2n_connection_check_io_status(ptr noundef %9769, i32 noundef 2) #12
  br i1 %9770, label %9793, label %9771

9771:                                             ; preds = %9766
  %9772 = load i32, ptr %1545, align 4, !tbaa !5
  %9773 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9774 = call i32 @s2n_print_stacktrace(ptr noundef %9773) #12
  %9775 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9776 = trunc nuw i8 %9775 to i1
  br i1 %9776, label %9777, label %9781

9777:                                             ; preds = %9771
  %9778 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9779 = call i32 @fileno(ptr noundef %9778) #12
  %9780 = call i32 @isatty(i32 noundef %9779) #12
  %.not1206 = icmp eq i32 %9780, 0
  br i1 %.not1206, label %9781, label %9782

9781:                                             ; preds = %9777, %9771
  br label %9782

9782:                                             ; preds = %9777, %9781
  %.str.12.sink4747 = phi ptr [ @.str.12, %9781 ], [ @.str.9, %9777 ]
  store i32 %9772, ptr %1545, align 4, !tbaa !5
  %9783 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9784 = load i32, ptr @test_count, align 4, !tbaa !5
  %9785 = load i32, ptr %1491, align 4, !tbaa !5
  %9786 = call ptr @s2n_strerror(i32 noundef %9785, ptr noundef nonnull @.str.11) #12
  %9787 = load i32, ptr %1491, align 4, !tbaa !5
  %9788 = call ptr @s2n_strerror_debug(i32 noundef %9787, ptr noundef nonnull @.str.11) #12
  %9789 = load i32, ptr %1545, align 4, !tbaa !5
  %9790 = call ptr @strerror(i32 noundef %9789) #12
  %9791 = load i32, ptr %1545, align 4, !tbaa !5
  %9792 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9783, ptr noundef nonnull %.str.12.sink4747, i32 noundef %9784, ptr noundef nonnull @.str.209, ptr noundef nonnull @.str.8, i32 noundef 863, ptr noundef %9786, ptr noundef %9788, ptr noundef %9790, i32 noundef %9791) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9793:                                             ; preds = %9766
  %9794 = load i32, ptr @test_count, align 4, !tbaa !5
  %9795 = add nsw i32 %9794, 1
  store i32 %9795, ptr @test_count, align 4, !tbaa !5
  %9796 = load ptr, ptr %38, align 8, !tbaa !9
  %9797 = call zeroext i1 @s2n_connection_check_io_status(ptr noundef %9796, i32 noundef 3) #12
  br i1 %9797, label %9798, label %9820

9798:                                             ; preds = %9793
  %9799 = load i32, ptr %1545, align 4, !tbaa !5
  %9800 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9801 = call i32 @s2n_print_stacktrace(ptr noundef %9800) #12
  %9802 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9803 = trunc nuw i8 %9802 to i1
  br i1 %9803, label %9804, label %9808

9804:                                             ; preds = %9798
  %9805 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9806 = call i32 @fileno(ptr noundef %9805) #12
  %9807 = call i32 @isatty(i32 noundef %9806) #12
  %.not1275 = icmp eq i32 %9807, 0
  br i1 %.not1275, label %9808, label %9809

9808:                                             ; preds = %9804, %9798
  br label %9809

9809:                                             ; preds = %9804, %9808
  %.str.12.sink4756 = phi ptr [ @.str.12, %9808 ], [ @.str.9, %9804 ]
  store i32 %9799, ptr %1545, align 4, !tbaa !5
  %9810 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9811 = load i32, ptr @test_count, align 4, !tbaa !5
  %9812 = load i32, ptr %1491, align 4, !tbaa !5
  %9813 = call ptr @s2n_strerror(i32 noundef %9812, ptr noundef nonnull @.str.11) #12
  %9814 = load i32, ptr %1491, align 4, !tbaa !5
  %9815 = call ptr @s2n_strerror_debug(i32 noundef %9814, ptr noundef nonnull @.str.11) #12
  %9816 = load i32, ptr %1545, align 4, !tbaa !5
  %9817 = call ptr @strerror(i32 noundef %9816) #12
  %9818 = load i32, ptr %1545, align 4, !tbaa !5
  %9819 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9810, ptr noundef nonnull %.str.12.sink4756, i32 noundef %9811, ptr noundef nonnull @.str.210, ptr noundef nonnull @.str.8, i32 noundef 864, ptr noundef %9813, ptr noundef %9815, ptr noundef %9817, i32 noundef %9818) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9820:                                             ; preds = %9793
  %9821 = load ptr, ptr %38, align 8, !tbaa !9
  %9822 = getelementptr inbounds i8, ptr %9821, i64 2268
  call void @s2n_atomic_flag_set(ptr noundef nonnull %9822) #12
  %9823 = load i32, ptr @test_count, align 4, !tbaa !5
  %9824 = add nsw i32 %9823, 1
  store i32 %9824, ptr @test_count, align 4, !tbaa !5
  %9825 = load ptr, ptr %38, align 8, !tbaa !9
  %9826 = call zeroext i1 @s2n_connection_check_io_status(ptr noundef %9825, i32 noundef 0) #12
  br i1 %9826, label %9827, label %9849

9827:                                             ; preds = %9820
  %9828 = load i32, ptr %1545, align 4, !tbaa !5
  %9829 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9830 = call i32 @s2n_print_stacktrace(ptr noundef %9829) #12
  %9831 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9832 = trunc nuw i8 %9831 to i1
  br i1 %9832, label %9833, label %9837

9833:                                             ; preds = %9827
  %9834 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9835 = call i32 @fileno(ptr noundef %9834) #12
  %9836 = call i32 @isatty(i32 noundef %9835) #12
  %.not1274 = icmp eq i32 %9836, 0
  br i1 %.not1274, label %9837, label %9838

9837:                                             ; preds = %9833, %9827
  br label %9838

9838:                                             ; preds = %9833, %9837
  %.str.12.sink4765 = phi ptr [ @.str.12, %9837 ], [ @.str.9, %9833 ]
  store i32 %9828, ptr %1545, align 4, !tbaa !5
  %9839 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9840 = load i32, ptr @test_count, align 4, !tbaa !5
  %9841 = load i32, ptr %1491, align 4, !tbaa !5
  %9842 = call ptr @s2n_strerror(i32 noundef %9841, ptr noundef nonnull @.str.11) #12
  %9843 = load i32, ptr %1491, align 4, !tbaa !5
  %9844 = call ptr @s2n_strerror_debug(i32 noundef %9843, ptr noundef nonnull @.str.11) #12
  %9845 = load i32, ptr %1545, align 4, !tbaa !5
  %9846 = call ptr @strerror(i32 noundef %9845) #12
  %9847 = load i32, ptr %1545, align 4, !tbaa !5
  %9848 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9839, ptr noundef nonnull %.str.12.sink4765, i32 noundef %9840, ptr noundef nonnull @.str.211, ptr noundef nonnull @.str.8, i32 noundef 868, ptr noundef %9842, ptr noundef %9844, ptr noundef %9846, i32 noundef %9847) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9849:                                             ; preds = %9820
  %9850 = load i32, ptr @test_count, align 4, !tbaa !5
  %9851 = add nsw i32 %9850, 1
  store i32 %9851, ptr @test_count, align 4, !tbaa !5
  %9852 = load ptr, ptr %38, align 8, !tbaa !9
  %9853 = call zeroext i1 @s2n_connection_check_io_status(ptr noundef %9852, i32 noundef 1) #12
  br i1 %9853, label %9854, label %9876

9854:                                             ; preds = %9849
  %9855 = load i32, ptr %1545, align 4, !tbaa !5
  %9856 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9857 = call i32 @s2n_print_stacktrace(ptr noundef %9856) #12
  %9858 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9859 = trunc nuw i8 %9858 to i1
  br i1 %9859, label %9860, label %9864

9860:                                             ; preds = %9854
  %9861 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9862 = call i32 @fileno(ptr noundef %9861) #12
  %9863 = call i32 @isatty(i32 noundef %9862) #12
  %.not1273 = icmp eq i32 %9863, 0
  br i1 %.not1273, label %9864, label %9865

9864:                                             ; preds = %9860, %9854
  br label %9865

9865:                                             ; preds = %9860, %9864
  %.str.12.sink4774 = phi ptr [ @.str.12, %9864 ], [ @.str.9, %9860 ]
  store i32 %9855, ptr %1545, align 4, !tbaa !5
  %9866 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9867 = load i32, ptr @test_count, align 4, !tbaa !5
  %9868 = load i32, ptr %1491, align 4, !tbaa !5
  %9869 = call ptr @s2n_strerror(i32 noundef %9868, ptr noundef nonnull @.str.11) #12
  %9870 = load i32, ptr %1491, align 4, !tbaa !5
  %9871 = call ptr @s2n_strerror_debug(i32 noundef %9870, ptr noundef nonnull @.str.11) #12
  %9872 = load i32, ptr %1545, align 4, !tbaa !5
  %9873 = call ptr @strerror(i32 noundef %9872) #12
  %9874 = load i32, ptr %1545, align 4, !tbaa !5
  %9875 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9866, ptr noundef nonnull %.str.12.sink4774, i32 noundef %9867, ptr noundef nonnull @.str.212, ptr noundef nonnull @.str.8, i32 noundef 869, ptr noundef %9869, ptr noundef %9871, ptr noundef %9873, i32 noundef %9874) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9876:                                             ; preds = %9849
  %9877 = load i32, ptr @test_count, align 4, !tbaa !5
  %9878 = add nsw i32 %9877, 1
  store i32 %9878, ptr @test_count, align 4, !tbaa !5
  %9879 = load ptr, ptr %38, align 8, !tbaa !9
  %9880 = call zeroext i1 @s2n_connection_check_io_status(ptr noundef %9879, i32 noundef 2) #12
  br i1 %9880, label %9881, label %9903

9881:                                             ; preds = %9876
  %9882 = load i32, ptr %1545, align 4, !tbaa !5
  %9883 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9884 = call i32 @s2n_print_stacktrace(ptr noundef %9883) #12
  %9885 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9886 = trunc nuw i8 %9885 to i1
  br i1 %9886, label %9887, label %9891

9887:                                             ; preds = %9881
  %9888 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9889 = call i32 @fileno(ptr noundef %9888) #12
  %9890 = call i32 @isatty(i32 noundef %9889) #12
  %.not1272 = icmp eq i32 %9890, 0
  br i1 %.not1272, label %9891, label %9892

9891:                                             ; preds = %9887, %9881
  br label %9892

9892:                                             ; preds = %9887, %9891
  %.str.12.sink4783 = phi ptr [ @.str.12, %9891 ], [ @.str.9, %9887 ]
  store i32 %9882, ptr %1545, align 4, !tbaa !5
  %9893 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9894 = load i32, ptr @test_count, align 4, !tbaa !5
  %9895 = load i32, ptr %1491, align 4, !tbaa !5
  %9896 = call ptr @s2n_strerror(i32 noundef %9895, ptr noundef nonnull @.str.11) #12
  %9897 = load i32, ptr %1491, align 4, !tbaa !5
  %9898 = call ptr @s2n_strerror_debug(i32 noundef %9897, ptr noundef nonnull @.str.11) #12
  %9899 = load i32, ptr %1545, align 4, !tbaa !5
  %9900 = call ptr @strerror(i32 noundef %9899) #12
  %9901 = load i32, ptr %1545, align 4, !tbaa !5
  %9902 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9893, ptr noundef nonnull %.str.12.sink4783, i32 noundef %9894, ptr noundef nonnull @.str.213, ptr noundef nonnull @.str.8, i32 noundef 870, ptr noundef %9896, ptr noundef %9898, ptr noundef %9900, i32 noundef %9901) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9903:                                             ; preds = %9876
  %9904 = load i32, ptr @test_count, align 4, !tbaa !5
  %9905 = add nsw i32 %9904, 1
  store i32 %9905, ptr @test_count, align 4, !tbaa !5
  %9906 = load ptr, ptr %38, align 8, !tbaa !9
  %9907 = call zeroext i1 @s2n_connection_check_io_status(ptr noundef %9906, i32 noundef 3) #12
  br i1 %9907, label %9930, label %9908

9908:                                             ; preds = %9903
  %9909 = load i32, ptr %1545, align 4, !tbaa !5
  %9910 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9911 = call i32 @s2n_print_stacktrace(ptr noundef %9910) #12
  %9912 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9913 = trunc nuw i8 %9912 to i1
  br i1 %9913, label %9914, label %9918

9914:                                             ; preds = %9908
  %9915 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9916 = call i32 @fileno(ptr noundef %9915) #12
  %9917 = call i32 @isatty(i32 noundef %9916) #12
  %.not1207 = icmp eq i32 %9917, 0
  br i1 %.not1207, label %9918, label %9919

9918:                                             ; preds = %9914, %9908
  br label %9919

9919:                                             ; preds = %9914, %9918
  %.str.12.sink4792 = phi ptr [ @.str.12, %9918 ], [ @.str.9, %9914 ]
  store i32 %9909, ptr %1545, align 4, !tbaa !5
  %9920 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9921 = load i32, ptr @test_count, align 4, !tbaa !5
  %9922 = load i32, ptr %1491, align 4, !tbaa !5
  %9923 = call ptr @s2n_strerror(i32 noundef %9922, ptr noundef nonnull @.str.11) #12
  %9924 = load i32, ptr %1491, align 4, !tbaa !5
  %9925 = call ptr @s2n_strerror_debug(i32 noundef %9924, ptr noundef nonnull @.str.11) #12
  %9926 = load i32, ptr %1545, align 4, !tbaa !5
  %9927 = call ptr @strerror(i32 noundef %9926) #12
  %9928 = load i32, ptr %1545, align 4, !tbaa !5
  %9929 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9920, ptr noundef nonnull %.str.12.sink4792, i32 noundef %9921, ptr noundef nonnull @.str.214, ptr noundef nonnull @.str.8, i32 noundef 871, ptr noundef %9923, ptr noundef %9925, ptr noundef %9927, i32 noundef %9928) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9930:                                             ; preds = %9903
  %9931 = load ptr, ptr %38, align 8, !tbaa !9
  %9932 = getelementptr inbounds i8, ptr %9931, i64 2268
  call void @s2n_atomic_flag_clear(ptr noundef nonnull %9932) #12
  %9933 = load ptr, ptr %38, align 8, !tbaa !9
  %9934 = getelementptr inbounds i8, ptr %9933, i64 2264
  call void @s2n_atomic_flag_set(ptr noundef nonnull %9934) #12
  %9935 = load i32, ptr @test_count, align 4, !tbaa !5
  %9936 = add nsw i32 %9935, 1
  store i32 %9936, ptr @test_count, align 4, !tbaa !5
  %9937 = load ptr, ptr %38, align 8, !tbaa !9
  %9938 = call zeroext i1 @s2n_connection_check_io_status(ptr noundef %9937, i32 noundef 0) #12
  br i1 %9938, label %9939, label %9961

9939:                                             ; preds = %9930
  %9940 = load i32, ptr %1545, align 4, !tbaa !5
  %9941 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9942 = call i32 @s2n_print_stacktrace(ptr noundef %9941) #12
  %9943 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9944 = trunc nuw i8 %9943 to i1
  br i1 %9944, label %9945, label %9949

9945:                                             ; preds = %9939
  %9946 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9947 = call i32 @fileno(ptr noundef %9946) #12
  %9948 = call i32 @isatty(i32 noundef %9947) #12
  %.not1271 = icmp eq i32 %9948, 0
  br i1 %.not1271, label %9949, label %9950

9949:                                             ; preds = %9945, %9939
  br label %9950

9950:                                             ; preds = %9945, %9949
  %.str.12.sink4801 = phi ptr [ @.str.12, %9949 ], [ @.str.9, %9945 ]
  store i32 %9940, ptr %1545, align 4, !tbaa !5
  %9951 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9952 = load i32, ptr @test_count, align 4, !tbaa !5
  %9953 = load i32, ptr %1491, align 4, !tbaa !5
  %9954 = call ptr @s2n_strerror(i32 noundef %9953, ptr noundef nonnull @.str.11) #12
  %9955 = load i32, ptr %1491, align 4, !tbaa !5
  %9956 = call ptr @s2n_strerror_debug(i32 noundef %9955, ptr noundef nonnull @.str.11) #12
  %9957 = load i32, ptr %1545, align 4, !tbaa !5
  %9958 = call ptr @strerror(i32 noundef %9957) #12
  %9959 = load i32, ptr %1545, align 4, !tbaa !5
  %9960 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9951, ptr noundef nonnull %.str.12.sink4801, i32 noundef %9952, ptr noundef nonnull @.str.211, ptr noundef nonnull @.str.8, i32 noundef 876, ptr noundef %9954, ptr noundef %9956, ptr noundef %9958, i32 noundef %9959) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9961:                                             ; preds = %9930
  %9962 = load i32, ptr @test_count, align 4, !tbaa !5
  %9963 = add nsw i32 %9962, 1
  store i32 %9963, ptr @test_count, align 4, !tbaa !5
  %9964 = load ptr, ptr %38, align 8, !tbaa !9
  %9965 = call zeroext i1 @s2n_connection_check_io_status(ptr noundef %9964, i32 noundef 1) #12
  br i1 %9965, label %9966, label %9988

9966:                                             ; preds = %9961
  %9967 = load i32, ptr %1545, align 4, !tbaa !5
  %9968 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9969 = call i32 @s2n_print_stacktrace(ptr noundef %9968) #12
  %9970 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9971 = trunc nuw i8 %9970 to i1
  br i1 %9971, label %9972, label %9976

9972:                                             ; preds = %9966
  %9973 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9974 = call i32 @fileno(ptr noundef %9973) #12
  %9975 = call i32 @isatty(i32 noundef %9974) #12
  %.not1270 = icmp eq i32 %9975, 0
  br i1 %.not1270, label %9976, label %9977

9976:                                             ; preds = %9972, %9966
  br label %9977

9977:                                             ; preds = %9972, %9976
  %.str.12.sink4810 = phi ptr [ @.str.12, %9976 ], [ @.str.9, %9972 ]
  store i32 %9967, ptr %1545, align 4, !tbaa !5
  %9978 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9979 = load i32, ptr @test_count, align 4, !tbaa !5
  %9980 = load i32, ptr %1491, align 4, !tbaa !5
  %9981 = call ptr @s2n_strerror(i32 noundef %9980, ptr noundef nonnull @.str.11) #12
  %9982 = load i32, ptr %1491, align 4, !tbaa !5
  %9983 = call ptr @s2n_strerror_debug(i32 noundef %9982, ptr noundef nonnull @.str.11) #12
  %9984 = load i32, ptr %1545, align 4, !tbaa !5
  %9985 = call ptr @strerror(i32 noundef %9984) #12
  %9986 = load i32, ptr %1545, align 4, !tbaa !5
  %9987 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9978, ptr noundef nonnull %.str.12.sink4810, i32 noundef %9979, ptr noundef nonnull @.str.212, ptr noundef nonnull @.str.8, i32 noundef 877, ptr noundef %9981, ptr noundef %9983, ptr noundef %9985, i32 noundef %9986) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9988:                                             ; preds = %9961
  %9989 = load i32, ptr @test_count, align 4, !tbaa !5
  %9990 = add nsw i32 %9989, 1
  store i32 %9990, ptr @test_count, align 4, !tbaa !5
  %9991 = load ptr, ptr %38, align 8, !tbaa !9
  %9992 = call zeroext i1 @s2n_connection_check_io_status(ptr noundef %9991, i32 noundef 2) #12
  br i1 %9992, label %9993, label %10015

9993:                                             ; preds = %9988
  %9994 = load i32, ptr %1545, align 4, !tbaa !5
  %9995 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9996 = call i32 @s2n_print_stacktrace(ptr noundef %9995) #12
  %9997 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9998 = trunc nuw i8 %9997 to i1
  br i1 %9998, label %9999, label %10003

9999:                                             ; preds = %9993
  %10000 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10001 = call i32 @fileno(ptr noundef %10000) #12
  %10002 = call i32 @isatty(i32 noundef %10001) #12
  %.not1269 = icmp eq i32 %10002, 0
  br i1 %.not1269, label %10003, label %10004

10003:                                            ; preds = %9999, %9993
  br label %10004

10004:                                            ; preds = %9999, %10003
  %.str.12.sink4819 = phi ptr [ @.str.12, %10003 ], [ @.str.9, %9999 ]
  store i32 %9994, ptr %1545, align 4, !tbaa !5
  %10005 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10006 = load i32, ptr @test_count, align 4, !tbaa !5
  %10007 = load i32, ptr %1491, align 4, !tbaa !5
  %10008 = call ptr @s2n_strerror(i32 noundef %10007, ptr noundef nonnull @.str.11) #12
  %10009 = load i32, ptr %1491, align 4, !tbaa !5
  %10010 = call ptr @s2n_strerror_debug(i32 noundef %10009, ptr noundef nonnull @.str.11) #12
  %10011 = load i32, ptr %1545, align 4, !tbaa !5
  %10012 = call ptr @strerror(i32 noundef %10011) #12
  %10013 = load i32, ptr %1545, align 4, !tbaa !5
  %10014 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10005, ptr noundef nonnull %.str.12.sink4819, i32 noundef %10006, ptr noundef nonnull @.str.213, ptr noundef nonnull @.str.8, i32 noundef 878, ptr noundef %10008, ptr noundef %10010, ptr noundef %10012, i32 noundef %10013) #14
  call void @exit(i32 noundef 1) #15
  unreachable

10015:                                            ; preds = %9988
  %10016 = load i32, ptr @test_count, align 4, !tbaa !5
  %10017 = add nsw i32 %10016, 1
  store i32 %10017, ptr @test_count, align 4, !tbaa !5
  %10018 = load ptr, ptr %38, align 8, !tbaa !9
  %10019 = call zeroext i1 @s2n_connection_check_io_status(ptr noundef %10018, i32 noundef 3) #12
  br i1 %10019, label %10042, label %10020

10020:                                            ; preds = %10015
  %10021 = load i32, ptr %1545, align 4, !tbaa !5
  %10022 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10023 = call i32 @s2n_print_stacktrace(ptr noundef %10022) #12
  %10024 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10025 = trunc nuw i8 %10024 to i1
  br i1 %10025, label %10026, label %10030

10026:                                            ; preds = %10020
  %10027 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10028 = call i32 @fileno(ptr noundef %10027) #12
  %10029 = call i32 @isatty(i32 noundef %10028) #12
  %.not1208 = icmp eq i32 %10029, 0
  br i1 %.not1208, label %10030, label %10031

10030:                                            ; preds = %10026, %10020
  br label %10031

10031:                                            ; preds = %10026, %10030
  %.str.12.sink4828 = phi ptr [ @.str.12, %10030 ], [ @.str.9, %10026 ]
  store i32 %10021, ptr %1545, align 4, !tbaa !5
  %10032 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10033 = load i32, ptr @test_count, align 4, !tbaa !5
  %10034 = load i32, ptr %1491, align 4, !tbaa !5
  %10035 = call ptr @s2n_strerror(i32 noundef %10034, ptr noundef nonnull @.str.11) #12
  %10036 = load i32, ptr %1491, align 4, !tbaa !5
  %10037 = call ptr @s2n_strerror_debug(i32 noundef %10036, ptr noundef nonnull @.str.11) #12
  %10038 = load i32, ptr %1545, align 4, !tbaa !5
  %10039 = call ptr @strerror(i32 noundef %10038) #12
  %10040 = load i32, ptr %1545, align 4, !tbaa !5
  %10041 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10032, ptr noundef nonnull %.str.12.sink4828, i32 noundef %10033, ptr noundef nonnull @.str.214, ptr noundef nonnull @.str.8, i32 noundef 879, ptr noundef %10035, ptr noundef %10037, ptr noundef %10039, i32 noundef %10040) #14
  call void @exit(i32 noundef 1) #15
  unreachable

10042:                                            ; preds = %10015
  %10043 = load ptr, ptr %38, align 8, !tbaa !9
  %10044 = getelementptr inbounds i8, ptr %10043, i64 2264
  call void @s2n_atomic_flag_clear(ptr noundef nonnull %10044) #12
  %10045 = load ptr, ptr %38, align 8, !tbaa !9
  %10046 = getelementptr inbounds i8, ptr %10045, i64 2264
  call void @s2n_atomic_flag_set(ptr noundef nonnull %10046) #12
  %10047 = load ptr, ptr %38, align 8, !tbaa !9
  %10048 = getelementptr inbounds i8, ptr %10047, i64 2268
  call void @s2n_atomic_flag_set(ptr noundef nonnull %10048) #12
  %10049 = load i32, ptr @test_count, align 4, !tbaa !5
  %10050 = add nsw i32 %10049, 1
  store i32 %10050, ptr @test_count, align 4, !tbaa !5
  %10051 = load ptr, ptr %38, align 8, !tbaa !9
  %10052 = call zeroext i1 @s2n_connection_check_io_status(ptr noundef %10051, i32 noundef 0) #12
  br i1 %10052, label %10053, label %10075

10053:                                            ; preds = %10042
  %10054 = load i32, ptr %1545, align 4, !tbaa !5
  %10055 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10056 = call i32 @s2n_print_stacktrace(ptr noundef %10055) #12
  %10057 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10058 = trunc nuw i8 %10057 to i1
  br i1 %10058, label %10059, label %10063

10059:                                            ; preds = %10053
  %10060 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10061 = call i32 @fileno(ptr noundef %10060) #12
  %10062 = call i32 @isatty(i32 noundef %10061) #12
  %.not1268 = icmp eq i32 %10062, 0
  br i1 %.not1268, label %10063, label %10064

10063:                                            ; preds = %10059, %10053
  br label %10064

10064:                                            ; preds = %10059, %10063
  %.str.12.sink4837 = phi ptr [ @.str.12, %10063 ], [ @.str.9, %10059 ]
  store i32 %10054, ptr %1545, align 4, !tbaa !5
  %10065 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10066 = load i32, ptr @test_count, align 4, !tbaa !5
  %10067 = load i32, ptr %1491, align 4, !tbaa !5
  %10068 = call ptr @s2n_strerror(i32 noundef %10067, ptr noundef nonnull @.str.11) #12
  %10069 = load i32, ptr %1491, align 4, !tbaa !5
  %10070 = call ptr @s2n_strerror_debug(i32 noundef %10069, ptr noundef nonnull @.str.11) #12
  %10071 = load i32, ptr %1545, align 4, !tbaa !5
  %10072 = call ptr @strerror(i32 noundef %10071) #12
  %10073 = load i32, ptr %1545, align 4, !tbaa !5
  %10074 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10065, ptr noundef nonnull %.str.12.sink4837, i32 noundef %10066, ptr noundef nonnull @.str.211, ptr noundef nonnull @.str.8, i32 noundef 885, ptr noundef %10068, ptr noundef %10070, ptr noundef %10072, i32 noundef %10073) #14
  call void @exit(i32 noundef 1) #15
  unreachable

10075:                                            ; preds = %10042
  %10076 = load i32, ptr @test_count, align 4, !tbaa !5
  %10077 = add nsw i32 %10076, 1
  store i32 %10077, ptr @test_count, align 4, !tbaa !5
  %10078 = load ptr, ptr %38, align 8, !tbaa !9
  %10079 = call zeroext i1 @s2n_connection_check_io_status(ptr noundef %10078, i32 noundef 1) #12
  br i1 %10079, label %10080, label %10102

10080:                                            ; preds = %10075
  %10081 = load i32, ptr %1545, align 4, !tbaa !5
  %10082 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10083 = call i32 @s2n_print_stacktrace(ptr noundef %10082) #12
  %10084 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10085 = trunc nuw i8 %10084 to i1
  br i1 %10085, label %10086, label %10090

10086:                                            ; preds = %10080
  %10087 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10088 = call i32 @fileno(ptr noundef %10087) #12
  %10089 = call i32 @isatty(i32 noundef %10088) #12
  %.not1267 = icmp eq i32 %10089, 0
  br i1 %.not1267, label %10090, label %10091

10090:                                            ; preds = %10086, %10080
  br label %10091

10091:                                            ; preds = %10086, %10090
  %.str.12.sink4846 = phi ptr [ @.str.12, %10090 ], [ @.str.9, %10086 ]
  store i32 %10081, ptr %1545, align 4, !tbaa !5
  %10092 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10093 = load i32, ptr @test_count, align 4, !tbaa !5
  %10094 = load i32, ptr %1491, align 4, !tbaa !5
  %10095 = call ptr @s2n_strerror(i32 noundef %10094, ptr noundef nonnull @.str.11) #12
  %10096 = load i32, ptr %1491, align 4, !tbaa !5
  %10097 = call ptr @s2n_strerror_debug(i32 noundef %10096, ptr noundef nonnull @.str.11) #12
  %10098 = load i32, ptr %1545, align 4, !tbaa !5
  %10099 = call ptr @strerror(i32 noundef %10098) #12
  %10100 = load i32, ptr %1545, align 4, !tbaa !5
  %10101 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10092, ptr noundef nonnull %.str.12.sink4846, i32 noundef %10093, ptr noundef nonnull @.str.212, ptr noundef nonnull @.str.8, i32 noundef 886, ptr noundef %10095, ptr noundef %10097, ptr noundef %10099, i32 noundef %10100) #14
  call void @exit(i32 noundef 1) #15
  unreachable

10102:                                            ; preds = %10075
  %10103 = load i32, ptr @test_count, align 4, !tbaa !5
  %10104 = add nsw i32 %10103, 1
  store i32 %10104, ptr @test_count, align 4, !tbaa !5
  %10105 = load ptr, ptr %38, align 8, !tbaa !9
  %10106 = call zeroext i1 @s2n_connection_check_io_status(ptr noundef %10105, i32 noundef 2) #12
  br i1 %10106, label %10107, label %10129

10107:                                            ; preds = %10102
  %10108 = load i32, ptr %1545, align 4, !tbaa !5
  %10109 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10110 = call i32 @s2n_print_stacktrace(ptr noundef %10109) #12
  %10111 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10112 = trunc nuw i8 %10111 to i1
  br i1 %10112, label %10113, label %10117

10113:                                            ; preds = %10107
  %10114 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10115 = call i32 @fileno(ptr noundef %10114) #12
  %10116 = call i32 @isatty(i32 noundef %10115) #12
  %.not1266 = icmp eq i32 %10116, 0
  br i1 %.not1266, label %10117, label %10118

10117:                                            ; preds = %10113, %10107
  br label %10118

10118:                                            ; preds = %10113, %10117
  %.str.12.sink4855 = phi ptr [ @.str.12, %10117 ], [ @.str.9, %10113 ]
  store i32 %10108, ptr %1545, align 4, !tbaa !5
  %10119 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10120 = load i32, ptr @test_count, align 4, !tbaa !5
  %10121 = load i32, ptr %1491, align 4, !tbaa !5
  %10122 = call ptr @s2n_strerror(i32 noundef %10121, ptr noundef nonnull @.str.11) #12
  %10123 = load i32, ptr %1491, align 4, !tbaa !5
  %10124 = call ptr @s2n_strerror_debug(i32 noundef %10123, ptr noundef nonnull @.str.11) #12
  %10125 = load i32, ptr %1545, align 4, !tbaa !5
  %10126 = call ptr @strerror(i32 noundef %10125) #12
  %10127 = load i32, ptr %1545, align 4, !tbaa !5
  %10128 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10119, ptr noundef nonnull %.str.12.sink4855, i32 noundef %10120, ptr noundef nonnull @.str.213, ptr noundef nonnull @.str.8, i32 noundef 887, ptr noundef %10122, ptr noundef %10124, ptr noundef %10126, i32 noundef %10127) #14
  call void @exit(i32 noundef 1) #15
  unreachable

10129:                                            ; preds = %10102
  %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 = load ptr, ptr %38, align 8, !tbaa !9
  %10133 = call zeroext i1 @s2n_connection_check_io_status(ptr noundef %10132, i32 noundef 3) #12
  br i1 %10133, label %10156, label %10134

10134:                                            ; preds = %10129
  %10135 = load i32, ptr %1545, align 4, !tbaa !5
  %10136 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10137 = call i32 @s2n_print_stacktrace(ptr noundef %10136) #12
  %10138 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10139 = trunc nuw i8 %10138 to i1
  br i1 %10139, label %10140, label %10144

10140:                                            ; preds = %10134
  %10141 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10142 = call i32 @fileno(ptr noundef %10141) #12
  %10143 = call i32 @isatty(i32 noundef %10142) #12
  %.not1209 = icmp eq i32 %10143, 0
  br i1 %.not1209, label %10144, label %10145

10144:                                            ; preds = %10140, %10134
  br label %10145

10145:                                            ; preds = %10140, %10144
  %.str.12.sink4864 = phi ptr [ @.str.12, %10144 ], [ @.str.9, %10140 ]
  store i32 %10135, ptr %1545, align 4, !tbaa !5
  %10146 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10147 = load i32, ptr @test_count, align 4, !tbaa !5
  %10148 = load i32, ptr %1491, align 4, !tbaa !5
  %10149 = call ptr @s2n_strerror(i32 noundef %10148, ptr noundef nonnull @.str.11) #12
  %10150 = load i32, ptr %1491, align 4, !tbaa !5
  %10151 = call ptr @s2n_strerror_debug(i32 noundef %10150, ptr noundef nonnull @.str.11) #12
  %10152 = load i32, ptr %1545, align 4, !tbaa !5
  %10153 = call ptr @strerror(i32 noundef %10152) #12
  %10154 = load i32, ptr %1545, align 4, !tbaa !5
  %10155 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10146, ptr noundef nonnull %.str.12.sink4864, i32 noundef %10147, ptr noundef nonnull @.str.214, ptr noundef nonnull @.str.8, i32 noundef 888, ptr noundef %10149, ptr noundef %10151, ptr noundef %10153, i32 noundef %10154) #14
  call void @exit(i32 noundef 1) #15
  unreachable

10156:                                            ; preds = %10129
  %10157 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %38) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %38) #12
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %39) #12
  %10158 = call ptr @s2n_connection_new(i32 noundef 1) #12
  store ptr %10158, ptr %39, align 8, !tbaa !9
  %10159 = load i32, ptr @test_count, align 4, !tbaa !5
  %10160 = add nsw i32 %10159, 1
  store i32 %10160, ptr @test_count, align 4, !tbaa !5
  %10161 = icmp eq ptr %10158, null
  br i1 %10161, label %10162, label %10184

10162:                                            ; preds = %10156
  %10163 = load i32, ptr %1545, align 4, !tbaa !5
  %10164 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10165 = call i32 @s2n_print_stacktrace(ptr noundef %10164) #12
  %10166 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10167 = trunc nuw i8 %10166 to i1
  br i1 %10167, label %10168, label %10172

10168:                                            ; preds = %10162
  %10169 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10170 = call i32 @fileno(ptr noundef %10169) #12
  %10171 = call i32 @isatty(i32 noundef %10170) #12
  %.not1265 = icmp eq i32 %10171, 0
  br i1 %.not1265, label %10172, label %10173

10172:                                            ; preds = %10168, %10162
  br label %10173

10173:                                            ; preds = %10168, %10172
  %.str.12.sink4873 = phi ptr [ @.str.12, %10172 ], [ @.str.9, %10168 ]
  store i32 %10163, ptr %1545, align 4, !tbaa !5
  %10174 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10175 = load i32, ptr @test_count, align 4, !tbaa !5
  %10176 = load i32, ptr %1491, align 4, !tbaa !5
  %10177 = call ptr @s2n_strerror(i32 noundef %10176, ptr noundef nonnull @.str.11) #12
  %10178 = load i32, ptr %1491, align 4, !tbaa !5
  %10179 = call ptr @s2n_strerror_debug(i32 noundef %10178, ptr noundef nonnull @.str.11) #12
  %10180 = load i32, ptr %1545, align 4, !tbaa !5
  %10181 = call ptr @strerror(i32 noundef %10180) #12
  %10182 = load i32, ptr %1545, align 4, !tbaa !5
  %10183 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10174, ptr noundef nonnull %.str.12.sink4873, i32 noundef %10175, ptr noundef nonnull @.str.92, ptr noundef nonnull @.str.8, i32 noundef 895, ptr noundef %10177, ptr noundef %10179, ptr noundef %10181, i32 noundef %10182) #14
  call void @exit(i32 noundef 1) #15
  unreachable

10184:                                            ; preds = %10156
  %10185 = getelementptr inbounds i8, ptr %10158, i64 220
  store i8 34, ptr %10185, align 4, !tbaa !49
  %10186 = add nsw i32 %10159, 2
  store i32 %10186, ptr @test_count, align 4, !tbaa !5
  %10187 = call zeroext i1 @s2n_connection_check_io_status(ptr noundef nonnull %10158, i32 noundef 0) #12
  br i1 %10187, label %10210, label %10188

10188:                                            ; preds = %10184
  %10189 = load i32, ptr %1545, align 4, !tbaa !5
  %10190 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10191 = call i32 @s2n_print_stacktrace(ptr noundef %10190) #12
  %10192 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10193 = trunc nuw i8 %10192 to i1
  br i1 %10193, label %10194, label %10198

10194:                                            ; preds = %10188
  %10195 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10196 = call i32 @fileno(ptr noundef %10195) #12
  %10197 = call i32 @isatty(i32 noundef %10196) #12
  %.not1210 = icmp eq i32 %10197, 0
  br i1 %.not1210, label %10198, label %10199

10198:                                            ; preds = %10194, %10188
  br label %10199

10199:                                            ; preds = %10194, %10198
  %.str.12.sink4882 = phi ptr [ @.str.12, %10198 ], [ @.str.9, %10194 ]
  store i32 %10189, ptr %1545, align 4, !tbaa !5
  %10200 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10201 = load i32, ptr @test_count, align 4, !tbaa !5
  %10202 = load i32, ptr %1491, align 4, !tbaa !5
  %10203 = call ptr @s2n_strerror(i32 noundef %10202, ptr noundef nonnull @.str.11) #12
  %10204 = load i32, ptr %1491, align 4, !tbaa !5
  %10205 = call ptr @s2n_strerror_debug(i32 noundef %10204, ptr noundef nonnull @.str.11) #12
  %10206 = load i32, ptr %1545, align 4, !tbaa !5
  %10207 = call ptr @strerror(i32 noundef %10206) #12
  %10208 = load i32, ptr %1545, align 4, !tbaa !5
  %10209 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10200, ptr noundef nonnull %.str.12.sink4882, i32 noundef %10201, ptr noundef nonnull @.str.207, ptr noundef nonnull @.str.8, i32 noundef 899, ptr noundef %10203, ptr noundef %10205, ptr noundef %10207, i32 noundef %10208) #14
  call void @exit(i32 noundef 1) #15
  unreachable

10210:                                            ; preds = %10184
  %10211 = load i32, ptr @test_count, align 4, !tbaa !5
  %10212 = add nsw i32 %10211, 1
  store i32 %10212, ptr @test_count, align 4, !tbaa !5
  %10213 = load ptr, ptr %39, align 8, !tbaa !9
  %10214 = call zeroext i1 @s2n_connection_check_io_status(ptr noundef %10213, i32 noundef 1) #12
  br i1 %10214, label %10237, label %10215

10215:                                            ; preds = %10210
  %10216 = load i32, ptr %1545, align 4, !tbaa !5
  %10217 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10218 = call i32 @s2n_print_stacktrace(ptr noundef %10217) #12
  %10219 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10220 = trunc nuw i8 %10219 to i1
  br i1 %10220, label %10221, label %10225

10221:                                            ; preds = %10215
  %10222 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10223 = call i32 @fileno(ptr noundef %10222) #12
  %10224 = call i32 @isatty(i32 noundef %10223) #12
  %.not1211 = icmp eq i32 %10224, 0
  br i1 %.not1211, label %10225, label %10226

10225:                                            ; preds = %10221, %10215
  br label %10226

10226:                                            ; preds = %10221, %10225
  %.str.12.sink4891 = phi ptr [ @.str.12, %10225 ], [ @.str.9, %10221 ]
  store i32 %10216, ptr %1545, align 4, !tbaa !5
  %10227 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10228 = load i32, ptr @test_count, align 4, !tbaa !5
  %10229 = load i32, ptr %1491, align 4, !tbaa !5
  %10230 = call ptr @s2n_strerror(i32 noundef %10229, ptr noundef nonnull @.str.11) #12
  %10231 = load i32, ptr %1491, align 4, !tbaa !5
  %10232 = call ptr @s2n_strerror_debug(i32 noundef %10231, ptr noundef nonnull @.str.11) #12
  %10233 = load i32, ptr %1545, align 4, !tbaa !5
  %10234 = call ptr @strerror(i32 noundef %10233) #12
  %10235 = load i32, ptr %1545, align 4, !tbaa !5
  %10236 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10227, ptr noundef nonnull %.str.12.sink4891, i32 noundef %10228, ptr noundef nonnull @.str.208, ptr noundef nonnull @.str.8, i32 noundef 900, ptr noundef %10230, ptr noundef %10232, ptr noundef %10234, i32 noundef %10235) #14
  call void @exit(i32 noundef 1) #15
  unreachable

10237:                                            ; preds = %10210
  %10238 = load i32, ptr @test_count, align 4, !tbaa !5
  %10239 = add nsw i32 %10238, 1
  store i32 %10239, ptr @test_count, align 4, !tbaa !5
  %10240 = load ptr, ptr %39, align 8, !tbaa !9
  %10241 = call zeroext i1 @s2n_connection_check_io_status(ptr noundef %10240, i32 noundef 2) #12
  br i1 %10241, label %10264, label %10242

10242:                                            ; preds = %10237
  %10243 = load i32, ptr %1545, align 4, !tbaa !5
  %10244 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10245 = call i32 @s2n_print_stacktrace(ptr noundef %10244) #12
  %10246 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10247 = trunc nuw i8 %10246 to i1
  br i1 %10247, label %10248, label %10252

10248:                                            ; preds = %10242
  %10249 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10250 = call i32 @fileno(ptr noundef %10249) #12
  %10251 = call i32 @isatty(i32 noundef %10250) #12
  %.not1212 = icmp eq i32 %10251, 0
  br i1 %.not1212, label %10252, label %10253

10252:                                            ; preds = %10248, %10242
  br label %10253

10253:                                            ; preds = %10248, %10252
  %.str.12.sink4900 = phi ptr [ @.str.12, %10252 ], [ @.str.9, %10248 ]
  store i32 %10243, ptr %1545, align 4, !tbaa !5
  %10254 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10255 = load i32, ptr @test_count, align 4, !tbaa !5
  %10256 = load i32, ptr %1491, align 4, !tbaa !5
  %10257 = call ptr @s2n_strerror(i32 noundef %10256, ptr noundef nonnull @.str.11) #12
  %10258 = load i32, ptr %1491, align 4, !tbaa !5
  %10259 = call ptr @s2n_strerror_debug(i32 noundef %10258, ptr noundef nonnull @.str.11) #12
  %10260 = load i32, ptr %1545, align 4, !tbaa !5
  %10261 = call ptr @strerror(i32 noundef %10260) #12
  %10262 = load i32, ptr %1545, align 4, !tbaa !5
  %10263 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10254, ptr noundef nonnull %.str.12.sink4900, i32 noundef %10255, ptr noundef nonnull @.str.209, ptr noundef nonnull @.str.8, i32 noundef 901, ptr noundef %10257, ptr noundef %10259, ptr noundef %10261, i32 noundef %10262) #14
  call void @exit(i32 noundef 1) #15
  unreachable

10264:                                            ; preds = %10237
  %10265 = load i32, ptr @test_count, align 4, !tbaa !5
  %10266 = add nsw i32 %10265, 1
  store i32 %10266, ptr @test_count, align 4, !tbaa !5
  %10267 = load ptr, ptr %39, align 8, !tbaa !9
  %10268 = call zeroext i1 @s2n_connection_check_io_status(ptr noundef %10267, i32 noundef 3) #12
  br i1 %10268, label %10269, label %10291

10269:                                            ; preds = %10264
  %10270 = load i32, ptr %1545, align 4, !tbaa !5
  %10271 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10272 = call i32 @s2n_print_stacktrace(ptr noundef %10271) #12
  %10273 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10274 = trunc nuw i8 %10273 to i1
  br i1 %10274, label %10275, label %10279

10275:                                            ; preds = %10269
  %10276 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10277 = call i32 @fileno(ptr noundef %10276) #12
  %10278 = call i32 @isatty(i32 noundef %10277) #12
  %.not1264 = icmp eq i32 %10278, 0
  br i1 %.not1264, label %10279, label %10280

10279:                                            ; preds = %10275, %10269
  br label %10280

10280:                                            ; preds = %10275, %10279
  %.str.12.sink4909 = phi ptr [ @.str.12, %10279 ], [ @.str.9, %10275 ]
  store i32 %10270, ptr %1545, align 4, !tbaa !5
  %10281 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10282 = load i32, ptr @test_count, align 4, !tbaa !5
  %10283 = load i32, ptr %1491, align 4, !tbaa !5
  %10284 = call ptr @s2n_strerror(i32 noundef %10283, ptr noundef nonnull @.str.11) #12
  %10285 = load i32, ptr %1491, align 4, !tbaa !5
  %10286 = call ptr @s2n_strerror_debug(i32 noundef %10285, ptr noundef nonnull @.str.11) #12
  %10287 = load i32, ptr %1545, align 4, !tbaa !5
  %10288 = call ptr @strerror(i32 noundef %10287) #12
  %10289 = load i32, ptr %1545, align 4, !tbaa !5
  %10290 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10281, ptr noundef nonnull %.str.12.sink4909, i32 noundef %10282, ptr noundef nonnull @.str.210, ptr noundef nonnull @.str.8, i32 noundef 902, ptr noundef %10284, ptr noundef %10286, ptr noundef %10288, i32 noundef %10289) #14
  call void @exit(i32 noundef 1) #15
  unreachable

10291:                                            ; preds = %10264
  %10292 = load ptr, ptr %39, align 8, !tbaa !9
  %10293 = getelementptr inbounds i8, ptr %10292, i64 2268
  call void @s2n_atomic_flag_set(ptr noundef nonnull %10293) #12
  %10294 = load i32, ptr @test_count, align 4, !tbaa !5
  %10295 = add nsw i32 %10294, 1
  store i32 %10295, ptr @test_count, align 4, !tbaa !5
  %10296 = load ptr, ptr %39, align 8, !tbaa !9
  %10297 = call zeroext i1 @s2n_connection_check_io_status(ptr noundef %10296, i32 noundef 0) #12
  br i1 %10297, label %10298, label %10320

10298:                                            ; preds = %10291
  %10299 = load i32, ptr %1545, align 4, !tbaa !5
  %10300 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10301 = call i32 @s2n_print_stacktrace(ptr noundef %10300) #12
  %10302 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10303 = trunc nuw i8 %10302 to i1
  br i1 %10303, label %10304, label %10308

10304:                                            ; preds = %10298
  %10305 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10306 = call i32 @fileno(ptr noundef %10305) #12
  %10307 = call i32 @isatty(i32 noundef %10306) #12
  %.not1263 = icmp eq i32 %10307, 0
  br i1 %.not1263, label %10308, label %10309

10308:                                            ; preds = %10304, %10298
  br label %10309

10309:                                            ; preds = %10304, %10308
  %.str.12.sink4918 = phi ptr [ @.str.12, %10308 ], [ @.str.9, %10304 ]
  store i32 %10299, ptr %1545, align 4, !tbaa !5
  %10310 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10311 = load i32, ptr @test_count, align 4, !tbaa !5
  %10312 = load i32, ptr %1491, align 4, !tbaa !5
  %10313 = call ptr @s2n_strerror(i32 noundef %10312, ptr noundef nonnull @.str.11) #12
  %10314 = load i32, ptr %1491, align 4, !tbaa !5
  %10315 = call ptr @s2n_strerror_debug(i32 noundef %10314, ptr noundef nonnull @.str.11) #12
  %10316 = load i32, ptr %1545, align 4, !tbaa !5
  %10317 = call ptr @strerror(i32 noundef %10316) #12
  %10318 = load i32, ptr %1545, align 4, !tbaa !5
  %10319 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10310, ptr noundef nonnull %.str.12.sink4918, i32 noundef %10311, ptr noundef nonnull @.str.211, ptr noundef nonnull @.str.8, i32 noundef 906, ptr noundef %10313, ptr noundef %10315, ptr noundef %10317, i32 noundef %10318) #14
  call void @exit(i32 noundef 1) #15
  unreachable

10320:                                            ; preds = %10291
  %10321 = load i32, ptr @test_count, align 4, !tbaa !5
  %10322 = add nsw i32 %10321, 1
  store i32 %10322, ptr @test_count, align 4, !tbaa !5
  %10323 = load ptr, ptr %39, align 8, !tbaa !9
  %10324 = call zeroext i1 @s2n_connection_check_io_status(ptr noundef %10323, i32 noundef 1) #12
  br i1 %10324, label %10347, label %10325

10325:                                            ; preds = %10320
  %10326 = load i32, ptr %1545, align 4, !tbaa !5
  %10327 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10328 = call i32 @s2n_print_stacktrace(ptr noundef %10327) #12
  %10329 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10330 = trunc nuw i8 %10329 to i1
  br i1 %10330, label %10331, label %10335

10331:                                            ; preds = %10325
  %10332 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10333 = call i32 @fileno(ptr noundef %10332) #12
  %10334 = call i32 @isatty(i32 noundef %10333) #12
  %.not1213 = icmp eq i32 %10334, 0
  br i1 %.not1213, label %10335, label %10336

10335:                                            ; preds = %10331, %10325
  br label %10336

10336:                                            ; preds = %10331, %10335
  %.str.12.sink4927 = phi ptr [ @.str.12, %10335 ], [ @.str.9, %10331 ]
  store i32 %10326, ptr %1545, align 4, !tbaa !5
  %10337 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10338 = load i32, ptr @test_count, align 4, !tbaa !5
  %10339 = load i32, ptr %1491, align 4, !tbaa !5
  %10340 = call ptr @s2n_strerror(i32 noundef %10339, ptr noundef nonnull @.str.11) #12
  %10341 = load i32, ptr %1491, align 4, !tbaa !5
  %10342 = call ptr @s2n_strerror_debug(i32 noundef %10341, ptr noundef nonnull @.str.11) #12
  %10343 = load i32, ptr %1545, align 4, !tbaa !5
  %10344 = call ptr @strerror(i32 noundef %10343) #12
  %10345 = load i32, ptr %1545, align 4, !tbaa !5
  %10346 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10337, ptr noundef nonnull %.str.12.sink4927, i32 noundef %10338, ptr noundef nonnull @.str.208, ptr noundef nonnull @.str.8, i32 noundef 907, ptr noundef %10340, ptr noundef %10342, ptr noundef %10344, i32 noundef %10345) #14
  call void @exit(i32 noundef 1) #15
  unreachable

10347:                                            ; preds = %10320
  %10348 = load i32, ptr @test_count, align 4, !tbaa !5
  %10349 = add nsw i32 %10348, 1
  store i32 %10349, ptr @test_count, align 4, !tbaa !5
  %10350 = load ptr, ptr %39, align 8, !tbaa !9
  %10351 = call zeroext i1 @s2n_connection_check_io_status(ptr noundef %10350, i32 noundef 2) #12
  br i1 %10351, label %10352, label %10374

10352:                                            ; preds = %10347
  %10353 = load i32, ptr %1545, align 4, !tbaa !5
  %10354 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10355 = call i32 @s2n_print_stacktrace(ptr noundef %10354) #12
  %10356 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10357 = trunc nuw i8 %10356 to i1
  br i1 %10357, label %10358, label %10362

10358:                                            ; preds = %10352
  %10359 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10360 = call i32 @fileno(ptr noundef %10359) #12
  %10361 = call i32 @isatty(i32 noundef %10360) #12
  %.not1262 = icmp eq i32 %10361, 0
  br i1 %.not1262, label %10362, label %10363

10362:                                            ; preds = %10358, %10352
  br label %10363

10363:                                            ; preds = %10358, %10362
  %.str.12.sink4936 = phi ptr [ @.str.12, %10362 ], [ @.str.9, %10358 ]
  store i32 %10353, ptr %1545, align 4, !tbaa !5
  %10364 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10365 = load i32, ptr @test_count, align 4, !tbaa !5
  %10366 = load i32, ptr %1491, align 4, !tbaa !5
  %10367 = call ptr @s2n_strerror(i32 noundef %10366, ptr noundef nonnull @.str.11) #12
  %10368 = load i32, ptr %1491, align 4, !tbaa !5
  %10369 = call ptr @s2n_strerror_debug(i32 noundef %10368, ptr noundef nonnull @.str.11) #12
  %10370 = load i32, ptr %1545, align 4, !tbaa !5
  %10371 = call ptr @strerror(i32 noundef %10370) #12
  %10372 = load i32, ptr %1545, align 4, !tbaa !5
  %10373 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10364, ptr noundef nonnull %.str.12.sink4936, i32 noundef %10365, ptr noundef nonnull @.str.213, ptr noundef nonnull @.str.8, i32 noundef 908, ptr noundef %10367, ptr noundef %10369, ptr noundef %10371, i32 noundef %10372) #14
  call void @exit(i32 noundef 1) #15
  unreachable

10374:                                            ; preds = %10347
  %10375 = load i32, ptr @test_count, align 4, !tbaa !5
  %10376 = add nsw i32 %10375, 1
  store i32 %10376, ptr @test_count, align 4, !tbaa !5
  %10377 = load ptr, ptr %39, align 8, !tbaa !9
  %10378 = call zeroext i1 @s2n_connection_check_io_status(ptr noundef %10377, i32 noundef 3) #12
  br i1 %10378, label %10379, label %10401

10379:                                            ; preds = %10374
  %10380 = load i32, ptr %1545, align 4, !tbaa !5
  %10381 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10382 = call i32 @s2n_print_stacktrace(ptr noundef %10381) #12
  %10383 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10384 = trunc nuw i8 %10383 to i1
  br i1 %10384, label %10385, label %10389

10385:                                            ; preds = %10379
  %10386 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10387 = call i32 @fileno(ptr noundef %10386) #12
  %10388 = call i32 @isatty(i32 noundef %10387) #12
  %.not1261 = icmp eq i32 %10388, 0
  br i1 %.not1261, label %10389, label %10390

10389:                                            ; preds = %10385, %10379
  br label %10390

10390:                                            ; preds = %10385, %10389
  %.str.12.sink4945 = phi ptr [ @.str.12, %10389 ], [ @.str.9, %10385 ]
  store i32 %10380, ptr %1545, align 4, !tbaa !5
  %10391 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10392 = load i32, ptr @test_count, align 4, !tbaa !5
  %10393 = load i32, ptr %1491, align 4, !tbaa !5
  %10394 = call ptr @s2n_strerror(i32 noundef %10393, ptr noundef nonnull @.str.11) #12
  %10395 = load i32, ptr %1491, align 4, !tbaa !5
  %10396 = call ptr @s2n_strerror_debug(i32 noundef %10395, ptr noundef nonnull @.str.11) #12
  %10397 = load i32, ptr %1545, align 4, !tbaa !5
  %10398 = call ptr @strerror(i32 noundef %10397) #12
  %10399 = load i32, ptr %1545, align 4, !tbaa !5
  %10400 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10391, ptr noundef nonnull %.str.12.sink4945, i32 noundef %10392, ptr noundef nonnull @.str.210, ptr noundef nonnull @.str.8, i32 noundef 909, ptr noundef %10394, ptr noundef %10396, ptr noundef %10398, i32 noundef %10399) #14
  call void @exit(i32 noundef 1) #15
  unreachable

10401:                                            ; preds = %10374
  %10402 = load ptr, ptr %39, align 8, !tbaa !9
  %10403 = getelementptr inbounds i8, ptr %10402, i64 2268
  call void @s2n_atomic_flag_clear(ptr noundef nonnull %10403) #12
  %10404 = load ptr, ptr %39, align 8, !tbaa !9
  %10405 = getelementptr inbounds i8, ptr %10404, i64 2264
  call void @s2n_atomic_flag_set(ptr noundef nonnull %10405) #12
  %10406 = load i32, ptr @test_count, align 4, !tbaa !5
  %10407 = add nsw i32 %10406, 1
  store i32 %10407, ptr @test_count, align 4, !tbaa !5
  %10408 = load ptr, ptr %39, align 8, !tbaa !9
  %10409 = call zeroext i1 @s2n_connection_check_io_status(ptr noundef %10408, i32 noundef 0) #12
  br i1 %10409, label %10432, label %10410

10410:                                            ; preds = %10401
  %10411 = load i32, ptr %1545, align 4, !tbaa !5
  %10412 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10413 = call i32 @s2n_print_stacktrace(ptr noundef %10412) #12
  %10414 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10415 = trunc nuw i8 %10414 to i1
  br i1 %10415, label %10416, label %10420

10416:                                            ; preds = %10410
  %10417 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10418 = call i32 @fileno(ptr noundef %10417) #12
  %10419 = call i32 @isatty(i32 noundef %10418) #12
  %.not1214 = icmp eq i32 %10419, 0
  br i1 %.not1214, label %10420, label %10421

10420:                                            ; preds = %10416, %10410
  br label %10421

10421:                                            ; preds = %10416, %10420
  %.str.12.sink4954 = phi ptr [ @.str.12, %10420 ], [ @.str.9, %10416 ]
  store i32 %10411, ptr %1545, align 4, !tbaa !5
  %10422 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10423 = load i32, ptr @test_count, align 4, !tbaa !5
  %10424 = load i32, ptr %1491, align 4, !tbaa !5
  %10425 = call ptr @s2n_strerror(i32 noundef %10424, ptr noundef nonnull @.str.11) #12
  %10426 = load i32, ptr %1491, align 4, !tbaa !5
  %10427 = call ptr @s2n_strerror_debug(i32 noundef %10426, ptr noundef nonnull @.str.11) #12
  %10428 = load i32, ptr %1545, align 4, !tbaa !5
  %10429 = call ptr @strerror(i32 noundef %10428) #12
  %10430 = load i32, ptr %1545, align 4, !tbaa !5
  %10431 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10422, ptr noundef nonnull %.str.12.sink4954, i32 noundef %10423, ptr noundef nonnull @.str.207, ptr noundef nonnull @.str.8, i32 noundef 914, ptr noundef %10425, ptr noundef %10427, ptr noundef %10429, i32 noundef %10430) #14
  call void @exit(i32 noundef 1) #15
  unreachable

10432:                                            ; preds = %10401
  %10433 = load i32, ptr @test_count, align 4, !tbaa !5
  %10434 = add nsw i32 %10433, 1
  store i32 %10434, ptr @test_count, align 4, !tbaa !5
  %10435 = load ptr, ptr %39, align 8, !tbaa !9
  %10436 = call zeroext i1 @s2n_connection_check_io_status(ptr noundef %10435, i32 noundef 1) #12
  br i1 %10436, label %10437, label %10459

10437:                                            ; preds = %10432
  %10438 = load i32, ptr %1545, align 4, !tbaa !5
  %10439 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10440 = call i32 @s2n_print_stacktrace(ptr noundef %10439) #12
  %10441 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10442 = trunc nuw i8 %10441 to i1
  br i1 %10442, label %10443, label %10447

10443:                                            ; preds = %10437
  %10444 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10445 = call i32 @fileno(ptr noundef %10444) #12
  %10446 = call i32 @isatty(i32 noundef %10445) #12
  %.not1260 = icmp eq i32 %10446, 0
  br i1 %.not1260, label %10447, label %10448

10447:                                            ; preds = %10443, %10437
  br label %10448

10448:                                            ; preds = %10443, %10447
  %.str.12.sink4963 = phi ptr [ @.str.12, %10447 ], [ @.str.9, %10443 ]
  store i32 %10438, ptr %1545, align 4, !tbaa !5
  %10449 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10450 = load i32, ptr @test_count, align 4, !tbaa !5
  %10451 = load i32, ptr %1491, align 4, !tbaa !5
  %10452 = call ptr @s2n_strerror(i32 noundef %10451, ptr noundef nonnull @.str.11) #12
  %10453 = load i32, ptr %1491, align 4, !tbaa !5
  %10454 = call ptr @s2n_strerror_debug(i32 noundef %10453, ptr noundef nonnull @.str.11) #12
  %10455 = load i32, ptr %1545, align 4, !tbaa !5
  %10456 = call ptr @strerror(i32 noundef %10455) #12
  %10457 = load i32, ptr %1545, align 4, !tbaa !5
  %10458 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10449, ptr noundef nonnull %.str.12.sink4963, i32 noundef %10450, ptr noundef nonnull @.str.212, ptr noundef nonnull @.str.8, i32 noundef 915, ptr noundef %10452, ptr noundef %10454, ptr noundef %10456, i32 noundef %10457) #14
  call void @exit(i32 noundef 1) #15
  unreachable

10459:                                            ; preds = %10432
  %10460 = load i32, ptr @test_count, align 4, !tbaa !5
  %10461 = add nsw i32 %10460, 1
  store i32 %10461, ptr @test_count, align 4, !tbaa !5
  %10462 = load ptr, ptr %39, align 8, !tbaa !9
  %10463 = call zeroext i1 @s2n_connection_check_io_status(ptr noundef %10462, i32 noundef 2) #12
  br i1 %10463, label %10464, label %10486

10464:                                            ; preds = %10459
  %10465 = load i32, ptr %1545, align 4, !tbaa !5
  %10466 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10467 = call i32 @s2n_print_stacktrace(ptr noundef %10466) #12
  %10468 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10469 = trunc nuw i8 %10468 to i1
  br i1 %10469, label %10470, label %10474

10470:                                            ; preds = %10464
  %10471 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10472 = call i32 @fileno(ptr noundef %10471) #12
  %10473 = call i32 @isatty(i32 noundef %10472) #12
  %.not1259 = icmp eq i32 %10473, 0
  br i1 %.not1259, label %10474, label %10475

10474:                                            ; preds = %10470, %10464
  br label %10475

10475:                                            ; preds = %10470, %10474
  %.str.12.sink4972 = phi ptr [ @.str.12, %10474 ], [ @.str.9, %10470 ]
  store i32 %10465, ptr %1545, align 4, !tbaa !5
  %10476 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10477 = load i32, ptr @test_count, align 4, !tbaa !5
  %10478 = load i32, ptr %1491, align 4, !tbaa !5
  %10479 = call ptr @s2n_strerror(i32 noundef %10478, ptr noundef nonnull @.str.11) #12
  %10480 = load i32, ptr %1491, align 4, !tbaa !5
  %10481 = call ptr @s2n_strerror_debug(i32 noundef %10480, ptr noundef nonnull @.str.11) #12
  %10482 = load i32, ptr %1545, align 4, !tbaa !5
  %10483 = call ptr @strerror(i32 noundef %10482) #12
  %10484 = load i32, ptr %1545, align 4, !tbaa !5
  %10485 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10476, ptr noundef nonnull %.str.12.sink4972, i32 noundef %10477, ptr noundef nonnull @.str.213, ptr noundef nonnull @.str.8, i32 noundef 916, ptr noundef %10479, ptr noundef %10481, ptr noundef %10483, i32 noundef %10484) #14
  call void @exit(i32 noundef 1) #15
  unreachable

10486:                                            ; preds = %10459
  %10487 = load i32, ptr @test_count, align 4, !tbaa !5
  %10488 = add nsw i32 %10487, 1
  store i32 %10488, ptr @test_count, align 4, !tbaa !5
  %10489 = load ptr, ptr %39, align 8, !tbaa !9
  %10490 = call zeroext i1 @s2n_connection_check_io_status(ptr noundef %10489, i32 noundef 3) #12
  br i1 %10490, label %10491, label %10513

10491:                                            ; preds = %10486
  %10492 = load i32, ptr %1545, align 4, !tbaa !5
  %10493 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10494 = call i32 @s2n_print_stacktrace(ptr noundef %10493) #12
  %10495 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10496 = trunc nuw i8 %10495 to i1
  br i1 %10496, label %10497, label %10501

10497:                                            ; preds = %10491
  %10498 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10499 = call i32 @fileno(ptr noundef %10498) #12
  %10500 = call i32 @isatty(i32 noundef %10499) #12
  %.not1258 = icmp eq i32 %10500, 0
  br i1 %.not1258, label %10501, label %10502

10501:                                            ; preds = %10497, %10491
  br label %10502

10502:                                            ; preds = %10497, %10501
  %.str.12.sink4981 = phi ptr [ @.str.12, %10501 ], [ @.str.9, %10497 ]
  store i32 %10492, ptr %1545, align 4, !tbaa !5
  %10503 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10504 = load i32, ptr @test_count, align 4, !tbaa !5
  %10505 = load i32, ptr %1491, align 4, !tbaa !5
  %10506 = call ptr @s2n_strerror(i32 noundef %10505, ptr noundef nonnull @.str.11) #12
  %10507 = load i32, ptr %1491, align 4, !tbaa !5
  %10508 = call ptr @s2n_strerror_debug(i32 noundef %10507, ptr noundef nonnull @.str.11) #12
  %10509 = load i32, ptr %1545, align 4, !tbaa !5
  %10510 = call ptr @strerror(i32 noundef %10509) #12
  %10511 = load i32, ptr %1545, align 4, !tbaa !5
  %10512 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10503, ptr noundef nonnull %.str.12.sink4981, i32 noundef %10504, ptr noundef nonnull @.str.210, ptr noundef nonnull @.str.8, i32 noundef 917, ptr noundef %10506, ptr noundef %10508, ptr noundef %10510, i32 noundef %10511) #14
  call void @exit(i32 noundef 1) #15
  unreachable

10513:                                            ; preds = %10486
  %10514 = load ptr, ptr %39, align 8, !tbaa !9
  %10515 = getelementptr inbounds i8, ptr %10514, i64 2264
  call void @s2n_atomic_flag_clear(ptr noundef nonnull %10515) #12
  %10516 = load ptr, ptr %39, align 8, !tbaa !9
  %10517 = getelementptr inbounds i8, ptr %10516, i64 2264
  call void @s2n_atomic_flag_set(ptr noundef nonnull %10517) #12
  %10518 = load ptr, ptr %39, align 8, !tbaa !9
  %10519 = getelementptr inbounds i8, ptr %10518, i64 2268
  call void @s2n_atomic_flag_set(ptr noundef nonnull %10519) #12
  %10520 = load i32, ptr @test_count, align 4, !tbaa !5
  %10521 = add nsw i32 %10520, 1
  store i32 %10521, ptr @test_count, align 4, !tbaa !5
  %10522 = load ptr, ptr %39, align 8, !tbaa !9
  %10523 = call zeroext i1 @s2n_connection_check_io_status(ptr noundef %10522, i32 noundef 0) #12
  br i1 %10523, label %10524, label %10546

10524:                                            ; preds = %10513
  %10525 = load i32, ptr %1545, align 4, !tbaa !5
  %10526 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10527 = call i32 @s2n_print_stacktrace(ptr noundef %10526) #12
  %10528 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10529 = trunc nuw i8 %10528 to i1
  br i1 %10529, label %10530, label %10534

10530:                                            ; preds = %10524
  %10531 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10532 = call i32 @fileno(ptr noundef %10531) #12
  %10533 = call i32 @isatty(i32 noundef %10532) #12
  %.not1257 = icmp eq i32 %10533, 0
  br i1 %.not1257, label %10534, label %10535

10534:                                            ; preds = %10530, %10524
  br label %10535

10535:                                            ; preds = %10530, %10534
  %.str.12.sink4990 = phi ptr [ @.str.12, %10534 ], [ @.str.9, %10530 ]
  store i32 %10525, ptr %1545, align 4, !tbaa !5
  %10536 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10537 = load i32, ptr @test_count, align 4, !tbaa !5
  %10538 = load i32, ptr %1491, align 4, !tbaa !5
  %10539 = call ptr @s2n_strerror(i32 noundef %10538, ptr noundef nonnull @.str.11) #12
  %10540 = load i32, ptr %1491, align 4, !tbaa !5
  %10541 = call ptr @s2n_strerror_debug(i32 noundef %10540, ptr noundef nonnull @.str.11) #12
  %10542 = load i32, ptr %1545, align 4, !tbaa !5
  %10543 = call ptr @strerror(i32 noundef %10542) #12
  %10544 = load i32, ptr %1545, align 4, !tbaa !5
  %10545 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10536, ptr noundef nonnull %.str.12.sink4990, i32 noundef %10537, ptr noundef nonnull @.str.211, ptr noundef nonnull @.str.8, i32 noundef 923, ptr noundef %10539, ptr noundef %10541, ptr noundef %10543, i32 noundef %10544) #14
  call void @exit(i32 noundef 1) #15
  unreachable

10546:                                            ; preds = %10513
  %10547 = load i32, ptr @test_count, align 4, !tbaa !5
  %10548 = add nsw i32 %10547, 1
  store i32 %10548, ptr @test_count, align 4, !tbaa !5
  %10549 = load ptr, ptr %39, align 8, !tbaa !9
  %10550 = call zeroext i1 @s2n_connection_check_io_status(ptr noundef %10549, i32 noundef 1) #12
  br i1 %10550, label %10551, label %10573

10551:                                            ; preds = %10546
  %10552 = load i32, ptr %1545, align 4, !tbaa !5
  %10553 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10554 = call i32 @s2n_print_stacktrace(ptr noundef %10553) #12
  %10555 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10556 = trunc nuw i8 %10555 to i1
  br i1 %10556, label %10557, label %10561

10557:                                            ; preds = %10551
  %10558 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10559 = call i32 @fileno(ptr noundef %10558) #12
  %10560 = call i32 @isatty(i32 noundef %10559) #12
  %.not1256 = icmp eq i32 %10560, 0
  br i1 %.not1256, label %10561, label %10562

10561:                                            ; preds = %10557, %10551
  br label %10562

10562:                                            ; preds = %10557, %10561
  %.str.12.sink4999 = phi ptr [ @.str.12, %10561 ], [ @.str.9, %10557 ]
  store i32 %10552, ptr %1545, align 4, !tbaa !5
  %10563 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10564 = load i32, ptr @test_count, align 4, !tbaa !5
  %10565 = load i32, ptr %1491, align 4, !tbaa !5
  %10566 = call ptr @s2n_strerror(i32 noundef %10565, ptr noundef nonnull @.str.11) #12
  %10567 = load i32, ptr %1491, align 4, !tbaa !5
  %10568 = call ptr @s2n_strerror_debug(i32 noundef %10567, ptr noundef nonnull @.str.11) #12
  %10569 = load i32, ptr %1545, align 4, !tbaa !5
  %10570 = call ptr @strerror(i32 noundef %10569) #12
  %10571 = load i32, ptr %1545, align 4, !tbaa !5
  %10572 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10563, ptr noundef nonnull %.str.12.sink4999, i32 noundef %10564, ptr noundef nonnull @.str.212, ptr noundef nonnull @.str.8, i32 noundef 924, ptr noundef %10566, ptr noundef %10568, ptr noundef %10570, i32 noundef %10571) #14
  call void @exit(i32 noundef 1) #15
  unreachable

10573:                                            ; preds = %10546
  %10574 = load i32, ptr @test_count, align 4, !tbaa !5
  %10575 = add nsw i32 %10574, 1
  store i32 %10575, ptr @test_count, align 4, !tbaa !5
  %10576 = load ptr, ptr %39, align 8, !tbaa !9
  %10577 = call zeroext i1 @s2n_connection_check_io_status(ptr noundef %10576, i32 noundef 2) #12
  br i1 %10577, label %10578, label %10600

10578:                                            ; preds = %10573
  %10579 = load i32, ptr %1545, align 4, !tbaa !5
  %10580 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10581 = call i32 @s2n_print_stacktrace(ptr noundef %10580) #12
  %10582 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10583 = trunc nuw i8 %10582 to i1
  br i1 %10583, label %10584, label %10588

10584:                                            ; preds = %10578
  %10585 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10586 = call i32 @fileno(ptr noundef %10585) #12
  %10587 = call i32 @isatty(i32 noundef %10586) #12
  %.not1255 = icmp eq i32 %10587, 0
  br i1 %.not1255, label %10588, label %10589

10588:                                            ; preds = %10584, %10578
  br label %10589

10589:                                            ; preds = %10584, %10588
  %.str.12.sink5008 = phi ptr [ @.str.12, %10588 ], [ @.str.9, %10584 ]
  store i32 %10579, ptr %1545, align 4, !tbaa !5
  %10590 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10591 = load i32, ptr @test_count, align 4, !tbaa !5
  %10592 = load i32, ptr %1491, align 4, !tbaa !5
  %10593 = call ptr @s2n_strerror(i32 noundef %10592, ptr noundef nonnull @.str.11) #12
  %10594 = load i32, ptr %1491, align 4, !tbaa !5
  %10595 = call ptr @s2n_strerror_debug(i32 noundef %10594, ptr noundef nonnull @.str.11) #12
  %10596 = load i32, ptr %1545, align 4, !tbaa !5
  %10597 = call ptr @strerror(i32 noundef %10596) #12
  %10598 = load i32, ptr %1545, align 4, !tbaa !5
  %10599 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10590, ptr noundef nonnull %.str.12.sink5008, i32 noundef %10591, ptr noundef nonnull @.str.213, ptr noundef nonnull @.str.8, i32 noundef 925, ptr noundef %10593, ptr noundef %10595, ptr noundef %10597, i32 noundef %10598) #14
  call void @exit(i32 noundef 1) #15
  unreachable

10600:                                            ; preds = %10573
  %10601 = load i32, ptr @test_count, align 4, !tbaa !5
  %10602 = add nsw i32 %10601, 1
  store i32 %10602, ptr @test_count, align 4, !tbaa !5
  %10603 = load ptr, ptr %39, align 8, !tbaa !9
  %10604 = call zeroext i1 @s2n_connection_check_io_status(ptr noundef %10603, i32 noundef 3) #12
  br i1 %10604, label %10627, label %10605

10605:                                            ; preds = %10600
  %10606 = load i32, ptr %1545, align 4, !tbaa !5
  %10607 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10608 = call i32 @s2n_print_stacktrace(ptr noundef %10607) #12
  %10609 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10610 = trunc nuw i8 %10609 to i1
  br i1 %10610, label %10611, label %10615

10611:                                            ; preds = %10605
  %10612 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10613 = call i32 @fileno(ptr noundef %10612) #12
  %10614 = call i32 @isatty(i32 noundef %10613) #12
  %.not1215 = icmp eq i32 %10614, 0
  br i1 %.not1215, label %10615, label %10616

10615:                                            ; preds = %10611, %10605
  br label %10616

10616:                                            ; preds = %10611, %10615
  %.str.12.sink5017 = phi ptr [ @.str.12, %10615 ], [ @.str.9, %10611 ]
  store i32 %10606, ptr %1545, align 4, !tbaa !5
  %10617 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10618 = load i32, ptr @test_count, align 4, !tbaa !5
  %10619 = load i32, ptr %1491, align 4, !tbaa !5
  %10620 = call ptr @s2n_strerror(i32 noundef %10619, ptr noundef nonnull @.str.11) #12
  %10621 = load i32, ptr %1491, align 4, !tbaa !5
  %10622 = call ptr @s2n_strerror_debug(i32 noundef %10621, ptr noundef nonnull @.str.11) #12
  %10623 = load i32, ptr %1545, align 4, !tbaa !5
  %10624 = call ptr @strerror(i32 noundef %10623) #12
  %10625 = load i32, ptr %1545, align 4, !tbaa !5
  %10626 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10617, ptr noundef nonnull %.str.12.sink5017, i32 noundef %10618, ptr noundef nonnull @.str.214, ptr noundef nonnull @.str.8, i32 noundef 926, ptr noundef %10620, ptr noundef %10622, ptr noundef %10624, i32 noundef %10625) #14
  call void @exit(i32 noundef 1) #15
  unreachable

10627:                                            ; preds = %10600
  %10628 = call i32 @s2n_connection_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 8, ptr nonnull %40) #12
  %10629 = call ptr @s2n_connection_new(i32 noundef 1) #12
  store ptr %10629, ptr %40, align 8, !tbaa !9
  %10630 = load i32, ptr @test_count, align 4, !tbaa !5
  %10631 = add nsw i32 %10630, 1
  store i32 %10631, ptr @test_count, align 4, !tbaa !5
  %10632 = icmp eq ptr %10629, null
  br i1 %10632, label %10633, label %10655

10633:                                            ; preds = %10627
  %10634 = load i32, ptr %1545, align 4, !tbaa !5
  %10635 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10636 = call i32 @s2n_print_stacktrace(ptr noundef %10635) #12
  %10637 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10638 = trunc nuw i8 %10637 to i1
  br i1 %10638, label %10639, label %10643

10639:                                            ; preds = %10633
  %10640 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10641 = call i32 @fileno(ptr noundef %10640) #12
  %10642 = call i32 @isatty(i32 noundef %10641) #12
  %.not1254 = icmp eq i32 %10642, 0
  br i1 %.not1254, label %10643, label %10644

10643:                                            ; preds = %10639, %10633
  br label %10644

10644:                                            ; preds = %10639, %10643
  %.str.12.sink5026 = phi ptr [ @.str.12, %10643 ], [ @.str.9, %10639 ]
  store i32 %10634, ptr %1545, align 4, !tbaa !5
  %10645 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10646 = load i32, ptr @test_count, align 4, !tbaa !5
  %10647 = load i32, ptr %1491, align 4, !tbaa !5
  %10648 = call ptr @s2n_strerror(i32 noundef %10647, ptr noundef nonnull @.str.11) #12
  %10649 = load i32, ptr %1491, align 4, !tbaa !5
  %10650 = call ptr @s2n_strerror_debug(i32 noundef %10649, ptr noundef nonnull @.str.11) #12
  %10651 = load i32, ptr %1545, align 4, !tbaa !5
  %10652 = call ptr @strerror(i32 noundef %10651) #12
  %10653 = load i32, ptr %1545, align 4, !tbaa !5
  %10654 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10645, ptr noundef nonnull %.str.12.sink5026, i32 noundef %10646, ptr noundef nonnull @.str.92, ptr noundef nonnull @.str.8, i32 noundef 935, ptr noundef %10648, ptr noundef %10650, ptr noundef %10652, i32 noundef %10653) #14
  call void @exit(i32 noundef 1) #15
  unreachable

10655:                                            ; preds = %10627
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %41) #12
  store i8 0, ptr %41, align 1, !tbaa !18
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %42) #12
  store i8 0, ptr %42, align 1, !tbaa !18
  %10656 = add nsw i32 %10630, 2
  store i32 %10656, ptr @test_count, align 4, !tbaa !5
  %10657 = call i32 @s2n_connection_get_key_update_counts(ptr noundef null, ptr noundef nonnull %41, ptr noundef nonnull %42) #12
  %10658 = icmp eq i32 %10657, -1
  br i1 %10658, label %10681, label %10659

10659:                                            ; preds = %10655
  %10660 = load i32, ptr %1545, align 4, !tbaa !5
  %10661 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10662 = call i32 @s2n_print_stacktrace(ptr noundef %10661) #12
  %10663 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10664 = trunc nuw i8 %10663 to i1
  br i1 %10664, label %10665, label %10669

10665:                                            ; preds = %10659
  %10666 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10667 = call i32 @fileno(ptr noundef %10666) #12
  %10668 = call i32 @isatty(i32 noundef %10667) #12
  %.not1216 = icmp eq i32 %10668, 0
  br i1 %.not1216, label %10669, label %10670

10669:                                            ; preds = %10665, %10659
  br label %10670

10670:                                            ; preds = %10665, %10669
  %.str.12.sink5035 = phi ptr [ @.str.12, %10669 ], [ @.str.9, %10665 ]
  store i32 %10660, ptr %1545, align 4, !tbaa !5
  %10671 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10672 = load i32, ptr @test_count, align 4, !tbaa !5
  %10673 = load i32, ptr %1491, align 4, !tbaa !5
  %10674 = call ptr @s2n_strerror(i32 noundef %10673, ptr noundef nonnull @.str.11) #12
  %10675 = load i32, ptr %1491, align 4, !tbaa !5
  %10676 = call ptr @s2n_strerror_debug(i32 noundef %10675, ptr noundef nonnull @.str.11) #12
  %10677 = load i32, ptr %1545, align 4, !tbaa !5
  %10678 = call ptr @strerror(i32 noundef %10677) #12
  %10679 = load i32, ptr %1545, align 4, !tbaa !5
  %10680 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10671, ptr noundef nonnull %.str.12.sink5035, i32 noundef %10672, ptr noundef nonnull @.str.215, ptr noundef nonnull @.str.8, i32 noundef 939, ptr noundef %10674, ptr noundef %10676, ptr noundef %10678, i32 noundef %10679) #14
  call void @exit(i32 noundef 1) #15
  unreachable

10681:                                            ; preds = %10655
  %10682 = load i32, ptr @test_count, align 4, !tbaa !5
  %10683 = add nsw i32 %10682, 1
  store i32 %10683, ptr @test_count, align 4, !tbaa !5
  %10684 = load i32, ptr %1491, align 4, !tbaa !5
  %10685 = icmp eq i32 %10684, 402653193
  br i1 %10685, label %10708, label %10686

10686:                                            ; preds = %10681
  %10687 = load i32, ptr %1545, align 4, !tbaa !5
  %10688 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10689 = call i32 @s2n_print_stacktrace(ptr noundef %10688) #12
  %10690 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10691 = trunc nuw i8 %10690 to i1
  br i1 %10691, label %10692, label %10696

10692:                                            ; preds = %10686
  %10693 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10694 = call i32 @fileno(ptr noundef %10693) #12
  %10695 = call i32 @isatty(i32 noundef %10694) #12
  %.not1217 = icmp eq i32 %10695, 0
  br i1 %.not1217, label %10696, label %10697

10696:                                            ; preds = %10692, %10686
  br label %10697

10697:                                            ; preds = %10692, %10696
  %.str.12.sink5044 = phi ptr [ @.str.12, %10696 ], [ @.str.9, %10692 ]
  store i32 %10687, ptr %1545, align 4, !tbaa !5
  %10698 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10699 = load i32, ptr @test_count, align 4, !tbaa !5
  %10700 = load i32, ptr %1491, align 4, !tbaa !5
  %10701 = call ptr @s2n_strerror(i32 noundef %10700, ptr noundef nonnull @.str.11) #12
  %10702 = load i32, ptr %1491, align 4, !tbaa !5
  %10703 = call ptr @s2n_strerror_debug(i32 noundef %10702, ptr noundef nonnull @.str.11) #12
  %10704 = load i32, ptr %1545, align 4, !tbaa !5
  %10705 = call ptr @strerror(i32 noundef %10704) #12
  %10706 = load i32, ptr %1545, align 4, !tbaa !5
  %10707 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10698, ptr noundef nonnull %.str.12.sink5044, i32 noundef %10699, ptr noundef nonnull @.str.91, ptr noundef nonnull @.str.8, i32 noundef 939, ptr noundef %10701, ptr noundef %10703, ptr noundef %10705, i32 noundef %10706) #14
  call void @exit(i32 noundef 1) #15
  unreachable

10708:                                            ; preds = %10681
  %10709 = add nsw i32 %10682, 2
  store i32 %10709, ptr @test_count, align 4, !tbaa !5
  %10710 = call ptr @s2n_strerror_debug(i32 noundef 402653193, ptr noundef nonnull @.str.11) #12
  %10711 = icmp eq ptr %10710, null
  br i1 %10711, label %10712, label %10734

10712:                                            ; preds = %10708
  %10713 = load i32, ptr %1545, align 4, !tbaa !5
  %10714 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10715 = call i32 @s2n_print_stacktrace(ptr noundef %10714) #12
  %10716 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10717 = trunc nuw i8 %10716 to i1
  br i1 %10717, label %10718, label %10722

10718:                                            ; preds = %10712
  %10719 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10720 = call i32 @fileno(ptr noundef %10719) #12
  %10721 = call i32 @isatty(i32 noundef %10720) #12
  %.not1253 = icmp eq i32 %10721, 0
  br i1 %.not1253, label %10722, label %10723

10722:                                            ; preds = %10718, %10712
  br label %10723

10723:                                            ; preds = %10718, %10722
  %.str.12.sink5053 = phi ptr [ @.str.12, %10722 ], [ @.str.9, %10718 ]
  store i32 %10713, ptr %1545, align 4, !tbaa !5
  %10724 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10725 = load i32, ptr @test_count, align 4, !tbaa !5
  %10726 = load i32, ptr %1491, align 4, !tbaa !5
  %10727 = call ptr @s2n_strerror(i32 noundef %10726, ptr noundef nonnull @.str.11) #12
  %10728 = load i32, ptr %1491, align 4, !tbaa !5
  %10729 = call ptr @s2n_strerror_debug(i32 noundef %10728, ptr noundef nonnull @.str.11) #12
  %10730 = load i32, ptr %1545, align 4, !tbaa !5
  %10731 = call ptr @strerror(i32 noundef %10730) #12
  %10732 = load i32, ptr %1545, align 4, !tbaa !5
  %10733 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10724, ptr noundef nonnull %.str.12.sink5053, i32 noundef %10725, ptr noundef nonnull @.str.54, ptr noundef nonnull @.str.8, i32 noundef 939, ptr noundef %10727, ptr noundef %10729, ptr noundef %10731, i32 noundef %10732) #14
  call void @exit(i32 noundef 1) #15
  unreachable

10734:                                            ; preds = %10708
  store i32 0, ptr %1491, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %1545, align 4, !tbaa !5
  %10735 = load i32, ptr @test_count, align 4, !tbaa !5
  %10736 = add nsw i32 %10735, 1
  store i32 %10736, ptr @test_count, align 4, !tbaa !5
  %10737 = load ptr, ptr %40, align 8, !tbaa !9
  %10738 = call i32 @s2n_connection_get_key_update_counts(ptr noundef %10737, ptr noundef null, ptr noundef nonnull %42) #12
  %10739 = icmp eq i32 %10738, -1
  br i1 %10739, label %10762, label %10740

10740:                                            ; preds = %10734
  %10741 = load i32, ptr %1545, align 4, !tbaa !5
  %10742 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10743 = call i32 @s2n_print_stacktrace(ptr noundef %10742) #12
  %10744 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10745 = trunc nuw i8 %10744 to i1
  br i1 %10745, label %10746, label %10750

10746:                                            ; preds = %10740
  %10747 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10748 = call i32 @fileno(ptr noundef %10747) #12
  %10749 = call i32 @isatty(i32 noundef %10748) #12
  %.not1218 = icmp eq i32 %10749, 0
  br i1 %.not1218, label %10750, label %10751

10750:                                            ; preds = %10746, %10740
  br label %10751

10751:                                            ; preds = %10746, %10750
  %.str.12.sink5062 = phi ptr [ @.str.12, %10750 ], [ @.str.9, %10746 ]
  store i32 %10741, ptr %1545, align 4, !tbaa !5
  %10752 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10753 = load i32, ptr @test_count, align 4, !tbaa !5
  %10754 = load i32, ptr %1491, align 4, !tbaa !5
  %10755 = call ptr @s2n_strerror(i32 noundef %10754, ptr noundef nonnull @.str.11) #12
  %10756 = load i32, ptr %1491, align 4, !tbaa !5
  %10757 = call ptr @s2n_strerror_debug(i32 noundef %10756, ptr noundef nonnull @.str.11) #12
  %10758 = load i32, ptr %1545, align 4, !tbaa !5
  %10759 = call ptr @strerror(i32 noundef %10758) #12
  %10760 = load i32, ptr %1545, align 4, !tbaa !5
  %10761 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10752, ptr noundef nonnull %.str.12.sink5062, i32 noundef %10753, ptr noundef nonnull @.str.216, ptr noundef nonnull @.str.8, i32 noundef 942, ptr noundef %10755, ptr noundef %10757, ptr noundef %10759, i32 noundef %10760) #14
  call void @exit(i32 noundef 1) #15
  unreachable

10762:                                            ; preds = %10734
  %10763 = load i32, ptr @test_count, align 4, !tbaa !5
  %10764 = add nsw i32 %10763, 1
  store i32 %10764, ptr @test_count, align 4, !tbaa !5
  %10765 = load i32, ptr %1491, align 4, !tbaa !5
  %10766 = icmp eq i32 %10765, 402653193
  br i1 %10766, label %10789, label %10767

10767:                                            ; preds = %10762
  %10768 = load i32, ptr %1545, align 4, !tbaa !5
  %10769 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10770 = call i32 @s2n_print_stacktrace(ptr noundef %10769) #12
  %10771 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10772 = trunc nuw i8 %10771 to i1
  br i1 %10772, label %10773, label %10777

10773:                                            ; preds = %10767
  %10774 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10775 = call i32 @fileno(ptr noundef %10774) #12
  %10776 = call i32 @isatty(i32 noundef %10775) #12
  %.not1219 = icmp eq i32 %10776, 0
  br i1 %.not1219, label %10777, label %10778

10777:                                            ; preds = %10773, %10767
  br label %10778

10778:                                            ; preds = %10773, %10777
  %.str.12.sink5071 = phi ptr [ @.str.12, %10777 ], [ @.str.9, %10773 ]
  store i32 %10768, ptr %1545, align 4, !tbaa !5
  %10779 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10780 = load i32, ptr @test_count, align 4, !tbaa !5
  %10781 = load i32, ptr %1491, align 4, !tbaa !5
  %10782 = call ptr @s2n_strerror(i32 noundef %10781, ptr noundef nonnull @.str.11) #12
  %10783 = load i32, ptr %1491, align 4, !tbaa !5
  %10784 = call ptr @s2n_strerror_debug(i32 noundef %10783, ptr noundef nonnull @.str.11) #12
  %10785 = load i32, ptr %1545, align 4, !tbaa !5
  %10786 = call ptr @strerror(i32 noundef %10785) #12
  %10787 = load i32, ptr %1545, align 4, !tbaa !5
  %10788 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10779, ptr noundef nonnull %.str.12.sink5071, i32 noundef %10780, ptr noundef nonnull @.str.91, ptr noundef nonnull @.str.8, i32 noundef 942, ptr noundef %10782, ptr noundef %10784, ptr noundef %10786, i32 noundef %10787) #14
  call void @exit(i32 noundef 1) #15
  unreachable

10789:                                            ; preds = %10762
  %10790 = add nsw i32 %10763, 2
  store i32 %10790, ptr @test_count, align 4, !tbaa !5
  %10791 = call ptr @s2n_strerror_debug(i32 noundef 402653193, ptr noundef nonnull @.str.11) #12
  %10792 = icmp eq ptr %10791, null
  br i1 %10792, label %10793, label %10815

10793:                                            ; preds = %10789
  %10794 = load i32, ptr %1545, align 4, !tbaa !5
  %10795 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10796 = call i32 @s2n_print_stacktrace(ptr noundef %10795) #12
  %10797 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10798 = trunc nuw i8 %10797 to i1
  br i1 %10798, label %10799, label %10803

10799:                                            ; preds = %10793
  %10800 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10801 = call i32 @fileno(ptr noundef %10800) #12
  %10802 = call i32 @isatty(i32 noundef %10801) #12
  %.not1252 = icmp eq i32 %10802, 0
  br i1 %.not1252, label %10803, label %10804

10803:                                            ; preds = %10799, %10793
  br label %10804

10804:                                            ; preds = %10799, %10803
  %.str.12.sink5080 = phi ptr [ @.str.12, %10803 ], [ @.str.9, %10799 ]
  store i32 %10794, ptr %1545, align 4, !tbaa !5
  %10805 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10806 = load i32, ptr @test_count, align 4, !tbaa !5
  %10807 = load i32, ptr %1491, align 4, !tbaa !5
  %10808 = call ptr @s2n_strerror(i32 noundef %10807, ptr noundef nonnull @.str.11) #12
  %10809 = load i32, ptr %1491, align 4, !tbaa !5
  %10810 = call ptr @s2n_strerror_debug(i32 noundef %10809, ptr noundef nonnull @.str.11) #12
  %10811 = load i32, ptr %1545, align 4, !tbaa !5
  %10812 = call ptr @strerror(i32 noundef %10811) #12
  %10813 = load i32, ptr %1545, align 4, !tbaa !5
  %10814 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10805, ptr noundef nonnull %.str.12.sink5080, i32 noundef %10806, ptr noundef nonnull @.str.54, ptr noundef nonnull @.str.8, i32 noundef 942, ptr noundef %10808, ptr noundef %10810, ptr noundef %10812, i32 noundef %10813) #14
  call void @exit(i32 noundef 1) #15
  unreachable

10815:                                            ; preds = %10789
  store i32 0, ptr %1491, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %1545, align 4, !tbaa !5
  %10816 = load i32, ptr @test_count, align 4, !tbaa !5
  %10817 = add nsw i32 %10816, 1
  store i32 %10817, ptr @test_count, align 4, !tbaa !5
  %10818 = load ptr, ptr %40, align 8, !tbaa !9
  %10819 = call i32 @s2n_connection_get_key_update_counts(ptr noundef %10818, ptr noundef nonnull %41, ptr noundef null) #12
  %10820 = icmp eq i32 %10819, -1
  br i1 %10820, label %10843, label %10821

10821:                                            ; preds = %10815
  %10822 = load i32, ptr %1545, align 4, !tbaa !5
  %10823 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10824 = call i32 @s2n_print_stacktrace(ptr noundef %10823) #12
  %10825 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10826 = trunc nuw i8 %10825 to i1
  br i1 %10826, label %10827, label %10831

10827:                                            ; preds = %10821
  %10828 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10829 = call i32 @fileno(ptr noundef %10828) #12
  %10830 = call i32 @isatty(i32 noundef %10829) #12
  %.not1220 = icmp eq i32 %10830, 0
  br i1 %.not1220, label %10831, label %10832

10831:                                            ; preds = %10827, %10821
  br label %10832

10832:                                            ; preds = %10827, %10831
  %.str.12.sink5089 = phi ptr [ @.str.12, %10831 ], [ @.str.9, %10827 ]
  store i32 %10822, ptr %1545, align 4, !tbaa !5
  %10833 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10834 = load i32, ptr @test_count, align 4, !tbaa !5
  %10835 = load i32, ptr %1491, align 4, !tbaa !5
  %10836 = call ptr @s2n_strerror(i32 noundef %10835, ptr noundef nonnull @.str.11) #12
  %10837 = load i32, ptr %1491, align 4, !tbaa !5
  %10838 = call ptr @s2n_strerror_debug(i32 noundef %10837, ptr noundef nonnull @.str.11) #12
  %10839 = load i32, ptr %1545, align 4, !tbaa !5
  %10840 = call ptr @strerror(i32 noundef %10839) #12
  %10841 = load i32, ptr %1545, align 4, !tbaa !5
  %10842 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10833, ptr noundef nonnull %.str.12.sink5089, i32 noundef %10834, ptr noundef nonnull @.str.217, ptr noundef nonnull @.str.8, i32 noundef 945, ptr noundef %10836, ptr noundef %10838, ptr noundef %10840, i32 noundef %10841) #14
  call void @exit(i32 noundef 1) #15
  unreachable

10843:                                            ; preds = %10815
  %10844 = load i32, ptr @test_count, align 4, !tbaa !5
  %10845 = add nsw i32 %10844, 1
  store i32 %10845, ptr @test_count, align 4, !tbaa !5
  %10846 = load i32, ptr %1491, align 4, !tbaa !5
  %10847 = icmp eq i32 %10846, 402653193
  br i1 %10847, label %10870, label %10848

10848:                                            ; preds = %10843
  %10849 = load i32, ptr %1545, align 4, !tbaa !5
  %10850 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10851 = call i32 @s2n_print_stacktrace(ptr noundef %10850) #12
  %10852 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10853 = trunc nuw i8 %10852 to i1
  br i1 %10853, label %10854, label %10858

10854:                                            ; preds = %10848
  %10855 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10856 = call i32 @fileno(ptr noundef %10855) #12
  %10857 = call i32 @isatty(i32 noundef %10856) #12
  %.not1221 = icmp eq i32 %10857, 0
  br i1 %.not1221, label %10858, label %10859

10858:                                            ; preds = %10854, %10848
  br label %10859

10859:                                            ; preds = %10854, %10858
  %.str.12.sink5098 = phi ptr [ @.str.12, %10858 ], [ @.str.9, %10854 ]
  store i32 %10849, ptr %1545, align 4, !tbaa !5
  %10860 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10861 = load i32, ptr @test_count, align 4, !tbaa !5
  %10862 = load i32, ptr %1491, align 4, !tbaa !5
  %10863 = call ptr @s2n_strerror(i32 noundef %10862, ptr noundef nonnull @.str.11) #12
  %10864 = load i32, ptr %1491, align 4, !tbaa !5
  %10865 = call ptr @s2n_strerror_debug(i32 noundef %10864, ptr noundef nonnull @.str.11) #12
  %10866 = load i32, ptr %1545, align 4, !tbaa !5
  %10867 = call ptr @strerror(i32 noundef %10866) #12
  %10868 = load i32, ptr %1545, align 4, !tbaa !5
  %10869 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10860, ptr noundef nonnull %.str.12.sink5098, i32 noundef %10861, ptr noundef nonnull @.str.91, ptr noundef nonnull @.str.8, i32 noundef 945, ptr noundef %10863, ptr noundef %10865, ptr noundef %10867, i32 noundef %10868) #14
  call void @exit(i32 noundef 1) #15
  unreachable

10870:                                            ; preds = %10843
  %10871 = add nsw i32 %10844, 2
  store i32 %10871, ptr @test_count, align 4, !tbaa !5
  %10872 = call ptr @s2n_strerror_debug(i32 noundef 402653193, ptr noundef nonnull @.str.11) #12
  %10873 = icmp eq ptr %10872, null
  br i1 %10873, label %10874, label %10896

10874:                                            ; preds = %10870
  %10875 = load i32, ptr %1545, align 4, !tbaa !5
  %10876 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10877 = call i32 @s2n_print_stacktrace(ptr noundef %10876) #12
  %10878 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10879 = trunc nuw i8 %10878 to i1
  br i1 %10879, label %10880, label %10884

10880:                                            ; preds = %10874
  %10881 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10882 = call i32 @fileno(ptr noundef %10881) #12
  %10883 = call i32 @isatty(i32 noundef %10882) #12
  %.not1251 = icmp eq i32 %10883, 0
  br i1 %.not1251, label %10884, label %10885

10884:                                            ; preds = %10880, %10874
  br label %10885

10885:                                            ; preds = %10880, %10884
  %.str.12.sink5107 = phi ptr [ @.str.12, %10884 ], [ @.str.9, %10880 ]
  store i32 %10875, ptr %1545, align 4, !tbaa !5
  %10886 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10887 = load i32, ptr @test_count, align 4, !tbaa !5
  %10888 = load i32, ptr %1491, align 4, !tbaa !5
  %10889 = call ptr @s2n_strerror(i32 noundef %10888, ptr noundef nonnull @.str.11) #12
  %10890 = load i32, ptr %1491, align 4, !tbaa !5
  %10891 = call ptr @s2n_strerror_debug(i32 noundef %10890, ptr noundef nonnull @.str.11) #12
  %10892 = load i32, ptr %1545, align 4, !tbaa !5
  %10893 = call ptr @strerror(i32 noundef %10892) #12
  %10894 = load i32, ptr %1545, align 4, !tbaa !5
  %10895 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10886, ptr noundef nonnull %.str.12.sink5107, i32 noundef %10887, ptr noundef nonnull @.str.54, ptr noundef nonnull @.str.8, i32 noundef 945, ptr noundef %10889, ptr noundef %10891, ptr noundef %10893, i32 noundef %10894) #14
  call void @exit(i32 noundef 1) #15
  unreachable

10896:                                            ; preds = %10870
  store i32 0, ptr %1491, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %1545, align 4, !tbaa !5
  %10897 = load ptr, ptr %40, align 8, !tbaa !9
  %10898 = getelementptr inbounds i8, ptr %10897, i64 4180
  store i8 10, ptr %10898, align 4, !tbaa !81
  %10899 = getelementptr inbounds i8, ptr %10897, i64 4181
  store i8 -1, ptr %10899, align 1, !tbaa !82
  %10900 = load i32, ptr @test_count, align 4, !tbaa !5
  %10901 = add nsw i32 %10900, 1
  store i32 %10901, ptr @test_count, align 4, !tbaa !5
  %10902 = call i32 @s2n_connection_get_key_update_counts(ptr noundef %10897, ptr noundef nonnull %41, ptr noundef nonnull %42) #12
  %10903 = icmp eq i32 %10902, -1
  br i1 %10903, label %10904, label %10926

10904:                                            ; preds = %10896
  %10905 = load i32, ptr %1545, align 4, !tbaa !5
  %10906 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10907 = call i32 @s2n_print_stacktrace(ptr noundef %10906) #12
  %10908 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10909 = trunc nuw i8 %10908 to i1
  br i1 %10909, label %10910, label %10914

10910:                                            ; preds = %10904
  %10911 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10912 = call i32 @fileno(ptr noundef %10911) #12
  %10913 = call i32 @isatty(i32 noundef %10912) #12
  %.not1250 = icmp eq i32 %10913, 0
  br i1 %.not1250, label %10914, label %10915

10914:                                            ; preds = %10910, %10904
  br label %10915

10915:                                            ; preds = %10910, %10914
  %.str.12.sink5116 = phi ptr [ @.str.12, %10914 ], [ @.str.9, %10910 ]
  store i32 %10905, ptr %1545, align 4, !tbaa !5
  %10916 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10917 = load i32, ptr @test_count, align 4, !tbaa !5
  %10918 = load i32, ptr %1491, align 4, !tbaa !5
  %10919 = call ptr @s2n_strerror(i32 noundef %10918, ptr noundef nonnull @.str.11) #12
  %10920 = load i32, ptr %1491, align 4, !tbaa !5
  %10921 = call ptr @s2n_strerror_debug(i32 noundef %10920, ptr noundef nonnull @.str.11) #12
  %10922 = load i32, ptr %1545, align 4, !tbaa !5
  %10923 = call ptr @strerror(i32 noundef %10922) #12
  %10924 = load i32, ptr %1545, align 4, !tbaa !5
  %10925 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10916, ptr noundef nonnull %.str.12.sink5116, i32 noundef %10917, ptr noundef nonnull @.str.218, ptr noundef nonnull @.str.8, i32 noundef 952, ptr noundef %10919, ptr noundef %10921, ptr noundef %10923, i32 noundef %10924) #14
  call void @exit(i32 noundef 1) #15
  unreachable

10926:                                            ; preds = %10896
  %10927 = load i32, ptr @test_count, align 4, !tbaa !5
  %10928 = add nsw i32 %10927, 1
  store i32 %10928, ptr @test_count, align 4, !tbaa !5
  %10929 = load i8, ptr %41, align 1, !tbaa !18
  %10930 = icmp eq i8 %10929, 10
  br i1 %10930, label %10953, label %10931

10931:                                            ; preds = %10926
  %10932 = load i32, ptr %1545, align 4, !tbaa !5
  %10933 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10934 = call i32 @s2n_print_stacktrace(ptr noundef %10933) #12
  %10935 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10936 = trunc nuw i8 %10935 to i1
  br i1 %10936, label %10937, label %10941

10937:                                            ; preds = %10931
  %10938 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10939 = call i32 @fileno(ptr noundef %10938) #12
  %10940 = call i32 @isatty(i32 noundef %10939) #12
  %.not1222 = icmp eq i32 %10940, 0
  br i1 %.not1222, label %10941, label %10942

10941:                                            ; preds = %10937, %10931
  br label %10942

10942:                                            ; preds = %10937, %10941
  %.str.12.sink5125 = phi ptr [ @.str.12, %10941 ], [ @.str.9, %10937 ]
  store i32 %10932, ptr %1545, align 4, !tbaa !5
  %10943 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10944 = load i32, ptr @test_count, align 4, !tbaa !5
  %10945 = load i32, ptr %1491, align 4, !tbaa !5
  %10946 = call ptr @s2n_strerror(i32 noundef %10945, ptr noundef nonnull @.str.11) #12
  %10947 = load i32, ptr %1491, align 4, !tbaa !5
  %10948 = call ptr @s2n_strerror_debug(i32 noundef %10947, ptr noundef nonnull @.str.11) #12
  %10949 = load i32, ptr %1545, align 4, !tbaa !5
  %10950 = call ptr @strerror(i32 noundef %10949) #12
  %10951 = load i32, ptr %1545, align 4, !tbaa !5
  %10952 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10943, ptr noundef nonnull %.str.12.sink5125, i32 noundef %10944, ptr noundef nonnull @.str.219, ptr noundef nonnull @.str.8, i32 noundef 953, ptr noundef %10946, ptr noundef %10948, ptr noundef %10950, i32 noundef %10951) #14
  call void @exit(i32 noundef 1) #15
  unreachable

10953:                                            ; preds = %10926
  %10954 = add nsw i32 %10927, 2
  store i32 %10954, ptr @test_count, align 4, !tbaa !5
  %10955 = load i8, ptr %42, align 1, !tbaa !18
  %10956 = icmp eq i8 %10955, -1
  br i1 %10956, label %10979, label %10957

10957:                                            ; preds = %10953
  %10958 = load i32, ptr %1545, align 4, !tbaa !5
  %10959 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10960 = call i32 @s2n_print_stacktrace(ptr noundef %10959) #12
  %10961 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10962 = trunc nuw i8 %10961 to i1
  br i1 %10962, label %10963, label %10967

10963:                                            ; preds = %10957
  %10964 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10965 = call i32 @fileno(ptr noundef %10964) #12
  %10966 = call i32 @isatty(i32 noundef %10965) #12
  %.not1223 = icmp eq i32 %10966, 0
  br i1 %.not1223, label %10967, label %10968

10967:                                            ; preds = %10963, %10957
  br label %10968

10968:                                            ; preds = %10963, %10967
  %.str.12.sink5134 = phi ptr [ @.str.12, %10967 ], [ @.str.9, %10963 ]
  store i32 %10958, ptr %1545, align 4, !tbaa !5
  %10969 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10970 = load i32, ptr @test_count, align 4, !tbaa !5
  %10971 = load i32, ptr %1491, align 4, !tbaa !5
  %10972 = call ptr @s2n_strerror(i32 noundef %10971, ptr noundef nonnull @.str.11) #12
  %10973 = load i32, ptr %1491, align 4, !tbaa !5
  %10974 = call ptr @s2n_strerror_debug(i32 noundef %10973, ptr noundef nonnull @.str.11) #12
  %10975 = load i32, ptr %1545, align 4, !tbaa !5
  %10976 = call ptr @strerror(i32 noundef %10975) #12
  %10977 = load i32, ptr %1545, align 4, !tbaa !5
  %10978 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10969, ptr noundef nonnull %.str.12.sink5134, i32 noundef %10970, ptr noundef nonnull @.str.220, ptr noundef nonnull @.str.8, i32 noundef 954, ptr noundef %10972, ptr noundef %10974, ptr noundef %10976, i32 noundef %10977) #14
  call void @exit(i32 noundef 1) #15
  unreachable

10979:                                            ; preds = %10953
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %42) #12
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %41) #12
  %10980 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %40) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %40) #12
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %43) #12
  %10981 = call ptr @s2n_config_new() #12
  store ptr %10981, ptr %43, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %44) #12
  %10982 = call ptr @s2n_connection_new(i32 noundef 1) #12
  store ptr %10982, ptr %44, align 8, !tbaa !9
  %10983 = load i32, ptr @test_count, align 4, !tbaa !5
  %10984 = add nsw i32 %10983, 1
  store i32 %10984, ptr @test_count, align 4, !tbaa !5
  %10985 = icmp eq ptr %10982, null
  br i1 %10985, label %10986, label %11008

10986:                                            ; preds = %10979
  %10987 = load i32, ptr %1545, align 4, !tbaa !5
  %10988 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10989 = call i32 @s2n_print_stacktrace(ptr noundef %10988) #12
  %10990 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10991 = trunc nuw i8 %10990 to i1
  br i1 %10991, label %10992, label %10996

10992:                                            ; preds = %10986
  %10993 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10994 = call i32 @fileno(ptr noundef %10993) #12
  %10995 = call i32 @isatty(i32 noundef %10994) #12
  %.not1249 = icmp eq i32 %10995, 0
  br i1 %.not1249, label %10996, label %10997

10996:                                            ; preds = %10992, %10986
  br label %10997

10997:                                            ; preds = %10992, %10996
  %.str.12.sink5143 = phi ptr [ @.str.12, %10996 ], [ @.str.9, %10992 ]
  store i32 %10987, ptr %1545, align 4, !tbaa !5
  %10998 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10999 = load i32, ptr @test_count, align 4, !tbaa !5
  %11000 = load i32, ptr %1491, align 4, !tbaa !5
  %11001 = call ptr @s2n_strerror(i32 noundef %11000, ptr noundef nonnull @.str.11) #12
  %11002 = load i32, ptr %1491, align 4, !tbaa !5
  %11003 = call ptr @s2n_strerror_debug(i32 noundef %11002, ptr noundef nonnull @.str.11) #12
  %11004 = load i32, ptr %1545, align 4, !tbaa !5
  %11005 = call ptr @strerror(i32 noundef %11004) #12
  %11006 = load i32, ptr %1545, align 4, !tbaa !5
  %11007 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10998, ptr noundef nonnull %.str.12.sink5143, i32 noundef %10999, ptr noundef nonnull @.str.221, ptr noundef nonnull @.str.8, i32 noundef 963, ptr noundef %11001, ptr noundef %11003, ptr noundef %11005, i32 noundef %11006) #14
  call void @exit(i32 noundef 1) #15
  unreachable

11008:                                            ; preds = %10979
  %11009 = add nsw i32 %10983, 2
  store i32 %11009, ptr @test_count, align 4, !tbaa !5
  %11010 = load ptr, ptr %43, align 8, !tbaa !9
  %11011 = call i32 @s2n_connection_set_config(ptr noundef nonnull %10982, ptr noundef %11010) #12
  %11012 = icmp eq i32 %11011, -1
  br i1 %11012, label %11013, label %11035

11013:                                            ; preds = %11008
  %11014 = load i32, ptr %1545, align 4, !tbaa !5
  %11015 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11016 = call i32 @s2n_print_stacktrace(ptr noundef %11015) #12
  %11017 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11018 = trunc nuw i8 %11017 to i1
  br i1 %11018, label %11019, label %11023

11019:                                            ; preds = %11013
  %11020 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11021 = call i32 @fileno(ptr noundef %11020) #12
  %11022 = call i32 @isatty(i32 noundef %11021) #12
  %.not1248 = icmp eq i32 %11022, 0
  br i1 %.not1248, label %11023, label %11024

11023:                                            ; preds = %11019, %11013
  br label %11024

11024:                                            ; preds = %11019, %11023
  %.str.12.sink5152 = phi ptr [ @.str.12, %11023 ], [ @.str.9, %11019 ]
  store i32 %11014, ptr %1545, align 4, !tbaa !5
  %11025 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11026 = load i32, ptr @test_count, align 4, !tbaa !5
  %11027 = load i32, ptr %1491, align 4, !tbaa !5
  %11028 = call ptr @s2n_strerror(i32 noundef %11027, ptr noundef nonnull @.str.11) #12
  %11029 = load i32, ptr %1491, align 4, !tbaa !5
  %11030 = call ptr @s2n_strerror_debug(i32 noundef %11029, ptr noundef nonnull @.str.11) #12
  %11031 = load i32, ptr %1545, align 4, !tbaa !5
  %11032 = call ptr @strerror(i32 noundef %11031) #12
  %11033 = load i32, ptr %1545, align 4, !tbaa !5
  %11034 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11025, ptr noundef nonnull %.str.12.sink5152, i32 noundef %11026, ptr noundef nonnull @.str.222, ptr noundef nonnull @.str.8, i32 noundef 964, ptr noundef %11028, ptr noundef %11030, ptr noundef %11032, i32 noundef %11033) #14
  call void @exit(i32 noundef 1) #15
  unreachable

11035:                                            ; preds = %11008
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %45) #12
  %11036 = call ptr @s2n_connection_new(i32 noundef 0) #12
  store ptr %11036, ptr %45, align 8, !tbaa !9
  %11037 = load i32, ptr @test_count, align 4, !tbaa !5
  %11038 = add nsw i32 %11037, 1
  store i32 %11038, ptr @test_count, align 4, !tbaa !5
  %11039 = icmp eq ptr %11036, null
  br i1 %11039, label %11040, label %11062

11040:                                            ; preds = %11035
  %11041 = load i32, ptr %1545, 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
  %.not1247 = icmp eq i32 %11049, 0
  br i1 %.not1247, label %11050, label %11051

11050:                                            ; preds = %11046, %11040
  br label %11051

11051:                                            ; preds = %11046, %11050
  %.str.12.sink5161 = phi ptr [ @.str.12, %11050 ], [ @.str.9, %11046 ]
  store i32 %11041, ptr %1545, 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 %1491, align 4, !tbaa !5
  %11055 = call ptr @s2n_strerror(i32 noundef %11054, ptr noundef nonnull @.str.11) #12
  %11056 = load i32, ptr %1491, align 4, !tbaa !5
  %11057 = call ptr @s2n_strerror_debug(i32 noundef %11056, ptr noundef nonnull @.str.11) #12
  %11058 = load i32, ptr %1545, align 4, !tbaa !5
  %11059 = call ptr @strerror(i32 noundef %11058) #12
  %11060 = load i32, ptr %1545, align 4, !tbaa !5
  %11061 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11052, ptr noundef nonnull %.str.12.sink5161, i32 noundef %11053, ptr noundef nonnull @.str.223, ptr noundef nonnull @.str.8, i32 noundef 968, ptr noundef %11055, ptr noundef %11057, ptr noundef %11059, i32 noundef %11060) #14
  call void @exit(i32 noundef 1) #15
  unreachable

11062:                                            ; preds = %11035
  %11063 = add nsw i32 %11037, 2
  store i32 %11063, ptr @test_count, align 4, !tbaa !5
  %11064 = load ptr, ptr %43, align 8, !tbaa !9
  %11065 = call i32 @s2n_connection_set_config(ptr noundef nonnull %11036, ptr noundef %11064) #12
  %11066 = icmp eq i32 %11065, -1
  br i1 %11066, label %11067, label %11089

11067:                                            ; preds = %11062
  %11068 = load i32, ptr %1545, 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
  %.not1246 = icmp eq i32 %11076, 0
  br i1 %.not1246, label %11077, label %11078

11077:                                            ; preds = %11073, %11067
  br label %11078

11078:                                            ; preds = %11073, %11077
  %.str.12.sink5170 = phi ptr [ @.str.12, %11077 ], [ @.str.9, %11073 ]
  store i32 %11068, ptr %1545, 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 %1491, align 4, !tbaa !5
  %11082 = call ptr @s2n_strerror(i32 noundef %11081, ptr noundef nonnull @.str.11) #12
  %11083 = load i32, ptr %1491, align 4, !tbaa !5
  %11084 = call ptr @s2n_strerror_debug(i32 noundef %11083, ptr noundef nonnull @.str.11) #12
  %11085 = load i32, ptr %1545, align 4, !tbaa !5
  %11086 = call ptr @strerror(i32 noundef %11085) #12
  %11087 = load i32, ptr %1545, align 4, !tbaa !5
  %11088 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11079, ptr noundef nonnull %.str.12.sink5170, i32 noundef %11080, ptr noundef nonnull @.str.224, ptr noundef nonnull @.str.8, i32 noundef 969, 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 = load ptr, ptr %45, align 8, !tbaa !9
  %11091 = getelementptr inbounds i8, ptr %11090, i64 1764
  store i32 1, ptr %11091, align 4, !tbaa !83
  %11092 = load ptr, ptr %44, align 8, !tbaa !9
  %11093 = getelementptr inbounds i8, ptr %11092, i64 1764
  store i32 1, ptr %11093, align 4, !tbaa !83
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %46) #12
  store i32 1, ptr %46, align 4, !tbaa !5
  %11094 = load i32, ptr @test_count, align 4, !tbaa !5
  %11095 = add nsw i32 %11094, 1
  store i32 %11095, ptr @test_count, align 4, !tbaa !5
  %11096 = call i32 @s2n_connection_get_client_auth_type(ptr noundef %11092, ptr noundef nonnull %46) #12
  %11097 = icmp eq i32 %11096, -1
  br i1 %11097, label %11098, label %11120

11098:                                            ; preds = %11089
  %11099 = load i32, ptr %1545, align 4, !tbaa !5
  %11100 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11101 = call i32 @s2n_print_stacktrace(ptr noundef %11100) #12
  %11102 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11103 = trunc nuw i8 %11102 to i1
  br i1 %11103, label %11104, label %11108

11104:                                            ; preds = %11098
  %11105 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11106 = call i32 @fileno(ptr noundef %11105) #12
  %11107 = call i32 @isatty(i32 noundef %11106) #12
  %.not1245 = icmp eq i32 %11107, 0
  br i1 %.not1245, label %11108, label %11109

11108:                                            ; preds = %11104, %11098
  br label %11109

11109:                                            ; preds = %11104, %11108
  %.str.12.sink5179 = phi ptr [ @.str.12, %11108 ], [ @.str.9, %11104 ]
  store i32 %11099, ptr %1545, align 4, !tbaa !5
  %11110 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11111 = load i32, ptr @test_count, align 4, !tbaa !5
  %11112 = load i32, ptr %1491, align 4, !tbaa !5
  %11113 = call ptr @s2n_strerror(i32 noundef %11112, ptr noundef nonnull @.str.11) #12
  %11114 = load i32, ptr %1491, align 4, !tbaa !5
  %11115 = call ptr @s2n_strerror_debug(i32 noundef %11114, ptr noundef nonnull @.str.11) #12
  %11116 = load i32, ptr %1545, align 4, !tbaa !5
  %11117 = call ptr @strerror(i32 noundef %11116) #12
  %11118 = load i32, ptr %1545, align 4, !tbaa !5
  %11119 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11110, ptr noundef nonnull %.str.12.sink5179, i32 noundef %11111, ptr noundef nonnull @.str.225, ptr noundef nonnull @.str.8, i32 noundef 980, ptr noundef %11113, ptr noundef %11115, ptr noundef %11117, i32 noundef %11118) #14
  call void @exit(i32 noundef 1) #15
  unreachable

11120:                                            ; preds = %11089
  %11121 = load i32, ptr @test_count, align 4, !tbaa !5
  %11122 = add nsw i32 %11121, 1
  store i32 %11122, ptr @test_count, align 4, !tbaa !5
  %11123 = load i32, ptr %46, align 4, !tbaa !5
  %11124 = icmp eq i32 %11123, 2
  br i1 %11124, label %11147, label %11125

11125:                                            ; preds = %11120
  %11126 = load i32, ptr %1545, align 4, !tbaa !5
  %11127 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11128 = call i32 @s2n_print_stacktrace(ptr noundef %11127) #12
  %11129 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11130 = trunc nuw i8 %11129 to i1
  br i1 %11130, label %11131, label %11135

11131:                                            ; preds = %11125
  %11132 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11133 = call i32 @fileno(ptr noundef %11132) #12
  %11134 = call i32 @isatty(i32 noundef %11133) #12
  %.not1224 = icmp eq i32 %11134, 0
  br i1 %.not1224, label %11135, label %11136

11135:                                            ; preds = %11131, %11125
  br label %11136

11136:                                            ; preds = %11131, %11135
  %.str.12.sink5188 = phi ptr [ @.str.12, %11135 ], [ @.str.9, %11131 ]
  store i32 %11126, ptr %1545, align 4, !tbaa !5
  %11137 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11138 = load i32, ptr @test_count, align 4, !tbaa !5
  %11139 = load i32, ptr %1491, align 4, !tbaa !5
  %11140 = call ptr @s2n_strerror(i32 noundef %11139, ptr noundef nonnull @.str.11) #12
  %11141 = load i32, ptr %1491, align 4, !tbaa !5
  %11142 = call ptr @s2n_strerror_debug(i32 noundef %11141, ptr noundef nonnull @.str.11) #12
  %11143 = load i32, ptr %1545, align 4, !tbaa !5
  %11144 = call ptr @strerror(i32 noundef %11143) #12
  %11145 = load i32, ptr %1545, align 4, !tbaa !5
  %11146 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11137, ptr noundef nonnull %.str.12.sink5188, i32 noundef %11138, ptr noundef nonnull @.str.226, ptr noundef nonnull @.str.8, i32 noundef 981, ptr noundef %11140, ptr noundef %11142, ptr noundef %11144, i32 noundef %11145) #14
  call void @exit(i32 noundef 1) #15
  unreachable

11147:                                            ; preds = %11120
  %11148 = add nsw i32 %11121, 2
  store i32 %11148, ptr @test_count, align 4, !tbaa !5
  %11149 = load ptr, ptr %45, align 8, !tbaa !9
  %11150 = call i32 @s2n_connection_get_client_auth_type(ptr noundef %11149, ptr noundef nonnull %46) #12
  %11151 = icmp eq i32 %11150, -1
  br i1 %11151, label %11152, label %11174

11152:                                            ; preds = %11147
  %11153 = load i32, ptr %1545, align 4, !tbaa !5
  %11154 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11155 = call i32 @s2n_print_stacktrace(ptr noundef %11154) #12
  %11156 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11157 = trunc nuw i8 %11156 to i1
  br i1 %11157, label %11158, label %11162

11158:                                            ; preds = %11152
  %11159 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11160 = call i32 @fileno(ptr noundef %11159) #12
  %11161 = call i32 @isatty(i32 noundef %11160) #12
  %.not1244 = icmp eq i32 %11161, 0
  br i1 %.not1244, label %11162, label %11163

11162:                                            ; preds = %11158, %11152
  br label %11163

11163:                                            ; preds = %11158, %11162
  %.str.12.sink5197 = phi ptr [ @.str.12, %11162 ], [ @.str.9, %11158 ]
  store i32 %11153, ptr %1545, align 4, !tbaa !5
  %11164 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11165 = load i32, ptr @test_count, align 4, !tbaa !5
  %11166 = load i32, ptr %1491, align 4, !tbaa !5
  %11167 = call ptr @s2n_strerror(i32 noundef %11166, ptr noundef nonnull @.str.11) #12
  %11168 = load i32, ptr %1491, align 4, !tbaa !5
  %11169 = call ptr @s2n_strerror_debug(i32 noundef %11168, ptr noundef nonnull @.str.11) #12
  %11170 = load i32, ptr %1545, align 4, !tbaa !5
  %11171 = call ptr @strerror(i32 noundef %11170) #12
  %11172 = load i32, ptr %1545, align 4, !tbaa !5
  %11173 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11164, ptr noundef nonnull %.str.12.sink5197, i32 noundef %11165, ptr noundef nonnull @.str.227, ptr noundef nonnull @.str.8, i32 noundef 982, ptr noundef %11167, ptr noundef %11169, ptr noundef %11171, i32 noundef %11172) #14
  call void @exit(i32 noundef 1) #15
  unreachable

11174:                                            ; preds = %11147
  %11175 = load i32, ptr @test_count, align 4, !tbaa !5
  %11176 = add nsw i32 %11175, 1
  store i32 %11176, ptr @test_count, align 4, !tbaa !5
  %11177 = load i32, ptr %46, align 4, !tbaa !5
  %11178 = icmp eq i32 %11177, 0
  br i1 %11178, label %11201, label %11179

11179:                                            ; preds = %11174
  %11180 = load i32, ptr %1545, align 4, !tbaa !5
  %11181 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11182 = call i32 @s2n_print_stacktrace(ptr noundef %11181) #12
  %11183 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11184 = trunc nuw i8 %11183 to i1
  br i1 %11184, label %11185, label %11189

11185:                                            ; preds = %11179
  %11186 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11187 = call i32 @fileno(ptr noundef %11186) #12
  %11188 = call i32 @isatty(i32 noundef %11187) #12
  %.not1225 = icmp eq i32 %11188, 0
  br i1 %.not1225, label %11189, label %11190

11189:                                            ; preds = %11185, %11179
  br label %11190

11190:                                            ; preds = %11185, %11189
  %.str.12.sink5206 = phi ptr [ @.str.12, %11189 ], [ @.str.9, %11185 ]
  store i32 %11180, ptr %1545, align 4, !tbaa !5
  %11191 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11192 = load i32, ptr @test_count, align 4, !tbaa !5
  %11193 = load i32, ptr %1491, align 4, !tbaa !5
  %11194 = call ptr @s2n_strerror(i32 noundef %11193, ptr noundef nonnull @.str.11) #12
  %11195 = load i32, ptr %1491, align 4, !tbaa !5
  %11196 = call ptr @s2n_strerror_debug(i32 noundef %11195, ptr noundef nonnull @.str.11) #12
  %11197 = load i32, ptr %1545, align 4, !tbaa !5
  %11198 = call ptr @strerror(i32 noundef %11197) #12
  %11199 = load i32, ptr %1545, align 4, !tbaa !5
  %11200 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11191, ptr noundef nonnull %.str.12.sink5206, i32 noundef %11192, ptr noundef nonnull @.str.228, ptr noundef nonnull @.str.8, i32 noundef 983, ptr noundef %11194, ptr noundef %11196, ptr noundef %11198, i32 noundef %11199) #14
  call void @exit(i32 noundef 1) #15
  unreachable

11201:                                            ; preds = %11174
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %46) #12
  %11202 = add nsw i32 %11175, 2
  store i32 %11202, ptr @test_count, align 4, !tbaa !5
  %11203 = load ptr, ptr %43, align 8, !tbaa !9
  %11204 = call i32 @s2n_config_set_client_auth_type(ptr noundef %11203, i32 noundef 1) #12
  %11205 = icmp eq i32 %11204, -1
  br i1 %11205, label %11206, label %11228

11206:                                            ; preds = %11201
  %11207 = load i32, ptr %1545, align 4, !tbaa !5
  %11208 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11209 = call i32 @s2n_print_stacktrace(ptr noundef %11208) #12
  %11210 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11211 = trunc nuw i8 %11210 to i1
  br i1 %11211, label %11212, label %11216

11212:                                            ; preds = %11206
  %11213 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11214 = call i32 @fileno(ptr noundef %11213) #12
  %11215 = call i32 @isatty(i32 noundef %11214) #12
  %.not1243 = icmp eq i32 %11215, 0
  br i1 %.not1243, label %11216, label %11217

11216:                                            ; preds = %11212, %11206
  br label %11217

11217:                                            ; preds = %11212, %11216
  %.str.12.sink5215 = phi ptr [ @.str.12, %11216 ], [ @.str.9, %11212 ]
  store i32 %11207, ptr %1545, align 4, !tbaa !5
  %11218 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11219 = load i32, ptr @test_count, align 4, !tbaa !5
  %11220 = load i32, ptr %1491, align 4, !tbaa !5
  %11221 = call ptr @s2n_strerror(i32 noundef %11220, ptr noundef nonnull @.str.11) #12
  %11222 = load i32, ptr %1491, align 4, !tbaa !5
  %11223 = call ptr @s2n_strerror_debug(i32 noundef %11222, ptr noundef nonnull @.str.11) #12
  %11224 = load i32, ptr %1545, align 4, !tbaa !5
  %11225 = call ptr @strerror(i32 noundef %11224) #12
  %11226 = load i32, ptr %1545, align 4, !tbaa !5
  %11227 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11218, ptr noundef nonnull %.str.12.sink5215, i32 noundef %11219, ptr noundef nonnull @.str.71, ptr noundef nonnull @.str.8, i32 noundef 988, ptr noundef %11221, ptr noundef %11223, ptr noundef %11225, i32 noundef %11226) #14
  call void @exit(i32 noundef 1) #15
  unreachable

11228:                                            ; preds = %11201
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %47) #12
  store i32 0, ptr %47, align 4, !tbaa !5
  %11229 = load i32, ptr @test_count, align 4, !tbaa !5
  %11230 = add nsw i32 %11229, 1
  store i32 %11230, ptr @test_count, align 4, !tbaa !5
  %11231 = load ptr, ptr %44, align 8, !tbaa !9
  %11232 = call i32 @s2n_connection_get_client_auth_type(ptr noundef %11231, ptr noundef nonnull %47) #12
  %11233 = icmp eq i32 %11232, -1
  br i1 %11233, label %11234, label %11256

11234:                                            ; preds = %11228
  %11235 = load i32, ptr %1545, align 4, !tbaa !5
  %11236 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11237 = call i32 @s2n_print_stacktrace(ptr noundef %11236) #12
  %11238 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11239 = trunc nuw i8 %11238 to i1
  br i1 %11239, label %11240, label %11244

11240:                                            ; preds = %11234
  %11241 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11242 = call i32 @fileno(ptr noundef %11241) #12
  %11243 = call i32 @isatty(i32 noundef %11242) #12
  %.not1242 = icmp eq i32 %11243, 0
  br i1 %.not1242, label %11244, label %11245

11244:                                            ; preds = %11240, %11234
  br label %11245

11245:                                            ; preds = %11240, %11244
  %.str.12.sink5224 = phi ptr [ @.str.12, %11244 ], [ @.str.9, %11240 ]
  store i32 %11235, ptr %1545, align 4, !tbaa !5
  %11246 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11247 = load i32, ptr @test_count, align 4, !tbaa !5
  %11248 = load i32, ptr %1491, align 4, !tbaa !5
  %11249 = call ptr @s2n_strerror(i32 noundef %11248, ptr noundef nonnull @.str.11) #12
  %11250 = load i32, ptr %1491, align 4, !tbaa !5
  %11251 = call ptr @s2n_strerror_debug(i32 noundef %11250, ptr noundef nonnull @.str.11) #12
  %11252 = load i32, ptr %1545, align 4, !tbaa !5
  %11253 = call ptr @strerror(i32 noundef %11252) #12
  %11254 = load i32, ptr %1545, align 4, !tbaa !5
  %11255 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11246, ptr noundef nonnull %.str.12.sink5224, i32 noundef %11247, ptr noundef nonnull @.str.225, ptr noundef nonnull @.str.8, i32 noundef 991, ptr noundef %11249, ptr noundef %11251, ptr noundef %11253, i32 noundef %11254) #14
  call void @exit(i32 noundef 1) #15
  unreachable

11256:                                            ; preds = %11228
  %11257 = load i32, ptr @test_count, align 4, !tbaa !5
  %11258 = add nsw i32 %11257, 1
  store i32 %11258, ptr @test_count, align 4, !tbaa !5
  %11259 = load i32, ptr %47, align 4, !tbaa !5
  %11260 = icmp eq i32 %11259, 1
  br i1 %11260, label %11283, label %11261

11261:                                            ; preds = %11256
  %11262 = load i32, ptr %1545, align 4, !tbaa !5
  %11263 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11264 = call i32 @s2n_print_stacktrace(ptr noundef %11263) #12
  %11265 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11266 = trunc nuw i8 %11265 to i1
  br i1 %11266, label %11267, label %11271

11267:                                            ; preds = %11261
  %11268 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11269 = call i32 @fileno(ptr noundef %11268) #12
  %11270 = call i32 @isatty(i32 noundef %11269) #12
  %.not1226 = icmp eq i32 %11270, 0
  br i1 %.not1226, label %11271, label %11272

11271:                                            ; preds = %11267, %11261
  br label %11272

11272:                                            ; preds = %11267, %11271
  %.str.12.sink5233 = phi ptr [ @.str.12, %11271 ], [ @.str.9, %11267 ]
  store i32 %11262, ptr %1545, align 4, !tbaa !5
  %11273 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11274 = load i32, ptr @test_count, align 4, !tbaa !5
  %11275 = load i32, ptr %1491, align 4, !tbaa !5
  %11276 = call ptr @s2n_strerror(i32 noundef %11275, ptr noundef nonnull @.str.11) #12
  %11277 = load i32, ptr %1491, align 4, !tbaa !5
  %11278 = call ptr @s2n_strerror_debug(i32 noundef %11277, ptr noundef nonnull @.str.11) #12
  %11279 = load i32, ptr %1545, align 4, !tbaa !5
  %11280 = call ptr @strerror(i32 noundef %11279) #12
  %11281 = load i32, ptr %1545, align 4, !tbaa !5
  %11282 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11273, ptr noundef nonnull %.str.12.sink5233, i32 noundef %11274, ptr noundef nonnull @.str.229, ptr noundef nonnull @.str.8, i32 noundef 992, ptr noundef %11276, ptr noundef %11278, ptr noundef %11280, i32 noundef %11281) #14
  call void @exit(i32 noundef 1) #15
  unreachable

11283:                                            ; preds = %11256
  %11284 = add nsw i32 %11257, 2
  store i32 %11284, ptr @test_count, align 4, !tbaa !5
  %11285 = load ptr, ptr %45, align 8, !tbaa !9
  %11286 = call i32 @s2n_connection_get_client_auth_type(ptr noundef %11285, ptr noundef nonnull %47) #12
  %11287 = icmp eq i32 %11286, -1
  br i1 %11287, label %11288, label %11310

11288:                                            ; preds = %11283
  %11289 = load i32, ptr %1545, align 4, !tbaa !5
  %11290 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11291 = call i32 @s2n_print_stacktrace(ptr noundef %11290) #12
  %11292 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11293 = trunc nuw i8 %11292 to i1
  br i1 %11293, label %11294, label %11298

11294:                                            ; preds = %11288
  %11295 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11296 = call i32 @fileno(ptr noundef %11295) #12
  %11297 = call i32 @isatty(i32 noundef %11296) #12
  %.not1241 = icmp eq i32 %11297, 0
  br i1 %.not1241, label %11298, label %11299

11298:                                            ; preds = %11294, %11288
  br label %11299

11299:                                            ; preds = %11294, %11298
  %.str.12.sink5242 = phi ptr [ @.str.12, %11298 ], [ @.str.9, %11294 ]
  store i32 %11289, ptr %1545, align 4, !tbaa !5
  %11300 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11301 = load i32, ptr @test_count, align 4, !tbaa !5
  %11302 = load i32, ptr %1491, align 4, !tbaa !5
  %11303 = call ptr @s2n_strerror(i32 noundef %11302, ptr noundef nonnull @.str.11) #12
  %11304 = load i32, ptr %1491, align 4, !tbaa !5
  %11305 = call ptr @s2n_strerror_debug(i32 noundef %11304, ptr noundef nonnull @.str.11) #12
  %11306 = load i32, ptr %1545, align 4, !tbaa !5
  %11307 = call ptr @strerror(i32 noundef %11306) #12
  %11308 = load i32, ptr %1545, align 4, !tbaa !5
  %11309 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11300, ptr noundef nonnull %.str.12.sink5242, i32 noundef %11301, ptr noundef nonnull @.str.227, ptr noundef nonnull @.str.8, i32 noundef 993, ptr noundef %11303, ptr noundef %11305, ptr noundef %11307, i32 noundef %11308) #14
  call void @exit(i32 noundef 1) #15
  unreachable

11310:                                            ; preds = %11283
  %11311 = load i32, ptr @test_count, align 4, !tbaa !5
  %11312 = add nsw i32 %11311, 1
  store i32 %11312, ptr @test_count, align 4, !tbaa !5
  %11313 = load i32, ptr %47, align 4, !tbaa !5
  %11314 = icmp eq i32 %11313, 1
  br i1 %11314, label %11337, label %11315

11315:                                            ; preds = %11310
  %11316 = load i32, ptr %1545, align 4, !tbaa !5
  %11317 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11318 = call i32 @s2n_print_stacktrace(ptr noundef %11317) #12
  %11319 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11320 = trunc nuw i8 %11319 to i1
  br i1 %11320, label %11321, label %11325

11321:                                            ; preds = %11315
  %11322 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11323 = call i32 @fileno(ptr noundef %11322) #12
  %11324 = call i32 @isatty(i32 noundef %11323) #12
  %.not1227 = icmp eq i32 %11324, 0
  br i1 %.not1227, label %11325, label %11326

11325:                                            ; preds = %11321, %11315
  br label %11326

11326:                                            ; preds = %11321, %11325
  %.str.12.sink5251 = phi ptr [ @.str.12, %11325 ], [ @.str.9, %11321 ]
  store i32 %11316, ptr %1545, align 4, !tbaa !5
  %11327 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11328 = load i32, ptr @test_count, align 4, !tbaa !5
  %11329 = load i32, ptr %1491, align 4, !tbaa !5
  %11330 = call ptr @s2n_strerror(i32 noundef %11329, ptr noundef nonnull @.str.11) #12
  %11331 = load i32, ptr %1491, align 4, !tbaa !5
  %11332 = call ptr @s2n_strerror_debug(i32 noundef %11331, ptr noundef nonnull @.str.11) #12
  %11333 = load i32, ptr %1545, align 4, !tbaa !5
  %11334 = call ptr @strerror(i32 noundef %11333) #12
  %11335 = load i32, ptr %1545, align 4, !tbaa !5
  %11336 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11327, ptr noundef nonnull %.str.12.sink5251, i32 noundef %11328, ptr noundef nonnull @.str.229, ptr noundef nonnull @.str.8, i32 noundef 994, ptr noundef %11330, ptr noundef %11332, ptr noundef %11334, i32 noundef %11335) #14
  call void @exit(i32 noundef 1) #15
  unreachable

11337:                                            ; preds = %11310
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %47) #12
  %11338 = add nsw i32 %11311, 2
  store i32 %11338, ptr @test_count, align 4, !tbaa !5
  %11339 = load ptr, ptr %44, align 8, !tbaa !9
  %11340 = call i32 @s2n_connection_set_client_auth_type(ptr noundef %11339, i32 noundef 0) #12
  %11341 = icmp eq i32 %11340, -1
  br i1 %11341, label %11342, label %11364

11342:                                            ; preds = %11337
  %11343 = load i32, ptr %1545, align 4, !tbaa !5
  %11344 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11345 = call i32 @s2n_print_stacktrace(ptr noundef %11344) #12
  %11346 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11347 = trunc nuw i8 %11346 to i1
  br i1 %11347, label %11348, label %11352

11348:                                            ; preds = %11342
  %11349 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11350 = call i32 @fileno(ptr noundef %11349) #12
  %11351 = call i32 @isatty(i32 noundef %11350) #12
  %.not1240 = icmp eq i32 %11351, 0
  br i1 %.not1240, label %11352, label %11353

11352:                                            ; preds = %11348, %11342
  br label %11353

11353:                                            ; preds = %11348, %11352
  %.str.12.sink5260 = phi ptr [ @.str.12, %11352 ], [ @.str.9, %11348 ]
  store i32 %11343, ptr %1545, align 4, !tbaa !5
  %11354 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11355 = load i32, ptr @test_count, align 4, !tbaa !5
  %11356 = load i32, ptr %1491, align 4, !tbaa !5
  %11357 = call ptr @s2n_strerror(i32 noundef %11356, ptr noundef nonnull @.str.11) #12
  %11358 = load i32, ptr %1491, align 4, !tbaa !5
  %11359 = call ptr @s2n_strerror_debug(i32 noundef %11358, ptr noundef nonnull @.str.11) #12
  %11360 = load i32, ptr %1545, align 4, !tbaa !5
  %11361 = call ptr @strerror(i32 noundef %11360) #12
  %11362 = load i32, ptr %1545, align 4, !tbaa !5
  %11363 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11354, ptr noundef nonnull %.str.12.sink5260, i32 noundef %11355, ptr noundef nonnull @.str.230, ptr noundef nonnull @.str.8, i32 noundef 999, ptr noundef %11357, ptr noundef %11359, ptr noundef %11361, i32 noundef %11362) #14
  call void @exit(i32 noundef 1) #15
  unreachable

11364:                                            ; preds = %11337
  %11365 = load i32, ptr @test_count, align 4, !tbaa !5
  %11366 = add nsw i32 %11365, 1
  store i32 %11366, ptr @test_count, align 4, !tbaa !5
  %11367 = load ptr, ptr %45, align 8, !tbaa !9
  %11368 = call i32 @s2n_connection_set_client_auth_type(ptr noundef %11367, i32 noundef 2) #12
  %11369 = icmp eq i32 %11368, -1
  br i1 %11369, label %11370, label %11392

11370:                                            ; preds = %11364
  %11371 = load i32, ptr %1545, align 4, !tbaa !5
  %11372 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11373 = call i32 @s2n_print_stacktrace(ptr noundef %11372) #12
  %11374 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11375 = trunc nuw i8 %11374 to i1
  br i1 %11375, label %11376, label %11380

11376:                                            ; preds = %11370
  %11377 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11378 = call i32 @fileno(ptr noundef %11377) #12
  %11379 = call i32 @isatty(i32 noundef %11378) #12
  %.not1239 = icmp eq i32 %11379, 0
  br i1 %.not1239, label %11380, label %11381

11380:                                            ; preds = %11376, %11370
  br label %11381

11381:                                            ; preds = %11376, %11380
  %.str.12.sink5269 = phi ptr [ @.str.12, %11380 ], [ @.str.9, %11376 ]
  store i32 %11371, ptr %1545, align 4, !tbaa !5
  %11382 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11383 = load i32, ptr @test_count, align 4, !tbaa !5
  %11384 = load i32, ptr %1491, align 4, !tbaa !5
  %11385 = call ptr @s2n_strerror(i32 noundef %11384, ptr noundef nonnull @.str.11) #12
  %11386 = load i32, ptr %1491, align 4, !tbaa !5
  %11387 = call ptr @s2n_strerror_debug(i32 noundef %11386, ptr noundef nonnull @.str.11) #12
  %11388 = load i32, ptr %1545, align 4, !tbaa !5
  %11389 = call ptr @strerror(i32 noundef %11388) #12
  %11390 = load i32, ptr %1545, align 4, !tbaa !5
  %11391 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11382, ptr noundef nonnull %.str.12.sink5269, i32 noundef %11383, ptr noundef nonnull @.str.231, ptr noundef nonnull @.str.8, i32 noundef 1000, ptr noundef %11385, ptr noundef %11387, ptr noundef %11389, i32 noundef %11390) #14
  call void @exit(i32 noundef 1) #15
  unreachable

11392:                                            ; preds = %11364
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %48) #12
  store i32 1, ptr %48, align 4, !tbaa !5
  %11393 = load i32, ptr @test_count, align 4, !tbaa !5
  %11394 = add nsw i32 %11393, 1
  store i32 %11394, ptr @test_count, align 4, !tbaa !5
  %11395 = load ptr, ptr %44, align 8, !tbaa !9
  %11396 = call i32 @s2n_connection_get_client_auth_type(ptr noundef %11395, ptr noundef nonnull %48) #12
  %11397 = icmp eq i32 %11396, -1
  br i1 %11397, label %11398, label %11420

11398:                                            ; preds = %11392
  %11399 = load i32, ptr %1545, align 4, !tbaa !5
  %11400 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11401 = call i32 @s2n_print_stacktrace(ptr noundef %11400) #12
  %11402 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11403 = trunc nuw i8 %11402 to i1
  br i1 %11403, label %11404, label %11408

11404:                                            ; preds = %11398
  %11405 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11406 = call i32 @fileno(ptr noundef %11405) #12
  %11407 = call i32 @isatty(i32 noundef %11406) #12
  %.not1238 = icmp eq i32 %11407, 0
  br i1 %.not1238, label %11408, label %11409

11408:                                            ; preds = %11404, %11398
  br label %11409

11409:                                            ; preds = %11404, %11408
  %.str.12.sink5278 = phi ptr [ @.str.12, %11408 ], [ @.str.9, %11404 ]
  store i32 %11399, ptr %1545, align 4, !tbaa !5
  %11410 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11411 = load i32, ptr @test_count, align 4, !tbaa !5
  %11412 = load i32, ptr %1491, align 4, !tbaa !5
  %11413 = call ptr @s2n_strerror(i32 noundef %11412, ptr noundef nonnull @.str.11) #12
  %11414 = load i32, ptr %1491, align 4, !tbaa !5
  %11415 = call ptr @s2n_strerror_debug(i32 noundef %11414, ptr noundef nonnull @.str.11) #12
  %11416 = load i32, ptr %1545, align 4, !tbaa !5
  %11417 = call ptr @strerror(i32 noundef %11416) #12
  %11418 = load i32, ptr %1545, align 4, !tbaa !5
  %11419 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11410, ptr noundef nonnull %.str.12.sink5278, i32 noundef %11411, ptr noundef nonnull @.str.225, ptr noundef nonnull @.str.8, i32 noundef 1003, ptr noundef %11413, ptr noundef %11415, ptr noundef %11417, i32 noundef %11418) #14
  call void @exit(i32 noundef 1) #15
  unreachable

11420:                                            ; preds = %11392
  %11421 = load i32, ptr @test_count, align 4, !tbaa !5
  %11422 = add nsw i32 %11421, 1
  store i32 %11422, ptr @test_count, align 4, !tbaa !5
  %11423 = load i32, ptr %48, align 4, !tbaa !5
  %11424 = icmp eq i32 %11423, 0
  br i1 %11424, label %11447, label %11425

11425:                                            ; preds = %11420
  %11426 = load i32, ptr %1545, 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
  %.not1228 = icmp eq i32 %11434, 0
  br i1 %.not1228, label %11435, label %11436

11435:                                            ; preds = %11431, %11425
  br label %11436

11436:                                            ; preds = %11431, %11435
  %.str.12.sink5287 = phi ptr [ @.str.12, %11435 ], [ @.str.9, %11431 ]
  store i32 %11426, ptr %1545, 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 %1491, align 4, !tbaa !5
  %11440 = call ptr @s2n_strerror(i32 noundef %11439, ptr noundef nonnull @.str.11) #12
  %11441 = load i32, ptr %1491, align 4, !tbaa !5
  %11442 = call ptr @s2n_strerror_debug(i32 noundef %11441, ptr noundef nonnull @.str.11) #12
  %11443 = load i32, ptr %1545, align 4, !tbaa !5
  %11444 = call ptr @strerror(i32 noundef %11443) #12
  %11445 = load i32, ptr %1545, align 4, !tbaa !5
  %11446 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11437, ptr noundef nonnull %.str.12.sink5287, i32 noundef %11438, ptr noundef nonnull @.str.228, ptr noundef nonnull @.str.8, i32 noundef 1004, ptr noundef %11440, ptr noundef %11442, ptr noundef %11444, i32 noundef %11445) #14
  call void @exit(i32 noundef 1) #15
  unreachable

11447:                                            ; preds = %11420
  %11448 = add nsw i32 %11421, 2
  store i32 %11448, ptr @test_count, align 4, !tbaa !5
  %11449 = load ptr, ptr %45, align 8, !tbaa !9
  %11450 = call i32 @s2n_connection_get_client_auth_type(ptr noundef %11449, ptr noundef nonnull %48) #12
  %11451 = icmp eq i32 %11450, -1
  br i1 %11451, label %11452, label %11474

11452:                                            ; preds = %11447
  %11453 = load i32, ptr %1545, 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
  %.not1237 = icmp eq i32 %11461, 0
  br i1 %.not1237, label %11462, label %11463

11462:                                            ; preds = %11458, %11452
  br label %11463

11463:                                            ; preds = %11458, %11462
  %.str.12.sink5296 = phi ptr [ @.str.12, %11462 ], [ @.str.9, %11458 ]
  store i32 %11453, ptr %1545, 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 %1491, align 4, !tbaa !5
  %11467 = call ptr @s2n_strerror(i32 noundef %11466, ptr noundef nonnull @.str.11) #12
  %11468 = load i32, ptr %1491, align 4, !tbaa !5
  %11469 = call ptr @s2n_strerror_debug(i32 noundef %11468, ptr noundef nonnull @.str.11) #12
  %11470 = load i32, ptr %1545, align 4, !tbaa !5
  %11471 = call ptr @strerror(i32 noundef %11470) #12
  %11472 = load i32, ptr %1545, align 4, !tbaa !5
  %11473 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11464, ptr noundef nonnull %.str.12.sink5296, i32 noundef %11465, ptr noundef nonnull @.str.227, ptr noundef nonnull @.str.8, i32 noundef 1005, 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 = load i32, ptr @test_count, align 4, !tbaa !5
  %11476 = add nsw i32 %11475, 1
  store i32 %11476, ptr @test_count, align 4, !tbaa !5
  %11477 = load i32, ptr %48, align 4, !tbaa !5
  %11478 = icmp eq i32 %11477, 2
  br i1 %11478, label %11501, label %11479

11479:                                            ; preds = %11474
  %11480 = load i32, ptr %1545, align 4, !tbaa !5
  %11481 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11482 = call i32 @s2n_print_stacktrace(ptr noundef %11481) #12
  %11483 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11484 = trunc nuw i8 %11483 to i1
  br i1 %11484, label %11485, label %11489

11485:                                            ; preds = %11479
  %11486 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11487 = call i32 @fileno(ptr noundef %11486) #12
  %11488 = call i32 @isatty(i32 noundef %11487) #12
  %.not1229 = icmp eq i32 %11488, 0
  br i1 %.not1229, label %11489, label %11490

11489:                                            ; preds = %11485, %11479
  br label %11490

11490:                                            ; preds = %11485, %11489
  %.str.12.sink5305 = phi ptr [ @.str.12, %11489 ], [ @.str.9, %11485 ]
  store i32 %11480, ptr %1545, align 4, !tbaa !5
  %11491 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11492 = load i32, ptr @test_count, align 4, !tbaa !5
  %11493 = load i32, ptr %1491, align 4, !tbaa !5
  %11494 = call ptr @s2n_strerror(i32 noundef %11493, ptr noundef nonnull @.str.11) #12
  %11495 = load i32, ptr %1491, align 4, !tbaa !5
  %11496 = call ptr @s2n_strerror_debug(i32 noundef %11495, ptr noundef nonnull @.str.11) #12
  %11497 = load i32, ptr %1545, align 4, !tbaa !5
  %11498 = call ptr @strerror(i32 noundef %11497) #12
  %11499 = load i32, ptr %1545, align 4, !tbaa !5
  %11500 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11491, ptr noundef nonnull %.str.12.sink5305, i32 noundef %11492, ptr noundef nonnull @.str.226, ptr noundef nonnull @.str.8, i32 noundef 1006, ptr noundef %11494, ptr noundef %11496, ptr noundef %11498, i32 noundef %11499) #14
  call void @exit(i32 noundef 1) #15
  unreachable

11501:                                            ; preds = %11474
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %48) #12
  %11502 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %45) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %45) #12
  %11503 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %44) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %44) #12
  %11504 = call i32 @s2n_config_ptr_free(ptr noundef nonnull %43) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %43) #12
  %11505 = load i32, ptr @test_count, align 4, !tbaa !5
  %11506 = add nsw i32 %11505, 1
  store i32 %11506, ptr @test_count, align 4, !tbaa !5
  %11507 = load ptr, ptr %3, align 8, !tbaa !9
  %11508 = call i32 @s2n_cert_chain_and_key_free(ptr noundef %11507) #12
  %11509 = icmp eq i32 %11508, -1
  br i1 %11509, label %11510, label %11532

11510:                                            ; preds = %11501
  %11511 = load i32, ptr %1545, align 4, !tbaa !5
  %11512 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11513 = call i32 @s2n_print_stacktrace(ptr noundef %11512) #12
  %11514 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11515 = trunc nuw i8 %11514 to i1
  br i1 %11515, label %11516, label %11520

11516:                                            ; preds = %11510
  %11517 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11518 = call i32 @fileno(ptr noundef %11517) #12
  %11519 = call i32 @isatty(i32 noundef %11518) #12
  %.not1236 = icmp eq i32 %11519, 0
  br i1 %.not1236, label %11520, label %11521

11520:                                            ; preds = %11516, %11510
  br label %11521

11521:                                            ; preds = %11516, %11520
  %.str.12.sink5314 = phi ptr [ @.str.12, %11520 ], [ @.str.9, %11516 ]
  store i32 %11511, ptr %1545, align 4, !tbaa !5
  %11522 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11523 = load i32, ptr @test_count, align 4, !tbaa !5
  %11524 = load i32, ptr %1491, align 4, !tbaa !5
  %11525 = call ptr @s2n_strerror(i32 noundef %11524, ptr noundef nonnull @.str.11) #12
  %11526 = load i32, ptr %1491, align 4, !tbaa !5
  %11527 = call ptr @s2n_strerror_debug(i32 noundef %11526, ptr noundef nonnull @.str.11) #12
  %11528 = load i32, ptr %1545, align 4, !tbaa !5
  %11529 = call ptr @strerror(i32 noundef %11528) #12
  %11530 = load i32, ptr %1545, align 4, !tbaa !5
  %11531 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11522, ptr noundef nonnull %.str.12.sink5314, i32 noundef %11523, ptr noundef nonnull @.str.232, ptr noundef nonnull @.str.8, i32 noundef 1010, ptr noundef %11525, ptr noundef %11527, ptr noundef %11529, i32 noundef %11530) #14
  call void @exit(i32 noundef 1) #15
  unreachable

11532:                                            ; preds = %11501
  %11533 = load i32, ptr @test_count, align 4, !tbaa !5
  %11534 = add nsw i32 %11533, 1
  store i32 %11534, ptr @test_count, align 4, !tbaa !5
  %11535 = load ptr, ptr %4, align 8, !tbaa !9
  %11536 = call i32 @s2n_cert_chain_and_key_free(ptr noundef %11535) #12
  %11537 = icmp eq i32 %11536, -1
  br i1 %11537, label %11538, label %11560

11538:                                            ; preds = %11532
  %11539 = load i32, ptr %1545, align 4, !tbaa !5
  %11540 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11541 = call i32 @s2n_print_stacktrace(ptr noundef %11540) #12
  %11542 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11543 = trunc nuw i8 %11542 to i1
  br i1 %11543, label %11544, label %11548

11544:                                            ; preds = %11538
  %11545 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11546 = call i32 @fileno(ptr noundef %11545) #12
  %11547 = call i32 @isatty(i32 noundef %11546) #12
  %.not1235 = icmp eq i32 %11547, 0
  br i1 %.not1235, label %11548, label %11549

11548:                                            ; preds = %11544, %11538
  br label %11549

11549:                                            ; preds = %11544, %11548
  %.str.12.sink5323 = phi ptr [ @.str.12, %11548 ], [ @.str.9, %11544 ]
  store i32 %11539, ptr %1545, align 4, !tbaa !5
  %11550 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11551 = load i32, ptr @test_count, align 4, !tbaa !5
  %11552 = load i32, ptr %1491, align 4, !tbaa !5
  %11553 = call ptr @s2n_strerror(i32 noundef %11552, ptr noundef nonnull @.str.11) #12
  %11554 = load i32, ptr %1491, align 4, !tbaa !5
  %11555 = call ptr @s2n_strerror_debug(i32 noundef %11554, ptr noundef nonnull @.str.11) #12
  %11556 = load i32, ptr %1545, align 4, !tbaa !5
  %11557 = call ptr @strerror(i32 noundef %11556) #12
  %11558 = load i32, ptr %1545, align 4, !tbaa !5
  %11559 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11550, ptr noundef nonnull %.str.12.sink5323, i32 noundef %11551, ptr noundef nonnull @.str.233, ptr noundef nonnull @.str.8, i32 noundef 1011, ptr noundef %11553, ptr noundef %11555, ptr noundef %11557, i32 noundef %11558) #14
  call void @exit(i32 noundef 1) #15
  unreachable

11560:                                            ; preds = %11532
  %11561 = call i32 @s2n_cleanup() #12
  %11562 = icmp eq i32 %11561, -1
  br i1 %11562, label %11563, label %11585

11563:                                            ; preds = %11560
  %11564 = load i32, ptr %1545, align 4, !tbaa !5
  %11565 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11566 = call i32 @s2n_print_stacktrace(ptr noundef %11565) #12
  %11567 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11568 = trunc nuw i8 %11567 to i1
  br i1 %11568, label %11569, label %11573

11569:                                            ; preds = %11563
  %11570 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11571 = call i32 @fileno(ptr noundef %11570) #12
  %11572 = call i32 @isatty(i32 noundef %11571) #12
  %.not1234 = icmp eq i32 %11572, 0
  br i1 %.not1234, label %11573, label %11574

11573:                                            ; preds = %11569, %11563
  br label %11574

11574:                                            ; preds = %11569, %11573
  %.str.12.sink5332 = phi ptr [ @.str.12, %11573 ], [ @.str.9, %11569 ]
  store i32 %11564, ptr %1545, align 4, !tbaa !5
  %11575 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11576 = load i32, ptr @test_count, align 4, !tbaa !5
  %11577 = load i32, ptr %1491, align 4, !tbaa !5
  %11578 = call ptr @s2n_strerror(i32 noundef %11577, ptr noundef nonnull @.str.11) #12
  %11579 = load i32, ptr %1491, align 4, !tbaa !5
  %11580 = call ptr @s2n_strerror_debug(i32 noundef %11579, ptr noundef nonnull @.str.11) #12
  %11581 = load i32, ptr %1545, align 4, !tbaa !5
  %11582 = call ptr @strerror(i32 noundef %11581) #12
  %11583 = load i32, ptr %1545, align 4, !tbaa !5
  %11584 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11575, ptr noundef nonnull %.str.12.sink5332, i32 noundef %11576, ptr noundef nonnull @.str.234, ptr noundef nonnull @.str.8, i32 noundef 1012, ptr noundef %11578, ptr noundef %11580, ptr noundef %11582, i32 noundef %11583) #14
  call void @exit(i32 noundef 1) #15
  unreachable

11585:                                            ; preds = %11560
  %11586 = call i32 @s2n_in_unit_test_set(i1 noundef zeroext false) #12
  %11587 = icmp eq i32 %11586, -1
  br i1 %11587, label %11588, label %11610

11588:                                            ; preds = %11585
  %11589 = load i32, ptr %1545, align 4, !tbaa !5
  %11590 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11591 = call i32 @s2n_print_stacktrace(ptr noundef %11590) #12
  %11592 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11593 = trunc nuw i8 %11592 to i1
  br i1 %11593, label %11594, label %11598

11594:                                            ; preds = %11588
  %11595 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11596 = call i32 @fileno(ptr noundef %11595) #12
  %11597 = call i32 @isatty(i32 noundef %11596) #12
  %.not1233 = icmp eq i32 %11597, 0
  br i1 %.not1233, label %11598, label %11599

11598:                                            ; preds = %11594, %11588
  br label %11599

11599:                                            ; preds = %11594, %11598
  %.str.12.sink5341 = phi ptr [ @.str.12, %11598 ], [ @.str.9, %11594 ]
  store i32 %11589, ptr %1545, align 4, !tbaa !5
  %11600 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11601 = load i32, ptr @test_count, align 4, !tbaa !5
  %11602 = load i32, ptr %1491, align 4, !tbaa !5
  %11603 = call ptr @s2n_strerror(i32 noundef %11602, ptr noundef nonnull @.str.11) #12
  %11604 = load i32, ptr %1491, align 4, !tbaa !5
  %11605 = call ptr @s2n_strerror_debug(i32 noundef %11604, ptr noundef nonnull @.str.11) #12
  %11606 = load i32, ptr %1545, align 4, !tbaa !5
  %11607 = call ptr @strerror(i32 noundef %11606) #12
  %11608 = load i32, ptr %1545, align 4, !tbaa !5
  %11609 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11600, ptr noundef nonnull %.str.12.sink5341, i32 noundef %11601, ptr noundef nonnull @.str.235, ptr noundef nonnull @.str.8, i32 noundef 1012, ptr noundef %11603, ptr noundef %11605, ptr noundef %11607, i32 noundef %11608) #14
  call void @exit(i32 noundef 1) #15
  unreachable

11610:                                            ; preds = %11585
  %11611 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11612 = trunc nuw i8 %11611 to i1
  br i1 %11612, label %11613, label %11624

11613:                                            ; preds = %11610
  %11614 = load ptr, ptr @stdout, align 8, !tbaa !9
  %11615 = call i32 @fileno(ptr noundef %11614) #12
  %11616 = call i32 @isatty(i32 noundef %11615) #12
  %.not1230 = icmp eq i32 %11616, 0
  br i1 %.not1230, label %11624, label %11617

11617:                                            ; preds = %11613
  %11618 = load i32, ptr @test_count, align 4, !tbaa !5
  %.not1232 = icmp eq i32 %11618, 0
  %11619 = load ptr, ptr @stdout, align 8, !tbaa !9
  br i1 %.not1232, label %11622, label %11620

11620:                                            ; preds = %11617
  %11621 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11619, ptr noundef nonnull @.str.236, i32 noundef %11618) #12
  br label %11631

11622:                                            ; preds = %11617
  %11623 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11619, ptr noundef nonnull @.str.237) #12
  br label %11631

11624:                                            ; preds = %11613, %11610
  %11625 = load i32, ptr @test_count, align 4, !tbaa !5
  %.not1231 = icmp eq i32 %11625, 0
  %11626 = load ptr, ptr @stdout, align 8, !tbaa !9
  br i1 %.not1231, label %11629, label %11627

11627:                                            ; preds = %11624
  %11628 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11626, ptr noundef nonnull @.str.238, i32 noundef %11625) #12
  br label %11631

11629:                                            ; preds = %11624
  %11630 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11626, ptr noundef nonnull @.str.239) #12
  br label %11631

11631:                                            ; preds = %11622, %11620, %11629, %11627, %7292
  %.2 = phi i32 [ %.1, %7292 ], [ 0, %11627 ], [ 0, %11629 ], [ 0, %11620 ], [ 0, %11622 ]
  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 %.2
}

; Function Attrs: nofree nounwind
declare noundef i32 @fprintf(ptr nocapture noundef, ptr nocapture noundef readonly, ...) local_unnamed_addr #6

; Function Attrs: nofree nounwind
declare noundef i32 @fflush(ptr nocapture noundef) local_unnamed_addr #6

declare i32 @s2n_in_unit_test_set(i1 noundef zeroext) local_unnamed_addr #2

; Function Attrs: mustprogress nofree nosync nounwind willreturn memory(none)
declare ptr @__errno_location() local_unnamed_addr #7

declare i32 @s2n_print_stacktrace(ptr noundef) local_unnamed_addr #2

; Function Attrs: nounwind
declare i32 @isatty(i32 noundef) local_unnamed_addr #8

; Function Attrs: nofree nounwind
declare noundef i32 @fileno(ptr nocapture noundef) local_unnamed_addr #6

declare ptr @s2n_strerror(i32 noundef, ptr noundef) local_unnamed_addr #2

declare ptr @s2n_strerror_debug(i32 noundef, ptr noundef) local_unnamed_addr #2

; Function Attrs: nounwind
declare ptr @strerror(i32 noundef) local_unnamed_addr #8

; Function Attrs: noreturn nounwind
declare void @exit(i32 noundef) local_unnamed_addr #9

declare i32 @s2n_enable_atexit() local_unnamed_addr #2

declare i32 @s2n_init() local_unnamed_addr #2

declare i32 @s2n_test_cert_chain_and_key_new(ptr noundef, ptr noundef, ptr noundef) local_unnamed_addr #2

declare ptr @s2n_get_server_name(ptr noundef) local_unnamed_addr #2

declare ptr @s2n_connection_new(i32 noundef) local_unnamed_addr #2

declare i32 @s2n_connection_free(ptr noundef) local_unnamed_addr #2

declare i32 @s2n_set_server_name(ptr noundef, ptr noundef) local_unnamed_addr #2

; Function Attrs: mustprogress nofree nounwind willreturn memory(argmem: read)
declare i32 @strcmp(ptr nocapture noundef, ptr nocapture noundef) local_unnamed_addr #1

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_extension_supported_iana_value_to_id(i16 noundef zeroext, ptr noundef) 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) #10

declare ptr @s2n_config_new() local_unnamed_addr #2

declare i32 @s2n_config_set_client_hello_cb(ptr noundef, ptr noundef, ptr noundef) local_unnamed_addr #2

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

declare i32 @s2n_connection_set_config(ptr noundef, ptr noundef) local_unnamed_addr #2

declare i32 @s2n_client_hello_send(ptr noundef) local_unnamed_addr #2

declare i32 @s2n_stuffer_copy(ptr noundef, ptr noundef, i32 noundef) local_unnamed_addr #2

declare i32 @s2n_client_hello_recv(ptr noundef) local_unnamed_addr #2

declare i32 @s2n_config_free(ptr noundef) local_unnamed_addr #2

; Function Attrs: nounwind uwtable
declare hidden i32 @s2n_set_test_protocol_versions(ptr noundef) local_unnamed_addr #3

declare zeroext i8 @s2n_connection_get_protocol_version(ptr noundef) local_unnamed_addr #2

declare void @s2n_debug_info_reset() 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) #11

declare zeroext i1 @s2n_is_tls13_fully_supported(...) local_unnamed_addr #2

declare i32 @s2n_config_set_unsafe_for_testing(ptr noundef) local_unnamed_addr #2

declare i32 @s2n_config_set_client_auth_type(ptr noundef, i32 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_set_cipher_preferences(ptr noundef, ptr noundef) local_unnamed_addr #2

declare i32 @s2n_io_pair_init_non_blocking(ptr noundef) local_unnamed_addr #2

declare i32 @s2n_connection_set_io_pair(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_io_pair_close(ptr noundef) local_unnamed_addr #2

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

declare i32 @s2n_connection_set_max_fragment_length(ptr noundef, i16 noundef zeroext) local_unnamed_addr #2

declare i32 @s2n_realloc(ptr noundef, i32 noundef) local_unnamed_addr #2

declare i32 @s2n_free(ptr noundef) local_unnamed_addr #2

declare i32 @s2n_connection_set_fd(ptr noundef, i32 noundef) local_unnamed_addr #2

declare i32 @s2n_connection_set_read_fd(ptr noundef, i32 noundef) local_unnamed_addr #2

declare i32 @s2n_connection_set_write_fd(ptr noundef, i32 noundef) local_unnamed_addr #2

declare i32 @s2n_connection_get_write_fd(ptr noundef, ptr noundef) local_unnamed_addr #2

declare i32 @s2n_connection_get_read_fd(ptr noundef, ptr noundef) local_unnamed_addr #2

declare i32 @s2n_connection_wipe(ptr noundef) local_unnamed_addr #2

declare i32 @s2n_connection_set_send_cb(ptr noundef, ptr noundef) local_unnamed_addr #2

declare i32 @s2n_connection_set_send_ctx(ptr noundef, ptr noundef) local_unnamed_addr #2

declare i32 @s2n_connection_set_recv_cb(ptr noundef, ptr noundef) local_unnamed_addr #2

declare i32 @s2n_connection_set_recv_ctx(ptr noundef, ptr noundef) local_unnamed_addr #2

declare i32 @s2n_connection_get_config(ptr noundef, ptr noundef) local_unnamed_addr #2

declare i32 @s2n_config_ptr_free(ptr noundef) local_unnamed_addr #2

declare i32 @s2n_connection_ptr_free(ptr 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_permutation_load_server_chain(ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef) local_unnamed_addr #2

declare i32 @s2n_find_security_policy_from_version(ptr noundef, ptr noundef) local_unnamed_addr #2

declare i64 @s2n_connection_get_wire_bytes_out(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_connection_free_handshake(ptr noundef) local_unnamed_addr #2

declare i64 @s2n_send(ptr noundef, ptr noundef, i64 noundef, ptr noundef) local_unnamed_addr #2

declare i64 @s2n_recv(ptr noundef, ptr noundef, i64 noundef, ptr noundef) local_unnamed_addr #2

declare i32 @s2n_connection_release_buffers(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_init(ptr noundef, ptr noundef) local_unnamed_addr #2

declare i32 @s2n_stuffer_write_uint8(ptr noundef, i8 noundef zeroext) local_unnamed_addr #2

declare zeroext i1 @s2n_connection_check_io_status(ptr noundef, i32 noundef) local_unnamed_addr #2

declare void @s2n_atomic_flag_set(ptr noundef) local_unnamed_addr #2

declare void @s2n_atomic_flag_clear(ptr noundef) local_unnamed_addr #2

declare i32 @s2n_connection_get_key_update_counts(ptr noundef, ptr noundef, ptr noundef) local_unnamed_addr #2

declare i32 @s2n_connection_get_client_auth_type(ptr noundef, ptr noundef) local_unnamed_addr #2

declare i32 @s2n_connection_set_client_auth_type(ptr noundef, i32 noundef) local_unnamed_addr #2

declare i32 @s2n_cert_chain_and_key_free(ptr noundef) local_unnamed_addr #2

declare i32 @s2n_cleanup() local_unnamed_addr #2

attributes #0 = { mustprogress nocallback nofree nosync nounwind speculatable willreturn memory(none) }
attributes #1 = { 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 #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 = { 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 #4 = { mustprogress nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) }
attributes #5 = { inlinehint nounwind uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #6 = { nofree nounwind "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #7 = { mustprogress nofree nosync nounwind willreturn memory(none) "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #8 = { nounwind "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #9 = { noreturn nounwind "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #10 = { mustprogress nocallback nofree nounwind willreturn memory(argmem: readwrite) }
attributes #11 = { mustprogress nocallback nofree nounwind willreturn memory(argmem: write) }
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 8}
!16 = !{!"", !17, i64 0, !6, i64 2, !17, i64 4, !10, i64 8, !10, i64 16, !10, i64 24, !10, i64 32}
!17 = !{!"short", !7, i64 0}
!18 = !{!7, !7, i64 0}
!19 = !{!20, !17, i64 24}
!20 = !{!"", !21, i64 0, !17, i64 24, !17, i64 26, !6, i64 28}
!21 = !{!"s2n_blob", !10, i64 0, !6, i64 8, !6, i64 12, !6, i64 16}
!22 = !{i64 0, i64 8, !9, i64 8, i64 4, !5, i64 12, i64 4, !5, i64 16, i64 1, !18}
!23 = !{!24, !6, i64 2044}
!24 = !{!"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, !25, i64 160, !26, i64 168, !26, 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, !27, i64 240, !10, i64 632, !10, i64 640, !28, i64 648, !33, i64 1144, !36, i64 1688, !10, i64 1752, !7, i64 1760, !6, i64 1764, !7, i64 1768, !38, i64 1776, !38, i64 1816, !38, i64 1856, !38, i64 1896, !6, i64 1936, !26, i64 1944, !7, i64 1952, !38, i64 1960, !7, i64 2000, !7, i64 2001, !7, i64 2002, !12, i64 2003, !39, i64 2004, !39, i64 2008, !40, i64 2016, !17, i64 2208, !6, i64 2212, !17, i64 2216, !26, i64 2224, !7, i64 2232, !26, i64 2240, !26, i64 2248, !26, i64 2256, !39, i64 2264, !39, i64 2268, !7, i64 2272, !7, i64 2528, !6, i64 2784, !21, i64 2792, !6, i64 2816, !21, i64 2824, !21, i64 2848, !21, i64 2872, !42, i64 2896, !44, i64 3704, !10, i64 3760, !10, i64 3768, !7, i64 3776, !6, i64 3780, !21, i64 3784, !6, i64 3808, !46, i64 3816, !7, i64 3848, !38, i64 3992, !21, i64 4032, !21, i64 4056, !12, i64 4080, !12, i64 4081, !12, i64 4082, !17, i64 4084, !17, i64 4086, !6, i64 4088, !6, i64 4092, !21, i64 4096, !6, i64 4120, !47, i64 4128, !39, i64 4176, !7, i64 4180, !7, i64 4181}
!25 = !{!"s2n_timer", !26, i64 0}
!26 = !{!"long", !7, i64 0}
!27 = !{!"s2n_secrets", !7, i64 0, !6, i64 388}
!28 = !{!"s2n_kex_parameters", !29, i64 0, !30, i64 8, !7, i64 24, !30, i64 56, !31, i64 72, !31, i64 184, !7, i64 296, !32, i64 360, !21, i64 448, !21, i64 472}
!29 = !{!"s2n_dh_params", !10, i64 0}
!30 = !{!"s2n_ecc_evp_params", !10, i64 0, !10, i64 8}
!31 = !{!"s2n_kem_group_params", !10, i64 0, !32, i64 8, !30, i64 96}
!32 = !{!"s2n_kem_params", !10, i64 0, !21, i64 8, !21, i64 32, !21, i64 56, !12, i64 80}
!33 = !{!"s2n_handshake_parameters", !34, i64 0, !34, i64 48, !21, i64 96, !6, i64 120, !35, 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}
!34 = !{!"s2n_pkey", !10, i64 0, !10, i64 8, !10, i64 16, !10, i64 24, !10, i64 32, !10, i64 40}
!35 = !{!"s2n_sig_scheme_list", !7, i64 0, !7, i64 256}
!36 = !{!"s2n_psk_parameters", !6, i64 0, !37, i64 8, !17, i64 40, !17, i64 42, !10, i64 48, !6, i64 56}
!37 = !{!"s2n_array", !21, i64 0, !6, i64 24, !6, i64 28}
!38 = !{!"s2n_stuffer", !21, i64 0, !6, i64 24, !6, i64 28, !6, i64 32, !6, i64 36, !6, i64 36, !6, i64 36}
!39 = !{!"", !6, i64 0}
!40 = !{!"s2n_handshake", !38, 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, !41, i64 176, !6, i64 184, !6, i64 184, !6, i64 184, !6, i64 184, !6, i64 188}
!41 = !{!"s2n_offered_early_data", !10, i64 0}
!42 = !{!"s2n_client_hello", !21, i64 0, !43, i64 24, !21, i64 728, !21, i64 752, !21, 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}
!43 = !{!"", !7, i64 0, !21, i64 672, !17, i64 696}
!44 = !{!"s2n_x509_validator", !10, i64 0, !10, i64 8, !7, i64 16, !7, i64 17, !17, i64 18, !10, i64 24, !6, i64 32, !10, i64 40, !45, i64 48, !12, i64 52}
!45 = !{!"s2n_cert_validation_info", !6, i64 0, !6, i64 0}
!46 = !{!"s2n_ticket_fields", !21, i64 0, !6, i64 24}
!47 = !{!"s2n_post_handshake", !38, i64 0, !7, i64 40}
!48 = !{!24, !6, i64 2040}
!49 = !{!24, !7, i64 220}
!50 = !{!24, !10, i64 1536}
!51 = !{i64 0, i64 2, !52, i64 8, i64 8, !9, i64 16, i64 4, !5, i64 20, i64 4, !5, i64 24, i64 1, !18, i64 25, i64 1, !18, i64 26, i64 2, !52, i64 32, i64 8, !9}
!52 = !{!17, !17, i64 0}
!53 = !{!54, !6, i64 16}
!54 = !{!"s2n_signature_scheme", !17, i64 0, !10, i64 8, !6, i64 16, !6, i64 20, !7, i64 24, !7, i64 25, !17, i64 26, !10, i64 32}
!55 = !{!24, !10, i64 1528}
!56 = distinct !{!56, !57}
!57 = !{!"llvm.loop.mustprogress"}
!58 = !{!54, !6, i64 20}
!59 = distinct !{!59, !57}
!60 = !{!24, !17, i64 2208}
!61 = !{!24, !6, i64 1904}
!62 = !{!24, !7, i64 2232}
!63 = !{!24, !10, i64 48}
!64 = !{!24, !10, i64 56}
!65 = !{!24, !10, i64 64}
!66 = !{!24, !10, i64 72}
!67 = !{i64 0, i64 1, !18, 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, !18}
!68 = !{!69, !12, i64 56}
!69 = !{!"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}
!70 = !{!24, !10, i64 16}
!71 = !{!72, !10, i64 96}
!72 = !{!"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, !73, i64 24, !21, 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, !26, i64 144, !10, i64 152, !26, i64 160, !26, 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, !74, i64 304, !17, 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, !21, i64 448}
!73 = !{!"certs_by_type", !7, i64 0}
!74 = !{!"s2n_x509_trust_store", !10, i64 0, !6, i64 8}
!75 = !{!76, !10, i64 0}
!76 = !{!"s2n_debug_info", !10, i64 0, !10, i64 8}
!77 = !{!76, !10, i64 8}
!78 = !{!24, !26, i64 2248}
!79 = distinct !{!79, !57}
!80 = !{!24, !6, i64 4136}
!81 = !{!24, !7, i64 4180}
!82 = !{!24, !7, i64 4181}
!83 = !{!24, !6, i64 1764}


; Effective O3 passes: CorrelatedValuePropagationPass,DSEPass,EarlyCSEPass,GVNPass,GlobalOptPass,IPSCCPPass,IndVarSimplifyPass,InferAlignmentPass,InferFunctionAttrsPass,InstCombinePass,InstSimplifyPass,JumpThreadingPass,LCSSAPass,LICMPass,LoopRotatePass,LoopSimplifyPass,LoopUnrollPass,PostOrderFunctionAttrsPass,SCCPPass,SROAPass,SimplifyCFGPass,TailCallElimPass