; LLVM IR from aws/s2n-tls :: tests/unit (s2n_renegotiate_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_reneg_test_case = type { i8, ptr, i8 }
%struct.s2n_cipher_preferences = type { i16, ptr, i8 }
%struct.s2n_security_policy = type { i8, ptr, ptr, ptr, ptr, ptr, ptr, i8, [2 x i8] }
%struct.s2n_kex = type { i8, [2 x ptr], ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr }
%struct.s2n_test_io_pair = type { i32, i32 }
%struct.s2n_result = type { i32 }
%struct.s2n_stuffer = type { %struct.s2n_blob, i32, i32, i32, i8 }
%struct.s2n_blob = type { ptr, i32, i32, i8 }
%struct.s2n_test_io_stuffer_pair = type { %struct.s2n_stuffer, %struct.s2n_stuffer }
%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 }
%struct.s2n_cipher_suite = type { i8, ptr, ptr, [2 x i8], ptr, i32, ptr, [2 x ptr], i8, ptr, ptr, i32, i8 }
%struct.s2n_crypto_parameters = type { ptr, %struct.s2n_session_key, %struct.s2n_session_key, %struct.s2n_hmac_state, %struct.s2n_hmac_state, [16 x i8], [16 x i8], [8 x i8], [8 x i8] }
%struct.s2n_session_key = type { ptr }
%struct.s2n_hmac_state = type { i32, i16, i32, i16, i8, %struct.s2n_hash_state, %struct.s2n_hash_state, %struct.s2n_hash_state, %struct.s2n_hash_state, [128 x i8], [64 x i8] }
%struct.s2n_hash_state = type { ptr, i32, i8, i64, %union.anon.0 }
%union.anon.0 = type { %struct.s2n_hash_evp_digest }
%struct.s2n_hash_evp_digest = type { %struct.s2n_evp_digest, %struct.s2n_evp_digest }
%struct.s2n_evp_digest = type { ptr, ptr }

@s2n_use_color_in_output = external dso_local global i8, align 1
@dhe_test_cases = external dso_local constant [6 x %struct.s2n_reneg_test_case], align 16
@test_count = external dso_local global i32, align 4
@stdout = external global ptr, align 8
@.str = external hidden unnamed_addr constant [19 x i8], align 1
@.str.1 = external hidden unnamed_addr constant [79 x i8], align 1
@stderr = external global ptr, align 8
@.str.2 = external hidden unnamed_addr constant [101 x i8], align 1
@.str.3 = external hidden unnamed_addr constant [52 x i8], align 1
@s2n_errno = external thread_local global i32, align 4
@.str.4 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.5 = external hidden unnamed_addr constant [90 x i8], align 1
@.str.6 = external hidden unnamed_addr constant [48 x i8], align 1
@.str.7 = external hidden unnamed_addr constant [39 x i8], align 1
@.str.8 = external hidden unnamed_addr constant [60 x i8], align 1
@.str.9 = external hidden unnamed_addr constant [58 x i8], align 1
@.str.10 = external hidden unnamed_addr constant [200 x i8], align 1
@.str.11 = external hidden unnamed_addr constant [34 x i8], align 1
@.str.12 = external hidden unnamed_addr constant [33 x i8], align 1
@.str.13 = external hidden unnamed_addr constant [155 x i8], align 1
@.str.14 = external hidden unnamed_addr constant [26 x i8], align 1
@.str.15 = external hidden unnamed_addr constant [105 x i8], align 1
@.str.16 = external hidden unnamed_addr constant [41 x i8], align 1
@.str.17 = external hidden unnamed_addr constant [70 x i8], align 1
@.str.18 = external hidden unnamed_addr constant [94 x i8], align 1
@.str.19 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.20 = external hidden unnamed_addr constant [82 x i8], align 1
@__const.main.app_data = external hidden unnamed_addr constant [20 x i8], align 16
@__const.main.large_app_data = external hidden unnamed_addr constant [16384 x i8], align 16
@.str.21 = external hidden unnamed_addr constant [46 x i8], align 1
@.str.22 = external hidden unnamed_addr constant [75 x i8], align 1
@.str.23 = external hidden unnamed_addr constant [46 x i8], align 1
@.str.24 = external hidden unnamed_addr constant [75 x i8], align 1
@.str.25 = external hidden unnamed_addr constant [68 x i8], align 1
@.str.26 = external hidden unnamed_addr constant [78 x i8], align 1
@.str.27 = external hidden unnamed_addr constant [78 x i8], align 1
@.str.28 = external hidden unnamed_addr constant [55 x i8], align 1
@.str.29 = external hidden unnamed_addr constant [42 x i8], align 1
@.str.30 = external hidden unnamed_addr constant [54 x i8], align 1
@.str.31 = external hidden unnamed_addr constant [42 x i8], align 1
@.str.32 = external hidden unnamed_addr constant [91 x i8], align 1
@.str.33 = external hidden unnamed_addr constant [62 x i8], align 1
@.str.34 = external hidden unnamed_addr constant [97 x i8], align 1
@.str.35 = external hidden unnamed_addr constant [103 x i8], align 1
@.str.36 = external hidden unnamed_addr constant [78 x i8], align 1
@.str.37 = external hidden unnamed_addr constant [63 x i8], align 1
@.str.38 = external hidden unnamed_addr constant [64 x i8], align 1
@.str.39 = external hidden unnamed_addr constant [83 x i8], align 1
@.str.40 = external hidden unnamed_addr constant [83 x i8], align 1
@.str.41 = external hidden unnamed_addr constant [58 x i8], align 1
@.str.42 = external hidden unnamed_addr constant [45 x i8], align 1
@.str.43 = external hidden unnamed_addr constant [57 x i8], align 1
@.str.44 = external hidden unnamed_addr constant [45 x i8], align 1
@.str.45 = external hidden unnamed_addr constant [75 x i8], align 1
@.str.46 = external hidden unnamed_addr constant [97 x i8], align 1
@.str.47 = external hidden unnamed_addr constant [51 x i8], align 1
@.str.48 = external hidden unnamed_addr constant [53 x i8], align 1
@.str.49 = external hidden unnamed_addr constant [77 x i8], align 1
@.str.50 = external hidden unnamed_addr constant [62 x i8], align 1
@.str.51 = external hidden unnamed_addr constant [97 x i8], align 1
@.str.52 = external hidden unnamed_addr constant [97 x i8], align 1
@.str.53 = external hidden unnamed_addr constant [74 x i8], align 1
@.str.54 = external hidden unnamed_addr constant [74 x i8], align 1
@.str.55 = external hidden unnamed_addr constant [101 x i8], align 1
@.str.56 = external hidden unnamed_addr constant [101 x i8], align 1
@.str.57 = external hidden unnamed_addr constant [51 x i8], align 1
@.str.58 = external hidden unnamed_addr constant [138 x i8], align 1
@.str.59 = external hidden unnamed_addr constant [51 x i8], align 1
@.str.60 = external hidden unnamed_addr constant [138 x i8], align 1
@.str.61 = external hidden unnamed_addr constant [52 x i8], align 1
@.str.62 = external hidden unnamed_addr constant [81 x i8], align 1
@.str.63 = external hidden unnamed_addr constant [105 x i8], align 1
@.str.64 = external hidden unnamed_addr constant [93 x i8], align 1
@.str.65 = external hidden unnamed_addr constant [85 x i8], align 1
@.str.66 = external hidden unnamed_addr constant [109 x i8], align 1
@.str.67 = external hidden unnamed_addr constant [53 x i8], align 1
@.str.68 = external hidden unnamed_addr constant [82 x i8], align 1
@.str.69 = external hidden unnamed_addr constant [106 x i8], align 1
@.str.70 = external hidden unnamed_addr constant [94 x i8], align 1
@.str.71 = external hidden unnamed_addr constant [86 x i8], align 1
@.str.72 = external hidden unnamed_addr constant [111 x i8], align 1
@.str.73 = external hidden unnamed_addr constant [87 x i8], align 1
@.str.74 = external hidden unnamed_addr constant [87 x i8], align 1
@.str.75 = external hidden unnamed_addr constant [86 x i8], align 1
@.str.76 = external hidden unnamed_addr constant [86 x i8], align 1
@.str.77 = external hidden unnamed_addr constant [92 x i8], align 1
@.str.78 = external hidden unnamed_addr constant [45 x i8], align 1
@.str.79 = external hidden unnamed_addr constant [53 x i8], align 1
@.str.80 = external hidden unnamed_addr constant [54 x i8], align 1
@.str.81 = external hidden unnamed_addr constant [50 x i8], align 1
@.str.82 = external hidden unnamed_addr constant [59 x i8], align 1
@.str.83 = external hidden unnamed_addr constant [55 x i8], align 1
@.str.84 = external hidden unnamed_addr constant [70 x i8], align 1
@.str.85 = external hidden unnamed_addr constant [62 x i8], align 1
@.str.86 = external hidden unnamed_addr constant [67 x i8], align 1
@.str.87 = external hidden unnamed_addr constant [76 x i8], align 1
@.str.88 = external hidden unnamed_addr constant [88 x i8], align 1
@.str.89 = external hidden unnamed_addr constant [97 x i8], align 1
@.str.90 = external hidden unnamed_addr constant [49 x i8], align 1
@.str.91 = external hidden unnamed_addr constant [49 x i8], align 1
@.str.92 = external hidden unnamed_addr constant [52 x i8], align 1
@.str.93 = external hidden unnamed_addr constant [82 x i8], align 1
@.str.94 = external hidden unnamed_addr constant [115 x i8], align 1
@.str.95 = external hidden unnamed_addr constant [100 x i8], align 1
@.str.96 = external hidden unnamed_addr constant [78 x i8], align 1
@.str.97 = external hidden unnamed_addr constant [39 x i8], align 1
@.str.98 = external hidden unnamed_addr constant [104 x i8], align 1
@.str.99 = external hidden unnamed_addr constant [99 x i8], align 1
@.str.100 = external hidden unnamed_addr constant [44 x i8], align 1
@.str.101 = external hidden unnamed_addr constant [41 x i8], align 1
@.str.102 = external hidden unnamed_addr constant [70 x i8], align 1
@.str.103 = external hidden unnamed_addr constant [41 x i8], align 1
@.str.104 = external hidden unnamed_addr constant [70 x i8], align 1
@.str.105 = external hidden unnamed_addr constant [73 x i8], align 1
@.str.106 = external hidden unnamed_addr constant [66 x i8], align 1
@.str.107 = external hidden unnamed_addr constant [93 x i8], align 1
@.str.108 = external hidden unnamed_addr constant [81 x i8], align 1
@.str.109 = external hidden unnamed_addr constant [92 x i8], align 1
@.str.110 = external hidden unnamed_addr constant [95 x i8], align 1
@.str.111 = external hidden unnamed_addr constant [39 x i8], align 1
@.str.112 = external hidden unnamed_addr constant [60 x i8], align 1
@.str.113 = external hidden unnamed_addr constant [57 x i8], align 1
@__const.main.one_cipher_preference = external hidden unnamed_addr constant %struct.s2n_cipher_preferences, align 8
@security_policy_test_all = external constant %struct.s2n_security_policy, align 8
@.str.114 = external hidden unnamed_addr constant [48 x i8], align 1
@.str.115 = external hidden unnamed_addr constant [101 x i8], align 1
@.str.116 = external hidden unnamed_addr constant [107 x i8], align 1
@.str.117 = external hidden unnamed_addr constant [78 x i8], align 1
@.str.118 = external hidden unnamed_addr constant [81 x i8], align 1
@.str.119 = external hidden unnamed_addr constant [48 x i8], align 1
@.str.120 = external hidden unnamed_addr constant [77 x i8], align 1
@.str.121 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.122 = external hidden unnamed_addr constant [89 x i8], align 1
@.str.123 = external hidden unnamed_addr constant [58 x i8], align 1
@.str.124 = external hidden unnamed_addr constant [34 x i8], align 1
@s2n_dhe = external constant %struct.s2n_kex, align 8
@.str.125 = external hidden unnamed_addr constant [82 x i8], align 1
@.str.126 = external hidden unnamed_addr constant [82 x i8], align 1
@.str.127 = external hidden unnamed_addr constant [108 x i8], align 1
@.str.128 = external hidden unnamed_addr constant [88 x i8], align 1
@mfl_code_to_length = external global [5 x i16], align 2
@.str.129 = external hidden unnamed_addr constant [110 x i8], align 1
@.str.130 = external hidden unnamed_addr constant [81 x i8], align 1
@.str.131 = external hidden unnamed_addr constant [101 x i8], align 1
@.str.132 = external hidden unnamed_addr constant [42 x i8], align 1
@.str.133 = external hidden unnamed_addr constant [52 x i8], align 1
@.str.134 = external hidden unnamed_addr constant [30 x i8], align 1
@.str.135 = external hidden unnamed_addr constant [36 x i8], align 1
@.str.136 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.137 = external hidden unnamed_addr constant [25 x i8], align 1

; Function Attrs: nounwind uwtable
define dso_local i32 @main(i32 noundef %0, ptr noundef %1) #0 {
  %3 = alloca i32, align 4
  %4 = alloca i32, align 4
  %5 = alloca ptr, align 8
  %6 = alloca i32, align 4
  %7 = alloca i32, align 4
  %8 = alloca i32, align 4
  %9 = alloca ptr, align 8
  %10 = alloca i32, align 4
  %11 = alloca ptr, align 8
  %12 = alloca i32, align 4
  %13 = alloca [12000 x i8], align 16
  %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 i32, align 4
  %20 = alloca [20 x i8], align 16
  %21 = alloca [16384 x i8], align 16
  %22 = alloca i32, align 4
  %23 = alloca ptr, align 8
  %24 = alloca i32, align 4
  %25 = alloca i32, align 4
  %26 = alloca ptr, align 8
  %27 = alloca i32, align 4
  %28 = alloca i32, align 4
  %29 = alloca %struct.s2n_test_io_pair, align 4
  %30 = alloca i32, align 4
  %31 = alloca i32, align 4
  %32 = alloca i32, align 4
  %33 = alloca i32, align 4
  %34 = alloca i32, align 4
  %35 = alloca i32, align 4
  %36 = alloca i32, align 4
  %37 = alloca i32, align 4
  %38 = alloca i32, align 4
  %39 = alloca [20 x i8], align 16
  %40 = alloca i32, align 4
  %41 = alloca i32, align 4
  %42 = alloca i32, align 4
  %43 = alloca %struct.s2n_result, align 4
  %44 = alloca %struct.s2n_result, align 4
  %45 = alloca ptr, align 8
  %46 = alloca i32, align 4
  %47 = alloca i32, align 4
  %48 = alloca ptr, align 8
  %49 = alloca i32, align 4
  %50 = alloca i32, align 4
  %51 = alloca %struct.s2n_stuffer, align 8
  %52 = alloca %struct.s2n_stuffer, align 8
  %53 = alloca i32, align 4
  %54 = alloca i32, align 4
  %55 = alloca i32, align 4
  %56 = alloca i32, align 4
  %57 = alloca i32, align 4
  %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 [20 x i8], align 16
  %64 = alloca i32, align 4
  %65 = alloca i32, align 4
  %66 = alloca i32, align 4
  %67 = alloca %struct.s2n_result, align 4
  %68 = alloca %struct.s2n_result, align 4
  %69 = alloca ptr, align 8
  %70 = alloca i32, align 4
  %71 = alloca i32, align 4
  %72 = alloca ptr, align 8
  %73 = alloca i32, align 4
  %74 = alloca i32, align 4
  %75 = alloca %struct.s2n_stuffer, align 8
  %76 = alloca %struct.s2n_stuffer, align 8
  %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 i64, align 8
  %85 = alloca i32, align 4
  %86 = alloca i32, align 4
  %87 = alloca i32, align 4
  %88 = alloca i64, align 8
  %89 = alloca i32, align 4
  %90 = alloca %struct.s2n_result, align 4
  %91 = alloca %struct.s2n_result, align 4
  %92 = alloca ptr, align 8
  %93 = alloca i32, align 4
  %94 = alloca i32, align 4
  %95 = alloca ptr, align 8
  %96 = alloca i32, align 4
  %97 = alloca i32, align 4
  %98 = alloca %struct.s2n_stuffer, align 8
  %99 = alloca %struct.s2n_stuffer, align 8
  %100 = alloca i32, align 4
  %101 = alloca i32, align 4
  %102 = alloca i32, align 4
  %103 = alloca i32, align 4
  %104 = alloca i32, align 4
  %105 = alloca i64, align 8
  %106 = alloca i32, align 4
  %107 = alloca i64, align 8
  %108 = alloca i32, align 4
  %109 = alloca i32, align 4
  %110 = alloca i32, align 4
  %111 = alloca i32, align 4
  %112 = alloca i64, align 8
  %113 = alloca i32, align 4
  %114 = alloca %struct.s2n_result, align 4
  %115 = alloca %struct.s2n_result, align 4
  %116 = alloca ptr, align 8
  %117 = alloca i32, align 4
  %118 = alloca i32, align 4
  %119 = alloca ptr, align 8
  %120 = alloca i32, align 4
  %121 = alloca i32, align 4
  %122 = alloca %struct.s2n_test_io_pair, 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 %struct.s2n_result, align 4
  %131 = alloca %struct.s2n_result, align 4
  %132 = alloca ptr, align 8
  %133 = alloca i32, align 4
  %134 = alloca i32, align 4
  %135 = alloca ptr, align 8
  %136 = alloca i32, align 4
  %137 = alloca i32, align 4
  %138 = alloca %struct.s2n_test_io_pair, align 4
  %139 = alloca i32, align 4
  %140 = alloca i32, align 4
  %141 = alloca i32, align 4
  %142 = alloca i32, align 4
  %143 = alloca i32, align 4
  %144 = alloca i32, align 4
  %145 = alloca i32, align 4
  %146 = alloca i32, align 4
  %147 = alloca i32, align 4
  %148 = alloca i32, align 4
  %149 = alloca i32, align 4
  %150 = alloca i32, 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 %struct.s2n_result, align 4
  %157 = alloca %struct.s2n_result, align 4
  %158 = alloca ptr, align 8
  %159 = alloca i32, align 4
  %160 = alloca i32, align 4
  %161 = alloca i32, align 4
  %162 = alloca i32, align 4
  %163 = alloca i32, align 4
  %164 = alloca i32, align 4
  %165 = alloca ptr, align 8
  %166 = alloca i32, align 4
  %167 = alloca i32, align 4
  %168 = alloca i32, align 4
  %169 = alloca i32, align 4
  %170 = alloca i32, align 4
  %171 = alloca i32, align 4
  %172 = alloca ptr, align 8
  %173 = alloca i32, align 4
  %174 = alloca i32, align 4
  %175 = alloca ptr, align 8
  %176 = alloca i32, align 4
  %177 = alloca i32, align 4
  %178 = alloca %struct.s2n_test_io_pair, align 4
  %179 = alloca i32, align 4
  %180 = alloca i32, align 4
  %181 = alloca i32, align 4
  %182 = alloca i32, align 4
  %183 = alloca i32, align 4
  %184 = alloca i32, align 4
  %185 = alloca i32, align 4
  %186 = alloca i32, align 4
  %187 = alloca i32, align 4
  %188 = alloca i32, align 4
  %189 = alloca i32, align 4
  %190 = alloca i32, align 4
  %191 = alloca i32, align 4
  %192 = alloca i32, align 4
  %193 = alloca i32, align 4
  %194 = alloca i32, align 4
  %195 = alloca %struct.s2n_result, align 4
  %196 = alloca %struct.s2n_result, align 4
  %197 = alloca %struct.s2n_result, align 4
  %198 = alloca %struct.s2n_result, align 4
  %199 = alloca ptr, align 8
  %200 = alloca i32, align 4
  %201 = alloca i32, align 4
  %202 = alloca ptr, align 8
  %203 = alloca i32, align 4
  %204 = alloca i32, align 4
  %205 = alloca %struct.s2n_test_io_pair, align 4
  %206 = alloca i32, align 4
  %207 = alloca i32, align 4
  %208 = alloca i32, align 4
  %209 = alloca i64, align 8
  %210 = alloca i32, align 4
  %211 = alloca i32, align 4
  %212 = alloca i32, align 4
  %213 = alloca i32, align 4
  %214 = alloca i32, align 4
  %215 = alloca i32, align 4
  %216 = alloca %struct.s2n_result, align 4
  %217 = alloca %struct.s2n_result, align 4
  %218 = alloca ptr, align 8
  %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 %struct.s2n_result, align 4
  %227 = alloca ptr, align 8
  %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 %struct.s2n_result, align 4
  %236 = alloca ptr, align 8
  %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 %struct.s2n_stuffer, align 8
  %243 = alloca %struct.s2n_stuffer, align 8
  %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 i16, align 2
  %250 = alloca %struct.s2n_stuffer, align 8
  %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 i32, align 4
  %262 = alloca i32, align 4
  %263 = alloca %struct.s2n_result, align 4
  %264 = alloca %struct.s2n_result, align 4
  %265 = alloca ptr, align 8
  %266 = alloca i32, align 4
  %267 = alloca i32, align 4
  %268 = alloca ptr, align 8
  %269 = alloca i32, align 4
  %270 = alloca i32, align 4
  %271 = alloca %struct.s2n_stuffer, align 8
  %272 = alloca %struct.s2n_stuffer, align 8
  %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 i16, align 2
  %279 = alloca [16384 x i8], align 16
  %280 = alloca i32, align 4
  %281 = alloca i32, align 4
  %282 = alloca i32, align 4
  %283 = alloca i32, align 4
  %284 = alloca i32, align 4
  %285 = alloca i32, align 4
  %286 = alloca i32, align 4
  %287 = alloca i64, align 8
  %288 = alloca i32, align 4
  %289 = alloca i32, align 4
  %290 = alloca i32, align 4
  %291 = alloca i32, align 4
  %292 = alloca %struct.s2n_result, align 4
  %293 = alloca %struct.s2n_result, align 4
  %294 = alloca ptr, align 8
  %295 = alloca i32, align 4
  %296 = alloca i32, align 4
  %297 = alloca ptr, align 8
  %298 = alloca i32, align 4
  %299 = alloca i32, align 4
  %300 = alloca i32, align 4
  %301 = alloca %struct.s2n_test_io_stuffer_pair, align 8
  %302 = alloca %struct.s2n_result, align 4
  %303 = alloca i32, align 4
  %304 = alloca %struct.s2n_result, align 4
  %305 = alloca i32, align 4
  %306 = alloca i32, align 4
  %307 = alloca [20 x i8], align 16
  %308 = alloca i32, align 4
  %309 = alloca i32, align 4
  %310 = alloca i32, align 4
  %311 = alloca i32, align 4
  %312 = alloca i32, align 4
  %313 = alloca i32, align 4
  %314 = alloca i32, align 4
  %315 = alloca i32, align 4
  %316 = alloca %struct.s2n_result, align 4
  %317 = alloca %struct.s2n_result, align 4
  %318 = alloca %struct.s2n_result, align 4
  %319 = alloca %struct.s2n_cipher_preferences, align 8
  %320 = alloca %struct.s2n_security_policy, align 8
  %321 = alloca ptr, align 8
  %322 = alloca i32, align 4
  %323 = alloca i32, align 4
  %324 = alloca i32, align 4
  %325 = alloca i32, align 4
  %326 = alloca i32, align 4
  %327 = alloca ptr, align 8
  %328 = alloca i32, align 4
  %329 = alloca i32, align 4
  %330 = alloca i32, align 4
  %331 = alloca i8, align 1
  %332 = alloca [2000 x %struct.s2n_reneg_test_case], align 16
  %333 = alloca i64, align 8
  %334 = alloca i64, align 8
  %335 = alloca i32, align 4
  %336 = alloca i32, align 4
  %337 = alloca ptr, align 8
  %338 = alloca i8, align 1
  %339 = alloca i32, align 4
  %340 = alloca i64, align 8
  %341 = alloca ptr, align 8
  %342 = alloca i64, align 8
  %343 = alloca %struct.s2n_reneg_test_case, align 8
  %344 = alloca i32, align 4
  %345 = alloca i64, align 8
  %346 = alloca [20 x i8], align 16
  %347 = alloca ptr, align 8
  %348 = alloca i32, align 4
  %349 = alloca i32, align 4
  %350 = alloca ptr, align 8
  %351 = alloca i32, align 4
  %352 = alloca i32, align 4
  %353 = alloca %struct.s2n_test_io_pair, align 4
  %354 = alloca i32, align 4
  %355 = alloca i32, align 4
  %356 = alloca i32, align 4
  %357 = alloca i32, align 4
  %358 = alloca i32, align 4
  %359 = alloca i32, align 4
  %360 = alloca i32, align 4
  %361 = alloca i32, align 4
  %362 = alloca i32, align 4
  %363 = alloca i32, align 4
  %364 = alloca i32, align 4
  %365 = alloca i32, align 4
  %366 = alloca i32, align 4
  %367 = alloca i32, align 4
  %368 = alloca i32, align 4
  %369 = alloca %struct.s2n_result, align 4
  %370 = alloca %struct.s2n_result, align 4
  %371 = alloca %struct.s2n_result, align 4
  %372 = alloca %struct.s2n_result, align 4
  %373 = alloca i32, align 4
  %374 = alloca i32, align 4
  %375 = alloca %struct.s2n_result, align 4
  %376 = alloca %struct.s2n_result, align 4
  %377 = alloca %struct.s2n_result, 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 %378

378:                                              ; preds = %2
  br label %379

379:                                              ; preds = %378
  store i32 0, ptr @test_count, align 4, !tbaa !5
  %380 = load ptr, ptr @stdout, align 8, !tbaa !9
  %381 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %380, ptr noundef @.str, ptr noundef @.str.1) #11
  %382 = load ptr, ptr @stdout, align 8, !tbaa !9
  %383 = call i32 @fflush(ptr noundef %382)
  br label %384

384:                                              ; preds = %379
  %385 = call i32 @s2n_in_unit_test_set(i1 noundef zeroext true)
  %386 = icmp eq i32 %385, -1
  br i1 %386, label %387, label %438

387:                                              ; preds = %384
  br label %388

388:                                              ; preds = %387
  br label %389

389:                                              ; preds = %388
  call void @llvm.lifetime.start.p0(i64 4, ptr %6) #11
  %390 = call ptr @__errno_location() #12
  %391 = load i32, ptr %390, align 4, !tbaa !5
  store i32 %391, ptr %6, align 4, !tbaa !5
  %392 = load ptr, ptr @stderr, align 8, !tbaa !9
  %393 = call i32 @s2n_print_stacktrace(ptr noundef %392)
  %394 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %395 = trunc i8 %394 to i1
  br i1 %395, label %396, label %418

396:                                              ; preds = %389
  %397 = load ptr, ptr @stderr, align 8, !tbaa !9
  %398 = call i32 @fileno(ptr noundef %397) #11
  %399 = call i32 @isatty(i32 noundef %398) #11
  %400 = icmp ne i32 %399, 0
  br i1 %400, label %401, label %418

401:                                              ; preds = %396
  %402 = load i32, ptr %6, align 4, !tbaa !5
  %403 = call ptr @__errno_location() #12
  store i32 %402, ptr %403, align 4, !tbaa !5
  %404 = load ptr, ptr @stderr, align 8, !tbaa !9
  %405 = load i32, ptr @test_count, align 4, !tbaa !5
  %406 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %407 = load i32, ptr %406, align 4, !tbaa !5
  %408 = call ptr @s2n_strerror(i32 noundef %407, ptr noundef @.str.4)
  %409 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %410 = load i32, ptr %409, align 4, !tbaa !5
  %411 = call ptr @s2n_strerror_debug(i32 noundef %410, ptr noundef @.str.4)
  %412 = call ptr @__errno_location() #12
  %413 = load i32, ptr %412, align 4, !tbaa !5
  %414 = call ptr @strerror(i32 noundef %413) #11
  %415 = call ptr @__errno_location() #12
  %416 = load i32, ptr %415, align 4, !tbaa !5
  %417 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %404, ptr noundef @.str.2, i32 noundef %405, ptr noundef @.str.3, ptr noundef @.str.1, i32 noundef 66, ptr noundef %408, ptr noundef %411, ptr noundef %414, i32 noundef %416) #11
  br label %435

418:                                              ; preds = %396, %389
  %419 = load i32, ptr %6, align 4, !tbaa !5
  %420 = call ptr @__errno_location() #12
  store i32 %419, ptr %420, align 4, !tbaa !5
  %421 = load ptr, ptr @stderr, align 8, !tbaa !9
  %422 = load i32, ptr @test_count, align 4, !tbaa !5
  %423 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %424 = load i32, ptr %423, align 4, !tbaa !5
  %425 = call ptr @s2n_strerror(i32 noundef %424, ptr noundef @.str.4)
  %426 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %427 = load i32, ptr %426, align 4, !tbaa !5
  %428 = call ptr @s2n_strerror_debug(i32 noundef %427, ptr noundef @.str.4)
  %429 = call ptr @__errno_location() #12
  %430 = load i32, ptr %429, align 4, !tbaa !5
  %431 = call ptr @strerror(i32 noundef %430) #11
  %432 = call ptr @__errno_location() #12
  %433 = load i32, ptr %432, align 4, !tbaa !5
  %434 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %421, ptr noundef @.str.5, i32 noundef %422, ptr noundef @.str.3, ptr noundef @.str.1, i32 noundef 66, ptr noundef %425, ptr noundef %428, ptr noundef %431, i32 noundef %433) #11
  br label %435

435:                                              ; preds = %418, %401
  call void @llvm.lifetime.end.p0(i64 4, ptr %6) #11
  br label %436

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

437:                                              ; No predecessors!
  br label %438

438:                                              ; preds = %437, %384
  br label %439

439:                                              ; preds = %438
  br label %440

440:                                              ; preds = %439
  %441 = load i32, ptr @test_count, align 4, !tbaa !5
  %442 = add nsw i32 %441, 1
  store i32 %442, ptr @test_count, align 4, !tbaa !5
  %443 = call i32 @s2n_enable_atexit()
  %444 = icmp eq i32 %443, -1
  br i1 %444, label %445, label %496

445:                                              ; preds = %440
  br label %446

446:                                              ; preds = %445
  br label %447

447:                                              ; preds = %446
  call void @llvm.lifetime.start.p0(i64 4, ptr %7) #11
  %448 = call ptr @__errno_location() #12
  %449 = load i32, ptr %448, align 4, !tbaa !5
  store i32 %449, ptr %7, align 4, !tbaa !5
  %450 = load ptr, ptr @stderr, align 8, !tbaa !9
  %451 = call i32 @s2n_print_stacktrace(ptr noundef %450)
  %452 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %453 = trunc i8 %452 to i1
  br i1 %453, label %454, label %476

454:                                              ; preds = %447
  %455 = load ptr, ptr @stderr, align 8, !tbaa !9
  %456 = call i32 @fileno(ptr noundef %455) #11
  %457 = call i32 @isatty(i32 noundef %456) #11
  %458 = icmp ne i32 %457, 0
  br i1 %458, label %459, label %476

459:                                              ; preds = %454
  %460 = load i32, ptr %7, align 4, !tbaa !5
  %461 = call ptr @__errno_location() #12
  store i32 %460, ptr %461, align 4, !tbaa !5
  %462 = load ptr, ptr @stderr, align 8, !tbaa !9
  %463 = load i32, ptr @test_count, align 4, !tbaa !5
  %464 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %465 = load i32, ptr %464, align 4, !tbaa !5
  %466 = call ptr @s2n_strerror(i32 noundef %465, ptr noundef @.str.4)
  %467 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %468 = load i32, ptr %467, align 4, !tbaa !5
  %469 = call ptr @s2n_strerror_debug(i32 noundef %468, ptr noundef @.str.4)
  %470 = call ptr @__errno_location() #12
  %471 = load i32, ptr %470, align 4, !tbaa !5
  %472 = call ptr @strerror(i32 noundef %471) #11
  %473 = call ptr @__errno_location() #12
  %474 = load i32, ptr %473, align 4, !tbaa !5
  %475 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %462, ptr noundef @.str.2, i32 noundef %463, ptr noundef @.str.6, ptr noundef @.str.1, i32 noundef 66, ptr noundef %466, ptr noundef %469, ptr noundef %472, i32 noundef %474) #11
  br label %493

476:                                              ; preds = %454, %447
  %477 = load i32, ptr %7, align 4, !tbaa !5
  %478 = call ptr @__errno_location() #12
  store i32 %477, ptr %478, align 4, !tbaa !5
  %479 = load ptr, ptr @stderr, align 8, !tbaa !9
  %480 = load i32, ptr @test_count, align 4, !tbaa !5
  %481 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %482 = load i32, ptr %481, align 4, !tbaa !5
  %483 = call ptr @s2n_strerror(i32 noundef %482, ptr noundef @.str.4)
  %484 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %485 = load i32, ptr %484, align 4, !tbaa !5
  %486 = call ptr @s2n_strerror_debug(i32 noundef %485, ptr noundef @.str.4)
  %487 = call ptr @__errno_location() #12
  %488 = load i32, ptr %487, align 4, !tbaa !5
  %489 = call ptr @strerror(i32 noundef %488) #11
  %490 = call ptr @__errno_location() #12
  %491 = load i32, ptr %490, align 4, !tbaa !5
  %492 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %479, ptr noundef @.str.5, i32 noundef %480, ptr noundef @.str.6, ptr noundef @.str.1, i32 noundef 66, ptr noundef %483, ptr noundef %486, ptr noundef %489, i32 noundef %491) #11
  br label %493

493:                                              ; preds = %476, %459
  call void @llvm.lifetime.end.p0(i64 4, ptr %7) #11
  br label %494

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

495:                                              ; No predecessors!
  br label %496

496:                                              ; preds = %495, %440
  br label %497

497:                                              ; preds = %496
  br label %498

498:                                              ; preds = %497
  br label %499

499:                                              ; preds = %498
  %500 = call i32 @s2n_init()
  %501 = icmp eq i32 %500, -1
  br i1 %501, label %502, label %553

502:                                              ; preds = %499
  br label %503

503:                                              ; preds = %502
  br label %504

504:                                              ; preds = %503
  call void @llvm.lifetime.start.p0(i64 4, ptr %8) #11
  %505 = call ptr @__errno_location() #12
  %506 = load i32, ptr %505, align 4, !tbaa !5
  store i32 %506, ptr %8, align 4, !tbaa !5
  %507 = load ptr, ptr @stderr, align 8, !tbaa !9
  %508 = call i32 @s2n_print_stacktrace(ptr noundef %507)
  %509 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %510 = trunc i8 %509 to i1
  br i1 %510, label %511, label %533

511:                                              ; preds = %504
  %512 = load ptr, ptr @stderr, align 8, !tbaa !9
  %513 = call i32 @fileno(ptr noundef %512) #11
  %514 = call i32 @isatty(i32 noundef %513) #11
  %515 = icmp ne i32 %514, 0
  br i1 %515, label %516, label %533

516:                                              ; preds = %511
  %517 = load i32, ptr %8, align 4, !tbaa !5
  %518 = call ptr @__errno_location() #12
  store i32 %517, ptr %518, align 4, !tbaa !5
  %519 = load ptr, ptr @stderr, align 8, !tbaa !9
  %520 = load i32, ptr @test_count, align 4, !tbaa !5
  %521 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %522 = load i32, ptr %521, align 4, !tbaa !5
  %523 = call ptr @s2n_strerror(i32 noundef %522, ptr noundef @.str.4)
  %524 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %525 = load i32, ptr %524, align 4, !tbaa !5
  %526 = call ptr @s2n_strerror_debug(i32 noundef %525, ptr noundef @.str.4)
  %527 = call ptr @__errno_location() #12
  %528 = load i32, ptr %527, align 4, !tbaa !5
  %529 = call ptr @strerror(i32 noundef %528) #11
  %530 = call ptr @__errno_location() #12
  %531 = load i32, ptr %530, align 4, !tbaa !5
  %532 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %519, ptr noundef @.str.2, i32 noundef %520, ptr noundef @.str.7, ptr noundef @.str.1, i32 noundef 66, ptr noundef %523, ptr noundef %526, ptr noundef %529, i32 noundef %531) #11
  br label %550

533:                                              ; preds = %511, %504
  %534 = load i32, ptr %8, align 4, !tbaa !5
  %535 = call ptr @__errno_location() #12
  store i32 %534, ptr %535, align 4, !tbaa !5
  %536 = load ptr, ptr @stderr, align 8, !tbaa !9
  %537 = load i32, ptr @test_count, align 4, !tbaa !5
  %538 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %539 = load i32, ptr %538, align 4, !tbaa !5
  %540 = call ptr @s2n_strerror(i32 noundef %539, ptr noundef @.str.4)
  %541 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %542 = load i32, ptr %541, align 4, !tbaa !5
  %543 = call ptr @s2n_strerror_debug(i32 noundef %542, ptr noundef @.str.4)
  %544 = call ptr @__errno_location() #12
  %545 = load i32, ptr %544, align 4, !tbaa !5
  %546 = call ptr @strerror(i32 noundef %545) #11
  %547 = call ptr @__errno_location() #12
  %548 = load i32, ptr %547, align 4, !tbaa !5
  %549 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %536, ptr noundef @.str.5, i32 noundef %537, ptr noundef @.str.7, ptr noundef @.str.1, i32 noundef 66, ptr noundef %540, ptr noundef %543, ptr noundef %546, i32 noundef %548) #11
  br label %550

550:                                              ; preds = %533, %516
  call void @llvm.lifetime.end.p0(i64 4, ptr %8) #11
  br label %551

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

552:                                              ; No predecessors!
  br label %553

553:                                              ; preds = %552, %499
  br label %554

554:                                              ; preds = %553
  br label %555

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

556:                                              ; preds = %555
  %557 = load i32, ptr @test_count, align 4, !tbaa !5
  %558 = add nsw i32 %557, 1
  store i32 %558, ptr @test_count, align 4, !tbaa !5
  %559 = call i32 @s2n_test_cert_chain_and_key_new(ptr noundef %9, ptr noundef @.str.8, ptr noundef @.str.9)
  %560 = icmp eq i32 %559, -1
  br i1 %560, label %561, label %614

561:                                              ; preds = %556
  br label %562

562:                                              ; preds = %561
  br label %563

563:                                              ; preds = %562
  call void @llvm.lifetime.start.p0(i64 4, ptr %10) #11
  %564 = call ptr @__errno_location() #12
  %565 = load i32, ptr %564, align 4, !tbaa !5
  store i32 %565, ptr %10, align 4, !tbaa !5
  %566 = load ptr, ptr @stderr, align 8, !tbaa !9
  %567 = call i32 @s2n_print_stacktrace(ptr noundef %566)
  %568 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %569 = trunc i8 %568 to i1
  br i1 %569, label %570, label %592

570:                                              ; preds = %563
  %571 = load ptr, ptr @stderr, align 8, !tbaa !9
  %572 = call i32 @fileno(ptr noundef %571) #11
  %573 = call i32 @isatty(i32 noundef %572) #11
  %574 = icmp ne i32 %573, 0
  br i1 %574, label %575, label %592

575:                                              ; preds = %570
  %576 = load i32, ptr %10, align 4, !tbaa !5
  %577 = call ptr @__errno_location() #12
  store i32 %576, ptr %577, align 4, !tbaa !5
  %578 = load ptr, ptr @stderr, align 8, !tbaa !9
  %579 = load i32, ptr @test_count, align 4, !tbaa !5
  %580 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %581 = load i32, ptr %580, align 4, !tbaa !5
  %582 = call ptr @s2n_strerror(i32 noundef %581, ptr noundef @.str.4)
  %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_debug(i32 noundef %584, ptr noundef @.str.4)
  %586 = call ptr @__errno_location() #12
  %587 = load i32, ptr %586, align 4, !tbaa !5
  %588 = call ptr @strerror(i32 noundef %587) #11
  %589 = call ptr @__errno_location() #12
  %590 = load i32, ptr %589, align 4, !tbaa !5
  %591 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %578, ptr noundef @.str.2, i32 noundef %579, ptr noundef @.str.10, ptr noundef @.str.1, i32 noundef 70, ptr noundef %582, ptr noundef %585, ptr noundef %588, i32 noundef %590) #11
  br label %609

592:                                              ; preds = %570, %563
  %593 = load i32, ptr %10, align 4, !tbaa !5
  %594 = call ptr @__errno_location() #12
  store i32 %593, ptr %594, align 4, !tbaa !5
  %595 = load ptr, ptr @stderr, align 8, !tbaa !9
  %596 = load i32, ptr @test_count, align 4, !tbaa !5
  %597 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %598 = load i32, ptr %597, align 4, !tbaa !5
  %599 = call ptr @s2n_strerror(i32 noundef %598, ptr noundef @.str.4)
  %600 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %601 = load i32, ptr %600, align 4, !tbaa !5
  %602 = call ptr @s2n_strerror_debug(i32 noundef %601, ptr noundef @.str.4)
  %603 = call ptr @__errno_location() #12
  %604 = load i32, ptr %603, align 4, !tbaa !5
  %605 = call ptr @strerror(i32 noundef %604) #11
  %606 = call ptr @__errno_location() #12
  %607 = load i32, ptr %606, align 4, !tbaa !5
  %608 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %595, ptr noundef @.str.5, i32 noundef %596, ptr noundef @.str.10, ptr noundef @.str.1, i32 noundef 70, ptr noundef %599, ptr noundef %602, ptr noundef %605, i32 noundef %607) #11
  br label %609

609:                                              ; preds = %592, %575
  call void @llvm.lifetime.end.p0(i64 4, ptr %10) #11
  br label %610

610:                                              ; preds = %609
  br label %611

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

612:                                              ; No predecessors!
  br label %613

613:                                              ; preds = %612
  br label %614

614:                                              ; preds = %613, %556
  br label %615

615:                                              ; preds = %614
  br label %616

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

617:                                              ; preds = %616
  %618 = load i32, ptr @test_count, align 4, !tbaa !5
  %619 = add nsw i32 %618, 1
  store i32 %619, ptr @test_count, align 4, !tbaa !5
  %620 = call i32 @s2n_test_cert_chain_and_key_new(ptr noundef %11, ptr noundef @.str.11, ptr noundef @.str.12)
  %621 = icmp eq i32 %620, -1
  br i1 %621, label %622, label %675

622:                                              ; preds = %617
  br label %623

623:                                              ; preds = %622
  br label %624

624:                                              ; preds = %623
  call void @llvm.lifetime.start.p0(i64 4, ptr %12) #11
  %625 = call ptr @__errno_location() #12
  %626 = load i32, ptr %625, align 4, !tbaa !5
  store i32 %626, ptr %12, align 4, !tbaa !5
  %627 = load ptr, ptr @stderr, align 8, !tbaa !9
  %628 = call i32 @s2n_print_stacktrace(ptr noundef %627)
  %629 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %630 = trunc i8 %629 to i1
  br i1 %630, label %631, label %653

631:                                              ; preds = %624
  %632 = load ptr, ptr @stderr, align 8, !tbaa !9
  %633 = call i32 @fileno(ptr noundef %632) #11
  %634 = call i32 @isatty(i32 noundef %633) #11
  %635 = icmp ne i32 %634, 0
  br i1 %635, label %636, label %653

636:                                              ; preds = %631
  %637 = load i32, ptr %12, 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.4)
  %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.4)
  %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.2, i32 noundef %640, ptr noundef @.str.13, ptr noundef @.str.1, i32 noundef 74, ptr noundef %643, ptr noundef %646, ptr noundef %649, i32 noundef %651) #11
  br label %670

653:                                              ; preds = %631, %624
  %654 = load i32, ptr %12, align 4, !tbaa !5
  %655 = call ptr @__errno_location() #12
  store i32 %654, ptr %655, align 4, !tbaa !5
  %656 = load ptr, ptr @stderr, align 8, !tbaa !9
  %657 = load i32, ptr @test_count, align 4, !tbaa !5
  %658 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %659 = load i32, ptr %658, align 4, !tbaa !5
  %660 = call ptr @s2n_strerror(i32 noundef %659, ptr noundef @.str.4)
  %661 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %662 = load i32, ptr %661, align 4, !tbaa !5
  %663 = call ptr @s2n_strerror_debug(i32 noundef %662, ptr noundef @.str.4)
  %664 = call ptr @__errno_location() #12
  %665 = load i32, ptr %664, align 4, !tbaa !5
  %666 = call ptr @strerror(i32 noundef %665) #11
  %667 = call ptr @__errno_location() #12
  %668 = load i32, ptr %667, align 4, !tbaa !5
  %669 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %656, ptr noundef @.str.5, i32 noundef %657, ptr noundef @.str.13, ptr noundef @.str.1, i32 noundef 74, ptr noundef %660, ptr noundef %663, ptr noundef %666, i32 noundef %668) #11
  br label %670

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

671:                                              ; preds = %670
  br label %672

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

673:                                              ; No predecessors!
  br label %674

674:                                              ; preds = %673
  br label %675

675:                                              ; preds = %674, %617
  br label %676

676:                                              ; preds = %675
  br label %677

677:                                              ; preds = %676
  call void @llvm.lifetime.start.p0(i64 12000, ptr %13) #11
  call void @llvm.memset.p0.i64(ptr align 16 %13, i8 0, i64 12000, i1 false)
  br label %678

678:                                              ; preds = %677
  %679 = load i32, ptr @test_count, align 4, !tbaa !5
  %680 = add nsw i32 %679, 1
  store i32 %680, ptr @test_count, align 4, !tbaa !5
  %681 = getelementptr inbounds [12000 x i8], ptr %13, i64 0, i64 0
  %682 = call i32 @s2n_read_test_pem(ptr noundef @.str.14, ptr noundef %681, i64 noundef 12000)
  %683 = icmp eq i32 %682, -1
  br i1 %683, label %684, label %737

684:                                              ; preds = %678
  br label %685

685:                                              ; preds = %684
  br label %686

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

693:                                              ; preds = %686
  %694 = load ptr, ptr @stderr, align 8, !tbaa !9
  %695 = call i32 @fileno(ptr noundef %694) #11
  %696 = call i32 @isatty(i32 noundef %695) #11
  %697 = icmp ne i32 %696, 0
  br i1 %697, label %698, label %715

698:                                              ; preds = %693
  %699 = load i32, ptr %14, align 4, !tbaa !5
  %700 = call ptr @__errno_location() #12
  store i32 %699, ptr %700, align 4, !tbaa !5
  %701 = load ptr, ptr @stderr, align 8, !tbaa !9
  %702 = load i32, ptr @test_count, align 4, !tbaa !5
  %703 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %704 = load i32, ptr %703, align 4, !tbaa !5
  %705 = call ptr @s2n_strerror(i32 noundef %704, ptr noundef @.str.4)
  %706 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %707 = load i32, ptr %706, align 4, !tbaa !5
  %708 = call ptr @s2n_strerror_debug(i32 noundef %707, ptr noundef @.str.4)
  %709 = call ptr @__errno_location() #12
  %710 = load i32, ptr %709, align 4, !tbaa !5
  %711 = call ptr @strerror(i32 noundef %710) #11
  %712 = call ptr @__errno_location() #12
  %713 = load i32, ptr %712, align 4, !tbaa !5
  %714 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %701, ptr noundef @.str.2, i32 noundef %702, ptr noundef @.str.15, ptr noundef @.str.1, i32 noundef 77, ptr noundef %705, ptr noundef %708, ptr noundef %711, i32 noundef %713) #11
  br label %732

715:                                              ; preds = %693, %686
  %716 = load i32, ptr %14, align 4, !tbaa !5
  %717 = call ptr @__errno_location() #12
  store i32 %716, ptr %717, align 4, !tbaa !5
  %718 = load ptr, ptr @stderr, align 8, !tbaa !9
  %719 = load i32, ptr @test_count, align 4, !tbaa !5
  %720 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %721 = load i32, ptr %720, align 4, !tbaa !5
  %722 = call ptr @s2n_strerror(i32 noundef %721, ptr noundef @.str.4)
  %723 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %724 = load i32, ptr %723, align 4, !tbaa !5
  %725 = call ptr @s2n_strerror_debug(i32 noundef %724, ptr noundef @.str.4)
  %726 = call ptr @__errno_location() #12
  %727 = load i32, ptr %726, align 4, !tbaa !5
  %728 = call ptr @strerror(i32 noundef %727) #11
  %729 = call ptr @__errno_location() #12
  %730 = load i32, ptr %729, align 4, !tbaa !5
  %731 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %718, ptr noundef @.str.5, i32 noundef %719, ptr noundef @.str.15, ptr noundef @.str.1, i32 noundef 77, ptr noundef %722, ptr noundef %725, ptr noundef %728, i32 noundef %730) #11
  br label %732

732:                                              ; preds = %715, %698
  call void @llvm.lifetime.end.p0(i64 4, ptr %14) #11
  br label %733

733:                                              ; preds = %732
  br label %734

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

735:                                              ; No predecessors!
  br label %736

736:                                              ; preds = %735
  br label %737

737:                                              ; preds = %736, %678
  br label %738

738:                                              ; preds = %737
  br label %739

739:                                              ; preds = %738
  call void @llvm.lifetime.start.p0(i64 8, ptr %15) #11
  %740 = call ptr @s2n_config_new()
  store ptr %740, ptr %15, align 8, !tbaa !9
  br label %741

741:                                              ; preds = %739
  %742 = load i32, ptr @test_count, align 4, !tbaa !5
  %743 = add nsw i32 %742, 1
  store i32 %743, ptr @test_count, align 4, !tbaa !5
  %744 = load ptr, ptr %15, align 8, !tbaa !9
  %745 = icmp eq ptr %744, null
  br i1 %745, label %746, label %799

746:                                              ; preds = %741
  br label %747

747:                                              ; preds = %746
  br label %748

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

755:                                              ; preds = %748
  %756 = load ptr, ptr @stderr, align 8, !tbaa !9
  %757 = call i32 @fileno(ptr noundef %756) #11
  %758 = call i32 @isatty(i32 noundef %757) #11
  %759 = icmp ne i32 %758, 0
  br i1 %759, label %760, label %777

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

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

794:                                              ; preds = %777, %760
  call void @llvm.lifetime.end.p0(i64 4, ptr %16) #11
  br label %795

795:                                              ; preds = %794
  br label %796

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

797:                                              ; No predecessors!
  br label %798

798:                                              ; preds = %797
  br label %799

799:                                              ; preds = %798, %741
  br label %800

800:                                              ; preds = %799
  br label %801

801:                                              ; preds = %800
  br label %802

802:                                              ; preds = %801
  %803 = load i32, ptr @test_count, align 4, !tbaa !5
  %804 = add nsw i32 %803, 1
  store i32 %804, ptr @test_count, align 4, !tbaa !5
  %805 = load ptr, ptr %15, align 8, !tbaa !9
  %806 = call i32 @s2n_config_set_unsafe_for_testing(ptr noundef %805)
  %807 = icmp eq i32 %806, -1
  br i1 %807, label %808, label %861

808:                                              ; preds = %802
  br label %809

809:                                              ; preds = %808
  br label %810

810:                                              ; preds = %809
  call void @llvm.lifetime.start.p0(i64 4, ptr %17) #11
  %811 = call ptr @__errno_location() #12
  %812 = load i32, ptr %811, align 4, !tbaa !5
  store i32 %812, ptr %17, align 4, !tbaa !5
  %813 = load ptr, ptr @stderr, align 8, !tbaa !9
  %814 = call i32 @s2n_print_stacktrace(ptr noundef %813)
  %815 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %816 = trunc i8 %815 to i1
  br i1 %816, label %817, label %839

817:                                              ; preds = %810
  %818 = load ptr, ptr @stderr, align 8, !tbaa !9
  %819 = call i32 @fileno(ptr noundef %818) #11
  %820 = call i32 @isatty(i32 noundef %819) #11
  %821 = icmp ne i32 %820, 0
  br i1 %821, label %822, label %839

822:                                              ; preds = %817
  %823 = load i32, ptr %17, align 4, !tbaa !5
  %824 = call ptr @__errno_location() #12
  store i32 %823, ptr %824, align 4, !tbaa !5
  %825 = load ptr, ptr @stderr, align 8, !tbaa !9
  %826 = load i32, ptr @test_count, align 4, !tbaa !5
  %827 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %828 = load i32, ptr %827, align 4, !tbaa !5
  %829 = call ptr @s2n_strerror(i32 noundef %828, ptr noundef @.str.4)
  %830 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %831 = load i32, ptr %830, align 4, !tbaa !5
  %832 = call ptr @s2n_strerror_debug(i32 noundef %831, ptr noundef @.str.4)
  %833 = call ptr @__errno_location() #12
  %834 = load i32, ptr %833, align 4, !tbaa !5
  %835 = call ptr @strerror(i32 noundef %834) #11
  %836 = call ptr @__errno_location() #12
  %837 = load i32, ptr %836, align 4, !tbaa !5
  %838 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %825, ptr noundef @.str.2, i32 noundef %826, ptr noundef @.str.17, ptr noundef @.str.1, i32 noundef 81, ptr noundef %829, ptr noundef %832, ptr noundef %835, i32 noundef %837) #11
  br label %856

839:                                              ; preds = %817, %810
  %840 = load i32, ptr %17, align 4, !tbaa !5
  %841 = call ptr @__errno_location() #12
  store i32 %840, ptr %841, align 4, !tbaa !5
  %842 = load ptr, ptr @stderr, align 8, !tbaa !9
  %843 = load i32, ptr @test_count, align 4, !tbaa !5
  %844 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %845 = load i32, ptr %844, align 4, !tbaa !5
  %846 = call ptr @s2n_strerror(i32 noundef %845, ptr noundef @.str.4)
  %847 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %848 = load i32, ptr %847, align 4, !tbaa !5
  %849 = call ptr @s2n_strerror_debug(i32 noundef %848, ptr noundef @.str.4)
  %850 = call ptr @__errno_location() #12
  %851 = load i32, ptr %850, align 4, !tbaa !5
  %852 = call ptr @strerror(i32 noundef %851) #11
  %853 = call ptr @__errno_location() #12
  %854 = load i32, ptr %853, align 4, !tbaa !5
  %855 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %842, ptr noundef @.str.5, i32 noundef %843, ptr noundef @.str.17, ptr noundef @.str.1, i32 noundef 81, ptr noundef %846, ptr noundef %849, ptr noundef %852, i32 noundef %854) #11
  br label %856

856:                                              ; preds = %839, %822
  call void @llvm.lifetime.end.p0(i64 4, ptr %17) #11
  br label %857

857:                                              ; preds = %856
  br label %858

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

859:                                              ; No predecessors!
  br label %860

860:                                              ; preds = %859
  br label %861

861:                                              ; preds = %860, %802
  br label %862

862:                                              ; preds = %861
  br label %863

863:                                              ; preds = %862
  br label %864

864:                                              ; preds = %863
  %865 = load i32, ptr @test_count, align 4, !tbaa !5
  %866 = add nsw i32 %865, 1
  store i32 %866, ptr @test_count, align 4, !tbaa !5
  %867 = load ptr, ptr %15, align 8, !tbaa !9
  %868 = load ptr, ptr %9, align 8, !tbaa !9
  %869 = call i32 @s2n_config_add_cert_chain_and_key_to_store(ptr noundef %867, ptr noundef %868)
  %870 = icmp eq i32 %869, -1
  br i1 %870, label %871, label %924

871:                                              ; preds = %864
  br label %872

872:                                              ; preds = %871
  br label %873

873:                                              ; preds = %872
  call void @llvm.lifetime.start.p0(i64 4, ptr %18) #11
  %874 = call ptr @__errno_location() #12
  %875 = load i32, ptr %874, align 4, !tbaa !5
  store i32 %875, ptr %18, align 4, !tbaa !5
  %876 = load ptr, ptr @stderr, align 8, !tbaa !9
  %877 = call i32 @s2n_print_stacktrace(ptr noundef %876)
  %878 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %879 = trunc i8 %878 to i1
  br i1 %879, label %880, label %902

880:                                              ; preds = %873
  %881 = load ptr, ptr @stderr, align 8, !tbaa !9
  %882 = call i32 @fileno(ptr noundef %881) #11
  %883 = call i32 @isatty(i32 noundef %882) #11
  %884 = icmp ne i32 %883, 0
  br i1 %884, label %885, label %902

885:                                              ; preds = %880
  %886 = load i32, ptr %18, align 4, !tbaa !5
  %887 = call ptr @__errno_location() #12
  store i32 %886, ptr %887, 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 @.str.4)
  %893 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %894 = load i32, ptr %893, align 4, !tbaa !5
  %895 = call ptr @s2n_strerror_debug(i32 noundef %894, ptr noundef @.str.4)
  %896 = call ptr @__errno_location() #12
  %897 = load i32, ptr %896, align 4, !tbaa !5
  %898 = call ptr @strerror(i32 noundef %897) #11
  %899 = call ptr @__errno_location() #12
  %900 = load i32, ptr %899, align 4, !tbaa !5
  %901 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %888, ptr noundef @.str.2, i32 noundef %889, ptr noundef @.str.18, ptr noundef @.str.1, i32 noundef 82, ptr noundef %892, ptr noundef %895, ptr noundef %898, i32 noundef %900) #11
  br label %919

902:                                              ; preds = %880, %873
  %903 = load i32, ptr %18, align 4, !tbaa !5
  %904 = call ptr @__errno_location() #12
  store i32 %903, ptr %904, align 4, !tbaa !5
  %905 = load ptr, ptr @stderr, align 8, !tbaa !9
  %906 = load i32, ptr @test_count, align 4, !tbaa !5
  %907 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %908 = load i32, ptr %907, align 4, !tbaa !5
  %909 = call ptr @s2n_strerror(i32 noundef %908, ptr noundef @.str.4)
  %910 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %911 = load i32, ptr %910, align 4, !tbaa !5
  %912 = call ptr @s2n_strerror_debug(i32 noundef %911, ptr noundef @.str.4)
  %913 = call ptr @__errno_location() #12
  %914 = load i32, ptr %913, align 4, !tbaa !5
  %915 = call ptr @strerror(i32 noundef %914) #11
  %916 = call ptr @__errno_location() #12
  %917 = load i32, ptr %916, align 4, !tbaa !5
  %918 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %905, ptr noundef @.str.5, i32 noundef %906, ptr noundef @.str.18, ptr noundef @.str.1, i32 noundef 82, ptr noundef %909, ptr noundef %912, ptr noundef %915, i32 noundef %917) #11
  br label %919

919:                                              ; preds = %902, %885
  call void @llvm.lifetime.end.p0(i64 4, ptr %18) #11
  br label %920

920:                                              ; preds = %919
  br label %921

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

922:                                              ; No predecessors!
  br label %923

923:                                              ; preds = %922
  br label %924

924:                                              ; preds = %923, %864
  br label %925

925:                                              ; preds = %924
  br label %926

926:                                              ; preds = %925
  br label %927

927:                                              ; preds = %926
  %928 = load i32, ptr @test_count, align 4, !tbaa !5
  %929 = add nsw i32 %928, 1
  store i32 %929, ptr @test_count, align 4, !tbaa !5
  %930 = load ptr, ptr %15, align 8, !tbaa !9
  %931 = call i32 @s2n_config_set_cipher_preferences(ptr noundef %930, ptr noundef @.str.19)
  %932 = icmp eq i32 %931, -1
  br i1 %932, label %933, label %986

933:                                              ; preds = %927
  br label %934

934:                                              ; preds = %933
  br label %935

935:                                              ; preds = %934
  call void @llvm.lifetime.start.p0(i64 4, ptr %19) #11
  %936 = call ptr @__errno_location() #12
  %937 = load i32, ptr %936, align 4, !tbaa !5
  store i32 %937, ptr %19, align 4, !tbaa !5
  %938 = load ptr, ptr @stderr, align 8, !tbaa !9
  %939 = call i32 @s2n_print_stacktrace(ptr noundef %938)
  %940 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %941 = trunc i8 %940 to i1
  br i1 %941, label %942, label %964

942:                                              ; preds = %935
  %943 = load ptr, ptr @stderr, align 8, !tbaa !9
  %944 = call i32 @fileno(ptr noundef %943) #11
  %945 = call i32 @isatty(i32 noundef %944) #11
  %946 = icmp ne i32 %945, 0
  br i1 %946, label %947, label %964

947:                                              ; preds = %942
  %948 = load i32, ptr %19, align 4, !tbaa !5
  %949 = call ptr @__errno_location() #12
  store i32 %948, ptr %949, align 4, !tbaa !5
  %950 = load ptr, ptr @stderr, align 8, !tbaa !9
  %951 = load i32, ptr @test_count, align 4, !tbaa !5
  %952 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %953 = load i32, ptr %952, align 4, !tbaa !5
  %954 = call ptr @s2n_strerror(i32 noundef %953, ptr noundef @.str.4)
  %955 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %956 = load i32, ptr %955, align 4, !tbaa !5
  %957 = call ptr @s2n_strerror_debug(i32 noundef %956, ptr noundef @.str.4)
  %958 = call ptr @__errno_location() #12
  %959 = load i32, ptr %958, align 4, !tbaa !5
  %960 = call ptr @strerror(i32 noundef %959) #11
  %961 = call ptr @__errno_location() #12
  %962 = load i32, ptr %961, align 4, !tbaa !5
  %963 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %950, ptr noundef @.str.2, i32 noundef %951, ptr noundef @.str.20, ptr noundef @.str.1, i32 noundef 83, ptr noundef %954, ptr noundef %957, ptr noundef %960, i32 noundef %962) #11
  br label %981

964:                                              ; preds = %942, %935
  %965 = load i32, ptr %19, align 4, !tbaa !5
  %966 = call ptr @__errno_location() #12
  store i32 %965, ptr %966, align 4, !tbaa !5
  %967 = load ptr, ptr @stderr, align 8, !tbaa !9
  %968 = load i32, ptr @test_count, align 4, !tbaa !5
  %969 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %970 = load i32, ptr %969, align 4, !tbaa !5
  %971 = call ptr @s2n_strerror(i32 noundef %970, ptr noundef @.str.4)
  %972 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %973 = load i32, ptr %972, align 4, !tbaa !5
  %974 = call ptr @s2n_strerror_debug(i32 noundef %973, ptr noundef @.str.4)
  %975 = call ptr @__errno_location() #12
  %976 = load i32, ptr %975, align 4, !tbaa !5
  %977 = call ptr @strerror(i32 noundef %976) #11
  %978 = call ptr @__errno_location() #12
  %979 = load i32, ptr %978, align 4, !tbaa !5
  %980 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %967, ptr noundef @.str.5, i32 noundef %968, ptr noundef @.str.20, ptr noundef @.str.1, i32 noundef 83, ptr noundef %971, ptr noundef %974, ptr noundef %977, i32 noundef %979) #11
  br label %981

981:                                              ; preds = %964, %947
  call void @llvm.lifetime.end.p0(i64 4, ptr %19) #11
  br label %982

982:                                              ; preds = %981
  br label %983

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

984:                                              ; No predecessors!
  br label %985

985:                                              ; preds = %984
  br label %986

986:                                              ; preds = %985, %927
  br label %987

987:                                              ; preds = %986
  br label %988

988:                                              ; preds = %987
  call void @llvm.lifetime.start.p0(i64 20, ptr %20) #11
  call void @llvm.memcpy.p0.p0.i64(ptr align 16 %20, ptr align 16 @__const.main.app_data, i64 20, i1 false)
  call void @llvm.lifetime.start.p0(i64 16384, ptr %21) #11
  call void @llvm.memcpy.p0.p0.i64(ptr align 16 %21, ptr align 16 @__const.main.large_app_data, i64 16384, i1 false)
  call void @llvm.lifetime.start.p0(i64 4, ptr %22) #11
  store i32 0, ptr %22, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %23) #11
  %989 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %989, ptr %23, align 8, !tbaa !9
  br label %990

990:                                              ; preds = %988
  %991 = load i32, ptr @test_count, align 4, !tbaa !5
  %992 = add nsw i32 %991, 1
  store i32 %992, ptr @test_count, align 4, !tbaa !5
  %993 = load ptr, ptr %23, align 8, !tbaa !9
  %994 = icmp eq ptr %993, null
  br i1 %994, label %995, label %1048

995:                                              ; preds = %990
  br label %996

996:                                              ; preds = %995
  br label %997

997:                                              ; preds = %996
  call void @llvm.lifetime.start.p0(i64 4, ptr %24) #11
  %998 = call ptr @__errno_location() #12
  %999 = load i32, ptr %998, align 4, !tbaa !5
  store i32 %999, ptr %24, align 4, !tbaa !5
  %1000 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1001 = call i32 @s2n_print_stacktrace(ptr noundef %1000)
  %1002 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1003 = trunc i8 %1002 to i1
  br i1 %1003, label %1004, label %1026

1004:                                             ; preds = %997
  %1005 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1006 = call i32 @fileno(ptr noundef %1005) #11
  %1007 = call i32 @isatty(i32 noundef %1006) #11
  %1008 = icmp ne i32 %1007, 0
  br i1 %1008, label %1009, label %1026

1009:                                             ; preds = %1004
  %1010 = load i32, ptr %24, align 4, !tbaa !5
  %1011 = call ptr @__errno_location() #12
  store i32 %1010, ptr %1011, 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 @.str.4)
  %1017 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1018 = load i32, ptr %1017, align 4, !tbaa !5
  %1019 = call ptr @s2n_strerror_debug(i32 noundef %1018, ptr noundef @.str.4)
  %1020 = call ptr @__errno_location() #12
  %1021 = load i32, ptr %1020, align 4, !tbaa !5
  %1022 = call ptr @strerror(i32 noundef %1021) #11
  %1023 = call ptr @__errno_location() #12
  %1024 = load i32, ptr %1023, align 4, !tbaa !5
  %1025 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1012, ptr noundef @.str.2, i32 noundef %1013, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 94, ptr noundef %1016, ptr noundef %1019, ptr noundef %1022, i32 noundef %1024) #11
  br label %1043

1026:                                             ; preds = %1004, %997
  %1027 = load i32, ptr %24, align 4, !tbaa !5
  %1028 = call ptr @__errno_location() #12
  store i32 %1027, ptr %1028, align 4, !tbaa !5
  %1029 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1030 = load i32, ptr @test_count, align 4, !tbaa !5
  %1031 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1032 = load i32, ptr %1031, align 4, !tbaa !5
  %1033 = call ptr @s2n_strerror(i32 noundef %1032, ptr noundef @.str.4)
  %1034 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1035 = load i32, ptr %1034, align 4, !tbaa !5
  %1036 = call ptr @s2n_strerror_debug(i32 noundef %1035, ptr noundef @.str.4)
  %1037 = call ptr @__errno_location() #12
  %1038 = load i32, ptr %1037, align 4, !tbaa !5
  %1039 = call ptr @strerror(i32 noundef %1038) #11
  %1040 = call ptr @__errno_location() #12
  %1041 = load i32, ptr %1040, align 4, !tbaa !5
  %1042 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1029, ptr noundef @.str.5, i32 noundef %1030, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 94, ptr noundef %1033, ptr noundef %1036, ptr noundef %1039, i32 noundef %1041) #11
  br label %1043

1043:                                             ; preds = %1026, %1009
  call void @llvm.lifetime.end.p0(i64 4, ptr %24) #11
  br label %1044

1044:                                             ; preds = %1043
  br label %1045

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

1046:                                             ; No predecessors!
  br label %1047

1047:                                             ; preds = %1046
  br label %1048

1048:                                             ; preds = %1047, %990
  br label %1049

1049:                                             ; preds = %1048
  br label %1050

1050:                                             ; preds = %1049
  br label %1051

1051:                                             ; preds = %1050
  %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 = load ptr, ptr %23, align 8, !tbaa !9
  %1055 = load ptr, ptr %15, align 8, !tbaa !9
  %1056 = call i32 @s2n_connection_set_config(ptr noundef %1054, ptr noundef %1055)
  %1057 = icmp eq i32 %1056, -1
  br i1 %1057, label %1058, label %1111

1058:                                             ; preds = %1051
  br label %1059

1059:                                             ; preds = %1058
  br label %1060

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

1067:                                             ; preds = %1060
  %1068 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1069 = call i32 @fileno(ptr noundef %1068) #11
  %1070 = call i32 @isatty(i32 noundef %1069) #11
  %1071 = icmp ne i32 %1070, 0
  br i1 %1071, label %1072, label %1089

1072:                                             ; preds = %1067
  %1073 = load i32, ptr %25, align 4, !tbaa !5
  %1074 = call ptr @__errno_location() #12
  store i32 %1073, ptr %1074, align 4, !tbaa !5
  %1075 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1076 = load i32, ptr @test_count, align 4, !tbaa !5
  %1077 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1078 = load i32, ptr %1077, align 4, !tbaa !5
  %1079 = call ptr @s2n_strerror(i32 noundef %1078, ptr noundef @.str.4)
  %1080 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1081 = load i32, ptr %1080, align 4, !tbaa !5
  %1082 = call ptr @s2n_strerror_debug(i32 noundef %1081, ptr noundef @.str.4)
  %1083 = call ptr @__errno_location() #12
  %1084 = load i32, ptr %1083, align 4, !tbaa !5
  %1085 = call ptr @strerror(i32 noundef %1084) #11
  %1086 = call ptr @__errno_location() #12
  %1087 = load i32, ptr %1086, align 4, !tbaa !5
  %1088 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1075, ptr noundef @.str.2, i32 noundef %1076, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 95, ptr noundef %1079, ptr noundef %1082, ptr noundef %1085, i32 noundef %1087) #11
  br label %1106

1089:                                             ; preds = %1067, %1060
  %1090 = load i32, ptr %25, align 4, !tbaa !5
  %1091 = call ptr @__errno_location() #12
  store i32 %1090, ptr %1091, align 4, !tbaa !5
  %1092 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1093 = load i32, ptr @test_count, align 4, !tbaa !5
  %1094 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1095 = load i32, ptr %1094, align 4, !tbaa !5
  %1096 = call ptr @s2n_strerror(i32 noundef %1095, ptr noundef @.str.4)
  %1097 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1098 = load i32, ptr %1097, align 4, !tbaa !5
  %1099 = call ptr @s2n_strerror_debug(i32 noundef %1098, ptr noundef @.str.4)
  %1100 = call ptr @__errno_location() #12
  %1101 = load i32, ptr %1100, align 4, !tbaa !5
  %1102 = call ptr @strerror(i32 noundef %1101) #11
  %1103 = call ptr @__errno_location() #12
  %1104 = load i32, ptr %1103, align 4, !tbaa !5
  %1105 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1092, ptr noundef @.str.5, i32 noundef %1093, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 95, ptr noundef %1096, ptr noundef %1099, ptr noundef %1102, i32 noundef %1104) #11
  br label %1106

1106:                                             ; preds = %1089, %1072
  call void @llvm.lifetime.end.p0(i64 4, ptr %25) #11
  br label %1107

1107:                                             ; preds = %1106
  br label %1108

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

1109:                                             ; No predecessors!
  br label %1110

1110:                                             ; preds = %1109
  br label %1111

1111:                                             ; preds = %1110, %1051
  br label %1112

1112:                                             ; preds = %1111
  br label %1113

1113:                                             ; preds = %1112
  call void @llvm.lifetime.start.p0(i64 8, ptr %26) #11
  %1114 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %1114, ptr %26, align 8, !tbaa !9
  br label %1115

1115:                                             ; preds = %1113
  %1116 = load i32, ptr @test_count, align 4, !tbaa !5
  %1117 = add nsw i32 %1116, 1
  store i32 %1117, ptr @test_count, align 4, !tbaa !5
  %1118 = load ptr, ptr %26, align 8, !tbaa !9
  %1119 = icmp eq ptr %1118, null
  br i1 %1119, label %1120, label %1173

1120:                                             ; preds = %1115
  br label %1121

1121:                                             ; preds = %1120
  br label %1122

1122:                                             ; preds = %1121
  call void @llvm.lifetime.start.p0(i64 4, ptr %27) #11
  %1123 = call ptr @__errno_location() #12
  %1124 = load i32, ptr %1123, align 4, !tbaa !5
  store i32 %1124, ptr %27, align 4, !tbaa !5
  %1125 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1126 = call i32 @s2n_print_stacktrace(ptr noundef %1125)
  %1127 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1128 = trunc i8 %1127 to i1
  br i1 %1128, label %1129, label %1151

1129:                                             ; preds = %1122
  %1130 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1131 = call i32 @fileno(ptr noundef %1130) #11
  %1132 = call i32 @isatty(i32 noundef %1131) #11
  %1133 = icmp ne i32 %1132, 0
  br i1 %1133, label %1134, label %1151

1134:                                             ; preds = %1129
  %1135 = load i32, ptr %27, align 4, !tbaa !5
  %1136 = call ptr @__errno_location() #12
  store i32 %1135, ptr %1136, align 4, !tbaa !5
  %1137 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1138 = load i32, ptr @test_count, align 4, !tbaa !5
  %1139 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1140 = load i32, ptr %1139, align 4, !tbaa !5
  %1141 = call ptr @s2n_strerror(i32 noundef %1140, ptr noundef @.str.4)
  %1142 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1143 = load i32, ptr %1142, align 4, !tbaa !5
  %1144 = call ptr @s2n_strerror_debug(i32 noundef %1143, ptr noundef @.str.4)
  %1145 = call ptr @__errno_location() #12
  %1146 = load i32, ptr %1145, align 4, !tbaa !5
  %1147 = call ptr @strerror(i32 noundef %1146) #11
  %1148 = call ptr @__errno_location() #12
  %1149 = load i32, ptr %1148, align 4, !tbaa !5
  %1150 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1137, ptr noundef @.str.2, i32 noundef %1138, ptr noundef @.str.23, ptr noundef @.str.1, i32 noundef 98, ptr noundef %1141, ptr noundef %1144, ptr noundef %1147, i32 noundef %1149) #11
  br label %1168

1151:                                             ; preds = %1129, %1122
  %1152 = load i32, ptr %27, align 4, !tbaa !5
  %1153 = call ptr @__errno_location() #12
  store i32 %1152, ptr %1153, align 4, !tbaa !5
  %1154 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1155 = load i32, ptr @test_count, align 4, !tbaa !5
  %1156 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1157 = load i32, ptr %1156, align 4, !tbaa !5
  %1158 = call ptr @s2n_strerror(i32 noundef %1157, ptr noundef @.str.4)
  %1159 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1160 = load i32, ptr %1159, align 4, !tbaa !5
  %1161 = call ptr @s2n_strerror_debug(i32 noundef %1160, ptr noundef @.str.4)
  %1162 = call ptr @__errno_location() #12
  %1163 = load i32, ptr %1162, align 4, !tbaa !5
  %1164 = call ptr @strerror(i32 noundef %1163) #11
  %1165 = call ptr @__errno_location() #12
  %1166 = load i32, ptr %1165, align 4, !tbaa !5
  %1167 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1154, ptr noundef @.str.5, i32 noundef %1155, ptr noundef @.str.23, ptr noundef @.str.1, i32 noundef 98, ptr noundef %1158, ptr noundef %1161, ptr noundef %1164, i32 noundef %1166) #11
  br label %1168

1168:                                             ; preds = %1151, %1134
  call void @llvm.lifetime.end.p0(i64 4, ptr %27) #11
  br label %1169

1169:                                             ; preds = %1168
  br label %1170

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

1171:                                             ; No predecessors!
  br label %1172

1172:                                             ; preds = %1171
  br label %1173

1173:                                             ; preds = %1172, %1115
  br label %1174

1174:                                             ; preds = %1173
  br label %1175

1175:                                             ; preds = %1174
  br label %1176

1176:                                             ; preds = %1175
  %1177 = load i32, ptr @test_count, align 4, !tbaa !5
  %1178 = add nsw i32 %1177, 1
  store i32 %1178, ptr @test_count, align 4, !tbaa !5
  %1179 = load ptr, ptr %26, align 8, !tbaa !9
  %1180 = load ptr, ptr %15, align 8, !tbaa !9
  %1181 = call i32 @s2n_connection_set_config(ptr noundef %1179, ptr noundef %1180)
  %1182 = icmp eq i32 %1181, -1
  br i1 %1182, label %1183, label %1236

1183:                                             ; preds = %1176
  br label %1184

1184:                                             ; preds = %1183
  br label %1185

1185:                                             ; preds = %1184
  call void @llvm.lifetime.start.p0(i64 4, ptr %28) #11
  %1186 = call ptr @__errno_location() #12
  %1187 = load i32, ptr %1186, align 4, !tbaa !5
  store i32 %1187, ptr %28, align 4, !tbaa !5
  %1188 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1189 = call i32 @s2n_print_stacktrace(ptr noundef %1188)
  %1190 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1191 = trunc i8 %1190 to i1
  br i1 %1191, label %1192, label %1214

1192:                                             ; preds = %1185
  %1193 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1194 = call i32 @fileno(ptr noundef %1193) #11
  %1195 = call i32 @isatty(i32 noundef %1194) #11
  %1196 = icmp ne i32 %1195, 0
  br i1 %1196, label %1197, label %1214

1197:                                             ; preds = %1192
  %1198 = load i32, ptr %28, align 4, !tbaa !5
  %1199 = call ptr @__errno_location() #12
  store i32 %1198, ptr %1199, align 4, !tbaa !5
  %1200 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1201 = load i32, ptr @test_count, align 4, !tbaa !5
  %1202 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1203 = load i32, ptr %1202, align 4, !tbaa !5
  %1204 = call ptr @s2n_strerror(i32 noundef %1203, ptr noundef @.str.4)
  %1205 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1206 = load i32, ptr %1205, align 4, !tbaa !5
  %1207 = call ptr @s2n_strerror_debug(i32 noundef %1206, ptr noundef @.str.4)
  %1208 = call ptr @__errno_location() #12
  %1209 = load i32, ptr %1208, align 4, !tbaa !5
  %1210 = call ptr @strerror(i32 noundef %1209) #11
  %1211 = call ptr @__errno_location() #12
  %1212 = load i32, ptr %1211, align 4, !tbaa !5
  %1213 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1200, ptr noundef @.str.2, i32 noundef %1201, ptr noundef @.str.24, ptr noundef @.str.1, i32 noundef 99, ptr noundef %1204, ptr noundef %1207, ptr noundef %1210, i32 noundef %1212) #11
  br label %1231

1214:                                             ; preds = %1192, %1185
  %1215 = load i32, ptr %28, align 4, !tbaa !5
  %1216 = call ptr @__errno_location() #12
  store i32 %1215, ptr %1216, align 4, !tbaa !5
  %1217 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1218 = load i32, ptr @test_count, align 4, !tbaa !5
  %1219 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1220 = load i32, ptr %1219, align 4, !tbaa !5
  %1221 = call ptr @s2n_strerror(i32 noundef %1220, ptr noundef @.str.4)
  %1222 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1223 = load i32, ptr %1222, align 4, !tbaa !5
  %1224 = call ptr @s2n_strerror_debug(i32 noundef %1223, ptr noundef @.str.4)
  %1225 = call ptr @__errno_location() #12
  %1226 = load i32, ptr %1225, align 4, !tbaa !5
  %1227 = call ptr @strerror(i32 noundef %1226) #11
  %1228 = call ptr @__errno_location() #12
  %1229 = load i32, ptr %1228, align 4, !tbaa !5
  %1230 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1217, ptr noundef @.str.5, i32 noundef %1218, ptr noundef @.str.24, ptr noundef @.str.1, i32 noundef 99, ptr noundef %1221, ptr noundef %1224, ptr noundef %1227, i32 noundef %1229) #11
  br label %1231

1231:                                             ; preds = %1214, %1197
  call void @llvm.lifetime.end.p0(i64 4, ptr %28) #11
  br label %1232

1232:                                             ; preds = %1231
  br label %1233

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

1234:                                             ; No predecessors!
  br label %1235

1235:                                             ; preds = %1234
  br label %1236

1236:                                             ; preds = %1235, %1176
  br label %1237

1237:                                             ; preds = %1236
  br label %1238

1238:                                             ; preds = %1237
  call void @llvm.lifetime.start.p0(i64 8, ptr %29) #11
  call void @llvm.memset.p0.i64(ptr align 4 %29, i8 0, i64 8, i1 false)
  br label %1239

1239:                                             ; preds = %1238
  %1240 = load i32, ptr @test_count, align 4, !tbaa !5
  %1241 = add nsw i32 %1240, 1
  store i32 %1241, ptr @test_count, align 4, !tbaa !5
  %1242 = call i32 @s2n_io_pair_init_non_blocking(ptr noundef %29)
  %1243 = icmp eq i32 %1242, -1
  br i1 %1243, label %1244, label %1297

1244:                                             ; preds = %1239
  br label %1245

1245:                                             ; preds = %1244
  br label %1246

1246:                                             ; preds = %1245
  call void @llvm.lifetime.start.p0(i64 4, ptr %30) #11
  %1247 = call ptr @__errno_location() #12
  %1248 = load i32, ptr %1247, align 4, !tbaa !5
  store i32 %1248, ptr %30, align 4, !tbaa !5
  %1249 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1250 = call i32 @s2n_print_stacktrace(ptr noundef %1249)
  %1251 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1252 = trunc i8 %1251 to i1
  br i1 %1252, label %1253, label %1275

1253:                                             ; preds = %1246
  %1254 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1255 = call i32 @fileno(ptr noundef %1254) #11
  %1256 = call i32 @isatty(i32 noundef %1255) #11
  %1257 = icmp ne i32 %1256, 0
  br i1 %1257, label %1258, label %1275

1258:                                             ; preds = %1253
  %1259 = load i32, ptr %30, align 4, !tbaa !5
  %1260 = call ptr @__errno_location() #12
  store i32 %1259, ptr %1260, align 4, !tbaa !5
  %1261 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1262 = load i32, ptr @test_count, align 4, !tbaa !5
  %1263 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1264 = load i32, ptr %1263, align 4, !tbaa !5
  %1265 = call ptr @s2n_strerror(i32 noundef %1264, ptr noundef @.str.4)
  %1266 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1267 = load i32, ptr %1266, align 4, !tbaa !5
  %1268 = call ptr @s2n_strerror_debug(i32 noundef %1267, ptr noundef @.str.4)
  %1269 = call ptr @__errno_location() #12
  %1270 = load i32, ptr %1269, align 4, !tbaa !5
  %1271 = call ptr @strerror(i32 noundef %1270) #11
  %1272 = call ptr @__errno_location() #12
  %1273 = load i32, ptr %1272, align 4, !tbaa !5
  %1274 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1261, ptr noundef @.str.2, i32 noundef %1262, ptr noundef @.str.25, ptr noundef @.str.1, i32 noundef 103, ptr noundef %1265, ptr noundef %1268, ptr noundef %1271, i32 noundef %1273) #11
  br label %1292

1275:                                             ; preds = %1253, %1246
  %1276 = load i32, ptr %30, align 4, !tbaa !5
  %1277 = call ptr @__errno_location() #12
  store i32 %1276, ptr %1277, align 4, !tbaa !5
  %1278 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1279 = load i32, ptr @test_count, align 4, !tbaa !5
  %1280 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1281 = load i32, ptr %1280, align 4, !tbaa !5
  %1282 = call ptr @s2n_strerror(i32 noundef %1281, ptr noundef @.str.4)
  %1283 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1284 = load i32, ptr %1283, align 4, !tbaa !5
  %1285 = call ptr @s2n_strerror_debug(i32 noundef %1284, ptr noundef @.str.4)
  %1286 = call ptr @__errno_location() #12
  %1287 = load i32, ptr %1286, align 4, !tbaa !5
  %1288 = call ptr @strerror(i32 noundef %1287) #11
  %1289 = call ptr @__errno_location() #12
  %1290 = load i32, ptr %1289, align 4, !tbaa !5
  %1291 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1278, ptr noundef @.str.5, i32 noundef %1279, ptr noundef @.str.25, ptr noundef @.str.1, i32 noundef 103, ptr noundef %1282, ptr noundef %1285, ptr noundef %1288, i32 noundef %1290) #11
  br label %1292

1292:                                             ; preds = %1275, %1258
  call void @llvm.lifetime.end.p0(i64 4, ptr %30) #11
  br label %1293

1293:                                             ; preds = %1292
  br label %1294

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

1295:                                             ; No predecessors!
  br label %1296

1296:                                             ; preds = %1295
  br label %1297

1297:                                             ; preds = %1296, %1239
  br label %1298

1298:                                             ; preds = %1297
  br label %1299

1299:                                             ; preds = %1298
  br label %1300

1300:                                             ; preds = %1299
  %1301 = load i32, ptr @test_count, align 4, !tbaa !5
  %1302 = add nsw i32 %1301, 1
  store i32 %1302, ptr @test_count, align 4, !tbaa !5
  %1303 = load ptr, ptr %26, align 8, !tbaa !9
  %1304 = call i32 @s2n_connection_set_io_pair(ptr noundef %1303, ptr noundef %29)
  %1305 = icmp eq i32 %1304, -1
  br i1 %1305, label %1306, label %1359

1306:                                             ; preds = %1300
  br label %1307

1307:                                             ; preds = %1306
  br label %1308

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

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

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

1337:                                             ; preds = %1315, %1308
  %1338 = load i32, ptr %31, align 4, !tbaa !5
  %1339 = call ptr @__errno_location() #12
  store i32 %1338, ptr %1339, align 4, !tbaa !5
  %1340 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1341 = load i32, ptr @test_count, align 4, !tbaa !5
  %1342 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1343 = load i32, ptr %1342, align 4, !tbaa !5
  %1344 = call ptr @s2n_strerror(i32 noundef %1343, ptr noundef @.str.4)
  %1345 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1346 = load i32, ptr %1345, align 4, !tbaa !5
  %1347 = call ptr @s2n_strerror_debug(i32 noundef %1346, ptr noundef @.str.4)
  %1348 = call ptr @__errno_location() #12
  %1349 = load i32, ptr %1348, align 4, !tbaa !5
  %1350 = call ptr @strerror(i32 noundef %1349) #11
  %1351 = call ptr @__errno_location() #12
  %1352 = load i32, ptr %1351, align 4, !tbaa !5
  %1353 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1340, ptr noundef @.str.5, i32 noundef %1341, ptr noundef @.str.26, ptr noundef @.str.1, i32 noundef 104, ptr noundef %1344, ptr noundef %1347, ptr noundef %1350, i32 noundef %1352) #11
  br label %1354

1354:                                             ; preds = %1337, %1320
  call void @llvm.lifetime.end.p0(i64 4, ptr %31) #11
  br label %1355

1355:                                             ; preds = %1354
  br label %1356

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

1357:                                             ; No predecessors!
  br label %1358

1358:                                             ; preds = %1357
  br label %1359

1359:                                             ; preds = %1358, %1300
  br label %1360

1360:                                             ; preds = %1359
  br label %1361

1361:                                             ; preds = %1360
  br label %1362

1362:                                             ; preds = %1361
  %1363 = load i32, ptr @test_count, align 4, !tbaa !5
  %1364 = add nsw i32 %1363, 1
  store i32 %1364, ptr @test_count, align 4, !tbaa !5
  %1365 = load ptr, ptr %23, align 8, !tbaa !9
  %1366 = call i32 @s2n_connection_set_io_pair(ptr noundef %1365, ptr noundef %29)
  %1367 = icmp eq i32 %1366, -1
  br i1 %1367, label %1368, label %1421

1368:                                             ; preds = %1362
  br label %1369

1369:                                             ; preds = %1368
  br label %1370

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

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

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

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

1416:                                             ; preds = %1399, %1382
  call void @llvm.lifetime.end.p0(i64 4, ptr %32) #11
  br label %1417

1417:                                             ; preds = %1416
  br label %1418

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

1419:                                             ; No predecessors!
  br label %1420

1420:                                             ; preds = %1419
  br label %1421

1421:                                             ; preds = %1420, %1362
  br label %1422

1422:                                             ; preds = %1421
  br label %1423

1423:                                             ; preds = %1422
  br label %1424

1424:                                             ; preds = %1423
  %1425 = load i32, ptr @test_count, align 4, !tbaa !5
  %1426 = add nsw i32 %1425, 1
  store i32 %1426, ptr @test_count, align 4, !tbaa !5
  %1427 = load ptr, ptr %26, align 8, !tbaa !9
  %1428 = getelementptr inbounds %struct.s2n_connection, ptr %1427, i32 0, i32 6
  %1429 = load ptr, ptr %1428, align 8, !tbaa !15
  %1430 = icmp eq ptr %1429, @s2n_socket_write
  br i1 %1430, label %1484, label %1431

1431:                                             ; preds = %1424
  br label %1432

1432:                                             ; preds = %1431
  br label %1433

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

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

1445:                                             ; preds = %1440
  %1446 = load i32, ptr %33, align 4, !tbaa !5
  %1447 = call ptr @__errno_location() #12
  store i32 %1446, ptr %1447, 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 @.str.4)
  %1453 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1454 = load i32, ptr %1453, align 4, !tbaa !5
  %1455 = call ptr @s2n_strerror_debug(i32 noundef %1454, ptr noundef @.str.4)
  %1456 = call ptr @__errno_location() #12
  %1457 = load i32, ptr %1456, align 4, !tbaa !5
  %1458 = call ptr @strerror(i32 noundef %1457) #11
  %1459 = call ptr @__errno_location() #12
  %1460 = load i32, ptr %1459, align 4, !tbaa !5
  %1461 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1448, ptr noundef @.str.2, i32 noundef %1449, ptr noundef @.str.28, ptr noundef @.str.1, i32 noundef 106, ptr noundef %1452, ptr noundef %1455, ptr noundef %1458, i32 noundef %1460) #11
  br label %1479

1462:                                             ; preds = %1440, %1433
  %1463 = load i32, ptr %33, align 4, !tbaa !5
  %1464 = call ptr @__errno_location() #12
  store i32 %1463, ptr %1464, align 4, !tbaa !5
  %1465 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1466 = load i32, ptr @test_count, align 4, !tbaa !5
  %1467 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1468 = load i32, ptr %1467, align 4, !tbaa !5
  %1469 = call ptr @s2n_strerror(i32 noundef %1468, ptr noundef @.str.4)
  %1470 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1471 = load i32, ptr %1470, align 4, !tbaa !5
  %1472 = call ptr @s2n_strerror_debug(i32 noundef %1471, ptr noundef @.str.4)
  %1473 = call ptr @__errno_location() #12
  %1474 = load i32, ptr %1473, align 4, !tbaa !5
  %1475 = call ptr @strerror(i32 noundef %1474) #11
  %1476 = call ptr @__errno_location() #12
  %1477 = load i32, ptr %1476, align 4, !tbaa !5
  %1478 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1465, ptr noundef @.str.5, i32 noundef %1466, ptr noundef @.str.28, ptr noundef @.str.1, i32 noundef 106, ptr noundef %1469, ptr noundef %1472, ptr noundef %1475, i32 noundef %1477) #11
  br label %1479

1479:                                             ; preds = %1462, %1445
  call void @llvm.lifetime.end.p0(i64 4, ptr %33) #11
  br label %1480

1480:                                             ; preds = %1479
  br label %1481

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

1482:                                             ; No predecessors!
  br label %1483

1483:                                             ; preds = %1482
  br label %1484

1484:                                             ; preds = %1483, %1424
  br label %1485

1485:                                             ; preds = %1484
  br label %1486

1486:                                             ; preds = %1485
  br label %1487

1487:                                             ; preds = %1486
  %1488 = load i32, ptr @test_count, align 4, !tbaa !5
  %1489 = add nsw i32 %1488, 1
  store i32 %1489, ptr @test_count, align 4, !tbaa !5
  %1490 = load ptr, ptr %26, align 8, !tbaa !9
  %1491 = load i32, ptr %1490, align 8
  %1492 = lshr i32 %1491, 8
  %1493 = and i32 %1492, 1
  %1494 = icmp ne i32 %1493, 0
  br i1 %1494, label %1548, label %1495

1495:                                             ; preds = %1487
  br label %1496

1496:                                             ; preds = %1495
  br label %1497

1497:                                             ; preds = %1496
  call void @llvm.lifetime.start.p0(i64 4, ptr %34) #11
  %1498 = call ptr @__errno_location() #12
  %1499 = load i32, ptr %1498, align 4, !tbaa !5
  store i32 %1499, ptr %34, align 4, !tbaa !5
  %1500 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1501 = call i32 @s2n_print_stacktrace(ptr noundef %1500)
  %1502 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1503 = trunc i8 %1502 to i1
  br i1 %1503, label %1504, label %1526

1504:                                             ; preds = %1497
  %1505 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1506 = call i32 @fileno(ptr noundef %1505) #11
  %1507 = call i32 @isatty(i32 noundef %1506) #11
  %1508 = icmp ne i32 %1507, 0
  br i1 %1508, label %1509, label %1526

1509:                                             ; preds = %1504
  %1510 = load i32, ptr %34, align 4, !tbaa !5
  %1511 = call ptr @__errno_location() #12
  store i32 %1510, ptr %1511, align 4, !tbaa !5
  %1512 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1513 = load i32, ptr @test_count, align 4, !tbaa !5
  %1514 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1515 = load i32, ptr %1514, align 4, !tbaa !5
  %1516 = call ptr @s2n_strerror(i32 noundef %1515, ptr noundef @.str.4)
  %1517 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1518 = load i32, ptr %1517, align 4, !tbaa !5
  %1519 = call ptr @s2n_strerror_debug(i32 noundef %1518, ptr noundef @.str.4)
  %1520 = call ptr @__errno_location() #12
  %1521 = load i32, ptr %1520, align 4, !tbaa !5
  %1522 = call ptr @strerror(i32 noundef %1521) #11
  %1523 = call ptr @__errno_location() #12
  %1524 = load i32, ptr %1523, align 4, !tbaa !5
  %1525 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1512, ptr noundef @.str.2, i32 noundef %1513, ptr noundef @.str.29, ptr noundef @.str.1, i32 noundef 107, ptr noundef %1516, ptr noundef %1519, ptr noundef %1522, i32 noundef %1524) #11
  br label %1543

1526:                                             ; preds = %1504, %1497
  %1527 = load i32, ptr %34, align 4, !tbaa !5
  %1528 = call ptr @__errno_location() #12
  store i32 %1527, ptr %1528, align 4, !tbaa !5
  %1529 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1530 = load i32, ptr @test_count, align 4, !tbaa !5
  %1531 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1532 = load i32, ptr %1531, align 4, !tbaa !5
  %1533 = call ptr @s2n_strerror(i32 noundef %1532, ptr noundef @.str.4)
  %1534 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1535 = load i32, ptr %1534, align 4, !tbaa !5
  %1536 = call ptr @s2n_strerror_debug(i32 noundef %1535, ptr noundef @.str.4)
  %1537 = call ptr @__errno_location() #12
  %1538 = load i32, ptr %1537, align 4, !tbaa !5
  %1539 = call ptr @strerror(i32 noundef %1538) #11
  %1540 = call ptr @__errno_location() #12
  %1541 = load i32, ptr %1540, align 4, !tbaa !5
  %1542 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1529, ptr noundef @.str.5, i32 noundef %1530, ptr noundef @.str.29, ptr noundef @.str.1, i32 noundef 107, ptr noundef %1533, ptr noundef %1536, ptr noundef %1539, i32 noundef %1541) #11
  br label %1543

1543:                                             ; preds = %1526, %1509
  call void @llvm.lifetime.end.p0(i64 4, ptr %34) #11
  br label %1544

1544:                                             ; preds = %1543
  br label %1545

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

1546:                                             ; No predecessors!
  br label %1547

1547:                                             ; preds = %1546
  br label %1548

1548:                                             ; preds = %1547, %1487
  br label %1549

1549:                                             ; preds = %1548
  br label %1550

1550:                                             ; preds = %1549
  br label %1551

1551:                                             ; preds = %1550
  %1552 = load i32, ptr @test_count, align 4, !tbaa !5
  %1553 = add nsw i32 %1552, 1
  store i32 %1553, ptr @test_count, align 4, !tbaa !5
  %1554 = load ptr, ptr %26, align 8, !tbaa !9
  %1555 = getelementptr inbounds %struct.s2n_connection, ptr %1554, i32 0, i32 7
  %1556 = load ptr, ptr %1555, align 8, !tbaa !42
  %1557 = icmp eq ptr %1556, @s2n_socket_read
  br i1 %1557, label %1611, label %1558

1558:                                             ; preds = %1551
  br label %1559

1559:                                             ; preds = %1558
  br label %1560

1560:                                             ; preds = %1559
  call void @llvm.lifetime.start.p0(i64 4, ptr %35) #11
  %1561 = call ptr @__errno_location() #12
  %1562 = load i32, ptr %1561, align 4, !tbaa !5
  store i32 %1562, ptr %35, align 4, !tbaa !5
  %1563 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1564 = call i32 @s2n_print_stacktrace(ptr noundef %1563)
  %1565 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1566 = trunc i8 %1565 to i1
  br i1 %1566, label %1567, label %1589

1567:                                             ; preds = %1560
  %1568 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1569 = call i32 @fileno(ptr noundef %1568) #11
  %1570 = call i32 @isatty(i32 noundef %1569) #11
  %1571 = icmp ne i32 %1570, 0
  br i1 %1571, label %1572, label %1589

1572:                                             ; preds = %1567
  %1573 = load i32, ptr %35, align 4, !tbaa !5
  %1574 = call ptr @__errno_location() #12
  store i32 %1573, ptr %1574, align 4, !tbaa !5
  %1575 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1576 = load i32, ptr @test_count, align 4, !tbaa !5
  %1577 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1578 = load i32, ptr %1577, align 4, !tbaa !5
  %1579 = call ptr @s2n_strerror(i32 noundef %1578, ptr noundef @.str.4)
  %1580 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1581 = load i32, ptr %1580, align 4, !tbaa !5
  %1582 = call ptr @s2n_strerror_debug(i32 noundef %1581, ptr noundef @.str.4)
  %1583 = call ptr @__errno_location() #12
  %1584 = load i32, ptr %1583, align 4, !tbaa !5
  %1585 = call ptr @strerror(i32 noundef %1584) #11
  %1586 = call ptr @__errno_location() #12
  %1587 = load i32, ptr %1586, align 4, !tbaa !5
  %1588 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1575, ptr noundef @.str.2, i32 noundef %1576, ptr noundef @.str.30, ptr noundef @.str.1, i32 noundef 108, ptr noundef %1579, ptr noundef %1582, ptr noundef %1585, i32 noundef %1587) #11
  br label %1606

1589:                                             ; preds = %1567, %1560
  %1590 = load i32, ptr %35, align 4, !tbaa !5
  %1591 = call ptr @__errno_location() #12
  store i32 %1590, ptr %1591, align 4, !tbaa !5
  %1592 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1593 = load i32, ptr @test_count, align 4, !tbaa !5
  %1594 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1595 = load i32, ptr %1594, align 4, !tbaa !5
  %1596 = call ptr @s2n_strerror(i32 noundef %1595, ptr noundef @.str.4)
  %1597 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1598 = load i32, ptr %1597, align 4, !tbaa !5
  %1599 = call ptr @s2n_strerror_debug(i32 noundef %1598, ptr noundef @.str.4)
  %1600 = call ptr @__errno_location() #12
  %1601 = load i32, ptr %1600, align 4, !tbaa !5
  %1602 = call ptr @strerror(i32 noundef %1601) #11
  %1603 = call ptr @__errno_location() #12
  %1604 = load i32, ptr %1603, align 4, !tbaa !5
  %1605 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1592, ptr noundef @.str.5, i32 noundef %1593, ptr noundef @.str.30, ptr noundef @.str.1, i32 noundef 108, ptr noundef %1596, ptr noundef %1599, ptr noundef %1602, i32 noundef %1604) #11
  br label %1606

1606:                                             ; preds = %1589, %1572
  call void @llvm.lifetime.end.p0(i64 4, ptr %35) #11
  br label %1607

1607:                                             ; preds = %1606
  br label %1608

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

1609:                                             ; No predecessors!
  br label %1610

1610:                                             ; preds = %1609
  br label %1611

1611:                                             ; preds = %1610, %1551
  br label %1612

1612:                                             ; preds = %1611
  br label %1613

1613:                                             ; preds = %1612
  br label %1614

1614:                                             ; preds = %1613
  %1615 = load i32, ptr @test_count, align 4, !tbaa !5
  %1616 = add nsw i32 %1615, 1
  store i32 %1616, ptr @test_count, align 4, !tbaa !5
  %1617 = load ptr, ptr %26, align 8, !tbaa !9
  %1618 = load i32, ptr %1617, align 8
  %1619 = lshr i32 %1618, 9
  %1620 = and i32 %1619, 1
  %1621 = icmp ne i32 %1620, 0
  br i1 %1621, label %1675, label %1622

1622:                                             ; preds = %1614
  br label %1623

1623:                                             ; preds = %1622
  br label %1624

1624:                                             ; preds = %1623
  call void @llvm.lifetime.start.p0(i64 4, ptr %36) #11
  %1625 = call ptr @__errno_location() #12
  %1626 = load i32, ptr %1625, align 4, !tbaa !5
  store i32 %1626, ptr %36, align 4, !tbaa !5
  %1627 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1628 = call i32 @s2n_print_stacktrace(ptr noundef %1627)
  %1629 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1630 = trunc i8 %1629 to i1
  br i1 %1630, label %1631, label %1653

1631:                                             ; preds = %1624
  %1632 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1633 = call i32 @fileno(ptr noundef %1632) #11
  %1634 = call i32 @isatty(i32 noundef %1633) #11
  %1635 = icmp ne i32 %1634, 0
  br i1 %1635, label %1636, label %1653

1636:                                             ; preds = %1631
  %1637 = load i32, ptr %36, align 4, !tbaa !5
  %1638 = call ptr @__errno_location() #12
  store i32 %1637, ptr %1638, align 4, !tbaa !5
  %1639 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1640 = load i32, ptr @test_count, align 4, !tbaa !5
  %1641 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1642 = load i32, ptr %1641, align 4, !tbaa !5
  %1643 = call ptr @s2n_strerror(i32 noundef %1642, ptr noundef @.str.4)
  %1644 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1645 = load i32, ptr %1644, align 4, !tbaa !5
  %1646 = call ptr @s2n_strerror_debug(i32 noundef %1645, ptr noundef @.str.4)
  %1647 = call ptr @__errno_location() #12
  %1648 = load i32, ptr %1647, align 4, !tbaa !5
  %1649 = call ptr @strerror(i32 noundef %1648) #11
  %1650 = call ptr @__errno_location() #12
  %1651 = load i32, ptr %1650, align 4, !tbaa !5
  %1652 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1639, ptr noundef @.str.2, i32 noundef %1640, ptr noundef @.str.31, ptr noundef @.str.1, i32 noundef 109, ptr noundef %1643, ptr noundef %1646, ptr noundef %1649, i32 noundef %1651) #11
  br label %1670

1653:                                             ; preds = %1631, %1624
  %1654 = load i32, ptr %36, align 4, !tbaa !5
  %1655 = call ptr @__errno_location() #12
  store i32 %1654, ptr %1655, align 4, !tbaa !5
  %1656 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1657 = load i32, ptr @test_count, align 4, !tbaa !5
  %1658 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1659 = load i32, ptr %1658, align 4, !tbaa !5
  %1660 = call ptr @s2n_strerror(i32 noundef %1659, ptr noundef @.str.4)
  %1661 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1662 = load i32, ptr %1661, align 4, !tbaa !5
  %1663 = call ptr @s2n_strerror_debug(i32 noundef %1662, ptr noundef @.str.4)
  %1664 = call ptr @__errno_location() #12
  %1665 = load i32, ptr %1664, align 4, !tbaa !5
  %1666 = call ptr @strerror(i32 noundef %1665) #11
  %1667 = call ptr @__errno_location() #12
  %1668 = load i32, ptr %1667, align 4, !tbaa !5
  %1669 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1656, ptr noundef @.str.5, i32 noundef %1657, ptr noundef @.str.31, ptr noundef @.str.1, i32 noundef 109, ptr noundef %1660, ptr noundef %1663, ptr noundef %1666, i32 noundef %1668) #11
  br label %1670

1670:                                             ; preds = %1653, %1636
  call void @llvm.lifetime.end.p0(i64 4, ptr %36) #11
  br label %1671

1671:                                             ; preds = %1670
  br label %1672

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

1673:                                             ; No predecessors!
  br label %1674

1674:                                             ; preds = %1673
  br label %1675

1675:                                             ; preds = %1674, %1614
  br label %1676

1676:                                             ; preds = %1675
  br label %1677

1677:                                             ; preds = %1676
  br label %1678

1678:                                             ; preds = %1677
  %1679 = load i32, ptr @test_count, align 4, !tbaa !5
  %1680 = add nsw i32 %1679, 1
  store i32 %1680, ptr @test_count, align 4, !tbaa !5
  %1681 = load ptr, ptr %23, align 8, !tbaa !9
  %1682 = load ptr, ptr %26, align 8, !tbaa !9
  %1683 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef %1681, ptr noundef %1682)
  %1684 = icmp eq i32 %1683, -1
  br i1 %1684, label %1685, label %1738

1685:                                             ; preds = %1678
  br label %1686

1686:                                             ; preds = %1685
  br label %1687

1687:                                             ; preds = %1686
  call void @llvm.lifetime.start.p0(i64 4, ptr %37) #11
  %1688 = call ptr @__errno_location() #12
  %1689 = load i32, ptr %1688, align 4, !tbaa !5
  store i32 %1689, ptr %37, align 4, !tbaa !5
  %1690 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1691 = call i32 @s2n_print_stacktrace(ptr noundef %1690)
  %1692 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1693 = trunc i8 %1692 to i1
  br i1 %1693, label %1694, label %1716

1694:                                             ; preds = %1687
  %1695 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1696 = call i32 @fileno(ptr noundef %1695) #11
  %1697 = call i32 @isatty(i32 noundef %1696) #11
  %1698 = icmp ne i32 %1697, 0
  br i1 %1698, label %1699, label %1716

1699:                                             ; preds = %1694
  %1700 = load i32, ptr %37, align 4, !tbaa !5
  %1701 = call ptr @__errno_location() #12
  store i32 %1700, ptr %1701, align 4, !tbaa !5
  %1702 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1703 = load i32, ptr @test_count, align 4, !tbaa !5
  %1704 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1705 = load i32, ptr %1704, align 4, !tbaa !5
  %1706 = call ptr @s2n_strerror(i32 noundef %1705, ptr noundef @.str.4)
  %1707 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1708 = load i32, ptr %1707, align 4, !tbaa !5
  %1709 = call ptr @s2n_strerror_debug(i32 noundef %1708, ptr noundef @.str.4)
  %1710 = call ptr @__errno_location() #12
  %1711 = load i32, ptr %1710, align 4, !tbaa !5
  %1712 = call ptr @strerror(i32 noundef %1711) #11
  %1713 = call ptr @__errno_location() #12
  %1714 = load i32, ptr %1713, align 4, !tbaa !5
  %1715 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1702, ptr noundef @.str.2, i32 noundef %1703, ptr noundef @.str.32, ptr noundef @.str.1, i32 noundef 111, ptr noundef %1706, ptr noundef %1709, ptr noundef %1712, i32 noundef %1714) #11
  br label %1733

1716:                                             ; preds = %1694, %1687
  %1717 = load i32, ptr %37, align 4, !tbaa !5
  %1718 = call ptr @__errno_location() #12
  store i32 %1717, ptr %1718, align 4, !tbaa !5
  %1719 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1720 = load i32, ptr @test_count, align 4, !tbaa !5
  %1721 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1722 = load i32, ptr %1721, align 4, !tbaa !5
  %1723 = call ptr @s2n_strerror(i32 noundef %1722, ptr noundef @.str.4)
  %1724 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1725 = load i32, ptr %1724, align 4, !tbaa !5
  %1726 = call ptr @s2n_strerror_debug(i32 noundef %1725, ptr noundef @.str.4)
  %1727 = call ptr @__errno_location() #12
  %1728 = load i32, ptr %1727, align 4, !tbaa !5
  %1729 = call ptr @strerror(i32 noundef %1728) #11
  %1730 = call ptr @__errno_location() #12
  %1731 = load i32, ptr %1730, align 4, !tbaa !5
  %1732 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1719, ptr noundef @.str.5, i32 noundef %1720, ptr noundef @.str.32, ptr noundef @.str.1, i32 noundef 111, ptr noundef %1723, ptr noundef %1726, ptr noundef %1729, i32 noundef %1731) #11
  br label %1733

1733:                                             ; preds = %1716, %1699
  call void @llvm.lifetime.end.p0(i64 4, ptr %37) #11
  br label %1734

1734:                                             ; preds = %1733
  br label %1735

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

1736:                                             ; No predecessors!
  br label %1737

1737:                                             ; preds = %1736
  br label %1738

1738:                                             ; preds = %1737, %1678
  br label %1739

1739:                                             ; preds = %1738
  br label %1740

1740:                                             ; preds = %1739
  br label %1741

1741:                                             ; preds = %1740
  %1742 = load i32, ptr @test_count, align 4, !tbaa !5
  %1743 = add nsw i32 %1742, 1
  store i32 %1743, ptr @test_count, align 4, !tbaa !5
  %1744 = load ptr, ptr %26, align 8, !tbaa !9
  %1745 = call i32 @s2n_renegotiate_wipe(ptr noundef %1744)
  %1746 = icmp eq i32 %1745, -1
  br i1 %1746, label %1747, label %1800

1747:                                             ; preds = %1741
  br label %1748

1748:                                             ; preds = %1747
  br label %1749

1749:                                             ; preds = %1748
  call void @llvm.lifetime.start.p0(i64 4, ptr %38) #11
  %1750 = call ptr @__errno_location() #12
  %1751 = load i32, ptr %1750, align 4, !tbaa !5
  store i32 %1751, ptr %38, align 4, !tbaa !5
  %1752 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1753 = call i32 @s2n_print_stacktrace(ptr noundef %1752)
  %1754 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1755 = trunc i8 %1754 to i1
  br i1 %1755, label %1756, label %1778

1756:                                             ; preds = %1749
  %1757 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1758 = call i32 @fileno(ptr noundef %1757) #11
  %1759 = call i32 @isatty(i32 noundef %1758) #11
  %1760 = icmp ne i32 %1759, 0
  br i1 %1760, label %1761, label %1778

1761:                                             ; preds = %1756
  %1762 = load i32, ptr %38, align 4, !tbaa !5
  %1763 = call ptr @__errno_location() #12
  store i32 %1762, ptr %1763, align 4, !tbaa !5
  %1764 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1765 = load i32, ptr @test_count, align 4, !tbaa !5
  %1766 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1767 = load i32, ptr %1766, align 4, !tbaa !5
  %1768 = call ptr @s2n_strerror(i32 noundef %1767, ptr noundef @.str.4)
  %1769 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1770 = load i32, ptr %1769, align 4, !tbaa !5
  %1771 = call ptr @s2n_strerror_debug(i32 noundef %1770, ptr noundef @.str.4)
  %1772 = call ptr @__errno_location() #12
  %1773 = load i32, ptr %1772, align 4, !tbaa !5
  %1774 = call ptr @strerror(i32 noundef %1773) #11
  %1775 = call ptr @__errno_location() #12
  %1776 = load i32, ptr %1775, align 4, !tbaa !5
  %1777 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1764, ptr noundef @.str.2, i32 noundef %1765, ptr noundef @.str.33, ptr noundef @.str.1, i32 noundef 112, ptr noundef %1768, ptr noundef %1771, ptr noundef %1774, i32 noundef %1776) #11
  br label %1795

1778:                                             ; preds = %1756, %1749
  %1779 = load i32, ptr %38, align 4, !tbaa !5
  %1780 = call ptr @__errno_location() #12
  store i32 %1779, ptr %1780, align 4, !tbaa !5
  %1781 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1782 = load i32, ptr @test_count, align 4, !tbaa !5
  %1783 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1784 = load i32, ptr %1783, align 4, !tbaa !5
  %1785 = call ptr @s2n_strerror(i32 noundef %1784, ptr noundef @.str.4)
  %1786 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1787 = load i32, ptr %1786, align 4, !tbaa !5
  %1788 = call ptr @s2n_strerror_debug(i32 noundef %1787, ptr noundef @.str.4)
  %1789 = call ptr @__errno_location() #12
  %1790 = load i32, ptr %1789, align 4, !tbaa !5
  %1791 = call ptr @strerror(i32 noundef %1790) #11
  %1792 = call ptr @__errno_location() #12
  %1793 = load i32, ptr %1792, align 4, !tbaa !5
  %1794 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1781, ptr noundef @.str.5, i32 noundef %1782, ptr noundef @.str.33, ptr noundef @.str.1, i32 noundef 112, ptr noundef %1785, ptr noundef %1788, ptr noundef %1791, i32 noundef %1793) #11
  br label %1795

1795:                                             ; preds = %1778, %1761
  call void @llvm.lifetime.end.p0(i64 4, ptr %38) #11
  br label %1796

1796:                                             ; preds = %1795
  br label %1797

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

1798:                                             ; No predecessors!
  br label %1799

1799:                                             ; preds = %1798
  br label %1800

1800:                                             ; preds = %1799, %1741
  br label %1801

1801:                                             ; preds = %1800
  br label %1802

1802:                                             ; preds = %1801
  call void @llvm.lifetime.start.p0(i64 20, ptr %39) #11
  call void @llvm.memset.p0.i64(ptr align 16 %39, i8 0, i64 20, i1 false)
  br label %1803

1803:                                             ; preds = %1802
  %1804 = load i32, ptr @test_count, align 4, !tbaa !5
  %1805 = add nsw i32 %1804, 1
  store i32 %1805, ptr @test_count, align 4, !tbaa !5
  %1806 = load ptr, ptr %23, align 8, !tbaa !9
  %1807 = getelementptr inbounds [20 x i8], ptr %20, i64 0, i64 0
  %1808 = call i64 @s2n_send(ptr noundef %1806, ptr noundef %1807, i64 noundef 20, ptr noundef %22)
  %1809 = icmp eq i64 %1808, 20
  br i1 %1809, label %1863, label %1810

1810:                                             ; preds = %1803
  br label %1811

1811:                                             ; preds = %1810
  br label %1812

1812:                                             ; preds = %1811
  call void @llvm.lifetime.start.p0(i64 4, ptr %40) #11
  %1813 = call ptr @__errno_location() #12
  %1814 = load i32, ptr %1813, align 4, !tbaa !5
  store i32 %1814, ptr %40, align 4, !tbaa !5
  %1815 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1816 = call i32 @s2n_print_stacktrace(ptr noundef %1815)
  %1817 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1818 = trunc i8 %1817 to i1
  br i1 %1818, label %1819, label %1841

1819:                                             ; preds = %1812
  %1820 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1821 = call i32 @fileno(ptr noundef %1820) #11
  %1822 = call i32 @isatty(i32 noundef %1821) #11
  %1823 = icmp ne i32 %1822, 0
  br i1 %1823, label %1824, label %1841

1824:                                             ; preds = %1819
  %1825 = load i32, ptr %40, align 4, !tbaa !5
  %1826 = call ptr @__errno_location() #12
  store i32 %1825, ptr %1826, align 4, !tbaa !5
  %1827 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1828 = load i32, ptr @test_count, align 4, !tbaa !5
  %1829 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1830 = load i32, ptr %1829, align 4, !tbaa !5
  %1831 = call ptr @s2n_strerror(i32 noundef %1830, ptr noundef @.str.4)
  %1832 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1833 = load i32, ptr %1832, align 4, !tbaa !5
  %1834 = call ptr @s2n_strerror_debug(i32 noundef %1833, ptr noundef @.str.4)
  %1835 = call ptr @__errno_location() #12
  %1836 = load i32, ptr %1835, align 4, !tbaa !5
  %1837 = call ptr @strerror(i32 noundef %1836) #11
  %1838 = call ptr @__errno_location() #12
  %1839 = load i32, ptr %1838, align 4, !tbaa !5
  %1840 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1827, ptr noundef @.str.2, i32 noundef %1828, ptr noundef @.str.34, ptr noundef @.str.1, i32 noundef 115, ptr noundef %1831, ptr noundef %1834, ptr noundef %1837, i32 noundef %1839) #11
  br label %1858

1841:                                             ; preds = %1819, %1812
  %1842 = load i32, ptr %40, align 4, !tbaa !5
  %1843 = call ptr @__errno_location() #12
  store i32 %1842, ptr %1843, align 4, !tbaa !5
  %1844 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1845 = load i32, ptr @test_count, align 4, !tbaa !5
  %1846 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1847 = load i32, ptr %1846, align 4, !tbaa !5
  %1848 = call ptr @s2n_strerror(i32 noundef %1847, ptr noundef @.str.4)
  %1849 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1850 = load i32, ptr %1849, align 4, !tbaa !5
  %1851 = call ptr @s2n_strerror_debug(i32 noundef %1850, ptr noundef @.str.4)
  %1852 = call ptr @__errno_location() #12
  %1853 = load i32, ptr %1852, align 4, !tbaa !5
  %1854 = call ptr @strerror(i32 noundef %1853) #11
  %1855 = call ptr @__errno_location() #12
  %1856 = load i32, ptr %1855, align 4, !tbaa !5
  %1857 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1844, ptr noundef @.str.5, i32 noundef %1845, ptr noundef @.str.34, ptr noundef @.str.1, i32 noundef 115, ptr noundef %1848, ptr noundef %1851, ptr noundef %1854, i32 noundef %1856) #11
  br label %1858

1858:                                             ; preds = %1841, %1824
  call void @llvm.lifetime.end.p0(i64 4, ptr %40) #11
  br label %1859

1859:                                             ; preds = %1858
  br label %1860

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

1861:                                             ; No predecessors!
  br label %1862

1862:                                             ; preds = %1861
  br label %1863

1863:                                             ; preds = %1862, %1803
  br label %1864

1864:                                             ; preds = %1863
  br label %1865

1865:                                             ; preds = %1864
  br label %1866

1866:                                             ; preds = %1865
  %1867 = load i32, ptr @test_count, align 4, !tbaa !5
  %1868 = add nsw i32 %1867, 1
  store i32 %1868, ptr @test_count, align 4, !tbaa !5
  %1869 = load ptr, ptr %26, align 8, !tbaa !9
  %1870 = getelementptr inbounds [20 x i8], ptr %39, i64 0, i64 0
  %1871 = call i64 @s2n_recv(ptr noundef %1869, ptr noundef %1870, i64 noundef 20, ptr noundef %22)
  %1872 = icmp eq i64 %1871, 20
  br i1 %1872, label %1926, label %1873

1873:                                             ; preds = %1866
  br label %1874

1874:                                             ; preds = %1873
  br label %1875

1875:                                             ; preds = %1874
  call void @llvm.lifetime.start.p0(i64 4, ptr %41) #11
  %1876 = call ptr @__errno_location() #12
  %1877 = load i32, ptr %1876, align 4, !tbaa !5
  store i32 %1877, ptr %41, align 4, !tbaa !5
  %1878 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1879 = call i32 @s2n_print_stacktrace(ptr noundef %1878)
  %1880 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1881 = trunc i8 %1880 to i1
  br i1 %1881, label %1882, label %1904

1882:                                             ; preds = %1875
  %1883 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1884 = call i32 @fileno(ptr noundef %1883) #11
  %1885 = call i32 @isatty(i32 noundef %1884) #11
  %1886 = icmp ne i32 %1885, 0
  br i1 %1886, label %1887, label %1904

1887:                                             ; preds = %1882
  %1888 = load i32, ptr %41, align 4, !tbaa !5
  %1889 = call ptr @__errno_location() #12
  store i32 %1888, ptr %1889, align 4, !tbaa !5
  %1890 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1891 = load i32, ptr @test_count, align 4, !tbaa !5
  %1892 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1893 = load i32, ptr %1892, align 4, !tbaa !5
  %1894 = call ptr @s2n_strerror(i32 noundef %1893, ptr noundef @.str.4)
  %1895 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1896 = load i32, ptr %1895, align 4, !tbaa !5
  %1897 = call ptr @s2n_strerror_debug(i32 noundef %1896, ptr noundef @.str.4)
  %1898 = call ptr @__errno_location() #12
  %1899 = load i32, ptr %1898, align 4, !tbaa !5
  %1900 = call ptr @strerror(i32 noundef %1899) #11
  %1901 = call ptr @__errno_location() #12
  %1902 = load i32, ptr %1901, align 4, !tbaa !5
  %1903 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1890, ptr noundef @.str.2, i32 noundef %1891, ptr noundef @.str.35, ptr noundef @.str.1, i32 noundef 116, ptr noundef %1894, ptr noundef %1897, ptr noundef %1900, i32 noundef %1902) #11
  br label %1921

1904:                                             ; preds = %1882, %1875
  %1905 = load i32, ptr %41, align 4, !tbaa !5
  %1906 = call ptr @__errno_location() #12
  store i32 %1905, ptr %1906, align 4, !tbaa !5
  %1907 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1908 = load i32, ptr @test_count, align 4, !tbaa !5
  %1909 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1910 = load i32, ptr %1909, align 4, !tbaa !5
  %1911 = call ptr @s2n_strerror(i32 noundef %1910, ptr noundef @.str.4)
  %1912 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1913 = load i32, ptr %1912, align 4, !tbaa !5
  %1914 = call ptr @s2n_strerror_debug(i32 noundef %1913, ptr noundef @.str.4)
  %1915 = call ptr @__errno_location() #12
  %1916 = load i32, ptr %1915, align 4, !tbaa !5
  %1917 = call ptr @strerror(i32 noundef %1916) #11
  %1918 = call ptr @__errno_location() #12
  %1919 = load i32, ptr %1918, align 4, !tbaa !5
  %1920 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1907, ptr noundef @.str.5, i32 noundef %1908, ptr noundef @.str.35, ptr noundef @.str.1, i32 noundef 116, ptr noundef %1911, ptr noundef %1914, ptr noundef %1917, i32 noundef %1919) #11
  br label %1921

1921:                                             ; preds = %1904, %1887
  call void @llvm.lifetime.end.p0(i64 4, ptr %41) #11
  br label %1922

1922:                                             ; preds = %1921
  br label %1923

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

1924:                                             ; No predecessors!
  br label %1925

1925:                                             ; preds = %1924
  br label %1926

1926:                                             ; preds = %1925, %1866
  br label %1927

1927:                                             ; preds = %1926
  br label %1928

1928:                                             ; preds = %1927
  br label %1929

1929:                                             ; preds = %1928
  br label %1930

1930:                                             ; preds = %1929
  %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 [20 x i8], ptr %39, i64 0, i64 0
  %1934 = getelementptr inbounds [20 x i8], ptr %20, i64 0, i64 0
  %1935 = call i32 @memcmp(ptr noundef %1933, ptr noundef %1934, i64 noundef 20) #14
  %1936 = icmp eq i32 %1935, 0
  br i1 %1936, label %1990, label %1937

1937:                                             ; preds = %1930
  br label %1938

1938:                                             ; preds = %1937
  br label %1939

1939:                                             ; preds = %1938
  call void @llvm.lifetime.start.p0(i64 4, ptr %42) #11
  %1940 = call ptr @__errno_location() #12
  %1941 = load i32, ptr %1940, align 4, !tbaa !5
  store i32 %1941, ptr %42, align 4, !tbaa !5
  %1942 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1943 = call i32 @s2n_print_stacktrace(ptr noundef %1942)
  %1944 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1945 = trunc i8 %1944 to i1
  br i1 %1945, label %1946, label %1968

1946:                                             ; preds = %1939
  %1947 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1948 = call i32 @fileno(ptr noundef %1947) #11
  %1949 = call i32 @isatty(i32 noundef %1948) #11
  %1950 = icmp ne i32 %1949, 0
  br i1 %1950, label %1951, label %1968

1951:                                             ; preds = %1946
  %1952 = load i32, ptr %42, align 4, !tbaa !5
  %1953 = call ptr @__errno_location() #12
  store i32 %1952, ptr %1953, align 4, !tbaa !5
  %1954 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1955 = load i32, ptr @test_count, align 4, !tbaa !5
  %1956 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1957 = load i32, ptr %1956, align 4, !tbaa !5
  %1958 = call ptr @s2n_strerror(i32 noundef %1957, ptr noundef @.str.4)
  %1959 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1960 = load i32, ptr %1959, align 4, !tbaa !5
  %1961 = call ptr @s2n_strerror_debug(i32 noundef %1960, ptr noundef @.str.4)
  %1962 = call ptr @__errno_location() #12
  %1963 = load i32, ptr %1962, align 4, !tbaa !5
  %1964 = call ptr @strerror(i32 noundef %1963) #11
  %1965 = call ptr @__errno_location() #12
  %1966 = load i32, ptr %1965, align 4, !tbaa !5
  %1967 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1954, ptr noundef @.str.2, i32 noundef %1955, ptr noundef @.str.36, ptr noundef @.str.1, i32 noundef 117, ptr noundef %1958, ptr noundef %1961, ptr noundef %1964, i32 noundef %1966) #11
  br label %1985

1968:                                             ; preds = %1946, %1939
  %1969 = load i32, ptr %42, align 4, !tbaa !5
  %1970 = call ptr @__errno_location() #12
  store i32 %1969, ptr %1970, align 4, !tbaa !5
  %1971 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1972 = load i32, ptr @test_count, align 4, !tbaa !5
  %1973 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1974 = load i32, ptr %1973, align 4, !tbaa !5
  %1975 = call ptr @s2n_strerror(i32 noundef %1974, ptr noundef @.str.4)
  %1976 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1977 = load i32, ptr %1976, align 4, !tbaa !5
  %1978 = call ptr @s2n_strerror_debug(i32 noundef %1977, ptr noundef @.str.4)
  %1979 = call ptr @__errno_location() #12
  %1980 = load i32, ptr %1979, align 4, !tbaa !5
  %1981 = call ptr @strerror(i32 noundef %1980) #11
  %1982 = call ptr @__errno_location() #12
  %1983 = load i32, ptr %1982, align 4, !tbaa !5
  %1984 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1971, ptr noundef @.str.5, i32 noundef %1972, ptr noundef @.str.36, ptr noundef @.str.1, i32 noundef 117, ptr noundef %1975, ptr noundef %1978, ptr noundef %1981, i32 noundef %1983) #11
  br label %1985

1985:                                             ; preds = %1968, %1951
  call void @llvm.lifetime.end.p0(i64 4, ptr %42) #11
  br label %1986

1986:                                             ; preds = %1985
  br label %1987

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

1988:                                             ; No predecessors!
  br label %1989

1989:                                             ; preds = %1988
  br label %1990

1990:                                             ; preds = %1989, %1930
  br label %1991

1991:                                             ; preds = %1990
  br label %1992

1992:                                             ; preds = %1991
  br label %1993

1993:                                             ; preds = %1992
  br label %1994

1994:                                             ; preds = %1993
  call void @llvm.lifetime.end.p0(i64 20, ptr %39) #11
  %1995 = call i32 @s2n_io_pair_close(ptr noundef %29)
  call void @llvm.lifetime.end.p0(i64 8, ptr %29) #11
  %1996 = call i32 @s2n_connection_ptr_free(ptr noundef %26)
  %1997 = getelementptr inbounds %struct.s2n_result, ptr %43, i32 0, i32 0
  store i32 %1996, ptr %1997, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %26) #11
  %1998 = call i32 @s2n_connection_ptr_free(ptr noundef %23)
  %1999 = getelementptr inbounds %struct.s2n_result, ptr %44, i32 0, i32 0
  store i32 %1998, ptr %1999, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %23) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %45) #11
  %2000 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %2000, ptr %45, align 8, !tbaa !9
  br label %2001

2001:                                             ; preds = %1994
  %2002 = load i32, ptr @test_count, align 4, !tbaa !5
  %2003 = add nsw i32 %2002, 1
  store i32 %2003, ptr @test_count, align 4, !tbaa !5
  %2004 = load ptr, ptr %45, align 8, !tbaa !9
  %2005 = icmp eq ptr %2004, null
  br i1 %2005, label %2006, label %2059

2006:                                             ; preds = %2001
  br label %2007

2007:                                             ; preds = %2006
  br label %2008

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

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

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

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

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

2055:                                             ; preds = %2054
  br label %2056

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

2057:                                             ; No predecessors!
  br label %2058

2058:                                             ; preds = %2057
  br label %2059

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

2060:                                             ; preds = %2059
  br label %2061

2061:                                             ; preds = %2060
  br label %2062

2062:                                             ; preds = %2061
  %2063 = load i32, ptr @test_count, align 4, !tbaa !5
  %2064 = add nsw i32 %2063, 1
  store i32 %2064, ptr @test_count, align 4, !tbaa !5
  %2065 = load ptr, ptr %45, align 8, !tbaa !9
  %2066 = load ptr, ptr %15, align 8, !tbaa !9
  %2067 = call i32 @s2n_connection_set_config(ptr noundef %2065, ptr noundef %2066)
  %2068 = icmp eq i32 %2067, -1
  br i1 %2068, label %2069, label %2122

2069:                                             ; preds = %2062
  br label %2070

2070:                                             ; preds = %2069
  br label %2071

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

2078:                                             ; preds = %2071
  %2079 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2080 = call i32 @fileno(ptr noundef %2079) #11
  %2081 = call i32 @isatty(i32 noundef %2080) #11
  %2082 = icmp ne i32 %2081, 0
  br i1 %2082, label %2083, label %2100

2083:                                             ; preds = %2078
  %2084 = load i32, ptr %47, align 4, !tbaa !5
  %2085 = call ptr @__errno_location() #12
  store i32 %2084, ptr %2085, align 4, !tbaa !5
  %2086 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2087 = load i32, ptr @test_count, align 4, !tbaa !5
  %2088 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2089 = load i32, ptr %2088, align 4, !tbaa !5
  %2090 = call ptr @s2n_strerror(i32 noundef %2089, ptr noundef @.str.4)
  %2091 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2092 = load i32, ptr %2091, align 4, !tbaa !5
  %2093 = call ptr @s2n_strerror_debug(i32 noundef %2092, ptr noundef @.str.4)
  %2094 = call ptr @__errno_location() #12
  %2095 = load i32, ptr %2094, align 4, !tbaa !5
  %2096 = call ptr @strerror(i32 noundef %2095) #11
  %2097 = call ptr @__errno_location() #12
  %2098 = load i32, ptr %2097, align 4, !tbaa !5
  %2099 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2086, ptr noundef @.str.2, i32 noundef %2087, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 124, ptr noundef %2090, ptr noundef %2093, ptr noundef %2096, i32 noundef %2098) #11
  br label %2117

2100:                                             ; preds = %2078, %2071
  %2101 = load i32, ptr %47, align 4, !tbaa !5
  %2102 = call ptr @__errno_location() #12
  store i32 %2101, ptr %2102, align 4, !tbaa !5
  %2103 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2104 = load i32, ptr @test_count, align 4, !tbaa !5
  %2105 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2106 = load i32, ptr %2105, align 4, !tbaa !5
  %2107 = call ptr @s2n_strerror(i32 noundef %2106, ptr noundef @.str.4)
  %2108 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2109 = load i32, ptr %2108, align 4, !tbaa !5
  %2110 = call ptr @s2n_strerror_debug(i32 noundef %2109, ptr noundef @.str.4)
  %2111 = call ptr @__errno_location() #12
  %2112 = load i32, ptr %2111, align 4, !tbaa !5
  %2113 = call ptr @strerror(i32 noundef %2112) #11
  %2114 = call ptr @__errno_location() #12
  %2115 = load i32, ptr %2114, align 4, !tbaa !5
  %2116 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2103, ptr noundef @.str.5, i32 noundef %2104, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 124, ptr noundef %2107, ptr noundef %2110, ptr noundef %2113, i32 noundef %2115) #11
  br label %2117

2117:                                             ; preds = %2100, %2083
  call void @llvm.lifetime.end.p0(i64 4, ptr %47) #11
  br label %2118

2118:                                             ; preds = %2117
  br label %2119

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

2120:                                             ; No predecessors!
  br label %2121

2121:                                             ; preds = %2120
  br label %2122

2122:                                             ; preds = %2121, %2062
  br label %2123

2123:                                             ; preds = %2122
  br label %2124

2124:                                             ; preds = %2123
  call void @llvm.lifetime.start.p0(i64 8, ptr %48) #11
  %2125 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %2125, ptr %48, align 8, !tbaa !9
  br label %2126

2126:                                             ; preds = %2124
  %2127 = load i32, ptr @test_count, align 4, !tbaa !5
  %2128 = add nsw i32 %2127, 1
  store i32 %2128, ptr @test_count, align 4, !tbaa !5
  %2129 = load ptr, ptr %48, align 8, !tbaa !9
  %2130 = icmp eq ptr %2129, null
  br i1 %2130, label %2131, label %2184

2131:                                             ; preds = %2126
  br label %2132

2132:                                             ; preds = %2131
  br label %2133

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

2140:                                             ; preds = %2133
  %2141 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2142 = call i32 @fileno(ptr noundef %2141) #11
  %2143 = call i32 @isatty(i32 noundef %2142) #11
  %2144 = icmp ne i32 %2143, 0
  br i1 %2144, label %2145, label %2162

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

2162:                                             ; preds = %2140, %2133
  %2163 = load i32, ptr %49, align 4, !tbaa !5
  %2164 = call ptr @__errno_location() #12
  store i32 %2163, ptr %2164, align 4, !tbaa !5
  %2165 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2166 = load i32, ptr @test_count, align 4, !tbaa !5
  %2167 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2168 = load i32, ptr %2167, align 4, !tbaa !5
  %2169 = call ptr @s2n_strerror(i32 noundef %2168, ptr noundef @.str.4)
  %2170 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2171 = load i32, ptr %2170, align 4, !tbaa !5
  %2172 = call ptr @s2n_strerror_debug(i32 noundef %2171, ptr noundef @.str.4)
  %2173 = call ptr @__errno_location() #12
  %2174 = load i32, ptr %2173, align 4, !tbaa !5
  %2175 = call ptr @strerror(i32 noundef %2174) #11
  %2176 = call ptr @__errno_location() #12
  %2177 = load i32, ptr %2176, align 4, !tbaa !5
  %2178 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2165, ptr noundef @.str.5, i32 noundef %2166, ptr noundef @.str.23, ptr noundef @.str.1, i32 noundef 127, ptr noundef %2169, ptr noundef %2172, ptr noundef %2175, i32 noundef %2177) #11
  br label %2179

2179:                                             ; preds = %2162, %2145
  call void @llvm.lifetime.end.p0(i64 4, ptr %49) #11
  br label %2180

2180:                                             ; preds = %2179
  br label %2181

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

2182:                                             ; No predecessors!
  br label %2183

2183:                                             ; preds = %2182
  br label %2184

2184:                                             ; preds = %2183, %2126
  br label %2185

2185:                                             ; preds = %2184
  br label %2186

2186:                                             ; preds = %2185
  br label %2187

2187:                                             ; preds = %2186
  %2188 = load i32, ptr @test_count, align 4, !tbaa !5
  %2189 = add nsw i32 %2188, 1
  store i32 %2189, ptr @test_count, align 4, !tbaa !5
  %2190 = load ptr, ptr %48, align 8, !tbaa !9
  %2191 = load ptr, ptr %15, align 8, !tbaa !9
  %2192 = call i32 @s2n_connection_set_config(ptr noundef %2190, ptr noundef %2191)
  %2193 = icmp eq i32 %2192, -1
  br i1 %2193, label %2194, label %2247

2194:                                             ; preds = %2187
  br label %2195

2195:                                             ; preds = %2194
  br label %2196

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

2203:                                             ; preds = %2196
  %2204 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2205 = call i32 @fileno(ptr noundef %2204) #11
  %2206 = call i32 @isatty(i32 noundef %2205) #11
  %2207 = icmp ne i32 %2206, 0
  br i1 %2207, label %2208, label %2225

2208:                                             ; preds = %2203
  %2209 = load i32, ptr %50, align 4, !tbaa !5
  %2210 = call ptr @__errno_location() #12
  store i32 %2209, ptr %2210, align 4, !tbaa !5
  %2211 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2212 = load i32, ptr @test_count, align 4, !tbaa !5
  %2213 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2214 = load i32, ptr %2213, align 4, !tbaa !5
  %2215 = call ptr @s2n_strerror(i32 noundef %2214, ptr noundef @.str.4)
  %2216 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2217 = load i32, ptr %2216, align 4, !tbaa !5
  %2218 = call ptr @s2n_strerror_debug(i32 noundef %2217, ptr noundef @.str.4)
  %2219 = call ptr @__errno_location() #12
  %2220 = load i32, ptr %2219, align 4, !tbaa !5
  %2221 = call ptr @strerror(i32 noundef %2220) #11
  %2222 = call ptr @__errno_location() #12
  %2223 = load i32, ptr %2222, align 4, !tbaa !5
  %2224 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2211, ptr noundef @.str.2, i32 noundef %2212, ptr noundef @.str.24, ptr noundef @.str.1, i32 noundef 128, ptr noundef %2215, ptr noundef %2218, ptr noundef %2221, i32 noundef %2223) #11
  br label %2242

2225:                                             ; preds = %2203, %2196
  %2226 = load i32, ptr %50, align 4, !tbaa !5
  %2227 = call ptr @__errno_location() #12
  store i32 %2226, ptr %2227, align 4, !tbaa !5
  %2228 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2229 = load i32, ptr @test_count, align 4, !tbaa !5
  %2230 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2231 = load i32, ptr %2230, align 4, !tbaa !5
  %2232 = call ptr @s2n_strerror(i32 noundef %2231, ptr noundef @.str.4)
  %2233 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2234 = load i32, ptr %2233, align 4, !tbaa !5
  %2235 = call ptr @s2n_strerror_debug(i32 noundef %2234, ptr noundef @.str.4)
  %2236 = call ptr @__errno_location() #12
  %2237 = load i32, ptr %2236, align 4, !tbaa !5
  %2238 = call ptr @strerror(i32 noundef %2237) #11
  %2239 = call ptr @__errno_location() #12
  %2240 = load i32, ptr %2239, align 4, !tbaa !5
  %2241 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2228, ptr noundef @.str.5, i32 noundef %2229, ptr noundef @.str.24, ptr noundef @.str.1, i32 noundef 128, ptr noundef %2232, ptr noundef %2235, ptr noundef %2238, i32 noundef %2240) #11
  br label %2242

2242:                                             ; preds = %2225, %2208
  call void @llvm.lifetime.end.p0(i64 4, ptr %50) #11
  br label %2243

2243:                                             ; preds = %2242
  br label %2244

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

2245:                                             ; No predecessors!
  br label %2246

2246:                                             ; preds = %2245
  br label %2247

2247:                                             ; preds = %2246, %2187
  br label %2248

2248:                                             ; preds = %2247
  br label %2249

2249:                                             ; preds = %2248
  call void @llvm.lifetime.start.p0(i64 40, ptr %51) #11
  call void @llvm.memset.p0.i64(ptr align 8 %51, i8 0, i64 40, i1 false)
  call void @llvm.lifetime.start.p0(i64 40, ptr %52) #11
  call void @llvm.memset.p0.i64(ptr align 8 %52, i8 0, i64 40, i1 false)
  br label %2250

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

2255:                                             ; preds = %2250
  br label %2256

2256:                                             ; preds = %2255
  br label %2257

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

2264:                                             ; preds = %2257
  %2265 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2266 = call i32 @fileno(ptr noundef %2265) #11
  %2267 = call i32 @isatty(i32 noundef %2266) #11
  %2268 = icmp ne i32 %2267, 0
  br i1 %2268, label %2269, label %2286

2269:                                             ; preds = %2264
  %2270 = load i32, ptr %53, align 4, !tbaa !5
  %2271 = call ptr @__errno_location() #12
  store i32 %2270, ptr %2271, align 4, !tbaa !5
  %2272 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2273 = load i32, ptr @test_count, align 4, !tbaa !5
  %2274 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2275 = load i32, ptr %2274, align 4, !tbaa !5
  %2276 = call ptr @s2n_strerror(i32 noundef %2275, ptr noundef @.str.4)
  %2277 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2278 = load i32, ptr %2277, align 4, !tbaa !5
  %2279 = call ptr @s2n_strerror_debug(i32 noundef %2278, ptr noundef @.str.4)
  %2280 = call ptr @__errno_location() #12
  %2281 = load i32, ptr %2280, align 4, !tbaa !5
  %2282 = call ptr @strerror(i32 noundef %2281) #11
  %2283 = call ptr @__errno_location() #12
  %2284 = load i32, ptr %2283, align 4, !tbaa !5
  %2285 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2272, ptr noundef @.str.2, i32 noundef %2273, ptr noundef @.str.37, ptr noundef @.str.1, i32 noundef 133, ptr noundef %2276, ptr noundef %2279, ptr noundef %2282, i32 noundef %2284) #11
  br label %2303

2286:                                             ; preds = %2264, %2257
  %2287 = load i32, ptr %53, align 4, !tbaa !5
  %2288 = call ptr @__errno_location() #12
  store i32 %2287, ptr %2288, align 4, !tbaa !5
  %2289 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2290 = load i32, ptr @test_count, align 4, !tbaa !5
  %2291 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2292 = load i32, ptr %2291, align 4, !tbaa !5
  %2293 = call ptr @s2n_strerror(i32 noundef %2292, ptr noundef @.str.4)
  %2294 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2295 = load i32, ptr %2294, align 4, !tbaa !5
  %2296 = call ptr @s2n_strerror_debug(i32 noundef %2295, ptr noundef @.str.4)
  %2297 = call ptr @__errno_location() #12
  %2298 = load i32, ptr %2297, align 4, !tbaa !5
  %2299 = call ptr @strerror(i32 noundef %2298) #11
  %2300 = call ptr @__errno_location() #12
  %2301 = load i32, ptr %2300, align 4, !tbaa !5
  %2302 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2289, ptr noundef @.str.5, i32 noundef %2290, ptr noundef @.str.37, ptr noundef @.str.1, i32 noundef 133, ptr noundef %2293, ptr noundef %2296, ptr noundef %2299, i32 noundef %2301) #11
  br label %2303

2303:                                             ; preds = %2286, %2269
  call void @llvm.lifetime.end.p0(i64 4, ptr %53) #11
  br label %2304

2304:                                             ; preds = %2303
  br label %2305

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

2306:                                             ; No predecessors!
  br label %2307

2307:                                             ; preds = %2306
  br label %2308

2308:                                             ; preds = %2307, %2250
  br label %2309

2309:                                             ; preds = %2308
  br label %2310

2310:                                             ; preds = %2309
  br label %2311

2311:                                             ; preds = %2310
  %2312 = load i32, ptr @test_count, align 4, !tbaa !5
  %2313 = add nsw i32 %2312, 1
  store i32 %2313, ptr @test_count, align 4, !tbaa !5
  %2314 = call i32 @s2n_stuffer_growable_alloc(ptr noundef %52, i32 noundef 0)
  %2315 = icmp eq i32 %2314, -1
  br i1 %2315, label %2316, label %2369

2316:                                             ; preds = %2311
  br label %2317

2317:                                             ; preds = %2316
  br label %2318

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

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

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

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

2364:                                             ; preds = %2347, %2330
  call void @llvm.lifetime.end.p0(i64 4, ptr %54) #11
  br label %2365

2365:                                             ; preds = %2364
  br label %2366

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

2367:                                             ; No predecessors!
  br label %2368

2368:                                             ; preds = %2367
  br label %2369

2369:                                             ; preds = %2368, %2311
  br label %2370

2370:                                             ; preds = %2369
  br label %2371

2371:                                             ; preds = %2370
  br label %2372

2372:                                             ; preds = %2371
  %2373 = load i32, ptr @test_count, align 4, !tbaa !5
  %2374 = add nsw i32 %2373, 1
  store i32 %2374, ptr @test_count, align 4, !tbaa !5
  %2375 = load ptr, ptr %48, align 8, !tbaa !9
  %2376 = call i32 @s2n_connection_set_io_stuffers(ptr noundef %51, ptr noundef %52, ptr noundef %2375)
  %2377 = icmp eq i32 %2376, -1
  br i1 %2377, label %2378, label %2431

2378:                                             ; preds = %2372
  br label %2379

2379:                                             ; preds = %2378
  br label %2380

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

2387:                                             ; preds = %2380
  %2388 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2389 = call i32 @fileno(ptr noundef %2388) #11
  %2390 = call i32 @isatty(i32 noundef %2389) #11
  %2391 = icmp ne i32 %2390, 0
  br i1 %2391, label %2392, label %2409

2392:                                             ; preds = %2387
  %2393 = load i32, ptr %55, align 4, !tbaa !5
  %2394 = call ptr @__errno_location() #12
  store i32 %2393, ptr %2394, align 4, !tbaa !5
  %2395 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2396 = load i32, ptr @test_count, align 4, !tbaa !5
  %2397 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2398 = load i32, ptr %2397, align 4, !tbaa !5
  %2399 = call ptr @s2n_strerror(i32 noundef %2398, ptr noundef @.str.4)
  %2400 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2401 = load i32, ptr %2400, align 4, !tbaa !5
  %2402 = call ptr @s2n_strerror_debug(i32 noundef %2401, ptr noundef @.str.4)
  %2403 = call ptr @__errno_location() #12
  %2404 = load i32, ptr %2403, align 4, !tbaa !5
  %2405 = call ptr @strerror(i32 noundef %2404) #11
  %2406 = call ptr @__errno_location() #12
  %2407 = load i32, ptr %2406, align 4, !tbaa !5
  %2408 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2395, ptr noundef @.str.2, i32 noundef %2396, ptr noundef @.str.39, ptr noundef @.str.1, i32 noundef 135, ptr noundef %2399, ptr noundef %2402, ptr noundef %2405, i32 noundef %2407) #11
  br label %2426

2409:                                             ; preds = %2387, %2380
  %2410 = load i32, ptr %55, align 4, !tbaa !5
  %2411 = call ptr @__errno_location() #12
  store i32 %2410, ptr %2411, align 4, !tbaa !5
  %2412 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2413 = load i32, ptr @test_count, align 4, !tbaa !5
  %2414 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2415 = load i32, ptr %2414, align 4, !tbaa !5
  %2416 = call ptr @s2n_strerror(i32 noundef %2415, ptr noundef @.str.4)
  %2417 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2418 = load i32, ptr %2417, align 4, !tbaa !5
  %2419 = call ptr @s2n_strerror_debug(i32 noundef %2418, ptr noundef @.str.4)
  %2420 = call ptr @__errno_location() #12
  %2421 = load i32, ptr %2420, align 4, !tbaa !5
  %2422 = call ptr @strerror(i32 noundef %2421) #11
  %2423 = call ptr @__errno_location() #12
  %2424 = load i32, ptr %2423, align 4, !tbaa !5
  %2425 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2412, ptr noundef @.str.5, i32 noundef %2413, ptr noundef @.str.39, ptr noundef @.str.1, i32 noundef 135, ptr noundef %2416, ptr noundef %2419, ptr noundef %2422, i32 noundef %2424) #11
  br label %2426

2426:                                             ; preds = %2409, %2392
  call void @llvm.lifetime.end.p0(i64 4, ptr %55) #11
  br label %2427

2427:                                             ; preds = %2426
  br label %2428

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

2429:                                             ; No predecessors!
  br label %2430

2430:                                             ; preds = %2429
  br label %2431

2431:                                             ; preds = %2430, %2372
  br label %2432

2432:                                             ; preds = %2431
  br label %2433

2433:                                             ; preds = %2432
  br label %2434

2434:                                             ; preds = %2433
  %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 ptr, ptr %45, align 8, !tbaa !9
  %2438 = call i32 @s2n_connection_set_io_stuffers(ptr noundef %52, ptr noundef %51, ptr noundef %2437)
  %2439 = icmp eq i32 %2438, -1
  br i1 %2439, label %2440, label %2493

2440:                                             ; preds = %2434
  br label %2441

2441:                                             ; preds = %2440
  br label %2442

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

2449:                                             ; preds = %2442
  %2450 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2451 = call i32 @fileno(ptr noundef %2450) #11
  %2452 = call i32 @isatty(i32 noundef %2451) #11
  %2453 = icmp ne i32 %2452, 0
  br i1 %2453, label %2454, label %2471

2454:                                             ; preds = %2449
  %2455 = load i32, ptr %56, align 4, !tbaa !5
  %2456 = call ptr @__errno_location() #12
  store i32 %2455, ptr %2456, align 4, !tbaa !5
  %2457 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2458 = load i32, ptr @test_count, align 4, !tbaa !5
  %2459 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2460 = load i32, ptr %2459, align 4, !tbaa !5
  %2461 = call ptr @s2n_strerror(i32 noundef %2460, ptr noundef @.str.4)
  %2462 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2463 = load i32, ptr %2462, align 4, !tbaa !5
  %2464 = call ptr @s2n_strerror_debug(i32 noundef %2463, ptr noundef @.str.4)
  %2465 = call ptr @__errno_location() #12
  %2466 = load i32, ptr %2465, align 4, !tbaa !5
  %2467 = call ptr @strerror(i32 noundef %2466) #11
  %2468 = call ptr @__errno_location() #12
  %2469 = load i32, ptr %2468, align 4, !tbaa !5
  %2470 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2457, ptr noundef @.str.2, i32 noundef %2458, ptr noundef @.str.40, ptr noundef @.str.1, i32 noundef 136, ptr noundef %2461, ptr noundef %2464, ptr noundef %2467, i32 noundef %2469) #11
  br label %2488

2471:                                             ; preds = %2449, %2442
  %2472 = load i32, ptr %56, align 4, !tbaa !5
  %2473 = call ptr @__errno_location() #12
  store i32 %2472, ptr %2473, align 4, !tbaa !5
  %2474 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2475 = load i32, ptr @test_count, align 4, !tbaa !5
  %2476 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2477 = load i32, ptr %2476, align 4, !tbaa !5
  %2478 = call ptr @s2n_strerror(i32 noundef %2477, ptr noundef @.str.4)
  %2479 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2480 = load i32, ptr %2479, align 4, !tbaa !5
  %2481 = call ptr @s2n_strerror_debug(i32 noundef %2480, ptr noundef @.str.4)
  %2482 = call ptr @__errno_location() #12
  %2483 = load i32, ptr %2482, align 4, !tbaa !5
  %2484 = call ptr @strerror(i32 noundef %2483) #11
  %2485 = call ptr @__errno_location() #12
  %2486 = load i32, ptr %2485, align 4, !tbaa !5
  %2487 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2474, ptr noundef @.str.5, i32 noundef %2475, ptr noundef @.str.40, ptr noundef @.str.1, i32 noundef 136, ptr noundef %2478, ptr noundef %2481, ptr noundef %2484, i32 noundef %2486) #11
  br label %2488

2488:                                             ; preds = %2471, %2454
  call void @llvm.lifetime.end.p0(i64 4, ptr %56) #11
  br label %2489

2489:                                             ; preds = %2488
  br label %2490

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

2491:                                             ; No predecessors!
  br label %2492

2492:                                             ; preds = %2491
  br label %2493

2493:                                             ; preds = %2492, %2434
  br label %2494

2494:                                             ; preds = %2493
  br label %2495

2495:                                             ; preds = %2494
  br label %2496

2496:                                             ; preds = %2495
  %2497 = load i32, ptr @test_count, align 4, !tbaa !5
  %2498 = add nsw i32 %2497, 1
  store i32 %2498, ptr @test_count, align 4, !tbaa !5
  %2499 = load ptr, ptr %48, align 8, !tbaa !9
  %2500 = getelementptr inbounds %struct.s2n_connection, ptr %2499, i32 0, i32 6
  %2501 = load ptr, ptr %2500, align 8, !tbaa !15
  %2502 = icmp eq ptr %2501, @s2n_socket_write
  br i1 %2502, label %2503, label %2556

2503:                                             ; preds = %2496
  br label %2504

2504:                                             ; preds = %2503
  br label %2505

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

2512:                                             ; preds = %2505
  %2513 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2514 = call i32 @fileno(ptr noundef %2513) #11
  %2515 = call i32 @isatty(i32 noundef %2514) #11
  %2516 = icmp ne i32 %2515, 0
  br i1 %2516, label %2517, label %2534

2517:                                             ; preds = %2512
  %2518 = load i32, ptr %57, align 4, !tbaa !5
  %2519 = call ptr @__errno_location() #12
  store i32 %2518, ptr %2519, align 4, !tbaa !5
  %2520 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2521 = load i32, ptr @test_count, align 4, !tbaa !5
  %2522 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2523 = load i32, ptr %2522, align 4, !tbaa !5
  %2524 = call ptr @s2n_strerror(i32 noundef %2523, ptr noundef @.str.4)
  %2525 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2526 = load i32, ptr %2525, align 4, !tbaa !5
  %2527 = call ptr @s2n_strerror_debug(i32 noundef %2526, ptr noundef @.str.4)
  %2528 = call ptr @__errno_location() #12
  %2529 = load i32, ptr %2528, align 4, !tbaa !5
  %2530 = call ptr @strerror(i32 noundef %2529) #11
  %2531 = call ptr @__errno_location() #12
  %2532 = load i32, ptr %2531, align 4, !tbaa !5
  %2533 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2520, ptr noundef @.str.2, i32 noundef %2521, ptr noundef @.str.41, ptr noundef @.str.1, i32 noundef 137, ptr noundef %2524, ptr noundef %2527, ptr noundef %2530, i32 noundef %2532) #11
  br label %2551

2534:                                             ; preds = %2512, %2505
  %2535 = load i32, ptr %57, align 4, !tbaa !5
  %2536 = call ptr @__errno_location() #12
  store i32 %2535, ptr %2536, align 4, !tbaa !5
  %2537 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2538 = load i32, ptr @test_count, align 4, !tbaa !5
  %2539 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2540 = load i32, ptr %2539, align 4, !tbaa !5
  %2541 = call ptr @s2n_strerror(i32 noundef %2540, ptr noundef @.str.4)
  %2542 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2543 = load i32, ptr %2542, align 4, !tbaa !5
  %2544 = call ptr @s2n_strerror_debug(i32 noundef %2543, ptr noundef @.str.4)
  %2545 = call ptr @__errno_location() #12
  %2546 = load i32, ptr %2545, align 4, !tbaa !5
  %2547 = call ptr @strerror(i32 noundef %2546) #11
  %2548 = call ptr @__errno_location() #12
  %2549 = load i32, ptr %2548, align 4, !tbaa !5
  %2550 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2537, ptr noundef @.str.5, i32 noundef %2538, ptr noundef @.str.41, ptr noundef @.str.1, i32 noundef 137, ptr noundef %2541, ptr noundef %2544, ptr noundef %2547, i32 noundef %2549) #11
  br label %2551

2551:                                             ; preds = %2534, %2517
  call void @llvm.lifetime.end.p0(i64 4, ptr %57) #11
  br label %2552

2552:                                             ; preds = %2551
  br label %2553

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

2554:                                             ; No predecessors!
  br label %2555

2555:                                             ; preds = %2554
  br label %2556

2556:                                             ; preds = %2555, %2496
  br label %2557

2557:                                             ; preds = %2556
  br label %2558

2558:                                             ; preds = %2557
  br label %2559

2559:                                             ; preds = %2558
  %2560 = load i32, ptr @test_count, align 4, !tbaa !5
  %2561 = add nsw i32 %2560, 1
  store i32 %2561, ptr @test_count, align 4, !tbaa !5
  %2562 = load ptr, ptr %48, align 8, !tbaa !9
  %2563 = load i32, ptr %2562, align 8
  %2564 = lshr i32 %2563, 8
  %2565 = and i32 %2564, 1
  %2566 = icmp ne i32 %2565, 0
  br i1 %2566, label %2567, label %2620

2567:                                             ; preds = %2559
  br label %2568

2568:                                             ; preds = %2567
  br label %2569

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

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

2581:                                             ; preds = %2576
  %2582 = load i32, ptr %58, 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.4)
  %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.4)
  %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.2, i32 noundef %2585, ptr noundef @.str.42, ptr noundef @.str.1, i32 noundef 138, ptr noundef %2588, ptr noundef %2591, ptr noundef %2594, i32 noundef %2596) #11
  br label %2615

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

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

2616:                                             ; preds = %2615
  br label %2617

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

2618:                                             ; No predecessors!
  br label %2619

2619:                                             ; preds = %2618
  br label %2620

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

2621:                                             ; preds = %2620
  br label %2622

2622:                                             ; preds = %2621
  br label %2623

2623:                                             ; preds = %2622
  %2624 = load i32, ptr @test_count, align 4, !tbaa !5
  %2625 = add nsw i32 %2624, 1
  store i32 %2625, ptr @test_count, align 4, !tbaa !5
  %2626 = load ptr, ptr %48, align 8, !tbaa !9
  %2627 = getelementptr inbounds %struct.s2n_connection, ptr %2626, i32 0, i32 7
  %2628 = load ptr, ptr %2627, align 8, !tbaa !42
  %2629 = icmp eq ptr %2628, @s2n_socket_read
  br i1 %2629, label %2630, label %2683

2630:                                             ; preds = %2623
  br label %2631

2631:                                             ; preds = %2630
  br label %2632

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

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

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

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

2678:                                             ; preds = %2661, %2644
  call void @llvm.lifetime.end.p0(i64 4, ptr %59) #11
  br label %2679

2679:                                             ; preds = %2678
  br label %2680

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

2681:                                             ; No predecessors!
  br label %2682

2682:                                             ; preds = %2681
  br label %2683

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

2684:                                             ; preds = %2683
  br label %2685

2685:                                             ; preds = %2684
  br label %2686

2686:                                             ; preds = %2685
  %2687 = load i32, ptr @test_count, align 4, !tbaa !5
  %2688 = add nsw i32 %2687, 1
  store i32 %2688, ptr @test_count, align 4, !tbaa !5
  %2689 = load ptr, ptr %48, align 8, !tbaa !9
  %2690 = load i32, ptr %2689, align 8
  %2691 = lshr i32 %2690, 9
  %2692 = and i32 %2691, 1
  %2693 = icmp ne i32 %2692, 0
  br i1 %2693, label %2694, label %2747

2694:                                             ; preds = %2686
  br label %2695

2695:                                             ; preds = %2694
  br label %2696

2696:                                             ; preds = %2695
  call void @llvm.lifetime.start.p0(i64 4, ptr %60) #11
  %2697 = call ptr @__errno_location() #12
  %2698 = load i32, ptr %2697, align 4, !tbaa !5
  store i32 %2698, ptr %60, align 4, !tbaa !5
  %2699 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2700 = call i32 @s2n_print_stacktrace(ptr noundef %2699)
  %2701 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2702 = trunc i8 %2701 to i1
  br i1 %2702, label %2703, label %2725

2703:                                             ; preds = %2696
  %2704 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2705 = call i32 @fileno(ptr noundef %2704) #11
  %2706 = call i32 @isatty(i32 noundef %2705) #11
  %2707 = icmp ne i32 %2706, 0
  br i1 %2707, label %2708, label %2725

2708:                                             ; preds = %2703
  %2709 = load i32, ptr %60, align 4, !tbaa !5
  %2710 = call ptr @__errno_location() #12
  store i32 %2709, ptr %2710, align 4, !tbaa !5
  %2711 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2712 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %2714, ptr noundef @.str.4)
  %2716 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2717 = load i32, ptr %2716, align 4, !tbaa !5
  %2718 = call ptr @s2n_strerror_debug(i32 noundef %2717, ptr noundef @.str.4)
  %2719 = call ptr @__errno_location() #12
  %2720 = load i32, ptr %2719, align 4, !tbaa !5
  %2721 = call ptr @strerror(i32 noundef %2720) #11
  %2722 = call ptr @__errno_location() #12
  %2723 = load i32, ptr %2722, align 4, !tbaa !5
  %2724 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2711, ptr noundef @.str.2, i32 noundef %2712, ptr noundef @.str.44, ptr noundef @.str.1, i32 noundef 140, ptr noundef %2715, ptr noundef %2718, ptr noundef %2721, i32 noundef %2723) #11
  br label %2742

2725:                                             ; preds = %2703, %2696
  %2726 = load i32, ptr %60, align 4, !tbaa !5
  %2727 = call ptr @__errno_location() #12
  store i32 %2726, ptr %2727, align 4, !tbaa !5
  %2728 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2729 = load i32, ptr @test_count, align 4, !tbaa !5
  %2730 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2731 = load i32, ptr %2730, align 4, !tbaa !5
  %2732 = call ptr @s2n_strerror(i32 noundef %2731, ptr noundef @.str.4)
  %2733 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2734 = load i32, ptr %2733, align 4, !tbaa !5
  %2735 = call ptr @s2n_strerror_debug(i32 noundef %2734, ptr noundef @.str.4)
  %2736 = call ptr @__errno_location() #12
  %2737 = load i32, ptr %2736, align 4, !tbaa !5
  %2738 = call ptr @strerror(i32 noundef %2737) #11
  %2739 = call ptr @__errno_location() #12
  %2740 = load i32, ptr %2739, align 4, !tbaa !5
  %2741 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2728, ptr noundef @.str.5, i32 noundef %2729, ptr noundef @.str.44, ptr noundef @.str.1, i32 noundef 140, ptr noundef %2732, ptr noundef %2735, ptr noundef %2738, i32 noundef %2740) #11
  br label %2742

2742:                                             ; preds = %2725, %2708
  call void @llvm.lifetime.end.p0(i64 4, ptr %60) #11
  br label %2743

2743:                                             ; preds = %2742
  br label %2744

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

2745:                                             ; No predecessors!
  br label %2746

2746:                                             ; preds = %2745
  br label %2747

2747:                                             ; preds = %2746, %2686
  br label %2748

2748:                                             ; preds = %2747
  br label %2749

2749:                                             ; preds = %2748
  br label %2750

2750:                                             ; preds = %2749
  %2751 = load i32, ptr @test_count, align 4, !tbaa !5
  %2752 = add nsw i32 %2751, 1
  store i32 %2752, ptr @test_count, align 4, !tbaa !5
  %2753 = load ptr, ptr %45, align 8, !tbaa !9
  %2754 = load ptr, ptr %48, align 8, !tbaa !9
  %2755 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef %2753, ptr noundef %2754)
  %2756 = icmp eq i32 %2755, -1
  br i1 %2756, label %2757, label %2810

2757:                                             ; preds = %2750
  br label %2758

2758:                                             ; preds = %2757
  br label %2759

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

2766:                                             ; preds = %2759
  %2767 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2768 = call i32 @fileno(ptr noundef %2767) #11
  %2769 = call i32 @isatty(i32 noundef %2768) #11
  %2770 = icmp ne i32 %2769, 0
  br i1 %2770, label %2771, label %2788

2771:                                             ; preds = %2766
  %2772 = load i32, ptr %61, align 4, !tbaa !5
  %2773 = call ptr @__errno_location() #12
  store i32 %2772, ptr %2773, align 4, !tbaa !5
  %2774 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2775 = load i32, ptr @test_count, align 4, !tbaa !5
  %2776 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2777 = load i32, ptr %2776, align 4, !tbaa !5
  %2778 = call ptr @s2n_strerror(i32 noundef %2777, ptr noundef @.str.4)
  %2779 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2780 = load i32, ptr %2779, align 4, !tbaa !5
  %2781 = call ptr @s2n_strerror_debug(i32 noundef %2780, ptr noundef @.str.4)
  %2782 = call ptr @__errno_location() #12
  %2783 = load i32, ptr %2782, align 4, !tbaa !5
  %2784 = call ptr @strerror(i32 noundef %2783) #11
  %2785 = call ptr @__errno_location() #12
  %2786 = load i32, ptr %2785, align 4, !tbaa !5
  %2787 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2774, ptr noundef @.str.2, i32 noundef %2775, ptr noundef @.str.32, ptr noundef @.str.1, i32 noundef 142, ptr noundef %2778, ptr noundef %2781, ptr noundef %2784, i32 noundef %2786) #11
  br label %2805

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

2805:                                             ; preds = %2788, %2771
  call void @llvm.lifetime.end.p0(i64 4, ptr %61) #11
  br label %2806

2806:                                             ; preds = %2805
  br label %2807

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

2808:                                             ; No predecessors!
  br label %2809

2809:                                             ; preds = %2808
  br label %2810

2810:                                             ; preds = %2809, %2750
  br label %2811

2811:                                             ; preds = %2810
  br label %2812

2812:                                             ; preds = %2811
  br label %2813

2813:                                             ; preds = %2812
  %2814 = load i32, ptr @test_count, align 4, !tbaa !5
  %2815 = add nsw i32 %2814, 1
  store i32 %2815, ptr @test_count, align 4, !tbaa !5
  %2816 = load ptr, ptr %48, align 8, !tbaa !9
  %2817 = call i32 @s2n_renegotiate_wipe(ptr noundef %2816)
  %2818 = icmp eq i32 %2817, -1
  br i1 %2818, label %2819, label %2872

2819:                                             ; preds = %2813
  br label %2820

2820:                                             ; preds = %2819
  br label %2821

2821:                                             ; preds = %2820
  call void @llvm.lifetime.start.p0(i64 4, ptr %62) #11
  %2822 = call ptr @__errno_location() #12
  %2823 = load i32, ptr %2822, align 4, !tbaa !5
  store i32 %2823, ptr %62, align 4, !tbaa !5
  %2824 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2825 = call i32 @s2n_print_stacktrace(ptr noundef %2824)
  %2826 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2827 = trunc i8 %2826 to i1
  br i1 %2827, label %2828, label %2850

2828:                                             ; preds = %2821
  %2829 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2830 = call i32 @fileno(ptr noundef %2829) #11
  %2831 = call i32 @isatty(i32 noundef %2830) #11
  %2832 = icmp ne i32 %2831, 0
  br i1 %2832, label %2833, label %2850

2833:                                             ; preds = %2828
  %2834 = load i32, ptr %62, align 4, !tbaa !5
  %2835 = call ptr @__errno_location() #12
  store i32 %2834, ptr %2835, align 4, !tbaa !5
  %2836 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2837 = load i32, ptr @test_count, align 4, !tbaa !5
  %2838 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2839 = load i32, ptr %2838, align 4, !tbaa !5
  %2840 = call ptr @s2n_strerror(i32 noundef %2839, ptr noundef @.str.4)
  %2841 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2842 = load i32, ptr %2841, align 4, !tbaa !5
  %2843 = call ptr @s2n_strerror_debug(i32 noundef %2842, ptr noundef @.str.4)
  %2844 = call ptr @__errno_location() #12
  %2845 = load i32, ptr %2844, align 4, !tbaa !5
  %2846 = call ptr @strerror(i32 noundef %2845) #11
  %2847 = call ptr @__errno_location() #12
  %2848 = load i32, ptr %2847, align 4, !tbaa !5
  %2849 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2836, ptr noundef @.str.2, i32 noundef %2837, ptr noundef @.str.33, ptr noundef @.str.1, i32 noundef 143, ptr noundef %2840, ptr noundef %2843, ptr noundef %2846, i32 noundef %2848) #11
  br label %2867

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

2867:                                             ; preds = %2850, %2833
  call void @llvm.lifetime.end.p0(i64 4, ptr %62) #11
  br label %2868

2868:                                             ; preds = %2867
  br label %2869

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

2870:                                             ; No predecessors!
  br label %2871

2871:                                             ; preds = %2870
  br label %2872

2872:                                             ; preds = %2871, %2813
  br label %2873

2873:                                             ; preds = %2872
  br label %2874

2874:                                             ; preds = %2873
  call void @llvm.lifetime.start.p0(i64 20, ptr %63) #11
  call void @llvm.memset.p0.i64(ptr align 16 %63, i8 0, i64 20, i1 false)
  br label %2875

2875:                                             ; preds = %2874
  %2876 = load i32, ptr @test_count, align 4, !tbaa !5
  %2877 = add nsw i32 %2876, 1
  store i32 %2877, ptr @test_count, align 4, !tbaa !5
  %2878 = load ptr, ptr %45, align 8, !tbaa !9
  %2879 = getelementptr inbounds [20 x i8], ptr %20, i64 0, i64 0
  %2880 = call i64 @s2n_send(ptr noundef %2878, ptr noundef %2879, i64 noundef 20, ptr noundef %22)
  %2881 = icmp eq i64 %2880, 20
  br i1 %2881, label %2935, label %2882

2882:                                             ; preds = %2875
  br label %2883

2883:                                             ; preds = %2882
  br label %2884

2884:                                             ; preds = %2883
  call void @llvm.lifetime.start.p0(i64 4, ptr %64) #11
  %2885 = call ptr @__errno_location() #12
  %2886 = load i32, ptr %2885, align 4, !tbaa !5
  store i32 %2886, ptr %64, align 4, !tbaa !5
  %2887 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2888 = call i32 @s2n_print_stacktrace(ptr noundef %2887)
  %2889 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2890 = trunc i8 %2889 to i1
  br i1 %2890, label %2891, label %2913

2891:                                             ; preds = %2884
  %2892 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2893 = call i32 @fileno(ptr noundef %2892) #11
  %2894 = call i32 @isatty(i32 noundef %2893) #11
  %2895 = icmp ne i32 %2894, 0
  br i1 %2895, label %2896, label %2913

2896:                                             ; preds = %2891
  %2897 = load i32, ptr %64, align 4, !tbaa !5
  %2898 = call ptr @__errno_location() #12
  store i32 %2897, ptr %2898, align 4, !tbaa !5
  %2899 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2900 = load i32, ptr @test_count, align 4, !tbaa !5
  %2901 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2902 = load i32, ptr %2901, align 4, !tbaa !5
  %2903 = call ptr @s2n_strerror(i32 noundef %2902, ptr noundef @.str.4)
  %2904 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2905 = load i32, ptr %2904, align 4, !tbaa !5
  %2906 = call ptr @s2n_strerror_debug(i32 noundef %2905, ptr noundef @.str.4)
  %2907 = call ptr @__errno_location() #12
  %2908 = load i32, ptr %2907, align 4, !tbaa !5
  %2909 = call ptr @strerror(i32 noundef %2908) #11
  %2910 = call ptr @__errno_location() #12
  %2911 = load i32, ptr %2910, align 4, !tbaa !5
  %2912 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2899, ptr noundef @.str.2, i32 noundef %2900, ptr noundef @.str.34, ptr noundef @.str.1, i32 noundef 146, ptr noundef %2903, ptr noundef %2906, ptr noundef %2909, i32 noundef %2911) #11
  br label %2930

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

2930:                                             ; preds = %2913, %2896
  call void @llvm.lifetime.end.p0(i64 4, ptr %64) #11
  br label %2931

2931:                                             ; preds = %2930
  br label %2932

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

2933:                                             ; No predecessors!
  br label %2934

2934:                                             ; preds = %2933
  br label %2935

2935:                                             ; preds = %2934, %2875
  br label %2936

2936:                                             ; preds = %2935
  br label %2937

2937:                                             ; preds = %2936
  br label %2938

2938:                                             ; preds = %2937
  %2939 = load i32, ptr @test_count, align 4, !tbaa !5
  %2940 = add nsw i32 %2939, 1
  store i32 %2940, ptr @test_count, align 4, !tbaa !5
  %2941 = load ptr, ptr %48, align 8, !tbaa !9
  %2942 = getelementptr inbounds [20 x i8], ptr %63, i64 0, i64 0
  %2943 = call i64 @s2n_recv(ptr noundef %2941, ptr noundef %2942, i64 noundef 20, ptr noundef %22)
  %2944 = icmp eq i64 %2943, 20
  br i1 %2944, label %2998, label %2945

2945:                                             ; preds = %2938
  br label %2946

2946:                                             ; preds = %2945
  br label %2947

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

2954:                                             ; preds = %2947
  %2955 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2956 = call i32 @fileno(ptr noundef %2955) #11
  %2957 = call i32 @isatty(i32 noundef %2956) #11
  %2958 = icmp ne i32 %2957, 0
  br i1 %2958, label %2959, label %2976

2959:                                             ; preds = %2954
  %2960 = load i32, ptr %65, align 4, !tbaa !5
  %2961 = call ptr @__errno_location() #12
  store i32 %2960, ptr %2961, align 4, !tbaa !5
  %2962 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2963 = load i32, ptr @test_count, align 4, !tbaa !5
  %2964 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2965 = load i32, ptr %2964, align 4, !tbaa !5
  %2966 = call ptr @s2n_strerror(i32 noundef %2965, ptr noundef @.str.4)
  %2967 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2968 = load i32, ptr %2967, align 4, !tbaa !5
  %2969 = call ptr @s2n_strerror_debug(i32 noundef %2968, ptr noundef @.str.4)
  %2970 = call ptr @__errno_location() #12
  %2971 = load i32, ptr %2970, align 4, !tbaa !5
  %2972 = call ptr @strerror(i32 noundef %2971) #11
  %2973 = call ptr @__errno_location() #12
  %2974 = load i32, ptr %2973, align 4, !tbaa !5
  %2975 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2962, ptr noundef @.str.2, i32 noundef %2963, ptr noundef @.str.35, ptr noundef @.str.1, i32 noundef 147, ptr noundef %2966, ptr noundef %2969, ptr noundef %2972, i32 noundef %2974) #11
  br label %2993

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

2993:                                             ; preds = %2976, %2959
  call void @llvm.lifetime.end.p0(i64 4, ptr %65) #11
  br label %2994

2994:                                             ; preds = %2993
  br label %2995

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

2996:                                             ; No predecessors!
  br label %2997

2997:                                             ; preds = %2996
  br label %2998

2998:                                             ; preds = %2997, %2938
  br label %2999

2999:                                             ; preds = %2998
  br label %3000

3000:                                             ; preds = %2999
  br label %3001

3001:                                             ; preds = %3000
  br label %3002

3002:                                             ; preds = %3001
  %3003 = load i32, ptr @test_count, align 4, !tbaa !5
  %3004 = add nsw i32 %3003, 1
  store i32 %3004, ptr @test_count, align 4, !tbaa !5
  %3005 = getelementptr inbounds [20 x i8], ptr %63, i64 0, i64 0
  %3006 = getelementptr inbounds [20 x i8], ptr %20, i64 0, i64 0
  %3007 = call i32 @memcmp(ptr noundef %3005, ptr noundef %3006, i64 noundef 20) #14
  %3008 = icmp eq i32 %3007, 0
  br i1 %3008, label %3062, label %3009

3009:                                             ; preds = %3002
  br label %3010

3010:                                             ; preds = %3009
  br label %3011

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

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

3023:                                             ; preds = %3018
  %3024 = load i32, ptr %66, align 4, !tbaa !5
  %3025 = call ptr @__errno_location() #12
  store i32 %3024, ptr %3025, align 4, !tbaa !5
  %3026 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3027 = load i32, ptr @test_count, align 4, !tbaa !5
  %3028 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3029 = load i32, ptr %3028, align 4, !tbaa !5
  %3030 = call ptr @s2n_strerror(i32 noundef %3029, ptr noundef @.str.4)
  %3031 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3032 = load i32, ptr %3031, align 4, !tbaa !5
  %3033 = call ptr @s2n_strerror_debug(i32 noundef %3032, ptr noundef @.str.4)
  %3034 = call ptr @__errno_location() #12
  %3035 = load i32, ptr %3034, align 4, !tbaa !5
  %3036 = call ptr @strerror(i32 noundef %3035) #11
  %3037 = call ptr @__errno_location() #12
  %3038 = load i32, ptr %3037, align 4, !tbaa !5
  %3039 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3026, ptr noundef @.str.2, i32 noundef %3027, ptr noundef @.str.36, ptr noundef @.str.1, i32 noundef 148, ptr noundef %3030, ptr noundef %3033, ptr noundef %3036, i32 noundef %3038) #11
  br label %3057

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

3057:                                             ; preds = %3040, %3023
  call void @llvm.lifetime.end.p0(i64 4, ptr %66) #11
  br label %3058

3058:                                             ; preds = %3057
  br label %3059

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

3060:                                             ; No predecessors!
  br label %3061

3061:                                             ; preds = %3060
  br label %3062

3062:                                             ; preds = %3061, %3002
  br label %3063

3063:                                             ; preds = %3062
  br label %3064

3064:                                             ; preds = %3063
  br label %3065

3065:                                             ; preds = %3064
  br label %3066

3066:                                             ; preds = %3065
  call void @llvm.lifetime.end.p0(i64 20, ptr %63) #11
  %3067 = call i32 @s2n_stuffer_free(ptr noundef %52)
  call void @llvm.lifetime.end.p0(i64 40, ptr %52) #11
  %3068 = call i32 @s2n_stuffer_free(ptr noundef %51)
  call void @llvm.lifetime.end.p0(i64 40, ptr %51) #11
  %3069 = call i32 @s2n_connection_ptr_free(ptr noundef %48)
  %3070 = getelementptr inbounds %struct.s2n_result, ptr %67, i32 0, i32 0
  store i32 %3069, ptr %3070, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %48) #11
  %3071 = call i32 @s2n_connection_ptr_free(ptr noundef %45)
  %3072 = getelementptr inbounds %struct.s2n_result, ptr %68, i32 0, i32 0
  store i32 %3071, ptr %3072, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %45) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %69) #11
  %3073 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %3073, ptr %69, align 8, !tbaa !9
  br label %3074

3074:                                             ; preds = %3066
  %3075 = load i32, ptr @test_count, align 4, !tbaa !5
  %3076 = add nsw i32 %3075, 1
  store i32 %3076, ptr @test_count, align 4, !tbaa !5
  %3077 = load ptr, ptr %69, align 8, !tbaa !9
  %3078 = icmp eq ptr %3077, null
  br i1 %3078, label %3079, label %3132

3079:                                             ; preds = %3074
  br label %3080

3080:                                             ; preds = %3079
  br label %3081

3081:                                             ; preds = %3080
  call void @llvm.lifetime.start.p0(i64 4, ptr %70) #11
  %3082 = call ptr @__errno_location() #12
  %3083 = load i32, ptr %3082, align 4, !tbaa !5
  store i32 %3083, ptr %70, align 4, !tbaa !5
  %3084 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3085 = call i32 @s2n_print_stacktrace(ptr noundef %3084)
  %3086 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3087 = trunc i8 %3086 to i1
  br i1 %3087, label %3088, label %3110

3088:                                             ; preds = %3081
  %3089 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3090 = call i32 @fileno(ptr noundef %3089) #11
  %3091 = call i32 @isatty(i32 noundef %3090) #11
  %3092 = icmp ne i32 %3091, 0
  br i1 %3092, label %3093, label %3110

3093:                                             ; preds = %3088
  %3094 = load i32, ptr %70, align 4, !tbaa !5
  %3095 = call ptr @__errno_location() #12
  store i32 %3094, ptr %3095, align 4, !tbaa !5
  %3096 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3097 = load i32, ptr @test_count, align 4, !tbaa !5
  %3098 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3099 = load i32, ptr %3098, align 4, !tbaa !5
  %3100 = call ptr @s2n_strerror(i32 noundef %3099, ptr noundef @.str.4)
  %3101 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3102 = load i32, ptr %3101, align 4, !tbaa !5
  %3103 = call ptr @s2n_strerror_debug(i32 noundef %3102, ptr noundef @.str.4)
  %3104 = call ptr @__errno_location() #12
  %3105 = load i32, ptr %3104, align 4, !tbaa !5
  %3106 = call ptr @strerror(i32 noundef %3105) #11
  %3107 = call ptr @__errno_location() #12
  %3108 = load i32, ptr %3107, align 4, !tbaa !5
  %3109 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3096, ptr noundef @.str.2, i32 noundef %3097, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 154, ptr noundef %3100, ptr noundef %3103, ptr noundef %3106, i32 noundef %3108) #11
  br label %3127

3110:                                             ; preds = %3088, %3081
  %3111 = load i32, ptr %70, align 4, !tbaa !5
  %3112 = call ptr @__errno_location() #12
  store i32 %3111, ptr %3112, align 4, !tbaa !5
  %3113 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3114 = load i32, ptr @test_count, align 4, !tbaa !5
  %3115 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3116 = load i32, ptr %3115, align 4, !tbaa !5
  %3117 = call ptr @s2n_strerror(i32 noundef %3116, ptr noundef @.str.4)
  %3118 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3119 = load i32, ptr %3118, align 4, !tbaa !5
  %3120 = call ptr @s2n_strerror_debug(i32 noundef %3119, ptr noundef @.str.4)
  %3121 = call ptr @__errno_location() #12
  %3122 = load i32, ptr %3121, align 4, !tbaa !5
  %3123 = call ptr @strerror(i32 noundef %3122) #11
  %3124 = call ptr @__errno_location() #12
  %3125 = load i32, ptr %3124, align 4, !tbaa !5
  %3126 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3113, ptr noundef @.str.5, i32 noundef %3114, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 154, ptr noundef %3117, ptr noundef %3120, ptr noundef %3123, i32 noundef %3125) #11
  br label %3127

3127:                                             ; preds = %3110, %3093
  call void @llvm.lifetime.end.p0(i64 4, ptr %70) #11
  br label %3128

3128:                                             ; preds = %3127
  br label %3129

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

3130:                                             ; No predecessors!
  br label %3131

3131:                                             ; preds = %3130
  br label %3132

3132:                                             ; preds = %3131, %3074
  br label %3133

3133:                                             ; preds = %3132
  br label %3134

3134:                                             ; preds = %3133
  br label %3135

3135:                                             ; preds = %3134
  %3136 = load i32, ptr @test_count, align 4, !tbaa !5
  %3137 = add nsw i32 %3136, 1
  store i32 %3137, ptr @test_count, align 4, !tbaa !5
  %3138 = load ptr, ptr %69, align 8, !tbaa !9
  %3139 = load ptr, ptr %15, align 8, !tbaa !9
  %3140 = call i32 @s2n_connection_set_config(ptr noundef %3138, ptr noundef %3139)
  %3141 = icmp eq i32 %3140, -1
  br i1 %3141, label %3142, label %3195

3142:                                             ; preds = %3135
  br label %3143

3143:                                             ; preds = %3142
  br label %3144

3144:                                             ; preds = %3143
  call void @llvm.lifetime.start.p0(i64 4, ptr %71) #11
  %3145 = call ptr @__errno_location() #12
  %3146 = load i32, ptr %3145, align 4, !tbaa !5
  store i32 %3146, ptr %71, align 4, !tbaa !5
  %3147 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3148 = call i32 @s2n_print_stacktrace(ptr noundef %3147)
  %3149 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3150 = trunc i8 %3149 to i1
  br i1 %3150, label %3151, label %3173

3151:                                             ; preds = %3144
  %3152 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3153 = call i32 @fileno(ptr noundef %3152) #11
  %3154 = call i32 @isatty(i32 noundef %3153) #11
  %3155 = icmp ne i32 %3154, 0
  br i1 %3155, label %3156, label %3173

3156:                                             ; preds = %3151
  %3157 = load i32, ptr %71, align 4, !tbaa !5
  %3158 = call ptr @__errno_location() #12
  store i32 %3157, ptr %3158, align 4, !tbaa !5
  %3159 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3160 = load i32, ptr @test_count, align 4, !tbaa !5
  %3161 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3162 = load i32, ptr %3161, align 4, !tbaa !5
  %3163 = call ptr @s2n_strerror(i32 noundef %3162, ptr noundef @.str.4)
  %3164 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3165 = load i32, ptr %3164, align 4, !tbaa !5
  %3166 = call ptr @s2n_strerror_debug(i32 noundef %3165, ptr noundef @.str.4)
  %3167 = call ptr @__errno_location() #12
  %3168 = load i32, ptr %3167, align 4, !tbaa !5
  %3169 = call ptr @strerror(i32 noundef %3168) #11
  %3170 = call ptr @__errno_location() #12
  %3171 = load i32, ptr %3170, align 4, !tbaa !5
  %3172 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3159, ptr noundef @.str.2, i32 noundef %3160, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 155, ptr noundef %3163, ptr noundef %3166, ptr noundef %3169, i32 noundef %3171) #11
  br label %3190

3173:                                             ; preds = %3151, %3144
  %3174 = load i32, ptr %71, align 4, !tbaa !5
  %3175 = call ptr @__errno_location() #12
  store i32 %3174, ptr %3175, align 4, !tbaa !5
  %3176 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3177 = load i32, ptr @test_count, align 4, !tbaa !5
  %3178 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3179 = load i32, ptr %3178, align 4, !tbaa !5
  %3180 = call ptr @s2n_strerror(i32 noundef %3179, ptr noundef @.str.4)
  %3181 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3182 = load i32, ptr %3181, align 4, !tbaa !5
  %3183 = call ptr @s2n_strerror_debug(i32 noundef %3182, ptr noundef @.str.4)
  %3184 = call ptr @__errno_location() #12
  %3185 = load i32, ptr %3184, align 4, !tbaa !5
  %3186 = call ptr @strerror(i32 noundef %3185) #11
  %3187 = call ptr @__errno_location() #12
  %3188 = load i32, ptr %3187, align 4, !tbaa !5
  %3189 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3176, ptr noundef @.str.5, i32 noundef %3177, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 155, ptr noundef %3180, ptr noundef %3183, ptr noundef %3186, i32 noundef %3188) #11
  br label %3190

3190:                                             ; preds = %3173, %3156
  call void @llvm.lifetime.end.p0(i64 4, ptr %71) #11
  br label %3191

3191:                                             ; preds = %3190
  br label %3192

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

3193:                                             ; No predecessors!
  br label %3194

3194:                                             ; preds = %3193
  br label %3195

3195:                                             ; preds = %3194, %3135
  br label %3196

3196:                                             ; preds = %3195
  br label %3197

3197:                                             ; preds = %3196
  call void @llvm.lifetime.start.p0(i64 8, ptr %72) #11
  %3198 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %3198, ptr %72, align 8, !tbaa !9
  br label %3199

3199:                                             ; preds = %3197
  %3200 = load i32, ptr @test_count, align 4, !tbaa !5
  %3201 = add nsw i32 %3200, 1
  store i32 %3201, ptr @test_count, align 4, !tbaa !5
  %3202 = load ptr, ptr %72, align 8, !tbaa !9
  %3203 = icmp eq ptr %3202, null
  br i1 %3203, label %3204, label %3257

3204:                                             ; preds = %3199
  br label %3205

3205:                                             ; preds = %3204
  br label %3206

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

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

3218:                                             ; preds = %3213
  %3219 = load i32, ptr %73, align 4, !tbaa !5
  %3220 = call ptr @__errno_location() #12
  store i32 %3219, ptr %3220, align 4, !tbaa !5
  %3221 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3222 = load i32, ptr @test_count, align 4, !tbaa !5
  %3223 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3224 = load i32, ptr %3223, align 4, !tbaa !5
  %3225 = call ptr @s2n_strerror(i32 noundef %3224, ptr noundef @.str.4)
  %3226 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3227 = load i32, ptr %3226, align 4, !tbaa !5
  %3228 = call ptr @s2n_strerror_debug(i32 noundef %3227, ptr noundef @.str.4)
  %3229 = call ptr @__errno_location() #12
  %3230 = load i32, ptr %3229, align 4, !tbaa !5
  %3231 = call ptr @strerror(i32 noundef %3230) #11
  %3232 = call ptr @__errno_location() #12
  %3233 = load i32, ptr %3232, align 4, !tbaa !5
  %3234 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3221, ptr noundef @.str.2, i32 noundef %3222, ptr noundef @.str.23, ptr noundef @.str.1, i32 noundef 158, ptr noundef %3225, ptr noundef %3228, ptr noundef %3231, i32 noundef %3233) #11
  br label %3252

3235:                                             ; preds = %3213, %3206
  %3236 = load i32, ptr %73, align 4, !tbaa !5
  %3237 = call ptr @__errno_location() #12
  store i32 %3236, ptr %3237, align 4, !tbaa !5
  %3238 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3239 = load i32, ptr @test_count, align 4, !tbaa !5
  %3240 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3241 = load i32, ptr %3240, align 4, !tbaa !5
  %3242 = call ptr @s2n_strerror(i32 noundef %3241, ptr noundef @.str.4)
  %3243 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3244 = load i32, ptr %3243, align 4, !tbaa !5
  %3245 = call ptr @s2n_strerror_debug(i32 noundef %3244, ptr noundef @.str.4)
  %3246 = call ptr @__errno_location() #12
  %3247 = load i32, ptr %3246, align 4, !tbaa !5
  %3248 = call ptr @strerror(i32 noundef %3247) #11
  %3249 = call ptr @__errno_location() #12
  %3250 = load i32, ptr %3249, align 4, !tbaa !5
  %3251 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3238, ptr noundef @.str.5, i32 noundef %3239, ptr noundef @.str.23, ptr noundef @.str.1, i32 noundef 158, ptr noundef %3242, ptr noundef %3245, ptr noundef %3248, i32 noundef %3250) #11
  br label %3252

3252:                                             ; preds = %3235, %3218
  call void @llvm.lifetime.end.p0(i64 4, ptr %73) #11
  br label %3253

3253:                                             ; preds = %3252
  br label %3254

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

3255:                                             ; No predecessors!
  br label %3256

3256:                                             ; preds = %3255
  br label %3257

3257:                                             ; preds = %3256, %3199
  br label %3258

3258:                                             ; preds = %3257
  br label %3259

3259:                                             ; preds = %3258
  br label %3260

3260:                                             ; preds = %3259
  %3261 = load i32, ptr @test_count, align 4, !tbaa !5
  %3262 = add nsw i32 %3261, 1
  store i32 %3262, ptr @test_count, align 4, !tbaa !5
  %3263 = load ptr, ptr %72, align 8, !tbaa !9
  %3264 = load ptr, ptr %15, align 8, !tbaa !9
  %3265 = call i32 @s2n_connection_set_config(ptr noundef %3263, ptr noundef %3264)
  %3266 = icmp eq i32 %3265, -1
  br i1 %3266, label %3267, label %3320

3267:                                             ; preds = %3260
  br label %3268

3268:                                             ; preds = %3267
  br label %3269

3269:                                             ; preds = %3268
  call void @llvm.lifetime.start.p0(i64 4, ptr %74) #11
  %3270 = call ptr @__errno_location() #12
  %3271 = load i32, ptr %3270, align 4, !tbaa !5
  store i32 %3271, ptr %74, align 4, !tbaa !5
  %3272 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3273 = call i32 @s2n_print_stacktrace(ptr noundef %3272)
  %3274 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3275 = trunc i8 %3274 to i1
  br i1 %3275, label %3276, label %3298

3276:                                             ; preds = %3269
  %3277 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3278 = call i32 @fileno(ptr noundef %3277) #11
  %3279 = call i32 @isatty(i32 noundef %3278) #11
  %3280 = icmp ne i32 %3279, 0
  br i1 %3280, label %3281, label %3298

3281:                                             ; preds = %3276
  %3282 = load i32, ptr %74, align 4, !tbaa !5
  %3283 = call ptr @__errno_location() #12
  store i32 %3282, ptr %3283, align 4, !tbaa !5
  %3284 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3285 = load i32, ptr @test_count, align 4, !tbaa !5
  %3286 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3287 = load i32, ptr %3286, align 4, !tbaa !5
  %3288 = call ptr @s2n_strerror(i32 noundef %3287, ptr noundef @.str.4)
  %3289 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3290 = load i32, ptr %3289, align 4, !tbaa !5
  %3291 = call ptr @s2n_strerror_debug(i32 noundef %3290, ptr noundef @.str.4)
  %3292 = call ptr @__errno_location() #12
  %3293 = load i32, ptr %3292, align 4, !tbaa !5
  %3294 = call ptr @strerror(i32 noundef %3293) #11
  %3295 = call ptr @__errno_location() #12
  %3296 = load i32, ptr %3295, align 4, !tbaa !5
  %3297 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3284, ptr noundef @.str.2, i32 noundef %3285, ptr noundef @.str.24, ptr noundef @.str.1, i32 noundef 159, ptr noundef %3288, ptr noundef %3291, ptr noundef %3294, i32 noundef %3296) #11
  br label %3315

3298:                                             ; preds = %3276, %3269
  %3299 = load i32, ptr %74, align 4, !tbaa !5
  %3300 = call ptr @__errno_location() #12
  store i32 %3299, ptr %3300, align 4, !tbaa !5
  %3301 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3302 = load i32, ptr @test_count, align 4, !tbaa !5
  %3303 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3304 = load i32, ptr %3303, align 4, !tbaa !5
  %3305 = call ptr @s2n_strerror(i32 noundef %3304, ptr noundef @.str.4)
  %3306 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3307 = load i32, ptr %3306, align 4, !tbaa !5
  %3308 = call ptr @s2n_strerror_debug(i32 noundef %3307, ptr noundef @.str.4)
  %3309 = call ptr @__errno_location() #12
  %3310 = load i32, ptr %3309, align 4, !tbaa !5
  %3311 = call ptr @strerror(i32 noundef %3310) #11
  %3312 = call ptr @__errno_location() #12
  %3313 = load i32, ptr %3312, align 4, !tbaa !5
  %3314 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3301, ptr noundef @.str.5, i32 noundef %3302, ptr noundef @.str.24, ptr noundef @.str.1, i32 noundef 159, ptr noundef %3305, ptr noundef %3308, ptr noundef %3311, i32 noundef %3313) #11
  br label %3315

3315:                                             ; preds = %3298, %3281
  call void @llvm.lifetime.end.p0(i64 4, ptr %74) #11
  br label %3316

3316:                                             ; preds = %3315
  br label %3317

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

3318:                                             ; No predecessors!
  br label %3319

3319:                                             ; preds = %3318
  br label %3320

3320:                                             ; preds = %3319, %3260
  br label %3321

3321:                                             ; preds = %3320
  br label %3322

3322:                                             ; preds = %3321
  call void @llvm.lifetime.start.p0(i64 40, ptr %75) #11
  call void @llvm.memset.p0.i64(ptr align 8 %75, i8 0, i64 40, i1 false)
  call void @llvm.lifetime.start.p0(i64 40, ptr %76) #11
  call void @llvm.memset.p0.i64(ptr align 8 %76, i8 0, i64 40, i1 false)
  br label %3323

3323:                                             ; preds = %3322
  %3324 = load i32, ptr @test_count, align 4, !tbaa !5
  %3325 = add nsw i32 %3324, 1
  store i32 %3325, ptr @test_count, align 4, !tbaa !5
  %3326 = call i32 @s2n_stuffer_growable_alloc(ptr noundef %75, i32 noundef 0)
  %3327 = icmp eq i32 %3326, -1
  br i1 %3327, label %3328, label %3381

3328:                                             ; preds = %3323
  br label %3329

3329:                                             ; preds = %3328
  br label %3330

3330:                                             ; preds = %3329
  call void @llvm.lifetime.start.p0(i64 4, ptr %77) #11
  %3331 = call ptr @__errno_location() #12
  %3332 = load i32, ptr %3331, align 4, !tbaa !5
  store i32 %3332, ptr %77, align 4, !tbaa !5
  %3333 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3334 = call i32 @s2n_print_stacktrace(ptr noundef %3333)
  %3335 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3336 = trunc i8 %3335 to i1
  br i1 %3336, label %3337, label %3359

3337:                                             ; preds = %3330
  %3338 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3339 = call i32 @fileno(ptr noundef %3338) #11
  %3340 = call i32 @isatty(i32 noundef %3339) #11
  %3341 = icmp ne i32 %3340, 0
  br i1 %3341, label %3342, label %3359

3342:                                             ; preds = %3337
  %3343 = load i32, ptr %77, align 4, !tbaa !5
  %3344 = call ptr @__errno_location() #12
  store i32 %3343, ptr %3344, align 4, !tbaa !5
  %3345 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3346 = load i32, ptr @test_count, align 4, !tbaa !5
  %3347 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3348 = load i32, ptr %3347, align 4, !tbaa !5
  %3349 = call ptr @s2n_strerror(i32 noundef %3348, ptr noundef @.str.4)
  %3350 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3351 = load i32, ptr %3350, align 4, !tbaa !5
  %3352 = call ptr @s2n_strerror_debug(i32 noundef %3351, ptr noundef @.str.4)
  %3353 = call ptr @__errno_location() #12
  %3354 = load i32, ptr %3353, align 4, !tbaa !5
  %3355 = call ptr @strerror(i32 noundef %3354) #11
  %3356 = call ptr @__errno_location() #12
  %3357 = load i32, ptr %3356, align 4, !tbaa !5
  %3358 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3345, ptr noundef @.str.2, i32 noundef %3346, ptr noundef @.str.37, ptr noundef @.str.1, i32 noundef 163, ptr noundef %3349, ptr noundef %3352, ptr noundef %3355, i32 noundef %3357) #11
  br label %3376

3359:                                             ; preds = %3337, %3330
  %3360 = load i32, ptr %77, align 4, !tbaa !5
  %3361 = call ptr @__errno_location() #12
  store i32 %3360, ptr %3361, align 4, !tbaa !5
  %3362 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3363 = load i32, ptr @test_count, align 4, !tbaa !5
  %3364 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3365 = load i32, ptr %3364, align 4, !tbaa !5
  %3366 = call ptr @s2n_strerror(i32 noundef %3365, ptr noundef @.str.4)
  %3367 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3368 = load i32, ptr %3367, align 4, !tbaa !5
  %3369 = call ptr @s2n_strerror_debug(i32 noundef %3368, ptr noundef @.str.4)
  %3370 = call ptr @__errno_location() #12
  %3371 = load i32, ptr %3370, align 4, !tbaa !5
  %3372 = call ptr @strerror(i32 noundef %3371) #11
  %3373 = call ptr @__errno_location() #12
  %3374 = load i32, ptr %3373, align 4, !tbaa !5
  %3375 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3362, ptr noundef @.str.5, i32 noundef %3363, ptr noundef @.str.37, ptr noundef @.str.1, i32 noundef 163, ptr noundef %3366, ptr noundef %3369, ptr noundef %3372, i32 noundef %3374) #11
  br label %3376

3376:                                             ; preds = %3359, %3342
  call void @llvm.lifetime.end.p0(i64 4, ptr %77) #11
  br label %3377

3377:                                             ; preds = %3376
  br label %3378

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

3379:                                             ; No predecessors!
  br label %3380

3380:                                             ; preds = %3379
  br label %3381

3381:                                             ; preds = %3380, %3323
  br label %3382

3382:                                             ; preds = %3381
  br label %3383

3383:                                             ; preds = %3382
  br label %3384

3384:                                             ; preds = %3383
  %3385 = load i32, ptr @test_count, align 4, !tbaa !5
  %3386 = add nsw i32 %3385, 1
  store i32 %3386, ptr @test_count, align 4, !tbaa !5
  %3387 = call i32 @s2n_stuffer_growable_alloc(ptr noundef %76, i32 noundef 0)
  %3388 = icmp eq i32 %3387, -1
  br i1 %3388, label %3389, label %3442

3389:                                             ; preds = %3384
  br label %3390

3390:                                             ; preds = %3389
  br label %3391

3391:                                             ; preds = %3390
  call void @llvm.lifetime.start.p0(i64 4, ptr %78) #11
  %3392 = call ptr @__errno_location() #12
  %3393 = load i32, ptr %3392, align 4, !tbaa !5
  store i32 %3393, ptr %78, align 4, !tbaa !5
  %3394 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3395 = call i32 @s2n_print_stacktrace(ptr noundef %3394)
  %3396 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3397 = trunc i8 %3396 to i1
  br i1 %3397, label %3398, label %3420

3398:                                             ; preds = %3391
  %3399 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3400 = call i32 @fileno(ptr noundef %3399) #11
  %3401 = call i32 @isatty(i32 noundef %3400) #11
  %3402 = icmp ne i32 %3401, 0
  br i1 %3402, label %3403, label %3420

3403:                                             ; preds = %3398
  %3404 = load i32, ptr %78, align 4, !tbaa !5
  %3405 = call ptr @__errno_location() #12
  store i32 %3404, ptr %3405, align 4, !tbaa !5
  %3406 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3407 = load i32, ptr @test_count, align 4, !tbaa !5
  %3408 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3409 = load i32, ptr %3408, align 4, !tbaa !5
  %3410 = call ptr @s2n_strerror(i32 noundef %3409, ptr noundef @.str.4)
  %3411 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3412 = load i32, ptr %3411, align 4, !tbaa !5
  %3413 = call ptr @s2n_strerror_debug(i32 noundef %3412, ptr noundef @.str.4)
  %3414 = call ptr @__errno_location() #12
  %3415 = load i32, ptr %3414, align 4, !tbaa !5
  %3416 = call ptr @strerror(i32 noundef %3415) #11
  %3417 = call ptr @__errno_location() #12
  %3418 = load i32, ptr %3417, align 4, !tbaa !5
  %3419 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3406, ptr noundef @.str.2, i32 noundef %3407, ptr noundef @.str.38, ptr noundef @.str.1, i32 noundef 164, ptr noundef %3410, ptr noundef %3413, ptr noundef %3416, i32 noundef %3418) #11
  br label %3437

3420:                                             ; preds = %3398, %3391
  %3421 = load i32, ptr %78, align 4, !tbaa !5
  %3422 = call ptr @__errno_location() #12
  store i32 %3421, ptr %3422, align 4, !tbaa !5
  %3423 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3424 = load i32, ptr @test_count, align 4, !tbaa !5
  %3425 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3426 = load i32, ptr %3425, align 4, !tbaa !5
  %3427 = call ptr @s2n_strerror(i32 noundef %3426, ptr noundef @.str.4)
  %3428 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3429 = load i32, ptr %3428, align 4, !tbaa !5
  %3430 = call ptr @s2n_strerror_debug(i32 noundef %3429, ptr noundef @.str.4)
  %3431 = call ptr @__errno_location() #12
  %3432 = load i32, ptr %3431, align 4, !tbaa !5
  %3433 = call ptr @strerror(i32 noundef %3432) #11
  %3434 = call ptr @__errno_location() #12
  %3435 = load i32, ptr %3434, align 4, !tbaa !5
  %3436 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3423, ptr noundef @.str.5, i32 noundef %3424, ptr noundef @.str.38, ptr noundef @.str.1, i32 noundef 164, ptr noundef %3427, ptr noundef %3430, ptr noundef %3433, i32 noundef %3435) #11
  br label %3437

3437:                                             ; preds = %3420, %3403
  call void @llvm.lifetime.end.p0(i64 4, ptr %78) #11
  br label %3438

3438:                                             ; preds = %3437
  br label %3439

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

3440:                                             ; No predecessors!
  br label %3441

3441:                                             ; preds = %3440
  br label %3442

3442:                                             ; preds = %3441, %3384
  br label %3443

3443:                                             ; preds = %3442
  br label %3444

3444:                                             ; preds = %3443
  br label %3445

3445:                                             ; preds = %3444
  %3446 = load i32, ptr @test_count, align 4, !tbaa !5
  %3447 = add nsw i32 %3446, 1
  store i32 %3447, ptr @test_count, align 4, !tbaa !5
  %3448 = load ptr, ptr %72, align 8, !tbaa !9
  %3449 = call i32 @s2n_connection_set_io_stuffers(ptr noundef %75, ptr noundef %76, ptr noundef %3448)
  %3450 = icmp eq i32 %3449, -1
  br i1 %3450, label %3451, label %3504

3451:                                             ; preds = %3445
  br label %3452

3452:                                             ; preds = %3451
  br label %3453

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

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

3465:                                             ; preds = %3460
  %3466 = load i32, ptr %79, align 4, !tbaa !5
  %3467 = call ptr @__errno_location() #12
  store i32 %3466, ptr %3467, align 4, !tbaa !5
  %3468 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3469 = load i32, ptr @test_count, align 4, !tbaa !5
  %3470 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3471 = load i32, ptr %3470, align 4, !tbaa !5
  %3472 = call ptr @s2n_strerror(i32 noundef %3471, ptr noundef @.str.4)
  %3473 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3474 = load i32, ptr %3473, align 4, !tbaa !5
  %3475 = call ptr @s2n_strerror_debug(i32 noundef %3474, ptr noundef @.str.4)
  %3476 = call ptr @__errno_location() #12
  %3477 = load i32, ptr %3476, align 4, !tbaa !5
  %3478 = call ptr @strerror(i32 noundef %3477) #11
  %3479 = call ptr @__errno_location() #12
  %3480 = load i32, ptr %3479, align 4, !tbaa !5
  %3481 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3468, ptr noundef @.str.2, i32 noundef %3469, ptr noundef @.str.39, ptr noundef @.str.1, i32 noundef 165, ptr noundef %3472, ptr noundef %3475, ptr noundef %3478, i32 noundef %3480) #11
  br label %3499

3482:                                             ; preds = %3460, %3453
  %3483 = load i32, ptr %79, align 4, !tbaa !5
  %3484 = call ptr @__errno_location() #12
  store i32 %3483, ptr %3484, align 4, !tbaa !5
  %3485 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3486 = load i32, ptr @test_count, align 4, !tbaa !5
  %3487 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3488 = load i32, ptr %3487, align 4, !tbaa !5
  %3489 = call ptr @s2n_strerror(i32 noundef %3488, ptr noundef @.str.4)
  %3490 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3491 = load i32, ptr %3490, align 4, !tbaa !5
  %3492 = call ptr @s2n_strerror_debug(i32 noundef %3491, ptr noundef @.str.4)
  %3493 = call ptr @__errno_location() #12
  %3494 = load i32, ptr %3493, align 4, !tbaa !5
  %3495 = call ptr @strerror(i32 noundef %3494) #11
  %3496 = call ptr @__errno_location() #12
  %3497 = load i32, ptr %3496, align 4, !tbaa !5
  %3498 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3485, ptr noundef @.str.5, i32 noundef %3486, ptr noundef @.str.39, ptr noundef @.str.1, i32 noundef 165, ptr noundef %3489, ptr noundef %3492, ptr noundef %3495, i32 noundef %3497) #11
  br label %3499

3499:                                             ; preds = %3482, %3465
  call void @llvm.lifetime.end.p0(i64 4, ptr %79) #11
  br label %3500

3500:                                             ; preds = %3499
  br label %3501

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

3502:                                             ; No predecessors!
  br label %3503

3503:                                             ; preds = %3502
  br label %3504

3504:                                             ; preds = %3503, %3445
  br label %3505

3505:                                             ; preds = %3504
  br label %3506

3506:                                             ; preds = %3505
  br label %3507

3507:                                             ; preds = %3506
  %3508 = load i32, ptr @test_count, align 4, !tbaa !5
  %3509 = add nsw i32 %3508, 1
  store i32 %3509, ptr @test_count, align 4, !tbaa !5
  %3510 = load ptr, ptr %69, align 8, !tbaa !9
  %3511 = call i32 @s2n_connection_set_io_stuffers(ptr noundef %76, ptr noundef %75, ptr noundef %3510)
  %3512 = icmp eq i32 %3511, -1
  br i1 %3512, label %3513, label %3566

3513:                                             ; preds = %3507
  br label %3514

3514:                                             ; preds = %3513
  br label %3515

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

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

3527:                                             ; preds = %3522
  %3528 = load i32, ptr %80, align 4, !tbaa !5
  %3529 = call ptr @__errno_location() #12
  store i32 %3528, ptr %3529, align 4, !tbaa !5
  %3530 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3531 = load i32, ptr @test_count, align 4, !tbaa !5
  %3532 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3533 = load i32, ptr %3532, align 4, !tbaa !5
  %3534 = call ptr @s2n_strerror(i32 noundef %3533, ptr noundef @.str.4)
  %3535 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3536 = load i32, ptr %3535, align 4, !tbaa !5
  %3537 = call ptr @s2n_strerror_debug(i32 noundef %3536, ptr noundef @.str.4)
  %3538 = call ptr @__errno_location() #12
  %3539 = load i32, ptr %3538, align 4, !tbaa !5
  %3540 = call ptr @strerror(i32 noundef %3539) #11
  %3541 = call ptr @__errno_location() #12
  %3542 = load i32, ptr %3541, align 4, !tbaa !5
  %3543 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3530, ptr noundef @.str.2, i32 noundef %3531, ptr noundef @.str.40, ptr noundef @.str.1, i32 noundef 166, ptr noundef %3534, ptr noundef %3537, ptr noundef %3540, i32 noundef %3542) #11
  br label %3561

3544:                                             ; preds = %3522, %3515
  %3545 = load i32, ptr %80, align 4, !tbaa !5
  %3546 = call ptr @__errno_location() #12
  store i32 %3545, ptr %3546, align 4, !tbaa !5
  %3547 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3548 = load i32, ptr @test_count, align 4, !tbaa !5
  %3549 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3550 = load i32, ptr %3549, align 4, !tbaa !5
  %3551 = call ptr @s2n_strerror(i32 noundef %3550, ptr noundef @.str.4)
  %3552 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3553 = load i32, ptr %3552, align 4, !tbaa !5
  %3554 = call ptr @s2n_strerror_debug(i32 noundef %3553, ptr noundef @.str.4)
  %3555 = call ptr @__errno_location() #12
  %3556 = load i32, ptr %3555, align 4, !tbaa !5
  %3557 = call ptr @strerror(i32 noundef %3556) #11
  %3558 = call ptr @__errno_location() #12
  %3559 = load i32, ptr %3558, align 4, !tbaa !5
  %3560 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3547, ptr noundef @.str.5, i32 noundef %3548, ptr noundef @.str.40, ptr noundef @.str.1, i32 noundef 166, ptr noundef %3551, ptr noundef %3554, ptr noundef %3557, i32 noundef %3559) #11
  br label %3561

3561:                                             ; preds = %3544, %3527
  call void @llvm.lifetime.end.p0(i64 4, ptr %80) #11
  br label %3562

3562:                                             ; preds = %3561
  br label %3563

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

3564:                                             ; No predecessors!
  br label %3565

3565:                                             ; preds = %3564
  br label %3566

3566:                                             ; preds = %3565, %3507
  br label %3567

3567:                                             ; preds = %3566
  br label %3568

3568:                                             ; preds = %3567
  br label %3569

3569:                                             ; preds = %3568
  %3570 = load i32, ptr @test_count, align 4, !tbaa !5
  %3571 = add nsw i32 %3570, 1
  store i32 %3571, ptr @test_count, align 4, !tbaa !5
  %3572 = load ptr, ptr %72, align 8, !tbaa !9
  %3573 = call i32 @s2n_connection_prefer_low_latency(ptr noundef %3572)
  %3574 = icmp eq i32 %3573, -1
  br i1 %3574, label %3575, label %3628

3575:                                             ; preds = %3569
  br label %3576

3576:                                             ; preds = %3575
  br label %3577

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

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

3589:                                             ; preds = %3584
  %3590 = load i32, ptr %81, align 4, !tbaa !5
  %3591 = call ptr @__errno_location() #12
  store i32 %3590, ptr %3591, align 4, !tbaa !5
  %3592 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3593 = load i32, ptr @test_count, align 4, !tbaa !5
  %3594 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3595 = load i32, ptr %3594, align 4, !tbaa !5
  %3596 = call ptr @s2n_strerror(i32 noundef %3595, ptr noundef @.str.4)
  %3597 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3598 = load i32, ptr %3597, align 4, !tbaa !5
  %3599 = call ptr @s2n_strerror_debug(i32 noundef %3598, ptr noundef @.str.4)
  %3600 = call ptr @__errno_location() #12
  %3601 = load i32, ptr %3600, align 4, !tbaa !5
  %3602 = call ptr @strerror(i32 noundef %3601) #11
  %3603 = call ptr @__errno_location() #12
  %3604 = load i32, ptr %3603, align 4, !tbaa !5
  %3605 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3592, ptr noundef @.str.2, i32 noundef %3593, ptr noundef @.str.45, ptr noundef @.str.1, i32 noundef 168, ptr noundef %3596, ptr noundef %3599, ptr noundef %3602, i32 noundef %3604) #11
  br label %3623

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

3623:                                             ; preds = %3606, %3589
  call void @llvm.lifetime.end.p0(i64 4, ptr %81) #11
  br label %3624

3624:                                             ; preds = %3623
  br label %3625

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

3626:                                             ; No predecessors!
  br label %3627

3627:                                             ; preds = %3626
  br label %3628

3628:                                             ; preds = %3627, %3569
  br label %3629

3629:                                             ; preds = %3628
  br label %3630

3630:                                             ; preds = %3629
  br label %3631

3631:                                             ; preds = %3630
  %3632 = load i32, ptr @test_count, align 4, !tbaa !5
  %3633 = add nsw i32 %3632, 1
  store i32 %3633, ptr @test_count, align 4, !tbaa !5
  %3634 = load ptr, ptr %69, align 8, !tbaa !9
  %3635 = load ptr, ptr %72, align 8, !tbaa !9
  %3636 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef %3634, ptr noundef %3635)
  %3637 = icmp eq i32 %3636, -1
  br i1 %3637, label %3638, label %3691

3638:                                             ; preds = %3631
  br label %3639

3639:                                             ; preds = %3638
  br label %3640

3640:                                             ; preds = %3639
  call void @llvm.lifetime.start.p0(i64 4, ptr %82) #11
  %3641 = call ptr @__errno_location() #12
  %3642 = load i32, ptr %3641, align 4, !tbaa !5
  store i32 %3642, ptr %82, align 4, !tbaa !5
  %3643 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3644 = call i32 @s2n_print_stacktrace(ptr noundef %3643)
  %3645 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3646 = trunc i8 %3645 to i1
  br i1 %3646, label %3647, label %3669

3647:                                             ; preds = %3640
  %3648 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3649 = call i32 @fileno(ptr noundef %3648) #11
  %3650 = call i32 @isatty(i32 noundef %3649) #11
  %3651 = icmp ne i32 %3650, 0
  br i1 %3651, label %3652, label %3669

3652:                                             ; preds = %3647
  %3653 = load i32, ptr %82, align 4, !tbaa !5
  %3654 = call ptr @__errno_location() #12
  store i32 %3653, ptr %3654, align 4, !tbaa !5
  %3655 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3656 = load i32, ptr @test_count, align 4, !tbaa !5
  %3657 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3658 = load i32, ptr %3657, align 4, !tbaa !5
  %3659 = call ptr @s2n_strerror(i32 noundef %3658, ptr noundef @.str.4)
  %3660 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3661 = load i32, ptr %3660, align 4, !tbaa !5
  %3662 = call ptr @s2n_strerror_debug(i32 noundef %3661, ptr noundef @.str.4)
  %3663 = call ptr @__errno_location() #12
  %3664 = load i32, ptr %3663, align 4, !tbaa !5
  %3665 = call ptr @strerror(i32 noundef %3664) #11
  %3666 = call ptr @__errno_location() #12
  %3667 = load i32, ptr %3666, align 4, !tbaa !5
  %3668 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3655, ptr noundef @.str.2, i32 noundef %3656, ptr noundef @.str.32, ptr noundef @.str.1, i32 noundef 169, ptr noundef %3659, ptr noundef %3662, ptr noundef %3665, i32 noundef %3667) #11
  br label %3686

3669:                                             ; preds = %3647, %3640
  %3670 = load i32, ptr %82, align 4, !tbaa !5
  %3671 = call ptr @__errno_location() #12
  store i32 %3670, ptr %3671, align 4, !tbaa !5
  %3672 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3673 = load i32, ptr @test_count, align 4, !tbaa !5
  %3674 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3675 = load i32, ptr %3674, align 4, !tbaa !5
  %3676 = call ptr @s2n_strerror(i32 noundef %3675, ptr noundef @.str.4)
  %3677 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3678 = load i32, ptr %3677, align 4, !tbaa !5
  %3679 = call ptr @s2n_strerror_debug(i32 noundef %3678, ptr noundef @.str.4)
  %3680 = call ptr @__errno_location() #12
  %3681 = load i32, ptr %3680, align 4, !tbaa !5
  %3682 = call ptr @strerror(i32 noundef %3681) #11
  %3683 = call ptr @__errno_location() #12
  %3684 = load i32, ptr %3683, align 4, !tbaa !5
  %3685 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3672, ptr noundef @.str.5, i32 noundef %3673, ptr noundef @.str.32, ptr noundef @.str.1, i32 noundef 169, ptr noundef %3676, ptr noundef %3679, ptr noundef %3682, i32 noundef %3684) #11
  br label %3686

3686:                                             ; preds = %3669, %3652
  call void @llvm.lifetime.end.p0(i64 4, ptr %82) #11
  br label %3687

3687:                                             ; preds = %3686
  br label %3688

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

3689:                                             ; No predecessors!
  br label %3690

3690:                                             ; preds = %3689
  br label %3691

3691:                                             ; preds = %3690, %3631
  br label %3692

3692:                                             ; preds = %3691
  br label %3693

3693:                                             ; preds = %3692
  br label %3694

3694:                                             ; preds = %3693
  %3695 = load i32, ptr @test_count, align 4, !tbaa !5
  %3696 = add nsw i32 %3695, 1
  store i32 %3696, ptr @test_count, align 4, !tbaa !5
  %3697 = load ptr, ptr %72, align 8, !tbaa !9
  %3698 = getelementptr inbounds [20 x i8], ptr %20, i64 0, i64 0
  %3699 = call i64 @s2n_send(ptr noundef %3697, ptr noundef %3698, i64 noundef 20, ptr noundef %22)
  %3700 = icmp eq i64 %3699, 20
  br i1 %3700, label %3754, label %3701

3701:                                             ; preds = %3694
  br label %3702

3702:                                             ; preds = %3701
  br label %3703

3703:                                             ; preds = %3702
  call void @llvm.lifetime.start.p0(i64 4, ptr %83) #11
  %3704 = call ptr @__errno_location() #12
  %3705 = load i32, ptr %3704, align 4, !tbaa !5
  store i32 %3705, ptr %83, align 4, !tbaa !5
  %3706 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3707 = call i32 @s2n_print_stacktrace(ptr noundef %3706)
  %3708 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3709 = trunc i8 %3708 to i1
  br i1 %3709, label %3710, label %3732

3710:                                             ; preds = %3703
  %3711 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3712 = call i32 @fileno(ptr noundef %3711) #11
  %3713 = call i32 @isatty(i32 noundef %3712) #11
  %3714 = icmp ne i32 %3713, 0
  br i1 %3714, label %3715, label %3732

3715:                                             ; preds = %3710
  %3716 = load i32, ptr %83, align 4, !tbaa !5
  %3717 = call ptr @__errno_location() #12
  store i32 %3716, ptr %3717, align 4, !tbaa !5
  %3718 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3719 = load i32, ptr @test_count, align 4, !tbaa !5
  %3720 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3721 = load i32, ptr %3720, align 4, !tbaa !5
  %3722 = call ptr @s2n_strerror(i32 noundef %3721, ptr noundef @.str.4)
  %3723 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3724 = load i32, ptr %3723, align 4, !tbaa !5
  %3725 = call ptr @s2n_strerror_debug(i32 noundef %3724, ptr noundef @.str.4)
  %3726 = call ptr @__errno_location() #12
  %3727 = load i32, ptr %3726, align 4, !tbaa !5
  %3728 = call ptr @strerror(i32 noundef %3727) #11
  %3729 = call ptr @__errno_location() #12
  %3730 = load i32, ptr %3729, align 4, !tbaa !5
  %3731 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3718, ptr noundef @.str.2, i32 noundef %3719, ptr noundef @.str.46, ptr noundef @.str.1, i32 noundef 171, ptr noundef %3722, ptr noundef %3725, ptr noundef %3728, i32 noundef %3730) #11
  br label %3749

3732:                                             ; preds = %3710, %3703
  %3733 = load i32, ptr %83, align 4, !tbaa !5
  %3734 = call ptr @__errno_location() #12
  store i32 %3733, ptr %3734, align 4, !tbaa !5
  %3735 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3736 = load i32, ptr @test_count, align 4, !tbaa !5
  %3737 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3738 = load i32, ptr %3737, align 4, !tbaa !5
  %3739 = call ptr @s2n_strerror(i32 noundef %3738, ptr noundef @.str.4)
  %3740 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3741 = load i32, ptr %3740, align 4, !tbaa !5
  %3742 = call ptr @s2n_strerror_debug(i32 noundef %3741, ptr noundef @.str.4)
  %3743 = call ptr @__errno_location() #12
  %3744 = load i32, ptr %3743, align 4, !tbaa !5
  %3745 = call ptr @strerror(i32 noundef %3744) #11
  %3746 = call ptr @__errno_location() #12
  %3747 = load i32, ptr %3746, align 4, !tbaa !5
  %3748 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3735, ptr noundef @.str.5, i32 noundef %3736, ptr noundef @.str.46, ptr noundef @.str.1, i32 noundef 171, ptr noundef %3739, ptr noundef %3742, ptr noundef %3745, i32 noundef %3747) #11
  br label %3749

3749:                                             ; preds = %3732, %3715
  call void @llvm.lifetime.end.p0(i64 4, ptr %83) #11
  br label %3750

3750:                                             ; preds = %3749
  br label %3751

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

3752:                                             ; No predecessors!
  br label %3753

3753:                                             ; preds = %3752
  br label %3754

3754:                                             ; preds = %3753, %3694
  br label %3755

3755:                                             ; preds = %3754
  br label %3756

3756:                                             ; preds = %3755
  call void @llvm.lifetime.start.p0(i64 8, ptr %84) #11
  %3757 = getelementptr inbounds %struct.s2n_stuffer, ptr %76, i32 0, i32 2
  %3758 = load i32, ptr %3757, align 4, !tbaa !43
  %3759 = getelementptr inbounds %struct.s2n_stuffer, ptr %76, i32 0, i32 1
  %3760 = load i32, ptr %3759, align 8, !tbaa !44
  %3761 = sub i32 %3758, %3760
  %3762 = zext i32 %3761 to i64
  store i64 %3762, ptr %84, align 8, !tbaa !45
  br label %3763

3763:                                             ; preds = %3756
  %3764 = load i32, ptr @test_count, align 4, !tbaa !5
  %3765 = add nsw i32 %3764, 1
  store i32 %3765, ptr @test_count, align 4, !tbaa !5
  %3766 = call i32 @s2n_stuffer_wipe(ptr noundef %76)
  %3767 = icmp eq i32 %3766, -1
  br i1 %3767, label %3768, label %3821

3768:                                             ; preds = %3763
  br label %3769

3769:                                             ; preds = %3768
  br label %3770

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

3777:                                             ; preds = %3770
  %3778 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3779 = call i32 @fileno(ptr noundef %3778) #11
  %3780 = call i32 @isatty(i32 noundef %3779) #11
  %3781 = icmp ne i32 %3780, 0
  br i1 %3781, label %3782, label %3799

3782:                                             ; preds = %3777
  %3783 = load i32, ptr %85, align 4, !tbaa !5
  %3784 = call ptr @__errno_location() #12
  store i32 %3783, ptr %3784, align 4, !tbaa !5
  %3785 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3786 = load i32, ptr @test_count, align 4, !tbaa !5
  %3787 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3788 = load i32, ptr %3787, align 4, !tbaa !5
  %3789 = call ptr @s2n_strerror(i32 noundef %3788, ptr noundef @.str.4)
  %3790 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3791 = load i32, ptr %3790, align 4, !tbaa !5
  %3792 = call ptr @s2n_strerror_debug(i32 noundef %3791, ptr noundef @.str.4)
  %3793 = call ptr @__errno_location() #12
  %3794 = load i32, ptr %3793, align 4, !tbaa !5
  %3795 = call ptr @strerror(i32 noundef %3794) #11
  %3796 = call ptr @__errno_location() #12
  %3797 = load i32, ptr %3796, align 4, !tbaa !5
  %3798 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3785, ptr noundef @.str.2, i32 noundef %3786, ptr noundef @.str.47, ptr noundef @.str.1, i32 noundef 173, ptr noundef %3789, ptr noundef %3792, ptr noundef %3795, i32 noundef %3797) #11
  br label %3816

3799:                                             ; preds = %3777, %3770
  %3800 = load i32, ptr %85, align 4, !tbaa !5
  %3801 = call ptr @__errno_location() #12
  store i32 %3800, ptr %3801, align 4, !tbaa !5
  %3802 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3803 = load i32, ptr @test_count, align 4, !tbaa !5
  %3804 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3805 = load i32, ptr %3804, align 4, !tbaa !5
  %3806 = call ptr @s2n_strerror(i32 noundef %3805, ptr noundef @.str.4)
  %3807 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3808 = load i32, ptr %3807, align 4, !tbaa !5
  %3809 = call ptr @s2n_strerror_debug(i32 noundef %3808, ptr noundef @.str.4)
  %3810 = call ptr @__errno_location() #12
  %3811 = load i32, ptr %3810, align 4, !tbaa !5
  %3812 = call ptr @strerror(i32 noundef %3811) #11
  %3813 = call ptr @__errno_location() #12
  %3814 = load i32, ptr %3813, align 4, !tbaa !5
  %3815 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3802, ptr noundef @.str.5, i32 noundef %3803, ptr noundef @.str.47, ptr noundef @.str.1, i32 noundef 173, ptr noundef %3806, ptr noundef %3809, ptr noundef %3812, i32 noundef %3814) #11
  br label %3816

3816:                                             ; preds = %3799, %3782
  call void @llvm.lifetime.end.p0(i64 4, ptr %85) #11
  br label %3817

3817:                                             ; preds = %3816
  br label %3818

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

3819:                                             ; No predecessors!
  br label %3820

3820:                                             ; preds = %3819
  br label %3821

3821:                                             ; preds = %3820, %3763
  br label %3822

3822:                                             ; preds = %3821
  br label %3823

3823:                                             ; preds = %3822
  br label %3824

3824:                                             ; preds = %3823
  %3825 = load i32, ptr @test_count, align 4, !tbaa !5
  %3826 = add nsw i32 %3825, 1
  store i32 %3826, ptr @test_count, align 4, !tbaa !5
  %3827 = load ptr, ptr %72, align 8, !tbaa !9
  %3828 = call i32 @s2n_renegotiate_wipe(ptr noundef %3827)
  %3829 = icmp eq i32 %3828, -1
  br i1 %3829, label %3830, label %3883

3830:                                             ; preds = %3824
  br label %3831

3831:                                             ; preds = %3830
  br label %3832

3832:                                             ; preds = %3831
  call void @llvm.lifetime.start.p0(i64 4, ptr %86) #11
  %3833 = call ptr @__errno_location() #12
  %3834 = load i32, ptr %3833, align 4, !tbaa !5
  store i32 %3834, ptr %86, align 4, !tbaa !5
  %3835 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3836 = call i32 @s2n_print_stacktrace(ptr noundef %3835)
  %3837 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3838 = trunc i8 %3837 to i1
  br i1 %3838, label %3839, label %3861

3839:                                             ; preds = %3832
  %3840 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3841 = call i32 @fileno(ptr noundef %3840) #11
  %3842 = call i32 @isatty(i32 noundef %3841) #11
  %3843 = icmp ne i32 %3842, 0
  br i1 %3843, label %3844, label %3861

3844:                                             ; preds = %3839
  %3845 = load i32, ptr %86, align 4, !tbaa !5
  %3846 = call ptr @__errno_location() #12
  store i32 %3845, ptr %3846, align 4, !tbaa !5
  %3847 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3848 = load i32, ptr @test_count, align 4, !tbaa !5
  %3849 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3850 = load i32, ptr %3849, align 4, !tbaa !5
  %3851 = call ptr @s2n_strerror(i32 noundef %3850, ptr noundef @.str.4)
  %3852 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3853 = load i32, ptr %3852, align 4, !tbaa !5
  %3854 = call ptr @s2n_strerror_debug(i32 noundef %3853, ptr noundef @.str.4)
  %3855 = call ptr @__errno_location() #12
  %3856 = load i32, ptr %3855, align 4, !tbaa !5
  %3857 = call ptr @strerror(i32 noundef %3856) #11
  %3858 = call ptr @__errno_location() #12
  %3859 = load i32, ptr %3858, align 4, !tbaa !5
  %3860 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3847, ptr noundef @.str.2, i32 noundef %3848, ptr noundef @.str.33, ptr noundef @.str.1, i32 noundef 175, ptr noundef %3851, ptr noundef %3854, ptr noundef %3857, i32 noundef %3859) #11
  br label %3878

3861:                                             ; preds = %3839, %3832
  %3862 = load i32, ptr %86, align 4, !tbaa !5
  %3863 = call ptr @__errno_location() #12
  store i32 %3862, ptr %3863, align 4, !tbaa !5
  %3864 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3865 = load i32, ptr @test_count, align 4, !tbaa !5
  %3866 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3867 = load i32, ptr %3866, align 4, !tbaa !5
  %3868 = call ptr @s2n_strerror(i32 noundef %3867, ptr noundef @.str.4)
  %3869 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3870 = load i32, ptr %3869, align 4, !tbaa !5
  %3871 = call ptr @s2n_strerror_debug(i32 noundef %3870, ptr noundef @.str.4)
  %3872 = call ptr @__errno_location() #12
  %3873 = load i32, ptr %3872, align 4, !tbaa !5
  %3874 = call ptr @strerror(i32 noundef %3873) #11
  %3875 = call ptr @__errno_location() #12
  %3876 = load i32, ptr %3875, align 4, !tbaa !5
  %3877 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3864, ptr noundef @.str.5, i32 noundef %3865, ptr noundef @.str.33, ptr noundef @.str.1, i32 noundef 175, ptr noundef %3868, ptr noundef %3871, ptr noundef %3874, i32 noundef %3876) #11
  br label %3878

3878:                                             ; preds = %3861, %3844
  call void @llvm.lifetime.end.p0(i64 4, ptr %86) #11
  br label %3879

3879:                                             ; preds = %3878
  br label %3880

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

3881:                                             ; No predecessors!
  br label %3882

3882:                                             ; preds = %3881
  br label %3883

3883:                                             ; preds = %3882, %3824
  br label %3884

3884:                                             ; preds = %3883
  br label %3885

3885:                                             ; preds = %3884
  br label %3886

3886:                                             ; preds = %3885
  %3887 = load i32, ptr @test_count, align 4, !tbaa !5
  %3888 = add nsw i32 %3887, 1
  store i32 %3888, ptr @test_count, align 4, !tbaa !5
  %3889 = load ptr, ptr %72, align 8, !tbaa !9
  %3890 = getelementptr inbounds [20 x i8], ptr %20, i64 0, i64 0
  %3891 = call i64 @s2n_send(ptr noundef %3889, ptr noundef %3890, i64 noundef 20, ptr noundef %22)
  %3892 = icmp eq i64 %3891, 20
  br i1 %3892, label %3946, label %3893

3893:                                             ; preds = %3886
  br label %3894

3894:                                             ; preds = %3893
  br label %3895

3895:                                             ; preds = %3894
  call void @llvm.lifetime.start.p0(i64 4, ptr %87) #11
  %3896 = call ptr @__errno_location() #12
  %3897 = load i32, ptr %3896, align 4, !tbaa !5
  store i32 %3897, ptr %87, align 4, !tbaa !5
  %3898 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3899 = call i32 @s2n_print_stacktrace(ptr noundef %3898)
  %3900 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3901 = trunc i8 %3900 to i1
  br i1 %3901, label %3902, label %3924

3902:                                             ; preds = %3895
  %3903 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3904 = call i32 @fileno(ptr noundef %3903) #11
  %3905 = call i32 @isatty(i32 noundef %3904) #11
  %3906 = icmp ne i32 %3905, 0
  br i1 %3906, label %3907, label %3924

3907:                                             ; preds = %3902
  %3908 = load i32, ptr %87, align 4, !tbaa !5
  %3909 = call ptr @__errno_location() #12
  store i32 %3908, ptr %3909, align 4, !tbaa !5
  %3910 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3911 = load i32, ptr @test_count, align 4, !tbaa !5
  %3912 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3913 = load i32, ptr %3912, align 4, !tbaa !5
  %3914 = call ptr @s2n_strerror(i32 noundef %3913, ptr noundef @.str.4)
  %3915 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3916 = load i32, ptr %3915, align 4, !tbaa !5
  %3917 = call ptr @s2n_strerror_debug(i32 noundef %3916, ptr noundef @.str.4)
  %3918 = call ptr @__errno_location() #12
  %3919 = load i32, ptr %3918, align 4, !tbaa !5
  %3920 = call ptr @strerror(i32 noundef %3919) #11
  %3921 = call ptr @__errno_location() #12
  %3922 = load i32, ptr %3921, align 4, !tbaa !5
  %3923 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3910, ptr noundef @.str.2, i32 noundef %3911, ptr noundef @.str.46, ptr noundef @.str.1, i32 noundef 177, ptr noundef %3914, ptr noundef %3917, ptr noundef %3920, i32 noundef %3922) #11
  br label %3941

3924:                                             ; preds = %3902, %3895
  %3925 = load i32, ptr %87, align 4, !tbaa !5
  %3926 = call ptr @__errno_location() #12
  store i32 %3925, ptr %3926, align 4, !tbaa !5
  %3927 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3928 = load i32, ptr @test_count, align 4, !tbaa !5
  %3929 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3930 = load i32, ptr %3929, align 4, !tbaa !5
  %3931 = call ptr @s2n_strerror(i32 noundef %3930, ptr noundef @.str.4)
  %3932 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3933 = load i32, ptr %3932, align 4, !tbaa !5
  %3934 = call ptr @s2n_strerror_debug(i32 noundef %3933, ptr noundef @.str.4)
  %3935 = call ptr @__errno_location() #12
  %3936 = load i32, ptr %3935, align 4, !tbaa !5
  %3937 = call ptr @strerror(i32 noundef %3936) #11
  %3938 = call ptr @__errno_location() #12
  %3939 = load i32, ptr %3938, align 4, !tbaa !5
  %3940 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3927, ptr noundef @.str.5, i32 noundef %3928, ptr noundef @.str.46, ptr noundef @.str.1, i32 noundef 177, ptr noundef %3931, ptr noundef %3934, ptr noundef %3937, i32 noundef %3939) #11
  br label %3941

3941:                                             ; preds = %3924, %3907
  call void @llvm.lifetime.end.p0(i64 4, ptr %87) #11
  br label %3942

3942:                                             ; preds = %3941
  br label %3943

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

3944:                                             ; No predecessors!
  br label %3945

3945:                                             ; preds = %3944
  br label %3946

3946:                                             ; preds = %3945, %3886
  br label %3947

3947:                                             ; preds = %3946
  br label %3948

3948:                                             ; preds = %3947
  call void @llvm.lifetime.start.p0(i64 8, ptr %88) #11
  %3949 = getelementptr inbounds %struct.s2n_stuffer, ptr %76, i32 0, i32 2
  %3950 = load i32, ptr %3949, align 4, !tbaa !43
  %3951 = getelementptr inbounds %struct.s2n_stuffer, ptr %76, i32 0, i32 1
  %3952 = load i32, ptr %3951, align 8, !tbaa !44
  %3953 = sub i32 %3950, %3952
  %3954 = zext i32 %3953 to i64
  store i64 %3954, ptr %88, align 8, !tbaa !45
  br label %3955

3955:                                             ; preds = %3948
  %3956 = load i32, ptr @test_count, align 4, !tbaa !5
  %3957 = add nsw i32 %3956, 1
  store i32 %3957, ptr @test_count, align 4, !tbaa !5
  %3958 = load i64, ptr %84, align 8, !tbaa !45
  %3959 = load i64, ptr %88, align 8, !tbaa !45
  %3960 = icmp eq i64 %3958, %3959
  br i1 %3960, label %4014, label %3961

3961:                                             ; preds = %3955
  br label %3962

3962:                                             ; preds = %3961
  br label %3963

3963:                                             ; preds = %3962
  call void @llvm.lifetime.start.p0(i64 4, ptr %89) #11
  %3964 = call ptr @__errno_location() #12
  %3965 = load i32, ptr %3964, align 4, !tbaa !5
  store i32 %3965, ptr %89, align 4, !tbaa !5
  %3966 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3967 = call i32 @s2n_print_stacktrace(ptr noundef %3966)
  %3968 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3969 = trunc i8 %3968 to i1
  br i1 %3969, label %3970, label %3992

3970:                                             ; preds = %3963
  %3971 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3972 = call i32 @fileno(ptr noundef %3971) #11
  %3973 = call i32 @isatty(i32 noundef %3972) #11
  %3974 = icmp ne i32 %3973, 0
  br i1 %3974, label %3975, label %3992

3975:                                             ; preds = %3970
  %3976 = load i32, ptr %89, align 4, !tbaa !5
  %3977 = call ptr @__errno_location() #12
  store i32 %3976, ptr %3977, align 4, !tbaa !5
  %3978 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3979 = load i32, ptr @test_count, align 4, !tbaa !5
  %3980 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3981 = load i32, ptr %3980, align 4, !tbaa !5
  %3982 = call ptr @s2n_strerror(i32 noundef %3981, ptr noundef @.str.4)
  %3983 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3984 = load i32, ptr %3983, align 4, !tbaa !5
  %3985 = call ptr @s2n_strerror_debug(i32 noundef %3984, ptr noundef @.str.4)
  %3986 = call ptr @__errno_location() #12
  %3987 = load i32, ptr %3986, align 4, !tbaa !5
  %3988 = call ptr @strerror(i32 noundef %3987) #11
  %3989 = call ptr @__errno_location() #12
  %3990 = load i32, ptr %3989, align 4, !tbaa !5
  %3991 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3978, ptr noundef @.str.2, i32 noundef %3979, ptr noundef @.str.48, ptr noundef @.str.1, i32 noundef 179, ptr noundef %3982, ptr noundef %3985, ptr noundef %3988, i32 noundef %3990) #11
  br label %4009

3992:                                             ; preds = %3970, %3963
  %3993 = load i32, ptr %89, align 4, !tbaa !5
  %3994 = call ptr @__errno_location() #12
  store i32 %3993, ptr %3994, align 4, !tbaa !5
  %3995 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3996 = load i32, ptr @test_count, align 4, !tbaa !5
  %3997 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3998 = load i32, ptr %3997, align 4, !tbaa !5
  %3999 = call ptr @s2n_strerror(i32 noundef %3998, ptr noundef @.str.4)
  %4000 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4001 = load i32, ptr %4000, align 4, !tbaa !5
  %4002 = call ptr @s2n_strerror_debug(i32 noundef %4001, ptr noundef @.str.4)
  %4003 = call ptr @__errno_location() #12
  %4004 = load i32, ptr %4003, align 4, !tbaa !5
  %4005 = call ptr @strerror(i32 noundef %4004) #11
  %4006 = call ptr @__errno_location() #12
  %4007 = load i32, ptr %4006, align 4, !tbaa !5
  %4008 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3995, ptr noundef @.str.5, i32 noundef %3996, ptr noundef @.str.48, ptr noundef @.str.1, i32 noundef 179, ptr noundef %3999, ptr noundef %4002, ptr noundef %4005, i32 noundef %4007) #11
  br label %4009

4009:                                             ; preds = %3992, %3975
  call void @llvm.lifetime.end.p0(i64 4, ptr %89) #11
  br label %4010

4010:                                             ; preds = %4009
  br label %4011

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

4012:                                             ; No predecessors!
  br label %4013

4013:                                             ; preds = %4012
  br label %4014

4014:                                             ; preds = %4013, %3955
  br label %4015

4015:                                             ; preds = %4014
  br label %4016

4016:                                             ; preds = %4015
  call void @llvm.lifetime.end.p0(i64 8, ptr %88) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %84) #11
  %4017 = call i32 @s2n_stuffer_free(ptr noundef %76)
  call void @llvm.lifetime.end.p0(i64 40, ptr %76) #11
  %4018 = call i32 @s2n_stuffer_free(ptr noundef %75)
  call void @llvm.lifetime.end.p0(i64 40, ptr %75) #11
  %4019 = call i32 @s2n_connection_ptr_free(ptr noundef %72)
  %4020 = getelementptr inbounds %struct.s2n_result, ptr %90, i32 0, i32 0
  store i32 %4019, ptr %4020, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %72) #11
  %4021 = call i32 @s2n_connection_ptr_free(ptr noundef %69)
  %4022 = getelementptr inbounds %struct.s2n_result, ptr %91, i32 0, i32 0
  store i32 %4021, ptr %4022, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %69) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %92) #11
  %4023 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %4023, ptr %92, align 8, !tbaa !9
  br label %4024

4024:                                             ; preds = %4016
  %4025 = load i32, ptr @test_count, align 4, !tbaa !5
  %4026 = add nsw i32 %4025, 1
  store i32 %4026, ptr @test_count, align 4, !tbaa !5
  %4027 = load ptr, ptr %92, align 8, !tbaa !9
  %4028 = icmp eq ptr %4027, null
  br i1 %4028, label %4029, label %4082

4029:                                             ; preds = %4024
  br label %4030

4030:                                             ; preds = %4029
  br label %4031

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

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

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

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

4077:                                             ; preds = %4060, %4043
  call void @llvm.lifetime.end.p0(i64 4, ptr %93) #11
  br label %4078

4078:                                             ; preds = %4077
  br label %4079

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

4080:                                             ; No predecessors!
  br label %4081

4081:                                             ; preds = %4080
  br label %4082

4082:                                             ; preds = %4081, %4024
  br label %4083

4083:                                             ; preds = %4082
  br label %4084

4084:                                             ; preds = %4083
  br label %4085

4085:                                             ; preds = %4084
  %4086 = load i32, ptr @test_count, align 4, !tbaa !5
  %4087 = add nsw i32 %4086, 1
  store i32 %4087, ptr @test_count, align 4, !tbaa !5
  %4088 = load ptr, ptr %92, align 8, !tbaa !9
  %4089 = load ptr, ptr %15, align 8, !tbaa !9
  %4090 = call i32 @s2n_connection_set_config(ptr noundef %4088, ptr noundef %4089)
  %4091 = icmp eq i32 %4090, -1
  br i1 %4091, label %4092, label %4145

4092:                                             ; preds = %4085
  br label %4093

4093:                                             ; preds = %4092
  br label %4094

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

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

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

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

4140:                                             ; preds = %4123, %4106
  call void @llvm.lifetime.end.p0(i64 4, ptr %94) #11
  br label %4141

4141:                                             ; preds = %4140
  br label %4142

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

4143:                                             ; No predecessors!
  br label %4144

4144:                                             ; preds = %4143
  br label %4145

4145:                                             ; preds = %4144, %4085
  br label %4146

4146:                                             ; preds = %4145
  br label %4147

4147:                                             ; preds = %4146
  call void @llvm.lifetime.start.p0(i64 8, ptr %95) #11
  %4148 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %4148, ptr %95, align 8, !tbaa !9
  br label %4149

4149:                                             ; preds = %4147
  %4150 = load i32, ptr @test_count, align 4, !tbaa !5
  %4151 = add nsw i32 %4150, 1
  store i32 %4151, ptr @test_count, align 4, !tbaa !5
  %4152 = load ptr, ptr %95, align 8, !tbaa !9
  %4153 = icmp eq ptr %4152, null
  br i1 %4153, label %4154, label %4207

4154:                                             ; preds = %4149
  br label %4155

4155:                                             ; preds = %4154
  br label %4156

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

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

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

4185:                                             ; preds = %4163, %4156
  %4186 = load i32, ptr %96, align 4, !tbaa !5
  %4187 = call ptr @__errno_location() #12
  store i32 %4186, ptr %4187, align 4, !tbaa !5
  %4188 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4189 = load i32, 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 = call ptr @s2n_strerror(i32 noundef %4191, ptr noundef @.str.4)
  %4193 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4194 = load i32, ptr %4193, align 4, !tbaa !5
  %4195 = call ptr @s2n_strerror_debug(i32 noundef %4194, ptr noundef @.str.4)
  %4196 = call ptr @__errno_location() #12
  %4197 = load i32, ptr %4196, align 4, !tbaa !5
  %4198 = call ptr @strerror(i32 noundef %4197) #11
  %4199 = call ptr @__errno_location() #12
  %4200 = load i32, ptr %4199, align 4, !tbaa !5
  %4201 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4188, ptr noundef @.str.5, i32 noundef %4189, ptr noundef @.str.23, ptr noundef @.str.1, i32 noundef 189, ptr noundef %4192, ptr noundef %4195, ptr noundef %4198, i32 noundef %4200) #11
  br label %4202

4202:                                             ; preds = %4185, %4168
  call void @llvm.lifetime.end.p0(i64 4, ptr %96) #11
  br label %4203

4203:                                             ; preds = %4202
  br label %4204

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

4205:                                             ; No predecessors!
  br label %4206

4206:                                             ; preds = %4205
  br label %4207

4207:                                             ; preds = %4206, %4149
  br label %4208

4208:                                             ; preds = %4207
  br label %4209

4209:                                             ; preds = %4208
  br label %4210

4210:                                             ; preds = %4209
  %4211 = load i32, ptr @test_count, align 4, !tbaa !5
  %4212 = add nsw i32 %4211, 1
  store i32 %4212, ptr @test_count, align 4, !tbaa !5
  %4213 = load ptr, ptr %95, align 8, !tbaa !9
  %4214 = load ptr, ptr %15, align 8, !tbaa !9
  %4215 = call i32 @s2n_connection_set_config(ptr noundef %4213, ptr noundef %4214)
  %4216 = icmp eq i32 %4215, -1
  br i1 %4216, label %4217, label %4270

4217:                                             ; preds = %4210
  br label %4218

4218:                                             ; preds = %4217
  br label %4219

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

4226:                                             ; preds = %4219
  %4227 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4228 = call i32 @fileno(ptr noundef %4227) #11
  %4229 = call i32 @isatty(i32 noundef %4228) #11
  %4230 = icmp ne i32 %4229, 0
  br i1 %4230, label %4231, label %4248

4231:                                             ; preds = %4226
  %4232 = load i32, ptr %97, align 4, !tbaa !5
  %4233 = call ptr @__errno_location() #12
  store i32 %4232, ptr %4233, align 4, !tbaa !5
  %4234 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4235 = load i32, ptr @test_count, align 4, !tbaa !5
  %4236 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4237 = load i32, ptr %4236, align 4, !tbaa !5
  %4238 = call ptr @s2n_strerror(i32 noundef %4237, ptr noundef @.str.4)
  %4239 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4240 = load i32, ptr %4239, align 4, !tbaa !5
  %4241 = call ptr @s2n_strerror_debug(i32 noundef %4240, ptr noundef @.str.4)
  %4242 = call ptr @__errno_location() #12
  %4243 = load i32, ptr %4242, align 4, !tbaa !5
  %4244 = call ptr @strerror(i32 noundef %4243) #11
  %4245 = call ptr @__errno_location() #12
  %4246 = load i32, ptr %4245, align 4, !tbaa !5
  %4247 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4234, ptr noundef @.str.2, i32 noundef %4235, ptr noundef @.str.24, ptr noundef @.str.1, i32 noundef 190, ptr noundef %4238, ptr noundef %4241, ptr noundef %4244, i32 noundef %4246) #11
  br label %4265

4248:                                             ; preds = %4226, %4219
  %4249 = load i32, ptr %97, align 4, !tbaa !5
  %4250 = call ptr @__errno_location() #12
  store i32 %4249, ptr %4250, align 4, !tbaa !5
  %4251 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4252 = load i32, ptr @test_count, align 4, !tbaa !5
  %4253 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4254 = load i32, ptr %4253, align 4, !tbaa !5
  %4255 = call ptr @s2n_strerror(i32 noundef %4254, ptr noundef @.str.4)
  %4256 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4257 = load i32, ptr %4256, align 4, !tbaa !5
  %4258 = call ptr @s2n_strerror_debug(i32 noundef %4257, ptr noundef @.str.4)
  %4259 = call ptr @__errno_location() #12
  %4260 = load i32, ptr %4259, align 4, !tbaa !5
  %4261 = call ptr @strerror(i32 noundef %4260) #11
  %4262 = call ptr @__errno_location() #12
  %4263 = load i32, ptr %4262, align 4, !tbaa !5
  %4264 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4251, ptr noundef @.str.5, i32 noundef %4252, ptr noundef @.str.24, ptr noundef @.str.1, i32 noundef 190, ptr noundef %4255, ptr noundef %4258, ptr noundef %4261, i32 noundef %4263) #11
  br label %4265

4265:                                             ; preds = %4248, %4231
  call void @llvm.lifetime.end.p0(i64 4, ptr %97) #11
  br label %4266

4266:                                             ; preds = %4265
  br label %4267

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

4268:                                             ; No predecessors!
  br label %4269

4269:                                             ; preds = %4268
  br label %4270

4270:                                             ; preds = %4269, %4210
  br label %4271

4271:                                             ; preds = %4270
  br label %4272

4272:                                             ; preds = %4271
  call void @llvm.lifetime.start.p0(i64 40, ptr %98) #11
  call void @llvm.memset.p0.i64(ptr align 8 %98, i8 0, i64 40, i1 false)
  call void @llvm.lifetime.start.p0(i64 40, ptr %99) #11
  call void @llvm.memset.p0.i64(ptr align 8 %99, i8 0, i64 40, i1 false)
  br label %4273

4273:                                             ; preds = %4272
  %4274 = load i32, ptr @test_count, align 4, !tbaa !5
  %4275 = add nsw i32 %4274, 1
  store i32 %4275, ptr @test_count, align 4, !tbaa !5
  %4276 = call i32 @s2n_stuffer_growable_alloc(ptr noundef %98, i32 noundef 0)
  %4277 = icmp eq i32 %4276, -1
  br i1 %4277, label %4278, label %4331

4278:                                             ; preds = %4273
  br label %4279

4279:                                             ; preds = %4278
  br label %4280

4280:                                             ; preds = %4279
  call void @llvm.lifetime.start.p0(i64 4, ptr %100) #11
  %4281 = call ptr @__errno_location() #12
  %4282 = load i32, ptr %4281, align 4, !tbaa !5
  store i32 %4282, ptr %100, align 4, !tbaa !5
  %4283 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4284 = call i32 @s2n_print_stacktrace(ptr noundef %4283)
  %4285 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4286 = trunc i8 %4285 to i1
  br i1 %4286, label %4287, label %4309

4287:                                             ; preds = %4280
  %4288 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4289 = call i32 @fileno(ptr noundef %4288) #11
  %4290 = call i32 @isatty(i32 noundef %4289) #11
  %4291 = icmp ne i32 %4290, 0
  br i1 %4291, label %4292, label %4309

4292:                                             ; preds = %4287
  %4293 = load i32, ptr %100, align 4, !tbaa !5
  %4294 = call ptr @__errno_location() #12
  store i32 %4293, ptr %4294, align 4, !tbaa !5
  %4295 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4296 = load i32, ptr @test_count, align 4, !tbaa !5
  %4297 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4298 = load i32, ptr %4297, align 4, !tbaa !5
  %4299 = call ptr @s2n_strerror(i32 noundef %4298, ptr noundef @.str.4)
  %4300 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4301 = load i32, ptr %4300, align 4, !tbaa !5
  %4302 = call ptr @s2n_strerror_debug(i32 noundef %4301, ptr noundef @.str.4)
  %4303 = call ptr @__errno_location() #12
  %4304 = load i32, ptr %4303, align 4, !tbaa !5
  %4305 = call ptr @strerror(i32 noundef %4304) #11
  %4306 = call ptr @__errno_location() #12
  %4307 = load i32, ptr %4306, align 4, !tbaa !5
  %4308 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4295, ptr noundef @.str.2, i32 noundef %4296, ptr noundef @.str.37, ptr noundef @.str.1, i32 noundef 194, ptr noundef %4299, ptr noundef %4302, ptr noundef %4305, i32 noundef %4307) #11
  br label %4326

4309:                                             ; preds = %4287, %4280
  %4310 = load i32, ptr %100, align 4, !tbaa !5
  %4311 = call ptr @__errno_location() #12
  store i32 %4310, ptr %4311, align 4, !tbaa !5
  %4312 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4313 = load i32, ptr @test_count, align 4, !tbaa !5
  %4314 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4315 = load i32, ptr %4314, align 4, !tbaa !5
  %4316 = call ptr @s2n_strerror(i32 noundef %4315, ptr noundef @.str.4)
  %4317 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4318 = load i32, ptr %4317, align 4, !tbaa !5
  %4319 = call ptr @s2n_strerror_debug(i32 noundef %4318, ptr noundef @.str.4)
  %4320 = call ptr @__errno_location() #12
  %4321 = load i32, ptr %4320, align 4, !tbaa !5
  %4322 = call ptr @strerror(i32 noundef %4321) #11
  %4323 = call ptr @__errno_location() #12
  %4324 = load i32, ptr %4323, align 4, !tbaa !5
  %4325 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4312, ptr noundef @.str.5, i32 noundef %4313, ptr noundef @.str.37, ptr noundef @.str.1, i32 noundef 194, ptr noundef %4316, ptr noundef %4319, ptr noundef %4322, i32 noundef %4324) #11
  br label %4326

4326:                                             ; preds = %4309, %4292
  call void @llvm.lifetime.end.p0(i64 4, ptr %100) #11
  br label %4327

4327:                                             ; preds = %4326
  br label %4328

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

4329:                                             ; No predecessors!
  br label %4330

4330:                                             ; preds = %4329
  br label %4331

4331:                                             ; preds = %4330, %4273
  br label %4332

4332:                                             ; preds = %4331
  br label %4333

4333:                                             ; preds = %4332
  br label %4334

4334:                                             ; preds = %4333
  %4335 = load i32, ptr @test_count, align 4, !tbaa !5
  %4336 = add nsw i32 %4335, 1
  store i32 %4336, ptr @test_count, align 4, !tbaa !5
  %4337 = call i32 @s2n_stuffer_growable_alloc(ptr noundef %99, i32 noundef 0)
  %4338 = icmp eq i32 %4337, -1
  br i1 %4338, label %4339, label %4392

4339:                                             ; preds = %4334
  br label %4340

4340:                                             ; preds = %4339
  br label %4341

4341:                                             ; preds = %4340
  call void @llvm.lifetime.start.p0(i64 4, ptr %101) #11
  %4342 = call ptr @__errno_location() #12
  %4343 = load i32, ptr %4342, align 4, !tbaa !5
  store i32 %4343, ptr %101, align 4, !tbaa !5
  %4344 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4345 = call i32 @s2n_print_stacktrace(ptr noundef %4344)
  %4346 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4347 = trunc i8 %4346 to i1
  br i1 %4347, label %4348, label %4370

4348:                                             ; preds = %4341
  %4349 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4350 = call i32 @fileno(ptr noundef %4349) #11
  %4351 = call i32 @isatty(i32 noundef %4350) #11
  %4352 = icmp ne i32 %4351, 0
  br i1 %4352, label %4353, label %4370

4353:                                             ; preds = %4348
  %4354 = load i32, ptr %101, align 4, !tbaa !5
  %4355 = call ptr @__errno_location() #12
  store i32 %4354, ptr %4355, align 4, !tbaa !5
  %4356 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4357 = load i32, ptr @test_count, align 4, !tbaa !5
  %4358 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4359 = load i32, ptr %4358, align 4, !tbaa !5
  %4360 = call ptr @s2n_strerror(i32 noundef %4359, ptr noundef @.str.4)
  %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_debug(i32 noundef %4362, ptr noundef @.str.4)
  %4364 = call ptr @__errno_location() #12
  %4365 = load i32, ptr %4364, align 4, !tbaa !5
  %4366 = call ptr @strerror(i32 noundef %4365) #11
  %4367 = call ptr @__errno_location() #12
  %4368 = load i32, ptr %4367, align 4, !tbaa !5
  %4369 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4356, ptr noundef @.str.2, i32 noundef %4357, ptr noundef @.str.38, ptr noundef @.str.1, i32 noundef 195, ptr noundef %4360, ptr noundef %4363, ptr noundef %4366, i32 noundef %4368) #11
  br label %4387

4370:                                             ; preds = %4348, %4341
  %4371 = load i32, ptr %101, align 4, !tbaa !5
  %4372 = call ptr @__errno_location() #12
  store i32 %4371, ptr %4372, align 4, !tbaa !5
  %4373 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4374 = load i32, ptr @test_count, align 4, !tbaa !5
  %4375 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4376 = load i32, ptr %4375, align 4, !tbaa !5
  %4377 = call ptr @s2n_strerror(i32 noundef %4376, ptr noundef @.str.4)
  %4378 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4379 = load i32, ptr %4378, align 4, !tbaa !5
  %4380 = call ptr @s2n_strerror_debug(i32 noundef %4379, ptr noundef @.str.4)
  %4381 = call ptr @__errno_location() #12
  %4382 = load i32, ptr %4381, align 4, !tbaa !5
  %4383 = call ptr @strerror(i32 noundef %4382) #11
  %4384 = call ptr @__errno_location() #12
  %4385 = load i32, ptr %4384, align 4, !tbaa !5
  %4386 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4373, ptr noundef @.str.5, i32 noundef %4374, ptr noundef @.str.38, ptr noundef @.str.1, i32 noundef 195, ptr noundef %4377, ptr noundef %4380, ptr noundef %4383, i32 noundef %4385) #11
  br label %4387

4387:                                             ; preds = %4370, %4353
  call void @llvm.lifetime.end.p0(i64 4, ptr %101) #11
  br label %4388

4388:                                             ; preds = %4387
  br label %4389

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

4390:                                             ; No predecessors!
  br label %4391

4391:                                             ; preds = %4390
  br label %4392

4392:                                             ; preds = %4391, %4334
  br label %4393

4393:                                             ; preds = %4392
  br label %4394

4394:                                             ; preds = %4393
  br label %4395

4395:                                             ; preds = %4394
  %4396 = load i32, ptr @test_count, align 4, !tbaa !5
  %4397 = add nsw i32 %4396, 1
  store i32 %4397, ptr @test_count, align 4, !tbaa !5
  %4398 = load ptr, ptr %95, align 8, !tbaa !9
  %4399 = call i32 @s2n_connection_set_io_stuffers(ptr noundef %98, ptr noundef %99, ptr noundef %4398)
  %4400 = icmp eq i32 %4399, -1
  br i1 %4400, label %4401, label %4454

4401:                                             ; preds = %4395
  br label %4402

4402:                                             ; preds = %4401
  br label %4403

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

4410:                                             ; preds = %4403
  %4411 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4412 = call i32 @fileno(ptr noundef %4411) #11
  %4413 = call i32 @isatty(i32 noundef %4412) #11
  %4414 = icmp ne i32 %4413, 0
  br i1 %4414, label %4415, label %4432

4415:                                             ; preds = %4410
  %4416 = load i32, ptr %102, align 4, !tbaa !5
  %4417 = call ptr @__errno_location() #12
  store i32 %4416, ptr %4417, align 4, !tbaa !5
  %4418 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4419 = load i32, ptr @test_count, align 4, !tbaa !5
  %4420 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4421 = load i32, ptr %4420, align 4, !tbaa !5
  %4422 = call ptr @s2n_strerror(i32 noundef %4421, ptr noundef @.str.4)
  %4423 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4424 = load i32, ptr %4423, align 4, !tbaa !5
  %4425 = call ptr @s2n_strerror_debug(i32 noundef %4424, ptr noundef @.str.4)
  %4426 = call ptr @__errno_location() #12
  %4427 = load i32, ptr %4426, align 4, !tbaa !5
  %4428 = call ptr @strerror(i32 noundef %4427) #11
  %4429 = call ptr @__errno_location() #12
  %4430 = load i32, ptr %4429, align 4, !tbaa !5
  %4431 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4418, ptr noundef @.str.2, i32 noundef %4419, ptr noundef @.str.39, ptr noundef @.str.1, i32 noundef 196, ptr noundef %4422, ptr noundef %4425, ptr noundef %4428, i32 noundef %4430) #11
  br label %4449

4432:                                             ; preds = %4410, %4403
  %4433 = load i32, ptr %102, align 4, !tbaa !5
  %4434 = call ptr @__errno_location() #12
  store i32 %4433, ptr %4434, align 4, !tbaa !5
  %4435 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4436 = load i32, ptr @test_count, align 4, !tbaa !5
  %4437 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4438 = load i32, ptr %4437, align 4, !tbaa !5
  %4439 = call ptr @s2n_strerror(i32 noundef %4438, ptr noundef @.str.4)
  %4440 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4441 = load i32, ptr %4440, align 4, !tbaa !5
  %4442 = call ptr @s2n_strerror_debug(i32 noundef %4441, ptr noundef @.str.4)
  %4443 = call ptr @__errno_location() #12
  %4444 = load i32, ptr %4443, align 4, !tbaa !5
  %4445 = call ptr @strerror(i32 noundef %4444) #11
  %4446 = call ptr @__errno_location() #12
  %4447 = load i32, ptr %4446, align 4, !tbaa !5
  %4448 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4435, ptr noundef @.str.5, i32 noundef %4436, ptr noundef @.str.39, ptr noundef @.str.1, i32 noundef 196, ptr noundef %4439, ptr noundef %4442, ptr noundef %4445, i32 noundef %4447) #11
  br label %4449

4449:                                             ; preds = %4432, %4415
  call void @llvm.lifetime.end.p0(i64 4, ptr %102) #11
  br label %4450

4450:                                             ; preds = %4449
  br label %4451

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

4452:                                             ; No predecessors!
  br label %4453

4453:                                             ; preds = %4452
  br label %4454

4454:                                             ; preds = %4453, %4395
  br label %4455

4455:                                             ; preds = %4454
  br label %4456

4456:                                             ; preds = %4455
  br label %4457

4457:                                             ; preds = %4456
  %4458 = load i32, ptr @test_count, align 4, !tbaa !5
  %4459 = add nsw i32 %4458, 1
  store i32 %4459, ptr @test_count, align 4, !tbaa !5
  %4460 = load ptr, ptr %92, align 8, !tbaa !9
  %4461 = call i32 @s2n_connection_set_io_stuffers(ptr noundef %99, ptr noundef %98, ptr noundef %4460)
  %4462 = icmp eq i32 %4461, -1
  br i1 %4462, label %4463, label %4516

4463:                                             ; preds = %4457
  br label %4464

4464:                                             ; preds = %4463
  br label %4465

4465:                                             ; preds = %4464
  call void @llvm.lifetime.start.p0(i64 4, ptr %103) #11
  %4466 = call ptr @__errno_location() #12
  %4467 = load i32, ptr %4466, align 4, !tbaa !5
  store i32 %4467, ptr %103, align 4, !tbaa !5
  %4468 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4469 = call i32 @s2n_print_stacktrace(ptr noundef %4468)
  %4470 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4471 = trunc i8 %4470 to i1
  br i1 %4471, label %4472, label %4494

4472:                                             ; preds = %4465
  %4473 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4474 = call i32 @fileno(ptr noundef %4473) #11
  %4475 = call i32 @isatty(i32 noundef %4474) #11
  %4476 = icmp ne i32 %4475, 0
  br i1 %4476, label %4477, label %4494

4477:                                             ; preds = %4472
  %4478 = load i32, ptr %103, align 4, !tbaa !5
  %4479 = call ptr @__errno_location() #12
  store i32 %4478, ptr %4479, align 4, !tbaa !5
  %4480 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4481 = load i32, ptr @test_count, align 4, !tbaa !5
  %4482 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4483 = load i32, ptr %4482, align 4, !tbaa !5
  %4484 = call ptr @s2n_strerror(i32 noundef %4483, ptr noundef @.str.4)
  %4485 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4486 = load i32, ptr %4485, align 4, !tbaa !5
  %4487 = call ptr @s2n_strerror_debug(i32 noundef %4486, ptr noundef @.str.4)
  %4488 = call ptr @__errno_location() #12
  %4489 = load i32, ptr %4488, align 4, !tbaa !5
  %4490 = call ptr @strerror(i32 noundef %4489) #11
  %4491 = call ptr @__errno_location() #12
  %4492 = load i32, ptr %4491, align 4, !tbaa !5
  %4493 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4480, ptr noundef @.str.2, i32 noundef %4481, ptr noundef @.str.40, ptr noundef @.str.1, i32 noundef 197, ptr noundef %4484, ptr noundef %4487, ptr noundef %4490, i32 noundef %4492) #11
  br label %4511

4494:                                             ; preds = %4472, %4465
  %4495 = load i32, ptr %103, align 4, !tbaa !5
  %4496 = call ptr @__errno_location() #12
  store i32 %4495, ptr %4496, align 4, !tbaa !5
  %4497 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4498 = load i32, ptr @test_count, align 4, !tbaa !5
  %4499 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4500 = load i32, ptr %4499, align 4, !tbaa !5
  %4501 = call ptr @s2n_strerror(i32 noundef %4500, ptr noundef @.str.4)
  %4502 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4503 = load i32, ptr %4502, align 4, !tbaa !5
  %4504 = call ptr @s2n_strerror_debug(i32 noundef %4503, ptr noundef @.str.4)
  %4505 = call ptr @__errno_location() #12
  %4506 = load i32, ptr %4505, align 4, !tbaa !5
  %4507 = call ptr @strerror(i32 noundef %4506) #11
  %4508 = call ptr @__errno_location() #12
  %4509 = load i32, ptr %4508, align 4, !tbaa !5
  %4510 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4497, ptr noundef @.str.5, i32 noundef %4498, ptr noundef @.str.40, ptr noundef @.str.1, i32 noundef 197, ptr noundef %4501, ptr noundef %4504, ptr noundef %4507, i32 noundef %4509) #11
  br label %4511

4511:                                             ; preds = %4494, %4477
  call void @llvm.lifetime.end.p0(i64 4, ptr %103) #11
  br label %4512

4512:                                             ; preds = %4511
  br label %4513

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

4514:                                             ; No predecessors!
  br label %4515

4515:                                             ; preds = %4514
  br label %4516

4516:                                             ; preds = %4515, %4457
  br label %4517

4517:                                             ; preds = %4516
  br label %4518

4518:                                             ; preds = %4517
  br label %4519

4519:                                             ; preds = %4518
  %4520 = load i32, ptr @test_count, align 4, !tbaa !5
  %4521 = add nsw i32 %4520, 1
  store i32 %4521, ptr @test_count, align 4, !tbaa !5
  %4522 = load ptr, ptr %92, align 8, !tbaa !9
  %4523 = load ptr, ptr %95, align 8, !tbaa !9
  %4524 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef %4522, ptr noundef %4523)
  %4525 = icmp eq i32 %4524, -1
  br i1 %4525, label %4526, label %4579

4526:                                             ; preds = %4519
  br label %4527

4527:                                             ; preds = %4526
  br label %4528

4528:                                             ; preds = %4527
  call void @llvm.lifetime.start.p0(i64 4, ptr %104) #11
  %4529 = call ptr @__errno_location() #12
  %4530 = load i32, ptr %4529, align 4, !tbaa !5
  store i32 %4530, ptr %104, align 4, !tbaa !5
  %4531 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4532 = call i32 @s2n_print_stacktrace(ptr noundef %4531)
  %4533 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4534 = trunc i8 %4533 to i1
  br i1 %4534, label %4535, label %4557

4535:                                             ; preds = %4528
  %4536 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4537 = call i32 @fileno(ptr noundef %4536) #11
  %4538 = call i32 @isatty(i32 noundef %4537) #11
  %4539 = icmp ne i32 %4538, 0
  br i1 %4539, label %4540, label %4557

4540:                                             ; preds = %4535
  %4541 = load i32, ptr %104, 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.4)
  %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.4)
  %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.2, i32 noundef %4544, ptr noundef @.str.32, ptr noundef @.str.1, i32 noundef 199, ptr noundef %4547, ptr noundef %4550, ptr noundef %4553, i32 noundef %4555) #11
  br label %4574

4557:                                             ; preds = %4535, %4528
  %4558 = load i32, ptr %104, align 4, !tbaa !5
  %4559 = call ptr @__errno_location() #12
  store i32 %4558, ptr %4559, align 4, !tbaa !5
  %4560 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4561 = load i32, ptr @test_count, align 4, !tbaa !5
  %4562 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4563 = load i32, ptr %4562, align 4, !tbaa !5
  %4564 = call ptr @s2n_strerror(i32 noundef %4563, ptr noundef @.str.4)
  %4565 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4566 = load i32, ptr %4565, align 4, !tbaa !5
  %4567 = call ptr @s2n_strerror_debug(i32 noundef %4566, ptr noundef @.str.4)
  %4568 = call ptr @__errno_location() #12
  %4569 = load i32, ptr %4568, align 4, !tbaa !5
  %4570 = call ptr @strerror(i32 noundef %4569) #11
  %4571 = call ptr @__errno_location() #12
  %4572 = load i32, ptr %4571, align 4, !tbaa !5
  %4573 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4560, ptr noundef @.str.5, i32 noundef %4561, ptr noundef @.str.32, ptr noundef @.str.1, i32 noundef 199, ptr noundef %4564, ptr noundef %4567, ptr noundef %4570, i32 noundef %4572) #11
  br label %4574

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

4575:                                             ; preds = %4574
  br label %4576

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

4577:                                             ; No predecessors!
  br label %4578

4578:                                             ; preds = %4577
  br label %4579

4579:                                             ; preds = %4578, %4519
  br label %4580

4580:                                             ; preds = %4579
  br label %4581

4581:                                             ; preds = %4580
  call void @llvm.lifetime.start.p0(i64 8, ptr %105) #11
  store i64 5, ptr %105, align 8, !tbaa !45
  %4582 = load ptr, ptr %95, align 8, !tbaa !9
  %4583 = getelementptr inbounds %struct.s2n_connection, ptr %4582, i32 0, i32 53
  store i16 5, ptr %4583, align 8, !tbaa !46
  br label %4584

4584:                                             ; preds = %4581
  %4585 = load i32, ptr @test_count, align 4, !tbaa !5
  %4586 = add nsw i32 %4585, 1
  store i32 %4586, ptr @test_count, align 4, !tbaa !5
  %4587 = load ptr, ptr %95, align 8, !tbaa !9
  %4588 = getelementptr inbounds [20 x i8], ptr %20, i64 0, i64 0
  %4589 = call i64 @s2n_send(ptr noundef %4587, ptr noundef %4588, i64 noundef 20, ptr noundef %22)
  %4590 = icmp eq i64 %4589, 20
  br i1 %4590, label %4644, label %4591

4591:                                             ; preds = %4584
  br label %4592

4592:                                             ; preds = %4591
  br label %4593

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

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

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

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

4639:                                             ; preds = %4622, %4605
  call void @llvm.lifetime.end.p0(i64 4, ptr %106) #11
  br label %4640

4640:                                             ; preds = %4639
  br label %4641

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

4642:                                             ; No predecessors!
  br label %4643

4643:                                             ; preds = %4642
  br label %4644

4644:                                             ; preds = %4643, %4584
  br label %4645

4645:                                             ; preds = %4644
  br label %4646

4646:                                             ; preds = %4645
  call void @llvm.lifetime.start.p0(i64 8, ptr %107) #11
  %4647 = getelementptr inbounds %struct.s2n_stuffer, ptr %99, i32 0, i32 2
  %4648 = load i32, ptr %4647, align 4, !tbaa !43
  %4649 = getelementptr inbounds %struct.s2n_stuffer, ptr %99, i32 0, i32 1
  %4650 = load i32, ptr %4649, align 8, !tbaa !44
  %4651 = sub i32 %4648, %4650
  %4652 = zext i32 %4651 to i64
  store i64 %4652, ptr %107, align 8, !tbaa !45
  br label %4653

4653:                                             ; preds = %4646
  %4654 = load i32, ptr @test_count, align 4, !tbaa !5
  %4655 = add nsw i32 %4654, 1
  store i32 %4655, ptr @test_count, align 4, !tbaa !5
  %4656 = call i32 @s2n_stuffer_wipe(ptr noundef %99)
  %4657 = icmp eq i32 %4656, -1
  br i1 %4657, label %4658, label %4711

4658:                                             ; preds = %4653
  br label %4659

4659:                                             ; preds = %4658
  br label %4660

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

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

4672:                                             ; preds = %4667
  %4673 = load i32, ptr %108, align 4, !tbaa !5
  %4674 = call ptr @__errno_location() #12
  store i32 %4673, ptr %4674, align 4, !tbaa !5
  %4675 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4676 = load i32, ptr @test_count, align 4, !tbaa !5
  %4677 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4678 = load i32, ptr %4677, align 4, !tbaa !5
  %4679 = call ptr @s2n_strerror(i32 noundef %4678, ptr noundef @.str.4)
  %4680 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4681 = load i32, ptr %4680, align 4, !tbaa !5
  %4682 = call ptr @s2n_strerror_debug(i32 noundef %4681, ptr noundef @.str.4)
  %4683 = call ptr @__errno_location() #12
  %4684 = load i32, ptr %4683, align 4, !tbaa !5
  %4685 = call ptr @strerror(i32 noundef %4684) #11
  %4686 = call ptr @__errno_location() #12
  %4687 = load i32, ptr %4686, align 4, !tbaa !5
  %4688 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4675, ptr noundef @.str.2, i32 noundef %4676, ptr noundef @.str.47, ptr noundef @.str.1, i32 noundef 206, ptr noundef %4679, ptr noundef %4682, ptr noundef %4685, i32 noundef %4687) #11
  br label %4706

4689:                                             ; preds = %4667, %4660
  %4690 = load i32, ptr %108, align 4, !tbaa !5
  %4691 = call ptr @__errno_location() #12
  store i32 %4690, ptr %4691, align 4, !tbaa !5
  %4692 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4693 = load i32, ptr @test_count, align 4, !tbaa !5
  %4694 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4695 = load i32, ptr %4694, align 4, !tbaa !5
  %4696 = call ptr @s2n_strerror(i32 noundef %4695, ptr noundef @.str.4)
  %4697 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4698 = load i32, ptr %4697, align 4, !tbaa !5
  %4699 = call ptr @s2n_strerror_debug(i32 noundef %4698, ptr noundef @.str.4)
  %4700 = call ptr @__errno_location() #12
  %4701 = load i32, ptr %4700, align 4, !tbaa !5
  %4702 = call ptr @strerror(i32 noundef %4701) #11
  %4703 = call ptr @__errno_location() #12
  %4704 = load i32, ptr %4703, align 4, !tbaa !5
  %4705 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4692, ptr noundef @.str.5, i32 noundef %4693, ptr noundef @.str.47, ptr noundef @.str.1, i32 noundef 206, ptr noundef %4696, ptr noundef %4699, ptr noundef %4702, i32 noundef %4704) #11
  br label %4706

4706:                                             ; preds = %4689, %4672
  call void @llvm.lifetime.end.p0(i64 4, ptr %108) #11
  br label %4707

4707:                                             ; preds = %4706
  br label %4708

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

4709:                                             ; No predecessors!
  br label %4710

4710:                                             ; preds = %4709
  br label %4711

4711:                                             ; preds = %4710, %4653
  br label %4712

4712:                                             ; preds = %4711
  br label %4713

4713:                                             ; preds = %4712
  br label %4714

4714:                                             ; preds = %4713
  %4715 = load i32, ptr @test_count, align 4, !tbaa !5
  %4716 = add nsw i32 %4715, 1
  store i32 %4716, ptr @test_count, align 4, !tbaa !5
  %4717 = load ptr, ptr %95, align 8, !tbaa !9
  %4718 = call i32 @s2n_renegotiate_wipe(ptr noundef %4717)
  %4719 = icmp eq i32 %4718, -1
  br i1 %4719, label %4720, label %4773

4720:                                             ; preds = %4714
  br label %4721

4721:                                             ; preds = %4720
  br label %4722

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

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

4734:                                             ; preds = %4729
  %4735 = load i32, ptr %109, align 4, !tbaa !5
  %4736 = call ptr @__errno_location() #12
  store i32 %4735, ptr %4736, align 4, !tbaa !5
  %4737 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4738 = load i32, ptr @test_count, align 4, !tbaa !5
  %4739 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4740 = load i32, ptr %4739, align 4, !tbaa !5
  %4741 = call ptr @s2n_strerror(i32 noundef %4740, ptr noundef @.str.4)
  %4742 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4743 = load i32, ptr %4742, align 4, !tbaa !5
  %4744 = call ptr @s2n_strerror_debug(i32 noundef %4743, ptr noundef @.str.4)
  %4745 = call ptr @__errno_location() #12
  %4746 = load i32, ptr %4745, align 4, !tbaa !5
  %4747 = call ptr @strerror(i32 noundef %4746) #11
  %4748 = call ptr @__errno_location() #12
  %4749 = load i32, ptr %4748, align 4, !tbaa !5
  %4750 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4737, ptr noundef @.str.2, i32 noundef %4738, ptr noundef @.str.33, ptr noundef @.str.1, i32 noundef 208, ptr noundef %4741, ptr noundef %4744, ptr noundef %4747, i32 noundef %4749) #11
  br label %4768

4751:                                             ; preds = %4729, %4722
  %4752 = load i32, ptr %109, align 4, !tbaa !5
  %4753 = call ptr @__errno_location() #12
  store i32 %4752, ptr %4753, align 4, !tbaa !5
  %4754 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4755 = load i32, ptr @test_count, align 4, !tbaa !5
  %4756 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4757 = load i32, ptr %4756, align 4, !tbaa !5
  %4758 = call ptr @s2n_strerror(i32 noundef %4757, ptr noundef @.str.4)
  %4759 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4760 = load i32, ptr %4759, align 4, !tbaa !5
  %4761 = call ptr @s2n_strerror_debug(i32 noundef %4760, ptr noundef @.str.4)
  %4762 = call ptr @__errno_location() #12
  %4763 = load i32, ptr %4762, align 4, !tbaa !5
  %4764 = call ptr @strerror(i32 noundef %4763) #11
  %4765 = call ptr @__errno_location() #12
  %4766 = load i32, ptr %4765, align 4, !tbaa !5
  %4767 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4754, ptr noundef @.str.5, i32 noundef %4755, ptr noundef @.str.33, ptr noundef @.str.1, i32 noundef 208, ptr noundef %4758, ptr noundef %4761, ptr noundef %4764, i32 noundef %4766) #11
  br label %4768

4768:                                             ; preds = %4751, %4734
  call void @llvm.lifetime.end.p0(i64 4, ptr %109) #11
  br label %4769

4769:                                             ; preds = %4768
  br label %4770

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

4771:                                             ; No predecessors!
  br label %4772

4772:                                             ; preds = %4771
  br label %4773

4773:                                             ; preds = %4772, %4714
  br label %4774

4774:                                             ; preds = %4773
  br label %4775

4775:                                             ; preds = %4774
  br label %4776

4776:                                             ; preds = %4775
  %4777 = load i32, ptr @test_count, align 4, !tbaa !5
  %4778 = add nsw i32 %4777, 1
  store i32 %4778, ptr @test_count, align 4, !tbaa !5
  %4779 = load ptr, ptr %95, align 8, !tbaa !9
  %4780 = getelementptr inbounds %struct.s2n_connection, ptr %4779, i32 0, i32 53
  %4781 = load i16, ptr %4780, align 8, !tbaa !46
  %4782 = zext i16 %4781 to i64
  %4783 = icmp eq i64 %4782, 5
  br i1 %4783, label %4837, label %4784

4784:                                             ; preds = %4776
  br label %4785

4785:                                             ; preds = %4784
  br label %4786

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

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

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

4815:                                             ; preds = %4793, %4786
  %4816 = load i32, ptr %110, align 4, !tbaa !5
  %4817 = call ptr @__errno_location() #12
  store i32 %4816, ptr %4817, align 4, !tbaa !5
  %4818 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4819 = load i32, ptr @test_count, align 4, !tbaa !5
  %4820 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4821 = load i32, ptr %4820, align 4, !tbaa !5
  %4822 = call ptr @s2n_strerror(i32 noundef %4821, ptr noundef @.str.4)
  %4823 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4824 = load i32, ptr %4823, align 4, !tbaa !5
  %4825 = call ptr @s2n_strerror_debug(i32 noundef %4824, ptr noundef @.str.4)
  %4826 = call ptr @__errno_location() #12
  %4827 = load i32, ptr %4826, align 4, !tbaa !5
  %4828 = call ptr @strerror(i32 noundef %4827) #11
  %4829 = call ptr @__errno_location() #12
  %4830 = load i32, ptr %4829, align 4, !tbaa !5
  %4831 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4818, ptr noundef @.str.5, i32 noundef %4819, ptr noundef @.str.49, ptr noundef @.str.1, i32 noundef 209, ptr noundef %4822, ptr noundef %4825, ptr noundef %4828, i32 noundef %4830) #11
  br label %4832

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

4833:                                             ; preds = %4832
  br label %4834

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

4835:                                             ; No predecessors!
  br label %4836

4836:                                             ; preds = %4835
  br label %4837

4837:                                             ; preds = %4836, %4776
  br label %4838

4838:                                             ; preds = %4837
  br label %4839

4839:                                             ; preds = %4838
  br label %4840

4840:                                             ; preds = %4839
  %4841 = load i32, ptr @test_count, align 4, !tbaa !5
  %4842 = add nsw i32 %4841, 1
  store i32 %4842, ptr @test_count, align 4, !tbaa !5
  %4843 = load ptr, ptr %95, align 8, !tbaa !9
  %4844 = getelementptr inbounds [20 x i8], ptr %20, i64 0, i64 0
  %4845 = call i64 @s2n_send(ptr noundef %4843, ptr noundef %4844, i64 noundef 20, ptr noundef %22)
  %4846 = icmp eq i64 %4845, 20
  br i1 %4846, label %4900, label %4847

4847:                                             ; preds = %4840
  br label %4848

4848:                                             ; preds = %4847
  br label %4849

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

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

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

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

4895:                                             ; preds = %4878, %4861
  call void @llvm.lifetime.end.p0(i64 4, ptr %111) #11
  br label %4896

4896:                                             ; preds = %4895
  br label %4897

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

4898:                                             ; No predecessors!
  br label %4899

4899:                                             ; preds = %4898
  br label %4900

4900:                                             ; preds = %4899, %4840
  br label %4901

4901:                                             ; preds = %4900
  br label %4902

4902:                                             ; preds = %4901
  call void @llvm.lifetime.start.p0(i64 8, ptr %112) #11
  %4903 = getelementptr inbounds %struct.s2n_stuffer, ptr %99, i32 0, i32 2
  %4904 = load i32, ptr %4903, align 4, !tbaa !43
  %4905 = getelementptr inbounds %struct.s2n_stuffer, ptr %99, i32 0, i32 1
  %4906 = load i32, ptr %4905, align 8, !tbaa !44
  %4907 = sub i32 %4904, %4906
  %4908 = zext i32 %4907 to i64
  store i64 %4908, ptr %112, align 8, !tbaa !45
  br label %4909

4909:                                             ; preds = %4902
  %4910 = load i32, ptr @test_count, align 4, !tbaa !5
  %4911 = add nsw i32 %4910, 1
  store i32 %4911, ptr @test_count, align 4, !tbaa !5
  %4912 = load i64, ptr %107, align 8, !tbaa !45
  %4913 = load i64, ptr %112, align 8, !tbaa !45
  %4914 = icmp eq i64 %4912, %4913
  br i1 %4914, label %4968, label %4915

4915:                                             ; preds = %4909
  br label %4916

4916:                                             ; preds = %4915
  br label %4917

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

4924:                                             ; preds = %4917
  %4925 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4926 = call i32 @fileno(ptr noundef %4925) #11
  %4927 = call i32 @isatty(i32 noundef %4926) #11
  %4928 = icmp ne i32 %4927, 0
  br i1 %4928, label %4929, label %4946

4929:                                             ; preds = %4924
  %4930 = load i32, ptr %113, align 4, !tbaa !5
  %4931 = call ptr @__errno_location() #12
  store i32 %4930, ptr %4931, align 4, !tbaa !5
  %4932 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4933 = load i32, ptr @test_count, align 4, !tbaa !5
  %4934 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4935 = load i32, ptr %4934, align 4, !tbaa !5
  %4936 = call ptr @s2n_strerror(i32 noundef %4935, ptr noundef @.str.4)
  %4937 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4938 = load i32, ptr %4937, align 4, !tbaa !5
  %4939 = call ptr @s2n_strerror_debug(i32 noundef %4938, ptr noundef @.str.4)
  %4940 = call ptr @__errno_location() #12
  %4941 = load i32, ptr %4940, align 4, !tbaa !5
  %4942 = call ptr @strerror(i32 noundef %4941) #11
  %4943 = call ptr @__errno_location() #12
  %4944 = load i32, ptr %4943, align 4, !tbaa !5
  %4945 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4932, ptr noundef @.str.2, i32 noundef %4933, ptr noundef @.str.48, ptr noundef @.str.1, i32 noundef 213, ptr noundef %4936, ptr noundef %4939, ptr noundef %4942, i32 noundef %4944) #11
  br label %4963

4946:                                             ; preds = %4924, %4917
  %4947 = load i32, ptr %113, align 4, !tbaa !5
  %4948 = call ptr @__errno_location() #12
  store i32 %4947, ptr %4948, align 4, !tbaa !5
  %4949 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4950 = load i32, ptr @test_count, align 4, !tbaa !5
  %4951 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4952 = load i32, ptr %4951, align 4, !tbaa !5
  %4953 = call ptr @s2n_strerror(i32 noundef %4952, ptr noundef @.str.4)
  %4954 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4955 = load i32, ptr %4954, align 4, !tbaa !5
  %4956 = call ptr @s2n_strerror_debug(i32 noundef %4955, ptr noundef @.str.4)
  %4957 = call ptr @__errno_location() #12
  %4958 = load i32, ptr %4957, align 4, !tbaa !5
  %4959 = call ptr @strerror(i32 noundef %4958) #11
  %4960 = call ptr @__errno_location() #12
  %4961 = load i32, ptr %4960, align 4, !tbaa !5
  %4962 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4949, ptr noundef @.str.5, i32 noundef %4950, ptr noundef @.str.48, ptr noundef @.str.1, i32 noundef 213, ptr noundef %4953, ptr noundef %4956, ptr noundef %4959, i32 noundef %4961) #11
  br label %4963

4963:                                             ; preds = %4946, %4929
  call void @llvm.lifetime.end.p0(i64 4, ptr %113) #11
  br label %4964

4964:                                             ; preds = %4963
  br label %4965

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

4966:                                             ; No predecessors!
  br label %4967

4967:                                             ; preds = %4966
  br label %4968

4968:                                             ; preds = %4967, %4909
  br label %4969

4969:                                             ; preds = %4968
  br label %4970

4970:                                             ; preds = %4969
  call void @llvm.lifetime.end.p0(i64 8, ptr %112) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %107) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %105) #11
  %4971 = call i32 @s2n_stuffer_free(ptr noundef %99)
  call void @llvm.lifetime.end.p0(i64 40, ptr %99) #11
  %4972 = call i32 @s2n_stuffer_free(ptr noundef %98)
  call void @llvm.lifetime.end.p0(i64 40, ptr %98) #11
  %4973 = call i32 @s2n_connection_ptr_free(ptr noundef %95)
  %4974 = getelementptr inbounds %struct.s2n_result, ptr %114, i32 0, i32 0
  store i32 %4973, ptr %4974, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %95) #11
  %4975 = call i32 @s2n_connection_ptr_free(ptr noundef %92)
  %4976 = getelementptr inbounds %struct.s2n_result, ptr %115, i32 0, i32 0
  store i32 %4975, ptr %4976, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %92) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %116) #11
  %4977 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %4977, ptr %116, align 8, !tbaa !9
  br label %4978

4978:                                             ; preds = %4970
  %4979 = load i32, ptr @test_count, align 4, !tbaa !5
  %4980 = add nsw i32 %4979, 1
  store i32 %4980, ptr @test_count, align 4, !tbaa !5
  %4981 = load ptr, ptr %116, align 8, !tbaa !9
  %4982 = icmp eq ptr %4981, null
  br i1 %4982, label %4983, label %5036

4983:                                             ; preds = %4978
  br label %4984

4984:                                             ; preds = %4983
  br label %4985

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

4992:                                             ; preds = %4985
  %4993 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4994 = call i32 @fileno(ptr noundef %4993) #11
  %4995 = call i32 @isatty(i32 noundef %4994) #11
  %4996 = icmp ne i32 %4995, 0
  br i1 %4996, label %4997, label %5014

4997:                                             ; preds = %4992
  %4998 = load i32, ptr %117, align 4, !tbaa !5
  %4999 = call ptr @__errno_location() #12
  store i32 %4998, ptr %4999, align 4, !tbaa !5
  %5000 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5001 = load i32, ptr @test_count, align 4, !tbaa !5
  %5002 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5003 = load i32, ptr %5002, align 4, !tbaa !5
  %5004 = call ptr @s2n_strerror(i32 noundef %5003, ptr noundef @.str.4)
  %5005 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5006 = load i32, ptr %5005, align 4, !tbaa !5
  %5007 = call ptr @s2n_strerror_debug(i32 noundef %5006, ptr noundef @.str.4)
  %5008 = call ptr @__errno_location() #12
  %5009 = load i32, ptr %5008, align 4, !tbaa !5
  %5010 = call ptr @strerror(i32 noundef %5009) #11
  %5011 = call ptr @__errno_location() #12
  %5012 = load i32, ptr %5011, align 4, !tbaa !5
  %5013 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5000, ptr noundef @.str.2, i32 noundef %5001, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 219, ptr noundef %5004, ptr noundef %5007, ptr noundef %5010, i32 noundef %5012) #11
  br label %5031

5014:                                             ; preds = %4992, %4985
  %5015 = load i32, ptr %117, align 4, !tbaa !5
  %5016 = call ptr @__errno_location() #12
  store i32 %5015, ptr %5016, align 4, !tbaa !5
  %5017 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5018 = load i32, ptr @test_count, align 4, !tbaa !5
  %5019 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5020 = load i32, ptr %5019, align 4, !tbaa !5
  %5021 = call ptr @s2n_strerror(i32 noundef %5020, ptr noundef @.str.4)
  %5022 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5023 = load i32, ptr %5022, align 4, !tbaa !5
  %5024 = call ptr @s2n_strerror_debug(i32 noundef %5023, ptr noundef @.str.4)
  %5025 = call ptr @__errno_location() #12
  %5026 = load i32, ptr %5025, align 4, !tbaa !5
  %5027 = call ptr @strerror(i32 noundef %5026) #11
  %5028 = call ptr @__errno_location() #12
  %5029 = load i32, ptr %5028, align 4, !tbaa !5
  %5030 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5017, ptr noundef @.str.5, i32 noundef %5018, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 219, ptr noundef %5021, ptr noundef %5024, ptr noundef %5027, i32 noundef %5029) #11
  br label %5031

5031:                                             ; preds = %5014, %4997
  call void @llvm.lifetime.end.p0(i64 4, ptr %117) #11
  br label %5032

5032:                                             ; preds = %5031
  br label %5033

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

5034:                                             ; No predecessors!
  br label %5035

5035:                                             ; preds = %5034
  br label %5036

5036:                                             ; preds = %5035, %4978
  br label %5037

5037:                                             ; preds = %5036
  br label %5038

5038:                                             ; preds = %5037
  br label %5039

5039:                                             ; preds = %5038
  %5040 = load i32, ptr @test_count, align 4, !tbaa !5
  %5041 = add nsw i32 %5040, 1
  store i32 %5041, ptr @test_count, align 4, !tbaa !5
  %5042 = load ptr, ptr %116, align 8, !tbaa !9
  %5043 = load ptr, ptr %15, align 8, !tbaa !9
  %5044 = call i32 @s2n_connection_set_config(ptr noundef %5042, ptr noundef %5043)
  %5045 = icmp eq i32 %5044, -1
  br i1 %5045, label %5046, label %5099

5046:                                             ; preds = %5039
  br label %5047

5047:                                             ; preds = %5046
  br label %5048

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

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

5060:                                             ; preds = %5055
  %5061 = load i32, ptr %118, 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.4)
  %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.4)
  %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.2, i32 noundef %5064, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 220, ptr noundef %5067, ptr noundef %5070, ptr noundef %5073, i32 noundef %5075) #11
  br label %5094

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

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

5095:                                             ; preds = %5094
  br label %5096

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

5097:                                             ; No predecessors!
  br label %5098

5098:                                             ; preds = %5097
  br label %5099

5099:                                             ; preds = %5098, %5039
  br label %5100

5100:                                             ; preds = %5099
  br label %5101

5101:                                             ; preds = %5100
  call void @llvm.lifetime.start.p0(i64 8, ptr %119) #11
  %5102 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %5102, ptr %119, align 8, !tbaa !9
  br label %5103

5103:                                             ; preds = %5101
  %5104 = load i32, ptr @test_count, align 4, !tbaa !5
  %5105 = add nsw i32 %5104, 1
  store i32 %5105, ptr @test_count, align 4, !tbaa !5
  %5106 = load ptr, ptr %119, align 8, !tbaa !9
  %5107 = icmp eq ptr %5106, null
  br i1 %5107, label %5108, label %5161

5108:                                             ; preds = %5103
  br label %5109

5109:                                             ; preds = %5108
  br label %5110

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

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

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

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

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

5157:                                             ; preds = %5156
  br label %5158

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

5159:                                             ; No predecessors!
  br label %5160

5160:                                             ; preds = %5159
  br label %5161

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

5162:                                             ; preds = %5161
  br label %5163

5163:                                             ; preds = %5162
  br label %5164

5164:                                             ; preds = %5163
  %5165 = load i32, ptr @test_count, align 4, !tbaa !5
  %5166 = add nsw i32 %5165, 1
  store i32 %5166, ptr @test_count, align 4, !tbaa !5
  %5167 = load ptr, ptr %119, align 8, !tbaa !9
  %5168 = load ptr, ptr %15, align 8, !tbaa !9
  %5169 = call i32 @s2n_connection_set_config(ptr noundef %5167, ptr noundef %5168)
  %5170 = icmp eq i32 %5169, -1
  br i1 %5170, label %5171, label %5224

5171:                                             ; preds = %5164
  br label %5172

5172:                                             ; preds = %5171
  br label %5173

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

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

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

5202:                                             ; preds = %5180, %5173
  %5203 = load i32, ptr %121, align 4, !tbaa !5
  %5204 = call ptr @__errno_location() #12
  store i32 %5203, ptr %5204, align 4, !tbaa !5
  %5205 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5206 = load i32, ptr @test_count, align 4, !tbaa !5
  %5207 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5208 = load i32, ptr %5207, align 4, !tbaa !5
  %5209 = call ptr @s2n_strerror(i32 noundef %5208, ptr noundef @.str.4)
  %5210 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5211 = load i32, ptr %5210, align 4, !tbaa !5
  %5212 = call ptr @s2n_strerror_debug(i32 noundef %5211, ptr noundef @.str.4)
  %5213 = call ptr @__errno_location() #12
  %5214 = load i32, ptr %5213, align 4, !tbaa !5
  %5215 = call ptr @strerror(i32 noundef %5214) #11
  %5216 = call ptr @__errno_location() #12
  %5217 = load i32, ptr %5216, align 4, !tbaa !5
  %5218 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5205, ptr noundef @.str.5, i32 noundef %5206, ptr noundef @.str.24, ptr noundef @.str.1, i32 noundef 224, ptr noundef %5209, ptr noundef %5212, ptr noundef %5215, i32 noundef %5217) #11
  br label %5219

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

5220:                                             ; preds = %5219
  br label %5221

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

5222:                                             ; No predecessors!
  br label %5223

5223:                                             ; preds = %5222
  br label %5224

5224:                                             ; preds = %5223, %5164
  br label %5225

5225:                                             ; preds = %5224
  br label %5226

5226:                                             ; preds = %5225
  call void @llvm.lifetime.start.p0(i64 8, ptr %122) #11
  call void @llvm.memset.p0.i64(ptr align 4 %122, i8 0, i64 8, i1 false)
  br label %5227

5227:                                             ; preds = %5226
  %5228 = load i32, ptr @test_count, align 4, !tbaa !5
  %5229 = add nsw i32 %5228, 1
  store i32 %5229, ptr @test_count, align 4, !tbaa !5
  %5230 = call i32 @s2n_io_pair_init_non_blocking(ptr noundef %122)
  %5231 = icmp eq i32 %5230, -1
  br i1 %5231, label %5232, label %5285

5232:                                             ; preds = %5227
  br label %5233

5233:                                             ; preds = %5232
  br label %5234

5234:                                             ; preds = %5233
  call void @llvm.lifetime.start.p0(i64 4, ptr %123) #11
  %5235 = call ptr @__errno_location() #12
  %5236 = load i32, ptr %5235, align 4, !tbaa !5
  store i32 %5236, ptr %123, align 4, !tbaa !5
  %5237 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5238 = call i32 @s2n_print_stacktrace(ptr noundef %5237)
  %5239 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5240 = trunc i8 %5239 to i1
  br i1 %5240, label %5241, label %5263

5241:                                             ; preds = %5234
  %5242 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5243 = call i32 @fileno(ptr noundef %5242) #11
  %5244 = call i32 @isatty(i32 noundef %5243) #11
  %5245 = icmp ne i32 %5244, 0
  br i1 %5245, label %5246, label %5263

5246:                                             ; preds = %5241
  %5247 = load i32, ptr %123, align 4, !tbaa !5
  %5248 = call ptr @__errno_location() #12
  store i32 %5247, ptr %5248, align 4, !tbaa !5
  %5249 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5250 = load i32, ptr @test_count, align 4, !tbaa !5
  %5251 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5252 = load i32, ptr %5251, align 4, !tbaa !5
  %5253 = call ptr @s2n_strerror(i32 noundef %5252, ptr noundef @.str.4)
  %5254 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5255 = load i32, ptr %5254, align 4, !tbaa !5
  %5256 = call ptr @s2n_strerror_debug(i32 noundef %5255, ptr noundef @.str.4)
  %5257 = call ptr @__errno_location() #12
  %5258 = load i32, ptr %5257, align 4, !tbaa !5
  %5259 = call ptr @strerror(i32 noundef %5258) #11
  %5260 = call ptr @__errno_location() #12
  %5261 = load i32, ptr %5260, align 4, !tbaa !5
  %5262 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5249, ptr noundef @.str.2, i32 noundef %5250, ptr noundef @.str.25, ptr noundef @.str.1, i32 noundef 227, ptr noundef %5253, ptr noundef %5256, ptr noundef %5259, i32 noundef %5261) #11
  br label %5280

5263:                                             ; preds = %5241, %5234
  %5264 = load i32, ptr %123, align 4, !tbaa !5
  %5265 = call ptr @__errno_location() #12
  store i32 %5264, ptr %5265, align 4, !tbaa !5
  %5266 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5267 = load i32, ptr @test_count, align 4, !tbaa !5
  %5268 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5269 = load i32, ptr %5268, align 4, !tbaa !5
  %5270 = call ptr @s2n_strerror(i32 noundef %5269, ptr noundef @.str.4)
  %5271 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5272 = load i32, ptr %5271, align 4, !tbaa !5
  %5273 = call ptr @s2n_strerror_debug(i32 noundef %5272, ptr noundef @.str.4)
  %5274 = call ptr @__errno_location() #12
  %5275 = load i32, ptr %5274, align 4, !tbaa !5
  %5276 = call ptr @strerror(i32 noundef %5275) #11
  %5277 = call ptr @__errno_location() #12
  %5278 = load i32, ptr %5277, align 4, !tbaa !5
  %5279 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5266, ptr noundef @.str.5, i32 noundef %5267, ptr noundef @.str.25, ptr noundef @.str.1, i32 noundef 227, ptr noundef %5270, ptr noundef %5273, ptr noundef %5276, i32 noundef %5278) #11
  br label %5280

5280:                                             ; preds = %5263, %5246
  call void @llvm.lifetime.end.p0(i64 4, ptr %123) #11
  br label %5281

5281:                                             ; preds = %5280
  br label %5282

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

5283:                                             ; No predecessors!
  br label %5284

5284:                                             ; preds = %5283
  br label %5285

5285:                                             ; preds = %5284, %5227
  br label %5286

5286:                                             ; preds = %5285
  br label %5287

5287:                                             ; preds = %5286
  br label %5288

5288:                                             ; preds = %5287
  %5289 = load i32, ptr @test_count, align 4, !tbaa !5
  %5290 = add nsw i32 %5289, 1
  store i32 %5290, ptr @test_count, align 4, !tbaa !5
  %5291 = load ptr, ptr %119, align 8, !tbaa !9
  %5292 = call i32 @s2n_connection_set_io_pair(ptr noundef %5291, ptr noundef %122)
  %5293 = icmp eq i32 %5292, -1
  br i1 %5293, label %5294, label %5347

5294:                                             ; preds = %5288
  br label %5295

5295:                                             ; preds = %5294
  br label %5296

5296:                                             ; preds = %5295
  call void @llvm.lifetime.start.p0(i64 4, ptr %124) #11
  %5297 = call ptr @__errno_location() #12
  %5298 = load i32, ptr %5297, align 4, !tbaa !5
  store i32 %5298, ptr %124, align 4, !tbaa !5
  %5299 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5300 = call i32 @s2n_print_stacktrace(ptr noundef %5299)
  %5301 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5302 = trunc i8 %5301 to i1
  br i1 %5302, label %5303, label %5325

5303:                                             ; preds = %5296
  %5304 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5305 = call i32 @fileno(ptr noundef %5304) #11
  %5306 = call i32 @isatty(i32 noundef %5305) #11
  %5307 = icmp ne i32 %5306, 0
  br i1 %5307, label %5308, label %5325

5308:                                             ; preds = %5303
  %5309 = load i32, ptr %124, align 4, !tbaa !5
  %5310 = call ptr @__errno_location() #12
  store i32 %5309, ptr %5310, align 4, !tbaa !5
  %5311 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5312 = load i32, ptr @test_count, align 4, !tbaa !5
  %5313 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5314 = load i32, ptr %5313, align 4, !tbaa !5
  %5315 = call ptr @s2n_strerror(i32 noundef %5314, ptr noundef @.str.4)
  %5316 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5317 = load i32, ptr %5316, align 4, !tbaa !5
  %5318 = call ptr @s2n_strerror_debug(i32 noundef %5317, ptr noundef @.str.4)
  %5319 = call ptr @__errno_location() #12
  %5320 = load i32, ptr %5319, align 4, !tbaa !5
  %5321 = call ptr @strerror(i32 noundef %5320) #11
  %5322 = call ptr @__errno_location() #12
  %5323 = load i32, ptr %5322, align 4, !tbaa !5
  %5324 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5311, ptr noundef @.str.2, i32 noundef %5312, ptr noundef @.str.26, ptr noundef @.str.1, i32 noundef 228, ptr noundef %5315, ptr noundef %5318, ptr noundef %5321, i32 noundef %5323) #11
  br label %5342

5325:                                             ; preds = %5303, %5296
  %5326 = load i32, ptr %124, align 4, !tbaa !5
  %5327 = call ptr @__errno_location() #12
  store i32 %5326, ptr %5327, align 4, !tbaa !5
  %5328 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5329 = load i32, ptr @test_count, align 4, !tbaa !5
  %5330 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5331 = load i32, ptr %5330, align 4, !tbaa !5
  %5332 = call ptr @s2n_strerror(i32 noundef %5331, ptr noundef @.str.4)
  %5333 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5334 = load i32, ptr %5333, align 4, !tbaa !5
  %5335 = call ptr @s2n_strerror_debug(i32 noundef %5334, ptr noundef @.str.4)
  %5336 = call ptr @__errno_location() #12
  %5337 = load i32, ptr %5336, align 4, !tbaa !5
  %5338 = call ptr @strerror(i32 noundef %5337) #11
  %5339 = call ptr @__errno_location() #12
  %5340 = load i32, ptr %5339, align 4, !tbaa !5
  %5341 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5328, ptr noundef @.str.5, i32 noundef %5329, ptr noundef @.str.26, ptr noundef @.str.1, i32 noundef 228, ptr noundef %5332, ptr noundef %5335, ptr noundef %5338, i32 noundef %5340) #11
  br label %5342

5342:                                             ; preds = %5325, %5308
  call void @llvm.lifetime.end.p0(i64 4, ptr %124) #11
  br label %5343

5343:                                             ; preds = %5342
  br label %5344

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

5345:                                             ; No predecessors!
  br label %5346

5346:                                             ; preds = %5345
  br label %5347

5347:                                             ; preds = %5346, %5288
  br label %5348

5348:                                             ; preds = %5347
  br label %5349

5349:                                             ; preds = %5348
  br label %5350

5350:                                             ; preds = %5349
  %5351 = load i32, ptr @test_count, align 4, !tbaa !5
  %5352 = add nsw i32 %5351, 1
  store i32 %5352, ptr @test_count, align 4, !tbaa !5
  %5353 = load ptr, ptr %116, align 8, !tbaa !9
  %5354 = call i32 @s2n_connection_set_io_pair(ptr noundef %5353, ptr noundef %122)
  %5355 = icmp eq i32 %5354, -1
  br i1 %5355, label %5356, label %5409

5356:                                             ; preds = %5350
  br label %5357

5357:                                             ; preds = %5356
  br label %5358

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

5365:                                             ; preds = %5358
  %5366 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5367 = call i32 @fileno(ptr noundef %5366) #11
  %5368 = call i32 @isatty(i32 noundef %5367) #11
  %5369 = icmp ne i32 %5368, 0
  br i1 %5369, label %5370, label %5387

5370:                                             ; preds = %5365
  %5371 = load i32, ptr %125, align 4, !tbaa !5
  %5372 = call ptr @__errno_location() #12
  store i32 %5371, ptr %5372, align 4, !tbaa !5
  %5373 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5374 = load i32, ptr @test_count, align 4, !tbaa !5
  %5375 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5376 = load i32, ptr %5375, align 4, !tbaa !5
  %5377 = call ptr @s2n_strerror(i32 noundef %5376, ptr noundef @.str.4)
  %5378 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5379 = load i32, ptr %5378, align 4, !tbaa !5
  %5380 = call ptr @s2n_strerror_debug(i32 noundef %5379, ptr noundef @.str.4)
  %5381 = call ptr @__errno_location() #12
  %5382 = load i32, ptr %5381, align 4, !tbaa !5
  %5383 = call ptr @strerror(i32 noundef %5382) #11
  %5384 = call ptr @__errno_location() #12
  %5385 = load i32, ptr %5384, align 4, !tbaa !5
  %5386 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5373, ptr noundef @.str.2, i32 noundef %5374, ptr noundef @.str.27, ptr noundef @.str.1, i32 noundef 229, ptr noundef %5377, ptr noundef %5380, ptr noundef %5383, i32 noundef %5385) #11
  br label %5404

5387:                                             ; preds = %5365, %5358
  %5388 = load i32, ptr %125, align 4, !tbaa !5
  %5389 = call ptr @__errno_location() #12
  store i32 %5388, ptr %5389, align 4, !tbaa !5
  %5390 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5391 = load i32, ptr @test_count, align 4, !tbaa !5
  %5392 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5393 = load i32, ptr %5392, align 4, !tbaa !5
  %5394 = call ptr @s2n_strerror(i32 noundef %5393, ptr noundef @.str.4)
  %5395 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5396 = load i32, ptr %5395, align 4, !tbaa !5
  %5397 = call ptr @s2n_strerror_debug(i32 noundef %5396, ptr noundef @.str.4)
  %5398 = call ptr @__errno_location() #12
  %5399 = load i32, ptr %5398, align 4, !tbaa !5
  %5400 = call ptr @strerror(i32 noundef %5399) #11
  %5401 = call ptr @__errno_location() #12
  %5402 = load i32, ptr %5401, align 4, !tbaa !5
  %5403 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5390, ptr noundef @.str.5, i32 noundef %5391, ptr noundef @.str.27, ptr noundef @.str.1, i32 noundef 229, ptr noundef %5394, ptr noundef %5397, ptr noundef %5400, i32 noundef %5402) #11
  br label %5404

5404:                                             ; preds = %5387, %5370
  call void @llvm.lifetime.end.p0(i64 4, ptr %125) #11
  br label %5405

5405:                                             ; preds = %5404
  br label %5406

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

5407:                                             ; No predecessors!
  br label %5408

5408:                                             ; preds = %5407
  br label %5409

5409:                                             ; preds = %5408, %5350
  br label %5410

5410:                                             ; preds = %5409
  br label %5411

5411:                                             ; preds = %5410
  br label %5412

5412:                                             ; preds = %5411
  %5413 = load i32, ptr @test_count, align 4, !tbaa !5
  %5414 = add nsw i32 %5413, 1
  store i32 %5414, ptr @test_count, align 4, !tbaa !5
  %5415 = load ptr, ptr %116, align 8, !tbaa !9
  %5416 = load ptr, ptr %119, align 8, !tbaa !9
  %5417 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef %5415, ptr noundef %5416)
  %5418 = icmp eq i32 %5417, -1
  br i1 %5418, label %5419, label %5472

5419:                                             ; preds = %5412
  br label %5420

5420:                                             ; preds = %5419
  br label %5421

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

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

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

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

5467:                                             ; preds = %5450, %5433
  call void @llvm.lifetime.end.p0(i64 4, ptr %126) #11
  br label %5468

5468:                                             ; preds = %5467
  br label %5469

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

5470:                                             ; No predecessors!
  br label %5471

5471:                                             ; preds = %5470
  br label %5472

5472:                                             ; preds = %5471, %5412
  br label %5473

5473:                                             ; preds = %5472
  br label %5474

5474:                                             ; preds = %5473
  br label %5475

5475:                                             ; preds = %5474
  %5476 = load i32, ptr @test_count, align 4, !tbaa !5
  %5477 = add nsw i32 %5476, 1
  store i32 %5477, ptr @test_count, align 4, !tbaa !5
  %5478 = load ptr, ptr %119, align 8, !tbaa !9
  %5479 = call i32 @s2n_renegotiate_wipe(ptr noundef %5478)
  %5480 = icmp eq i32 %5479, -1
  br i1 %5480, label %5481, label %5534

5481:                                             ; preds = %5475
  br label %5482

5482:                                             ; preds = %5481
  br label %5483

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

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

5495:                                             ; preds = %5490
  %5496 = load i32, ptr %127, align 4, !tbaa !5
  %5497 = call ptr @__errno_location() #12
  store i32 %5496, ptr %5497, align 4, !tbaa !5
  %5498 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5499 = load i32, ptr @test_count, align 4, !tbaa !5
  %5500 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5501 = load i32, ptr %5500, align 4, !tbaa !5
  %5502 = call ptr @s2n_strerror(i32 noundef %5501, ptr noundef @.str.4)
  %5503 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5504 = load i32, ptr %5503, align 4, !tbaa !5
  %5505 = call ptr @s2n_strerror_debug(i32 noundef %5504, ptr noundef @.str.4)
  %5506 = call ptr @__errno_location() #12
  %5507 = load i32, ptr %5506, align 4, !tbaa !5
  %5508 = call ptr @strerror(i32 noundef %5507) #11
  %5509 = call ptr @__errno_location() #12
  %5510 = load i32, ptr %5509, align 4, !tbaa !5
  %5511 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5498, ptr noundef @.str.2, i32 noundef %5499, ptr noundef @.str.33, ptr noundef @.str.1, i32 noundef 233, ptr noundef %5502, ptr noundef %5505, ptr noundef %5508, i32 noundef %5510) #11
  br label %5529

5512:                                             ; preds = %5490, %5483
  %5513 = load i32, ptr %127, align 4, !tbaa !5
  %5514 = call ptr @__errno_location() #12
  store i32 %5513, ptr %5514, align 4, !tbaa !5
  %5515 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5516 = load i32, ptr @test_count, align 4, !tbaa !5
  %5517 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5518 = load i32, ptr %5517, align 4, !tbaa !5
  %5519 = call ptr @s2n_strerror(i32 noundef %5518, ptr noundef @.str.4)
  %5520 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5521 = load i32, ptr %5520, align 4, !tbaa !5
  %5522 = call ptr @s2n_strerror_debug(i32 noundef %5521, ptr noundef @.str.4)
  %5523 = call ptr @__errno_location() #12
  %5524 = load i32, ptr %5523, align 4, !tbaa !5
  %5525 = call ptr @strerror(i32 noundef %5524) #11
  %5526 = call ptr @__errno_location() #12
  %5527 = load i32, ptr %5526, align 4, !tbaa !5
  %5528 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5515, ptr noundef @.str.5, i32 noundef %5516, ptr noundef @.str.33, ptr noundef @.str.1, i32 noundef 233, ptr noundef %5519, ptr noundef %5522, ptr noundef %5525, i32 noundef %5527) #11
  br label %5529

5529:                                             ; preds = %5512, %5495
  call void @llvm.lifetime.end.p0(i64 4, ptr %127) #11
  br label %5530

5530:                                             ; preds = %5529
  br label %5531

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

5532:                                             ; No predecessors!
  br label %5533

5533:                                             ; preds = %5532
  br label %5534

5534:                                             ; preds = %5533, %5475
  br label %5535

5535:                                             ; preds = %5534
  br label %5536

5536:                                             ; preds = %5535
  br label %5537

5537:                                             ; preds = %5536
  %5538 = load i32, ptr @test_count, align 4, !tbaa !5
  %5539 = add nsw i32 %5538, 1
  store i32 %5539, ptr @test_count, align 4, !tbaa !5
  %5540 = load ptr, ptr %116, align 8, !tbaa !9
  %5541 = call i32 @s2n_renegotiate_wipe(ptr noundef %5540)
  %5542 = icmp eq i32 %5541, -1
  br i1 %5542, label %5543, label %5596

5543:                                             ; preds = %5537
  br label %5544

5544:                                             ; preds = %5543
  br label %5545

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

5552:                                             ; preds = %5545
  %5553 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5554 = call i32 @fileno(ptr noundef %5553) #11
  %5555 = call i32 @isatty(i32 noundef %5554) #11
  %5556 = icmp ne i32 %5555, 0
  br i1 %5556, label %5557, label %5574

5557:                                             ; preds = %5552
  %5558 = load i32, ptr %128, align 4, !tbaa !5
  %5559 = call ptr @__errno_location() #12
  store i32 %5558, ptr %5559, align 4, !tbaa !5
  %5560 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5561 = load i32, ptr @test_count, align 4, !tbaa !5
  %5562 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5563 = load i32, ptr %5562, align 4, !tbaa !5
  %5564 = call ptr @s2n_strerror(i32 noundef %5563, ptr noundef @.str.4)
  %5565 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5566 = load i32, ptr %5565, align 4, !tbaa !5
  %5567 = call ptr @s2n_strerror_debug(i32 noundef %5566, ptr noundef @.str.4)
  %5568 = call ptr @__errno_location() #12
  %5569 = load i32, ptr %5568, align 4, !tbaa !5
  %5570 = call ptr @strerror(i32 noundef %5569) #11
  %5571 = call ptr @__errno_location() #12
  %5572 = load i32, ptr %5571, align 4, !tbaa !5
  %5573 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5560, ptr noundef @.str.2, i32 noundef %5561, ptr noundef @.str.50, ptr noundef @.str.1, i32 noundef 234, ptr noundef %5564, ptr noundef %5567, ptr noundef %5570, i32 noundef %5572) #11
  br label %5591

5574:                                             ; preds = %5552, %5545
  %5575 = load i32, ptr %128, align 4, !tbaa !5
  %5576 = call ptr @__errno_location() #12
  store i32 %5575, ptr %5576, align 4, !tbaa !5
  %5577 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5578 = load i32, ptr @test_count, align 4, !tbaa !5
  %5579 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5580 = load i32, ptr %5579, align 4, !tbaa !5
  %5581 = call ptr @s2n_strerror(i32 noundef %5580, ptr noundef @.str.4)
  %5582 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5583 = load i32, ptr %5582, align 4, !tbaa !5
  %5584 = call ptr @s2n_strerror_debug(i32 noundef %5583, ptr noundef @.str.4)
  %5585 = call ptr @__errno_location() #12
  %5586 = load i32, ptr %5585, align 4, !tbaa !5
  %5587 = call ptr @strerror(i32 noundef %5586) #11
  %5588 = call ptr @__errno_location() #12
  %5589 = load i32, ptr %5588, align 4, !tbaa !5
  %5590 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5577, ptr noundef @.str.5, i32 noundef %5578, ptr noundef @.str.50, ptr noundef @.str.1, i32 noundef 234, ptr noundef %5581, ptr noundef %5584, ptr noundef %5587, i32 noundef %5589) #11
  br label %5591

5591:                                             ; preds = %5574, %5557
  call void @llvm.lifetime.end.p0(i64 4, ptr %128) #11
  br label %5592

5592:                                             ; preds = %5591
  br label %5593

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

5594:                                             ; No predecessors!
  br label %5595

5595:                                             ; preds = %5594
  br label %5596

5596:                                             ; preds = %5595, %5537
  br label %5597

5597:                                             ; preds = %5596
  br label %5598

5598:                                             ; preds = %5597
  br label %5599

5599:                                             ; preds = %5598
  %5600 = load i32, ptr @test_count, align 4, !tbaa !5
  %5601 = add nsw i32 %5600, 1
  store i32 %5601, ptr @test_count, align 4, !tbaa !5
  %5602 = load ptr, ptr %116, align 8, !tbaa !9
  %5603 = load ptr, ptr %119, align 8, !tbaa !9
  %5604 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef %5602, ptr noundef %5603)
  %5605 = icmp eq i32 %5604, -1
  br i1 %5605, label %5606, label %5659

5606:                                             ; preds = %5599
  br label %5607

5607:                                             ; preds = %5606
  br label %5608

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

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

5620:                                             ; preds = %5615
  %5621 = load i32, ptr %129, align 4, !tbaa !5
  %5622 = call ptr @__errno_location() #12
  store i32 %5621, ptr %5622, align 4, !tbaa !5
  %5623 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5624 = load i32, ptr @test_count, align 4, !tbaa !5
  %5625 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5626 = load i32, ptr %5625, align 4, !tbaa !5
  %5627 = call ptr @s2n_strerror(i32 noundef %5626, ptr noundef @.str.4)
  %5628 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5629 = load i32, ptr %5628, align 4, !tbaa !5
  %5630 = call ptr @s2n_strerror_debug(i32 noundef %5629, ptr noundef @.str.4)
  %5631 = call ptr @__errno_location() #12
  %5632 = load i32, ptr %5631, align 4, !tbaa !5
  %5633 = call ptr @strerror(i32 noundef %5632) #11
  %5634 = call ptr @__errno_location() #12
  %5635 = load i32, ptr %5634, align 4, !tbaa !5
  %5636 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5623, ptr noundef @.str.2, i32 noundef %5624, ptr noundef @.str.32, ptr noundef @.str.1, i32 noundef 236, ptr noundef %5627, ptr noundef %5630, ptr noundef %5633, i32 noundef %5635) #11
  br label %5654

5637:                                             ; preds = %5615, %5608
  %5638 = load i32, ptr %129, align 4, !tbaa !5
  %5639 = call ptr @__errno_location() #12
  store i32 %5638, ptr %5639, align 4, !tbaa !5
  %5640 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5641 = load i32, ptr @test_count, align 4, !tbaa !5
  %5642 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5643 = load i32, ptr %5642, align 4, !tbaa !5
  %5644 = call ptr @s2n_strerror(i32 noundef %5643, ptr noundef @.str.4)
  %5645 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5646 = load i32, ptr %5645, align 4, !tbaa !5
  %5647 = call ptr @s2n_strerror_debug(i32 noundef %5646, ptr noundef @.str.4)
  %5648 = call ptr @__errno_location() #12
  %5649 = load i32, ptr %5648, align 4, !tbaa !5
  %5650 = call ptr @strerror(i32 noundef %5649) #11
  %5651 = call ptr @__errno_location() #12
  %5652 = load i32, ptr %5651, align 4, !tbaa !5
  %5653 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5640, ptr noundef @.str.5, i32 noundef %5641, ptr noundef @.str.32, ptr noundef @.str.1, i32 noundef 236, ptr noundef %5644, ptr noundef %5647, ptr noundef %5650, i32 noundef %5652) #11
  br label %5654

5654:                                             ; preds = %5637, %5620
  call void @llvm.lifetime.end.p0(i64 4, ptr %129) #11
  br label %5655

5655:                                             ; preds = %5654
  br label %5656

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

5657:                                             ; No predecessors!
  br label %5658

5658:                                             ; preds = %5657
  br label %5659

5659:                                             ; preds = %5658, %5599
  br label %5660

5660:                                             ; preds = %5659
  br label %5661

5661:                                             ; preds = %5660
  %5662 = call i32 @s2n_io_pair_close(ptr noundef %122)
  call void @llvm.lifetime.end.p0(i64 8, ptr %122) #11
  %5663 = call i32 @s2n_connection_ptr_free(ptr noundef %119)
  %5664 = getelementptr inbounds %struct.s2n_result, ptr %130, i32 0, i32 0
  store i32 %5663, ptr %5664, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %119) #11
  %5665 = call i32 @s2n_connection_ptr_free(ptr noundef %116)
  %5666 = getelementptr inbounds %struct.s2n_result, ptr %131, i32 0, i32 0
  store i32 %5665, ptr %5666, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %116) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %132) #11
  %5667 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %5667, ptr %132, align 8, !tbaa !9
  br label %5668

5668:                                             ; preds = %5661
  %5669 = load i32, ptr @test_count, align 4, !tbaa !5
  %5670 = add nsw i32 %5669, 1
  store i32 %5670, ptr @test_count, align 4, !tbaa !5
  %5671 = load ptr, ptr %132, align 8, !tbaa !9
  %5672 = icmp eq ptr %5671, null
  br i1 %5672, label %5673, label %5726

5673:                                             ; preds = %5668
  br label %5674

5674:                                             ; preds = %5673
  br label %5675

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

5682:                                             ; preds = %5675
  %5683 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5684 = call i32 @fileno(ptr noundef %5683) #11
  %5685 = call i32 @isatty(i32 noundef %5684) #11
  %5686 = icmp ne i32 %5685, 0
  br i1 %5686, label %5687, label %5704

5687:                                             ; preds = %5682
  %5688 = load i32, ptr %133, align 4, !tbaa !5
  %5689 = call ptr @__errno_location() #12
  store i32 %5688, ptr %5689, align 4, !tbaa !5
  %5690 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5691 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %5693, ptr noundef @.str.4)
  %5695 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5696 = load i32, ptr %5695, align 4, !tbaa !5
  %5697 = call ptr @s2n_strerror_debug(i32 noundef %5696, ptr noundef @.str.4)
  %5698 = call ptr @__errno_location() #12
  %5699 = load i32, ptr %5698, align 4, !tbaa !5
  %5700 = call ptr @strerror(i32 noundef %5699) #11
  %5701 = call ptr @__errno_location() #12
  %5702 = load i32, ptr %5701, align 4, !tbaa !5
  %5703 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5690, ptr noundef @.str.2, i32 noundef %5691, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 242, ptr noundef %5694, ptr noundef %5697, ptr noundef %5700, i32 noundef %5702) #11
  br label %5721

5704:                                             ; preds = %5682, %5675
  %5705 = load i32, ptr %133, align 4, !tbaa !5
  %5706 = call ptr @__errno_location() #12
  store i32 %5705, ptr %5706, align 4, !tbaa !5
  %5707 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5708 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %5710, ptr noundef @.str.4)
  %5712 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5713 = load i32, ptr %5712, align 4, !tbaa !5
  %5714 = call ptr @s2n_strerror_debug(i32 noundef %5713, ptr noundef @.str.4)
  %5715 = call ptr @__errno_location() #12
  %5716 = load i32, ptr %5715, align 4, !tbaa !5
  %5717 = call ptr @strerror(i32 noundef %5716) #11
  %5718 = call ptr @__errno_location() #12
  %5719 = load i32, ptr %5718, align 4, !tbaa !5
  %5720 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5707, ptr noundef @.str.5, i32 noundef %5708, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 242, ptr noundef %5711, ptr noundef %5714, ptr noundef %5717, i32 noundef %5719) #11
  br label %5721

5721:                                             ; preds = %5704, %5687
  call void @llvm.lifetime.end.p0(i64 4, ptr %133) #11
  br label %5722

5722:                                             ; preds = %5721
  br label %5723

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

5724:                                             ; No predecessors!
  br label %5725

5725:                                             ; preds = %5724
  br label %5726

5726:                                             ; preds = %5725, %5668
  br label %5727

5727:                                             ; preds = %5726
  br label %5728

5728:                                             ; preds = %5727
  br label %5729

5729:                                             ; preds = %5728
  %5730 = load i32, ptr @test_count, align 4, !tbaa !5
  %5731 = add nsw i32 %5730, 1
  store i32 %5731, ptr @test_count, align 4, !tbaa !5
  %5732 = load ptr, ptr %132, align 8, !tbaa !9
  %5733 = load ptr, ptr %15, align 8, !tbaa !9
  %5734 = call i32 @s2n_connection_set_config(ptr noundef %5732, ptr noundef %5733)
  %5735 = icmp eq i32 %5734, -1
  br i1 %5735, label %5736, label %5789

5736:                                             ; preds = %5729
  br label %5737

5737:                                             ; preds = %5736
  br label %5738

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

5745:                                             ; preds = %5738
  %5746 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5747 = call i32 @fileno(ptr noundef %5746) #11
  %5748 = call i32 @isatty(i32 noundef %5747) #11
  %5749 = icmp ne i32 %5748, 0
  br i1 %5749, label %5750, label %5767

5750:                                             ; preds = %5745
  %5751 = load i32, ptr %134, align 4, !tbaa !5
  %5752 = call ptr @__errno_location() #12
  store i32 %5751, ptr %5752, align 4, !tbaa !5
  %5753 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5754 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %5756, ptr noundef @.str.4)
  %5758 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5759 = load i32, ptr %5758, align 4, !tbaa !5
  %5760 = call ptr @s2n_strerror_debug(i32 noundef %5759, ptr noundef @.str.4)
  %5761 = call ptr @__errno_location() #12
  %5762 = load i32, ptr %5761, align 4, !tbaa !5
  %5763 = call ptr @strerror(i32 noundef %5762) #11
  %5764 = call ptr @__errno_location() #12
  %5765 = load i32, ptr %5764, align 4, !tbaa !5
  %5766 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5753, ptr noundef @.str.2, i32 noundef %5754, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 243, ptr noundef %5757, ptr noundef %5760, ptr noundef %5763, i32 noundef %5765) #11
  br label %5784

5767:                                             ; preds = %5745, %5738
  %5768 = load i32, ptr %134, align 4, !tbaa !5
  %5769 = call ptr @__errno_location() #12
  store i32 %5768, ptr %5769, align 4, !tbaa !5
  %5770 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5771 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %5773, ptr noundef @.str.4)
  %5775 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5776 = load i32, ptr %5775, align 4, !tbaa !5
  %5777 = call ptr @s2n_strerror_debug(i32 noundef %5776, ptr noundef @.str.4)
  %5778 = call ptr @__errno_location() #12
  %5779 = load i32, ptr %5778, align 4, !tbaa !5
  %5780 = call ptr @strerror(i32 noundef %5779) #11
  %5781 = call ptr @__errno_location() #12
  %5782 = load i32, ptr %5781, align 4, !tbaa !5
  %5783 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5770, ptr noundef @.str.5, i32 noundef %5771, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 243, ptr noundef %5774, ptr noundef %5777, ptr noundef %5780, i32 noundef %5782) #11
  br label %5784

5784:                                             ; preds = %5767, %5750
  call void @llvm.lifetime.end.p0(i64 4, ptr %134) #11
  br label %5785

5785:                                             ; preds = %5784
  br label %5786

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

5787:                                             ; No predecessors!
  br label %5788

5788:                                             ; preds = %5787
  br label %5789

5789:                                             ; preds = %5788, %5729
  br label %5790

5790:                                             ; preds = %5789
  br label %5791

5791:                                             ; preds = %5790
  call void @llvm.lifetime.start.p0(i64 8, ptr %135) #11
  %5792 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %5792, ptr %135, align 8, !tbaa !9
  br label %5793

5793:                                             ; preds = %5791
  %5794 = load i32, ptr @test_count, align 4, !tbaa !5
  %5795 = add nsw i32 %5794, 1
  store i32 %5795, ptr @test_count, align 4, !tbaa !5
  %5796 = load ptr, ptr %135, align 8, !tbaa !9
  %5797 = icmp eq ptr %5796, null
  br i1 %5797, label %5798, label %5851

5798:                                             ; preds = %5793
  br label %5799

5799:                                             ; preds = %5798
  br label %5800

5800:                                             ; preds = %5799
  call void @llvm.lifetime.start.p0(i64 4, ptr %136) #11
  %5801 = call ptr @__errno_location() #12
  %5802 = load i32, ptr %5801, align 4, !tbaa !5
  store i32 %5802, ptr %136, align 4, !tbaa !5
  %5803 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5804 = call i32 @s2n_print_stacktrace(ptr noundef %5803)
  %5805 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5806 = trunc i8 %5805 to i1
  br i1 %5806, label %5807, label %5829

5807:                                             ; preds = %5800
  %5808 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5809 = call i32 @fileno(ptr noundef %5808) #11
  %5810 = call i32 @isatty(i32 noundef %5809) #11
  %5811 = icmp ne i32 %5810, 0
  br i1 %5811, label %5812, label %5829

5812:                                             ; preds = %5807
  %5813 = load i32, ptr %136, align 4, !tbaa !5
  %5814 = call ptr @__errno_location() #12
  store i32 %5813, ptr %5814, align 4, !tbaa !5
  %5815 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5816 = load i32, ptr @test_count, align 4, !tbaa !5
  %5817 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5818 = load i32, ptr %5817, align 4, !tbaa !5
  %5819 = call ptr @s2n_strerror(i32 noundef %5818, ptr noundef @.str.4)
  %5820 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5821 = load i32, ptr %5820, align 4, !tbaa !5
  %5822 = call ptr @s2n_strerror_debug(i32 noundef %5821, ptr noundef @.str.4)
  %5823 = call ptr @__errno_location() #12
  %5824 = load i32, ptr %5823, align 4, !tbaa !5
  %5825 = call ptr @strerror(i32 noundef %5824) #11
  %5826 = call ptr @__errno_location() #12
  %5827 = load i32, ptr %5826, align 4, !tbaa !5
  %5828 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5815, ptr noundef @.str.2, i32 noundef %5816, ptr noundef @.str.23, ptr noundef @.str.1, i32 noundef 246, ptr noundef %5819, ptr noundef %5822, ptr noundef %5825, i32 noundef %5827) #11
  br label %5846

5829:                                             ; preds = %5807, %5800
  %5830 = load i32, ptr %136, align 4, !tbaa !5
  %5831 = call ptr @__errno_location() #12
  store i32 %5830, ptr %5831, align 4, !tbaa !5
  %5832 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5833 = load i32, ptr @test_count, align 4, !tbaa !5
  %5834 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5835 = load i32, ptr %5834, align 4, !tbaa !5
  %5836 = call ptr @s2n_strerror(i32 noundef %5835, ptr noundef @.str.4)
  %5837 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5838 = load i32, ptr %5837, align 4, !tbaa !5
  %5839 = call ptr @s2n_strerror_debug(i32 noundef %5838, ptr noundef @.str.4)
  %5840 = call ptr @__errno_location() #12
  %5841 = load i32, ptr %5840, align 4, !tbaa !5
  %5842 = call ptr @strerror(i32 noundef %5841) #11
  %5843 = call ptr @__errno_location() #12
  %5844 = load i32, ptr %5843, align 4, !tbaa !5
  %5845 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5832, ptr noundef @.str.5, i32 noundef %5833, ptr noundef @.str.23, ptr noundef @.str.1, i32 noundef 246, ptr noundef %5836, ptr noundef %5839, ptr noundef %5842, i32 noundef %5844) #11
  br label %5846

5846:                                             ; preds = %5829, %5812
  call void @llvm.lifetime.end.p0(i64 4, ptr %136) #11
  br label %5847

5847:                                             ; preds = %5846
  br label %5848

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

5849:                                             ; No predecessors!
  br label %5850

5850:                                             ; preds = %5849
  br label %5851

5851:                                             ; preds = %5850, %5793
  br label %5852

5852:                                             ; preds = %5851
  br label %5853

5853:                                             ; preds = %5852
  br label %5854

5854:                                             ; preds = %5853
  %5855 = load i32, ptr @test_count, align 4, !tbaa !5
  %5856 = add nsw i32 %5855, 1
  store i32 %5856, ptr @test_count, align 4, !tbaa !5
  %5857 = load ptr, ptr %135, align 8, !tbaa !9
  %5858 = load ptr, ptr %15, align 8, !tbaa !9
  %5859 = call i32 @s2n_connection_set_config(ptr noundef %5857, ptr noundef %5858)
  %5860 = icmp eq i32 %5859, -1
  br i1 %5860, label %5861, label %5914

5861:                                             ; preds = %5854
  br label %5862

5862:                                             ; preds = %5861
  br label %5863

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

5870:                                             ; preds = %5863
  %5871 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5872 = call i32 @fileno(ptr noundef %5871) #11
  %5873 = call i32 @isatty(i32 noundef %5872) #11
  %5874 = icmp ne i32 %5873, 0
  br i1 %5874, label %5875, label %5892

5875:                                             ; preds = %5870
  %5876 = load i32, ptr %137, align 4, !tbaa !5
  %5877 = call ptr @__errno_location() #12
  store i32 %5876, ptr %5877, align 4, !tbaa !5
  %5878 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5879 = load i32, ptr @test_count, align 4, !tbaa !5
  %5880 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5881 = load i32, ptr %5880, align 4, !tbaa !5
  %5882 = call ptr @s2n_strerror(i32 noundef %5881, ptr noundef @.str.4)
  %5883 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5884 = load i32, ptr %5883, align 4, !tbaa !5
  %5885 = call ptr @s2n_strerror_debug(i32 noundef %5884, ptr noundef @.str.4)
  %5886 = call ptr @__errno_location() #12
  %5887 = load i32, ptr %5886, align 4, !tbaa !5
  %5888 = call ptr @strerror(i32 noundef %5887) #11
  %5889 = call ptr @__errno_location() #12
  %5890 = load i32, ptr %5889, align 4, !tbaa !5
  %5891 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5878, ptr noundef @.str.2, i32 noundef %5879, ptr noundef @.str.24, ptr noundef @.str.1, i32 noundef 247, ptr noundef %5882, ptr noundef %5885, ptr noundef %5888, i32 noundef %5890) #11
  br label %5909

5892:                                             ; preds = %5870, %5863
  %5893 = load i32, ptr %137, align 4, !tbaa !5
  %5894 = call ptr @__errno_location() #12
  store i32 %5893, ptr %5894, align 4, !tbaa !5
  %5895 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5896 = load i32, ptr @test_count, align 4, !tbaa !5
  %5897 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5898 = load i32, ptr %5897, align 4, !tbaa !5
  %5899 = call ptr @s2n_strerror(i32 noundef %5898, ptr noundef @.str.4)
  %5900 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5901 = load i32, ptr %5900, align 4, !tbaa !5
  %5902 = call ptr @s2n_strerror_debug(i32 noundef %5901, ptr noundef @.str.4)
  %5903 = call ptr @__errno_location() #12
  %5904 = load i32, ptr %5903, align 4, !tbaa !5
  %5905 = call ptr @strerror(i32 noundef %5904) #11
  %5906 = call ptr @__errno_location() #12
  %5907 = load i32, ptr %5906, align 4, !tbaa !5
  %5908 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5895, ptr noundef @.str.5, i32 noundef %5896, ptr noundef @.str.24, ptr noundef @.str.1, i32 noundef 247, ptr noundef %5899, ptr noundef %5902, ptr noundef %5905, i32 noundef %5907) #11
  br label %5909

5909:                                             ; preds = %5892, %5875
  call void @llvm.lifetime.end.p0(i64 4, ptr %137) #11
  br label %5910

5910:                                             ; preds = %5909
  br label %5911

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

5912:                                             ; No predecessors!
  br label %5913

5913:                                             ; preds = %5912
  br label %5914

5914:                                             ; preds = %5913, %5854
  br label %5915

5915:                                             ; preds = %5914
  br label %5916

5916:                                             ; preds = %5915
  call void @llvm.lifetime.start.p0(i64 8, ptr %138) #11
  call void @llvm.memset.p0.i64(ptr align 4 %138, i8 0, i64 8, i1 false)
  br label %5917

5917:                                             ; preds = %5916
  %5918 = load i32, ptr @test_count, align 4, !tbaa !5
  %5919 = add nsw i32 %5918, 1
  store i32 %5919, ptr @test_count, align 4, !tbaa !5
  %5920 = call i32 @s2n_io_pair_init_non_blocking(ptr noundef %138)
  %5921 = icmp eq i32 %5920, -1
  br i1 %5921, label %5922, label %5975

5922:                                             ; preds = %5917
  br label %5923

5923:                                             ; preds = %5922
  br label %5924

5924:                                             ; preds = %5923
  call void @llvm.lifetime.start.p0(i64 4, ptr %139) #11
  %5925 = call ptr @__errno_location() #12
  %5926 = load i32, ptr %5925, align 4, !tbaa !5
  store i32 %5926, ptr %139, align 4, !tbaa !5
  %5927 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5928 = call i32 @s2n_print_stacktrace(ptr noundef %5927)
  %5929 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5930 = trunc i8 %5929 to i1
  br i1 %5930, label %5931, label %5953

5931:                                             ; preds = %5924
  %5932 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5933 = call i32 @fileno(ptr noundef %5932) #11
  %5934 = call i32 @isatty(i32 noundef %5933) #11
  %5935 = icmp ne i32 %5934, 0
  br i1 %5935, label %5936, label %5953

5936:                                             ; preds = %5931
  %5937 = load i32, ptr %139, align 4, !tbaa !5
  %5938 = call ptr @__errno_location() #12
  store i32 %5937, ptr %5938, align 4, !tbaa !5
  %5939 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5940 = load i32, ptr @test_count, align 4, !tbaa !5
  %5941 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5942 = load i32, ptr %5941, align 4, !tbaa !5
  %5943 = call ptr @s2n_strerror(i32 noundef %5942, ptr noundef @.str.4)
  %5944 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5945 = load i32, ptr %5944, align 4, !tbaa !5
  %5946 = call ptr @s2n_strerror_debug(i32 noundef %5945, ptr noundef @.str.4)
  %5947 = call ptr @__errno_location() #12
  %5948 = load i32, ptr %5947, align 4, !tbaa !5
  %5949 = call ptr @strerror(i32 noundef %5948) #11
  %5950 = call ptr @__errno_location() #12
  %5951 = load i32, ptr %5950, align 4, !tbaa !5
  %5952 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5939, ptr noundef @.str.2, i32 noundef %5940, ptr noundef @.str.25, ptr noundef @.str.1, i32 noundef 250, ptr noundef %5943, ptr noundef %5946, ptr noundef %5949, i32 noundef %5951) #11
  br label %5970

5953:                                             ; preds = %5931, %5924
  %5954 = load i32, ptr %139, align 4, !tbaa !5
  %5955 = call ptr @__errno_location() #12
  store i32 %5954, ptr %5955, align 4, !tbaa !5
  %5956 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5957 = load i32, ptr @test_count, align 4, !tbaa !5
  %5958 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5959 = load i32, ptr %5958, align 4, !tbaa !5
  %5960 = call ptr @s2n_strerror(i32 noundef %5959, ptr noundef @.str.4)
  %5961 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5962 = load i32, ptr %5961, align 4, !tbaa !5
  %5963 = call ptr @s2n_strerror_debug(i32 noundef %5962, ptr noundef @.str.4)
  %5964 = call ptr @__errno_location() #12
  %5965 = load i32, ptr %5964, align 4, !tbaa !5
  %5966 = call ptr @strerror(i32 noundef %5965) #11
  %5967 = call ptr @__errno_location() #12
  %5968 = load i32, ptr %5967, align 4, !tbaa !5
  %5969 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5956, ptr noundef @.str.5, i32 noundef %5957, ptr noundef @.str.25, ptr noundef @.str.1, i32 noundef 250, ptr noundef %5960, ptr noundef %5963, ptr noundef %5966, i32 noundef %5968) #11
  br label %5970

5970:                                             ; preds = %5953, %5936
  call void @llvm.lifetime.end.p0(i64 4, ptr %139) #11
  br label %5971

5971:                                             ; preds = %5970
  br label %5972

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

5973:                                             ; No predecessors!
  br label %5974

5974:                                             ; preds = %5973
  br label %5975

5975:                                             ; preds = %5974, %5917
  br label %5976

5976:                                             ; preds = %5975
  br label %5977

5977:                                             ; preds = %5976
  br label %5978

5978:                                             ; preds = %5977
  %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 = load ptr, ptr %135, align 8, !tbaa !9
  %5982 = call i32 @s2n_connection_set_io_pair(ptr noundef %5981, ptr noundef %138)
  %5983 = icmp eq i32 %5982, -1
  br i1 %5983, label %5984, label %6037

5984:                                             ; preds = %5978
  br label %5985

5985:                                             ; preds = %5984
  br label %5986

5986:                                             ; preds = %5985
  call void @llvm.lifetime.start.p0(i64 4, ptr %140) #11
  %5987 = call ptr @__errno_location() #12
  %5988 = load i32, ptr %5987, align 4, !tbaa !5
  store i32 %5988, ptr %140, align 4, !tbaa !5
  %5989 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5990 = call i32 @s2n_print_stacktrace(ptr noundef %5989)
  %5991 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5992 = trunc i8 %5991 to i1
  br i1 %5992, label %5993, label %6015

5993:                                             ; preds = %5986
  %5994 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5995 = call i32 @fileno(ptr noundef %5994) #11
  %5996 = call i32 @isatty(i32 noundef %5995) #11
  %5997 = icmp ne i32 %5996, 0
  br i1 %5997, label %5998, label %6015

5998:                                             ; preds = %5993
  %5999 = load i32, ptr %140, align 4, !tbaa !5
  %6000 = call ptr @__errno_location() #12
  store i32 %5999, ptr %6000, align 4, !tbaa !5
  %6001 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6002 = load i32, ptr @test_count, align 4, !tbaa !5
  %6003 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6004 = load i32, ptr %6003, align 4, !tbaa !5
  %6005 = call ptr @s2n_strerror(i32 noundef %6004, ptr noundef @.str.4)
  %6006 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6007 = load i32, ptr %6006, align 4, !tbaa !5
  %6008 = call ptr @s2n_strerror_debug(i32 noundef %6007, ptr noundef @.str.4)
  %6009 = call ptr @__errno_location() #12
  %6010 = load i32, ptr %6009, align 4, !tbaa !5
  %6011 = call ptr @strerror(i32 noundef %6010) #11
  %6012 = call ptr @__errno_location() #12
  %6013 = load i32, ptr %6012, align 4, !tbaa !5
  %6014 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6001, ptr noundef @.str.2, i32 noundef %6002, ptr noundef @.str.26, ptr noundef @.str.1, i32 noundef 251, ptr noundef %6005, ptr noundef %6008, ptr noundef %6011, i32 noundef %6013) #11
  br label %6032

6015:                                             ; preds = %5993, %5986
  %6016 = load i32, ptr %140, align 4, !tbaa !5
  %6017 = call ptr @__errno_location() #12
  store i32 %6016, ptr %6017, align 4, !tbaa !5
  %6018 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6019 = load i32, ptr @test_count, align 4, !tbaa !5
  %6020 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6021 = load i32, ptr %6020, align 4, !tbaa !5
  %6022 = call ptr @s2n_strerror(i32 noundef %6021, ptr noundef @.str.4)
  %6023 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6024 = load i32, ptr %6023, align 4, !tbaa !5
  %6025 = call ptr @s2n_strerror_debug(i32 noundef %6024, ptr noundef @.str.4)
  %6026 = call ptr @__errno_location() #12
  %6027 = load i32, ptr %6026, align 4, !tbaa !5
  %6028 = call ptr @strerror(i32 noundef %6027) #11
  %6029 = call ptr @__errno_location() #12
  %6030 = load i32, ptr %6029, align 4, !tbaa !5
  %6031 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6018, ptr noundef @.str.5, i32 noundef %6019, ptr noundef @.str.26, ptr noundef @.str.1, i32 noundef 251, ptr noundef %6022, ptr noundef %6025, ptr noundef %6028, i32 noundef %6030) #11
  br label %6032

6032:                                             ; preds = %6015, %5998
  call void @llvm.lifetime.end.p0(i64 4, ptr %140) #11
  br label %6033

6033:                                             ; preds = %6032
  br label %6034

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

6035:                                             ; No predecessors!
  br label %6036

6036:                                             ; preds = %6035
  br label %6037

6037:                                             ; preds = %6036, %5978
  br label %6038

6038:                                             ; preds = %6037
  br label %6039

6039:                                             ; preds = %6038
  br label %6040

6040:                                             ; preds = %6039
  %6041 = load i32, ptr @test_count, align 4, !tbaa !5
  %6042 = add nsw i32 %6041, 1
  store i32 %6042, ptr @test_count, align 4, !tbaa !5
  %6043 = load ptr, ptr %132, align 8, !tbaa !9
  %6044 = call i32 @s2n_connection_set_io_pair(ptr noundef %6043, ptr noundef %138)
  %6045 = icmp eq i32 %6044, -1
  br i1 %6045, label %6046, label %6099

6046:                                             ; preds = %6040
  br label %6047

6047:                                             ; preds = %6046
  br label %6048

6048:                                             ; preds = %6047
  call void @llvm.lifetime.start.p0(i64 4, ptr %141) #11
  %6049 = call ptr @__errno_location() #12
  %6050 = load i32, ptr %6049, align 4, !tbaa !5
  store i32 %6050, ptr %141, align 4, !tbaa !5
  %6051 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6052 = call i32 @s2n_print_stacktrace(ptr noundef %6051)
  %6053 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6054 = trunc i8 %6053 to i1
  br i1 %6054, label %6055, label %6077

6055:                                             ; preds = %6048
  %6056 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6057 = call i32 @fileno(ptr noundef %6056) #11
  %6058 = call i32 @isatty(i32 noundef %6057) #11
  %6059 = icmp ne i32 %6058, 0
  br i1 %6059, label %6060, label %6077

6060:                                             ; preds = %6055
  %6061 = load i32, ptr %141, align 4, !tbaa !5
  %6062 = call ptr @__errno_location() #12
  store i32 %6061, ptr %6062, align 4, !tbaa !5
  %6063 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6064 = load i32, ptr @test_count, align 4, !tbaa !5
  %6065 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6066 = load i32, ptr %6065, align 4, !tbaa !5
  %6067 = call ptr @s2n_strerror(i32 noundef %6066, ptr noundef @.str.4)
  %6068 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6069 = load i32, ptr %6068, align 4, !tbaa !5
  %6070 = call ptr @s2n_strerror_debug(i32 noundef %6069, ptr noundef @.str.4)
  %6071 = call ptr @__errno_location() #12
  %6072 = load i32, ptr %6071, align 4, !tbaa !5
  %6073 = call ptr @strerror(i32 noundef %6072) #11
  %6074 = call ptr @__errno_location() #12
  %6075 = load i32, ptr %6074, align 4, !tbaa !5
  %6076 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6063, ptr noundef @.str.2, i32 noundef %6064, ptr noundef @.str.27, ptr noundef @.str.1, i32 noundef 252, ptr noundef %6067, ptr noundef %6070, ptr noundef %6073, i32 noundef %6075) #11
  br label %6094

6077:                                             ; preds = %6055, %6048
  %6078 = load i32, ptr %141, align 4, !tbaa !5
  %6079 = call ptr @__errno_location() #12
  store i32 %6078, ptr %6079, align 4, !tbaa !5
  %6080 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6081 = load i32, ptr @test_count, align 4, !tbaa !5
  %6082 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6083 = load i32, ptr %6082, align 4, !tbaa !5
  %6084 = call ptr @s2n_strerror(i32 noundef %6083, ptr noundef @.str.4)
  %6085 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6086 = load i32, ptr %6085, align 4, !tbaa !5
  %6087 = call ptr @s2n_strerror_debug(i32 noundef %6086, ptr noundef @.str.4)
  %6088 = call ptr @__errno_location() #12
  %6089 = load i32, ptr %6088, align 4, !tbaa !5
  %6090 = call ptr @strerror(i32 noundef %6089) #11
  %6091 = call ptr @__errno_location() #12
  %6092 = load i32, ptr %6091, align 4, !tbaa !5
  %6093 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6080, ptr noundef @.str.5, i32 noundef %6081, ptr noundef @.str.27, ptr noundef @.str.1, i32 noundef 252, ptr noundef %6084, ptr noundef %6087, ptr noundef %6090, i32 noundef %6092) #11
  br label %6094

6094:                                             ; preds = %6077, %6060
  call void @llvm.lifetime.end.p0(i64 4, ptr %141) #11
  br label %6095

6095:                                             ; preds = %6094
  br label %6096

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

6097:                                             ; No predecessors!
  br label %6098

6098:                                             ; preds = %6097
  br label %6099

6099:                                             ; preds = %6098, %6040
  br label %6100

6100:                                             ; preds = %6099
  br label %6101

6101:                                             ; preds = %6100
  br label %6102

6102:                                             ; preds = %6101
  %6103 = load i32, ptr @test_count, align 4, !tbaa !5
  %6104 = add nsw i32 %6103, 1
  store i32 %6104, ptr @test_count, align 4, !tbaa !5
  %6105 = load ptr, ptr %135, align 8, !tbaa !9
  %6106 = call i32 @s2n_connection_set_client_auth_type(ptr noundef %6105, i32 noundef 0)
  %6107 = icmp eq i32 %6106, -1
  br i1 %6107, label %6108, label %6161

6108:                                             ; preds = %6102
  br label %6109

6109:                                             ; preds = %6108
  br label %6110

6110:                                             ; preds = %6109
  call void @llvm.lifetime.start.p0(i64 4, ptr %142) #11
  %6111 = call ptr @__errno_location() #12
  %6112 = load i32, ptr %6111, align 4, !tbaa !5
  store i32 %6112, ptr %142, align 4, !tbaa !5
  %6113 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6114 = call i32 @s2n_print_stacktrace(ptr noundef %6113)
  %6115 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6116 = trunc i8 %6115 to i1
  br i1 %6116, label %6117, label %6139

6117:                                             ; preds = %6110
  %6118 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6119 = call i32 @fileno(ptr noundef %6118) #11
  %6120 = call i32 @isatty(i32 noundef %6119) #11
  %6121 = icmp ne i32 %6120, 0
  br i1 %6121, label %6122, label %6139

6122:                                             ; preds = %6117
  %6123 = load i32, ptr %142, align 4, !tbaa !5
  %6124 = call ptr @__errno_location() #12
  store i32 %6123, ptr %6124, align 4, !tbaa !5
  %6125 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6126 = load i32, ptr @test_count, align 4, !tbaa !5
  %6127 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6128 = load i32, ptr %6127, align 4, !tbaa !5
  %6129 = call ptr @s2n_strerror(i32 noundef %6128, ptr noundef @.str.4)
  %6130 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6131 = load i32, ptr %6130, align 4, !tbaa !5
  %6132 = call ptr @s2n_strerror_debug(i32 noundef %6131, ptr noundef @.str.4)
  %6133 = call ptr @__errno_location() #12
  %6134 = load i32, ptr %6133, align 4, !tbaa !5
  %6135 = call ptr @strerror(i32 noundef %6134) #11
  %6136 = call ptr @__errno_location() #12
  %6137 = load i32, ptr %6136, align 4, !tbaa !5
  %6138 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6125, ptr noundef @.str.2, i32 noundef %6126, ptr noundef @.str.51, ptr noundef @.str.1, i32 noundef 254, ptr noundef %6129, ptr noundef %6132, ptr noundef %6135, i32 noundef %6137) #11
  br label %6156

6139:                                             ; preds = %6117, %6110
  %6140 = load i32, ptr %142, align 4, !tbaa !5
  %6141 = call ptr @__errno_location() #12
  store i32 %6140, ptr %6141, align 4, !tbaa !5
  %6142 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6143 = load i32, ptr @test_count, align 4, !tbaa !5
  %6144 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6145 = load i32, ptr %6144, align 4, !tbaa !5
  %6146 = call ptr @s2n_strerror(i32 noundef %6145, ptr noundef @.str.4)
  %6147 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6148 = load i32, ptr %6147, align 4, !tbaa !5
  %6149 = call ptr @s2n_strerror_debug(i32 noundef %6148, ptr noundef @.str.4)
  %6150 = call ptr @__errno_location() #12
  %6151 = load i32, ptr %6150, align 4, !tbaa !5
  %6152 = call ptr @strerror(i32 noundef %6151) #11
  %6153 = call ptr @__errno_location() #12
  %6154 = load i32, ptr %6153, align 4, !tbaa !5
  %6155 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6142, ptr noundef @.str.5, i32 noundef %6143, ptr noundef @.str.51, ptr noundef @.str.1, i32 noundef 254, ptr noundef %6146, ptr noundef %6149, ptr noundef %6152, i32 noundef %6154) #11
  br label %6156

6156:                                             ; preds = %6139, %6122
  call void @llvm.lifetime.end.p0(i64 4, ptr %142) #11
  br label %6157

6157:                                             ; preds = %6156
  br label %6158

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

6159:                                             ; No predecessors!
  br label %6160

6160:                                             ; preds = %6159
  br label %6161

6161:                                             ; preds = %6160, %6102
  br label %6162

6162:                                             ; preds = %6161
  br label %6163

6163:                                             ; preds = %6162
  br label %6164

6164:                                             ; preds = %6163
  %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 = load ptr, ptr %132, align 8, !tbaa !9
  %6168 = call i32 @s2n_connection_set_client_auth_type(ptr noundef %6167, i32 noundef 0)
  %6169 = icmp eq i32 %6168, -1
  br i1 %6169, label %6170, label %6223

6170:                                             ; preds = %6164
  br label %6171

6171:                                             ; preds = %6170
  br label %6172

6172:                                             ; preds = %6171
  call void @llvm.lifetime.start.p0(i64 4, ptr %143) #11
  %6173 = call ptr @__errno_location() #12
  %6174 = load i32, ptr %6173, align 4, !tbaa !5
  store i32 %6174, ptr %143, align 4, !tbaa !5
  %6175 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6176 = call i32 @s2n_print_stacktrace(ptr noundef %6175)
  %6177 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6178 = trunc i8 %6177 to i1
  br i1 %6178, label %6179, label %6201

6179:                                             ; preds = %6172
  %6180 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6181 = call i32 @fileno(ptr noundef %6180) #11
  %6182 = call i32 @isatty(i32 noundef %6181) #11
  %6183 = icmp ne i32 %6182, 0
  br i1 %6183, label %6184, label %6201

6184:                                             ; preds = %6179
  %6185 = load i32, ptr %143, align 4, !tbaa !5
  %6186 = call ptr @__errno_location() #12
  store i32 %6185, ptr %6186, align 4, !tbaa !5
  %6187 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6188 = load i32, ptr @test_count, align 4, !tbaa !5
  %6189 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6190 = load i32, ptr %6189, align 4, !tbaa !5
  %6191 = call ptr @s2n_strerror(i32 noundef %6190, ptr noundef @.str.4)
  %6192 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6193 = load i32, ptr %6192, align 4, !tbaa !5
  %6194 = call ptr @s2n_strerror_debug(i32 noundef %6193, ptr noundef @.str.4)
  %6195 = call ptr @__errno_location() #12
  %6196 = load i32, ptr %6195, align 4, !tbaa !5
  %6197 = call ptr @strerror(i32 noundef %6196) #11
  %6198 = call ptr @__errno_location() #12
  %6199 = load i32, ptr %6198, align 4, !tbaa !5
  %6200 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6187, ptr noundef @.str.2, i32 noundef %6188, ptr noundef @.str.52, ptr noundef @.str.1, i32 noundef 255, ptr noundef %6191, ptr noundef %6194, ptr noundef %6197, i32 noundef %6199) #11
  br label %6218

6201:                                             ; preds = %6179, %6172
  %6202 = load i32, ptr %143, align 4, !tbaa !5
  %6203 = call ptr @__errno_location() #12
  store i32 %6202, ptr %6203, align 4, !tbaa !5
  %6204 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6205 = load i32, ptr @test_count, align 4, !tbaa !5
  %6206 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6207 = load i32, ptr %6206, align 4, !tbaa !5
  %6208 = call ptr @s2n_strerror(i32 noundef %6207, ptr noundef @.str.4)
  %6209 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6210 = load i32, ptr %6209, align 4, !tbaa !5
  %6211 = call ptr @s2n_strerror_debug(i32 noundef %6210, ptr noundef @.str.4)
  %6212 = call ptr @__errno_location() #12
  %6213 = load i32, ptr %6212, align 4, !tbaa !5
  %6214 = call ptr @strerror(i32 noundef %6213) #11
  %6215 = call ptr @__errno_location() #12
  %6216 = load i32, ptr %6215, align 4, !tbaa !5
  %6217 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6204, ptr noundef @.str.5, i32 noundef %6205, ptr noundef @.str.52, ptr noundef @.str.1, i32 noundef 255, ptr noundef %6208, ptr noundef %6211, ptr noundef %6214, i32 noundef %6216) #11
  br label %6218

6218:                                             ; preds = %6201, %6184
  call void @llvm.lifetime.end.p0(i64 4, ptr %143) #11
  br label %6219

6219:                                             ; preds = %6218
  br label %6220

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

6221:                                             ; No predecessors!
  br label %6222

6222:                                             ; preds = %6221
  br label %6223

6223:                                             ; preds = %6222, %6164
  br label %6224

6224:                                             ; preds = %6223
  br label %6225

6225:                                             ; preds = %6224
  br label %6226

6226:                                             ; preds = %6225
  %6227 = load i32, ptr @test_count, align 4, !tbaa !5
  %6228 = add nsw i32 %6227, 1
  store i32 %6228, ptr @test_count, align 4, !tbaa !5
  %6229 = load ptr, ptr %132, align 8, !tbaa !9
  %6230 = load ptr, ptr %135, align 8, !tbaa !9
  %6231 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef %6229, ptr noundef %6230)
  %6232 = icmp eq i32 %6231, -1
  br i1 %6232, label %6233, label %6286

6233:                                             ; preds = %6226
  br label %6234

6234:                                             ; preds = %6233
  br label %6235

6235:                                             ; preds = %6234
  call void @llvm.lifetime.start.p0(i64 4, ptr %144) #11
  %6236 = call ptr @__errno_location() #12
  %6237 = load i32, ptr %6236, align 4, !tbaa !5
  store i32 %6237, ptr %144, align 4, !tbaa !5
  %6238 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6239 = call i32 @s2n_print_stacktrace(ptr noundef %6238)
  %6240 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6241 = trunc i8 %6240 to i1
  br i1 %6241, label %6242, label %6264

6242:                                             ; preds = %6235
  %6243 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6244 = call i32 @fileno(ptr noundef %6243) #11
  %6245 = call i32 @isatty(i32 noundef %6244) #11
  %6246 = icmp ne i32 %6245, 0
  br i1 %6246, label %6247, label %6264

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

6264:                                             ; preds = %6242, %6235
  %6265 = load i32, ptr %144, align 4, !tbaa !5
  %6266 = call ptr @__errno_location() #12
  store i32 %6265, ptr %6266, align 4, !tbaa !5
  %6267 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6268 = load i32, ptr @test_count, align 4, !tbaa !5
  %6269 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6270 = load i32, ptr %6269, align 4, !tbaa !5
  %6271 = call ptr @s2n_strerror(i32 noundef %6270, ptr noundef @.str.4)
  %6272 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6273 = load i32, ptr %6272, align 4, !tbaa !5
  %6274 = call ptr @s2n_strerror_debug(i32 noundef %6273, ptr noundef @.str.4)
  %6275 = call ptr @__errno_location() #12
  %6276 = load i32, ptr %6275, align 4, !tbaa !5
  %6277 = call ptr @strerror(i32 noundef %6276) #11
  %6278 = call ptr @__errno_location() #12
  %6279 = load i32, ptr %6278, align 4, !tbaa !5
  %6280 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6267, ptr noundef @.str.5, i32 noundef %6268, ptr noundef @.str.32, ptr noundef @.str.1, i32 noundef 256, ptr noundef %6271, ptr noundef %6274, ptr noundef %6277, i32 noundef %6279) #11
  br label %6281

6281:                                             ; preds = %6264, %6247
  call void @llvm.lifetime.end.p0(i64 4, ptr %144) #11
  br label %6282

6282:                                             ; preds = %6281
  br label %6283

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

6284:                                             ; No predecessors!
  br label %6285

6285:                                             ; preds = %6284
  br label %6286

6286:                                             ; preds = %6285, %6226
  br label %6287

6287:                                             ; preds = %6286
  br label %6288

6288:                                             ; preds = %6287
  br label %6289

6289:                                             ; preds = %6288
  %6290 = load i32, ptr @test_count, align 4, !tbaa !5
  %6291 = add nsw i32 %6290, 1
  store i32 %6291, ptr @test_count, align 4, !tbaa !5
  %6292 = load ptr, ptr %135, align 8, !tbaa !9
  %6293 = call zeroext i1 @s2n_handshake_type_check_flag(ptr noundef %6292, i32 noundef 4)
  br i1 %6293, label %6294, label %6347

6294:                                             ; preds = %6289
  br label %6295

6295:                                             ; preds = %6294
  br label %6296

6296:                                             ; preds = %6295
  call void @llvm.lifetime.start.p0(i64 4, ptr %145) #11
  %6297 = call ptr @__errno_location() #12
  %6298 = load i32, ptr %6297, align 4, !tbaa !5
  store i32 %6298, ptr %145, align 4, !tbaa !5
  %6299 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6300 = call i32 @s2n_print_stacktrace(ptr noundef %6299)
  %6301 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6302 = trunc i8 %6301 to i1
  br i1 %6302, label %6303, label %6325

6303:                                             ; preds = %6296
  %6304 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6305 = call i32 @fileno(ptr noundef %6304) #11
  %6306 = call i32 @isatty(i32 noundef %6305) #11
  %6307 = icmp ne i32 %6306, 0
  br i1 %6307, label %6308, label %6325

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

6325:                                             ; preds = %6303, %6296
  %6326 = load i32, ptr %145, align 4, !tbaa !5
  %6327 = call ptr @__errno_location() #12
  store i32 %6326, ptr %6327, align 4, !tbaa !5
  %6328 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6329 = load i32, ptr @test_count, align 4, !tbaa !5
  %6330 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6331 = load i32, ptr %6330, align 4, !tbaa !5
  %6332 = call ptr @s2n_strerror(i32 noundef %6331, ptr noundef @.str.4)
  %6333 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6334 = load i32, ptr %6333, align 4, !tbaa !5
  %6335 = call ptr @s2n_strerror_debug(i32 noundef %6334, ptr noundef @.str.4)
  %6336 = call ptr @__errno_location() #12
  %6337 = load i32, ptr %6336, align 4, !tbaa !5
  %6338 = call ptr @strerror(i32 noundef %6337) #11
  %6339 = call ptr @__errno_location() #12
  %6340 = load i32, ptr %6339, align 4, !tbaa !5
  %6341 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6328, ptr noundef @.str.5, i32 noundef %6329, ptr noundef @.str.53, ptr noundef @.str.1, i32 noundef 257, ptr noundef %6332, ptr noundef %6335, ptr noundef %6338, i32 noundef %6340) #11
  br label %6342

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

6343:                                             ; preds = %6342
  br label %6344

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

6345:                                             ; No predecessors!
  br label %6346

6346:                                             ; preds = %6345
  br label %6347

6347:                                             ; preds = %6346, %6289
  br label %6348

6348:                                             ; preds = %6347
  br label %6349

6349:                                             ; preds = %6348
  br label %6350

6350:                                             ; preds = %6349
  %6351 = load i32, ptr @test_count, align 4, !tbaa !5
  %6352 = add nsw i32 %6351, 1
  store i32 %6352, ptr @test_count, align 4, !tbaa !5
  %6353 = load ptr, ptr %132, align 8, !tbaa !9
  %6354 = call zeroext i1 @s2n_handshake_type_check_flag(ptr noundef %6353, i32 noundef 4)
  br i1 %6354, label %6355, label %6408

6355:                                             ; preds = %6350
  br label %6356

6356:                                             ; preds = %6355
  br label %6357

6357:                                             ; preds = %6356
  call void @llvm.lifetime.start.p0(i64 4, ptr %146) #11
  %6358 = call ptr @__errno_location() #12
  %6359 = load i32, ptr %6358, align 4, !tbaa !5
  store i32 %6359, ptr %146, align 4, !tbaa !5
  %6360 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6361 = call i32 @s2n_print_stacktrace(ptr noundef %6360)
  %6362 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6363 = trunc i8 %6362 to i1
  br i1 %6363, label %6364, label %6386

6364:                                             ; preds = %6357
  %6365 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6366 = call i32 @fileno(ptr noundef %6365) #11
  %6367 = call i32 @isatty(i32 noundef %6366) #11
  %6368 = icmp ne i32 %6367, 0
  br i1 %6368, label %6369, label %6386

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

6386:                                             ; preds = %6364, %6357
  %6387 = load i32, ptr %146, align 4, !tbaa !5
  %6388 = call ptr @__errno_location() #12
  store i32 %6387, ptr %6388, align 4, !tbaa !5
  %6389 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6390 = load i32, ptr @test_count, align 4, !tbaa !5
  %6391 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6392 = load i32, ptr %6391, align 4, !tbaa !5
  %6393 = call ptr @s2n_strerror(i32 noundef %6392, ptr noundef @.str.4)
  %6394 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6395 = load i32, ptr %6394, align 4, !tbaa !5
  %6396 = call ptr @s2n_strerror_debug(i32 noundef %6395, ptr noundef @.str.4)
  %6397 = call ptr @__errno_location() #12
  %6398 = load i32, ptr %6397, align 4, !tbaa !5
  %6399 = call ptr @strerror(i32 noundef %6398) #11
  %6400 = call ptr @__errno_location() #12
  %6401 = load i32, ptr %6400, align 4, !tbaa !5
  %6402 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6389, ptr noundef @.str.5, i32 noundef %6390, ptr noundef @.str.54, ptr noundef @.str.1, i32 noundef 258, ptr noundef %6393, ptr noundef %6396, ptr noundef %6399, i32 noundef %6401) #11
  br label %6403

6403:                                             ; preds = %6386, %6369
  call void @llvm.lifetime.end.p0(i64 4, ptr %146) #11
  br label %6404

6404:                                             ; preds = %6403
  br label %6405

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

6406:                                             ; No predecessors!
  br label %6407

6407:                                             ; preds = %6406
  br label %6408

6408:                                             ; preds = %6407, %6350
  br label %6409

6409:                                             ; preds = %6408
  br label %6410

6410:                                             ; preds = %6409
  br label %6411

6411:                                             ; preds = %6410
  %6412 = load i32, ptr @test_count, align 4, !tbaa !5
  %6413 = add nsw i32 %6412, 1
  store i32 %6413, ptr @test_count, align 4, !tbaa !5
  %6414 = load ptr, ptr %135, align 8, !tbaa !9
  %6415 = call i32 @s2n_renegotiate_wipe(ptr noundef %6414)
  %6416 = icmp eq i32 %6415, -1
  br i1 %6416, label %6417, label %6470

6417:                                             ; preds = %6411
  br label %6418

6418:                                             ; preds = %6417
  br label %6419

6419:                                             ; preds = %6418
  call void @llvm.lifetime.start.p0(i64 4, ptr %147) #11
  %6420 = call ptr @__errno_location() #12
  %6421 = load i32, ptr %6420, align 4, !tbaa !5
  store i32 %6421, ptr %147, align 4, !tbaa !5
  %6422 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6423 = call i32 @s2n_print_stacktrace(ptr noundef %6422)
  %6424 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6425 = trunc i8 %6424 to i1
  br i1 %6425, label %6426, label %6448

6426:                                             ; preds = %6419
  %6427 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6428 = call i32 @fileno(ptr noundef %6427) #11
  %6429 = call i32 @isatty(i32 noundef %6428) #11
  %6430 = icmp ne i32 %6429, 0
  br i1 %6430, label %6431, label %6448

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

6448:                                             ; preds = %6426, %6419
  %6449 = load i32, ptr %147, align 4, !tbaa !5
  %6450 = call ptr @__errno_location() #12
  store i32 %6449, ptr %6450, align 4, !tbaa !5
  %6451 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6452 = load i32, ptr @test_count, align 4, !tbaa !5
  %6453 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6454 = load i32, ptr %6453, align 4, !tbaa !5
  %6455 = call ptr @s2n_strerror(i32 noundef %6454, ptr noundef @.str.4)
  %6456 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6457 = load i32, ptr %6456, align 4, !tbaa !5
  %6458 = call ptr @s2n_strerror_debug(i32 noundef %6457, ptr noundef @.str.4)
  %6459 = call ptr @__errno_location() #12
  %6460 = load i32, ptr %6459, align 4, !tbaa !5
  %6461 = call ptr @strerror(i32 noundef %6460) #11
  %6462 = call ptr @__errno_location() #12
  %6463 = load i32, ptr %6462, align 4, !tbaa !5
  %6464 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6451, ptr noundef @.str.5, i32 noundef %6452, ptr noundef @.str.33, ptr noundef @.str.1, i32 noundef 260, ptr noundef %6455, ptr noundef %6458, ptr noundef %6461, i32 noundef %6463) #11
  br label %6465

6465:                                             ; preds = %6448, %6431
  call void @llvm.lifetime.end.p0(i64 4, ptr %147) #11
  br label %6466

6466:                                             ; preds = %6465
  br label %6467

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

6468:                                             ; No predecessors!
  br label %6469

6469:                                             ; preds = %6468
  br label %6470

6470:                                             ; preds = %6469, %6411
  br label %6471

6471:                                             ; preds = %6470
  br label %6472

6472:                                             ; preds = %6471
  br label %6473

6473:                                             ; preds = %6472
  %6474 = load i32, ptr @test_count, align 4, !tbaa !5
  %6475 = add nsw i32 %6474, 1
  store i32 %6475, ptr @test_count, align 4, !tbaa !5
  %6476 = load ptr, ptr %132, align 8, !tbaa !9
  %6477 = call i32 @s2n_renegotiate_wipe(ptr noundef %6476)
  %6478 = icmp eq i32 %6477, -1
  br i1 %6478, label %6479, label %6532

6479:                                             ; preds = %6473
  br label %6480

6480:                                             ; preds = %6479
  br label %6481

6481:                                             ; preds = %6480
  call void @llvm.lifetime.start.p0(i64 4, ptr %148) #11
  %6482 = call ptr @__errno_location() #12
  %6483 = load i32, ptr %6482, align 4, !tbaa !5
  store i32 %6483, ptr %148, align 4, !tbaa !5
  %6484 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6485 = call i32 @s2n_print_stacktrace(ptr noundef %6484)
  %6486 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6487 = trunc i8 %6486 to i1
  br i1 %6487, label %6488, label %6510

6488:                                             ; preds = %6481
  %6489 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6490 = call i32 @fileno(ptr noundef %6489) #11
  %6491 = call i32 @isatty(i32 noundef %6490) #11
  %6492 = icmp ne i32 %6491, 0
  br i1 %6492, label %6493, label %6510

6493:                                             ; preds = %6488
  %6494 = load i32, ptr %148, align 4, !tbaa !5
  %6495 = call ptr @__errno_location() #12
  store i32 %6494, ptr %6495, align 4, !tbaa !5
  %6496 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6497 = load i32, ptr @test_count, align 4, !tbaa !5
  %6498 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6499 = load i32, ptr %6498, align 4, !tbaa !5
  %6500 = call ptr @s2n_strerror(i32 noundef %6499, ptr noundef @.str.4)
  %6501 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6502 = load i32, ptr %6501, align 4, !tbaa !5
  %6503 = call ptr @s2n_strerror_debug(i32 noundef %6502, ptr noundef @.str.4)
  %6504 = call ptr @__errno_location() #12
  %6505 = load i32, ptr %6504, align 4, !tbaa !5
  %6506 = call ptr @strerror(i32 noundef %6505) #11
  %6507 = call ptr @__errno_location() #12
  %6508 = load i32, ptr %6507, align 4, !tbaa !5
  %6509 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6496, ptr noundef @.str.2, i32 noundef %6497, ptr noundef @.str.50, ptr noundef @.str.1, i32 noundef 261, ptr noundef %6500, ptr noundef %6503, ptr noundef %6506, i32 noundef %6508) #11
  br label %6527

6510:                                             ; preds = %6488, %6481
  %6511 = load i32, ptr %148, align 4, !tbaa !5
  %6512 = call ptr @__errno_location() #12
  store i32 %6511, ptr %6512, align 4, !tbaa !5
  %6513 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6514 = load i32, ptr @test_count, align 4, !tbaa !5
  %6515 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6516 = load i32, ptr %6515, align 4, !tbaa !5
  %6517 = call ptr @s2n_strerror(i32 noundef %6516, ptr noundef @.str.4)
  %6518 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6519 = load i32, ptr %6518, align 4, !tbaa !5
  %6520 = call ptr @s2n_strerror_debug(i32 noundef %6519, ptr noundef @.str.4)
  %6521 = call ptr @__errno_location() #12
  %6522 = load i32, ptr %6521, align 4, !tbaa !5
  %6523 = call ptr @strerror(i32 noundef %6522) #11
  %6524 = call ptr @__errno_location() #12
  %6525 = load i32, ptr %6524, align 4, !tbaa !5
  %6526 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6513, ptr noundef @.str.5, i32 noundef %6514, ptr noundef @.str.50, ptr noundef @.str.1, i32 noundef 261, ptr noundef %6517, ptr noundef %6520, ptr noundef %6523, i32 noundef %6525) #11
  br label %6527

6527:                                             ; preds = %6510, %6493
  call void @llvm.lifetime.end.p0(i64 4, ptr %148) #11
  br label %6528

6528:                                             ; preds = %6527
  br label %6529

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

6530:                                             ; No predecessors!
  br label %6531

6531:                                             ; preds = %6530
  br label %6532

6532:                                             ; preds = %6531, %6473
  br label %6533

6533:                                             ; preds = %6532
  br label %6534

6534:                                             ; preds = %6533
  br label %6535

6535:                                             ; preds = %6534
  %6536 = load i32, ptr @test_count, align 4, !tbaa !5
  %6537 = add nsw i32 %6536, 1
  store i32 %6537, ptr @test_count, align 4, !tbaa !5
  %6538 = load ptr, ptr %135, align 8, !tbaa !9
  %6539 = call i32 @s2n_connection_set_client_auth_type(ptr noundef %6538, i32 noundef 1)
  %6540 = icmp eq i32 %6539, -1
  br i1 %6540, label %6541, label %6594

6541:                                             ; preds = %6535
  br label %6542

6542:                                             ; preds = %6541
  br label %6543

6543:                                             ; preds = %6542
  call void @llvm.lifetime.start.p0(i64 4, ptr %149) #11
  %6544 = call ptr @__errno_location() #12
  %6545 = load i32, ptr %6544, align 4, !tbaa !5
  store i32 %6545, ptr %149, align 4, !tbaa !5
  %6546 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6547 = call i32 @s2n_print_stacktrace(ptr noundef %6546)
  %6548 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6549 = trunc i8 %6548 to i1
  br i1 %6549, label %6550, label %6572

6550:                                             ; preds = %6543
  %6551 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6552 = call i32 @fileno(ptr noundef %6551) #11
  %6553 = call i32 @isatty(i32 noundef %6552) #11
  %6554 = icmp ne i32 %6553, 0
  br i1 %6554, label %6555, label %6572

6555:                                             ; preds = %6550
  %6556 = load i32, ptr %149, align 4, !tbaa !5
  %6557 = call ptr @__errno_location() #12
  store i32 %6556, ptr %6557, align 4, !tbaa !5
  %6558 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6559 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %6561, ptr noundef @.str.4)
  %6563 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6564 = load i32, ptr %6563, align 4, !tbaa !5
  %6565 = call ptr @s2n_strerror_debug(i32 noundef %6564, ptr noundef @.str.4)
  %6566 = call ptr @__errno_location() #12
  %6567 = load i32, ptr %6566, align 4, !tbaa !5
  %6568 = call ptr @strerror(i32 noundef %6567) #11
  %6569 = call ptr @__errno_location() #12
  %6570 = load i32, ptr %6569, align 4, !tbaa !5
  %6571 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6558, ptr noundef @.str.2, i32 noundef %6559, ptr noundef @.str.55, ptr noundef @.str.1, i32 noundef 263, ptr noundef %6562, ptr noundef %6565, ptr noundef %6568, i32 noundef %6570) #11
  br label %6589

6572:                                             ; preds = %6550, %6543
  %6573 = load i32, ptr %149, align 4, !tbaa !5
  %6574 = call ptr @__errno_location() #12
  store i32 %6573, ptr %6574, align 4, !tbaa !5
  %6575 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6576 = load i32, ptr @test_count, align 4, !tbaa !5
  %6577 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6578 = load i32, ptr %6577, align 4, !tbaa !5
  %6579 = call ptr @s2n_strerror(i32 noundef %6578, ptr noundef @.str.4)
  %6580 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6581 = load i32, ptr %6580, align 4, !tbaa !5
  %6582 = call ptr @s2n_strerror_debug(i32 noundef %6581, ptr noundef @.str.4)
  %6583 = call ptr @__errno_location() #12
  %6584 = load i32, ptr %6583, align 4, !tbaa !5
  %6585 = call ptr @strerror(i32 noundef %6584) #11
  %6586 = call ptr @__errno_location() #12
  %6587 = load i32, ptr %6586, align 4, !tbaa !5
  %6588 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6575, ptr noundef @.str.5, i32 noundef %6576, ptr noundef @.str.55, ptr noundef @.str.1, i32 noundef 263, ptr noundef %6579, ptr noundef %6582, ptr noundef %6585, i32 noundef %6587) #11
  br label %6589

6589:                                             ; preds = %6572, %6555
  call void @llvm.lifetime.end.p0(i64 4, ptr %149) #11
  br label %6590

6590:                                             ; preds = %6589
  br label %6591

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

6592:                                             ; No predecessors!
  br label %6593

6593:                                             ; preds = %6592
  br label %6594

6594:                                             ; preds = %6593, %6535
  br label %6595

6595:                                             ; preds = %6594
  br label %6596

6596:                                             ; preds = %6595
  br label %6597

6597:                                             ; preds = %6596
  %6598 = load i32, ptr @test_count, align 4, !tbaa !5
  %6599 = add nsw i32 %6598, 1
  store i32 %6599, ptr @test_count, align 4, !tbaa !5
  %6600 = load ptr, ptr %132, align 8, !tbaa !9
  %6601 = call i32 @s2n_connection_set_client_auth_type(ptr noundef %6600, i32 noundef 1)
  %6602 = icmp eq i32 %6601, -1
  br i1 %6602, label %6603, label %6656

6603:                                             ; preds = %6597
  br label %6604

6604:                                             ; preds = %6603
  br label %6605

6605:                                             ; preds = %6604
  call void @llvm.lifetime.start.p0(i64 4, ptr %150) #11
  %6606 = call ptr @__errno_location() #12
  %6607 = load i32, ptr %6606, align 4, !tbaa !5
  store i32 %6607, ptr %150, align 4, !tbaa !5
  %6608 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6609 = call i32 @s2n_print_stacktrace(ptr noundef %6608)
  %6610 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6611 = trunc i8 %6610 to i1
  br i1 %6611, label %6612, label %6634

6612:                                             ; preds = %6605
  %6613 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6614 = call i32 @fileno(ptr noundef %6613) #11
  %6615 = call i32 @isatty(i32 noundef %6614) #11
  %6616 = icmp ne i32 %6615, 0
  br i1 %6616, label %6617, label %6634

6617:                                             ; preds = %6612
  %6618 = load i32, ptr %150, align 4, !tbaa !5
  %6619 = call ptr @__errno_location() #12
  store i32 %6618, ptr %6619, align 4, !tbaa !5
  %6620 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6621 = load i32, ptr @test_count, align 4, !tbaa !5
  %6622 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6623 = load i32, ptr %6622, align 4, !tbaa !5
  %6624 = call ptr @s2n_strerror(i32 noundef %6623, ptr noundef @.str.4)
  %6625 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6626 = load i32, ptr %6625, align 4, !tbaa !5
  %6627 = call ptr @s2n_strerror_debug(i32 noundef %6626, ptr noundef @.str.4)
  %6628 = call ptr @__errno_location() #12
  %6629 = load i32, ptr %6628, align 4, !tbaa !5
  %6630 = call ptr @strerror(i32 noundef %6629) #11
  %6631 = call ptr @__errno_location() #12
  %6632 = load i32, ptr %6631, align 4, !tbaa !5
  %6633 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6620, ptr noundef @.str.2, i32 noundef %6621, ptr noundef @.str.56, ptr noundef @.str.1, i32 noundef 264, ptr noundef %6624, ptr noundef %6627, ptr noundef %6630, i32 noundef %6632) #11
  br label %6651

6634:                                             ; preds = %6612, %6605
  %6635 = load i32, ptr %150, align 4, !tbaa !5
  %6636 = call ptr @__errno_location() #12
  store i32 %6635, ptr %6636, align 4, !tbaa !5
  %6637 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6638 = load i32, ptr @test_count, align 4, !tbaa !5
  %6639 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6640 = load i32, ptr %6639, align 4, !tbaa !5
  %6641 = call ptr @s2n_strerror(i32 noundef %6640, ptr noundef @.str.4)
  %6642 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6643 = load i32, ptr %6642, align 4, !tbaa !5
  %6644 = call ptr @s2n_strerror_debug(i32 noundef %6643, ptr noundef @.str.4)
  %6645 = call ptr @__errno_location() #12
  %6646 = load i32, ptr %6645, align 4, !tbaa !5
  %6647 = call ptr @strerror(i32 noundef %6646) #11
  %6648 = call ptr @__errno_location() #12
  %6649 = load i32, ptr %6648, align 4, !tbaa !5
  %6650 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6637, ptr noundef @.str.5, i32 noundef %6638, ptr noundef @.str.56, ptr noundef @.str.1, i32 noundef 264, ptr noundef %6641, ptr noundef %6644, ptr noundef %6647, i32 noundef %6649) #11
  br label %6651

6651:                                             ; preds = %6634, %6617
  call void @llvm.lifetime.end.p0(i64 4, ptr %150) #11
  br label %6652

6652:                                             ; preds = %6651
  br label %6653

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

6654:                                             ; No predecessors!
  br label %6655

6655:                                             ; preds = %6654
  br label %6656

6656:                                             ; preds = %6655, %6597
  br label %6657

6657:                                             ; preds = %6656
  br label %6658

6658:                                             ; preds = %6657
  br label %6659

6659:                                             ; preds = %6658
  %6660 = load i32, ptr @test_count, align 4, !tbaa !5
  %6661 = add nsw i32 %6660, 1
  store i32 %6661, ptr @test_count, align 4, !tbaa !5
  %6662 = load ptr, ptr %132, align 8, !tbaa !9
  %6663 = load ptr, ptr %135, align 8, !tbaa !9
  %6664 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef %6662, ptr noundef %6663)
  %6665 = icmp eq i32 %6664, -1
  br i1 %6665, label %6666, label %6719

6666:                                             ; preds = %6659
  br label %6667

6667:                                             ; preds = %6666
  br label %6668

6668:                                             ; preds = %6667
  call void @llvm.lifetime.start.p0(i64 4, ptr %151) #11
  %6669 = call ptr @__errno_location() #12
  %6670 = load i32, ptr %6669, align 4, !tbaa !5
  store i32 %6670, ptr %151, align 4, !tbaa !5
  %6671 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6672 = call i32 @s2n_print_stacktrace(ptr noundef %6671)
  %6673 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6674 = trunc i8 %6673 to i1
  br i1 %6674, label %6675, label %6697

6675:                                             ; preds = %6668
  %6676 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6677 = call i32 @fileno(ptr noundef %6676) #11
  %6678 = call i32 @isatty(i32 noundef %6677) #11
  %6679 = icmp ne i32 %6678, 0
  br i1 %6679, label %6680, label %6697

6680:                                             ; preds = %6675
  %6681 = load i32, ptr %151, align 4, !tbaa !5
  %6682 = call ptr @__errno_location() #12
  store i32 %6681, ptr %6682, align 4, !tbaa !5
  %6683 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6684 = load i32, ptr @test_count, align 4, !tbaa !5
  %6685 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6686 = load i32, ptr %6685, align 4, !tbaa !5
  %6687 = call ptr @s2n_strerror(i32 noundef %6686, ptr noundef @.str.4)
  %6688 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6689 = load i32, ptr %6688, align 4, !tbaa !5
  %6690 = call ptr @s2n_strerror_debug(i32 noundef %6689, ptr noundef @.str.4)
  %6691 = call ptr @__errno_location() #12
  %6692 = load i32, ptr %6691, align 4, !tbaa !5
  %6693 = call ptr @strerror(i32 noundef %6692) #11
  %6694 = call ptr @__errno_location() #12
  %6695 = load i32, ptr %6694, align 4, !tbaa !5
  %6696 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6683, ptr noundef @.str.2, i32 noundef %6684, ptr noundef @.str.32, ptr noundef @.str.1, i32 noundef 265, ptr noundef %6687, ptr noundef %6690, ptr noundef %6693, i32 noundef %6695) #11
  br label %6714

6697:                                             ; preds = %6675, %6668
  %6698 = load i32, ptr %151, align 4, !tbaa !5
  %6699 = call ptr @__errno_location() #12
  store i32 %6698, ptr %6699, align 4, !tbaa !5
  %6700 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6701 = load i32, ptr @test_count, align 4, !tbaa !5
  %6702 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6703 = load i32, ptr %6702, align 4, !tbaa !5
  %6704 = call ptr @s2n_strerror(i32 noundef %6703, ptr noundef @.str.4)
  %6705 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6706 = load i32, ptr %6705, align 4, !tbaa !5
  %6707 = call ptr @s2n_strerror_debug(i32 noundef %6706, ptr noundef @.str.4)
  %6708 = call ptr @__errno_location() #12
  %6709 = load i32, ptr %6708, align 4, !tbaa !5
  %6710 = call ptr @strerror(i32 noundef %6709) #11
  %6711 = call ptr @__errno_location() #12
  %6712 = load i32, ptr %6711, align 4, !tbaa !5
  %6713 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6700, ptr noundef @.str.5, i32 noundef %6701, ptr noundef @.str.32, ptr noundef @.str.1, i32 noundef 265, ptr noundef %6704, ptr noundef %6707, ptr noundef %6710, i32 noundef %6712) #11
  br label %6714

6714:                                             ; preds = %6697, %6680
  call void @llvm.lifetime.end.p0(i64 4, ptr %151) #11
  br label %6715

6715:                                             ; preds = %6714
  br label %6716

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

6717:                                             ; No predecessors!
  br label %6718

6718:                                             ; preds = %6717
  br label %6719

6719:                                             ; preds = %6718, %6659
  br label %6720

6720:                                             ; preds = %6719
  br label %6721

6721:                                             ; preds = %6720
  br label %6722

6722:                                             ; preds = %6721
  %6723 = load i32, ptr @test_count, align 4, !tbaa !5
  %6724 = add nsw i32 %6723, 1
  store i32 %6724, ptr @test_count, align 4, !tbaa !5
  %6725 = load ptr, ptr %135, align 8, !tbaa !9
  %6726 = call zeroext i1 @s2n_handshake_type_check_flag(ptr noundef %6725, i32 noundef 4)
  br i1 %6726, label %6780, label %6727

6727:                                             ; preds = %6722
  br label %6728

6728:                                             ; preds = %6727
  br label %6729

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

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

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

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

6775:                                             ; preds = %6758, %6741
  call void @llvm.lifetime.end.p0(i64 4, ptr %152) #11
  br label %6776

6776:                                             ; preds = %6775
  br label %6777

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

6778:                                             ; No predecessors!
  br label %6779

6779:                                             ; preds = %6778
  br label %6780

6780:                                             ; preds = %6779, %6722
  br label %6781

6781:                                             ; preds = %6780
  br label %6782

6782:                                             ; preds = %6781
  br label %6783

6783:                                             ; preds = %6782
  %6784 = load i32, ptr @test_count, align 4, !tbaa !5
  %6785 = add nsw i32 %6784, 1
  store i32 %6785, ptr @test_count, align 4, !tbaa !5
  %6786 = load ptr, ptr %135, align 8, !tbaa !9
  %6787 = call zeroext i1 @s2n_handshake_type_check_flag(ptr noundef %6786, i32 noundef 4)
  br i1 %6787, label %6788, label %6844

6788:                                             ; preds = %6783
  %6789 = load ptr, ptr %135, align 8, !tbaa !9
  %6790 = call zeroext i1 @s2n_handshake_type_check_flag(ptr noundef %6789, i32 noundef 8)
  br i1 %6790, label %6791, label %6844

6791:                                             ; preds = %6788
  br label %6792

6792:                                             ; preds = %6791
  br label %6793

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

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

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

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

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

6840:                                             ; preds = %6839
  br label %6841

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

6842:                                             ; No predecessors!
  br label %6843

6843:                                             ; preds = %6842
  br label %6844

6844:                                             ; preds = %6843, %6788, %6783
  br label %6845

6845:                                             ; preds = %6844
  br label %6846

6846:                                             ; preds = %6845
  br label %6847

6847:                                             ; preds = %6846
  %6848 = load i32, ptr @test_count, align 4, !tbaa !5
  %6849 = add nsw i32 %6848, 1
  store i32 %6849, ptr @test_count, align 4, !tbaa !5
  %6850 = load ptr, ptr %132, align 8, !tbaa !9
  %6851 = call zeroext i1 @s2n_handshake_type_check_flag(ptr noundef %6850, i32 noundef 4)
  br i1 %6851, label %6905, label %6852

6852:                                             ; preds = %6847
  br label %6853

6853:                                             ; preds = %6852
  br label %6854

6854:                                             ; preds = %6853
  call void @llvm.lifetime.start.p0(i64 4, ptr %154) #11
  %6855 = call ptr @__errno_location() #12
  %6856 = load i32, ptr %6855, align 4, !tbaa !5
  store i32 %6856, ptr %154, align 4, !tbaa !5
  %6857 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6858 = call i32 @s2n_print_stacktrace(ptr noundef %6857)
  %6859 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6860 = trunc i8 %6859 to i1
  br i1 %6860, label %6861, label %6883

6861:                                             ; preds = %6854
  %6862 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6863 = call i32 @fileno(ptr noundef %6862) #11
  %6864 = call i32 @isatty(i32 noundef %6863) #11
  %6865 = icmp ne i32 %6864, 0
  br i1 %6865, label %6866, label %6883

6866:                                             ; preds = %6861
  %6867 = load i32, ptr %154, align 4, !tbaa !5
  %6868 = call ptr @__errno_location() #12
  store i32 %6867, ptr %6868, align 4, !tbaa !5
  %6869 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6870 = load i32, ptr @test_count, align 4, !tbaa !5
  %6871 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6872 = load i32, ptr %6871, align 4, !tbaa !5
  %6873 = call ptr @s2n_strerror(i32 noundef %6872, ptr noundef @.str.4)
  %6874 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6875 = load i32, ptr %6874, align 4, !tbaa !5
  %6876 = call ptr @s2n_strerror_debug(i32 noundef %6875, ptr noundef @.str.4)
  %6877 = call ptr @__errno_location() #12
  %6878 = load i32, ptr %6877, align 4, !tbaa !5
  %6879 = call ptr @strerror(i32 noundef %6878) #11
  %6880 = call ptr @__errno_location() #12
  %6881 = load i32, ptr %6880, align 4, !tbaa !5
  %6882 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6869, ptr noundef @.str.2, i32 noundef %6870, ptr noundef @.str.59, ptr noundef @.str.1, i32 noundef 268, ptr noundef %6873, ptr noundef %6876, ptr noundef %6879, i32 noundef %6881) #11
  br label %6900

6883:                                             ; preds = %6861, %6854
  %6884 = load i32, ptr %154, align 4, !tbaa !5
  %6885 = call ptr @__errno_location() #12
  store i32 %6884, ptr %6885, align 4, !tbaa !5
  %6886 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6887 = load i32, ptr @test_count, align 4, !tbaa !5
  %6888 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6889 = load i32, ptr %6888, align 4, !tbaa !5
  %6890 = call ptr @s2n_strerror(i32 noundef %6889, ptr noundef @.str.4)
  %6891 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6892 = load i32, ptr %6891, align 4, !tbaa !5
  %6893 = call ptr @s2n_strerror_debug(i32 noundef %6892, ptr noundef @.str.4)
  %6894 = call ptr @__errno_location() #12
  %6895 = load i32, ptr %6894, align 4, !tbaa !5
  %6896 = call ptr @strerror(i32 noundef %6895) #11
  %6897 = call ptr @__errno_location() #12
  %6898 = load i32, ptr %6897, align 4, !tbaa !5
  %6899 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6886, ptr noundef @.str.5, i32 noundef %6887, ptr noundef @.str.59, ptr noundef @.str.1, i32 noundef 268, ptr noundef %6890, ptr noundef %6893, ptr noundef %6896, i32 noundef %6898) #11
  br label %6900

6900:                                             ; preds = %6883, %6866
  call void @llvm.lifetime.end.p0(i64 4, ptr %154) #11
  br label %6901

6901:                                             ; preds = %6900
  br label %6902

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

6903:                                             ; No predecessors!
  br label %6904

6904:                                             ; preds = %6903
  br label %6905

6905:                                             ; preds = %6904, %6847
  br label %6906

6906:                                             ; preds = %6905
  br label %6907

6907:                                             ; preds = %6906
  br label %6908

6908:                                             ; preds = %6907
  %6909 = load i32, ptr @test_count, align 4, !tbaa !5
  %6910 = add nsw i32 %6909, 1
  store i32 %6910, ptr @test_count, align 4, !tbaa !5
  %6911 = load ptr, ptr %132, align 8, !tbaa !9
  %6912 = call zeroext i1 @s2n_handshake_type_check_flag(ptr noundef %6911, i32 noundef 4)
  br i1 %6912, label %6913, label %6969

6913:                                             ; preds = %6908
  %6914 = load ptr, ptr %132, align 8, !tbaa !9
  %6915 = call zeroext i1 @s2n_handshake_type_check_flag(ptr noundef %6914, i32 noundef 8)
  br i1 %6915, label %6916, label %6969

6916:                                             ; preds = %6913
  br label %6917

6917:                                             ; preds = %6916
  br label %6918

6918:                                             ; preds = %6917
  call void @llvm.lifetime.start.p0(i64 4, ptr %155) #11
  %6919 = call ptr @__errno_location() #12
  %6920 = load i32, ptr %6919, align 4, !tbaa !5
  store i32 %6920, ptr %155, align 4, !tbaa !5
  %6921 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6922 = call i32 @s2n_print_stacktrace(ptr noundef %6921)
  %6923 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6924 = trunc i8 %6923 to i1
  br i1 %6924, label %6925, label %6947

6925:                                             ; preds = %6918
  %6926 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6927 = call i32 @fileno(ptr noundef %6926) #11
  %6928 = call i32 @isatty(i32 noundef %6927) #11
  %6929 = icmp ne i32 %6928, 0
  br i1 %6929, label %6930, label %6947

6930:                                             ; preds = %6925
  %6931 = load i32, ptr %155, align 4, !tbaa !5
  %6932 = call ptr @__errno_location() #12
  store i32 %6931, ptr %6932, align 4, !tbaa !5
  %6933 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6934 = load i32, ptr @test_count, align 4, !tbaa !5
  %6935 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6936 = load i32, ptr %6935, align 4, !tbaa !5
  %6937 = call ptr @s2n_strerror(i32 noundef %6936, ptr noundef @.str.4)
  %6938 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6939 = load i32, ptr %6938, align 4, !tbaa !5
  %6940 = call ptr @s2n_strerror_debug(i32 noundef %6939, ptr noundef @.str.4)
  %6941 = call ptr @__errno_location() #12
  %6942 = load i32, ptr %6941, align 4, !tbaa !5
  %6943 = call ptr @strerror(i32 noundef %6942) #11
  %6944 = call ptr @__errno_location() #12
  %6945 = load i32, ptr %6944, align 4, !tbaa !5
  %6946 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6933, ptr noundef @.str.2, i32 noundef %6934, ptr noundef @.str.60, ptr noundef @.str.1, i32 noundef 269, ptr noundef %6937, ptr noundef %6940, ptr noundef %6943, i32 noundef %6945) #11
  br label %6964

6947:                                             ; preds = %6925, %6918
  %6948 = load i32, ptr %155, align 4, !tbaa !5
  %6949 = call ptr @__errno_location() #12
  store i32 %6948, ptr %6949, align 4, !tbaa !5
  %6950 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6951 = load i32, ptr @test_count, align 4, !tbaa !5
  %6952 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6953 = load i32, ptr %6952, align 4, !tbaa !5
  %6954 = call ptr @s2n_strerror(i32 noundef %6953, ptr noundef @.str.4)
  %6955 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6956 = load i32, ptr %6955, align 4, !tbaa !5
  %6957 = call ptr @s2n_strerror_debug(i32 noundef %6956, ptr noundef @.str.4)
  %6958 = call ptr @__errno_location() #12
  %6959 = load i32, ptr %6958, align 4, !tbaa !5
  %6960 = call ptr @strerror(i32 noundef %6959) #11
  %6961 = call ptr @__errno_location() #12
  %6962 = load i32, ptr %6961, align 4, !tbaa !5
  %6963 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6950, ptr noundef @.str.5, i32 noundef %6951, ptr noundef @.str.60, ptr noundef @.str.1, i32 noundef 269, ptr noundef %6954, ptr noundef %6957, ptr noundef %6960, i32 noundef %6962) #11
  br label %6964

6964:                                             ; preds = %6947, %6930
  call void @llvm.lifetime.end.p0(i64 4, ptr %155) #11
  br label %6965

6965:                                             ; preds = %6964
  br label %6966

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

6967:                                             ; No predecessors!
  br label %6968

6968:                                             ; preds = %6967
  br label %6969

6969:                                             ; preds = %6968, %6913, %6908
  br label %6970

6970:                                             ; preds = %6969
  br label %6971

6971:                                             ; preds = %6970
  %6972 = call i32 @s2n_io_pair_close(ptr noundef %138)
  call void @llvm.lifetime.end.p0(i64 8, ptr %138) #11
  %6973 = call i32 @s2n_connection_ptr_free(ptr noundef %135)
  %6974 = getelementptr inbounds %struct.s2n_result, ptr %156, i32 0, i32 0
  store i32 %6973, ptr %6974, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %135) #11
  %6975 = call i32 @s2n_connection_ptr_free(ptr noundef %132)
  %6976 = getelementptr inbounds %struct.s2n_result, ptr %157, i32 0, i32 0
  store i32 %6975, ptr %6976, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %132) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %158) #11
  %6977 = call ptr @s2n_config_new()
  store ptr %6977, ptr %158, align 8, !tbaa !9
  br label %6978

6978:                                             ; preds = %6971
  %6979 = load i32, ptr @test_count, align 4, !tbaa !5
  %6980 = add nsw i32 %6979, 1
  store i32 %6980, ptr @test_count, align 4, !tbaa !5
  %6981 = load ptr, ptr %158, align 8, !tbaa !9
  %6982 = icmp eq ptr %6981, null
  br i1 %6982, label %6983, label %7036

6983:                                             ; preds = %6978
  br label %6984

6984:                                             ; preds = %6983
  br label %6985

6985:                                             ; preds = %6984
  call void @llvm.lifetime.start.p0(i64 4, ptr %159) #11
  %6986 = call ptr @__errno_location() #12
  %6987 = load i32, ptr %6986, align 4, !tbaa !5
  store i32 %6987, ptr %159, align 4, !tbaa !5
  %6988 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6989 = call i32 @s2n_print_stacktrace(ptr noundef %6988)
  %6990 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6991 = trunc i8 %6990 to i1
  br i1 %6991, label %6992, label %7014

6992:                                             ; preds = %6985
  %6993 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6994 = call i32 @fileno(ptr noundef %6993) #11
  %6995 = call i32 @isatty(i32 noundef %6994) #11
  %6996 = icmp ne i32 %6995, 0
  br i1 %6996, label %6997, label %7014

6997:                                             ; preds = %6992
  %6998 = load i32, ptr %159, align 4, !tbaa !5
  %6999 = call ptr @__errno_location() #12
  store i32 %6998, ptr %6999, align 4, !tbaa !5
  %7000 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7001 = load i32, ptr @test_count, align 4, !tbaa !5
  %7002 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7003 = load i32, ptr %7002, align 4, !tbaa !5
  %7004 = call ptr @s2n_strerror(i32 noundef %7003, ptr noundef @.str.4)
  %7005 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7006 = load i32, ptr %7005, align 4, !tbaa !5
  %7007 = call ptr @s2n_strerror_debug(i32 noundef %7006, ptr noundef @.str.4)
  %7008 = call ptr @__errno_location() #12
  %7009 = load i32, ptr %7008, align 4, !tbaa !5
  %7010 = call ptr @strerror(i32 noundef %7009) #11
  %7011 = call ptr @__errno_location() #12
  %7012 = load i32, ptr %7011, align 4, !tbaa !5
  %7013 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7000, ptr noundef @.str.2, i32 noundef %7001, ptr noundef @.str.61, ptr noundef @.str.1, i32 noundef 275, ptr noundef %7004, ptr noundef %7007, ptr noundef %7010, i32 noundef %7012) #11
  br label %7031

7014:                                             ; preds = %6992, %6985
  %7015 = load i32, ptr %159, align 4, !tbaa !5
  %7016 = call ptr @__errno_location() #12
  store i32 %7015, ptr %7016, align 4, !tbaa !5
  %7017 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7018 = load i32, ptr @test_count, align 4, !tbaa !5
  %7019 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7020 = load i32, ptr %7019, align 4, !tbaa !5
  %7021 = call ptr @s2n_strerror(i32 noundef %7020, ptr noundef @.str.4)
  %7022 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7023 = load i32, ptr %7022, align 4, !tbaa !5
  %7024 = call ptr @s2n_strerror_debug(i32 noundef %7023, ptr noundef @.str.4)
  %7025 = call ptr @__errno_location() #12
  %7026 = load i32, ptr %7025, align 4, !tbaa !5
  %7027 = call ptr @strerror(i32 noundef %7026) #11
  %7028 = call ptr @__errno_location() #12
  %7029 = load i32, ptr %7028, align 4, !tbaa !5
  %7030 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7017, ptr noundef @.str.5, i32 noundef %7018, ptr noundef @.str.61, ptr noundef @.str.1, i32 noundef 275, ptr noundef %7021, ptr noundef %7024, ptr noundef %7027, i32 noundef %7029) #11
  br label %7031

7031:                                             ; preds = %7014, %6997
  call void @llvm.lifetime.end.p0(i64 4, ptr %159) #11
  br label %7032

7032:                                             ; preds = %7031
  br label %7033

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

7034:                                             ; No predecessors!
  br label %7035

7035:                                             ; preds = %7034
  br label %7036

7036:                                             ; preds = %7035, %6978
  br label %7037

7037:                                             ; preds = %7036
  br label %7038

7038:                                             ; preds = %7037
  br label %7039

7039:                                             ; preds = %7038
  %7040 = load i32, ptr @test_count, align 4, !tbaa !5
  %7041 = add nsw i32 %7040, 1
  store i32 %7041, ptr @test_count, align 4, !tbaa !5
  %7042 = load ptr, ptr %158, align 8, !tbaa !9
  %7043 = call i32 @s2n_config_set_unsafe_for_testing(ptr noundef %7042)
  %7044 = icmp eq i32 %7043, -1
  br i1 %7044, label %7045, label %7098

7045:                                             ; preds = %7039
  br label %7046

7046:                                             ; preds = %7045
  br label %7047

7047:                                             ; preds = %7046
  call void @llvm.lifetime.start.p0(i64 4, ptr %160) #11
  %7048 = call ptr @__errno_location() #12
  %7049 = load i32, ptr %7048, align 4, !tbaa !5
  store i32 %7049, ptr %160, align 4, !tbaa !5
  %7050 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7051 = call i32 @s2n_print_stacktrace(ptr noundef %7050)
  %7052 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7053 = trunc i8 %7052 to i1
  br i1 %7053, label %7054, label %7076

7054:                                             ; preds = %7047
  %7055 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7056 = call i32 @fileno(ptr noundef %7055) #11
  %7057 = call i32 @isatty(i32 noundef %7056) #11
  %7058 = icmp ne i32 %7057, 0
  br i1 %7058, label %7059, label %7076

7059:                                             ; preds = %7054
  %7060 = load i32, ptr %160, align 4, !tbaa !5
  %7061 = call ptr @__errno_location() #12
  store i32 %7060, ptr %7061, align 4, !tbaa !5
  %7062 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7063 = load i32, ptr @test_count, align 4, !tbaa !5
  %7064 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7065 = load i32, ptr %7064, align 4, !tbaa !5
  %7066 = call ptr @s2n_strerror(i32 noundef %7065, ptr noundef @.str.4)
  %7067 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7068 = load i32, ptr %7067, align 4, !tbaa !5
  %7069 = call ptr @s2n_strerror_debug(i32 noundef %7068, ptr noundef @.str.4)
  %7070 = call ptr @__errno_location() #12
  %7071 = load i32, ptr %7070, align 4, !tbaa !5
  %7072 = call ptr @strerror(i32 noundef %7071) #11
  %7073 = call ptr @__errno_location() #12
  %7074 = load i32, ptr %7073, align 4, !tbaa !5
  %7075 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7062, ptr noundef @.str.2, i32 noundef %7063, ptr noundef @.str.62, ptr noundef @.str.1, i32 noundef 276, ptr noundef %7066, ptr noundef %7069, ptr noundef %7072, i32 noundef %7074) #11
  br label %7093

7076:                                             ; preds = %7054, %7047
  %7077 = load i32, ptr %160, align 4, !tbaa !5
  %7078 = call ptr @__errno_location() #12
  store i32 %7077, ptr %7078, align 4, !tbaa !5
  %7079 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7080 = load i32, ptr @test_count, align 4, !tbaa !5
  %7081 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7082 = load i32, ptr %7081, align 4, !tbaa !5
  %7083 = call ptr @s2n_strerror(i32 noundef %7082, ptr noundef @.str.4)
  %7084 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7085 = load i32, ptr %7084, align 4, !tbaa !5
  %7086 = call ptr @s2n_strerror_debug(i32 noundef %7085, ptr noundef @.str.4)
  %7087 = call ptr @__errno_location() #12
  %7088 = load i32, ptr %7087, align 4, !tbaa !5
  %7089 = call ptr @strerror(i32 noundef %7088) #11
  %7090 = call ptr @__errno_location() #12
  %7091 = load i32, ptr %7090, align 4, !tbaa !5
  %7092 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7079, ptr noundef @.str.5, i32 noundef %7080, ptr noundef @.str.62, ptr noundef @.str.1, i32 noundef 276, ptr noundef %7083, ptr noundef %7086, ptr noundef %7089, i32 noundef %7091) #11
  br label %7093

7093:                                             ; preds = %7076, %7059
  call void @llvm.lifetime.end.p0(i64 4, ptr %160) #11
  br label %7094

7094:                                             ; preds = %7093
  br label %7095

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

7096:                                             ; No predecessors!
  br label %7097

7097:                                             ; preds = %7096
  br label %7098

7098:                                             ; preds = %7097, %7039
  br label %7099

7099:                                             ; preds = %7098
  br label %7100

7100:                                             ; preds = %7099
  br label %7101

7101:                                             ; preds = %7100
  %7102 = load i32, ptr @test_count, align 4, !tbaa !5
  %7103 = add nsw i32 %7102, 1
  store i32 %7103, ptr @test_count, align 4, !tbaa !5
  %7104 = load ptr, ptr %158, align 8, !tbaa !9
  %7105 = load ptr, ptr %9, align 8, !tbaa !9
  %7106 = call i32 @s2n_config_add_cert_chain_and_key_to_store(ptr noundef %7104, ptr noundef %7105)
  %7107 = icmp eq i32 %7106, -1
  br i1 %7107, label %7108, label %7161

7108:                                             ; preds = %7101
  br label %7109

7109:                                             ; preds = %7108
  br label %7110

7110:                                             ; preds = %7109
  call void @llvm.lifetime.start.p0(i64 4, ptr %161) #11
  %7111 = call ptr @__errno_location() #12
  %7112 = load i32, ptr %7111, align 4, !tbaa !5
  store i32 %7112, ptr %161, align 4, !tbaa !5
  %7113 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7114 = call i32 @s2n_print_stacktrace(ptr noundef %7113)
  %7115 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7116 = trunc i8 %7115 to i1
  br i1 %7116, label %7117, label %7139

7117:                                             ; preds = %7110
  %7118 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7119 = call i32 @fileno(ptr noundef %7118) #11
  %7120 = call i32 @isatty(i32 noundef %7119) #11
  %7121 = icmp ne i32 %7120, 0
  br i1 %7121, label %7122, label %7139

7122:                                             ; preds = %7117
  %7123 = load i32, ptr %161, align 4, !tbaa !5
  %7124 = call ptr @__errno_location() #12
  store i32 %7123, ptr %7124, align 4, !tbaa !5
  %7125 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7126 = load i32, ptr @test_count, align 4, !tbaa !5
  %7127 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7128 = load i32, ptr %7127, align 4, !tbaa !5
  %7129 = call ptr @s2n_strerror(i32 noundef %7128, ptr noundef @.str.4)
  %7130 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7131 = load i32, ptr %7130, align 4, !tbaa !5
  %7132 = call ptr @s2n_strerror_debug(i32 noundef %7131, ptr noundef @.str.4)
  %7133 = call ptr @__errno_location() #12
  %7134 = load i32, ptr %7133, align 4, !tbaa !5
  %7135 = call ptr @strerror(i32 noundef %7134) #11
  %7136 = call ptr @__errno_location() #12
  %7137 = load i32, ptr %7136, align 4, !tbaa !5
  %7138 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7125, ptr noundef @.str.2, i32 noundef %7126, ptr noundef @.str.63, ptr noundef @.str.1, i32 noundef 277, ptr noundef %7129, ptr noundef %7132, ptr noundef %7135, i32 noundef %7137) #11
  br label %7156

7139:                                             ; preds = %7117, %7110
  %7140 = load i32, ptr %161, align 4, !tbaa !5
  %7141 = call ptr @__errno_location() #12
  store i32 %7140, ptr %7141, align 4, !tbaa !5
  %7142 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7143 = load i32, ptr @test_count, align 4, !tbaa !5
  %7144 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7145 = load i32, ptr %7144, align 4, !tbaa !5
  %7146 = call ptr @s2n_strerror(i32 noundef %7145, ptr noundef @.str.4)
  %7147 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7148 = load i32, ptr %7147, align 4, !tbaa !5
  %7149 = call ptr @s2n_strerror_debug(i32 noundef %7148, ptr noundef @.str.4)
  %7150 = call ptr @__errno_location() #12
  %7151 = load i32, ptr %7150, align 4, !tbaa !5
  %7152 = call ptr @strerror(i32 noundef %7151) #11
  %7153 = call ptr @__errno_location() #12
  %7154 = load i32, ptr %7153, align 4, !tbaa !5
  %7155 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7142, ptr noundef @.str.5, i32 noundef %7143, ptr noundef @.str.63, ptr noundef @.str.1, i32 noundef 277, ptr noundef %7146, ptr noundef %7149, ptr noundef %7152, i32 noundef %7154) #11
  br label %7156

7156:                                             ; preds = %7139, %7122
  call void @llvm.lifetime.end.p0(i64 4, ptr %161) #11
  br label %7157

7157:                                             ; preds = %7156
  br label %7158

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

7159:                                             ; No predecessors!
  br label %7160

7160:                                             ; preds = %7159
  br label %7161

7161:                                             ; preds = %7160, %7101
  br label %7162

7162:                                             ; preds = %7161
  br label %7163

7163:                                             ; preds = %7162
  br label %7164

7164:                                             ; preds = %7163
  %7165 = load i32, ptr @test_count, align 4, !tbaa !5
  %7166 = add nsw i32 %7165, 1
  store i32 %7166, ptr @test_count, align 4, !tbaa !5
  %7167 = load ptr, ptr %158, align 8, !tbaa !9
  %7168 = call i32 @s2n_config_set_cipher_preferences(ptr noundef %7167, ptr noundef @.str.19)
  %7169 = icmp eq i32 %7168, -1
  br i1 %7169, label %7170, label %7223

7170:                                             ; preds = %7164
  br label %7171

7171:                                             ; preds = %7170
  br label %7172

7172:                                             ; preds = %7171
  call void @llvm.lifetime.start.p0(i64 4, ptr %162) #11
  %7173 = call ptr @__errno_location() #12
  %7174 = load i32, ptr %7173, align 4, !tbaa !5
  store i32 %7174, ptr %162, align 4, !tbaa !5
  %7175 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7176 = call i32 @s2n_print_stacktrace(ptr noundef %7175)
  %7177 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7178 = trunc i8 %7177 to i1
  br i1 %7178, label %7179, label %7201

7179:                                             ; preds = %7172
  %7180 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7181 = call i32 @fileno(ptr noundef %7180) #11
  %7182 = call i32 @isatty(i32 noundef %7181) #11
  %7183 = icmp ne i32 %7182, 0
  br i1 %7183, label %7184, label %7201

7184:                                             ; preds = %7179
  %7185 = load i32, ptr %162, align 4, !tbaa !5
  %7186 = call ptr @__errno_location() #12
  store i32 %7185, ptr %7186, align 4, !tbaa !5
  %7187 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7188 = load i32, ptr @test_count, align 4, !tbaa !5
  %7189 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7190 = load i32, ptr %7189, align 4, !tbaa !5
  %7191 = call ptr @s2n_strerror(i32 noundef %7190, ptr noundef @.str.4)
  %7192 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7193 = load i32, ptr %7192, align 4, !tbaa !5
  %7194 = call ptr @s2n_strerror_debug(i32 noundef %7193, ptr noundef @.str.4)
  %7195 = call ptr @__errno_location() #12
  %7196 = load i32, ptr %7195, align 4, !tbaa !5
  %7197 = call ptr @strerror(i32 noundef %7196) #11
  %7198 = call ptr @__errno_location() #12
  %7199 = load i32, ptr %7198, align 4, !tbaa !5
  %7200 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7187, ptr noundef @.str.2, i32 noundef %7188, ptr noundef @.str.64, ptr noundef @.str.1, i32 noundef 278, ptr noundef %7191, ptr noundef %7194, ptr noundef %7197, i32 noundef %7199) #11
  br label %7218

7201:                                             ; preds = %7179, %7172
  %7202 = load i32, ptr %162, align 4, !tbaa !5
  %7203 = call ptr @__errno_location() #12
  store i32 %7202, ptr %7203, align 4, !tbaa !5
  %7204 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7205 = load i32, ptr @test_count, align 4, !tbaa !5
  %7206 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7207 = load i32, ptr %7206, align 4, !tbaa !5
  %7208 = call ptr @s2n_strerror(i32 noundef %7207, ptr noundef @.str.4)
  %7209 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7210 = load i32, ptr %7209, align 4, !tbaa !5
  %7211 = call ptr @s2n_strerror_debug(i32 noundef %7210, ptr noundef @.str.4)
  %7212 = call ptr @__errno_location() #12
  %7213 = load i32, ptr %7212, align 4, !tbaa !5
  %7214 = call ptr @strerror(i32 noundef %7213) #11
  %7215 = call ptr @__errno_location() #12
  %7216 = load i32, ptr %7215, align 4, !tbaa !5
  %7217 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7204, ptr noundef @.str.5, i32 noundef %7205, ptr noundef @.str.64, ptr noundef @.str.1, i32 noundef 278, ptr noundef %7208, ptr noundef %7211, ptr noundef %7214, i32 noundef %7216) #11
  br label %7218

7218:                                             ; preds = %7201, %7184
  call void @llvm.lifetime.end.p0(i64 4, ptr %162) #11
  br label %7219

7219:                                             ; preds = %7218
  br label %7220

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

7221:                                             ; No predecessors!
  br label %7222

7222:                                             ; preds = %7221
  br label %7223

7223:                                             ; preds = %7222, %7164
  br label %7224

7224:                                             ; preds = %7223
  br label %7225

7225:                                             ; preds = %7224
  br label %7226

7226:                                             ; preds = %7225
  %7227 = load i32, ptr @test_count, align 4, !tbaa !5
  %7228 = add nsw i32 %7227, 1
  store i32 %7228, ptr @test_count, align 4, !tbaa !5
  %7229 = load ptr, ptr %158, align 8, !tbaa !9
  %7230 = call i32 @s2n_config_accept_max_fragment_length(ptr noundef %7229)
  %7231 = icmp eq i32 %7230, -1
  br i1 %7231, label %7232, label %7285

7232:                                             ; preds = %7226
  br label %7233

7233:                                             ; preds = %7232
  br label %7234

7234:                                             ; preds = %7233
  call void @llvm.lifetime.start.p0(i64 4, ptr %163) #11
  %7235 = call ptr @__errno_location() #12
  %7236 = load i32, ptr %7235, align 4, !tbaa !5
  store i32 %7236, ptr %163, align 4, !tbaa !5
  %7237 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7238 = call i32 @s2n_print_stacktrace(ptr noundef %7237)
  %7239 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7240 = trunc i8 %7239 to i1
  br i1 %7240, label %7241, label %7263

7241:                                             ; preds = %7234
  %7242 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7243 = call i32 @fileno(ptr noundef %7242) #11
  %7244 = call i32 @isatty(i32 noundef %7243) #11
  %7245 = icmp ne i32 %7244, 0
  br i1 %7245, label %7246, label %7263

7246:                                             ; preds = %7241
  %7247 = load i32, ptr %163, align 4, !tbaa !5
  %7248 = call ptr @__errno_location() #12
  store i32 %7247, ptr %7248, align 4, !tbaa !5
  %7249 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7250 = load i32, ptr @test_count, align 4, !tbaa !5
  %7251 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7252 = load i32, ptr %7251, align 4, !tbaa !5
  %7253 = call ptr @s2n_strerror(i32 noundef %7252, ptr noundef @.str.4)
  %7254 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7255 = load i32, ptr %7254, align 4, !tbaa !5
  %7256 = call ptr @s2n_strerror_debug(i32 noundef %7255, ptr noundef @.str.4)
  %7257 = call ptr @__errno_location() #12
  %7258 = load i32, ptr %7257, align 4, !tbaa !5
  %7259 = call ptr @strerror(i32 noundef %7258) #11
  %7260 = call ptr @__errno_location() #12
  %7261 = load i32, ptr %7260, align 4, !tbaa !5
  %7262 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7249, ptr noundef @.str.2, i32 noundef %7250, ptr noundef @.str.65, ptr noundef @.str.1, i32 noundef 279, ptr noundef %7253, ptr noundef %7256, ptr noundef %7259, i32 noundef %7261) #11
  br label %7280

7263:                                             ; preds = %7241, %7234
  %7264 = load i32, ptr %163, align 4, !tbaa !5
  %7265 = call ptr @__errno_location() #12
  store i32 %7264, ptr %7265, align 4, !tbaa !5
  %7266 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7267 = load i32, ptr @test_count, align 4, !tbaa !5
  %7268 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7269 = load i32, ptr %7268, align 4, !tbaa !5
  %7270 = call ptr @s2n_strerror(i32 noundef %7269, ptr noundef @.str.4)
  %7271 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7272 = load i32, ptr %7271, align 4, !tbaa !5
  %7273 = call ptr @s2n_strerror_debug(i32 noundef %7272, ptr noundef @.str.4)
  %7274 = call ptr @__errno_location() #12
  %7275 = load i32, ptr %7274, align 4, !tbaa !5
  %7276 = call ptr @strerror(i32 noundef %7275) #11
  %7277 = call ptr @__errno_location() #12
  %7278 = load i32, ptr %7277, align 4, !tbaa !5
  %7279 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7266, ptr noundef @.str.5, i32 noundef %7267, ptr noundef @.str.65, ptr noundef @.str.1, i32 noundef 279, ptr noundef %7270, ptr noundef %7273, ptr noundef %7276, i32 noundef %7278) #11
  br label %7280

7280:                                             ; preds = %7263, %7246
  call void @llvm.lifetime.end.p0(i64 4, ptr %163) #11
  br label %7281

7281:                                             ; preds = %7280
  br label %7282

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

7283:                                             ; No predecessors!
  br label %7284

7284:                                             ; preds = %7283
  br label %7285

7285:                                             ; preds = %7284, %7226
  br label %7286

7286:                                             ; preds = %7285
  br label %7287

7287:                                             ; preds = %7286
  br label %7288

7288:                                             ; preds = %7287
  %7289 = load i32, ptr @test_count, align 4, !tbaa !5
  %7290 = add nsw i32 %7289, 1
  store i32 %7290, ptr @test_count, align 4, !tbaa !5
  %7291 = load ptr, ptr %158, align 8, !tbaa !9
  %7292 = call i32 @s2n_config_send_max_fragment_length(ptr noundef %7291, i32 noundef 1)
  %7293 = icmp eq i32 %7292, -1
  br i1 %7293, label %7294, label %7347

7294:                                             ; preds = %7288
  br label %7295

7295:                                             ; preds = %7294
  br label %7296

7296:                                             ; preds = %7295
  call void @llvm.lifetime.start.p0(i64 4, ptr %164) #11
  %7297 = call ptr @__errno_location() #12
  %7298 = load i32, ptr %7297, align 4, !tbaa !5
  store i32 %7298, ptr %164, align 4, !tbaa !5
  %7299 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7300 = call i32 @s2n_print_stacktrace(ptr noundef %7299)
  %7301 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7302 = trunc i8 %7301 to i1
  br i1 %7302, label %7303, label %7325

7303:                                             ; preds = %7296
  %7304 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7305 = call i32 @fileno(ptr noundef %7304) #11
  %7306 = call i32 @isatty(i32 noundef %7305) #11
  %7307 = icmp ne i32 %7306, 0
  br i1 %7307, label %7308, label %7325

7308:                                             ; preds = %7303
  %7309 = load i32, ptr %164, align 4, !tbaa !5
  %7310 = call ptr @__errno_location() #12
  store i32 %7309, ptr %7310, align 4, !tbaa !5
  %7311 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7312 = load i32, ptr @test_count, align 4, !tbaa !5
  %7313 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7314 = load i32, ptr %7313, align 4, !tbaa !5
  %7315 = call ptr @s2n_strerror(i32 noundef %7314, ptr noundef @.str.4)
  %7316 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7317 = load i32, ptr %7316, align 4, !tbaa !5
  %7318 = call ptr @s2n_strerror_debug(i32 noundef %7317, ptr noundef @.str.4)
  %7319 = call ptr @__errno_location() #12
  %7320 = load i32, ptr %7319, align 4, !tbaa !5
  %7321 = call ptr @strerror(i32 noundef %7320) #11
  %7322 = call ptr @__errno_location() #12
  %7323 = load i32, ptr %7322, align 4, !tbaa !5
  %7324 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7311, ptr noundef @.str.2, i32 noundef %7312, ptr noundef @.str.66, ptr noundef @.str.1, i32 noundef 280, ptr noundef %7315, ptr noundef %7318, ptr noundef %7321, i32 noundef %7323) #11
  br label %7342

7325:                                             ; preds = %7303, %7296
  %7326 = load i32, ptr %164, align 4, !tbaa !5
  %7327 = call ptr @__errno_location() #12
  store i32 %7326, ptr %7327, align 4, !tbaa !5
  %7328 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7329 = load i32, ptr @test_count, align 4, !tbaa !5
  %7330 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7331 = load i32, ptr %7330, align 4, !tbaa !5
  %7332 = call ptr @s2n_strerror(i32 noundef %7331, ptr noundef @.str.4)
  %7333 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7334 = load i32, ptr %7333, align 4, !tbaa !5
  %7335 = call ptr @s2n_strerror_debug(i32 noundef %7334, ptr noundef @.str.4)
  %7336 = call ptr @__errno_location() #12
  %7337 = load i32, ptr %7336, align 4, !tbaa !5
  %7338 = call ptr @strerror(i32 noundef %7337) #11
  %7339 = call ptr @__errno_location() #12
  %7340 = load i32, ptr %7339, align 4, !tbaa !5
  %7341 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7328, ptr noundef @.str.5, i32 noundef %7329, ptr noundef @.str.66, ptr noundef @.str.1, i32 noundef 280, ptr noundef %7332, ptr noundef %7335, ptr noundef %7338, i32 noundef %7340) #11
  br label %7342

7342:                                             ; preds = %7325, %7308
  call void @llvm.lifetime.end.p0(i64 4, ptr %164) #11
  br label %7343

7343:                                             ; preds = %7342
  br label %7344

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

7345:                                             ; No predecessors!
  br label %7346

7346:                                             ; preds = %7345
  br label %7347

7347:                                             ; preds = %7346, %7288
  br label %7348

7348:                                             ; preds = %7347
  br label %7349

7349:                                             ; preds = %7348
  call void @llvm.lifetime.start.p0(i64 8, ptr %165) #11
  %7350 = call ptr @s2n_config_new()
  store ptr %7350, ptr %165, align 8, !tbaa !9
  br label %7351

7351:                                             ; preds = %7349
  %7352 = load i32, ptr @test_count, align 4, !tbaa !5
  %7353 = add nsw i32 %7352, 1
  store i32 %7353, ptr @test_count, align 4, !tbaa !5
  %7354 = load ptr, ptr %165, align 8, !tbaa !9
  %7355 = icmp eq ptr %7354, null
  br i1 %7355, label %7356, label %7409

7356:                                             ; preds = %7351
  br label %7357

7357:                                             ; preds = %7356
  br label %7358

7358:                                             ; preds = %7357
  call void @llvm.lifetime.start.p0(i64 4, ptr %166) #11
  %7359 = call ptr @__errno_location() #12
  %7360 = load i32, ptr %7359, align 4, !tbaa !5
  store i32 %7360, ptr %166, align 4, !tbaa !5
  %7361 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7362 = call i32 @s2n_print_stacktrace(ptr noundef %7361)
  %7363 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7364 = trunc i8 %7363 to i1
  br i1 %7364, label %7365, label %7387

7365:                                             ; preds = %7358
  %7366 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7367 = call i32 @fileno(ptr noundef %7366) #11
  %7368 = call i32 @isatty(i32 noundef %7367) #11
  %7369 = icmp ne i32 %7368, 0
  br i1 %7369, label %7370, label %7387

7370:                                             ; preds = %7365
  %7371 = load i32, ptr %166, align 4, !tbaa !5
  %7372 = call ptr @__errno_location() #12
  store i32 %7371, ptr %7372, align 4, !tbaa !5
  %7373 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7374 = load i32, ptr @test_count, align 4, !tbaa !5
  %7375 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7376 = load i32, ptr %7375, align 4, !tbaa !5
  %7377 = call ptr @s2n_strerror(i32 noundef %7376, ptr noundef @.str.4)
  %7378 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7379 = load i32, ptr %7378, align 4, !tbaa !5
  %7380 = call ptr @s2n_strerror_debug(i32 noundef %7379, ptr noundef @.str.4)
  %7381 = call ptr @__errno_location() #12
  %7382 = load i32, ptr %7381, align 4, !tbaa !5
  %7383 = call ptr @strerror(i32 noundef %7382) #11
  %7384 = call ptr @__errno_location() #12
  %7385 = load i32, ptr %7384, align 4, !tbaa !5
  %7386 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7373, ptr noundef @.str.2, i32 noundef %7374, ptr noundef @.str.67, ptr noundef @.str.1, i32 noundef 283, ptr noundef %7377, ptr noundef %7380, ptr noundef %7383, i32 noundef %7385) #11
  br label %7404

7387:                                             ; preds = %7365, %7358
  %7388 = load i32, ptr %166, align 4, !tbaa !5
  %7389 = call ptr @__errno_location() #12
  store i32 %7388, ptr %7389, align 4, !tbaa !5
  %7390 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7391 = load i32, ptr @test_count, align 4, !tbaa !5
  %7392 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7393 = load i32, ptr %7392, align 4, !tbaa !5
  %7394 = call ptr @s2n_strerror(i32 noundef %7393, ptr noundef @.str.4)
  %7395 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7396 = load i32, ptr %7395, align 4, !tbaa !5
  %7397 = call ptr @s2n_strerror_debug(i32 noundef %7396, ptr noundef @.str.4)
  %7398 = call ptr @__errno_location() #12
  %7399 = load i32, ptr %7398, align 4, !tbaa !5
  %7400 = call ptr @strerror(i32 noundef %7399) #11
  %7401 = call ptr @__errno_location() #12
  %7402 = load i32, ptr %7401, align 4, !tbaa !5
  %7403 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7390, ptr noundef @.str.5, i32 noundef %7391, ptr noundef @.str.67, ptr noundef @.str.1, i32 noundef 283, ptr noundef %7394, ptr noundef %7397, ptr noundef %7400, i32 noundef %7402) #11
  br label %7404

7404:                                             ; preds = %7387, %7370
  call void @llvm.lifetime.end.p0(i64 4, ptr %166) #11
  br label %7405

7405:                                             ; preds = %7404
  br label %7406

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

7407:                                             ; No predecessors!
  br label %7408

7408:                                             ; preds = %7407
  br label %7409

7409:                                             ; preds = %7408, %7351
  br label %7410

7410:                                             ; preds = %7409
  br label %7411

7411:                                             ; preds = %7410
  br label %7412

7412:                                             ; preds = %7411
  %7413 = load i32, ptr @test_count, align 4, !tbaa !5
  %7414 = add nsw i32 %7413, 1
  store i32 %7414, ptr @test_count, align 4, !tbaa !5
  %7415 = load ptr, ptr %165, align 8, !tbaa !9
  %7416 = call i32 @s2n_config_set_unsafe_for_testing(ptr noundef %7415)
  %7417 = icmp eq i32 %7416, -1
  br i1 %7417, label %7418, label %7471

7418:                                             ; preds = %7412
  br label %7419

7419:                                             ; preds = %7418
  br label %7420

7420:                                             ; preds = %7419
  call void @llvm.lifetime.start.p0(i64 4, ptr %167) #11
  %7421 = call ptr @__errno_location() #12
  %7422 = load i32, ptr %7421, align 4, !tbaa !5
  store i32 %7422, ptr %167, align 4, !tbaa !5
  %7423 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7424 = call i32 @s2n_print_stacktrace(ptr noundef %7423)
  %7425 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7426 = trunc i8 %7425 to i1
  br i1 %7426, label %7427, label %7449

7427:                                             ; preds = %7420
  %7428 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7429 = call i32 @fileno(ptr noundef %7428) #11
  %7430 = call i32 @isatty(i32 noundef %7429) #11
  %7431 = icmp ne i32 %7430, 0
  br i1 %7431, label %7432, label %7449

7432:                                             ; preds = %7427
  %7433 = load i32, ptr %167, align 4, !tbaa !5
  %7434 = call ptr @__errno_location() #12
  store i32 %7433, ptr %7434, align 4, !tbaa !5
  %7435 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7436 = load i32, ptr @test_count, align 4, !tbaa !5
  %7437 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7438 = load i32, ptr %7437, align 4, !tbaa !5
  %7439 = call ptr @s2n_strerror(i32 noundef %7438, ptr noundef @.str.4)
  %7440 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7441 = load i32, ptr %7440, align 4, !tbaa !5
  %7442 = call ptr @s2n_strerror_debug(i32 noundef %7441, ptr noundef @.str.4)
  %7443 = call ptr @__errno_location() #12
  %7444 = load i32, ptr %7443, align 4, !tbaa !5
  %7445 = call ptr @strerror(i32 noundef %7444) #11
  %7446 = call ptr @__errno_location() #12
  %7447 = load i32, ptr %7446, align 4, !tbaa !5
  %7448 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7435, ptr noundef @.str.2, i32 noundef %7436, ptr noundef @.str.68, ptr noundef @.str.1, i32 noundef 284, ptr noundef %7439, ptr noundef %7442, ptr noundef %7445, i32 noundef %7447) #11
  br label %7466

7449:                                             ; preds = %7427, %7420
  %7450 = load i32, ptr %167, align 4, !tbaa !5
  %7451 = call ptr @__errno_location() #12
  store i32 %7450, ptr %7451, align 4, !tbaa !5
  %7452 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7453 = load i32, ptr @test_count, align 4, !tbaa !5
  %7454 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7455 = load i32, ptr %7454, align 4, !tbaa !5
  %7456 = call ptr @s2n_strerror(i32 noundef %7455, ptr noundef @.str.4)
  %7457 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7458 = load i32, ptr %7457, align 4, !tbaa !5
  %7459 = call ptr @s2n_strerror_debug(i32 noundef %7458, ptr noundef @.str.4)
  %7460 = call ptr @__errno_location() #12
  %7461 = load i32, ptr %7460, align 4, !tbaa !5
  %7462 = call ptr @strerror(i32 noundef %7461) #11
  %7463 = call ptr @__errno_location() #12
  %7464 = load i32, ptr %7463, align 4, !tbaa !5
  %7465 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7452, ptr noundef @.str.5, i32 noundef %7453, ptr noundef @.str.68, ptr noundef @.str.1, i32 noundef 284, ptr noundef %7456, ptr noundef %7459, ptr noundef %7462, i32 noundef %7464) #11
  br label %7466

7466:                                             ; preds = %7449, %7432
  call void @llvm.lifetime.end.p0(i64 4, ptr %167) #11
  br label %7467

7467:                                             ; preds = %7466
  br label %7468

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

7469:                                             ; No predecessors!
  br label %7470

7470:                                             ; preds = %7469
  br label %7471

7471:                                             ; preds = %7470, %7412
  br label %7472

7472:                                             ; preds = %7471
  br label %7473

7473:                                             ; preds = %7472
  br label %7474

7474:                                             ; preds = %7473
  %7475 = load i32, ptr @test_count, align 4, !tbaa !5
  %7476 = add nsw i32 %7475, 1
  store i32 %7476, ptr @test_count, align 4, !tbaa !5
  %7477 = load ptr, ptr %165, align 8, !tbaa !9
  %7478 = load ptr, ptr %9, align 8, !tbaa !9
  %7479 = call i32 @s2n_config_add_cert_chain_and_key_to_store(ptr noundef %7477, ptr noundef %7478)
  %7480 = icmp eq i32 %7479, -1
  br i1 %7480, label %7481, label %7534

7481:                                             ; preds = %7474
  br label %7482

7482:                                             ; preds = %7481
  br label %7483

7483:                                             ; preds = %7482
  call void @llvm.lifetime.start.p0(i64 4, ptr %168) #11
  %7484 = call ptr @__errno_location() #12
  %7485 = load i32, ptr %7484, align 4, !tbaa !5
  store i32 %7485, ptr %168, align 4, !tbaa !5
  %7486 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7487 = call i32 @s2n_print_stacktrace(ptr noundef %7486)
  %7488 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7489 = trunc i8 %7488 to i1
  br i1 %7489, label %7490, label %7512

7490:                                             ; preds = %7483
  %7491 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7492 = call i32 @fileno(ptr noundef %7491) #11
  %7493 = call i32 @isatty(i32 noundef %7492) #11
  %7494 = icmp ne i32 %7493, 0
  br i1 %7494, label %7495, label %7512

7495:                                             ; preds = %7490
  %7496 = load i32, ptr %168, align 4, !tbaa !5
  %7497 = call ptr @__errno_location() #12
  store i32 %7496, ptr %7497, align 4, !tbaa !5
  %7498 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7499 = load i32, ptr @test_count, align 4, !tbaa !5
  %7500 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7501 = load i32, ptr %7500, align 4, !tbaa !5
  %7502 = call ptr @s2n_strerror(i32 noundef %7501, ptr noundef @.str.4)
  %7503 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7504 = load i32, ptr %7503, align 4, !tbaa !5
  %7505 = call ptr @s2n_strerror_debug(i32 noundef %7504, ptr noundef @.str.4)
  %7506 = call ptr @__errno_location() #12
  %7507 = load i32, ptr %7506, align 4, !tbaa !5
  %7508 = call ptr @strerror(i32 noundef %7507) #11
  %7509 = call ptr @__errno_location() #12
  %7510 = load i32, ptr %7509, align 4, !tbaa !5
  %7511 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7498, ptr noundef @.str.2, i32 noundef %7499, ptr noundef @.str.69, ptr noundef @.str.1, i32 noundef 285, ptr noundef %7502, ptr noundef %7505, ptr noundef %7508, i32 noundef %7510) #11
  br label %7529

7512:                                             ; preds = %7490, %7483
  %7513 = load i32, ptr %168, align 4, !tbaa !5
  %7514 = call ptr @__errno_location() #12
  store i32 %7513, ptr %7514, align 4, !tbaa !5
  %7515 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7516 = load i32, ptr @test_count, align 4, !tbaa !5
  %7517 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7518 = load i32, ptr %7517, align 4, !tbaa !5
  %7519 = call ptr @s2n_strerror(i32 noundef %7518, ptr noundef @.str.4)
  %7520 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7521 = load i32, ptr %7520, align 4, !tbaa !5
  %7522 = call ptr @s2n_strerror_debug(i32 noundef %7521, ptr noundef @.str.4)
  %7523 = call ptr @__errno_location() #12
  %7524 = load i32, ptr %7523, align 4, !tbaa !5
  %7525 = call ptr @strerror(i32 noundef %7524) #11
  %7526 = call ptr @__errno_location() #12
  %7527 = load i32, ptr %7526, align 4, !tbaa !5
  %7528 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7515, ptr noundef @.str.5, i32 noundef %7516, ptr noundef @.str.69, ptr noundef @.str.1, i32 noundef 285, ptr noundef %7519, ptr noundef %7522, ptr noundef %7525, i32 noundef %7527) #11
  br label %7529

7529:                                             ; preds = %7512, %7495
  call void @llvm.lifetime.end.p0(i64 4, ptr %168) #11
  br label %7530

7530:                                             ; preds = %7529
  br label %7531

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

7532:                                             ; No predecessors!
  br label %7533

7533:                                             ; preds = %7532
  br label %7534

7534:                                             ; preds = %7533, %7474
  br label %7535

7535:                                             ; preds = %7534
  br label %7536

7536:                                             ; preds = %7535
  br label %7537

7537:                                             ; preds = %7536
  %7538 = load i32, ptr @test_count, align 4, !tbaa !5
  %7539 = add nsw i32 %7538, 1
  store i32 %7539, ptr @test_count, align 4, !tbaa !5
  %7540 = load ptr, ptr %165, align 8, !tbaa !9
  %7541 = call i32 @s2n_config_set_cipher_preferences(ptr noundef %7540, ptr noundef @.str.19)
  %7542 = icmp eq i32 %7541, -1
  br i1 %7542, label %7543, label %7596

7543:                                             ; preds = %7537
  br label %7544

7544:                                             ; preds = %7543
  br label %7545

7545:                                             ; preds = %7544
  call void @llvm.lifetime.start.p0(i64 4, ptr %169) #11
  %7546 = call ptr @__errno_location() #12
  %7547 = load i32, ptr %7546, align 4, !tbaa !5
  store i32 %7547, ptr %169, align 4, !tbaa !5
  %7548 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7549 = call i32 @s2n_print_stacktrace(ptr noundef %7548)
  %7550 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7551 = trunc i8 %7550 to i1
  br i1 %7551, label %7552, label %7574

7552:                                             ; preds = %7545
  %7553 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7554 = call i32 @fileno(ptr noundef %7553) #11
  %7555 = call i32 @isatty(i32 noundef %7554) #11
  %7556 = icmp ne i32 %7555, 0
  br i1 %7556, label %7557, label %7574

7557:                                             ; preds = %7552
  %7558 = load i32, ptr %169, align 4, !tbaa !5
  %7559 = call ptr @__errno_location() #12
  store i32 %7558, ptr %7559, align 4, !tbaa !5
  %7560 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7561 = load i32, ptr @test_count, align 4, !tbaa !5
  %7562 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7563 = load i32, ptr %7562, align 4, !tbaa !5
  %7564 = call ptr @s2n_strerror(i32 noundef %7563, ptr noundef @.str.4)
  %7565 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7566 = load i32, ptr %7565, align 4, !tbaa !5
  %7567 = call ptr @s2n_strerror_debug(i32 noundef %7566, ptr noundef @.str.4)
  %7568 = call ptr @__errno_location() #12
  %7569 = load i32, ptr %7568, align 4, !tbaa !5
  %7570 = call ptr @strerror(i32 noundef %7569) #11
  %7571 = call ptr @__errno_location() #12
  %7572 = load i32, ptr %7571, align 4, !tbaa !5
  %7573 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7560, ptr noundef @.str.2, i32 noundef %7561, ptr noundef @.str.70, ptr noundef @.str.1, i32 noundef 286, ptr noundef %7564, ptr noundef %7567, ptr noundef %7570, i32 noundef %7572) #11
  br label %7591

7574:                                             ; preds = %7552, %7545
  %7575 = load i32, ptr %169, align 4, !tbaa !5
  %7576 = call ptr @__errno_location() #12
  store i32 %7575, ptr %7576, align 4, !tbaa !5
  %7577 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7578 = load i32, ptr @test_count, align 4, !tbaa !5
  %7579 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7580 = load i32, ptr %7579, align 4, !tbaa !5
  %7581 = call ptr @s2n_strerror(i32 noundef %7580, ptr noundef @.str.4)
  %7582 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7583 = load i32, ptr %7582, align 4, !tbaa !5
  %7584 = call ptr @s2n_strerror_debug(i32 noundef %7583, ptr noundef @.str.4)
  %7585 = call ptr @__errno_location() #12
  %7586 = load i32, ptr %7585, align 4, !tbaa !5
  %7587 = call ptr @strerror(i32 noundef %7586) #11
  %7588 = call ptr @__errno_location() #12
  %7589 = load i32, ptr %7588, align 4, !tbaa !5
  %7590 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7577, ptr noundef @.str.5, i32 noundef %7578, ptr noundef @.str.70, ptr noundef @.str.1, i32 noundef 286, ptr noundef %7581, ptr noundef %7584, ptr noundef %7587, i32 noundef %7589) #11
  br label %7591

7591:                                             ; preds = %7574, %7557
  call void @llvm.lifetime.end.p0(i64 4, ptr %169) #11
  br label %7592

7592:                                             ; preds = %7591
  br label %7593

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

7594:                                             ; No predecessors!
  br label %7595

7595:                                             ; preds = %7594
  br label %7596

7596:                                             ; preds = %7595, %7537
  br label %7597

7597:                                             ; preds = %7596
  br label %7598

7598:                                             ; preds = %7597
  br label %7599

7599:                                             ; preds = %7598
  %7600 = load i32, ptr @test_count, align 4, !tbaa !5
  %7601 = add nsw i32 %7600, 1
  store i32 %7601, ptr @test_count, align 4, !tbaa !5
  %7602 = load ptr, ptr %165, align 8, !tbaa !9
  %7603 = call i32 @s2n_config_accept_max_fragment_length(ptr noundef %7602)
  %7604 = icmp eq i32 %7603, -1
  br i1 %7604, label %7605, label %7658

7605:                                             ; preds = %7599
  br label %7606

7606:                                             ; preds = %7605
  br label %7607

7607:                                             ; preds = %7606
  call void @llvm.lifetime.start.p0(i64 4, ptr %170) #11
  %7608 = call ptr @__errno_location() #12
  %7609 = load i32, ptr %7608, align 4, !tbaa !5
  store i32 %7609, ptr %170, align 4, !tbaa !5
  %7610 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7611 = call i32 @s2n_print_stacktrace(ptr noundef %7610)
  %7612 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7613 = trunc i8 %7612 to i1
  br i1 %7613, label %7614, label %7636

7614:                                             ; preds = %7607
  %7615 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7616 = call i32 @fileno(ptr noundef %7615) #11
  %7617 = call i32 @isatty(i32 noundef %7616) #11
  %7618 = icmp ne i32 %7617, 0
  br i1 %7618, label %7619, label %7636

7619:                                             ; preds = %7614
  %7620 = load i32, ptr %170, align 4, !tbaa !5
  %7621 = call ptr @__errno_location() #12
  store i32 %7620, ptr %7621, align 4, !tbaa !5
  %7622 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7623 = load i32, ptr @test_count, align 4, !tbaa !5
  %7624 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7625 = load i32, ptr %7624, align 4, !tbaa !5
  %7626 = call ptr @s2n_strerror(i32 noundef %7625, ptr noundef @.str.4)
  %7627 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7628 = load i32, ptr %7627, align 4, !tbaa !5
  %7629 = call ptr @s2n_strerror_debug(i32 noundef %7628, ptr noundef @.str.4)
  %7630 = call ptr @__errno_location() #12
  %7631 = load i32, ptr %7630, align 4, !tbaa !5
  %7632 = call ptr @strerror(i32 noundef %7631) #11
  %7633 = call ptr @__errno_location() #12
  %7634 = load i32, ptr %7633, align 4, !tbaa !5
  %7635 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7622, ptr noundef @.str.2, i32 noundef %7623, ptr noundef @.str.71, ptr noundef @.str.1, i32 noundef 287, ptr noundef %7626, ptr noundef %7629, ptr noundef %7632, i32 noundef %7634) #11
  br label %7653

7636:                                             ; preds = %7614, %7607
  %7637 = load i32, ptr %170, align 4, !tbaa !5
  %7638 = call ptr @__errno_location() #12
  store i32 %7637, ptr %7638, align 4, !tbaa !5
  %7639 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7640 = load i32, ptr @test_count, align 4, !tbaa !5
  %7641 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7642 = load i32, ptr %7641, align 4, !tbaa !5
  %7643 = call ptr @s2n_strerror(i32 noundef %7642, ptr noundef @.str.4)
  %7644 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7645 = load i32, ptr %7644, align 4, !tbaa !5
  %7646 = call ptr @s2n_strerror_debug(i32 noundef %7645, ptr noundef @.str.4)
  %7647 = call ptr @__errno_location() #12
  %7648 = load i32, ptr %7647, align 4, !tbaa !5
  %7649 = call ptr @strerror(i32 noundef %7648) #11
  %7650 = call ptr @__errno_location() #12
  %7651 = load i32, ptr %7650, align 4, !tbaa !5
  %7652 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7639, ptr noundef @.str.5, i32 noundef %7640, ptr noundef @.str.71, ptr noundef @.str.1, i32 noundef 287, ptr noundef %7643, ptr noundef %7646, ptr noundef %7649, i32 noundef %7651) #11
  br label %7653

7653:                                             ; preds = %7636, %7619
  call void @llvm.lifetime.end.p0(i64 4, ptr %170) #11
  br label %7654

7654:                                             ; preds = %7653
  br label %7655

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

7656:                                             ; No predecessors!
  br label %7657

7657:                                             ; preds = %7656
  br label %7658

7658:                                             ; preds = %7657, %7599
  br label %7659

7659:                                             ; preds = %7658
  br label %7660

7660:                                             ; preds = %7659
  br label %7661

7661:                                             ; preds = %7660
  %7662 = load i32, ptr @test_count, align 4, !tbaa !5
  %7663 = add nsw i32 %7662, 1
  store i32 %7663, ptr @test_count, align 4, !tbaa !5
  %7664 = load ptr, ptr %165, align 8, !tbaa !9
  %7665 = call i32 @s2n_config_send_max_fragment_length(ptr noundef %7664, i32 noundef 4)
  %7666 = icmp eq i32 %7665, -1
  br i1 %7666, label %7667, label %7720

7667:                                             ; preds = %7661
  br label %7668

7668:                                             ; preds = %7667
  br label %7669

7669:                                             ; preds = %7668
  call void @llvm.lifetime.start.p0(i64 4, ptr %171) #11
  %7670 = call ptr @__errno_location() #12
  %7671 = load i32, ptr %7670, align 4, !tbaa !5
  store i32 %7671, ptr %171, align 4, !tbaa !5
  %7672 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7673 = call i32 @s2n_print_stacktrace(ptr noundef %7672)
  %7674 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7675 = trunc i8 %7674 to i1
  br i1 %7675, label %7676, label %7698

7676:                                             ; preds = %7669
  %7677 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7678 = call i32 @fileno(ptr noundef %7677) #11
  %7679 = call i32 @isatty(i32 noundef %7678) #11
  %7680 = icmp ne i32 %7679, 0
  br i1 %7680, label %7681, label %7698

7681:                                             ; preds = %7676
  %7682 = load i32, ptr %171, align 4, !tbaa !5
  %7683 = call ptr @__errno_location() #12
  store i32 %7682, ptr %7683, align 4, !tbaa !5
  %7684 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7685 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %7687, ptr noundef @.str.4)
  %7689 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7690 = load i32, ptr %7689, align 4, !tbaa !5
  %7691 = call ptr @s2n_strerror_debug(i32 noundef %7690, ptr noundef @.str.4)
  %7692 = call ptr @__errno_location() #12
  %7693 = load i32, ptr %7692, align 4, !tbaa !5
  %7694 = call ptr @strerror(i32 noundef %7693) #11
  %7695 = call ptr @__errno_location() #12
  %7696 = load i32, ptr %7695, align 4, !tbaa !5
  %7697 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7684, ptr noundef @.str.2, i32 noundef %7685, ptr noundef @.str.72, ptr noundef @.str.1, i32 noundef 288, ptr noundef %7688, ptr noundef %7691, ptr noundef %7694, i32 noundef %7696) #11
  br label %7715

7698:                                             ; preds = %7676, %7669
  %7699 = load i32, ptr %171, align 4, !tbaa !5
  %7700 = call ptr @__errno_location() #12
  store i32 %7699, ptr %7700, align 4, !tbaa !5
  %7701 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7702 = load i32, ptr @test_count, align 4, !tbaa !5
  %7703 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7704 = load i32, ptr %7703, align 4, !tbaa !5
  %7705 = call ptr @s2n_strerror(i32 noundef %7704, ptr noundef @.str.4)
  %7706 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7707 = load i32, ptr %7706, align 4, !tbaa !5
  %7708 = call ptr @s2n_strerror_debug(i32 noundef %7707, ptr noundef @.str.4)
  %7709 = call ptr @__errno_location() #12
  %7710 = load i32, ptr %7709, align 4, !tbaa !5
  %7711 = call ptr @strerror(i32 noundef %7710) #11
  %7712 = call ptr @__errno_location() #12
  %7713 = load i32, ptr %7712, align 4, !tbaa !5
  %7714 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7701, ptr noundef @.str.5, i32 noundef %7702, ptr noundef @.str.72, ptr noundef @.str.1, i32 noundef 288, ptr noundef %7705, ptr noundef %7708, ptr noundef %7711, i32 noundef %7713) #11
  br label %7715

7715:                                             ; preds = %7698, %7681
  call void @llvm.lifetime.end.p0(i64 4, ptr %171) #11
  br label %7716

7716:                                             ; preds = %7715
  br label %7717

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

7718:                                             ; No predecessors!
  br label %7719

7719:                                             ; preds = %7718
  br label %7720

7720:                                             ; preds = %7719, %7661
  br label %7721

7721:                                             ; preds = %7720
  br label %7722

7722:                                             ; preds = %7721
  call void @llvm.lifetime.start.p0(i64 8, ptr %172) #11
  %7723 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %7723, ptr %172, align 8, !tbaa !9
  br label %7724

7724:                                             ; preds = %7722
  %7725 = load i32, ptr @test_count, align 4, !tbaa !5
  %7726 = add nsw i32 %7725, 1
  store i32 %7726, ptr @test_count, align 4, !tbaa !5
  %7727 = load ptr, ptr %172, align 8, !tbaa !9
  %7728 = icmp eq ptr %7727, null
  br i1 %7728, label %7729, label %7782

7729:                                             ; preds = %7724
  br label %7730

7730:                                             ; preds = %7729
  br label %7731

7731:                                             ; preds = %7730
  call void @llvm.lifetime.start.p0(i64 4, ptr %173) #11
  %7732 = call ptr @__errno_location() #12
  %7733 = load i32, ptr %7732, align 4, !tbaa !5
  store i32 %7733, ptr %173, align 4, !tbaa !5
  %7734 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7735 = call i32 @s2n_print_stacktrace(ptr noundef %7734)
  %7736 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7737 = trunc i8 %7736 to i1
  br i1 %7737, label %7738, label %7760

7738:                                             ; preds = %7731
  %7739 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7740 = call i32 @fileno(ptr noundef %7739) #11
  %7741 = call i32 @isatty(i32 noundef %7740) #11
  %7742 = icmp ne i32 %7741, 0
  br i1 %7742, label %7743, label %7760

7743:                                             ; preds = %7738
  %7744 = load i32, ptr %173, align 4, !tbaa !5
  %7745 = call ptr @__errno_location() #12
  store i32 %7744, ptr %7745, align 4, !tbaa !5
  %7746 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7747 = load i32, ptr @test_count, align 4, !tbaa !5
  %7748 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7749 = load i32, ptr %7748, align 4, !tbaa !5
  %7750 = call ptr @s2n_strerror(i32 noundef %7749, ptr noundef @.str.4)
  %7751 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7752 = load i32, ptr %7751, align 4, !tbaa !5
  %7753 = call ptr @s2n_strerror_debug(i32 noundef %7752, ptr noundef @.str.4)
  %7754 = call ptr @__errno_location() #12
  %7755 = load i32, ptr %7754, align 4, !tbaa !5
  %7756 = call ptr @strerror(i32 noundef %7755) #11
  %7757 = call ptr @__errno_location() #12
  %7758 = load i32, ptr %7757, align 4, !tbaa !5
  %7759 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7746, ptr noundef @.str.2, i32 noundef %7747, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 291, ptr noundef %7750, ptr noundef %7753, ptr noundef %7756, i32 noundef %7758) #11
  br label %7777

7760:                                             ; preds = %7738, %7731
  %7761 = load i32, ptr %173, align 4, !tbaa !5
  %7762 = call ptr @__errno_location() #12
  store i32 %7761, ptr %7762, align 4, !tbaa !5
  %7763 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7764 = load i32, ptr @test_count, align 4, !tbaa !5
  %7765 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7766 = load i32, ptr %7765, align 4, !tbaa !5
  %7767 = call ptr @s2n_strerror(i32 noundef %7766, ptr noundef @.str.4)
  %7768 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7769 = load i32, ptr %7768, align 4, !tbaa !5
  %7770 = call ptr @s2n_strerror_debug(i32 noundef %7769, ptr noundef @.str.4)
  %7771 = call ptr @__errno_location() #12
  %7772 = load i32, ptr %7771, align 4, !tbaa !5
  %7773 = call ptr @strerror(i32 noundef %7772) #11
  %7774 = call ptr @__errno_location() #12
  %7775 = load i32, ptr %7774, align 4, !tbaa !5
  %7776 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7763, ptr noundef @.str.5, i32 noundef %7764, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 291, ptr noundef %7767, ptr noundef %7770, ptr noundef %7773, i32 noundef %7775) #11
  br label %7777

7777:                                             ; preds = %7760, %7743
  call void @llvm.lifetime.end.p0(i64 4, ptr %173) #11
  br label %7778

7778:                                             ; preds = %7777
  br label %7779

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

7780:                                             ; No predecessors!
  br label %7781

7781:                                             ; preds = %7780
  br label %7782

7782:                                             ; preds = %7781, %7724
  br label %7783

7783:                                             ; preds = %7782
  br label %7784

7784:                                             ; preds = %7783
  br label %7785

7785:                                             ; preds = %7784
  %7786 = load i32, ptr @test_count, align 4, !tbaa !5
  %7787 = add nsw i32 %7786, 1
  store i32 %7787, ptr @test_count, align 4, !tbaa !5
  %7788 = load ptr, ptr %172, align 8, !tbaa !9
  %7789 = load ptr, ptr %15, align 8, !tbaa !9
  %7790 = call i32 @s2n_connection_set_config(ptr noundef %7788, ptr noundef %7789)
  %7791 = icmp eq i32 %7790, -1
  br i1 %7791, label %7792, label %7845

7792:                                             ; preds = %7785
  br label %7793

7793:                                             ; preds = %7792
  br label %7794

7794:                                             ; preds = %7793
  call void @llvm.lifetime.start.p0(i64 4, ptr %174) #11
  %7795 = call ptr @__errno_location() #12
  %7796 = load i32, ptr %7795, align 4, !tbaa !5
  store i32 %7796, ptr %174, align 4, !tbaa !5
  %7797 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7798 = call i32 @s2n_print_stacktrace(ptr noundef %7797)
  %7799 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7800 = trunc i8 %7799 to i1
  br i1 %7800, label %7801, label %7823

7801:                                             ; preds = %7794
  %7802 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7803 = call i32 @fileno(ptr noundef %7802) #11
  %7804 = call i32 @isatty(i32 noundef %7803) #11
  %7805 = icmp ne i32 %7804, 0
  br i1 %7805, label %7806, label %7823

7806:                                             ; preds = %7801
  %7807 = load i32, ptr %174, align 4, !tbaa !5
  %7808 = call ptr @__errno_location() #12
  store i32 %7807, ptr %7808, align 4, !tbaa !5
  %7809 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7810 = load i32, ptr @test_count, align 4, !tbaa !5
  %7811 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7812 = load i32, ptr %7811, align 4, !tbaa !5
  %7813 = call ptr @s2n_strerror(i32 noundef %7812, ptr noundef @.str.4)
  %7814 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7815 = load i32, ptr %7814, align 4, !tbaa !5
  %7816 = call ptr @s2n_strerror_debug(i32 noundef %7815, ptr noundef @.str.4)
  %7817 = call ptr @__errno_location() #12
  %7818 = load i32, ptr %7817, align 4, !tbaa !5
  %7819 = call ptr @strerror(i32 noundef %7818) #11
  %7820 = call ptr @__errno_location() #12
  %7821 = load i32, ptr %7820, align 4, !tbaa !5
  %7822 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7809, ptr noundef @.str.2, i32 noundef %7810, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 292, ptr noundef %7813, ptr noundef %7816, ptr noundef %7819, i32 noundef %7821) #11
  br label %7840

7823:                                             ; preds = %7801, %7794
  %7824 = load i32, ptr %174, align 4, !tbaa !5
  %7825 = call ptr @__errno_location() #12
  store i32 %7824, ptr %7825, align 4, !tbaa !5
  %7826 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7827 = load i32, ptr @test_count, align 4, !tbaa !5
  %7828 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7829 = load i32, ptr %7828, align 4, !tbaa !5
  %7830 = call ptr @s2n_strerror(i32 noundef %7829, ptr noundef @.str.4)
  %7831 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7832 = load i32, ptr %7831, align 4, !tbaa !5
  %7833 = call ptr @s2n_strerror_debug(i32 noundef %7832, ptr noundef @.str.4)
  %7834 = call ptr @__errno_location() #12
  %7835 = load i32, ptr %7834, align 4, !tbaa !5
  %7836 = call ptr @strerror(i32 noundef %7835) #11
  %7837 = call ptr @__errno_location() #12
  %7838 = load i32, ptr %7837, align 4, !tbaa !5
  %7839 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7826, ptr noundef @.str.5, i32 noundef %7827, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 292, ptr noundef %7830, ptr noundef %7833, ptr noundef %7836, i32 noundef %7838) #11
  br label %7840

7840:                                             ; preds = %7823, %7806
  call void @llvm.lifetime.end.p0(i64 4, ptr %174) #11
  br label %7841

7841:                                             ; preds = %7840
  br label %7842

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

7843:                                             ; No predecessors!
  br label %7844

7844:                                             ; preds = %7843
  br label %7845

7845:                                             ; preds = %7844, %7785
  br label %7846

7846:                                             ; preds = %7845
  br label %7847

7847:                                             ; preds = %7846
  call void @llvm.lifetime.start.p0(i64 8, ptr %175) #11
  %7848 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %7848, ptr %175, align 8, !tbaa !9
  br label %7849

7849:                                             ; preds = %7847
  %7850 = load i32, ptr @test_count, align 4, !tbaa !5
  %7851 = add nsw i32 %7850, 1
  store i32 %7851, ptr @test_count, align 4, !tbaa !5
  %7852 = load ptr, ptr %175, align 8, !tbaa !9
  %7853 = icmp eq ptr %7852, null
  br i1 %7853, label %7854, label %7907

7854:                                             ; preds = %7849
  br label %7855

7855:                                             ; preds = %7854
  br label %7856

7856:                                             ; preds = %7855
  call void @llvm.lifetime.start.p0(i64 4, ptr %176) #11
  %7857 = call ptr @__errno_location() #12
  %7858 = load i32, ptr %7857, align 4, !tbaa !5
  store i32 %7858, ptr %176, align 4, !tbaa !5
  %7859 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7860 = call i32 @s2n_print_stacktrace(ptr noundef %7859)
  %7861 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7862 = trunc i8 %7861 to i1
  br i1 %7862, label %7863, label %7885

7863:                                             ; preds = %7856
  %7864 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7865 = call i32 @fileno(ptr noundef %7864) #11
  %7866 = call i32 @isatty(i32 noundef %7865) #11
  %7867 = icmp ne i32 %7866, 0
  br i1 %7867, label %7868, label %7885

7868:                                             ; preds = %7863
  %7869 = load i32, ptr %176, align 4, !tbaa !5
  %7870 = call ptr @__errno_location() #12
  store i32 %7869, ptr %7870, align 4, !tbaa !5
  %7871 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7872 = load i32, ptr @test_count, align 4, !tbaa !5
  %7873 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7874 = load i32, ptr %7873, align 4, !tbaa !5
  %7875 = call ptr @s2n_strerror(i32 noundef %7874, ptr noundef @.str.4)
  %7876 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7877 = load i32, ptr %7876, align 4, !tbaa !5
  %7878 = call ptr @s2n_strerror_debug(i32 noundef %7877, ptr noundef @.str.4)
  %7879 = call ptr @__errno_location() #12
  %7880 = load i32, ptr %7879, align 4, !tbaa !5
  %7881 = call ptr @strerror(i32 noundef %7880) #11
  %7882 = call ptr @__errno_location() #12
  %7883 = load i32, ptr %7882, align 4, !tbaa !5
  %7884 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7871, ptr noundef @.str.2, i32 noundef %7872, ptr noundef @.str.23, ptr noundef @.str.1, i32 noundef 295, ptr noundef %7875, ptr noundef %7878, ptr noundef %7881, i32 noundef %7883) #11
  br label %7902

7885:                                             ; preds = %7863, %7856
  %7886 = load i32, ptr %176, align 4, !tbaa !5
  %7887 = call ptr @__errno_location() #12
  store i32 %7886, ptr %7887, align 4, !tbaa !5
  %7888 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7889 = load i32, ptr @test_count, align 4, !tbaa !5
  %7890 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7891 = load i32, ptr %7890, align 4, !tbaa !5
  %7892 = call ptr @s2n_strerror(i32 noundef %7891, ptr noundef @.str.4)
  %7893 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7894 = load i32, ptr %7893, align 4, !tbaa !5
  %7895 = call ptr @s2n_strerror_debug(i32 noundef %7894, ptr noundef @.str.4)
  %7896 = call ptr @__errno_location() #12
  %7897 = load i32, ptr %7896, align 4, !tbaa !5
  %7898 = call ptr @strerror(i32 noundef %7897) #11
  %7899 = call ptr @__errno_location() #12
  %7900 = load i32, ptr %7899, align 4, !tbaa !5
  %7901 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7888, ptr noundef @.str.5, i32 noundef %7889, ptr noundef @.str.23, ptr noundef @.str.1, i32 noundef 295, ptr noundef %7892, ptr noundef %7895, ptr noundef %7898, i32 noundef %7900) #11
  br label %7902

7902:                                             ; preds = %7885, %7868
  call void @llvm.lifetime.end.p0(i64 4, ptr %176) #11
  br label %7903

7903:                                             ; preds = %7902
  br label %7904

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

7905:                                             ; No predecessors!
  br label %7906

7906:                                             ; preds = %7905
  br label %7907

7907:                                             ; preds = %7906, %7849
  br label %7908

7908:                                             ; preds = %7907
  br label %7909

7909:                                             ; preds = %7908
  br label %7910

7910:                                             ; preds = %7909
  %7911 = load i32, ptr @test_count, align 4, !tbaa !5
  %7912 = add nsw i32 %7911, 1
  store i32 %7912, ptr @test_count, align 4, !tbaa !5
  %7913 = load ptr, ptr %175, align 8, !tbaa !9
  %7914 = load ptr, ptr %15, align 8, !tbaa !9
  %7915 = call i32 @s2n_connection_set_config(ptr noundef %7913, ptr noundef %7914)
  %7916 = icmp eq i32 %7915, -1
  br i1 %7916, label %7917, label %7970

7917:                                             ; preds = %7910
  br label %7918

7918:                                             ; preds = %7917
  br label %7919

7919:                                             ; preds = %7918
  call void @llvm.lifetime.start.p0(i64 4, ptr %177) #11
  %7920 = call ptr @__errno_location() #12
  %7921 = load i32, ptr %7920, align 4, !tbaa !5
  store i32 %7921, ptr %177, align 4, !tbaa !5
  %7922 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7923 = call i32 @s2n_print_stacktrace(ptr noundef %7922)
  %7924 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7925 = trunc i8 %7924 to i1
  br i1 %7925, label %7926, label %7948

7926:                                             ; preds = %7919
  %7927 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7928 = call i32 @fileno(ptr noundef %7927) #11
  %7929 = call i32 @isatty(i32 noundef %7928) #11
  %7930 = icmp ne i32 %7929, 0
  br i1 %7930, label %7931, label %7948

7931:                                             ; preds = %7926
  %7932 = load i32, ptr %177, align 4, !tbaa !5
  %7933 = call ptr @__errno_location() #12
  store i32 %7932, ptr %7933, align 4, !tbaa !5
  %7934 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7935 = load i32, ptr @test_count, align 4, !tbaa !5
  %7936 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7937 = load i32, ptr %7936, align 4, !tbaa !5
  %7938 = call ptr @s2n_strerror(i32 noundef %7937, ptr noundef @.str.4)
  %7939 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7940 = load i32, ptr %7939, align 4, !tbaa !5
  %7941 = call ptr @s2n_strerror_debug(i32 noundef %7940, ptr noundef @.str.4)
  %7942 = call ptr @__errno_location() #12
  %7943 = load i32, ptr %7942, align 4, !tbaa !5
  %7944 = call ptr @strerror(i32 noundef %7943) #11
  %7945 = call ptr @__errno_location() #12
  %7946 = load i32, ptr %7945, align 4, !tbaa !5
  %7947 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7934, ptr noundef @.str.2, i32 noundef %7935, ptr noundef @.str.24, ptr noundef @.str.1, i32 noundef 296, ptr noundef %7938, ptr noundef %7941, ptr noundef %7944, i32 noundef %7946) #11
  br label %7965

7948:                                             ; preds = %7926, %7919
  %7949 = load i32, ptr %177, align 4, !tbaa !5
  %7950 = call ptr @__errno_location() #12
  store i32 %7949, ptr %7950, align 4, !tbaa !5
  %7951 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7952 = load i32, ptr @test_count, align 4, !tbaa !5
  %7953 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7954 = load i32, ptr %7953, align 4, !tbaa !5
  %7955 = call ptr @s2n_strerror(i32 noundef %7954, ptr noundef @.str.4)
  %7956 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7957 = load i32, ptr %7956, align 4, !tbaa !5
  %7958 = call ptr @s2n_strerror_debug(i32 noundef %7957, ptr noundef @.str.4)
  %7959 = call ptr @__errno_location() #12
  %7960 = load i32, ptr %7959, align 4, !tbaa !5
  %7961 = call ptr @strerror(i32 noundef %7960) #11
  %7962 = call ptr @__errno_location() #12
  %7963 = load i32, ptr %7962, align 4, !tbaa !5
  %7964 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7951, ptr noundef @.str.5, i32 noundef %7952, ptr noundef @.str.24, ptr noundef @.str.1, i32 noundef 296, ptr noundef %7955, ptr noundef %7958, ptr noundef %7961, i32 noundef %7963) #11
  br label %7965

7965:                                             ; preds = %7948, %7931
  call void @llvm.lifetime.end.p0(i64 4, ptr %177) #11
  br label %7966

7966:                                             ; preds = %7965
  br label %7967

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

7968:                                             ; No predecessors!
  br label %7969

7969:                                             ; preds = %7968
  br label %7970

7970:                                             ; preds = %7969, %7910
  br label %7971

7971:                                             ; preds = %7970
  br label %7972

7972:                                             ; preds = %7971
  call void @llvm.lifetime.start.p0(i64 8, ptr %178) #11
  call void @llvm.memset.p0.i64(ptr align 4 %178, i8 0, i64 8, i1 false)
  br label %7973

7973:                                             ; preds = %7972
  %7974 = load i32, ptr @test_count, align 4, !tbaa !5
  %7975 = add nsw i32 %7974, 1
  store i32 %7975, ptr @test_count, align 4, !tbaa !5
  %7976 = call i32 @s2n_io_pair_init_non_blocking(ptr noundef %178)
  %7977 = icmp eq i32 %7976, -1
  br i1 %7977, label %7978, label %8031

7978:                                             ; preds = %7973
  br label %7979

7979:                                             ; preds = %7978
  br label %7980

7980:                                             ; preds = %7979
  call void @llvm.lifetime.start.p0(i64 4, ptr %179) #11
  %7981 = call ptr @__errno_location() #12
  %7982 = load i32, ptr %7981, align 4, !tbaa !5
  store i32 %7982, ptr %179, align 4, !tbaa !5
  %7983 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7984 = call i32 @s2n_print_stacktrace(ptr noundef %7983)
  %7985 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7986 = trunc i8 %7985 to i1
  br i1 %7986, label %7987, label %8009

7987:                                             ; preds = %7980
  %7988 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7989 = call i32 @fileno(ptr noundef %7988) #11
  %7990 = call i32 @isatty(i32 noundef %7989) #11
  %7991 = icmp ne i32 %7990, 0
  br i1 %7991, label %7992, label %8009

7992:                                             ; preds = %7987
  %7993 = load i32, ptr %179, align 4, !tbaa !5
  %7994 = call ptr @__errno_location() #12
  store i32 %7993, ptr %7994, align 4, !tbaa !5
  %7995 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7996 = load i32, ptr @test_count, align 4, !tbaa !5
  %7997 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7998 = load i32, ptr %7997, align 4, !tbaa !5
  %7999 = call ptr @s2n_strerror(i32 noundef %7998, ptr noundef @.str.4)
  %8000 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8001 = load i32, ptr %8000, align 4, !tbaa !5
  %8002 = call ptr @s2n_strerror_debug(i32 noundef %8001, ptr noundef @.str.4)
  %8003 = call ptr @__errno_location() #12
  %8004 = load i32, ptr %8003, align 4, !tbaa !5
  %8005 = call ptr @strerror(i32 noundef %8004) #11
  %8006 = call ptr @__errno_location() #12
  %8007 = load i32, ptr %8006, align 4, !tbaa !5
  %8008 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7995, ptr noundef @.str.2, i32 noundef %7996, ptr noundef @.str.25, ptr noundef @.str.1, i32 noundef 299, ptr noundef %7999, ptr noundef %8002, ptr noundef %8005, i32 noundef %8007) #11
  br label %8026

8009:                                             ; preds = %7987, %7980
  %8010 = load i32, ptr %179, align 4, !tbaa !5
  %8011 = call ptr @__errno_location() #12
  store i32 %8010, ptr %8011, align 4, !tbaa !5
  %8012 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8013 = load i32, ptr @test_count, align 4, !tbaa !5
  %8014 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8015 = load i32, ptr %8014, align 4, !tbaa !5
  %8016 = call ptr @s2n_strerror(i32 noundef %8015, ptr noundef @.str.4)
  %8017 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8018 = load i32, ptr %8017, align 4, !tbaa !5
  %8019 = call ptr @s2n_strerror_debug(i32 noundef %8018, ptr noundef @.str.4)
  %8020 = call ptr @__errno_location() #12
  %8021 = load i32, ptr %8020, align 4, !tbaa !5
  %8022 = call ptr @strerror(i32 noundef %8021) #11
  %8023 = call ptr @__errno_location() #12
  %8024 = load i32, ptr %8023, align 4, !tbaa !5
  %8025 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8012, ptr noundef @.str.5, i32 noundef %8013, ptr noundef @.str.25, ptr noundef @.str.1, i32 noundef 299, ptr noundef %8016, ptr noundef %8019, ptr noundef %8022, i32 noundef %8024) #11
  br label %8026

8026:                                             ; preds = %8009, %7992
  call void @llvm.lifetime.end.p0(i64 4, ptr %179) #11
  br label %8027

8027:                                             ; preds = %8026
  br label %8028

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

8029:                                             ; No predecessors!
  br label %8030

8030:                                             ; preds = %8029
  br label %8031

8031:                                             ; preds = %8030, %7973
  br label %8032

8032:                                             ; preds = %8031
  br label %8033

8033:                                             ; preds = %8032
  br label %8034

8034:                                             ; preds = %8033
  %8035 = load i32, ptr @test_count, align 4, !tbaa !5
  %8036 = add nsw i32 %8035, 1
  store i32 %8036, ptr @test_count, align 4, !tbaa !5
  %8037 = load ptr, ptr %175, align 8, !tbaa !9
  %8038 = call i32 @s2n_connection_set_io_pair(ptr noundef %8037, ptr noundef %178)
  %8039 = icmp eq i32 %8038, -1
  br i1 %8039, label %8040, label %8093

8040:                                             ; preds = %8034
  br label %8041

8041:                                             ; preds = %8040
  br label %8042

8042:                                             ; preds = %8041
  call void @llvm.lifetime.start.p0(i64 4, ptr %180) #11
  %8043 = call ptr @__errno_location() #12
  %8044 = load i32, ptr %8043, align 4, !tbaa !5
  store i32 %8044, ptr %180, align 4, !tbaa !5
  %8045 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8046 = call i32 @s2n_print_stacktrace(ptr noundef %8045)
  %8047 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8048 = trunc i8 %8047 to i1
  br i1 %8048, label %8049, label %8071

8049:                                             ; preds = %8042
  %8050 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8051 = call i32 @fileno(ptr noundef %8050) #11
  %8052 = call i32 @isatty(i32 noundef %8051) #11
  %8053 = icmp ne i32 %8052, 0
  br i1 %8053, label %8054, label %8071

8054:                                             ; preds = %8049
  %8055 = load i32, ptr %180, align 4, !tbaa !5
  %8056 = call ptr @__errno_location() #12
  store i32 %8055, ptr %8056, align 4, !tbaa !5
  %8057 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8058 = load i32, ptr @test_count, align 4, !tbaa !5
  %8059 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8060 = load i32, ptr %8059, align 4, !tbaa !5
  %8061 = call ptr @s2n_strerror(i32 noundef %8060, ptr noundef @.str.4)
  %8062 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8063 = load i32, ptr %8062, align 4, !tbaa !5
  %8064 = call ptr @s2n_strerror_debug(i32 noundef %8063, ptr noundef @.str.4)
  %8065 = call ptr @__errno_location() #12
  %8066 = load i32, ptr %8065, align 4, !tbaa !5
  %8067 = call ptr @strerror(i32 noundef %8066) #11
  %8068 = call ptr @__errno_location() #12
  %8069 = load i32, ptr %8068, align 4, !tbaa !5
  %8070 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8057, ptr noundef @.str.2, i32 noundef %8058, ptr noundef @.str.26, ptr noundef @.str.1, i32 noundef 300, ptr noundef %8061, ptr noundef %8064, ptr noundef %8067, i32 noundef %8069) #11
  br label %8088

8071:                                             ; preds = %8049, %8042
  %8072 = load i32, ptr %180, align 4, !tbaa !5
  %8073 = call ptr @__errno_location() #12
  store i32 %8072, ptr %8073, align 4, !tbaa !5
  %8074 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8075 = load i32, ptr @test_count, align 4, !tbaa !5
  %8076 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8077 = load i32, ptr %8076, align 4, !tbaa !5
  %8078 = call ptr @s2n_strerror(i32 noundef %8077, ptr noundef @.str.4)
  %8079 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8080 = load i32, ptr %8079, align 4, !tbaa !5
  %8081 = call ptr @s2n_strerror_debug(i32 noundef %8080, ptr noundef @.str.4)
  %8082 = call ptr @__errno_location() #12
  %8083 = load i32, ptr %8082, align 4, !tbaa !5
  %8084 = call ptr @strerror(i32 noundef %8083) #11
  %8085 = call ptr @__errno_location() #12
  %8086 = load i32, ptr %8085, align 4, !tbaa !5
  %8087 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8074, ptr noundef @.str.5, i32 noundef %8075, ptr noundef @.str.26, ptr noundef @.str.1, i32 noundef 300, ptr noundef %8078, ptr noundef %8081, ptr noundef %8084, i32 noundef %8086) #11
  br label %8088

8088:                                             ; preds = %8071, %8054
  call void @llvm.lifetime.end.p0(i64 4, ptr %180) #11
  br label %8089

8089:                                             ; preds = %8088
  br label %8090

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

8091:                                             ; No predecessors!
  br label %8092

8092:                                             ; preds = %8091
  br label %8093

8093:                                             ; preds = %8092, %8034
  br label %8094

8094:                                             ; preds = %8093
  br label %8095

8095:                                             ; preds = %8094
  br label %8096

8096:                                             ; preds = %8095
  %8097 = load i32, ptr @test_count, align 4, !tbaa !5
  %8098 = add nsw i32 %8097, 1
  store i32 %8098, ptr @test_count, align 4, !tbaa !5
  %8099 = load ptr, ptr %172, align 8, !tbaa !9
  %8100 = call i32 @s2n_connection_set_io_pair(ptr noundef %8099, ptr noundef %178)
  %8101 = icmp eq i32 %8100, -1
  br i1 %8101, label %8102, label %8155

8102:                                             ; preds = %8096
  br label %8103

8103:                                             ; preds = %8102
  br label %8104

8104:                                             ; preds = %8103
  call void @llvm.lifetime.start.p0(i64 4, ptr %181) #11
  %8105 = call ptr @__errno_location() #12
  %8106 = load i32, ptr %8105, align 4, !tbaa !5
  store i32 %8106, ptr %181, align 4, !tbaa !5
  %8107 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8108 = call i32 @s2n_print_stacktrace(ptr noundef %8107)
  %8109 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8110 = trunc i8 %8109 to i1
  br i1 %8110, label %8111, label %8133

8111:                                             ; preds = %8104
  %8112 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8113 = call i32 @fileno(ptr noundef %8112) #11
  %8114 = call i32 @isatty(i32 noundef %8113) #11
  %8115 = icmp ne i32 %8114, 0
  br i1 %8115, label %8116, label %8133

8116:                                             ; preds = %8111
  %8117 = load i32, ptr %181, align 4, !tbaa !5
  %8118 = call ptr @__errno_location() #12
  store i32 %8117, ptr %8118, align 4, !tbaa !5
  %8119 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8120 = load i32, ptr @test_count, align 4, !tbaa !5
  %8121 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8122 = load i32, ptr %8121, align 4, !tbaa !5
  %8123 = call ptr @s2n_strerror(i32 noundef %8122, ptr noundef @.str.4)
  %8124 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8125 = load i32, ptr %8124, align 4, !tbaa !5
  %8126 = call ptr @s2n_strerror_debug(i32 noundef %8125, ptr noundef @.str.4)
  %8127 = call ptr @__errno_location() #12
  %8128 = load i32, ptr %8127, align 4, !tbaa !5
  %8129 = call ptr @strerror(i32 noundef %8128) #11
  %8130 = call ptr @__errno_location() #12
  %8131 = load i32, ptr %8130, align 4, !tbaa !5
  %8132 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8119, ptr noundef @.str.2, i32 noundef %8120, ptr noundef @.str.27, ptr noundef @.str.1, i32 noundef 301, ptr noundef %8123, ptr noundef %8126, ptr noundef %8129, i32 noundef %8131) #11
  br label %8150

8133:                                             ; preds = %8111, %8104
  %8134 = load i32, ptr %181, align 4, !tbaa !5
  %8135 = call ptr @__errno_location() #12
  store i32 %8134, ptr %8135, align 4, !tbaa !5
  %8136 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8137 = load i32, ptr @test_count, align 4, !tbaa !5
  %8138 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8139 = load i32, ptr %8138, align 4, !tbaa !5
  %8140 = call ptr @s2n_strerror(i32 noundef %8139, ptr noundef @.str.4)
  %8141 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8142 = load i32, ptr %8141, align 4, !tbaa !5
  %8143 = call ptr @s2n_strerror_debug(i32 noundef %8142, ptr noundef @.str.4)
  %8144 = call ptr @__errno_location() #12
  %8145 = load i32, ptr %8144, align 4, !tbaa !5
  %8146 = call ptr @strerror(i32 noundef %8145) #11
  %8147 = call ptr @__errno_location() #12
  %8148 = load i32, ptr %8147, align 4, !tbaa !5
  %8149 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8136, ptr noundef @.str.5, i32 noundef %8137, ptr noundef @.str.27, ptr noundef @.str.1, i32 noundef 301, ptr noundef %8140, ptr noundef %8143, ptr noundef %8146, i32 noundef %8148) #11
  br label %8150

8150:                                             ; preds = %8133, %8116
  call void @llvm.lifetime.end.p0(i64 4, ptr %181) #11
  br label %8151

8151:                                             ; preds = %8150
  br label %8152

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

8153:                                             ; No predecessors!
  br label %8154

8154:                                             ; preds = %8153
  br label %8155

8155:                                             ; preds = %8154, %8096
  br label %8156

8156:                                             ; preds = %8155
  br label %8157

8157:                                             ; preds = %8156
  br label %8158

8158:                                             ; preds = %8157
  %8159 = load i32, ptr @test_count, align 4, !tbaa !5
  %8160 = add nsw i32 %8159, 1
  store i32 %8160, ptr @test_count, align 4, !tbaa !5
  %8161 = load ptr, ptr %172, align 8, !tbaa !9
  %8162 = load ptr, ptr %165, align 8, !tbaa !9
  %8163 = call i32 @s2n_connection_set_config(ptr noundef %8161, ptr noundef %8162)
  %8164 = icmp eq i32 %8163, -1
  br i1 %8164, label %8165, label %8218

8165:                                             ; preds = %8158
  br label %8166

8166:                                             ; preds = %8165
  br label %8167

8167:                                             ; preds = %8166
  call void @llvm.lifetime.start.p0(i64 4, ptr %182) #11
  %8168 = call ptr @__errno_location() #12
  %8169 = load i32, ptr %8168, align 4, !tbaa !5
  store i32 %8169, ptr %182, align 4, !tbaa !5
  %8170 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8171 = call i32 @s2n_print_stacktrace(ptr noundef %8170)
  %8172 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8173 = trunc i8 %8172 to i1
  br i1 %8173, label %8174, label %8196

8174:                                             ; preds = %8167
  %8175 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8176 = call i32 @fileno(ptr noundef %8175) #11
  %8177 = call i32 @isatty(i32 noundef %8176) #11
  %8178 = icmp ne i32 %8177, 0
  br i1 %8178, label %8179, label %8196

8179:                                             ; preds = %8174
  %8180 = load i32, ptr %182, align 4, !tbaa !5
  %8181 = call ptr @__errno_location() #12
  store i32 %8180, ptr %8181, align 4, !tbaa !5
  %8182 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8183 = load i32, ptr @test_count, align 4, !tbaa !5
  %8184 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8185 = load i32, ptr %8184, align 4, !tbaa !5
  %8186 = call ptr @s2n_strerror(i32 noundef %8185, ptr noundef @.str.4)
  %8187 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8188 = load i32, ptr %8187, align 4, !tbaa !5
  %8189 = call ptr @s2n_strerror_debug(i32 noundef %8188, ptr noundef @.str.4)
  %8190 = call ptr @__errno_location() #12
  %8191 = load i32, ptr %8190, align 4, !tbaa !5
  %8192 = call ptr @strerror(i32 noundef %8191) #11
  %8193 = call ptr @__errno_location() #12
  %8194 = load i32, ptr %8193, align 4, !tbaa !5
  %8195 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8182, ptr noundef @.str.2, i32 noundef %8183, ptr noundef @.str.73, ptr noundef @.str.1, i32 noundef 303, ptr noundef %8186, ptr noundef %8189, ptr noundef %8192, i32 noundef %8194) #11
  br label %8213

8196:                                             ; preds = %8174, %8167
  %8197 = load i32, ptr %182, align 4, !tbaa !5
  %8198 = call ptr @__errno_location() #12
  store i32 %8197, ptr %8198, align 4, !tbaa !5
  %8199 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8200 = load i32, ptr @test_count, align 4, !tbaa !5
  %8201 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8202 = load i32, ptr %8201, align 4, !tbaa !5
  %8203 = call ptr @s2n_strerror(i32 noundef %8202, ptr noundef @.str.4)
  %8204 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8205 = load i32, ptr %8204, align 4, !tbaa !5
  %8206 = call ptr @s2n_strerror_debug(i32 noundef %8205, ptr noundef @.str.4)
  %8207 = call ptr @__errno_location() #12
  %8208 = load i32, ptr %8207, align 4, !tbaa !5
  %8209 = call ptr @strerror(i32 noundef %8208) #11
  %8210 = call ptr @__errno_location() #12
  %8211 = load i32, ptr %8210, align 4, !tbaa !5
  %8212 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8199, ptr noundef @.str.5, i32 noundef %8200, ptr noundef @.str.73, ptr noundef @.str.1, i32 noundef 303, ptr noundef %8203, ptr noundef %8206, ptr noundef %8209, i32 noundef %8211) #11
  br label %8213

8213:                                             ; preds = %8196, %8179
  call void @llvm.lifetime.end.p0(i64 4, ptr %182) #11
  br label %8214

8214:                                             ; preds = %8213
  br label %8215

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

8216:                                             ; No predecessors!
  br label %8217

8217:                                             ; preds = %8216
  br label %8218

8218:                                             ; preds = %8217, %8158
  br label %8219

8219:                                             ; preds = %8218
  br label %8220

8220:                                             ; preds = %8219
  br label %8221

8221:                                             ; preds = %8220
  %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 %175, align 8, !tbaa !9
  %8225 = load ptr, ptr %165, align 8, !tbaa !9
  %8226 = call i32 @s2n_connection_set_config(ptr noundef %8224, ptr noundef %8225)
  %8227 = icmp eq i32 %8226, -1
  br i1 %8227, label %8228, label %8281

8228:                                             ; preds = %8221
  br label %8229

8229:                                             ; preds = %8228
  br label %8230

8230:                                             ; preds = %8229
  call void @llvm.lifetime.start.p0(i64 4, ptr %183) #11
  %8231 = call ptr @__errno_location() #12
  %8232 = load i32, ptr %8231, align 4, !tbaa !5
  store i32 %8232, ptr %183, align 4, !tbaa !5
  %8233 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8234 = call i32 @s2n_print_stacktrace(ptr noundef %8233)
  %8235 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8236 = trunc i8 %8235 to i1
  br i1 %8236, label %8237, label %8259

8237:                                             ; preds = %8230
  %8238 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8239 = call i32 @fileno(ptr noundef %8238) #11
  %8240 = call i32 @isatty(i32 noundef %8239) #11
  %8241 = icmp ne i32 %8240, 0
  br i1 %8241, label %8242, label %8259

8242:                                             ; preds = %8237
  %8243 = load i32, ptr %183, 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.4)
  %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.4)
  %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.2, i32 noundef %8246, ptr noundef @.str.74, ptr noundef @.str.1, i32 noundef 304, ptr noundef %8249, ptr noundef %8252, ptr noundef %8255, i32 noundef %8257) #11
  br label %8276

8259:                                             ; preds = %8237, %8230
  %8260 = load i32, ptr %183, align 4, !tbaa !5
  %8261 = call ptr @__errno_location() #12
  store i32 %8260, ptr %8261, align 4, !tbaa !5
  %8262 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8263 = load i32, ptr @test_count, align 4, !tbaa !5
  %8264 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8265 = load i32, ptr %8264, align 4, !tbaa !5
  %8266 = call ptr @s2n_strerror(i32 noundef %8265, ptr noundef @.str.4)
  %8267 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8268 = load i32, ptr %8267, align 4, !tbaa !5
  %8269 = call ptr @s2n_strerror_debug(i32 noundef %8268, ptr noundef @.str.4)
  %8270 = call ptr @__errno_location() #12
  %8271 = load i32, ptr %8270, align 4, !tbaa !5
  %8272 = call ptr @strerror(i32 noundef %8271) #11
  %8273 = call ptr @__errno_location() #12
  %8274 = load i32, ptr %8273, align 4, !tbaa !5
  %8275 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8262, ptr noundef @.str.5, i32 noundef %8263, ptr noundef @.str.74, ptr noundef @.str.1, i32 noundef 304, ptr noundef %8266, ptr noundef %8269, ptr noundef %8272, i32 noundef %8274) #11
  br label %8276

8276:                                             ; preds = %8259, %8242
  call void @llvm.lifetime.end.p0(i64 4, ptr %183) #11
  br label %8277

8277:                                             ; preds = %8276
  br label %8278

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

8279:                                             ; No predecessors!
  br label %8280

8280:                                             ; preds = %8279
  br label %8281

8281:                                             ; preds = %8280, %8221
  br label %8282

8282:                                             ; preds = %8281
  br label %8283

8283:                                             ; preds = %8282
  br label %8284

8284:                                             ; preds = %8283
  %8285 = load i32, ptr @test_count, align 4, !tbaa !5
  %8286 = add nsw i32 %8285, 1
  store i32 %8286, ptr @test_count, align 4, !tbaa !5
  %8287 = load ptr, ptr %172, align 8, !tbaa !9
  %8288 = load ptr, ptr %175, align 8, !tbaa !9
  %8289 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef %8287, ptr noundef %8288)
  %8290 = icmp eq i32 %8289, -1
  br i1 %8290, label %8291, label %8344

8291:                                             ; preds = %8284
  br label %8292

8292:                                             ; preds = %8291
  br label %8293

8293:                                             ; preds = %8292
  call void @llvm.lifetime.start.p0(i64 4, ptr %184) #11
  %8294 = call ptr @__errno_location() #12
  %8295 = load i32, ptr %8294, align 4, !tbaa !5
  store i32 %8295, ptr %184, align 4, !tbaa !5
  %8296 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8297 = call i32 @s2n_print_stacktrace(ptr noundef %8296)
  %8298 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8299 = trunc i8 %8298 to i1
  br i1 %8299, label %8300, label %8322

8300:                                             ; preds = %8293
  %8301 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8302 = call i32 @fileno(ptr noundef %8301) #11
  %8303 = call i32 @isatty(i32 noundef %8302) #11
  %8304 = icmp ne i32 %8303, 0
  br i1 %8304, label %8305, label %8322

8305:                                             ; preds = %8300
  %8306 = load i32, ptr %184, 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.4)
  %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.4)
  %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.2, i32 noundef %8309, ptr noundef @.str.32, ptr noundef @.str.1, i32 noundef 305, ptr noundef %8312, ptr noundef %8315, ptr noundef %8318, i32 noundef %8320) #11
  br label %8339

8322:                                             ; preds = %8300, %8293
  %8323 = load i32, ptr %184, align 4, !tbaa !5
  %8324 = call ptr @__errno_location() #12
  store i32 %8323, ptr %8324, align 4, !tbaa !5
  %8325 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8326 = load i32, ptr @test_count, align 4, !tbaa !5
  %8327 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8328 = load i32, ptr %8327, align 4, !tbaa !5
  %8329 = call ptr @s2n_strerror(i32 noundef %8328, ptr noundef @.str.4)
  %8330 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8331 = load i32, ptr %8330, align 4, !tbaa !5
  %8332 = call ptr @s2n_strerror_debug(i32 noundef %8331, ptr noundef @.str.4)
  %8333 = call ptr @__errno_location() #12
  %8334 = load i32, ptr %8333, align 4, !tbaa !5
  %8335 = call ptr @strerror(i32 noundef %8334) #11
  %8336 = call ptr @__errno_location() #12
  %8337 = load i32, ptr %8336, align 4, !tbaa !5
  %8338 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8325, ptr noundef @.str.5, i32 noundef %8326, ptr noundef @.str.32, ptr noundef @.str.1, i32 noundef 305, ptr noundef %8329, ptr noundef %8332, ptr noundef %8335, i32 noundef %8337) #11
  br label %8339

8339:                                             ; preds = %8322, %8305
  call void @llvm.lifetime.end.p0(i64 4, ptr %184) #11
  br label %8340

8340:                                             ; preds = %8339
  br label %8341

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

8342:                                             ; No predecessors!
  br label %8343

8343:                                             ; preds = %8342
  br label %8344

8344:                                             ; preds = %8343, %8284
  br label %8345

8345:                                             ; preds = %8344
  br label %8346

8346:                                             ; preds = %8345
  br label %8347

8347:                                             ; preds = %8346
  %8348 = load i32, ptr @test_count, align 4, !tbaa !5
  %8349 = add nsw i32 %8348, 1
  store i32 %8349, ptr @test_count, align 4, !tbaa !5
  %8350 = load ptr, ptr %175, align 8, !tbaa !9
  %8351 = call i32 @s2n_renegotiate_wipe(ptr noundef %8350)
  %8352 = icmp eq i32 %8351, -1
  br i1 %8352, label %8353, label %8406

8353:                                             ; preds = %8347
  br label %8354

8354:                                             ; preds = %8353
  br label %8355

8355:                                             ; preds = %8354
  call void @llvm.lifetime.start.p0(i64 4, ptr %185) #11
  %8356 = call ptr @__errno_location() #12
  %8357 = load i32, ptr %8356, align 4, !tbaa !5
  store i32 %8357, ptr %185, align 4, !tbaa !5
  %8358 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8359 = call i32 @s2n_print_stacktrace(ptr noundef %8358)
  %8360 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8361 = trunc i8 %8360 to i1
  br i1 %8361, label %8362, label %8384

8362:                                             ; preds = %8355
  %8363 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8364 = call i32 @fileno(ptr noundef %8363) #11
  %8365 = call i32 @isatty(i32 noundef %8364) #11
  %8366 = icmp ne i32 %8365, 0
  br i1 %8366, label %8367, label %8384

8367:                                             ; preds = %8362
  %8368 = load i32, ptr %185, 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.4)
  %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.4)
  %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.2, i32 noundef %8371, ptr noundef @.str.33, ptr noundef @.str.1, i32 noundef 307, ptr noundef %8374, ptr noundef %8377, ptr noundef %8380, i32 noundef %8382) #11
  br label %8401

8384:                                             ; preds = %8362, %8355
  %8385 = load i32, ptr %185, align 4, !tbaa !5
  %8386 = call ptr @__errno_location() #12
  store i32 %8385, ptr %8386, align 4, !tbaa !5
  %8387 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8388 = load i32, ptr @test_count, align 4, !tbaa !5
  %8389 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8390 = load i32, ptr %8389, align 4, !tbaa !5
  %8391 = call ptr @s2n_strerror(i32 noundef %8390, ptr noundef @.str.4)
  %8392 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8393 = load i32, ptr %8392, align 4, !tbaa !5
  %8394 = call ptr @s2n_strerror_debug(i32 noundef %8393, ptr noundef @.str.4)
  %8395 = call ptr @__errno_location() #12
  %8396 = load i32, ptr %8395, align 4, !tbaa !5
  %8397 = call ptr @strerror(i32 noundef %8396) #11
  %8398 = call ptr @__errno_location() #12
  %8399 = load i32, ptr %8398, align 4, !tbaa !5
  %8400 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8387, ptr noundef @.str.5, i32 noundef %8388, ptr noundef @.str.33, ptr noundef @.str.1, i32 noundef 307, ptr noundef %8391, ptr noundef %8394, ptr noundef %8397, i32 noundef %8399) #11
  br label %8401

8401:                                             ; preds = %8384, %8367
  call void @llvm.lifetime.end.p0(i64 4, ptr %185) #11
  br label %8402

8402:                                             ; preds = %8401
  br label %8403

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

8404:                                             ; No predecessors!
  br label %8405

8405:                                             ; preds = %8404
  br label %8406

8406:                                             ; preds = %8405, %8347
  br label %8407

8407:                                             ; preds = %8406
  br label %8408

8408:                                             ; preds = %8407
  br label %8409

8409:                                             ; preds = %8408
  %8410 = load i32, ptr @test_count, align 4, !tbaa !5
  %8411 = add nsw i32 %8410, 1
  store i32 %8411, ptr @test_count, align 4, !tbaa !5
  %8412 = load ptr, ptr %172, align 8, !tbaa !9
  %8413 = call i32 @s2n_renegotiate_wipe(ptr noundef %8412)
  %8414 = icmp eq i32 %8413, -1
  br i1 %8414, label %8415, label %8468

8415:                                             ; preds = %8409
  br label %8416

8416:                                             ; preds = %8415
  br label %8417

8417:                                             ; preds = %8416
  call void @llvm.lifetime.start.p0(i64 4, ptr %186) #11
  %8418 = call ptr @__errno_location() #12
  %8419 = load i32, ptr %8418, align 4, !tbaa !5
  store i32 %8419, ptr %186, align 4, !tbaa !5
  %8420 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8421 = call i32 @s2n_print_stacktrace(ptr noundef %8420)
  %8422 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8423 = trunc i8 %8422 to i1
  br i1 %8423, label %8424, label %8446

8424:                                             ; preds = %8417
  %8425 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8426 = call i32 @fileno(ptr noundef %8425) #11
  %8427 = call i32 @isatty(i32 noundef %8426) #11
  %8428 = icmp ne i32 %8427, 0
  br i1 %8428, label %8429, label %8446

8429:                                             ; preds = %8424
  %8430 = load i32, ptr %186, 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.4)
  %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.4)
  %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.2, i32 noundef %8433, ptr noundef @.str.50, ptr noundef @.str.1, i32 noundef 308, ptr noundef %8436, ptr noundef %8439, ptr noundef %8442, i32 noundef %8444) #11
  br label %8463

8446:                                             ; preds = %8424, %8417
  %8447 = load i32, ptr %186, align 4, !tbaa !5
  %8448 = call ptr @__errno_location() #12
  store i32 %8447, ptr %8448, align 4, !tbaa !5
  %8449 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8450 = load i32, ptr @test_count, align 4, !tbaa !5
  %8451 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8452 = load i32, ptr %8451, align 4, !tbaa !5
  %8453 = call ptr @s2n_strerror(i32 noundef %8452, ptr noundef @.str.4)
  %8454 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8455 = load i32, ptr %8454, align 4, !tbaa !5
  %8456 = call ptr @s2n_strerror_debug(i32 noundef %8455, ptr noundef @.str.4)
  %8457 = call ptr @__errno_location() #12
  %8458 = load i32, ptr %8457, align 4, !tbaa !5
  %8459 = call ptr @strerror(i32 noundef %8458) #11
  %8460 = call ptr @__errno_location() #12
  %8461 = load i32, ptr %8460, align 4, !tbaa !5
  %8462 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8449, ptr noundef @.str.5, i32 noundef %8450, ptr noundef @.str.50, ptr noundef @.str.1, i32 noundef 308, ptr noundef %8453, ptr noundef %8456, ptr noundef %8459, i32 noundef %8461) #11
  br label %8463

8463:                                             ; preds = %8446, %8429
  call void @llvm.lifetime.end.p0(i64 4, ptr %186) #11
  br label %8464

8464:                                             ; preds = %8463
  br label %8465

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

8466:                                             ; No predecessors!
  br label %8467

8467:                                             ; preds = %8466
  br label %8468

8468:                                             ; preds = %8467, %8409
  br label %8469

8469:                                             ; preds = %8468
  br label %8470

8470:                                             ; preds = %8469
  br label %8471

8471:                                             ; preds = %8470
  %8472 = load i32, ptr @test_count, align 4, !tbaa !5
  %8473 = add nsw i32 %8472, 1
  store i32 %8473, ptr @test_count, align 4, !tbaa !5
  %8474 = load ptr, ptr %172, align 8, !tbaa !9
  %8475 = load ptr, ptr %158, align 8, !tbaa !9
  %8476 = call i32 @s2n_connection_set_config(ptr noundef %8474, ptr noundef %8475)
  %8477 = icmp eq i32 %8476, -1
  br i1 %8477, label %8478, label %8531

8478:                                             ; preds = %8471
  br label %8479

8479:                                             ; preds = %8478
  br label %8480

8480:                                             ; preds = %8479
  call void @llvm.lifetime.start.p0(i64 4, ptr %187) #11
  %8481 = call ptr @__errno_location() #12
  %8482 = load i32, ptr %8481, align 4, !tbaa !5
  store i32 %8482, ptr %187, align 4, !tbaa !5
  %8483 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8484 = call i32 @s2n_print_stacktrace(ptr noundef %8483)
  %8485 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8486 = trunc i8 %8485 to i1
  br i1 %8486, label %8487, label %8509

8487:                                             ; preds = %8480
  %8488 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8489 = call i32 @fileno(ptr noundef %8488) #11
  %8490 = call i32 @isatty(i32 noundef %8489) #11
  %8491 = icmp ne i32 %8490, 0
  br i1 %8491, label %8492, label %8509

8492:                                             ; preds = %8487
  %8493 = load i32, ptr %187, 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.4)
  %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.4)
  %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.2, i32 noundef %8496, ptr noundef @.str.75, ptr noundef @.str.1, i32 noundef 310, ptr noundef %8499, ptr noundef %8502, ptr noundef %8505, i32 noundef %8507) #11
  br label %8526

8509:                                             ; preds = %8487, %8480
  %8510 = load i32, ptr %187, align 4, !tbaa !5
  %8511 = call ptr @__errno_location() #12
  store i32 %8510, ptr %8511, align 4, !tbaa !5
  %8512 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8513 = load i32, ptr @test_count, align 4, !tbaa !5
  %8514 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8515 = load i32, ptr %8514, align 4, !tbaa !5
  %8516 = call ptr @s2n_strerror(i32 noundef %8515, ptr noundef @.str.4)
  %8517 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8518 = load i32, ptr %8517, align 4, !tbaa !5
  %8519 = call ptr @s2n_strerror_debug(i32 noundef %8518, ptr noundef @.str.4)
  %8520 = call ptr @__errno_location() #12
  %8521 = load i32, ptr %8520, align 4, !tbaa !5
  %8522 = call ptr @strerror(i32 noundef %8521) #11
  %8523 = call ptr @__errno_location() #12
  %8524 = load i32, ptr %8523, align 4, !tbaa !5
  %8525 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8512, ptr noundef @.str.5, i32 noundef %8513, ptr noundef @.str.75, ptr noundef @.str.1, i32 noundef 310, ptr noundef %8516, ptr noundef %8519, ptr noundef %8522, i32 noundef %8524) #11
  br label %8526

8526:                                             ; preds = %8509, %8492
  call void @llvm.lifetime.end.p0(i64 4, ptr %187) #11
  br label %8527

8527:                                             ; preds = %8526
  br label %8528

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

8529:                                             ; No predecessors!
  br label %8530

8530:                                             ; preds = %8529
  br label %8531

8531:                                             ; preds = %8530, %8471
  br label %8532

8532:                                             ; preds = %8531
  br label %8533

8533:                                             ; preds = %8532
  br label %8534

8534:                                             ; preds = %8533
  %8535 = load i32, ptr @test_count, align 4, !tbaa !5
  %8536 = add nsw i32 %8535, 1
  store i32 %8536, ptr @test_count, align 4, !tbaa !5
  %8537 = load ptr, ptr %175, align 8, !tbaa !9
  %8538 = load ptr, ptr %158, align 8, !tbaa !9
  %8539 = call i32 @s2n_connection_set_config(ptr noundef %8537, ptr noundef %8538)
  %8540 = icmp eq i32 %8539, -1
  br i1 %8540, label %8541, label %8594

8541:                                             ; preds = %8534
  br label %8542

8542:                                             ; preds = %8541
  br label %8543

8543:                                             ; preds = %8542
  call void @llvm.lifetime.start.p0(i64 4, ptr %188) #11
  %8544 = call ptr @__errno_location() #12
  %8545 = load i32, ptr %8544, align 4, !tbaa !5
  store i32 %8545, ptr %188, align 4, !tbaa !5
  %8546 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8547 = call i32 @s2n_print_stacktrace(ptr noundef %8546)
  %8548 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8549 = trunc i8 %8548 to i1
  br i1 %8549, label %8550, label %8572

8550:                                             ; preds = %8543
  %8551 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8552 = call i32 @fileno(ptr noundef %8551) #11
  %8553 = call i32 @isatty(i32 noundef %8552) #11
  %8554 = icmp ne i32 %8553, 0
  br i1 %8554, label %8555, label %8572

8555:                                             ; preds = %8550
  %8556 = load i32, ptr %188, align 4, !tbaa !5
  %8557 = call ptr @__errno_location() #12
  store i32 %8556, ptr %8557, align 4, !tbaa !5
  %8558 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8559 = load i32, ptr @test_count, align 4, !tbaa !5
  %8560 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8561 = load i32, ptr %8560, align 4, !tbaa !5
  %8562 = call ptr @s2n_strerror(i32 noundef %8561, ptr noundef @.str.4)
  %8563 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8564 = load i32, ptr %8563, align 4, !tbaa !5
  %8565 = call ptr @s2n_strerror_debug(i32 noundef %8564, ptr noundef @.str.4)
  %8566 = call ptr @__errno_location() #12
  %8567 = load i32, ptr %8566, align 4, !tbaa !5
  %8568 = call ptr @strerror(i32 noundef %8567) #11
  %8569 = call ptr @__errno_location() #12
  %8570 = load i32, ptr %8569, align 4, !tbaa !5
  %8571 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8558, ptr noundef @.str.2, i32 noundef %8559, ptr noundef @.str.76, ptr noundef @.str.1, i32 noundef 311, ptr noundef %8562, ptr noundef %8565, ptr noundef %8568, i32 noundef %8570) #11
  br label %8589

8572:                                             ; preds = %8550, %8543
  %8573 = load i32, ptr %188, align 4, !tbaa !5
  %8574 = call ptr @__errno_location() #12
  store i32 %8573, ptr %8574, align 4, !tbaa !5
  %8575 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8576 = load i32, ptr @test_count, align 4, !tbaa !5
  %8577 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8578 = load i32, ptr %8577, align 4, !tbaa !5
  %8579 = call ptr @s2n_strerror(i32 noundef %8578, ptr noundef @.str.4)
  %8580 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8581 = load i32, ptr %8580, align 4, !tbaa !5
  %8582 = call ptr @s2n_strerror_debug(i32 noundef %8581, ptr noundef @.str.4)
  %8583 = call ptr @__errno_location() #12
  %8584 = load i32, ptr %8583, align 4, !tbaa !5
  %8585 = call ptr @strerror(i32 noundef %8584) #11
  %8586 = call ptr @__errno_location() #12
  %8587 = load i32, ptr %8586, align 4, !tbaa !5
  %8588 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8575, ptr noundef @.str.5, i32 noundef %8576, ptr noundef @.str.76, ptr noundef @.str.1, i32 noundef 311, ptr noundef %8579, ptr noundef %8582, ptr noundef %8585, i32 noundef %8587) #11
  br label %8589

8589:                                             ; preds = %8572, %8555
  call void @llvm.lifetime.end.p0(i64 4, ptr %188) #11
  br label %8590

8590:                                             ; preds = %8589
  br label %8591

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

8592:                                             ; No predecessors!
  br label %8593

8593:                                             ; preds = %8592
  br label %8594

8594:                                             ; preds = %8593, %8534
  br label %8595

8595:                                             ; preds = %8594
  br label %8596

8596:                                             ; preds = %8595
  br label %8597

8597:                                             ; preds = %8596
  %8598 = load i32, ptr @test_count, align 4, !tbaa !5
  %8599 = add nsw i32 %8598, 1
  store i32 %8599, ptr @test_count, align 4, !tbaa !5
  %8600 = load ptr, ptr %172, align 8, !tbaa !9
  %8601 = load ptr, ptr %175, align 8, !tbaa !9
  %8602 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef %8600, ptr noundef %8601)
  %8603 = icmp eq i32 %8602, -1
  br i1 %8603, label %8604, label %8657

8604:                                             ; preds = %8597
  br label %8605

8605:                                             ; preds = %8604
  br label %8606

8606:                                             ; preds = %8605
  call void @llvm.lifetime.start.p0(i64 4, ptr %189) #11
  %8607 = call ptr @__errno_location() #12
  %8608 = load i32, ptr %8607, align 4, !tbaa !5
  store i32 %8608, ptr %189, align 4, !tbaa !5
  %8609 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8610 = call i32 @s2n_print_stacktrace(ptr noundef %8609)
  %8611 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8612 = trunc i8 %8611 to i1
  br i1 %8612, label %8613, label %8635

8613:                                             ; preds = %8606
  %8614 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8615 = call i32 @fileno(ptr noundef %8614) #11
  %8616 = call i32 @isatty(i32 noundef %8615) #11
  %8617 = icmp ne i32 %8616, 0
  br i1 %8617, label %8618, label %8635

8618:                                             ; preds = %8613
  %8619 = load i32, ptr %189, align 4, !tbaa !5
  %8620 = call ptr @__errno_location() #12
  store i32 %8619, ptr %8620, align 4, !tbaa !5
  %8621 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8622 = load i32, ptr @test_count, align 4, !tbaa !5
  %8623 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8624 = load i32, ptr %8623, align 4, !tbaa !5
  %8625 = call ptr @s2n_strerror(i32 noundef %8624, ptr noundef @.str.4)
  %8626 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8627 = load i32, ptr %8626, align 4, !tbaa !5
  %8628 = call ptr @s2n_strerror_debug(i32 noundef %8627, ptr noundef @.str.4)
  %8629 = call ptr @__errno_location() #12
  %8630 = load i32, ptr %8629, align 4, !tbaa !5
  %8631 = call ptr @strerror(i32 noundef %8630) #11
  %8632 = call ptr @__errno_location() #12
  %8633 = load i32, ptr %8632, align 4, !tbaa !5
  %8634 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8621, ptr noundef @.str.2, i32 noundef %8622, ptr noundef @.str.32, ptr noundef @.str.1, i32 noundef 312, ptr noundef %8625, ptr noundef %8628, ptr noundef %8631, i32 noundef %8633) #11
  br label %8652

8635:                                             ; preds = %8613, %8606
  %8636 = load i32, ptr %189, align 4, !tbaa !5
  %8637 = call ptr @__errno_location() #12
  store i32 %8636, ptr %8637, align 4, !tbaa !5
  %8638 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8639 = load i32, ptr @test_count, align 4, !tbaa !5
  %8640 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8641 = load i32, ptr %8640, align 4, !tbaa !5
  %8642 = call ptr @s2n_strerror(i32 noundef %8641, ptr noundef @.str.4)
  %8643 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8644 = load i32, ptr %8643, align 4, !tbaa !5
  %8645 = call ptr @s2n_strerror_debug(i32 noundef %8644, ptr noundef @.str.4)
  %8646 = call ptr @__errno_location() #12
  %8647 = load i32, ptr %8646, align 4, !tbaa !5
  %8648 = call ptr @strerror(i32 noundef %8647) #11
  %8649 = call ptr @__errno_location() #12
  %8650 = load i32, ptr %8649, align 4, !tbaa !5
  %8651 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8638, ptr noundef @.str.5, i32 noundef %8639, ptr noundef @.str.32, ptr noundef @.str.1, i32 noundef 312, ptr noundef %8642, ptr noundef %8645, ptr noundef %8648, i32 noundef %8650) #11
  br label %8652

8652:                                             ; preds = %8635, %8618
  call void @llvm.lifetime.end.p0(i64 4, ptr %189) #11
  br label %8653

8653:                                             ; preds = %8652
  br label %8654

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

8655:                                             ; No predecessors!
  br label %8656

8656:                                             ; preds = %8655
  br label %8657

8657:                                             ; preds = %8656, %8597
  br label %8658

8658:                                             ; preds = %8657
  br label %8659

8659:                                             ; preds = %8658
  br label %8660

8660:                                             ; preds = %8659
  %8661 = load i32, ptr @test_count, align 4, !tbaa !5
  %8662 = add nsw i32 %8661, 1
  store i32 %8662, ptr @test_count, align 4, !tbaa !5
  %8663 = load ptr, ptr %175, align 8, !tbaa !9
  %8664 = call i32 @s2n_renegotiate_wipe(ptr noundef %8663)
  %8665 = icmp eq i32 %8664, -1
  br i1 %8665, label %8666, label %8719

8666:                                             ; preds = %8660
  br label %8667

8667:                                             ; preds = %8666
  br label %8668

8668:                                             ; preds = %8667
  call void @llvm.lifetime.start.p0(i64 4, ptr %190) #11
  %8669 = call ptr @__errno_location() #12
  %8670 = load i32, ptr %8669, align 4, !tbaa !5
  store i32 %8670, ptr %190, align 4, !tbaa !5
  %8671 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8672 = call i32 @s2n_print_stacktrace(ptr noundef %8671)
  %8673 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8674 = trunc i8 %8673 to i1
  br i1 %8674, label %8675, label %8697

8675:                                             ; preds = %8668
  %8676 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8677 = call i32 @fileno(ptr noundef %8676) #11
  %8678 = call i32 @isatty(i32 noundef %8677) #11
  %8679 = icmp ne i32 %8678, 0
  br i1 %8679, label %8680, label %8697

8680:                                             ; preds = %8675
  %8681 = load i32, ptr %190, align 4, !tbaa !5
  %8682 = call ptr @__errno_location() #12
  store i32 %8681, ptr %8682, align 4, !tbaa !5
  %8683 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8684 = load i32, ptr @test_count, align 4, !tbaa !5
  %8685 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8686 = load i32, ptr %8685, align 4, !tbaa !5
  %8687 = call ptr @s2n_strerror(i32 noundef %8686, ptr noundef @.str.4)
  %8688 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8689 = load i32, ptr %8688, align 4, !tbaa !5
  %8690 = call ptr @s2n_strerror_debug(i32 noundef %8689, ptr noundef @.str.4)
  %8691 = call ptr @__errno_location() #12
  %8692 = load i32, ptr %8691, align 4, !tbaa !5
  %8693 = call ptr @strerror(i32 noundef %8692) #11
  %8694 = call ptr @__errno_location() #12
  %8695 = load i32, ptr %8694, align 4, !tbaa !5
  %8696 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8683, ptr noundef @.str.2, i32 noundef %8684, ptr noundef @.str.33, ptr noundef @.str.1, i32 noundef 314, ptr noundef %8687, ptr noundef %8690, ptr noundef %8693, i32 noundef %8695) #11
  br label %8714

8697:                                             ; preds = %8675, %8668
  %8698 = load i32, ptr %190, align 4, !tbaa !5
  %8699 = call ptr @__errno_location() #12
  store i32 %8698, ptr %8699, align 4, !tbaa !5
  %8700 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8701 = load i32, ptr @test_count, align 4, !tbaa !5
  %8702 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8703 = load i32, ptr %8702, align 4, !tbaa !5
  %8704 = call ptr @s2n_strerror(i32 noundef %8703, ptr noundef @.str.4)
  %8705 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8706 = load i32, ptr %8705, align 4, !tbaa !5
  %8707 = call ptr @s2n_strerror_debug(i32 noundef %8706, ptr noundef @.str.4)
  %8708 = call ptr @__errno_location() #12
  %8709 = load i32, ptr %8708, align 4, !tbaa !5
  %8710 = call ptr @strerror(i32 noundef %8709) #11
  %8711 = call ptr @__errno_location() #12
  %8712 = load i32, ptr %8711, align 4, !tbaa !5
  %8713 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8700, ptr noundef @.str.5, i32 noundef %8701, ptr noundef @.str.33, ptr noundef @.str.1, i32 noundef 314, ptr noundef %8704, ptr noundef %8707, ptr noundef %8710, i32 noundef %8712) #11
  br label %8714

8714:                                             ; preds = %8697, %8680
  call void @llvm.lifetime.end.p0(i64 4, ptr %190) #11
  br label %8715

8715:                                             ; preds = %8714
  br label %8716

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

8717:                                             ; No predecessors!
  br label %8718

8718:                                             ; preds = %8717
  br label %8719

8719:                                             ; preds = %8718, %8660
  br label %8720

8720:                                             ; preds = %8719
  br label %8721

8721:                                             ; preds = %8720
  br label %8722

8722:                                             ; preds = %8721
  %8723 = load i32, ptr @test_count, align 4, !tbaa !5
  %8724 = add nsw i32 %8723, 1
  store i32 %8724, ptr @test_count, align 4, !tbaa !5
  %8725 = load ptr, ptr %172, align 8, !tbaa !9
  %8726 = call i32 @s2n_renegotiate_wipe(ptr noundef %8725)
  %8727 = icmp eq i32 %8726, -1
  br i1 %8727, label %8728, label %8781

8728:                                             ; preds = %8722
  br label %8729

8729:                                             ; preds = %8728
  br label %8730

8730:                                             ; preds = %8729
  call void @llvm.lifetime.start.p0(i64 4, ptr %191) #11
  %8731 = call ptr @__errno_location() #12
  %8732 = load i32, ptr %8731, align 4, !tbaa !5
  store i32 %8732, ptr %191, align 4, !tbaa !5
  %8733 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8734 = call i32 @s2n_print_stacktrace(ptr noundef %8733)
  %8735 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8736 = trunc i8 %8735 to i1
  br i1 %8736, label %8737, label %8759

8737:                                             ; preds = %8730
  %8738 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8739 = call i32 @fileno(ptr noundef %8738) #11
  %8740 = call i32 @isatty(i32 noundef %8739) #11
  %8741 = icmp ne i32 %8740, 0
  br i1 %8741, label %8742, label %8759

8742:                                             ; preds = %8737
  %8743 = load i32, ptr %191, align 4, !tbaa !5
  %8744 = call ptr @__errno_location() #12
  store i32 %8743, ptr %8744, align 4, !tbaa !5
  %8745 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8746 = load i32, ptr @test_count, align 4, !tbaa !5
  %8747 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8748 = load i32, ptr %8747, align 4, !tbaa !5
  %8749 = call ptr @s2n_strerror(i32 noundef %8748, ptr noundef @.str.4)
  %8750 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8751 = load i32, ptr %8750, align 4, !tbaa !5
  %8752 = call ptr @s2n_strerror_debug(i32 noundef %8751, ptr noundef @.str.4)
  %8753 = call ptr @__errno_location() #12
  %8754 = load i32, ptr %8753, align 4, !tbaa !5
  %8755 = call ptr @strerror(i32 noundef %8754) #11
  %8756 = call ptr @__errno_location() #12
  %8757 = load i32, ptr %8756, align 4, !tbaa !5
  %8758 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8745, ptr noundef @.str.2, i32 noundef %8746, ptr noundef @.str.50, ptr noundef @.str.1, i32 noundef 315, ptr noundef %8749, ptr noundef %8752, ptr noundef %8755, i32 noundef %8757) #11
  br label %8776

8759:                                             ; preds = %8737, %8730
  %8760 = load i32, ptr %191, align 4, !tbaa !5
  %8761 = call ptr @__errno_location() #12
  store i32 %8760, ptr %8761, align 4, !tbaa !5
  %8762 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8763 = load i32, ptr @test_count, align 4, !tbaa !5
  %8764 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8765 = load i32, ptr %8764, align 4, !tbaa !5
  %8766 = call ptr @s2n_strerror(i32 noundef %8765, ptr noundef @.str.4)
  %8767 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8768 = load i32, ptr %8767, align 4, !tbaa !5
  %8769 = call ptr @s2n_strerror_debug(i32 noundef %8768, ptr noundef @.str.4)
  %8770 = call ptr @__errno_location() #12
  %8771 = load i32, ptr %8770, align 4, !tbaa !5
  %8772 = call ptr @strerror(i32 noundef %8771) #11
  %8773 = call ptr @__errno_location() #12
  %8774 = load i32, ptr %8773, align 4, !tbaa !5
  %8775 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8762, ptr noundef @.str.5, i32 noundef %8763, ptr noundef @.str.50, ptr noundef @.str.1, i32 noundef 315, ptr noundef %8766, ptr noundef %8769, ptr noundef %8772, i32 noundef %8774) #11
  br label %8776

8776:                                             ; preds = %8759, %8742
  call void @llvm.lifetime.end.p0(i64 4, ptr %191) #11
  br label %8777

8777:                                             ; preds = %8776
  br label %8778

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

8779:                                             ; No predecessors!
  br label %8780

8780:                                             ; preds = %8779
  br label %8781

8781:                                             ; preds = %8780, %8722
  br label %8782

8782:                                             ; preds = %8781
  br label %8783

8783:                                             ; preds = %8782
  br label %8784

8784:                                             ; preds = %8783
  %8785 = load i32, ptr @test_count, align 4, !tbaa !5
  %8786 = add nsw i32 %8785, 1
  store i32 %8786, ptr @test_count, align 4, !tbaa !5
  %8787 = load ptr, ptr %172, align 8, !tbaa !9
  %8788 = load ptr, ptr %165, align 8, !tbaa !9
  %8789 = call i32 @s2n_connection_set_config(ptr noundef %8787, ptr noundef %8788)
  %8790 = icmp eq i32 %8789, -1
  br i1 %8790, label %8791, label %8844

8791:                                             ; preds = %8784
  br label %8792

8792:                                             ; preds = %8791
  br label %8793

8793:                                             ; preds = %8792
  call void @llvm.lifetime.start.p0(i64 4, ptr %192) #11
  %8794 = call ptr @__errno_location() #12
  %8795 = load i32, ptr %8794, align 4, !tbaa !5
  store i32 %8795, ptr %192, align 4, !tbaa !5
  %8796 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8797 = call i32 @s2n_print_stacktrace(ptr noundef %8796)
  %8798 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8799 = trunc i8 %8798 to i1
  br i1 %8799, label %8800, label %8822

8800:                                             ; preds = %8793
  %8801 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8802 = call i32 @fileno(ptr noundef %8801) #11
  %8803 = call i32 @isatty(i32 noundef %8802) #11
  %8804 = icmp ne i32 %8803, 0
  br i1 %8804, label %8805, label %8822

8805:                                             ; preds = %8800
  %8806 = load i32, ptr %192, align 4, !tbaa !5
  %8807 = call ptr @__errno_location() #12
  store i32 %8806, ptr %8807, align 4, !tbaa !5
  %8808 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8809 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %8811, ptr noundef @.str.4)
  %8813 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8814 = load i32, ptr %8813, align 4, !tbaa !5
  %8815 = call ptr @s2n_strerror_debug(i32 noundef %8814, ptr noundef @.str.4)
  %8816 = call ptr @__errno_location() #12
  %8817 = load i32, ptr %8816, align 4, !tbaa !5
  %8818 = call ptr @strerror(i32 noundef %8817) #11
  %8819 = call ptr @__errno_location() #12
  %8820 = load i32, ptr %8819, align 4, !tbaa !5
  %8821 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8808, ptr noundef @.str.2, i32 noundef %8809, ptr noundef @.str.73, ptr noundef @.str.1, i32 noundef 317, ptr noundef %8812, ptr noundef %8815, ptr noundef %8818, i32 noundef %8820) #11
  br label %8839

8822:                                             ; preds = %8800, %8793
  %8823 = load i32, ptr %192, align 4, !tbaa !5
  %8824 = call ptr @__errno_location() #12
  store i32 %8823, ptr %8824, align 4, !tbaa !5
  %8825 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8826 = load i32, ptr @test_count, align 4, !tbaa !5
  %8827 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8828 = load i32, ptr %8827, align 4, !tbaa !5
  %8829 = call ptr @s2n_strerror(i32 noundef %8828, ptr noundef @.str.4)
  %8830 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8831 = load i32, ptr %8830, align 4, !tbaa !5
  %8832 = call ptr @s2n_strerror_debug(i32 noundef %8831, ptr noundef @.str.4)
  %8833 = call ptr @__errno_location() #12
  %8834 = load i32, ptr %8833, align 4, !tbaa !5
  %8835 = call ptr @strerror(i32 noundef %8834) #11
  %8836 = call ptr @__errno_location() #12
  %8837 = load i32, ptr %8836, align 4, !tbaa !5
  %8838 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8825, ptr noundef @.str.5, i32 noundef %8826, ptr noundef @.str.73, ptr noundef @.str.1, i32 noundef 317, ptr noundef %8829, ptr noundef %8832, ptr noundef %8835, i32 noundef %8837) #11
  br label %8839

8839:                                             ; preds = %8822, %8805
  call void @llvm.lifetime.end.p0(i64 4, ptr %192) #11
  br label %8840

8840:                                             ; preds = %8839
  br label %8841

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

8842:                                             ; No predecessors!
  br label %8843

8843:                                             ; preds = %8842
  br label %8844

8844:                                             ; preds = %8843, %8784
  br label %8845

8845:                                             ; preds = %8844
  br label %8846

8846:                                             ; preds = %8845
  br label %8847

8847:                                             ; preds = %8846
  %8848 = load i32, ptr @test_count, align 4, !tbaa !5
  %8849 = add nsw i32 %8848, 1
  store i32 %8849, ptr @test_count, align 4, !tbaa !5
  %8850 = load ptr, ptr %175, align 8, !tbaa !9
  %8851 = load ptr, ptr %165, align 8, !tbaa !9
  %8852 = call i32 @s2n_connection_set_config(ptr noundef %8850, ptr noundef %8851)
  %8853 = icmp eq i32 %8852, -1
  br i1 %8853, label %8854, label %8907

8854:                                             ; preds = %8847
  br label %8855

8855:                                             ; preds = %8854
  br label %8856

8856:                                             ; preds = %8855
  call void @llvm.lifetime.start.p0(i64 4, ptr %193) #11
  %8857 = call ptr @__errno_location() #12
  %8858 = load i32, ptr %8857, align 4, !tbaa !5
  store i32 %8858, ptr %193, align 4, !tbaa !5
  %8859 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8860 = call i32 @s2n_print_stacktrace(ptr noundef %8859)
  %8861 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8862 = trunc i8 %8861 to i1
  br i1 %8862, label %8863, label %8885

8863:                                             ; preds = %8856
  %8864 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8865 = call i32 @fileno(ptr noundef %8864) #11
  %8866 = call i32 @isatty(i32 noundef %8865) #11
  %8867 = icmp ne i32 %8866, 0
  br i1 %8867, label %8868, label %8885

8868:                                             ; preds = %8863
  %8869 = load i32, ptr %193, align 4, !tbaa !5
  %8870 = call ptr @__errno_location() #12
  store i32 %8869, ptr %8870, align 4, !tbaa !5
  %8871 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8872 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %8874, ptr noundef @.str.4)
  %8876 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8877 = load i32, ptr %8876, align 4, !tbaa !5
  %8878 = call ptr @s2n_strerror_debug(i32 noundef %8877, ptr noundef @.str.4)
  %8879 = call ptr @__errno_location() #12
  %8880 = load i32, ptr %8879, align 4, !tbaa !5
  %8881 = call ptr @strerror(i32 noundef %8880) #11
  %8882 = call ptr @__errno_location() #12
  %8883 = load i32, ptr %8882, align 4, !tbaa !5
  %8884 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8871, ptr noundef @.str.2, i32 noundef %8872, ptr noundef @.str.74, ptr noundef @.str.1, i32 noundef 318, ptr noundef %8875, ptr noundef %8878, ptr noundef %8881, i32 noundef %8883) #11
  br label %8902

8885:                                             ; preds = %8863, %8856
  %8886 = load i32, ptr %193, align 4, !tbaa !5
  %8887 = call ptr @__errno_location() #12
  store i32 %8886, ptr %8887, align 4, !tbaa !5
  %8888 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8889 = load i32, ptr @test_count, align 4, !tbaa !5
  %8890 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8891 = load i32, ptr %8890, align 4, !tbaa !5
  %8892 = call ptr @s2n_strerror(i32 noundef %8891, ptr noundef @.str.4)
  %8893 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8894 = load i32, ptr %8893, align 4, !tbaa !5
  %8895 = call ptr @s2n_strerror_debug(i32 noundef %8894, ptr noundef @.str.4)
  %8896 = call ptr @__errno_location() #12
  %8897 = load i32, ptr %8896, align 4, !tbaa !5
  %8898 = call ptr @strerror(i32 noundef %8897) #11
  %8899 = call ptr @__errno_location() #12
  %8900 = load i32, ptr %8899, align 4, !tbaa !5
  %8901 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8888, ptr noundef @.str.5, i32 noundef %8889, ptr noundef @.str.74, ptr noundef @.str.1, i32 noundef 318, ptr noundef %8892, ptr noundef %8895, ptr noundef %8898, i32 noundef %8900) #11
  br label %8902

8902:                                             ; preds = %8885, %8868
  call void @llvm.lifetime.end.p0(i64 4, ptr %193) #11
  br label %8903

8903:                                             ; preds = %8902
  br label %8904

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

8905:                                             ; No predecessors!
  br label %8906

8906:                                             ; preds = %8905
  br label %8907

8907:                                             ; preds = %8906, %8847
  br label %8908

8908:                                             ; preds = %8907
  br label %8909

8909:                                             ; preds = %8908
  br label %8910

8910:                                             ; preds = %8909
  %8911 = load i32, ptr @test_count, align 4, !tbaa !5
  %8912 = add nsw i32 %8911, 1
  store i32 %8912, ptr @test_count, align 4, !tbaa !5
  %8913 = load ptr, ptr %172, align 8, !tbaa !9
  %8914 = load ptr, ptr %175, align 8, !tbaa !9
  %8915 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef %8913, ptr noundef %8914)
  %8916 = icmp eq i32 %8915, -1
  br i1 %8916, label %8917, label %8970

8917:                                             ; preds = %8910
  br label %8918

8918:                                             ; preds = %8917
  br label %8919

8919:                                             ; preds = %8918
  call void @llvm.lifetime.start.p0(i64 4, ptr %194) #11
  %8920 = call ptr @__errno_location() #12
  %8921 = load i32, ptr %8920, align 4, !tbaa !5
  store i32 %8921, ptr %194, align 4, !tbaa !5
  %8922 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8923 = call i32 @s2n_print_stacktrace(ptr noundef %8922)
  %8924 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8925 = trunc i8 %8924 to i1
  br i1 %8925, label %8926, label %8948

8926:                                             ; preds = %8919
  %8927 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8928 = call i32 @fileno(ptr noundef %8927) #11
  %8929 = call i32 @isatty(i32 noundef %8928) #11
  %8930 = icmp ne i32 %8929, 0
  br i1 %8930, label %8931, label %8948

8931:                                             ; preds = %8926
  %8932 = load i32, ptr %194, align 4, !tbaa !5
  %8933 = call ptr @__errno_location() #12
  store i32 %8932, ptr %8933, align 4, !tbaa !5
  %8934 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8935 = load i32, ptr @test_count, align 4, !tbaa !5
  %8936 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8937 = load i32, ptr %8936, align 4, !tbaa !5
  %8938 = call ptr @s2n_strerror(i32 noundef %8937, ptr noundef @.str.4)
  %8939 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8940 = load i32, ptr %8939, align 4, !tbaa !5
  %8941 = call ptr @s2n_strerror_debug(i32 noundef %8940, ptr noundef @.str.4)
  %8942 = call ptr @__errno_location() #12
  %8943 = load i32, ptr %8942, align 4, !tbaa !5
  %8944 = call ptr @strerror(i32 noundef %8943) #11
  %8945 = call ptr @__errno_location() #12
  %8946 = load i32, ptr %8945, align 4, !tbaa !5
  %8947 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8934, ptr noundef @.str.2, i32 noundef %8935, ptr noundef @.str.32, ptr noundef @.str.1, i32 noundef 319, ptr noundef %8938, ptr noundef %8941, ptr noundef %8944, i32 noundef %8946) #11
  br label %8965

8948:                                             ; preds = %8926, %8919
  %8949 = load i32, ptr %194, align 4, !tbaa !5
  %8950 = call ptr @__errno_location() #12
  store i32 %8949, ptr %8950, align 4, !tbaa !5
  %8951 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8952 = load i32, ptr @test_count, align 4, !tbaa !5
  %8953 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8954 = load i32, ptr %8953, align 4, !tbaa !5
  %8955 = call ptr @s2n_strerror(i32 noundef %8954, ptr noundef @.str.4)
  %8956 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8957 = load i32, ptr %8956, align 4, !tbaa !5
  %8958 = call ptr @s2n_strerror_debug(i32 noundef %8957, ptr noundef @.str.4)
  %8959 = call ptr @__errno_location() #12
  %8960 = load i32, ptr %8959, align 4, !tbaa !5
  %8961 = call ptr @strerror(i32 noundef %8960) #11
  %8962 = call ptr @__errno_location() #12
  %8963 = load i32, ptr %8962, align 4, !tbaa !5
  %8964 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8951, ptr noundef @.str.5, i32 noundef %8952, ptr noundef @.str.32, ptr noundef @.str.1, i32 noundef 319, ptr noundef %8955, ptr noundef %8958, ptr noundef %8961, i32 noundef %8963) #11
  br label %8965

8965:                                             ; preds = %8948, %8931
  call void @llvm.lifetime.end.p0(i64 4, ptr %194) #11
  br label %8966

8966:                                             ; preds = %8965
  br label %8967

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

8968:                                             ; No predecessors!
  br label %8969

8969:                                             ; preds = %8968
  br label %8970

8970:                                             ; preds = %8969, %8910
  br label %8971

8971:                                             ; preds = %8970
  br label %8972

8972:                                             ; preds = %8971
  %8973 = call i32 @s2n_io_pair_close(ptr noundef %178)
  call void @llvm.lifetime.end.p0(i64 8, ptr %178) #11
  %8974 = call i32 @s2n_connection_ptr_free(ptr noundef %175)
  %8975 = getelementptr inbounds %struct.s2n_result, ptr %195, i32 0, i32 0
  store i32 %8974, ptr %8975, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %175) #11
  %8976 = call i32 @s2n_connection_ptr_free(ptr noundef %172)
  %8977 = getelementptr inbounds %struct.s2n_result, ptr %196, i32 0, i32 0
  store i32 %8976, ptr %8977, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %172) #11
  %8978 = call i32 @s2n_config_ptr_free(ptr noundef %165)
  %8979 = getelementptr inbounds %struct.s2n_result, ptr %197, i32 0, i32 0
  store i32 %8978, ptr %8979, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %165) #11
  %8980 = call i32 @s2n_config_ptr_free(ptr noundef %158)
  %8981 = getelementptr inbounds %struct.s2n_result, ptr %198, i32 0, i32 0
  store i32 %8980, ptr %8981, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %158) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %199) #11
  %8982 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %8982, ptr %199, align 8, !tbaa !9
  br label %8983

8983:                                             ; preds = %8972
  %8984 = load i32, ptr @test_count, align 4, !tbaa !5
  %8985 = add nsw i32 %8984, 1
  store i32 %8985, ptr @test_count, align 4, !tbaa !5
  %8986 = load ptr, ptr %199, align 8, !tbaa !9
  %8987 = icmp eq ptr %8986, null
  br i1 %8987, label %8988, label %9041

8988:                                             ; preds = %8983
  br label %8989

8989:                                             ; preds = %8988
  br label %8990

8990:                                             ; preds = %8989
  call void @llvm.lifetime.start.p0(i64 4, ptr %200) #11
  %8991 = call ptr @__errno_location() #12
  %8992 = load i32, ptr %8991, align 4, !tbaa !5
  store i32 %8992, ptr %200, align 4, !tbaa !5
  %8993 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8994 = call i32 @s2n_print_stacktrace(ptr noundef %8993)
  %8995 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8996 = trunc i8 %8995 to i1
  br i1 %8996, label %8997, label %9019

8997:                                             ; preds = %8990
  %8998 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8999 = call i32 @fileno(ptr noundef %8998) #11
  %9000 = call i32 @isatty(i32 noundef %8999) #11
  %9001 = icmp ne i32 %9000, 0
  br i1 %9001, label %9002, label %9019

9002:                                             ; preds = %8997
  %9003 = load i32, ptr %200, align 4, !tbaa !5
  %9004 = call ptr @__errno_location() #12
  store i32 %9003, ptr %9004, align 4, !tbaa !5
  %9005 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9006 = load i32, ptr @test_count, align 4, !tbaa !5
  %9007 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9008 = load i32, ptr %9007, align 4, !tbaa !5
  %9009 = call ptr @s2n_strerror(i32 noundef %9008, ptr noundef @.str.4)
  %9010 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9011 = load i32, ptr %9010, align 4, !tbaa !5
  %9012 = call ptr @s2n_strerror_debug(i32 noundef %9011, ptr noundef @.str.4)
  %9013 = call ptr @__errno_location() #12
  %9014 = load i32, ptr %9013, align 4, !tbaa !5
  %9015 = call ptr @strerror(i32 noundef %9014) #11
  %9016 = call ptr @__errno_location() #12
  %9017 = load i32, ptr %9016, align 4, !tbaa !5
  %9018 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9005, ptr noundef @.str.2, i32 noundef %9006, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 325, ptr noundef %9009, ptr noundef %9012, ptr noundef %9015, i32 noundef %9017) #11
  br label %9036

9019:                                             ; preds = %8997, %8990
  %9020 = load i32, ptr %200, align 4, !tbaa !5
  %9021 = call ptr @__errno_location() #12
  store i32 %9020, ptr %9021, align 4, !tbaa !5
  %9022 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9023 = load i32, ptr @test_count, align 4, !tbaa !5
  %9024 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9025 = load i32, ptr %9024, align 4, !tbaa !5
  %9026 = call ptr @s2n_strerror(i32 noundef %9025, ptr noundef @.str.4)
  %9027 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9028 = load i32, ptr %9027, align 4, !tbaa !5
  %9029 = call ptr @s2n_strerror_debug(i32 noundef %9028, ptr noundef @.str.4)
  %9030 = call ptr @__errno_location() #12
  %9031 = load i32, ptr %9030, align 4, !tbaa !5
  %9032 = call ptr @strerror(i32 noundef %9031) #11
  %9033 = call ptr @__errno_location() #12
  %9034 = load i32, ptr %9033, align 4, !tbaa !5
  %9035 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9022, ptr noundef @.str.5, i32 noundef %9023, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 325, ptr noundef %9026, ptr noundef %9029, ptr noundef %9032, i32 noundef %9034) #11
  br label %9036

9036:                                             ; preds = %9019, %9002
  call void @llvm.lifetime.end.p0(i64 4, ptr %200) #11
  br label %9037

9037:                                             ; preds = %9036
  br label %9038

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

9039:                                             ; No predecessors!
  br label %9040

9040:                                             ; preds = %9039
  br label %9041

9041:                                             ; preds = %9040, %8983
  br label %9042

9042:                                             ; preds = %9041
  br label %9043

9043:                                             ; preds = %9042
  br label %9044

9044:                                             ; preds = %9043
  %9045 = load i32, ptr @test_count, align 4, !tbaa !5
  %9046 = add nsw i32 %9045, 1
  store i32 %9046, ptr @test_count, align 4, !tbaa !5
  %9047 = load ptr, ptr %199, align 8, !tbaa !9
  %9048 = load ptr, ptr %15, align 8, !tbaa !9
  %9049 = call i32 @s2n_connection_set_config(ptr noundef %9047, ptr noundef %9048)
  %9050 = icmp eq i32 %9049, -1
  br i1 %9050, label %9051, label %9104

9051:                                             ; preds = %9044
  br label %9052

9052:                                             ; preds = %9051
  br label %9053

9053:                                             ; preds = %9052
  call void @llvm.lifetime.start.p0(i64 4, ptr %201) #11
  %9054 = call ptr @__errno_location() #12
  %9055 = load i32, ptr %9054, align 4, !tbaa !5
  store i32 %9055, ptr %201, align 4, !tbaa !5
  %9056 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9057 = call i32 @s2n_print_stacktrace(ptr noundef %9056)
  %9058 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9059 = trunc i8 %9058 to i1
  br i1 %9059, label %9060, label %9082

9060:                                             ; preds = %9053
  %9061 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9062 = call i32 @fileno(ptr noundef %9061) #11
  %9063 = call i32 @isatty(i32 noundef %9062) #11
  %9064 = icmp ne i32 %9063, 0
  br i1 %9064, label %9065, label %9082

9065:                                             ; preds = %9060
  %9066 = load i32, ptr %201, align 4, !tbaa !5
  %9067 = call ptr @__errno_location() #12
  store i32 %9066, ptr %9067, align 4, !tbaa !5
  %9068 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9069 = load i32, ptr @test_count, align 4, !tbaa !5
  %9070 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9071 = load i32, ptr %9070, align 4, !tbaa !5
  %9072 = call ptr @s2n_strerror(i32 noundef %9071, ptr noundef @.str.4)
  %9073 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9074 = load i32, ptr %9073, align 4, !tbaa !5
  %9075 = call ptr @s2n_strerror_debug(i32 noundef %9074, ptr noundef @.str.4)
  %9076 = call ptr @__errno_location() #12
  %9077 = load i32, ptr %9076, align 4, !tbaa !5
  %9078 = call ptr @strerror(i32 noundef %9077) #11
  %9079 = call ptr @__errno_location() #12
  %9080 = load i32, ptr %9079, align 4, !tbaa !5
  %9081 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9068, ptr noundef @.str.2, i32 noundef %9069, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 326, ptr noundef %9072, ptr noundef %9075, ptr noundef %9078, i32 noundef %9080) #11
  br label %9099

9082:                                             ; preds = %9060, %9053
  %9083 = load i32, ptr %201, align 4, !tbaa !5
  %9084 = call ptr @__errno_location() #12
  store i32 %9083, ptr %9084, align 4, !tbaa !5
  %9085 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9086 = load i32, ptr @test_count, align 4, !tbaa !5
  %9087 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9088 = load i32, ptr %9087, align 4, !tbaa !5
  %9089 = call ptr @s2n_strerror(i32 noundef %9088, ptr noundef @.str.4)
  %9090 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9091 = load i32, ptr %9090, align 4, !tbaa !5
  %9092 = call ptr @s2n_strerror_debug(i32 noundef %9091, ptr noundef @.str.4)
  %9093 = call ptr @__errno_location() #12
  %9094 = load i32, ptr %9093, align 4, !tbaa !5
  %9095 = call ptr @strerror(i32 noundef %9094) #11
  %9096 = call ptr @__errno_location() #12
  %9097 = load i32, ptr %9096, align 4, !tbaa !5
  %9098 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9085, ptr noundef @.str.5, i32 noundef %9086, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 326, ptr noundef %9089, ptr noundef %9092, ptr noundef %9095, i32 noundef %9097) #11
  br label %9099

9099:                                             ; preds = %9082, %9065
  call void @llvm.lifetime.end.p0(i64 4, ptr %201) #11
  br label %9100

9100:                                             ; preds = %9099
  br label %9101

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

9102:                                             ; No predecessors!
  br label %9103

9103:                                             ; preds = %9102
  br label %9104

9104:                                             ; preds = %9103, %9044
  br label %9105

9105:                                             ; preds = %9104
  br label %9106

9106:                                             ; preds = %9105
  call void @llvm.lifetime.start.p0(i64 8, ptr %202) #11
  %9107 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %9107, ptr %202, align 8, !tbaa !9
  br label %9108

9108:                                             ; preds = %9106
  %9109 = load i32, ptr @test_count, align 4, !tbaa !5
  %9110 = add nsw i32 %9109, 1
  store i32 %9110, ptr @test_count, align 4, !tbaa !5
  %9111 = load ptr, ptr %202, align 8, !tbaa !9
  %9112 = icmp eq ptr %9111, null
  br i1 %9112, label %9113, label %9166

9113:                                             ; preds = %9108
  br label %9114

9114:                                             ; preds = %9113
  br label %9115

9115:                                             ; preds = %9114
  call void @llvm.lifetime.start.p0(i64 4, ptr %203) #11
  %9116 = call ptr @__errno_location() #12
  %9117 = load i32, ptr %9116, align 4, !tbaa !5
  store i32 %9117, ptr %203, align 4, !tbaa !5
  %9118 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9119 = call i32 @s2n_print_stacktrace(ptr noundef %9118)
  %9120 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9121 = trunc i8 %9120 to i1
  br i1 %9121, label %9122, label %9144

9122:                                             ; preds = %9115
  %9123 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9124 = call i32 @fileno(ptr noundef %9123) #11
  %9125 = call i32 @isatty(i32 noundef %9124) #11
  %9126 = icmp ne i32 %9125, 0
  br i1 %9126, label %9127, label %9144

9127:                                             ; preds = %9122
  %9128 = load i32, ptr %203, align 4, !tbaa !5
  %9129 = call ptr @__errno_location() #12
  store i32 %9128, ptr %9129, align 4, !tbaa !5
  %9130 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9131 = load i32, ptr @test_count, align 4, !tbaa !5
  %9132 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9133 = load i32, ptr %9132, align 4, !tbaa !5
  %9134 = call ptr @s2n_strerror(i32 noundef %9133, ptr noundef @.str.4)
  %9135 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9136 = load i32, ptr %9135, align 4, !tbaa !5
  %9137 = call ptr @s2n_strerror_debug(i32 noundef %9136, ptr noundef @.str.4)
  %9138 = call ptr @__errno_location() #12
  %9139 = load i32, ptr %9138, align 4, !tbaa !5
  %9140 = call ptr @strerror(i32 noundef %9139) #11
  %9141 = call ptr @__errno_location() #12
  %9142 = load i32, ptr %9141, align 4, !tbaa !5
  %9143 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9130, ptr noundef @.str.2, i32 noundef %9131, ptr noundef @.str.23, ptr noundef @.str.1, i32 noundef 329, ptr noundef %9134, ptr noundef %9137, ptr noundef %9140, i32 noundef %9142) #11
  br label %9161

9144:                                             ; preds = %9122, %9115
  %9145 = load i32, ptr %203, align 4, !tbaa !5
  %9146 = call ptr @__errno_location() #12
  store i32 %9145, ptr %9146, align 4, !tbaa !5
  %9147 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9148 = load i32, ptr @test_count, align 4, !tbaa !5
  %9149 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9150 = load i32, ptr %9149, align 4, !tbaa !5
  %9151 = call ptr @s2n_strerror(i32 noundef %9150, ptr noundef @.str.4)
  %9152 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9153 = load i32, ptr %9152, align 4, !tbaa !5
  %9154 = call ptr @s2n_strerror_debug(i32 noundef %9153, ptr noundef @.str.4)
  %9155 = call ptr @__errno_location() #12
  %9156 = load i32, ptr %9155, align 4, !tbaa !5
  %9157 = call ptr @strerror(i32 noundef %9156) #11
  %9158 = call ptr @__errno_location() #12
  %9159 = load i32, ptr %9158, align 4, !tbaa !5
  %9160 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9147, ptr noundef @.str.5, i32 noundef %9148, ptr noundef @.str.23, ptr noundef @.str.1, i32 noundef 329, ptr noundef %9151, ptr noundef %9154, ptr noundef %9157, i32 noundef %9159) #11
  br label %9161

9161:                                             ; preds = %9144, %9127
  call void @llvm.lifetime.end.p0(i64 4, ptr %203) #11
  br label %9162

9162:                                             ; preds = %9161
  br label %9163

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

9164:                                             ; No predecessors!
  br label %9165

9165:                                             ; preds = %9164
  br label %9166

9166:                                             ; preds = %9165, %9108
  br label %9167

9167:                                             ; preds = %9166
  br label %9168

9168:                                             ; preds = %9167
  br label %9169

9169:                                             ; preds = %9168
  %9170 = load i32, ptr @test_count, align 4, !tbaa !5
  %9171 = add nsw i32 %9170, 1
  store i32 %9171, ptr @test_count, align 4, !tbaa !5
  %9172 = load ptr, ptr %202, align 8, !tbaa !9
  %9173 = load ptr, ptr %15, align 8, !tbaa !9
  %9174 = call i32 @s2n_connection_set_config(ptr noundef %9172, ptr noundef %9173)
  %9175 = icmp eq i32 %9174, -1
  br i1 %9175, label %9176, label %9229

9176:                                             ; preds = %9169
  br label %9177

9177:                                             ; preds = %9176
  br label %9178

9178:                                             ; preds = %9177
  call void @llvm.lifetime.start.p0(i64 4, ptr %204) #11
  %9179 = call ptr @__errno_location() #12
  %9180 = load i32, ptr %9179, align 4, !tbaa !5
  store i32 %9180, ptr %204, align 4, !tbaa !5
  %9181 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9182 = call i32 @s2n_print_stacktrace(ptr noundef %9181)
  %9183 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9184 = trunc i8 %9183 to i1
  br i1 %9184, label %9185, label %9207

9185:                                             ; preds = %9178
  %9186 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9187 = call i32 @fileno(ptr noundef %9186) #11
  %9188 = call i32 @isatty(i32 noundef %9187) #11
  %9189 = icmp ne i32 %9188, 0
  br i1 %9189, label %9190, label %9207

9190:                                             ; preds = %9185
  %9191 = load i32, ptr %204, align 4, !tbaa !5
  %9192 = call ptr @__errno_location() #12
  store i32 %9191, ptr %9192, align 4, !tbaa !5
  %9193 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9194 = load i32, ptr @test_count, align 4, !tbaa !5
  %9195 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9196 = load i32, ptr %9195, align 4, !tbaa !5
  %9197 = call ptr @s2n_strerror(i32 noundef %9196, ptr noundef @.str.4)
  %9198 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9199 = load i32, ptr %9198, align 4, !tbaa !5
  %9200 = call ptr @s2n_strerror_debug(i32 noundef %9199, ptr noundef @.str.4)
  %9201 = call ptr @__errno_location() #12
  %9202 = load i32, ptr %9201, align 4, !tbaa !5
  %9203 = call ptr @strerror(i32 noundef %9202) #11
  %9204 = call ptr @__errno_location() #12
  %9205 = load i32, ptr %9204, align 4, !tbaa !5
  %9206 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9193, ptr noundef @.str.2, i32 noundef %9194, ptr noundef @.str.24, ptr noundef @.str.1, i32 noundef 330, ptr noundef %9197, ptr noundef %9200, ptr noundef %9203, i32 noundef %9205) #11
  br label %9224

9207:                                             ; preds = %9185, %9178
  %9208 = load i32, ptr %204, align 4, !tbaa !5
  %9209 = call ptr @__errno_location() #12
  store i32 %9208, ptr %9209, align 4, !tbaa !5
  %9210 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9211 = load i32, ptr @test_count, align 4, !tbaa !5
  %9212 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9213 = load i32, ptr %9212, align 4, !tbaa !5
  %9214 = call ptr @s2n_strerror(i32 noundef %9213, ptr noundef @.str.4)
  %9215 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9216 = load i32, ptr %9215, align 4, !tbaa !5
  %9217 = call ptr @s2n_strerror_debug(i32 noundef %9216, ptr noundef @.str.4)
  %9218 = call ptr @__errno_location() #12
  %9219 = load i32, ptr %9218, align 4, !tbaa !5
  %9220 = call ptr @strerror(i32 noundef %9219) #11
  %9221 = call ptr @__errno_location() #12
  %9222 = load i32, ptr %9221, align 4, !tbaa !5
  %9223 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9210, ptr noundef @.str.5, i32 noundef %9211, ptr noundef @.str.24, ptr noundef @.str.1, i32 noundef 330, ptr noundef %9214, ptr noundef %9217, ptr noundef %9220, i32 noundef %9222) #11
  br label %9224

9224:                                             ; preds = %9207, %9190
  call void @llvm.lifetime.end.p0(i64 4, ptr %204) #11
  br label %9225

9225:                                             ; preds = %9224
  br label %9226

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

9227:                                             ; No predecessors!
  br label %9228

9228:                                             ; preds = %9227
  br label %9229

9229:                                             ; preds = %9228, %9169
  br label %9230

9230:                                             ; preds = %9229
  br label %9231

9231:                                             ; preds = %9230
  call void @llvm.lifetime.start.p0(i64 8, ptr %205) #11
  call void @llvm.memset.p0.i64(ptr align 4 %205, i8 0, i64 8, i1 false)
  br label %9232

9232:                                             ; preds = %9231
  %9233 = load i32, ptr @test_count, align 4, !tbaa !5
  %9234 = add nsw i32 %9233, 1
  store i32 %9234, ptr @test_count, align 4, !tbaa !5
  %9235 = call i32 @s2n_io_pair_init_non_blocking(ptr noundef %205)
  %9236 = icmp eq i32 %9235, -1
  br i1 %9236, label %9237, label %9290

9237:                                             ; preds = %9232
  br label %9238

9238:                                             ; preds = %9237
  br label %9239

9239:                                             ; preds = %9238
  call void @llvm.lifetime.start.p0(i64 4, ptr %206) #11
  %9240 = call ptr @__errno_location() #12
  %9241 = load i32, ptr %9240, align 4, !tbaa !5
  store i32 %9241, ptr %206, align 4, !tbaa !5
  %9242 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9243 = call i32 @s2n_print_stacktrace(ptr noundef %9242)
  %9244 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9245 = trunc i8 %9244 to i1
  br i1 %9245, label %9246, label %9268

9246:                                             ; preds = %9239
  %9247 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9248 = call i32 @fileno(ptr noundef %9247) #11
  %9249 = call i32 @isatty(i32 noundef %9248) #11
  %9250 = icmp ne i32 %9249, 0
  br i1 %9250, label %9251, label %9268

9251:                                             ; preds = %9246
  %9252 = load i32, ptr %206, align 4, !tbaa !5
  %9253 = call ptr @__errno_location() #12
  store i32 %9252, ptr %9253, align 4, !tbaa !5
  %9254 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9255 = load i32, ptr @test_count, align 4, !tbaa !5
  %9256 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9257 = load i32, ptr %9256, align 4, !tbaa !5
  %9258 = call ptr @s2n_strerror(i32 noundef %9257, ptr noundef @.str.4)
  %9259 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9260 = load i32, ptr %9259, align 4, !tbaa !5
  %9261 = call ptr @s2n_strerror_debug(i32 noundef %9260, ptr noundef @.str.4)
  %9262 = call ptr @__errno_location() #12
  %9263 = load i32, ptr %9262, align 4, !tbaa !5
  %9264 = call ptr @strerror(i32 noundef %9263) #11
  %9265 = call ptr @__errno_location() #12
  %9266 = load i32, ptr %9265, align 4, !tbaa !5
  %9267 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9254, ptr noundef @.str.2, i32 noundef %9255, ptr noundef @.str.25, ptr noundef @.str.1, i32 noundef 333, ptr noundef %9258, ptr noundef %9261, ptr noundef %9264, i32 noundef %9266) #11
  br label %9285

9268:                                             ; preds = %9246, %9239
  %9269 = load i32, ptr %206, align 4, !tbaa !5
  %9270 = call ptr @__errno_location() #12
  store i32 %9269, ptr %9270, align 4, !tbaa !5
  %9271 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9272 = load i32, ptr @test_count, align 4, !tbaa !5
  %9273 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9274 = load i32, ptr %9273, align 4, !tbaa !5
  %9275 = call ptr @s2n_strerror(i32 noundef %9274, ptr noundef @.str.4)
  %9276 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9277 = load i32, ptr %9276, align 4, !tbaa !5
  %9278 = call ptr @s2n_strerror_debug(i32 noundef %9277, ptr noundef @.str.4)
  %9279 = call ptr @__errno_location() #12
  %9280 = load i32, ptr %9279, align 4, !tbaa !5
  %9281 = call ptr @strerror(i32 noundef %9280) #11
  %9282 = call ptr @__errno_location() #12
  %9283 = load i32, ptr %9282, align 4, !tbaa !5
  %9284 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9271, ptr noundef @.str.5, i32 noundef %9272, ptr noundef @.str.25, ptr noundef @.str.1, i32 noundef 333, ptr noundef %9275, ptr noundef %9278, ptr noundef %9281, i32 noundef %9283) #11
  br label %9285

9285:                                             ; preds = %9268, %9251
  call void @llvm.lifetime.end.p0(i64 4, ptr %206) #11
  br label %9286

9286:                                             ; preds = %9285
  br label %9287

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

9288:                                             ; No predecessors!
  br label %9289

9289:                                             ; preds = %9288
  br label %9290

9290:                                             ; preds = %9289, %9232
  br label %9291

9291:                                             ; preds = %9290
  br label %9292

9292:                                             ; preds = %9291
  br label %9293

9293:                                             ; preds = %9292
  %9294 = load i32, ptr @test_count, align 4, !tbaa !5
  %9295 = add nsw i32 %9294, 1
  store i32 %9295, ptr @test_count, align 4, !tbaa !5
  %9296 = load ptr, ptr %202, align 8, !tbaa !9
  %9297 = load ptr, ptr %199, align 8, !tbaa !9
  %9298 = call i32 @s2n_connections_set_io_pair(ptr noundef %9296, ptr noundef %9297, ptr noundef %205)
  %9299 = icmp eq i32 %9298, -1
  br i1 %9299, label %9300, label %9353

9300:                                             ; preds = %9293
  br label %9301

9301:                                             ; preds = %9300
  br label %9302

9302:                                             ; preds = %9301
  call void @llvm.lifetime.start.p0(i64 4, ptr %207) #11
  %9303 = call ptr @__errno_location() #12
  %9304 = load i32, ptr %9303, align 4, !tbaa !5
  store i32 %9304, ptr %207, align 4, !tbaa !5
  %9305 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9306 = call i32 @s2n_print_stacktrace(ptr noundef %9305)
  %9307 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9308 = trunc i8 %9307 to i1
  br i1 %9308, label %9309, label %9331

9309:                                             ; preds = %9302
  %9310 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9311 = call i32 @fileno(ptr noundef %9310) #11
  %9312 = call i32 @isatty(i32 noundef %9311) #11
  %9313 = icmp ne i32 %9312, 0
  br i1 %9313, label %9314, label %9331

9314:                                             ; preds = %9309
  %9315 = load i32, ptr %207, align 4, !tbaa !5
  %9316 = call ptr @__errno_location() #12
  store i32 %9315, ptr %9316, align 4, !tbaa !5
  %9317 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9318 = load i32, ptr @test_count, align 4, !tbaa !5
  %9319 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9320 = load i32, ptr %9319, align 4, !tbaa !5
  %9321 = call ptr @s2n_strerror(i32 noundef %9320, ptr noundef @.str.4)
  %9322 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9323 = load i32, ptr %9322, align 4, !tbaa !5
  %9324 = call ptr @s2n_strerror_debug(i32 noundef %9323, ptr noundef @.str.4)
  %9325 = call ptr @__errno_location() #12
  %9326 = load i32, ptr %9325, align 4, !tbaa !5
  %9327 = call ptr @strerror(i32 noundef %9326) #11
  %9328 = call ptr @__errno_location() #12
  %9329 = load i32, ptr %9328, align 4, !tbaa !5
  %9330 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9317, ptr noundef @.str.2, i32 noundef %9318, ptr noundef @.str.77, ptr noundef @.str.1, i32 noundef 334, ptr noundef %9321, ptr noundef %9324, ptr noundef %9327, i32 noundef %9329) #11
  br label %9348

9331:                                             ; preds = %9309, %9302
  %9332 = load i32, ptr %207, align 4, !tbaa !5
  %9333 = call ptr @__errno_location() #12
  store i32 %9332, ptr %9333, align 4, !tbaa !5
  %9334 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9335 = load i32, ptr @test_count, align 4, !tbaa !5
  %9336 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9337 = load i32, ptr %9336, align 4, !tbaa !5
  %9338 = call ptr @s2n_strerror(i32 noundef %9337, ptr noundef @.str.4)
  %9339 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9340 = load i32, ptr %9339, align 4, !tbaa !5
  %9341 = call ptr @s2n_strerror_debug(i32 noundef %9340, ptr noundef @.str.4)
  %9342 = call ptr @__errno_location() #12
  %9343 = load i32, ptr %9342, align 4, !tbaa !5
  %9344 = call ptr @strerror(i32 noundef %9343) #11
  %9345 = call ptr @__errno_location() #12
  %9346 = load i32, ptr %9345, align 4, !tbaa !5
  %9347 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9334, ptr noundef @.str.5, i32 noundef %9335, ptr noundef @.str.77, ptr noundef @.str.1, i32 noundef 334, ptr noundef %9338, ptr noundef %9341, ptr noundef %9344, i32 noundef %9346) #11
  br label %9348

9348:                                             ; preds = %9331, %9314
  call void @llvm.lifetime.end.p0(i64 4, ptr %207) #11
  br label %9349

9349:                                             ; preds = %9348
  br label %9350

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

9351:                                             ; No predecessors!
  br label %9352

9352:                                             ; preds = %9351
  br label %9353

9353:                                             ; preds = %9352, %9293
  br label %9354

9354:                                             ; preds = %9353
  br label %9355

9355:                                             ; preds = %9354
  br label %9356

9356:                                             ; preds = %9355
  %9357 = load i32, ptr @test_count, align 4, !tbaa !5
  %9358 = add nsw i32 %9357, 1
  store i32 %9358, ptr @test_count, align 4, !tbaa !5
  %9359 = load ptr, ptr %199, align 8, !tbaa !9
  %9360 = load ptr, ptr %202, align 8, !tbaa !9
  %9361 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef %9359, ptr noundef %9360)
  %9362 = icmp eq i32 %9361, -1
  br i1 %9362, label %9363, label %9416

9363:                                             ; preds = %9356
  br label %9364

9364:                                             ; preds = %9363
  br label %9365

9365:                                             ; preds = %9364
  call void @llvm.lifetime.start.p0(i64 4, ptr %208) #11
  %9366 = call ptr @__errno_location() #12
  %9367 = load i32, ptr %9366, align 4, !tbaa !5
  store i32 %9367, ptr %208, align 4, !tbaa !5
  %9368 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9369 = call i32 @s2n_print_stacktrace(ptr noundef %9368)
  %9370 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9371 = trunc i8 %9370 to i1
  br i1 %9371, label %9372, label %9394

9372:                                             ; preds = %9365
  %9373 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9374 = call i32 @fileno(ptr noundef %9373) #11
  %9375 = call i32 @isatty(i32 noundef %9374) #11
  %9376 = icmp ne i32 %9375, 0
  br i1 %9376, label %9377, label %9394

9377:                                             ; preds = %9372
  %9378 = load i32, ptr %208, align 4, !tbaa !5
  %9379 = call ptr @__errno_location() #12
  store i32 %9378, ptr %9379, align 4, !tbaa !5
  %9380 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9381 = load i32, ptr @test_count, align 4, !tbaa !5
  %9382 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9383 = load i32, ptr %9382, align 4, !tbaa !5
  %9384 = call ptr @s2n_strerror(i32 noundef %9383, ptr noundef @.str.4)
  %9385 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9386 = load i32, ptr %9385, align 4, !tbaa !5
  %9387 = call ptr @s2n_strerror_debug(i32 noundef %9386, ptr noundef @.str.4)
  %9388 = call ptr @__errno_location() #12
  %9389 = load i32, ptr %9388, align 4, !tbaa !5
  %9390 = call ptr @strerror(i32 noundef %9389) #11
  %9391 = call ptr @__errno_location() #12
  %9392 = load i32, ptr %9391, align 4, !tbaa !5
  %9393 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9380, ptr noundef @.str.2, i32 noundef %9381, ptr noundef @.str.32, ptr noundef @.str.1, i32 noundef 336, ptr noundef %9384, ptr noundef %9387, ptr noundef %9390, i32 noundef %9392) #11
  br label %9411

9394:                                             ; preds = %9372, %9365
  %9395 = load i32, ptr %208, align 4, !tbaa !5
  %9396 = call ptr @__errno_location() #12
  store i32 %9395, ptr %9396, align 4, !tbaa !5
  %9397 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9398 = load i32, ptr @test_count, align 4, !tbaa !5
  %9399 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9400 = load i32, ptr %9399, align 4, !tbaa !5
  %9401 = call ptr @s2n_strerror(i32 noundef %9400, ptr noundef @.str.4)
  %9402 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9403 = load i32, ptr %9402, align 4, !tbaa !5
  %9404 = call ptr @s2n_strerror_debug(i32 noundef %9403, ptr noundef @.str.4)
  %9405 = call ptr @__errno_location() #12
  %9406 = load i32, ptr %9405, align 4, !tbaa !5
  %9407 = call ptr @strerror(i32 noundef %9406) #11
  %9408 = call ptr @__errno_location() #12
  %9409 = load i32, ptr %9408, align 4, !tbaa !5
  %9410 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9397, ptr noundef @.str.5, i32 noundef %9398, ptr noundef @.str.32, ptr noundef @.str.1, i32 noundef 336, ptr noundef %9401, ptr noundef %9404, ptr noundef %9407, i32 noundef %9409) #11
  br label %9411

9411:                                             ; preds = %9394, %9377
  call void @llvm.lifetime.end.p0(i64 4, ptr %208) #11
  br label %9412

9412:                                             ; preds = %9411
  br label %9413

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

9414:                                             ; No predecessors!
  br label %9415

9415:                                             ; preds = %9414
  br label %9416

9416:                                             ; preds = %9415, %9356
  br label %9417

9417:                                             ; preds = %9416
  br label %9418

9418:                                             ; preds = %9417
  call void @llvm.lifetime.start.p0(i64 8, ptr %209) #11
  %9419 = load ptr, ptr %199, align 8, !tbaa !9
  %9420 = getelementptr inbounds %struct.s2n_connection, ptr %9419, i32 0, i32 71
  %9421 = call i64 @s2n_client_hello_get_extension_length(ptr noundef %9420, i32 noundef 65281)
  store i64 %9421, ptr %209, align 8, !tbaa !45
  br label %9422

9422:                                             ; preds = %9418
  %9423 = load i32, ptr @test_count, align 4, !tbaa !5
  %9424 = add nsw i32 %9423, 1
  store i32 %9424, ptr @test_count, align 4, !tbaa !5
  %9425 = load i64, ptr %209, align 8, !tbaa !45
  %9426 = icmp eq i64 %9425, 0
  br i1 %9426, label %9480, label %9427

9427:                                             ; preds = %9422
  br label %9428

9428:                                             ; preds = %9427
  br label %9429

9429:                                             ; preds = %9428
  call void @llvm.lifetime.start.p0(i64 4, ptr %210) #11
  %9430 = call ptr @__errno_location() #12
  %9431 = load i32, ptr %9430, align 4, !tbaa !5
  store i32 %9431, ptr %210, align 4, !tbaa !5
  %9432 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9433 = call i32 @s2n_print_stacktrace(ptr noundef %9432)
  %9434 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9435 = trunc i8 %9434 to i1
  br i1 %9435, label %9436, label %9458

9436:                                             ; preds = %9429
  %9437 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9438 = call i32 @fileno(ptr noundef %9437) #11
  %9439 = call i32 @isatty(i32 noundef %9438) #11
  %9440 = icmp ne i32 %9439, 0
  br i1 %9440, label %9441, label %9458

9441:                                             ; preds = %9436
  %9442 = load i32, ptr %210, align 4, !tbaa !5
  %9443 = call ptr @__errno_location() #12
  store i32 %9442, ptr %9443, align 4, !tbaa !5
  %9444 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9445 = load i32, ptr @test_count, align 4, !tbaa !5
  %9446 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9447 = load i32, ptr %9446, align 4, !tbaa !5
  %9448 = call ptr @s2n_strerror(i32 noundef %9447, ptr noundef @.str.4)
  %9449 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9450 = load i32, ptr %9449, align 4, !tbaa !5
  %9451 = call ptr @s2n_strerror_debug(i32 noundef %9450, ptr noundef @.str.4)
  %9452 = call ptr @__errno_location() #12
  %9453 = load i32, ptr %9452, align 4, !tbaa !5
  %9454 = call ptr @strerror(i32 noundef %9453) #11
  %9455 = call ptr @__errno_location() #12
  %9456 = load i32, ptr %9455, align 4, !tbaa !5
  %9457 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9444, ptr noundef @.str.2, i32 noundef %9445, ptr noundef @.str.78, ptr noundef @.str.1, i32 noundef 341, ptr noundef %9448, ptr noundef %9451, ptr noundef %9454, i32 noundef %9456) #11
  br label %9475

9458:                                             ; preds = %9436, %9429
  %9459 = load i32, ptr %210, align 4, !tbaa !5
  %9460 = call ptr @__errno_location() #12
  store i32 %9459, ptr %9460, align 4, !tbaa !5
  %9461 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9462 = load i32, ptr @test_count, align 4, !tbaa !5
  %9463 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9464 = load i32, ptr %9463, align 4, !tbaa !5
  %9465 = call ptr @s2n_strerror(i32 noundef %9464, ptr noundef @.str.4)
  %9466 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9467 = load i32, ptr %9466, align 4, !tbaa !5
  %9468 = call ptr @s2n_strerror_debug(i32 noundef %9467, ptr noundef @.str.4)
  %9469 = call ptr @__errno_location() #12
  %9470 = load i32, ptr %9469, align 4, !tbaa !5
  %9471 = call ptr @strerror(i32 noundef %9470) #11
  %9472 = call ptr @__errno_location() #12
  %9473 = load i32, ptr %9472, align 4, !tbaa !5
  %9474 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9461, ptr noundef @.str.5, i32 noundef %9462, ptr noundef @.str.78, ptr noundef @.str.1, i32 noundef 341, ptr noundef %9465, ptr noundef %9468, ptr noundef %9471, i32 noundef %9473) #11
  br label %9475

9475:                                             ; preds = %9458, %9441
  call void @llvm.lifetime.end.p0(i64 4, ptr %210) #11
  br label %9476

9476:                                             ; preds = %9475
  br label %9477

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

9478:                                             ; No predecessors!
  br label %9479

9479:                                             ; preds = %9478
  br label %9480

9480:                                             ; preds = %9479, %9422
  br label %9481

9481:                                             ; preds = %9480
  br label %9482

9482:                                             ; preds = %9481
  br label %9483

9483:                                             ; preds = %9482
  %9484 = load i32, ptr @test_count, align 4, !tbaa !5
  %9485 = add nsw i32 %9484, 1
  store i32 %9485, ptr @test_count, align 4, !tbaa !5
  %9486 = load ptr, ptr %202, align 8, !tbaa !9
  %9487 = call i32 @s2n_renegotiate_wipe(ptr noundef %9486)
  %9488 = icmp eq i32 %9487, -1
  br i1 %9488, label %9489, label %9542

9489:                                             ; preds = %9483
  br label %9490

9490:                                             ; preds = %9489
  br label %9491

9491:                                             ; preds = %9490
  call void @llvm.lifetime.start.p0(i64 4, ptr %211) #11
  %9492 = call ptr @__errno_location() #12
  %9493 = load i32, ptr %9492, align 4, !tbaa !5
  store i32 %9493, ptr %211, align 4, !tbaa !5
  %9494 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9495 = call i32 @s2n_print_stacktrace(ptr noundef %9494)
  %9496 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9497 = trunc i8 %9496 to i1
  br i1 %9497, label %9498, label %9520

9498:                                             ; preds = %9491
  %9499 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9500 = call i32 @fileno(ptr noundef %9499) #11
  %9501 = call i32 @isatty(i32 noundef %9500) #11
  %9502 = icmp ne i32 %9501, 0
  br i1 %9502, label %9503, label %9520

9503:                                             ; preds = %9498
  %9504 = load i32, ptr %211, align 4, !tbaa !5
  %9505 = call ptr @__errno_location() #12
  store i32 %9504, ptr %9505, align 4, !tbaa !5
  %9506 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9507 = load i32, ptr @test_count, align 4, !tbaa !5
  %9508 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9509 = load i32, ptr %9508, align 4, !tbaa !5
  %9510 = call ptr @s2n_strerror(i32 noundef %9509, ptr noundef @.str.4)
  %9511 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9512 = load i32, ptr %9511, align 4, !tbaa !5
  %9513 = call ptr @s2n_strerror_debug(i32 noundef %9512, ptr noundef @.str.4)
  %9514 = call ptr @__errno_location() #12
  %9515 = load i32, ptr %9514, align 4, !tbaa !5
  %9516 = call ptr @strerror(i32 noundef %9515) #11
  %9517 = call ptr @__errno_location() #12
  %9518 = load i32, ptr %9517, align 4, !tbaa !5
  %9519 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9506, ptr noundef @.str.2, i32 noundef %9507, ptr noundef @.str.33, ptr noundef @.str.1, i32 noundef 343, ptr noundef %9510, ptr noundef %9513, ptr noundef %9516, i32 noundef %9518) #11
  br label %9537

9520:                                             ; preds = %9498, %9491
  %9521 = load i32, ptr %211, align 4, !tbaa !5
  %9522 = call ptr @__errno_location() #12
  store i32 %9521, ptr %9522, align 4, !tbaa !5
  %9523 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9524 = load i32, ptr @test_count, align 4, !tbaa !5
  %9525 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9526 = load i32, ptr %9525, align 4, !tbaa !5
  %9527 = call ptr @s2n_strerror(i32 noundef %9526, ptr noundef @.str.4)
  %9528 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9529 = load i32, ptr %9528, align 4, !tbaa !5
  %9530 = call ptr @s2n_strerror_debug(i32 noundef %9529, ptr noundef @.str.4)
  %9531 = call ptr @__errno_location() #12
  %9532 = load i32, ptr %9531, align 4, !tbaa !5
  %9533 = call ptr @strerror(i32 noundef %9532) #11
  %9534 = call ptr @__errno_location() #12
  %9535 = load i32, ptr %9534, align 4, !tbaa !5
  %9536 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9523, ptr noundef @.str.5, i32 noundef %9524, ptr noundef @.str.33, ptr noundef @.str.1, i32 noundef 343, ptr noundef %9527, ptr noundef %9530, ptr noundef %9533, i32 noundef %9535) #11
  br label %9537

9537:                                             ; preds = %9520, %9503
  call void @llvm.lifetime.end.p0(i64 4, ptr %211) #11
  br label %9538

9538:                                             ; preds = %9537
  br label %9539

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

9540:                                             ; No predecessors!
  br label %9541

9541:                                             ; preds = %9540
  br label %9542

9542:                                             ; preds = %9541, %9483
  br label %9543

9543:                                             ; preds = %9542
  br label %9544

9544:                                             ; preds = %9543
  br label %9545

9545:                                             ; preds = %9544
  %9546 = load i32, ptr @test_count, align 4, !tbaa !5
  %9547 = add nsw i32 %9546, 1
  store i32 %9547, ptr @test_count, align 4, !tbaa !5
  %9548 = load ptr, ptr %202, align 8, !tbaa !9
  %9549 = getelementptr inbounds %struct.s2n_connection, ptr %9548, i32 0, i32 52
  %9550 = getelementptr inbounds %struct.s2n_handshake, ptr %9549, i32 0, i32 5
  %9551 = load i8, ptr %9550, align 8, !tbaa !47
  %9552 = zext i8 %9551 to i32
  %9553 = icmp sgt i32 %9552, 0
  br i1 %9553, label %9607, label %9554

9554:                                             ; preds = %9545
  br label %9555

9555:                                             ; preds = %9554
  br label %9556

9556:                                             ; preds = %9555
  call void @llvm.lifetime.start.p0(i64 4, ptr %212) #11
  %9557 = call ptr @__errno_location() #12
  %9558 = load i32, ptr %9557, align 4, !tbaa !5
  store i32 %9558, ptr %212, align 4, !tbaa !5
  %9559 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9560 = call i32 @s2n_print_stacktrace(ptr noundef %9559)
  %9561 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9562 = trunc i8 %9561 to i1
  br i1 %9562, label %9563, label %9585

9563:                                             ; preds = %9556
  %9564 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9565 = call i32 @fileno(ptr noundef %9564) #11
  %9566 = call i32 @isatty(i32 noundef %9565) #11
  %9567 = icmp ne i32 %9566, 0
  br i1 %9567, label %9568, label %9585

9568:                                             ; preds = %9563
  %9569 = load i32, ptr %212, 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.4)
  %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.4)
  %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.2, i32 noundef %9572, ptr noundef @.str.79, ptr noundef @.str.1, i32 noundef 344, ptr noundef %9575, ptr noundef %9578, ptr noundef %9581, i32 noundef %9583) #11
  br label %9602

9585:                                             ; preds = %9563, %9556
  %9586 = load i32, ptr %212, align 4, !tbaa !5
  %9587 = call ptr @__errno_location() #12
  store i32 %9586, ptr %9587, align 4, !tbaa !5
  %9588 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9589 = load i32, ptr @test_count, align 4, !tbaa !5
  %9590 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9591 = load i32, ptr %9590, align 4, !tbaa !5
  %9592 = call ptr @s2n_strerror(i32 noundef %9591, ptr noundef @.str.4)
  %9593 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9594 = load i32, ptr %9593, align 4, !tbaa !5
  %9595 = call ptr @s2n_strerror_debug(i32 noundef %9594, ptr noundef @.str.4)
  %9596 = call ptr @__errno_location() #12
  %9597 = load i32, ptr %9596, align 4, !tbaa !5
  %9598 = call ptr @strerror(i32 noundef %9597) #11
  %9599 = call ptr @__errno_location() #12
  %9600 = load i32, ptr %9599, align 4, !tbaa !5
  %9601 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9588, ptr noundef @.str.5, i32 noundef %9589, ptr noundef @.str.79, ptr noundef @.str.1, i32 noundef 344, ptr noundef %9592, ptr noundef %9595, ptr noundef %9598, i32 noundef %9600) #11
  br label %9602

9602:                                             ; preds = %9585, %9568
  call void @llvm.lifetime.end.p0(i64 4, ptr %212) #11
  br label %9603

9603:                                             ; preds = %9602
  br label %9604

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

9605:                                             ; No predecessors!
  br label %9606

9606:                                             ; preds = %9605
  br label %9607

9607:                                             ; preds = %9606, %9545
  br label %9608

9608:                                             ; preds = %9607
  br label %9609

9609:                                             ; preds = %9608
  br label %9610

9610:                                             ; preds = %9609
  %9611 = load i32, ptr @test_count, align 4, !tbaa !5
  %9612 = add nsw i32 %9611, 1
  store i32 %9612, ptr @test_count, align 4, !tbaa !5
  %9613 = load ptr, ptr %199, align 8, !tbaa !9
  %9614 = call i32 @s2n_renegotiate_wipe(ptr noundef %9613)
  %9615 = icmp eq i32 %9614, -1
  br i1 %9615, label %9616, label %9669

9616:                                             ; preds = %9610
  br label %9617

9617:                                             ; preds = %9616
  br label %9618

9618:                                             ; preds = %9617
  call void @llvm.lifetime.start.p0(i64 4, ptr %213) #11
  %9619 = call ptr @__errno_location() #12
  %9620 = load i32, ptr %9619, align 4, !tbaa !5
  store i32 %9620, ptr %213, align 4, !tbaa !5
  %9621 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9622 = call i32 @s2n_print_stacktrace(ptr noundef %9621)
  %9623 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9624 = trunc i8 %9623 to i1
  br i1 %9624, label %9625, label %9647

9625:                                             ; preds = %9618
  %9626 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9627 = call i32 @fileno(ptr noundef %9626) #11
  %9628 = call i32 @isatty(i32 noundef %9627) #11
  %9629 = icmp ne i32 %9628, 0
  br i1 %9629, label %9630, label %9647

9630:                                             ; preds = %9625
  %9631 = load i32, ptr %213, align 4, !tbaa !5
  %9632 = call ptr @__errno_location() #12
  store i32 %9631, ptr %9632, align 4, !tbaa !5
  %9633 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9634 = load i32, ptr @test_count, align 4, !tbaa !5
  %9635 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9636 = load i32, ptr %9635, align 4, !tbaa !5
  %9637 = call ptr @s2n_strerror(i32 noundef %9636, ptr noundef @.str.4)
  %9638 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9639 = load i32, ptr %9638, align 4, !tbaa !5
  %9640 = call ptr @s2n_strerror_debug(i32 noundef %9639, ptr noundef @.str.4)
  %9641 = call ptr @__errno_location() #12
  %9642 = load i32, ptr %9641, align 4, !tbaa !5
  %9643 = call ptr @strerror(i32 noundef %9642) #11
  %9644 = call ptr @__errno_location() #12
  %9645 = load i32, ptr %9644, align 4, !tbaa !5
  %9646 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9633, ptr noundef @.str.2, i32 noundef %9634, ptr noundef @.str.50, ptr noundef @.str.1, i32 noundef 345, ptr noundef %9637, ptr noundef %9640, ptr noundef %9643, i32 noundef %9645) #11
  br label %9664

9647:                                             ; preds = %9625, %9618
  %9648 = load i32, ptr %213, align 4, !tbaa !5
  %9649 = call ptr @__errno_location() #12
  store i32 %9648, ptr %9649, align 4, !tbaa !5
  %9650 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9651 = load i32, ptr @test_count, align 4, !tbaa !5
  %9652 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9653 = load i32, ptr %9652, align 4, !tbaa !5
  %9654 = call ptr @s2n_strerror(i32 noundef %9653, ptr noundef @.str.4)
  %9655 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9656 = load i32, ptr %9655, align 4, !tbaa !5
  %9657 = call ptr @s2n_strerror_debug(i32 noundef %9656, ptr noundef @.str.4)
  %9658 = call ptr @__errno_location() #12
  %9659 = load i32, ptr %9658, align 4, !tbaa !5
  %9660 = call ptr @strerror(i32 noundef %9659) #11
  %9661 = call ptr @__errno_location() #12
  %9662 = load i32, ptr %9661, align 4, !tbaa !5
  %9663 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9650, ptr noundef @.str.5, i32 noundef %9651, ptr noundef @.str.50, ptr noundef @.str.1, i32 noundef 345, ptr noundef %9654, ptr noundef %9657, ptr noundef %9660, i32 noundef %9662) #11
  br label %9664

9664:                                             ; preds = %9647, %9630
  call void @llvm.lifetime.end.p0(i64 4, ptr %213) #11
  br label %9665

9665:                                             ; preds = %9664
  br label %9666

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

9667:                                             ; No predecessors!
  br label %9668

9668:                                             ; preds = %9667
  br label %9669

9669:                                             ; preds = %9668, %9610
  br label %9670

9670:                                             ; preds = %9669
  br label %9671

9671:                                             ; preds = %9670
  br label %9672

9672:                                             ; preds = %9671
  %9673 = load i32, ptr @test_count, align 4, !tbaa !5
  %9674 = add nsw i32 %9673, 1
  store i32 %9674, ptr @test_count, align 4, !tbaa !5
  %9675 = load ptr, ptr %199, align 8, !tbaa !9
  %9676 = load ptr, ptr %202, align 8, !tbaa !9
  %9677 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef %9675, ptr noundef %9676)
  %9678 = icmp eq i32 %9677, -1
  br i1 %9678, label %9679, label %9732

9679:                                             ; preds = %9672
  br label %9680

9680:                                             ; preds = %9679
  br label %9681

9681:                                             ; preds = %9680
  call void @llvm.lifetime.start.p0(i64 4, ptr %214) #11
  %9682 = call ptr @__errno_location() #12
  %9683 = load i32, ptr %9682, align 4, !tbaa !5
  store i32 %9683, ptr %214, align 4, !tbaa !5
  %9684 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9685 = call i32 @s2n_print_stacktrace(ptr noundef %9684)
  %9686 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9687 = trunc i8 %9686 to i1
  br i1 %9687, label %9688, label %9710

9688:                                             ; preds = %9681
  %9689 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9690 = call i32 @fileno(ptr noundef %9689) #11
  %9691 = call i32 @isatty(i32 noundef %9690) #11
  %9692 = icmp ne i32 %9691, 0
  br i1 %9692, label %9693, label %9710

9693:                                             ; preds = %9688
  %9694 = load i32, ptr %214, align 4, !tbaa !5
  %9695 = call ptr @__errno_location() #12
  store i32 %9694, ptr %9695, align 4, !tbaa !5
  %9696 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9697 = load i32, ptr @test_count, align 4, !tbaa !5
  %9698 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9699 = load i32, ptr %9698, align 4, !tbaa !5
  %9700 = call ptr @s2n_strerror(i32 noundef %9699, ptr noundef @.str.4)
  %9701 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9702 = load i32, ptr %9701, align 4, !tbaa !5
  %9703 = call ptr @s2n_strerror_debug(i32 noundef %9702, ptr noundef @.str.4)
  %9704 = call ptr @__errno_location() #12
  %9705 = load i32, ptr %9704, align 4, !tbaa !5
  %9706 = call ptr @strerror(i32 noundef %9705) #11
  %9707 = call ptr @__errno_location() #12
  %9708 = load i32, ptr %9707, align 4, !tbaa !5
  %9709 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9696, ptr noundef @.str.2, i32 noundef %9697, ptr noundef @.str.32, ptr noundef @.str.1, i32 noundef 347, ptr noundef %9700, ptr noundef %9703, ptr noundef %9706, i32 noundef %9708) #11
  br label %9727

9710:                                             ; preds = %9688, %9681
  %9711 = load i32, ptr %214, align 4, !tbaa !5
  %9712 = call ptr @__errno_location() #12
  store i32 %9711, ptr %9712, align 4, !tbaa !5
  %9713 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9714 = load i32, ptr @test_count, align 4, !tbaa !5
  %9715 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9716 = load i32, ptr %9715, align 4, !tbaa !5
  %9717 = call ptr @s2n_strerror(i32 noundef %9716, ptr noundef @.str.4)
  %9718 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9719 = load i32, ptr %9718, align 4, !tbaa !5
  %9720 = call ptr @s2n_strerror_debug(i32 noundef %9719, ptr noundef @.str.4)
  %9721 = call ptr @__errno_location() #12
  %9722 = load i32, ptr %9721, align 4, !tbaa !5
  %9723 = call ptr @strerror(i32 noundef %9722) #11
  %9724 = call ptr @__errno_location() #12
  %9725 = load i32, ptr %9724, align 4, !tbaa !5
  %9726 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9713, ptr noundef @.str.5, i32 noundef %9714, ptr noundef @.str.32, ptr noundef @.str.1, i32 noundef 347, ptr noundef %9717, ptr noundef %9720, ptr noundef %9723, i32 noundef %9725) #11
  br label %9727

9727:                                             ; preds = %9710, %9693
  call void @llvm.lifetime.end.p0(i64 4, ptr %214) #11
  br label %9728

9728:                                             ; preds = %9727
  br label %9729

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

9730:                                             ; No predecessors!
  br label %9731

9731:                                             ; preds = %9730
  br label %9732

9732:                                             ; preds = %9731, %9672
  br label %9733

9733:                                             ; preds = %9732
  br label %9734

9734:                                             ; preds = %9733
  %9735 = load ptr, ptr %199, align 8, !tbaa !9
  %9736 = getelementptr inbounds %struct.s2n_connection, ptr %9735, i32 0, i32 71
  %9737 = call i64 @s2n_client_hello_get_extension_length(ptr noundef %9736, i32 noundef 65281)
  store i64 %9737, ptr %209, align 8, !tbaa !45
  br label %9738

9738:                                             ; preds = %9734
  %9739 = load i32, ptr @test_count, align 4, !tbaa !5
  %9740 = add nsw i32 %9739, 1
  store i32 %9740, ptr @test_count, align 4, !tbaa !5
  %9741 = load i64, ptr %209, align 8, !tbaa !45
  %9742 = icmp ugt i64 %9741, 1
  br i1 %9742, label %9796, label %9743

9743:                                             ; preds = %9738
  br label %9744

9744:                                             ; preds = %9743
  br label %9745

9745:                                             ; preds = %9744
  call void @llvm.lifetime.start.p0(i64 4, ptr %215) #11
  %9746 = call ptr @__errno_location() #12
  %9747 = load i32, ptr %9746, align 4, !tbaa !5
  store i32 %9747, ptr %215, align 4, !tbaa !5
  %9748 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9749 = call i32 @s2n_print_stacktrace(ptr noundef %9748)
  %9750 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9751 = trunc i8 %9750 to i1
  br i1 %9751, label %9752, label %9774

9752:                                             ; preds = %9745
  %9753 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9754 = call i32 @fileno(ptr noundef %9753) #11
  %9755 = call i32 @isatty(i32 noundef %9754) #11
  %9756 = icmp ne i32 %9755, 0
  br i1 %9756, label %9757, label %9774

9757:                                             ; preds = %9752
  %9758 = load i32, ptr %215, align 4, !tbaa !5
  %9759 = call ptr @__errno_location() #12
  store i32 %9758, ptr %9759, align 4, !tbaa !5
  %9760 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9761 = load i32, ptr @test_count, align 4, !tbaa !5
  %9762 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9763 = load i32, ptr %9762, align 4, !tbaa !5
  %9764 = call ptr @s2n_strerror(i32 noundef %9763, ptr noundef @.str.4)
  %9765 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9766 = load i32, ptr %9765, align 4, !tbaa !5
  %9767 = call ptr @s2n_strerror_debug(i32 noundef %9766, ptr noundef @.str.4)
  %9768 = call ptr @__errno_location() #12
  %9769 = load i32, ptr %9768, align 4, !tbaa !5
  %9770 = call ptr @strerror(i32 noundef %9769) #11
  %9771 = call ptr @__errno_location() #12
  %9772 = load i32, ptr %9771, align 4, !tbaa !5
  %9773 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9760, ptr noundef @.str.2, i32 noundef %9761, ptr noundef @.str.80, ptr noundef @.str.1, i32 noundef 352, ptr noundef %9764, ptr noundef %9767, ptr noundef %9770, i32 noundef %9772) #11
  br label %9791

9774:                                             ; preds = %9752, %9745
  %9775 = load i32, ptr %215, align 4, !tbaa !5
  %9776 = call ptr @__errno_location() #12
  store i32 %9775, ptr %9776, align 4, !tbaa !5
  %9777 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9778 = load i32, ptr @test_count, align 4, !tbaa !5
  %9779 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9780 = load i32, ptr %9779, align 4, !tbaa !5
  %9781 = call ptr @s2n_strerror(i32 noundef %9780, ptr noundef @.str.4)
  %9782 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9783 = load i32, ptr %9782, align 4, !tbaa !5
  %9784 = call ptr @s2n_strerror_debug(i32 noundef %9783, ptr noundef @.str.4)
  %9785 = call ptr @__errno_location() #12
  %9786 = load i32, ptr %9785, align 4, !tbaa !5
  %9787 = call ptr @strerror(i32 noundef %9786) #11
  %9788 = call ptr @__errno_location() #12
  %9789 = load i32, ptr %9788, align 4, !tbaa !5
  %9790 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9777, ptr noundef @.str.5, i32 noundef %9778, ptr noundef @.str.80, ptr noundef @.str.1, i32 noundef 352, ptr noundef %9781, ptr noundef %9784, ptr noundef %9787, i32 noundef %9789) #11
  br label %9791

9791:                                             ; preds = %9774, %9757
  call void @llvm.lifetime.end.p0(i64 4, ptr %215) #11
  br label %9792

9792:                                             ; preds = %9791
  br label %9793

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

9794:                                             ; No predecessors!
  br label %9795

9795:                                             ; preds = %9794
  br label %9796

9796:                                             ; preds = %9795, %9738
  br label %9797

9797:                                             ; preds = %9796
  br label %9798

9798:                                             ; preds = %9797
  call void @llvm.lifetime.end.p0(i64 8, ptr %209) #11
  %9799 = call i32 @s2n_io_pair_close(ptr noundef %205)
  call void @llvm.lifetime.end.p0(i64 8, ptr %205) #11
  %9800 = call i32 @s2n_connection_ptr_free(ptr noundef %202)
  %9801 = getelementptr inbounds %struct.s2n_result, ptr %216, i32 0, i32 0
  store i32 %9800, ptr %9801, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %202) #11
  %9802 = call i32 @s2n_connection_ptr_free(ptr noundef %199)
  %9803 = getelementptr inbounds %struct.s2n_result, ptr %217, i32 0, i32 0
  store i32 %9802, ptr %9803, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %199) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %218) #11
  %9804 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %9804, ptr %218, align 8, !tbaa !9
  br label %9805

9805:                                             ; preds = %9798
  %9806 = load i32, ptr @test_count, align 4, !tbaa !5
  %9807 = add nsw i32 %9806, 1
  store i32 %9807, ptr @test_count, align 4, !tbaa !5
  %9808 = load ptr, ptr %218, align 8, !tbaa !9
  %9809 = icmp eq ptr %9808, null
  br i1 %9809, label %9810, label %9863

9810:                                             ; preds = %9805
  br label %9811

9811:                                             ; preds = %9810
  br label %9812

9812:                                             ; preds = %9811
  call void @llvm.lifetime.start.p0(i64 4, ptr %219) #11
  %9813 = call ptr @__errno_location() #12
  %9814 = load i32, ptr %9813, align 4, !tbaa !5
  store i32 %9814, ptr %219, align 4, !tbaa !5
  %9815 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9816 = call i32 @s2n_print_stacktrace(ptr noundef %9815)
  %9817 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9818 = trunc i8 %9817 to i1
  br i1 %9818, label %9819, label %9841

9819:                                             ; preds = %9812
  %9820 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9821 = call i32 @fileno(ptr noundef %9820) #11
  %9822 = call i32 @isatty(i32 noundef %9821) #11
  %9823 = icmp ne i32 %9822, 0
  br i1 %9823, label %9824, label %9841

9824:                                             ; preds = %9819
  %9825 = load i32, ptr %219, align 4, !tbaa !5
  %9826 = call ptr @__errno_location() #12
  store i32 %9825, ptr %9826, align 4, !tbaa !5
  %9827 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9828 = load i32, ptr @test_count, align 4, !tbaa !5
  %9829 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9830 = load i32, ptr %9829, align 4, !tbaa !5
  %9831 = call ptr @s2n_strerror(i32 noundef %9830, ptr noundef @.str.4)
  %9832 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9833 = load i32, ptr %9832, align 4, !tbaa !5
  %9834 = call ptr @s2n_strerror_debug(i32 noundef %9833, ptr noundef @.str.4)
  %9835 = call ptr @__errno_location() #12
  %9836 = load i32, ptr %9835, align 4, !tbaa !5
  %9837 = call ptr @strerror(i32 noundef %9836) #11
  %9838 = call ptr @__errno_location() #12
  %9839 = load i32, ptr %9838, align 4, !tbaa !5
  %9840 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9827, ptr noundef @.str.2, i32 noundef %9828, ptr noundef @.str.23, ptr noundef @.str.1, i32 noundef 358, ptr noundef %9831, ptr noundef %9834, ptr noundef %9837, i32 noundef %9839) #11
  br label %9858

9841:                                             ; preds = %9819, %9812
  %9842 = load i32, ptr %219, align 4, !tbaa !5
  %9843 = call ptr @__errno_location() #12
  store i32 %9842, ptr %9843, align 4, !tbaa !5
  %9844 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9845 = load i32, ptr @test_count, align 4, !tbaa !5
  %9846 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9847 = load i32, ptr %9846, align 4, !tbaa !5
  %9848 = call ptr @s2n_strerror(i32 noundef %9847, ptr noundef @.str.4)
  %9849 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9850 = load i32, ptr %9849, align 4, !tbaa !5
  %9851 = call ptr @s2n_strerror_debug(i32 noundef %9850, ptr noundef @.str.4)
  %9852 = call ptr @__errno_location() #12
  %9853 = load i32, ptr %9852, align 4, !tbaa !5
  %9854 = call ptr @strerror(i32 noundef %9853) #11
  %9855 = call ptr @__errno_location() #12
  %9856 = load i32, ptr %9855, align 4, !tbaa !5
  %9857 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9844, ptr noundef @.str.5, i32 noundef %9845, ptr noundef @.str.23, ptr noundef @.str.1, i32 noundef 358, ptr noundef %9848, ptr noundef %9851, ptr noundef %9854, i32 noundef %9856) #11
  br label %9858

9858:                                             ; preds = %9841, %9824
  call void @llvm.lifetime.end.p0(i64 4, ptr %219) #11
  br label %9859

9859:                                             ; preds = %9858
  br label %9860

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

9861:                                             ; No predecessors!
  br label %9862

9862:                                             ; preds = %9861
  br label %9863

9863:                                             ; preds = %9862, %9805
  br label %9864

9864:                                             ; preds = %9863
  br label %9865

9865:                                             ; preds = %9864
  br label %9866

9866:                                             ; preds = %9865
  %9867 = load i32, ptr @test_count, align 4, !tbaa !5
  %9868 = add nsw i32 %9867, 1
  store i32 %9868, ptr @test_count, align 4, !tbaa !5
  %9869 = load ptr, ptr %218, align 8, !tbaa !9
  %9870 = load ptr, ptr %15, align 8, !tbaa !9
  %9871 = call i32 @s2n_connection_set_config(ptr noundef %9869, ptr noundef %9870)
  %9872 = icmp eq i32 %9871, -1
  br i1 %9872, label %9873, label %9926

9873:                                             ; preds = %9866
  br label %9874

9874:                                             ; preds = %9873
  br label %9875

9875:                                             ; preds = %9874
  call void @llvm.lifetime.start.p0(i64 4, ptr %220) #11
  %9876 = call ptr @__errno_location() #12
  %9877 = load i32, ptr %9876, align 4, !tbaa !5
  store i32 %9877, ptr %220, align 4, !tbaa !5
  %9878 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9879 = call i32 @s2n_print_stacktrace(ptr noundef %9878)
  %9880 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9881 = trunc i8 %9880 to i1
  br i1 %9881, label %9882, label %9904

9882:                                             ; preds = %9875
  %9883 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9884 = call i32 @fileno(ptr noundef %9883) #11
  %9885 = call i32 @isatty(i32 noundef %9884) #11
  %9886 = icmp ne i32 %9885, 0
  br i1 %9886, label %9887, label %9904

9887:                                             ; preds = %9882
  %9888 = load i32, ptr %220, align 4, !tbaa !5
  %9889 = call ptr @__errno_location() #12
  store i32 %9888, ptr %9889, align 4, !tbaa !5
  %9890 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9891 = load i32, ptr @test_count, align 4, !tbaa !5
  %9892 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9893 = load i32, ptr %9892, align 4, !tbaa !5
  %9894 = call ptr @s2n_strerror(i32 noundef %9893, ptr noundef @.str.4)
  %9895 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9896 = load i32, ptr %9895, align 4, !tbaa !5
  %9897 = call ptr @s2n_strerror_debug(i32 noundef %9896, ptr noundef @.str.4)
  %9898 = call ptr @__errno_location() #12
  %9899 = load i32, ptr %9898, align 4, !tbaa !5
  %9900 = call ptr @strerror(i32 noundef %9899) #11
  %9901 = call ptr @__errno_location() #12
  %9902 = load i32, ptr %9901, align 4, !tbaa !5
  %9903 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9890, ptr noundef @.str.2, i32 noundef %9891, ptr noundef @.str.24, ptr noundef @.str.1, i32 noundef 359, ptr noundef %9894, ptr noundef %9897, ptr noundef %9900, i32 noundef %9902) #11
  br label %9921

9904:                                             ; preds = %9882, %9875
  %9905 = load i32, ptr %220, align 4, !tbaa !5
  %9906 = call ptr @__errno_location() #12
  store i32 %9905, ptr %9906, align 4, !tbaa !5
  %9907 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9908 = load i32, ptr @test_count, align 4, !tbaa !5
  %9909 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9910 = load i32, ptr %9909, align 4, !tbaa !5
  %9911 = call ptr @s2n_strerror(i32 noundef %9910, ptr noundef @.str.4)
  %9912 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9913 = load i32, ptr %9912, align 4, !tbaa !5
  %9914 = call ptr @s2n_strerror_debug(i32 noundef %9913, ptr noundef @.str.4)
  %9915 = call ptr @__errno_location() #12
  %9916 = load i32, ptr %9915, align 4, !tbaa !5
  %9917 = call ptr @strerror(i32 noundef %9916) #11
  %9918 = call ptr @__errno_location() #12
  %9919 = load i32, ptr %9918, align 4, !tbaa !5
  %9920 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9907, ptr noundef @.str.5, i32 noundef %9908, ptr noundef @.str.24, ptr noundef @.str.1, i32 noundef 359, ptr noundef %9911, ptr noundef %9914, ptr noundef %9917, i32 noundef %9919) #11
  br label %9921

9921:                                             ; preds = %9904, %9887
  call void @llvm.lifetime.end.p0(i64 4, ptr %220) #11
  br label %9922

9922:                                             ; preds = %9921
  br label %9923

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

9924:                                             ; No predecessors!
  br label %9925

9925:                                             ; preds = %9924
  br label %9926

9926:                                             ; preds = %9925, %9866
  br label %9927

9927:                                             ; preds = %9926
  br label %9928

9928:                                             ; preds = %9927
  %9929 = load ptr, ptr %218, align 8, !tbaa !9
  %9930 = getelementptr inbounds %struct.s2n_connection, ptr %9929, i32 0, i32 23
  store i8 33, ptr %9930, align 4, !tbaa !48
  br label %9931

9931:                                             ; preds = %9928
  %9932 = load i32, ptr @test_count, align 4, !tbaa !5
  %9933 = add nsw i32 %9932, 1
  store i32 %9933, ptr @test_count, align 4, !tbaa !5
  %9934 = load ptr, ptr %218, align 8, !tbaa !9
  %9935 = load i32, ptr %9934, align 8
  %9936 = lshr i32 %9935, 3
  %9937 = and i32 %9936, 1
  %9938 = icmp ne i32 %9937, 0
  br i1 %9938, label %9939, label %9992

9939:                                             ; preds = %9931
  br label %9940

9940:                                             ; preds = %9939
  br label %9941

9941:                                             ; preds = %9940
  call void @llvm.lifetime.start.p0(i64 4, ptr %221) #11
  %9942 = call ptr @__errno_location() #12
  %9943 = load i32, ptr %9942, align 4, !tbaa !5
  store i32 %9943, ptr %221, align 4, !tbaa !5
  %9944 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9945 = call i32 @s2n_print_stacktrace(ptr noundef %9944)
  %9946 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9947 = trunc i8 %9946 to i1
  br i1 %9947, label %9948, label %9970

9948:                                             ; preds = %9941
  %9949 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9950 = call i32 @fileno(ptr noundef %9949) #11
  %9951 = call i32 @isatty(i32 noundef %9950) #11
  %9952 = icmp ne i32 %9951, 0
  br i1 %9952, label %9953, label %9970

9953:                                             ; preds = %9948
  %9954 = load i32, ptr %221, align 4, !tbaa !5
  %9955 = call ptr @__errno_location() #12
  store i32 %9954, ptr %9955, align 4, !tbaa !5
  %9956 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9957 = load i32, ptr @test_count, align 4, !tbaa !5
  %9958 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9959 = load i32, ptr %9958, align 4, !tbaa !5
  %9960 = call ptr @s2n_strerror(i32 noundef %9959, ptr noundef @.str.4)
  %9961 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9962 = load i32, ptr %9961, align 4, !tbaa !5
  %9963 = call ptr @s2n_strerror_debug(i32 noundef %9962, ptr noundef @.str.4)
  %9964 = call ptr @__errno_location() #12
  %9965 = load i32, ptr %9964, align 4, !tbaa !5
  %9966 = call ptr @strerror(i32 noundef %9965) #11
  %9967 = call ptr @__errno_location() #12
  %9968 = load i32, ptr %9967, align 4, !tbaa !5
  %9969 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9956, ptr noundef @.str.2, i32 noundef %9957, ptr noundef @.str.81, ptr noundef @.str.1, i32 noundef 362, ptr noundef %9960, ptr noundef %9963, ptr noundef %9966, i32 noundef %9968) #11
  br label %9987

9970:                                             ; preds = %9948, %9941
  %9971 = load i32, ptr %221, align 4, !tbaa !5
  %9972 = call ptr @__errno_location() #12
  store i32 %9971, ptr %9972, align 4, !tbaa !5
  %9973 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9974 = load i32, ptr @test_count, align 4, !tbaa !5
  %9975 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9976 = load i32, ptr %9975, align 4, !tbaa !5
  %9977 = call ptr @s2n_strerror(i32 noundef %9976, ptr noundef @.str.4)
  %9978 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9979 = load i32, ptr %9978, align 4, !tbaa !5
  %9980 = call ptr @s2n_strerror_debug(i32 noundef %9979, ptr noundef @.str.4)
  %9981 = call ptr @__errno_location() #12
  %9982 = load i32, ptr %9981, align 4, !tbaa !5
  %9983 = call ptr @strerror(i32 noundef %9982) #11
  %9984 = call ptr @__errno_location() #12
  %9985 = load i32, ptr %9984, align 4, !tbaa !5
  %9986 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9973, ptr noundef @.str.5, i32 noundef %9974, ptr noundef @.str.81, ptr noundef @.str.1, i32 noundef 362, ptr noundef %9977, ptr noundef %9980, ptr noundef %9983, i32 noundef %9985) #11
  br label %9987

9987:                                             ; preds = %9970, %9953
  call void @llvm.lifetime.end.p0(i64 4, ptr %221) #11
  br label %9988

9988:                                             ; preds = %9987
  br label %9989

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

9990:                                             ; No predecessors!
  br label %9991

9991:                                             ; preds = %9990
  br label %9992

9992:                                             ; preds = %9991, %9931
  br label %9993

9993:                                             ; preds = %9992
  br label %9994

9994:                                             ; preds = %9993
  br label %9995

9995:                                             ; preds = %9994
  br label %9996

9996:                                             ; preds = %9995
  br label %9997

9997:                                             ; preds = %9996
  %9998 = load i32, ptr @test_count, align 4, !tbaa !5
  %9999 = add nsw i32 %9998, 1
  store i32 %9999, ptr @test_count, align 4, !tbaa !5
  %10000 = load ptr, ptr %218, align 8, !tbaa !9
  %10001 = call i32 @s2n_renegotiate_wipe(ptr noundef %10000)
  %10002 = icmp eq i32 %10001, -1
  br i1 %10002, label %10056, label %10003

10003:                                            ; preds = %9997
  br label %10004

10004:                                            ; preds = %10003
  br label %10005

10005:                                            ; preds = %10004
  call void @llvm.lifetime.start.p0(i64 4, ptr %222) #11
  %10006 = call ptr @__errno_location() #12
  %10007 = load i32, ptr %10006, align 4, !tbaa !5
  store i32 %10007, ptr %222, align 4, !tbaa !5
  %10008 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10009 = call i32 @s2n_print_stacktrace(ptr noundef %10008)
  %10010 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10011 = trunc i8 %10010 to i1
  br i1 %10011, label %10012, label %10034

10012:                                            ; preds = %10005
  %10013 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10014 = call i32 @fileno(ptr noundef %10013) #11
  %10015 = call i32 @isatty(i32 noundef %10014) #11
  %10016 = icmp ne i32 %10015, 0
  br i1 %10016, label %10017, label %10034

10017:                                            ; preds = %10012
  %10018 = load i32, ptr %222, align 4, !tbaa !5
  %10019 = call ptr @__errno_location() #12
  store i32 %10018, ptr %10019, align 4, !tbaa !5
  %10020 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10021 = load i32, ptr @test_count, align 4, !tbaa !5
  %10022 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10023 = load i32, ptr %10022, align 4, !tbaa !5
  %10024 = call ptr @s2n_strerror(i32 noundef %10023, ptr noundef @.str.4)
  %10025 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10026 = load i32, ptr %10025, align 4, !tbaa !5
  %10027 = call ptr @s2n_strerror_debug(i32 noundef %10026, ptr noundef @.str.4)
  %10028 = call ptr @__errno_location() #12
  %10029 = load i32, ptr %10028, align 4, !tbaa !5
  %10030 = call ptr @strerror(i32 noundef %10029) #11
  %10031 = call ptr @__errno_location() #12
  %10032 = load i32, ptr %10031, align 4, !tbaa !5
  %10033 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10020, ptr noundef @.str.2, i32 noundef %10021, ptr noundef @.str.82, ptr noundef @.str.1, i32 noundef 363, ptr noundef %10024, ptr noundef %10027, ptr noundef %10030, i32 noundef %10032) #11
  br label %10051

10034:                                            ; preds = %10012, %10005
  %10035 = load i32, ptr %222, align 4, !tbaa !5
  %10036 = call ptr @__errno_location() #12
  store i32 %10035, ptr %10036, align 4, !tbaa !5
  %10037 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10038 = load i32, ptr @test_count, align 4, !tbaa !5
  %10039 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10040 = load i32, ptr %10039, align 4, !tbaa !5
  %10041 = call ptr @s2n_strerror(i32 noundef %10040, ptr noundef @.str.4)
  %10042 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10043 = load i32, ptr %10042, align 4, !tbaa !5
  %10044 = call ptr @s2n_strerror_debug(i32 noundef %10043, ptr noundef @.str.4)
  %10045 = call ptr @__errno_location() #12
  %10046 = load i32, ptr %10045, align 4, !tbaa !5
  %10047 = call ptr @strerror(i32 noundef %10046) #11
  %10048 = call ptr @__errno_location() #12
  %10049 = load i32, ptr %10048, align 4, !tbaa !5
  %10050 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10037, ptr noundef @.str.5, i32 noundef %10038, ptr noundef @.str.82, ptr noundef @.str.1, i32 noundef 363, ptr noundef %10041, ptr noundef %10044, ptr noundef %10047, i32 noundef %10049) #11
  br label %10051

10051:                                            ; preds = %10034, %10017
  call void @llvm.lifetime.end.p0(i64 4, ptr %222) #11
  br label %10052

10052:                                            ; preds = %10051
  br label %10053

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

10054:                                            ; No predecessors!
  br label %10055

10055:                                            ; preds = %10054
  br label %10056

10056:                                            ; preds = %10055, %9997
  br label %10057

10057:                                            ; preds = %10056
  br label %10058

10058:                                            ; preds = %10057
  br label %10059

10059:                                            ; preds = %10058
  %10060 = load i32, ptr @test_count, align 4, !tbaa !5
  %10061 = add nsw i32 %10060, 1
  store i32 %10061, ptr @test_count, align 4, !tbaa !5
  %10062 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10063 = load i32, ptr %10062, align 4, !tbaa !5
  %10064 = icmp eq i32 %10063, 335544398
  br i1 %10064, label %10118, label %10065

10065:                                            ; preds = %10059
  br label %10066

10066:                                            ; preds = %10065
  br label %10067

10067:                                            ; preds = %10066
  call void @llvm.lifetime.start.p0(i64 4, ptr %223) #11
  %10068 = call ptr @__errno_location() #12
  %10069 = load i32, ptr %10068, align 4, !tbaa !5
  store i32 %10069, ptr %223, align 4, !tbaa !5
  %10070 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10071 = call i32 @s2n_print_stacktrace(ptr noundef %10070)
  %10072 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10073 = trunc i8 %10072 to i1
  br i1 %10073, label %10074, label %10096

10074:                                            ; preds = %10067
  %10075 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10076 = call i32 @fileno(ptr noundef %10075) #11
  %10077 = call i32 @isatty(i32 noundef %10076) #11
  %10078 = icmp ne i32 %10077, 0
  br i1 %10078, label %10079, label %10096

10079:                                            ; preds = %10074
  %10080 = load i32, ptr %223, align 4, !tbaa !5
  %10081 = call ptr @__errno_location() #12
  store i32 %10080, ptr %10081, align 4, !tbaa !5
  %10082 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10083 = load i32, ptr @test_count, align 4, !tbaa !5
  %10084 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10085 = load i32, ptr %10084, align 4, !tbaa !5
  %10086 = call ptr @s2n_strerror(i32 noundef %10085, ptr noundef @.str.4)
  %10087 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10088 = load i32, ptr %10087, align 4, !tbaa !5
  %10089 = call ptr @s2n_strerror_debug(i32 noundef %10088, ptr noundef @.str.4)
  %10090 = call ptr @__errno_location() #12
  %10091 = load i32, ptr %10090, align 4, !tbaa !5
  %10092 = call ptr @strerror(i32 noundef %10091) #11
  %10093 = call ptr @__errno_location() #12
  %10094 = load i32, ptr %10093, align 4, !tbaa !5
  %10095 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10082, ptr noundef @.str.2, i32 noundef %10083, ptr noundef @.str.83, ptr noundef @.str.1, i32 noundef 363, ptr noundef %10086, ptr noundef %10089, ptr noundef %10092, i32 noundef %10094) #11
  br label %10113

10096:                                            ; preds = %10074, %10067
  %10097 = load i32, ptr %223, align 4, !tbaa !5
  %10098 = call ptr @__errno_location() #12
  store i32 %10097, ptr %10098, align 4, !tbaa !5
  %10099 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10100 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %10102, ptr noundef @.str.4)
  %10104 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10105 = load i32, ptr %10104, align 4, !tbaa !5
  %10106 = call ptr @s2n_strerror_debug(i32 noundef %10105, ptr noundef @.str.4)
  %10107 = call ptr @__errno_location() #12
  %10108 = load i32, ptr %10107, align 4, !tbaa !5
  %10109 = call ptr @strerror(i32 noundef %10108) #11
  %10110 = call ptr @__errno_location() #12
  %10111 = load i32, ptr %10110, align 4, !tbaa !5
  %10112 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10099, ptr noundef @.str.5, i32 noundef %10100, ptr noundef @.str.83, ptr noundef @.str.1, i32 noundef 363, ptr noundef %10103, ptr noundef %10106, ptr noundef %10109, i32 noundef %10111) #11
  br label %10113

10113:                                            ; preds = %10096, %10079
  call void @llvm.lifetime.end.p0(i64 4, ptr %223) #11
  br label %10114

10114:                                            ; preds = %10113
  br label %10115

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

10116:                                            ; No predecessors!
  br label %10117

10117:                                            ; preds = %10116
  br label %10118

10118:                                            ; preds = %10117, %10059
  br label %10119

10119:                                            ; preds = %10118
  br label %10120

10120:                                            ; preds = %10119
  br label %10121

10121:                                            ; preds = %10120
  %10122 = load i32, ptr @test_count, align 4, !tbaa !5
  %10123 = add nsw i32 %10122, 1
  store i32 %10123, ptr @test_count, align 4, !tbaa !5
  %10124 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10125 = load i32, ptr %10124, align 4, !tbaa !5
  %10126 = call ptr @s2n_strerror_debug(i32 noundef %10125, ptr noundef @.str.4)
  %10127 = icmp eq ptr %10126, null
  br i1 %10127, label %10128, label %10181

10128:                                            ; preds = %10121
  br label %10129

10129:                                            ; preds = %10128
  br label %10130

10130:                                            ; preds = %10129
  call void @llvm.lifetime.start.p0(i64 4, ptr %224) #11
  %10131 = call ptr @__errno_location() #12
  %10132 = load i32, ptr %10131, align 4, !tbaa !5
  store i32 %10132, ptr %224, align 4, !tbaa !5
  %10133 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10134 = call i32 @s2n_print_stacktrace(ptr noundef %10133)
  %10135 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10136 = trunc i8 %10135 to i1
  br i1 %10136, label %10137, label %10159

10137:                                            ; preds = %10130
  %10138 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10139 = call i32 @fileno(ptr noundef %10138) #11
  %10140 = call i32 @isatty(i32 noundef %10139) #11
  %10141 = icmp ne i32 %10140, 0
  br i1 %10141, label %10142, label %10159

10142:                                            ; preds = %10137
  %10143 = load i32, ptr %224, align 4, !tbaa !5
  %10144 = call ptr @__errno_location() #12
  store i32 %10143, ptr %10144, align 4, !tbaa !5
  %10145 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10146 = load i32, ptr @test_count, align 4, !tbaa !5
  %10147 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10148 = load i32, ptr %10147, align 4, !tbaa !5
  %10149 = call ptr @s2n_strerror(i32 noundef %10148, ptr noundef @.str.4)
  %10150 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10151 = load i32, ptr %10150, align 4, !tbaa !5
  %10152 = call ptr @s2n_strerror_debug(i32 noundef %10151, ptr noundef @.str.4)
  %10153 = call ptr @__errno_location() #12
  %10154 = load i32, ptr %10153, align 4, !tbaa !5
  %10155 = call ptr @strerror(i32 noundef %10154) #11
  %10156 = call ptr @__errno_location() #12
  %10157 = load i32, ptr %10156, align 4, !tbaa !5
  %10158 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10145, ptr noundef @.str.2, i32 noundef %10146, ptr noundef @.str.84, ptr noundef @.str.1, i32 noundef 363, ptr noundef %10149, ptr noundef %10152, ptr noundef %10155, i32 noundef %10157) #11
  br label %10176

10159:                                            ; preds = %10137, %10130
  %10160 = load i32, ptr %224, align 4, !tbaa !5
  %10161 = call ptr @__errno_location() #12
  store i32 %10160, ptr %10161, align 4, !tbaa !5
  %10162 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10163 = load i32, ptr @test_count, align 4, !tbaa !5
  %10164 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10165 = load i32, ptr %10164, align 4, !tbaa !5
  %10166 = call ptr @s2n_strerror(i32 noundef %10165, ptr noundef @.str.4)
  %10167 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10168 = load i32, ptr %10167, align 4, !tbaa !5
  %10169 = call ptr @s2n_strerror_debug(i32 noundef %10168, ptr noundef @.str.4)
  %10170 = call ptr @__errno_location() #12
  %10171 = load i32, ptr %10170, align 4, !tbaa !5
  %10172 = call ptr @strerror(i32 noundef %10171) #11
  %10173 = call ptr @__errno_location() #12
  %10174 = load i32, ptr %10173, align 4, !tbaa !5
  %10175 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10162, ptr noundef @.str.5, i32 noundef %10163, ptr noundef @.str.84, ptr noundef @.str.1, i32 noundef 363, ptr noundef %10166, ptr noundef %10169, ptr noundef %10172, i32 noundef %10174) #11
  br label %10176

10176:                                            ; preds = %10159, %10142
  call void @llvm.lifetime.end.p0(i64 4, ptr %224) #11
  br label %10177

10177:                                            ; preds = %10176
  br label %10178

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

10179:                                            ; No predecessors!
  br label %10180

10180:                                            ; preds = %10179
  br label %10181

10181:                                            ; preds = %10180, %10121
  br label %10182

10182:                                            ; preds = %10181
  br label %10183

10183:                                            ; preds = %10182
  br label %10184

10184:                                            ; preds = %10183
  br label %10185

10185:                                            ; preds = %10184
  br label %10186

10186:                                            ; preds = %10185
  %10187 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %10187, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %10188 = call ptr @__errno_location() #12
  store i32 0, ptr %10188, align 4, !tbaa !5
  br label %10189

10189:                                            ; preds = %10186
  br label %10190

10190:                                            ; preds = %10189
  br label %10191

10191:                                            ; preds = %10190
  br label %10192

10192:                                            ; preds = %10191
  %10193 = load ptr, ptr %218, align 8, !tbaa !9
  %10194 = load i32, ptr %10193, align 8
  %10195 = and i32 %10194, -9
  %10196 = or i32 %10195, 8
  store i32 %10196, ptr %10193, align 8
  br label %10197

10197:                                            ; preds = %10192
  %10198 = load i32, ptr @test_count, align 4, !tbaa !5
  %10199 = add nsw i32 %10198, 1
  store i32 %10199, ptr @test_count, align 4, !tbaa !5
  %10200 = load ptr, ptr %218, align 8, !tbaa !9
  %10201 = call i32 @s2n_renegotiate_wipe(ptr noundef %10200)
  %10202 = icmp eq i32 %10201, -1
  br i1 %10202, label %10203, label %10256

10203:                                            ; preds = %10197
  br label %10204

10204:                                            ; preds = %10203
  br label %10205

10205:                                            ; preds = %10204
  call void @llvm.lifetime.start.p0(i64 4, ptr %225) #11
  %10206 = call ptr @__errno_location() #12
  %10207 = load i32, ptr %10206, align 4, !tbaa !5
  store i32 %10207, ptr %225, align 4, !tbaa !5
  %10208 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10209 = call i32 @s2n_print_stacktrace(ptr noundef %10208)
  %10210 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10211 = trunc i8 %10210 to i1
  br i1 %10211, label %10212, label %10234

10212:                                            ; preds = %10205
  %10213 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10214 = call i32 @fileno(ptr noundef %10213) #11
  %10215 = call i32 @isatty(i32 noundef %10214) #11
  %10216 = icmp ne i32 %10215, 0
  br i1 %10216, label %10217, label %10234

10217:                                            ; preds = %10212
  %10218 = load i32, ptr %225, align 4, !tbaa !5
  %10219 = call ptr @__errno_location() #12
  store i32 %10218, ptr %10219, align 4, !tbaa !5
  %10220 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10221 = load i32, ptr @test_count, align 4, !tbaa !5
  %10222 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10223 = load i32, ptr %10222, align 4, !tbaa !5
  %10224 = call ptr @s2n_strerror(i32 noundef %10223, ptr noundef @.str.4)
  %10225 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10226 = load i32, ptr %10225, align 4, !tbaa !5
  %10227 = call ptr @s2n_strerror_debug(i32 noundef %10226, ptr noundef @.str.4)
  %10228 = call ptr @__errno_location() #12
  %10229 = load i32, ptr %10228, align 4, !tbaa !5
  %10230 = call ptr @strerror(i32 noundef %10229) #11
  %10231 = call ptr @__errno_location() #12
  %10232 = load i32, ptr %10231, align 4, !tbaa !5
  %10233 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10220, ptr noundef @.str.2, i32 noundef %10221, ptr noundef @.str.33, ptr noundef @.str.1, i32 noundef 365, ptr noundef %10224, ptr noundef %10227, ptr noundef %10230, i32 noundef %10232) #11
  br label %10251

10234:                                            ; preds = %10212, %10205
  %10235 = load i32, ptr %225, align 4, !tbaa !5
  %10236 = call ptr @__errno_location() #12
  store i32 %10235, ptr %10236, align 4, !tbaa !5
  %10237 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10238 = load i32, ptr @test_count, align 4, !tbaa !5
  %10239 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10240 = load i32, ptr %10239, align 4, !tbaa !5
  %10241 = call ptr @s2n_strerror(i32 noundef %10240, ptr noundef @.str.4)
  %10242 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10243 = load i32, ptr %10242, align 4, !tbaa !5
  %10244 = call ptr @s2n_strerror_debug(i32 noundef %10243, ptr noundef @.str.4)
  %10245 = call ptr @__errno_location() #12
  %10246 = load i32, ptr %10245, align 4, !tbaa !5
  %10247 = call ptr @strerror(i32 noundef %10246) #11
  %10248 = call ptr @__errno_location() #12
  %10249 = load i32, ptr %10248, align 4, !tbaa !5
  %10250 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10237, ptr noundef @.str.5, i32 noundef %10238, ptr noundef @.str.33, ptr noundef @.str.1, i32 noundef 365, ptr noundef %10241, ptr noundef %10244, ptr noundef %10247, i32 noundef %10249) #11
  br label %10251

10251:                                            ; preds = %10234, %10217
  call void @llvm.lifetime.end.p0(i64 4, ptr %225) #11
  br label %10252

10252:                                            ; preds = %10251
  br label %10253

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

10254:                                            ; No predecessors!
  br label %10255

10255:                                            ; preds = %10254
  br label %10256

10256:                                            ; preds = %10255, %10197
  br label %10257

10257:                                            ; preds = %10256
  br label %10258

10258:                                            ; preds = %10257
  %10259 = call i32 @s2n_connection_ptr_free(ptr noundef %218)
  %10260 = getelementptr inbounds %struct.s2n_result, ptr %226, i32 0, i32 0
  store i32 %10259, ptr %10260, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %218) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %227) #11
  %10261 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %10261, ptr %227, align 8, !tbaa !9
  br label %10262

10262:                                            ; preds = %10258
  %10263 = load i32, ptr @test_count, align 4, !tbaa !5
  %10264 = add nsw i32 %10263, 1
  store i32 %10264, ptr @test_count, align 4, !tbaa !5
  %10265 = load ptr, ptr %227, align 8, !tbaa !9
  %10266 = icmp eq ptr %10265, null
  br i1 %10266, label %10267, label %10320

10267:                                            ; preds = %10262
  br label %10268

10268:                                            ; preds = %10267
  br label %10269

10269:                                            ; preds = %10268
  call void @llvm.lifetime.start.p0(i64 4, ptr %228) #11
  %10270 = call ptr @__errno_location() #12
  %10271 = load i32, ptr %10270, align 4, !tbaa !5
  store i32 %10271, ptr %228, align 4, !tbaa !5
  %10272 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10273 = call i32 @s2n_print_stacktrace(ptr noundef %10272)
  %10274 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10275 = trunc i8 %10274 to i1
  br i1 %10275, label %10276, label %10298

10276:                                            ; preds = %10269
  %10277 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10278 = call i32 @fileno(ptr noundef %10277) #11
  %10279 = call i32 @isatty(i32 noundef %10278) #11
  %10280 = icmp ne i32 %10279, 0
  br i1 %10280, label %10281, label %10298

10281:                                            ; preds = %10276
  %10282 = load i32, ptr %228, align 4, !tbaa !5
  %10283 = call ptr @__errno_location() #12
  store i32 %10282, ptr %10283, align 4, !tbaa !5
  %10284 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10285 = load i32, ptr @test_count, align 4, !tbaa !5
  %10286 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10287 = load i32, ptr %10286, align 4, !tbaa !5
  %10288 = call ptr @s2n_strerror(i32 noundef %10287, ptr noundef @.str.4)
  %10289 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10290 = load i32, ptr %10289, align 4, !tbaa !5
  %10291 = call ptr @s2n_strerror_debug(i32 noundef %10290, ptr noundef @.str.4)
  %10292 = call ptr @__errno_location() #12
  %10293 = load i32, ptr %10292, align 4, !tbaa !5
  %10294 = call ptr @strerror(i32 noundef %10293) #11
  %10295 = call ptr @__errno_location() #12
  %10296 = load i32, ptr %10295, align 4, !tbaa !5
  %10297 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10284, ptr noundef @.str.2, i32 noundef %10285, ptr noundef @.str.23, ptr noundef @.str.1, i32 noundef 371, ptr noundef %10288, ptr noundef %10291, ptr noundef %10294, i32 noundef %10296) #11
  br label %10315

10298:                                            ; preds = %10276, %10269
  %10299 = load i32, ptr %228, align 4, !tbaa !5
  %10300 = call ptr @__errno_location() #12
  store i32 %10299, ptr %10300, align 4, !tbaa !5
  %10301 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10302 = load i32, ptr @test_count, align 4, !tbaa !5
  %10303 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10304 = load i32, ptr %10303, align 4, !tbaa !5
  %10305 = call ptr @s2n_strerror(i32 noundef %10304, ptr noundef @.str.4)
  %10306 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10307 = load i32, ptr %10306, align 4, !tbaa !5
  %10308 = call ptr @s2n_strerror_debug(i32 noundef %10307, ptr noundef @.str.4)
  %10309 = call ptr @__errno_location() #12
  %10310 = load i32, ptr %10309, align 4, !tbaa !5
  %10311 = call ptr @strerror(i32 noundef %10310) #11
  %10312 = call ptr @__errno_location() #12
  %10313 = load i32, ptr %10312, align 4, !tbaa !5
  %10314 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10301, ptr noundef @.str.5, i32 noundef %10302, ptr noundef @.str.23, ptr noundef @.str.1, i32 noundef 371, ptr noundef %10305, ptr noundef %10308, ptr noundef %10311, i32 noundef %10313) #11
  br label %10315

10315:                                            ; preds = %10298, %10281
  call void @llvm.lifetime.end.p0(i64 4, ptr %228) #11
  br label %10316

10316:                                            ; preds = %10315
  br label %10317

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

10318:                                            ; No predecessors!
  br label %10319

10319:                                            ; preds = %10318
  br label %10320

10320:                                            ; preds = %10319, %10262
  br label %10321

10321:                                            ; preds = %10320
  br label %10322

10322:                                            ; preds = %10321
  br label %10323

10323:                                            ; preds = %10322
  %10324 = load i32, ptr @test_count, align 4, !tbaa !5
  %10325 = add nsw i32 %10324, 1
  store i32 %10325, ptr @test_count, align 4, !tbaa !5
  %10326 = load ptr, ptr %227, align 8, !tbaa !9
  %10327 = load ptr, ptr %15, align 8, !tbaa !9
  %10328 = call i32 @s2n_connection_set_config(ptr noundef %10326, ptr noundef %10327)
  %10329 = icmp eq i32 %10328, -1
  br i1 %10329, label %10330, label %10383

10330:                                            ; preds = %10323
  br label %10331

10331:                                            ; preds = %10330
  br label %10332

10332:                                            ; preds = %10331
  call void @llvm.lifetime.start.p0(i64 4, ptr %229) #11
  %10333 = call ptr @__errno_location() #12
  %10334 = load i32, ptr %10333, align 4, !tbaa !5
  store i32 %10334, ptr %229, align 4, !tbaa !5
  %10335 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10336 = call i32 @s2n_print_stacktrace(ptr noundef %10335)
  %10337 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10338 = trunc i8 %10337 to i1
  br i1 %10338, label %10339, label %10361

10339:                                            ; preds = %10332
  %10340 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10341 = call i32 @fileno(ptr noundef %10340) #11
  %10342 = call i32 @isatty(i32 noundef %10341) #11
  %10343 = icmp ne i32 %10342, 0
  br i1 %10343, label %10344, label %10361

10344:                                            ; preds = %10339
  %10345 = load i32, ptr %229, align 4, !tbaa !5
  %10346 = call ptr @__errno_location() #12
  store i32 %10345, ptr %10346, align 4, !tbaa !5
  %10347 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10348 = load i32, ptr @test_count, align 4, !tbaa !5
  %10349 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10350 = load i32, ptr %10349, align 4, !tbaa !5
  %10351 = call ptr @s2n_strerror(i32 noundef %10350, ptr noundef @.str.4)
  %10352 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10353 = load i32, ptr %10352, align 4, !tbaa !5
  %10354 = call ptr @s2n_strerror_debug(i32 noundef %10353, ptr noundef @.str.4)
  %10355 = call ptr @__errno_location() #12
  %10356 = load i32, ptr %10355, align 4, !tbaa !5
  %10357 = call ptr @strerror(i32 noundef %10356) #11
  %10358 = call ptr @__errno_location() #12
  %10359 = load i32, ptr %10358, align 4, !tbaa !5
  %10360 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10347, ptr noundef @.str.2, i32 noundef %10348, ptr noundef @.str.24, ptr noundef @.str.1, i32 noundef 372, ptr noundef %10351, ptr noundef %10354, ptr noundef %10357, i32 noundef %10359) #11
  br label %10378

10361:                                            ; preds = %10339, %10332
  %10362 = load i32, ptr %229, align 4, !tbaa !5
  %10363 = call ptr @__errno_location() #12
  store i32 %10362, ptr %10363, align 4, !tbaa !5
  %10364 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10365 = load i32, ptr @test_count, align 4, !tbaa !5
  %10366 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10367 = load i32, ptr %10366, align 4, !tbaa !5
  %10368 = call ptr @s2n_strerror(i32 noundef %10367, ptr noundef @.str.4)
  %10369 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10370 = load i32, ptr %10369, align 4, !tbaa !5
  %10371 = call ptr @s2n_strerror_debug(i32 noundef %10370, ptr noundef @.str.4)
  %10372 = call ptr @__errno_location() #12
  %10373 = load i32, ptr %10372, align 4, !tbaa !5
  %10374 = call ptr @strerror(i32 noundef %10373) #11
  %10375 = call ptr @__errno_location() #12
  %10376 = load i32, ptr %10375, align 4, !tbaa !5
  %10377 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10364, ptr noundef @.str.5, i32 noundef %10365, ptr noundef @.str.24, ptr noundef @.str.1, i32 noundef 372, ptr noundef %10368, ptr noundef %10371, ptr noundef %10374, i32 noundef %10376) #11
  br label %10378

10378:                                            ; preds = %10361, %10344
  call void @llvm.lifetime.end.p0(i64 4, ptr %229) #11
  br label %10379

10379:                                            ; preds = %10378
  br label %10380

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

10381:                                            ; No predecessors!
  br label %10382

10382:                                            ; preds = %10381
  br label %10383

10383:                                            ; preds = %10382, %10323
  br label %10384

10384:                                            ; preds = %10383
  br label %10385

10385:                                            ; preds = %10384
  %10386 = load ptr, ptr %227, align 8, !tbaa !9
  %10387 = load i32, ptr %10386, align 8
  %10388 = and i32 %10387, -9
  %10389 = or i32 %10388, 8
  store i32 %10389, ptr %10386, align 8
  br label %10390

10390:                                            ; preds = %10385
  %10391 = load i32, ptr @test_count, align 4, !tbaa !5
  %10392 = add nsw i32 %10391, 1
  store i32 %10392, ptr @test_count, align 4, !tbaa !5
  %10393 = load ptr, ptr %227, align 8, !tbaa !9
  %10394 = getelementptr inbounds %struct.s2n_connection, ptr %10393, i32 0, i32 23
  %10395 = load i8, ptr %10394, align 4, !tbaa !48
  %10396 = zext i8 %10395 to i32
  %10397 = icmp sgt i32 %10396, 33
  br i1 %10397, label %10451, label %10398

10398:                                            ; preds = %10390
  br label %10399

10399:                                            ; preds = %10398
  br label %10400

10400:                                            ; preds = %10399
  call void @llvm.lifetime.start.p0(i64 4, ptr %230) #11
  %10401 = call ptr @__errno_location() #12
  %10402 = load i32, ptr %10401, align 4, !tbaa !5
  store i32 %10402, ptr %230, align 4, !tbaa !5
  %10403 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10404 = call i32 @s2n_print_stacktrace(ptr noundef %10403)
  %10405 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10406 = trunc i8 %10405 to i1
  br i1 %10406, label %10407, label %10429

10407:                                            ; preds = %10400
  %10408 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10409 = call i32 @fileno(ptr noundef %10408) #11
  %10410 = call i32 @isatty(i32 noundef %10409) #11
  %10411 = icmp ne i32 %10410, 0
  br i1 %10411, label %10412, label %10429

10412:                                            ; preds = %10407
  %10413 = load i32, ptr %230, align 4, !tbaa !5
  %10414 = call ptr @__errno_location() #12
  store i32 %10413, ptr %10414, align 4, !tbaa !5
  %10415 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10416 = load i32, ptr @test_count, align 4, !tbaa !5
  %10417 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10418 = load i32, ptr %10417, align 4, !tbaa !5
  %10419 = call ptr @s2n_strerror(i32 noundef %10418, ptr noundef @.str.4)
  %10420 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10421 = load i32, ptr %10420, align 4, !tbaa !5
  %10422 = call ptr @s2n_strerror_debug(i32 noundef %10421, ptr noundef @.str.4)
  %10423 = call ptr @__errno_location() #12
  %10424 = load i32, ptr %10423, align 4, !tbaa !5
  %10425 = call ptr @strerror(i32 noundef %10424) #11
  %10426 = call ptr @__errno_location() #12
  %10427 = load i32, ptr %10426, align 4, !tbaa !5
  %10428 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10415, ptr noundef @.str.2, i32 noundef %10416, ptr noundef @.str.85, ptr noundef @.str.1, i32 noundef 375, ptr noundef %10419, ptr noundef %10422, ptr noundef %10425, i32 noundef %10427) #11
  br label %10446

10429:                                            ; preds = %10407, %10400
  %10430 = load i32, ptr %230, align 4, !tbaa !5
  %10431 = call ptr @__errno_location() #12
  store i32 %10430, ptr %10431, align 4, !tbaa !5
  %10432 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10433 = load i32, ptr @test_count, align 4, !tbaa !5
  %10434 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10435 = load i32, ptr %10434, align 4, !tbaa !5
  %10436 = call ptr @s2n_strerror(i32 noundef %10435, ptr noundef @.str.4)
  %10437 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10438 = load i32, ptr %10437, align 4, !tbaa !5
  %10439 = call ptr @s2n_strerror_debug(i32 noundef %10438, ptr noundef @.str.4)
  %10440 = call ptr @__errno_location() #12
  %10441 = load i32, ptr %10440, align 4, !tbaa !5
  %10442 = call ptr @strerror(i32 noundef %10441) #11
  %10443 = call ptr @__errno_location() #12
  %10444 = load i32, ptr %10443, align 4, !tbaa !5
  %10445 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10432, ptr noundef @.str.5, i32 noundef %10433, ptr noundef @.str.85, ptr noundef @.str.1, i32 noundef 375, ptr noundef %10436, ptr noundef %10439, ptr noundef %10442, i32 noundef %10444) #11
  br label %10446

10446:                                            ; preds = %10429, %10412
  call void @llvm.lifetime.end.p0(i64 4, ptr %230) #11
  br label %10447

10447:                                            ; preds = %10446
  br label %10448

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

10449:                                            ; No predecessors!
  br label %10450

10450:                                            ; preds = %10449
  br label %10451

10451:                                            ; preds = %10450, %10390
  br label %10452

10452:                                            ; preds = %10451
  br label %10453

10453:                                            ; preds = %10452
  br label %10454

10454:                                            ; preds = %10453
  br label %10455

10455:                                            ; preds = %10454
  br label %10456

10456:                                            ; preds = %10455
  %10457 = load i32, ptr @test_count, align 4, !tbaa !5
  %10458 = add nsw i32 %10457, 1
  store i32 %10458, ptr @test_count, align 4, !tbaa !5
  %10459 = load ptr, ptr %227, align 8, !tbaa !9
  %10460 = call i32 @s2n_renegotiate_wipe(ptr noundef %10459)
  %10461 = icmp eq i32 %10460, -1
  br i1 %10461, label %10515, label %10462

10462:                                            ; preds = %10456
  br label %10463

10463:                                            ; preds = %10462
  br label %10464

10464:                                            ; preds = %10463
  call void @llvm.lifetime.start.p0(i64 4, ptr %231) #11
  %10465 = call ptr @__errno_location() #12
  %10466 = load i32, ptr %10465, align 4, !tbaa !5
  store i32 %10466, ptr %231, align 4, !tbaa !5
  %10467 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10468 = call i32 @s2n_print_stacktrace(ptr noundef %10467)
  %10469 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10470 = trunc i8 %10469 to i1
  br i1 %10470, label %10471, label %10493

10471:                                            ; preds = %10464
  %10472 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10473 = call i32 @fileno(ptr noundef %10472) #11
  %10474 = call i32 @isatty(i32 noundef %10473) #11
  %10475 = icmp ne i32 %10474, 0
  br i1 %10475, label %10476, label %10493

10476:                                            ; preds = %10471
  %10477 = load i32, ptr %231, align 4, !tbaa !5
  %10478 = call ptr @__errno_location() #12
  store i32 %10477, ptr %10478, align 4, !tbaa !5
  %10479 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10480 = load i32, ptr @test_count, align 4, !tbaa !5
  %10481 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10482 = load i32, ptr %10481, align 4, !tbaa !5
  %10483 = call ptr @s2n_strerror(i32 noundef %10482, ptr noundef @.str.4)
  %10484 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10485 = load i32, ptr %10484, align 4, !tbaa !5
  %10486 = call ptr @s2n_strerror_debug(i32 noundef %10485, ptr noundef @.str.4)
  %10487 = call ptr @__errno_location() #12
  %10488 = load i32, ptr %10487, align 4, !tbaa !5
  %10489 = call ptr @strerror(i32 noundef %10488) #11
  %10490 = call ptr @__errno_location() #12
  %10491 = load i32, ptr %10490, align 4, !tbaa !5
  %10492 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10479, ptr noundef @.str.2, i32 noundef %10480, ptr noundef @.str.82, ptr noundef @.str.1, i32 noundef 376, ptr noundef %10483, ptr noundef %10486, ptr noundef %10489, i32 noundef %10491) #11
  br label %10510

10493:                                            ; preds = %10471, %10464
  %10494 = load i32, ptr %231, align 4, !tbaa !5
  %10495 = call ptr @__errno_location() #12
  store i32 %10494, ptr %10495, align 4, !tbaa !5
  %10496 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10497 = load i32, ptr @test_count, align 4, !tbaa !5
  %10498 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10499 = load i32, ptr %10498, align 4, !tbaa !5
  %10500 = call ptr @s2n_strerror(i32 noundef %10499, ptr noundef @.str.4)
  %10501 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10502 = load i32, ptr %10501, align 4, !tbaa !5
  %10503 = call ptr @s2n_strerror_debug(i32 noundef %10502, ptr noundef @.str.4)
  %10504 = call ptr @__errno_location() #12
  %10505 = load i32, ptr %10504, align 4, !tbaa !5
  %10506 = call ptr @strerror(i32 noundef %10505) #11
  %10507 = call ptr @__errno_location() #12
  %10508 = load i32, ptr %10507, align 4, !tbaa !5
  %10509 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10496, ptr noundef @.str.5, i32 noundef %10497, ptr noundef @.str.82, ptr noundef @.str.1, i32 noundef 376, ptr noundef %10500, ptr noundef %10503, ptr noundef %10506, i32 noundef %10508) #11
  br label %10510

10510:                                            ; preds = %10493, %10476
  call void @llvm.lifetime.end.p0(i64 4, ptr %231) #11
  br label %10511

10511:                                            ; preds = %10510
  br label %10512

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

10513:                                            ; No predecessors!
  br label %10514

10514:                                            ; preds = %10513
  br label %10515

10515:                                            ; preds = %10514, %10456
  br label %10516

10516:                                            ; preds = %10515
  br label %10517

10517:                                            ; preds = %10516
  br label %10518

10518:                                            ; preds = %10517
  %10519 = load i32, ptr @test_count, align 4, !tbaa !5
  %10520 = add nsw i32 %10519, 1
  store i32 %10520, ptr @test_count, align 4, !tbaa !5
  %10521 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10522 = load i32, ptr %10521, align 4, !tbaa !5
  %10523 = icmp eq i32 %10522, 335544384
  br i1 %10523, label %10577, label %10524

10524:                                            ; preds = %10518
  br label %10525

10525:                                            ; preds = %10524
  br label %10526

10526:                                            ; preds = %10525
  call void @llvm.lifetime.start.p0(i64 4, ptr %232) #11
  %10527 = call ptr @__errno_location() #12
  %10528 = load i32, ptr %10527, align 4, !tbaa !5
  store i32 %10528, ptr %232, align 4, !tbaa !5
  %10529 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10530 = call i32 @s2n_print_stacktrace(ptr noundef %10529)
  %10531 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10532 = trunc i8 %10531 to i1
  br i1 %10532, label %10533, label %10555

10533:                                            ; preds = %10526
  %10534 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10535 = call i32 @fileno(ptr noundef %10534) #11
  %10536 = call i32 @isatty(i32 noundef %10535) #11
  %10537 = icmp ne i32 %10536, 0
  br i1 %10537, label %10538, label %10555

10538:                                            ; preds = %10533
  %10539 = load i32, ptr %232, align 4, !tbaa !5
  %10540 = call ptr @__errno_location() #12
  store i32 %10539, ptr %10540, align 4, !tbaa !5
  %10541 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10542 = load i32, ptr @test_count, align 4, !tbaa !5
  %10543 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10544 = load i32, ptr %10543, align 4, !tbaa !5
  %10545 = call ptr @s2n_strerror(i32 noundef %10544, ptr noundef @.str.4)
  %10546 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10547 = load i32, ptr %10546, align 4, !tbaa !5
  %10548 = call ptr @s2n_strerror_debug(i32 noundef %10547, ptr noundef @.str.4)
  %10549 = call ptr @__errno_location() #12
  %10550 = load i32, ptr %10549, align 4, !tbaa !5
  %10551 = call ptr @strerror(i32 noundef %10550) #11
  %10552 = call ptr @__errno_location() #12
  %10553 = load i32, ptr %10552, align 4, !tbaa !5
  %10554 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10541, ptr noundef @.str.2, i32 noundef %10542, ptr noundef @.str.86, ptr noundef @.str.1, i32 noundef 376, ptr noundef %10545, ptr noundef %10548, ptr noundef %10551, i32 noundef %10553) #11
  br label %10572

10555:                                            ; preds = %10533, %10526
  %10556 = load i32, ptr %232, align 4, !tbaa !5
  %10557 = call ptr @__errno_location() #12
  store i32 %10556, ptr %10557, align 4, !tbaa !5
  %10558 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10559 = load i32, ptr @test_count, align 4, !tbaa !5
  %10560 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10561 = load i32, ptr %10560, align 4, !tbaa !5
  %10562 = call ptr @s2n_strerror(i32 noundef %10561, ptr noundef @.str.4)
  %10563 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10564 = load i32, ptr %10563, align 4, !tbaa !5
  %10565 = call ptr @s2n_strerror_debug(i32 noundef %10564, ptr noundef @.str.4)
  %10566 = call ptr @__errno_location() #12
  %10567 = load i32, ptr %10566, align 4, !tbaa !5
  %10568 = call ptr @strerror(i32 noundef %10567) #11
  %10569 = call ptr @__errno_location() #12
  %10570 = load i32, ptr %10569, align 4, !tbaa !5
  %10571 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10558, ptr noundef @.str.5, i32 noundef %10559, ptr noundef @.str.86, ptr noundef @.str.1, i32 noundef 376, ptr noundef %10562, ptr noundef %10565, ptr noundef %10568, i32 noundef %10570) #11
  br label %10572

10572:                                            ; preds = %10555, %10538
  call void @llvm.lifetime.end.p0(i64 4, ptr %232) #11
  br label %10573

10573:                                            ; preds = %10572
  br label %10574

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

10575:                                            ; No predecessors!
  br label %10576

10576:                                            ; preds = %10575
  br label %10577

10577:                                            ; preds = %10576, %10518
  br label %10578

10578:                                            ; preds = %10577
  br label %10579

10579:                                            ; preds = %10578
  br label %10580

10580:                                            ; preds = %10579
  %10581 = load i32, ptr @test_count, align 4, !tbaa !5
  %10582 = add nsw i32 %10581, 1
  store i32 %10582, ptr @test_count, align 4, !tbaa !5
  %10583 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10584 = load i32, ptr %10583, align 4, !tbaa !5
  %10585 = call ptr @s2n_strerror_debug(i32 noundef %10584, ptr noundef @.str.4)
  %10586 = icmp eq ptr %10585, null
  br i1 %10586, label %10587, label %10640

10587:                                            ; preds = %10580
  br label %10588

10588:                                            ; preds = %10587
  br label %10589

10589:                                            ; preds = %10588
  call void @llvm.lifetime.start.p0(i64 4, ptr %233) #11
  %10590 = call ptr @__errno_location() #12
  %10591 = load i32, ptr %10590, align 4, !tbaa !5
  store i32 %10591, ptr %233, align 4, !tbaa !5
  %10592 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10593 = call i32 @s2n_print_stacktrace(ptr noundef %10592)
  %10594 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10595 = trunc i8 %10594 to i1
  br i1 %10595, label %10596, label %10618

10596:                                            ; preds = %10589
  %10597 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10598 = call i32 @fileno(ptr noundef %10597) #11
  %10599 = call i32 @isatty(i32 noundef %10598) #11
  %10600 = icmp ne i32 %10599, 0
  br i1 %10600, label %10601, label %10618

10601:                                            ; preds = %10596
  %10602 = load i32, ptr %233, align 4, !tbaa !5
  %10603 = call ptr @__errno_location() #12
  store i32 %10602, ptr %10603, align 4, !tbaa !5
  %10604 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10605 = load i32, ptr @test_count, align 4, !tbaa !5
  %10606 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10607 = load i32, ptr %10606, align 4, !tbaa !5
  %10608 = call ptr @s2n_strerror(i32 noundef %10607, ptr noundef @.str.4)
  %10609 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10610 = load i32, ptr %10609, align 4, !tbaa !5
  %10611 = call ptr @s2n_strerror_debug(i32 noundef %10610, ptr noundef @.str.4)
  %10612 = call ptr @__errno_location() #12
  %10613 = load i32, ptr %10612, align 4, !tbaa !5
  %10614 = call ptr @strerror(i32 noundef %10613) #11
  %10615 = call ptr @__errno_location() #12
  %10616 = load i32, ptr %10615, align 4, !tbaa !5
  %10617 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10604, ptr noundef @.str.2, i32 noundef %10605, ptr noundef @.str.84, ptr noundef @.str.1, i32 noundef 376, ptr noundef %10608, ptr noundef %10611, ptr noundef %10614, i32 noundef %10616) #11
  br label %10635

10618:                                            ; preds = %10596, %10589
  %10619 = load i32, ptr %233, align 4, !tbaa !5
  %10620 = call ptr @__errno_location() #12
  store i32 %10619, ptr %10620, align 4, !tbaa !5
  %10621 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10622 = load i32, ptr @test_count, align 4, !tbaa !5
  %10623 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10624 = load i32, ptr %10623, align 4, !tbaa !5
  %10625 = call ptr @s2n_strerror(i32 noundef %10624, ptr noundef @.str.4)
  %10626 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10627 = load i32, ptr %10626, align 4, !tbaa !5
  %10628 = call ptr @s2n_strerror_debug(i32 noundef %10627, ptr noundef @.str.4)
  %10629 = call ptr @__errno_location() #12
  %10630 = load i32, ptr %10629, align 4, !tbaa !5
  %10631 = call ptr @strerror(i32 noundef %10630) #11
  %10632 = call ptr @__errno_location() #12
  %10633 = load i32, ptr %10632, align 4, !tbaa !5
  %10634 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10621, ptr noundef @.str.5, i32 noundef %10622, ptr noundef @.str.84, ptr noundef @.str.1, i32 noundef 376, ptr noundef %10625, ptr noundef %10628, ptr noundef %10631, i32 noundef %10633) #11
  br label %10635

10635:                                            ; preds = %10618, %10601
  call void @llvm.lifetime.end.p0(i64 4, ptr %233) #11
  br label %10636

10636:                                            ; preds = %10635
  br label %10637

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

10638:                                            ; No predecessors!
  br label %10639

10639:                                            ; preds = %10638
  br label %10640

10640:                                            ; preds = %10639, %10580
  br label %10641

10641:                                            ; preds = %10640
  br label %10642

10642:                                            ; preds = %10641
  br label %10643

10643:                                            ; preds = %10642
  br label %10644

10644:                                            ; preds = %10643
  br label %10645

10645:                                            ; preds = %10644
  %10646 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %10646, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %10647 = call ptr @__errno_location() #12
  store i32 0, ptr %10647, align 4, !tbaa !5
  br label %10648

10648:                                            ; preds = %10645
  br label %10649

10649:                                            ; preds = %10648
  br label %10650

10650:                                            ; preds = %10649
  br label %10651

10651:                                            ; preds = %10650
  %10652 = load ptr, ptr %227, align 8, !tbaa !9
  %10653 = getelementptr inbounds %struct.s2n_connection, ptr %10652, i32 0, i32 23
  store i8 33, ptr %10653, align 4, !tbaa !48
  br label %10654

10654:                                            ; preds = %10651
  %10655 = load i32, ptr @test_count, align 4, !tbaa !5
  %10656 = add nsw i32 %10655, 1
  store i32 %10656, ptr @test_count, align 4, !tbaa !5
  %10657 = load ptr, ptr %227, align 8, !tbaa !9
  %10658 = call i32 @s2n_renegotiate_wipe(ptr noundef %10657)
  %10659 = icmp eq i32 %10658, -1
  br i1 %10659, label %10660, label %10713

10660:                                            ; preds = %10654
  br label %10661

10661:                                            ; preds = %10660
  br label %10662

10662:                                            ; preds = %10661
  call void @llvm.lifetime.start.p0(i64 4, ptr %234) #11
  %10663 = call ptr @__errno_location() #12
  %10664 = load i32, ptr %10663, align 4, !tbaa !5
  store i32 %10664, ptr %234, align 4, !tbaa !5
  %10665 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10666 = call i32 @s2n_print_stacktrace(ptr noundef %10665)
  %10667 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10668 = trunc i8 %10667 to i1
  br i1 %10668, label %10669, label %10691

10669:                                            ; preds = %10662
  %10670 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10671 = call i32 @fileno(ptr noundef %10670) #11
  %10672 = call i32 @isatty(i32 noundef %10671) #11
  %10673 = icmp ne i32 %10672, 0
  br i1 %10673, label %10674, label %10691

10674:                                            ; preds = %10669
  %10675 = load i32, ptr %234, align 4, !tbaa !5
  %10676 = call ptr @__errno_location() #12
  store i32 %10675, ptr %10676, align 4, !tbaa !5
  %10677 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10678 = load i32, ptr @test_count, align 4, !tbaa !5
  %10679 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10680 = load i32, ptr %10679, align 4, !tbaa !5
  %10681 = call ptr @s2n_strerror(i32 noundef %10680, ptr noundef @.str.4)
  %10682 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10683 = load i32, ptr %10682, align 4, !tbaa !5
  %10684 = call ptr @s2n_strerror_debug(i32 noundef %10683, ptr noundef @.str.4)
  %10685 = call ptr @__errno_location() #12
  %10686 = load i32, ptr %10685, align 4, !tbaa !5
  %10687 = call ptr @strerror(i32 noundef %10686) #11
  %10688 = call ptr @__errno_location() #12
  %10689 = load i32, ptr %10688, align 4, !tbaa !5
  %10690 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10677, ptr noundef @.str.2, i32 noundef %10678, ptr noundef @.str.33, ptr noundef @.str.1, i32 noundef 378, ptr noundef %10681, ptr noundef %10684, ptr noundef %10687, i32 noundef %10689) #11
  br label %10708

10691:                                            ; preds = %10669, %10662
  %10692 = load i32, ptr %234, align 4, !tbaa !5
  %10693 = call ptr @__errno_location() #12
  store i32 %10692, ptr %10693, align 4, !tbaa !5
  %10694 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10695 = load i32, ptr @test_count, align 4, !tbaa !5
  %10696 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10697 = load i32, ptr %10696, align 4, !tbaa !5
  %10698 = call ptr @s2n_strerror(i32 noundef %10697, ptr noundef @.str.4)
  %10699 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10700 = load i32, ptr %10699, align 4, !tbaa !5
  %10701 = call ptr @s2n_strerror_debug(i32 noundef %10700, ptr noundef @.str.4)
  %10702 = call ptr @__errno_location() #12
  %10703 = load i32, ptr %10702, align 4, !tbaa !5
  %10704 = call ptr @strerror(i32 noundef %10703) #11
  %10705 = call ptr @__errno_location() #12
  %10706 = load i32, ptr %10705, align 4, !tbaa !5
  %10707 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10694, ptr noundef @.str.5, i32 noundef %10695, ptr noundef @.str.33, ptr noundef @.str.1, i32 noundef 378, ptr noundef %10698, ptr noundef %10701, ptr noundef %10704, i32 noundef %10706) #11
  br label %10708

10708:                                            ; preds = %10691, %10674
  call void @llvm.lifetime.end.p0(i64 4, ptr %234) #11
  br label %10709

10709:                                            ; preds = %10708
  br label %10710

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

10711:                                            ; No predecessors!
  br label %10712

10712:                                            ; preds = %10711
  br label %10713

10713:                                            ; preds = %10712, %10654
  br label %10714

10714:                                            ; preds = %10713
  br label %10715

10715:                                            ; preds = %10714
  %10716 = call i32 @s2n_connection_ptr_free(ptr noundef %227)
  %10717 = getelementptr inbounds %struct.s2n_result, ptr %235, i32 0, i32 0
  store i32 %10716, ptr %10717, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %227) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %236) #11
  %10718 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %10718, ptr %236, align 8, !tbaa !9
  br label %10719

10719:                                            ; preds = %10715
  %10720 = load i32, ptr @test_count, align 4, !tbaa !5
  %10721 = add nsw i32 %10720, 1
  store i32 %10721, ptr @test_count, align 4, !tbaa !5
  %10722 = load ptr, ptr %236, align 8, !tbaa !9
  %10723 = icmp eq ptr %10722, null
  br i1 %10723, label %10724, label %10777

10724:                                            ; preds = %10719
  br label %10725

10725:                                            ; preds = %10724
  br label %10726

10726:                                            ; preds = %10725
  call void @llvm.lifetime.start.p0(i64 4, ptr %237) #11
  %10727 = call ptr @__errno_location() #12
  %10728 = load i32, ptr %10727, align 4, !tbaa !5
  store i32 %10728, ptr %237, align 4, !tbaa !5
  %10729 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10730 = call i32 @s2n_print_stacktrace(ptr noundef %10729)
  %10731 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10732 = trunc i8 %10731 to i1
  br i1 %10732, label %10733, label %10755

10733:                                            ; preds = %10726
  %10734 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10735 = call i32 @fileno(ptr noundef %10734) #11
  %10736 = call i32 @isatty(i32 noundef %10735) #11
  %10737 = icmp ne i32 %10736, 0
  br i1 %10737, label %10738, label %10755

10738:                                            ; preds = %10733
  %10739 = load i32, ptr %237, align 4, !tbaa !5
  %10740 = call ptr @__errno_location() #12
  store i32 %10739, ptr %10740, align 4, !tbaa !5
  %10741 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10742 = load i32, ptr @test_count, align 4, !tbaa !5
  %10743 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10744 = load i32, ptr %10743, align 4, !tbaa !5
  %10745 = call ptr @s2n_strerror(i32 noundef %10744, ptr noundef @.str.4)
  %10746 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10747 = load i32, ptr %10746, align 4, !tbaa !5
  %10748 = call ptr @s2n_strerror_debug(i32 noundef %10747, ptr noundef @.str.4)
  %10749 = call ptr @__errno_location() #12
  %10750 = load i32, ptr %10749, align 4, !tbaa !5
  %10751 = call ptr @strerror(i32 noundef %10750) #11
  %10752 = call ptr @__errno_location() #12
  %10753 = load i32, ptr %10752, align 4, !tbaa !5
  %10754 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10741, ptr noundef @.str.2, i32 noundef %10742, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 384, ptr noundef %10745, ptr noundef %10748, ptr noundef %10751, i32 noundef %10753) #11
  br label %10772

10755:                                            ; preds = %10733, %10726
  %10756 = load i32, ptr %237, align 4, !tbaa !5
  %10757 = call ptr @__errno_location() #12
  store i32 %10756, ptr %10757, align 4, !tbaa !5
  %10758 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10759 = load i32, ptr @test_count, align 4, !tbaa !5
  %10760 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10761 = load i32, ptr %10760, align 4, !tbaa !5
  %10762 = call ptr @s2n_strerror(i32 noundef %10761, ptr noundef @.str.4)
  %10763 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10764 = load i32, ptr %10763, align 4, !tbaa !5
  %10765 = call ptr @s2n_strerror_debug(i32 noundef %10764, ptr noundef @.str.4)
  %10766 = call ptr @__errno_location() #12
  %10767 = load i32, ptr %10766, align 4, !tbaa !5
  %10768 = call ptr @strerror(i32 noundef %10767) #11
  %10769 = call ptr @__errno_location() #12
  %10770 = load i32, ptr %10769, align 4, !tbaa !5
  %10771 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10758, ptr noundef @.str.5, i32 noundef %10759, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 384, ptr noundef %10762, ptr noundef %10765, ptr noundef %10768, i32 noundef %10770) #11
  br label %10772

10772:                                            ; preds = %10755, %10738
  call void @llvm.lifetime.end.p0(i64 4, ptr %237) #11
  br label %10773

10773:                                            ; preds = %10772
  br label %10774

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

10775:                                            ; No predecessors!
  br label %10776

10776:                                            ; preds = %10775
  br label %10777

10777:                                            ; preds = %10776, %10719
  br label %10778

10778:                                            ; preds = %10777
  br label %10779

10779:                                            ; preds = %10778
  br label %10780

10780:                                            ; preds = %10779
  %10781 = load i32, ptr @test_count, align 4, !tbaa !5
  %10782 = add nsw i32 %10781, 1
  store i32 %10782, ptr @test_count, align 4, !tbaa !5
  %10783 = load ptr, ptr %236, align 8, !tbaa !9
  %10784 = load ptr, ptr %15, align 8, !tbaa !9
  %10785 = call i32 @s2n_connection_set_config(ptr noundef %10783, ptr noundef %10784)
  %10786 = icmp eq i32 %10785, -1
  br i1 %10786, label %10787, label %10840

10787:                                            ; preds = %10780
  br label %10788

10788:                                            ; preds = %10787
  br label %10789

10789:                                            ; preds = %10788
  call void @llvm.lifetime.start.p0(i64 4, ptr %238) #11
  %10790 = call ptr @__errno_location() #12
  %10791 = load i32, ptr %10790, align 4, !tbaa !5
  store i32 %10791, ptr %238, align 4, !tbaa !5
  %10792 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10793 = call i32 @s2n_print_stacktrace(ptr noundef %10792)
  %10794 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10795 = trunc i8 %10794 to i1
  br i1 %10795, label %10796, label %10818

10796:                                            ; preds = %10789
  %10797 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10798 = call i32 @fileno(ptr noundef %10797) #11
  %10799 = call i32 @isatty(i32 noundef %10798) #11
  %10800 = icmp ne i32 %10799, 0
  br i1 %10800, label %10801, label %10818

10801:                                            ; preds = %10796
  %10802 = load i32, ptr %238, align 4, !tbaa !5
  %10803 = call ptr @__errno_location() #12
  store i32 %10802, ptr %10803, align 4, !tbaa !5
  %10804 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10805 = load i32, ptr @test_count, align 4, !tbaa !5
  %10806 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10807 = load i32, ptr %10806, align 4, !tbaa !5
  %10808 = call ptr @s2n_strerror(i32 noundef %10807, ptr noundef @.str.4)
  %10809 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10810 = load i32, ptr %10809, align 4, !tbaa !5
  %10811 = call ptr @s2n_strerror_debug(i32 noundef %10810, ptr noundef @.str.4)
  %10812 = call ptr @__errno_location() #12
  %10813 = load i32, ptr %10812, align 4, !tbaa !5
  %10814 = call ptr @strerror(i32 noundef %10813) #11
  %10815 = call ptr @__errno_location() #12
  %10816 = load i32, ptr %10815, align 4, !tbaa !5
  %10817 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10804, ptr noundef @.str.2, i32 noundef %10805, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 385, ptr noundef %10808, ptr noundef %10811, ptr noundef %10814, i32 noundef %10816) #11
  br label %10835

10818:                                            ; preds = %10796, %10789
  %10819 = load i32, ptr %238, align 4, !tbaa !5
  %10820 = call ptr @__errno_location() #12
  store i32 %10819, ptr %10820, align 4, !tbaa !5
  %10821 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10822 = load i32, ptr @test_count, align 4, !tbaa !5
  %10823 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10824 = load i32, ptr %10823, align 4, !tbaa !5
  %10825 = call ptr @s2n_strerror(i32 noundef %10824, ptr noundef @.str.4)
  %10826 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10827 = load i32, ptr %10826, align 4, !tbaa !5
  %10828 = call ptr @s2n_strerror_debug(i32 noundef %10827, ptr noundef @.str.4)
  %10829 = call ptr @__errno_location() #12
  %10830 = load i32, ptr %10829, align 4, !tbaa !5
  %10831 = call ptr @strerror(i32 noundef %10830) #11
  %10832 = call ptr @__errno_location() #12
  %10833 = load i32, ptr %10832, align 4, !tbaa !5
  %10834 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10821, ptr noundef @.str.5, i32 noundef %10822, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 385, ptr noundef %10825, ptr noundef %10828, ptr noundef %10831, i32 noundef %10833) #11
  br label %10835

10835:                                            ; preds = %10818, %10801
  call void @llvm.lifetime.end.p0(i64 4, ptr %238) #11
  br label %10836

10836:                                            ; preds = %10835
  br label %10837

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

10838:                                            ; No predecessors!
  br label %10839

10839:                                            ; preds = %10838
  br label %10840

10840:                                            ; preds = %10839, %10780
  br label %10841

10841:                                            ; preds = %10840
  br label %10842

10842:                                            ; preds = %10841
  call void @llvm.lifetime.start.p0(i64 8, ptr %239) #11
  %10843 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %10843, ptr %239, align 8, !tbaa !9
  br label %10844

10844:                                            ; preds = %10842
  %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 %239, align 8, !tbaa !9
  %10848 = icmp eq ptr %10847, null
  br i1 %10848, label %10849, label %10902

10849:                                            ; preds = %10844
  br label %10850

10850:                                            ; preds = %10849
  br label %10851

10851:                                            ; preds = %10850
  call void @llvm.lifetime.start.p0(i64 4, ptr %240) #11
  %10852 = call ptr @__errno_location() #12
  %10853 = load i32, ptr %10852, align 4, !tbaa !5
  store i32 %10853, ptr %240, align 4, !tbaa !5
  %10854 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10855 = call i32 @s2n_print_stacktrace(ptr noundef %10854)
  %10856 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10857 = trunc i8 %10856 to i1
  br i1 %10857, label %10858, label %10880

10858:                                            ; preds = %10851
  %10859 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10860 = call i32 @fileno(ptr noundef %10859) #11
  %10861 = call i32 @isatty(i32 noundef %10860) #11
  %10862 = icmp ne i32 %10861, 0
  br i1 %10862, label %10863, label %10880

10863:                                            ; preds = %10858
  %10864 = load i32, ptr %240, align 4, !tbaa !5
  %10865 = call ptr @__errno_location() #12
  store i32 %10864, ptr %10865, align 4, !tbaa !5
  %10866 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10867 = load i32, ptr @test_count, align 4, !tbaa !5
  %10868 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10869 = load i32, ptr %10868, align 4, !tbaa !5
  %10870 = call ptr @s2n_strerror(i32 noundef %10869, ptr noundef @.str.4)
  %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_debug(i32 noundef %10872, ptr noundef @.str.4)
  %10874 = call ptr @__errno_location() #12
  %10875 = load i32, ptr %10874, align 4, !tbaa !5
  %10876 = call ptr @strerror(i32 noundef %10875) #11
  %10877 = call ptr @__errno_location() #12
  %10878 = load i32, ptr %10877, align 4, !tbaa !5
  %10879 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10866, ptr noundef @.str.2, i32 noundef %10867, ptr noundef @.str.23, ptr noundef @.str.1, i32 noundef 388, ptr noundef %10870, ptr noundef %10873, ptr noundef %10876, i32 noundef %10878) #11
  br label %10897

10880:                                            ; preds = %10858, %10851
  %10881 = load i32, ptr %240, align 4, !tbaa !5
  %10882 = call ptr @__errno_location() #12
  store i32 %10881, ptr %10882, align 4, !tbaa !5
  %10883 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10884 = load i32, ptr @test_count, align 4, !tbaa !5
  %10885 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10886 = load i32, ptr %10885, align 4, !tbaa !5
  %10887 = call ptr @s2n_strerror(i32 noundef %10886, ptr noundef @.str.4)
  %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_debug(i32 noundef %10889, ptr noundef @.str.4)
  %10891 = call ptr @__errno_location() #12
  %10892 = load i32, ptr %10891, align 4, !tbaa !5
  %10893 = call ptr @strerror(i32 noundef %10892) #11
  %10894 = call ptr @__errno_location() #12
  %10895 = load i32, ptr %10894, align 4, !tbaa !5
  %10896 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10883, ptr noundef @.str.5, i32 noundef %10884, ptr noundef @.str.23, ptr noundef @.str.1, i32 noundef 388, ptr noundef %10887, ptr noundef %10890, ptr noundef %10893, i32 noundef %10895) #11
  br label %10897

10897:                                            ; preds = %10880, %10863
  call void @llvm.lifetime.end.p0(i64 4, ptr %240) #11
  br label %10898

10898:                                            ; preds = %10897
  br label %10899

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

10900:                                            ; No predecessors!
  br label %10901

10901:                                            ; preds = %10900
  br label %10902

10902:                                            ; preds = %10901, %10844
  br label %10903

10903:                                            ; preds = %10902
  br label %10904

10904:                                            ; preds = %10903
  br label %10905

10905:                                            ; preds = %10904
  %10906 = load i32, ptr @test_count, align 4, !tbaa !5
  %10907 = add nsw i32 %10906, 1
  store i32 %10907, ptr @test_count, align 4, !tbaa !5
  %10908 = load ptr, ptr %239, align 8, !tbaa !9
  %10909 = load ptr, ptr %15, align 8, !tbaa !9
  %10910 = call i32 @s2n_connection_set_config(ptr noundef %10908, ptr noundef %10909)
  %10911 = icmp eq i32 %10910, -1
  br i1 %10911, label %10912, label %10965

10912:                                            ; preds = %10905
  br label %10913

10913:                                            ; preds = %10912
  br label %10914

10914:                                            ; preds = %10913
  call void @llvm.lifetime.start.p0(i64 4, ptr %241) #11
  %10915 = call ptr @__errno_location() #12
  %10916 = load i32, ptr %10915, align 4, !tbaa !5
  store i32 %10916, ptr %241, align 4, !tbaa !5
  %10917 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10918 = call i32 @s2n_print_stacktrace(ptr noundef %10917)
  %10919 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10920 = trunc i8 %10919 to i1
  br i1 %10920, label %10921, label %10943

10921:                                            ; preds = %10914
  %10922 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10923 = call i32 @fileno(ptr noundef %10922) #11
  %10924 = call i32 @isatty(i32 noundef %10923) #11
  %10925 = icmp ne i32 %10924, 0
  br i1 %10925, label %10926, label %10943

10926:                                            ; preds = %10921
  %10927 = load i32, ptr %241, align 4, !tbaa !5
  %10928 = call ptr @__errno_location() #12
  store i32 %10927, ptr %10928, align 4, !tbaa !5
  %10929 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10930 = load i32, ptr @test_count, align 4, !tbaa !5
  %10931 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10932 = load i32, ptr %10931, align 4, !tbaa !5
  %10933 = call ptr @s2n_strerror(i32 noundef %10932, ptr noundef @.str.4)
  %10934 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10935 = load i32, ptr %10934, align 4, !tbaa !5
  %10936 = call ptr @s2n_strerror_debug(i32 noundef %10935, ptr noundef @.str.4)
  %10937 = call ptr @__errno_location() #12
  %10938 = load i32, ptr %10937, align 4, !tbaa !5
  %10939 = call ptr @strerror(i32 noundef %10938) #11
  %10940 = call ptr @__errno_location() #12
  %10941 = load i32, ptr %10940, align 4, !tbaa !5
  %10942 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10929, ptr noundef @.str.2, i32 noundef %10930, ptr noundef @.str.24, ptr noundef @.str.1, i32 noundef 389, ptr noundef %10933, ptr noundef %10936, ptr noundef %10939, i32 noundef %10941) #11
  br label %10960

10943:                                            ; preds = %10921, %10914
  %10944 = load i32, ptr %241, align 4, !tbaa !5
  %10945 = call ptr @__errno_location() #12
  store i32 %10944, ptr %10945, align 4, !tbaa !5
  %10946 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10947 = load i32, ptr @test_count, align 4, !tbaa !5
  %10948 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10949 = load i32, ptr %10948, align 4, !tbaa !5
  %10950 = call ptr @s2n_strerror(i32 noundef %10949, ptr noundef @.str.4)
  %10951 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10952 = load i32, ptr %10951, align 4, !tbaa !5
  %10953 = call ptr @s2n_strerror_debug(i32 noundef %10952, ptr noundef @.str.4)
  %10954 = call ptr @__errno_location() #12
  %10955 = load i32, ptr %10954, align 4, !tbaa !5
  %10956 = call ptr @strerror(i32 noundef %10955) #11
  %10957 = call ptr @__errno_location() #12
  %10958 = load i32, ptr %10957, align 4, !tbaa !5
  %10959 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10946, ptr noundef @.str.5, i32 noundef %10947, ptr noundef @.str.24, ptr noundef @.str.1, i32 noundef 389, ptr noundef %10950, ptr noundef %10953, ptr noundef %10956, i32 noundef %10958) #11
  br label %10960

10960:                                            ; preds = %10943, %10926
  call void @llvm.lifetime.end.p0(i64 4, ptr %241) #11
  br label %10961

10961:                                            ; preds = %10960
  br label %10962

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

10963:                                            ; No predecessors!
  br label %10964

10964:                                            ; preds = %10963
  br label %10965

10965:                                            ; preds = %10964, %10905
  br label %10966

10966:                                            ; preds = %10965
  br label %10967

10967:                                            ; preds = %10966
  call void @llvm.lifetime.start.p0(i64 40, ptr %242) #11
  call void @llvm.memset.p0.i64(ptr align 8 %242, i8 0, i64 40, i1 false)
  call void @llvm.lifetime.start.p0(i64 40, ptr %243) #11
  call void @llvm.memset.p0.i64(ptr align 8 %243, i8 0, i64 40, i1 false)
  br label %10968

10968:                                            ; preds = %10967
  %10969 = load i32, ptr @test_count, align 4, !tbaa !5
  %10970 = add nsw i32 %10969, 1
  store i32 %10970, ptr @test_count, align 4, !tbaa !5
  %10971 = call i32 @s2n_stuffer_growable_alloc(ptr noundef %242, i32 noundef 0)
  %10972 = icmp eq i32 %10971, -1
  br i1 %10972, label %10973, label %11026

10973:                                            ; preds = %10968
  br label %10974

10974:                                            ; preds = %10973
  br label %10975

10975:                                            ; preds = %10974
  call void @llvm.lifetime.start.p0(i64 4, ptr %244) #11
  %10976 = call ptr @__errno_location() #12
  %10977 = load i32, ptr %10976, align 4, !tbaa !5
  store i32 %10977, ptr %244, align 4, !tbaa !5
  %10978 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10979 = call i32 @s2n_print_stacktrace(ptr noundef %10978)
  %10980 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10981 = trunc i8 %10980 to i1
  br i1 %10981, label %10982, label %11004

10982:                                            ; preds = %10975
  %10983 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10984 = call i32 @fileno(ptr noundef %10983) #11
  %10985 = call i32 @isatty(i32 noundef %10984) #11
  %10986 = icmp ne i32 %10985, 0
  br i1 %10986, label %10987, label %11004

10987:                                            ; preds = %10982
  %10988 = load i32, ptr %244, align 4, !tbaa !5
  %10989 = call ptr @__errno_location() #12
  store i32 %10988, ptr %10989, align 4, !tbaa !5
  %10990 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10991 = load i32, ptr @test_count, align 4, !tbaa !5
  %10992 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10993 = load i32, ptr %10992, align 4, !tbaa !5
  %10994 = call ptr @s2n_strerror(i32 noundef %10993, ptr noundef @.str.4)
  %10995 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10996 = load i32, ptr %10995, align 4, !tbaa !5
  %10997 = call ptr @s2n_strerror_debug(i32 noundef %10996, ptr noundef @.str.4)
  %10998 = call ptr @__errno_location() #12
  %10999 = load i32, ptr %10998, align 4, !tbaa !5
  %11000 = call ptr @strerror(i32 noundef %10999) #11
  %11001 = call ptr @__errno_location() #12
  %11002 = load i32, ptr %11001, align 4, !tbaa !5
  %11003 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10990, ptr noundef @.str.2, i32 noundef %10991, ptr noundef @.str.37, ptr noundef @.str.1, i32 noundef 393, ptr noundef %10994, ptr noundef %10997, ptr noundef %11000, i32 noundef %11002) #11
  br label %11021

11004:                                            ; preds = %10982, %10975
  %11005 = load i32, ptr %244, align 4, !tbaa !5
  %11006 = call ptr @__errno_location() #12
  store i32 %11005, ptr %11006, align 4, !tbaa !5
  %11007 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11008 = load i32, ptr @test_count, align 4, !tbaa !5
  %11009 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11010 = load i32, ptr %11009, align 4, !tbaa !5
  %11011 = call ptr @s2n_strerror(i32 noundef %11010, ptr noundef @.str.4)
  %11012 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11013 = load i32, ptr %11012, align 4, !tbaa !5
  %11014 = call ptr @s2n_strerror_debug(i32 noundef %11013, ptr noundef @.str.4)
  %11015 = call ptr @__errno_location() #12
  %11016 = load i32, ptr %11015, align 4, !tbaa !5
  %11017 = call ptr @strerror(i32 noundef %11016) #11
  %11018 = call ptr @__errno_location() #12
  %11019 = load i32, ptr %11018, align 4, !tbaa !5
  %11020 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11007, ptr noundef @.str.5, i32 noundef %11008, ptr noundef @.str.37, ptr noundef @.str.1, i32 noundef 393, ptr noundef %11011, ptr noundef %11014, ptr noundef %11017, i32 noundef %11019) #11
  br label %11021

11021:                                            ; preds = %11004, %10987
  call void @llvm.lifetime.end.p0(i64 4, ptr %244) #11
  br label %11022

11022:                                            ; preds = %11021
  br label %11023

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

11024:                                            ; No predecessors!
  br label %11025

11025:                                            ; preds = %11024
  br label %11026

11026:                                            ; preds = %11025, %10968
  br label %11027

11027:                                            ; preds = %11026
  br label %11028

11028:                                            ; preds = %11027
  br label %11029

11029:                                            ; preds = %11028
  %11030 = load i32, ptr @test_count, align 4, !tbaa !5
  %11031 = add nsw i32 %11030, 1
  store i32 %11031, ptr @test_count, align 4, !tbaa !5
  %11032 = call i32 @s2n_stuffer_growable_alloc(ptr noundef %243, i32 noundef 0)
  %11033 = icmp eq i32 %11032, -1
  br i1 %11033, label %11034, label %11087

11034:                                            ; preds = %11029
  br label %11035

11035:                                            ; preds = %11034
  br label %11036

11036:                                            ; preds = %11035
  call void @llvm.lifetime.start.p0(i64 4, ptr %245) #11
  %11037 = call ptr @__errno_location() #12
  %11038 = load i32, ptr %11037, align 4, !tbaa !5
  store i32 %11038, ptr %245, align 4, !tbaa !5
  %11039 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11040 = call i32 @s2n_print_stacktrace(ptr noundef %11039)
  %11041 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11042 = trunc i8 %11041 to i1
  br i1 %11042, label %11043, label %11065

11043:                                            ; preds = %11036
  %11044 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11045 = call i32 @fileno(ptr noundef %11044) #11
  %11046 = call i32 @isatty(i32 noundef %11045) #11
  %11047 = icmp ne i32 %11046, 0
  br i1 %11047, label %11048, label %11065

11048:                                            ; preds = %11043
  %11049 = load i32, ptr %245, align 4, !tbaa !5
  %11050 = call ptr @__errno_location() #12
  store i32 %11049, ptr %11050, align 4, !tbaa !5
  %11051 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11052 = load i32, ptr @test_count, align 4, !tbaa !5
  %11053 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11054 = load i32, ptr %11053, align 4, !tbaa !5
  %11055 = call ptr @s2n_strerror(i32 noundef %11054, ptr noundef @.str.4)
  %11056 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11057 = load i32, ptr %11056, align 4, !tbaa !5
  %11058 = call ptr @s2n_strerror_debug(i32 noundef %11057, ptr noundef @.str.4)
  %11059 = call ptr @__errno_location() #12
  %11060 = load i32, ptr %11059, align 4, !tbaa !5
  %11061 = call ptr @strerror(i32 noundef %11060) #11
  %11062 = call ptr @__errno_location() #12
  %11063 = load i32, ptr %11062, align 4, !tbaa !5
  %11064 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11051, ptr noundef @.str.2, i32 noundef %11052, ptr noundef @.str.38, ptr noundef @.str.1, i32 noundef 394, ptr noundef %11055, ptr noundef %11058, ptr noundef %11061, i32 noundef %11063) #11
  br label %11082

11065:                                            ; preds = %11043, %11036
  %11066 = load i32, ptr %245, align 4, !tbaa !5
  %11067 = call ptr @__errno_location() #12
  store i32 %11066, ptr %11067, align 4, !tbaa !5
  %11068 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11069 = load i32, ptr @test_count, align 4, !tbaa !5
  %11070 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11071 = load i32, ptr %11070, align 4, !tbaa !5
  %11072 = call ptr @s2n_strerror(i32 noundef %11071, ptr noundef @.str.4)
  %11073 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11074 = load i32, ptr %11073, align 4, !tbaa !5
  %11075 = call ptr @s2n_strerror_debug(i32 noundef %11074, ptr noundef @.str.4)
  %11076 = call ptr @__errno_location() #12
  %11077 = load i32, ptr %11076, align 4, !tbaa !5
  %11078 = call ptr @strerror(i32 noundef %11077) #11
  %11079 = call ptr @__errno_location() #12
  %11080 = load i32, ptr %11079, align 4, !tbaa !5
  %11081 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11068, ptr noundef @.str.5, i32 noundef %11069, ptr noundef @.str.38, ptr noundef @.str.1, i32 noundef 394, ptr noundef %11072, ptr noundef %11075, ptr noundef %11078, i32 noundef %11080) #11
  br label %11082

11082:                                            ; preds = %11065, %11048
  call void @llvm.lifetime.end.p0(i64 4, ptr %245) #11
  br label %11083

11083:                                            ; preds = %11082
  br label %11084

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

11085:                                            ; No predecessors!
  br label %11086

11086:                                            ; preds = %11085
  br label %11087

11087:                                            ; preds = %11086, %11029
  br label %11088

11088:                                            ; preds = %11087
  br label %11089

11089:                                            ; preds = %11088
  br label %11090

11090:                                            ; preds = %11089
  %11091 = load i32, ptr @test_count, align 4, !tbaa !5
  %11092 = add nsw i32 %11091, 1
  store i32 %11092, ptr @test_count, align 4, !tbaa !5
  %11093 = load ptr, ptr %239, align 8, !tbaa !9
  %11094 = call i32 @s2n_connection_set_io_stuffers(ptr noundef %242, ptr noundef %243, ptr noundef %11093)
  %11095 = icmp eq i32 %11094, -1
  br i1 %11095, label %11096, label %11149

11096:                                            ; preds = %11090
  br label %11097

11097:                                            ; preds = %11096
  br label %11098

11098:                                            ; preds = %11097
  call void @llvm.lifetime.start.p0(i64 4, ptr %246) #11
  %11099 = call ptr @__errno_location() #12
  %11100 = load i32, ptr %11099, align 4, !tbaa !5
  store i32 %11100, ptr %246, align 4, !tbaa !5
  %11101 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11102 = call i32 @s2n_print_stacktrace(ptr noundef %11101)
  %11103 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11104 = trunc i8 %11103 to i1
  br i1 %11104, label %11105, label %11127

11105:                                            ; preds = %11098
  %11106 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11107 = call i32 @fileno(ptr noundef %11106) #11
  %11108 = call i32 @isatty(i32 noundef %11107) #11
  %11109 = icmp ne i32 %11108, 0
  br i1 %11109, label %11110, label %11127

11110:                                            ; preds = %11105
  %11111 = load i32, ptr %246, align 4, !tbaa !5
  %11112 = call ptr @__errno_location() #12
  store i32 %11111, ptr %11112, align 4, !tbaa !5
  %11113 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11114 = load i32, ptr @test_count, align 4, !tbaa !5
  %11115 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11116 = load i32, ptr %11115, align 4, !tbaa !5
  %11117 = call ptr @s2n_strerror(i32 noundef %11116, ptr noundef @.str.4)
  %11118 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11119 = load i32, ptr %11118, align 4, !tbaa !5
  %11120 = call ptr @s2n_strerror_debug(i32 noundef %11119, ptr noundef @.str.4)
  %11121 = call ptr @__errno_location() #12
  %11122 = load i32, ptr %11121, align 4, !tbaa !5
  %11123 = call ptr @strerror(i32 noundef %11122) #11
  %11124 = call ptr @__errno_location() #12
  %11125 = load i32, ptr %11124, align 4, !tbaa !5
  %11126 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11113, ptr noundef @.str.2, i32 noundef %11114, ptr noundef @.str.39, ptr noundef @.str.1, i32 noundef 395, ptr noundef %11117, ptr noundef %11120, ptr noundef %11123, i32 noundef %11125) #11
  br label %11144

11127:                                            ; preds = %11105, %11098
  %11128 = load i32, ptr %246, align 4, !tbaa !5
  %11129 = call ptr @__errno_location() #12
  store i32 %11128, ptr %11129, align 4, !tbaa !5
  %11130 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11131 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %11133, ptr noundef @.str.4)
  %11135 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11136 = load i32, ptr %11135, align 4, !tbaa !5
  %11137 = call ptr @s2n_strerror_debug(i32 noundef %11136, ptr noundef @.str.4)
  %11138 = call ptr @__errno_location() #12
  %11139 = load i32, ptr %11138, align 4, !tbaa !5
  %11140 = call ptr @strerror(i32 noundef %11139) #11
  %11141 = call ptr @__errno_location() #12
  %11142 = load i32, ptr %11141, align 4, !tbaa !5
  %11143 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11130, ptr noundef @.str.5, i32 noundef %11131, ptr noundef @.str.39, ptr noundef @.str.1, i32 noundef 395, ptr noundef %11134, ptr noundef %11137, ptr noundef %11140, i32 noundef %11142) #11
  br label %11144

11144:                                            ; preds = %11127, %11110
  call void @llvm.lifetime.end.p0(i64 4, ptr %246) #11
  br label %11145

11145:                                            ; preds = %11144
  br label %11146

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

11147:                                            ; No predecessors!
  br label %11148

11148:                                            ; preds = %11147
  br label %11149

11149:                                            ; preds = %11148, %11090
  br label %11150

11150:                                            ; preds = %11149
  br label %11151

11151:                                            ; preds = %11150
  br label %11152

11152:                                            ; preds = %11151
  %11153 = load i32, ptr @test_count, align 4, !tbaa !5
  %11154 = add nsw i32 %11153, 1
  store i32 %11154, ptr @test_count, align 4, !tbaa !5
  %11155 = load ptr, ptr %236, align 8, !tbaa !9
  %11156 = call i32 @s2n_connection_set_io_stuffers(ptr noundef %243, ptr noundef %242, ptr noundef %11155)
  %11157 = icmp eq i32 %11156, -1
  br i1 %11157, label %11158, label %11211

11158:                                            ; preds = %11152
  br label %11159

11159:                                            ; preds = %11158
  br label %11160

11160:                                            ; preds = %11159
  call void @llvm.lifetime.start.p0(i64 4, ptr %247) #11
  %11161 = call ptr @__errno_location() #12
  %11162 = load i32, ptr %11161, align 4, !tbaa !5
  store i32 %11162, ptr %247, align 4, !tbaa !5
  %11163 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11164 = call i32 @s2n_print_stacktrace(ptr noundef %11163)
  %11165 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11166 = trunc i8 %11165 to i1
  br i1 %11166, label %11167, label %11189

11167:                                            ; preds = %11160
  %11168 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11169 = call i32 @fileno(ptr noundef %11168) #11
  %11170 = call i32 @isatty(i32 noundef %11169) #11
  %11171 = icmp ne i32 %11170, 0
  br i1 %11171, label %11172, label %11189

11172:                                            ; preds = %11167
  %11173 = load i32, ptr %247, align 4, !tbaa !5
  %11174 = call ptr @__errno_location() #12
  store i32 %11173, ptr %11174, align 4, !tbaa !5
  %11175 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11176 = load i32, ptr @test_count, align 4, !tbaa !5
  %11177 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11178 = load i32, ptr %11177, align 4, !tbaa !5
  %11179 = call ptr @s2n_strerror(i32 noundef %11178, ptr noundef @.str.4)
  %11180 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11181 = load i32, ptr %11180, align 4, !tbaa !5
  %11182 = call ptr @s2n_strerror_debug(i32 noundef %11181, ptr noundef @.str.4)
  %11183 = call ptr @__errno_location() #12
  %11184 = load i32, ptr %11183, align 4, !tbaa !5
  %11185 = call ptr @strerror(i32 noundef %11184) #11
  %11186 = call ptr @__errno_location() #12
  %11187 = load i32, ptr %11186, align 4, !tbaa !5
  %11188 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11175, ptr noundef @.str.2, i32 noundef %11176, ptr noundef @.str.40, ptr noundef @.str.1, i32 noundef 396, ptr noundef %11179, ptr noundef %11182, ptr noundef %11185, i32 noundef %11187) #11
  br label %11206

11189:                                            ; preds = %11167, %11160
  %11190 = load i32, ptr %247, align 4, !tbaa !5
  %11191 = call ptr @__errno_location() #12
  store i32 %11190, ptr %11191, align 4, !tbaa !5
  %11192 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11193 = load i32, ptr @test_count, align 4, !tbaa !5
  %11194 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11195 = load i32, ptr %11194, align 4, !tbaa !5
  %11196 = call ptr @s2n_strerror(i32 noundef %11195, ptr noundef @.str.4)
  %11197 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11198 = load i32, ptr %11197, align 4, !tbaa !5
  %11199 = call ptr @s2n_strerror_debug(i32 noundef %11198, ptr noundef @.str.4)
  %11200 = call ptr @__errno_location() #12
  %11201 = load i32, ptr %11200, align 4, !tbaa !5
  %11202 = call ptr @strerror(i32 noundef %11201) #11
  %11203 = call ptr @__errno_location() #12
  %11204 = load i32, ptr %11203, align 4, !tbaa !5
  %11205 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11192, ptr noundef @.str.5, i32 noundef %11193, ptr noundef @.str.40, ptr noundef @.str.1, i32 noundef 396, ptr noundef %11196, ptr noundef %11199, ptr noundef %11202, i32 noundef %11204) #11
  br label %11206

11206:                                            ; preds = %11189, %11172
  call void @llvm.lifetime.end.p0(i64 4, ptr %247) #11
  br label %11207

11207:                                            ; preds = %11206
  br label %11208

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

11209:                                            ; No predecessors!
  br label %11210

11210:                                            ; preds = %11209
  br label %11211

11211:                                            ; preds = %11210, %11152
  br label %11212

11212:                                            ; preds = %11211
  br label %11213

11213:                                            ; preds = %11212
  br label %11214

11214:                                            ; preds = %11213
  %11215 = load i32, ptr @test_count, align 4, !tbaa !5
  %11216 = add nsw i32 %11215, 1
  store i32 %11216, ptr @test_count, align 4, !tbaa !5
  %11217 = load ptr, ptr %236, align 8, !tbaa !9
  %11218 = load ptr, ptr %239, align 8, !tbaa !9
  %11219 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef %11217, ptr noundef %11218)
  %11220 = icmp eq i32 %11219, -1
  br i1 %11220, label %11221, label %11274

11221:                                            ; preds = %11214
  br label %11222

11222:                                            ; preds = %11221
  br label %11223

11223:                                            ; preds = %11222
  call void @llvm.lifetime.start.p0(i64 4, ptr %248) #11
  %11224 = call ptr @__errno_location() #12
  %11225 = load i32, ptr %11224, align 4, !tbaa !5
  store i32 %11225, ptr %248, align 4, !tbaa !5
  %11226 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11227 = call i32 @s2n_print_stacktrace(ptr noundef %11226)
  %11228 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11229 = trunc i8 %11228 to i1
  br i1 %11229, label %11230, label %11252

11230:                                            ; preds = %11223
  %11231 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11232 = call i32 @fileno(ptr noundef %11231) #11
  %11233 = call i32 @isatty(i32 noundef %11232) #11
  %11234 = icmp ne i32 %11233, 0
  br i1 %11234, label %11235, label %11252

11235:                                            ; preds = %11230
  %11236 = load i32, ptr %248, align 4, !tbaa !5
  %11237 = call ptr @__errno_location() #12
  store i32 %11236, ptr %11237, align 4, !tbaa !5
  %11238 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11239 = load i32, ptr @test_count, align 4, !tbaa !5
  %11240 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11241 = load i32, ptr %11240, align 4, !tbaa !5
  %11242 = call ptr @s2n_strerror(i32 noundef %11241, ptr noundef @.str.4)
  %11243 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11244 = load i32, ptr %11243, align 4, !tbaa !5
  %11245 = call ptr @s2n_strerror_debug(i32 noundef %11244, ptr noundef @.str.4)
  %11246 = call ptr @__errno_location() #12
  %11247 = load i32, ptr %11246, align 4, !tbaa !5
  %11248 = call ptr @strerror(i32 noundef %11247) #11
  %11249 = call ptr @__errno_location() #12
  %11250 = load i32, ptr %11249, align 4, !tbaa !5
  %11251 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11238, ptr noundef @.str.2, i32 noundef %11239, ptr noundef @.str.32, ptr noundef @.str.1, i32 noundef 398, ptr noundef %11242, ptr noundef %11245, ptr noundef %11248, i32 noundef %11250) #11
  br label %11269

11252:                                            ; preds = %11230, %11223
  %11253 = load i32, ptr %248, align 4, !tbaa !5
  %11254 = call ptr @__errno_location() #12
  store i32 %11253, ptr %11254, align 4, !tbaa !5
  %11255 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11256 = load i32, ptr @test_count, align 4, !tbaa !5
  %11257 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11258 = load i32, ptr %11257, align 4, !tbaa !5
  %11259 = call ptr @s2n_strerror(i32 noundef %11258, ptr noundef @.str.4)
  %11260 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11261 = load i32, ptr %11260, align 4, !tbaa !5
  %11262 = call ptr @s2n_strerror_debug(i32 noundef %11261, ptr noundef @.str.4)
  %11263 = call ptr @__errno_location() #12
  %11264 = load i32, ptr %11263, align 4, !tbaa !5
  %11265 = call ptr @strerror(i32 noundef %11264) #11
  %11266 = call ptr @__errno_location() #12
  %11267 = load i32, ptr %11266, align 4, !tbaa !5
  %11268 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11255, ptr noundef @.str.5, i32 noundef %11256, ptr noundef @.str.32, ptr noundef @.str.1, i32 noundef 398, ptr noundef %11259, ptr noundef %11262, ptr noundef %11265, i32 noundef %11267) #11
  br label %11269

11269:                                            ; preds = %11252, %11235
  call void @llvm.lifetime.end.p0(i64 4, ptr %248) #11
  br label %11270

11270:                                            ; preds = %11269
  br label %11271

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

11272:                                            ; No predecessors!
  br label %11273

11273:                                            ; preds = %11272
  br label %11274

11274:                                            ; preds = %11273, %11214
  br label %11275

11275:                                            ; preds = %11274
  br label %11276

11276:                                            ; preds = %11275
  call void @llvm.lifetime.start.p0(i64 2, ptr %249) #11
  %11277 = load ptr, ptr %239, align 8, !tbaa !9
  %11278 = getelementptr inbounds %struct.s2n_connection, ptr %11277, i32 0, i32 53
  %11279 = load i16, ptr %11278, align 8, !tbaa !46
  %11280 = zext i16 %11279 to i32
  %11281 = sdiv i32 %11280, 2
  %11282 = trunc i32 %11281 to i16
  store i16 %11282, ptr %249, align 2, !tbaa !49
  call void @llvm.lifetime.start.p0(i64 40, ptr %250) #11
  call void @llvm.memset.p0.i64(ptr align 8 %250, i8 0, i64 40, i1 false)
  br label %11283

11283:                                            ; preds = %11276
  %11284 = load i32, ptr @test_count, align 4, !tbaa !5
  %11285 = add nsw i32 %11284, 1
  store i32 %11285, ptr @test_count, align 4, !tbaa !5
  %11286 = load i16, ptr %249, align 2, !tbaa !49
  %11287 = zext i16 %11286 to i32
  %11288 = call i32 @s2n_stuffer_alloc(ptr noundef %250, i32 noundef %11287)
  %11289 = icmp eq i32 %11288, -1
  br i1 %11289, label %11290, label %11343

11290:                                            ; preds = %11283
  br label %11291

11291:                                            ; preds = %11290
  br label %11292

11292:                                            ; preds = %11291
  call void @llvm.lifetime.start.p0(i64 4, ptr %251) #11
  %11293 = call ptr @__errno_location() #12
  %11294 = load i32, ptr %11293, align 4, !tbaa !5
  store i32 %11294, ptr %251, align 4, !tbaa !5
  %11295 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11296 = call i32 @s2n_print_stacktrace(ptr noundef %11295)
  %11297 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11298 = trunc i8 %11297 to i1
  br i1 %11298, label %11299, label %11321

11299:                                            ; preds = %11292
  %11300 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11301 = call i32 @fileno(ptr noundef %11300) #11
  %11302 = call i32 @isatty(i32 noundef %11301) #11
  %11303 = icmp ne i32 %11302, 0
  br i1 %11303, label %11304, label %11321

11304:                                            ; preds = %11299
  %11305 = load i32, ptr %251, align 4, !tbaa !5
  %11306 = call ptr @__errno_location() #12
  store i32 %11305, ptr %11306, align 4, !tbaa !5
  %11307 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11308 = load i32, ptr @test_count, align 4, !tbaa !5
  %11309 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11310 = load i32, ptr %11309, align 4, !tbaa !5
  %11311 = call ptr @s2n_strerror(i32 noundef %11310, ptr noundef @.str.4)
  %11312 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11313 = load i32, ptr %11312, align 4, !tbaa !5
  %11314 = call ptr @s2n_strerror_debug(i32 noundef %11313, ptr noundef @.str.4)
  %11315 = call ptr @__errno_location() #12
  %11316 = load i32, ptr %11315, align 4, !tbaa !5
  %11317 = call ptr @strerror(i32 noundef %11316) #11
  %11318 = call ptr @__errno_location() #12
  %11319 = load i32, ptr %11318, align 4, !tbaa !5
  %11320 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11307, ptr noundef @.str.2, i32 noundef %11308, ptr noundef @.str.87, ptr noundef @.str.1, i32 noundef 403, ptr noundef %11311, ptr noundef %11314, ptr noundef %11317, i32 noundef %11319) #11
  br label %11338

11321:                                            ; preds = %11299, %11292
  %11322 = load i32, ptr %251, align 4, !tbaa !5
  %11323 = call ptr @__errno_location() #12
  store i32 %11322, ptr %11323, align 4, !tbaa !5
  %11324 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11325 = load i32, ptr @test_count, align 4, !tbaa !5
  %11326 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11327 = load i32, ptr %11326, align 4, !tbaa !5
  %11328 = call ptr @s2n_strerror(i32 noundef %11327, ptr noundef @.str.4)
  %11329 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11330 = load i32, ptr %11329, align 4, !tbaa !5
  %11331 = call ptr @s2n_strerror_debug(i32 noundef %11330, ptr noundef @.str.4)
  %11332 = call ptr @__errno_location() #12
  %11333 = load i32, ptr %11332, align 4, !tbaa !5
  %11334 = call ptr @strerror(i32 noundef %11333) #11
  %11335 = call ptr @__errno_location() #12
  %11336 = load i32, ptr %11335, align 4, !tbaa !5
  %11337 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11324, ptr noundef @.str.5, i32 noundef %11325, ptr noundef @.str.87, ptr noundef @.str.1, i32 noundef 403, ptr noundef %11328, ptr noundef %11331, ptr noundef %11334, i32 noundef %11336) #11
  br label %11338

11338:                                            ; preds = %11321, %11304
  call void @llvm.lifetime.end.p0(i64 4, ptr %251) #11
  br label %11339

11339:                                            ; preds = %11338
  br label %11340

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

11341:                                            ; No predecessors!
  br label %11342

11342:                                            ; preds = %11341
  br label %11343

11343:                                            ; preds = %11342, %11283
  br label %11344

11344:                                            ; preds = %11343
  br label %11345

11345:                                            ; preds = %11344
  br label %11346

11346:                                            ; preds = %11345
  %11347 = load i32, ptr @test_count, align 4, !tbaa !5
  %11348 = add nsw i32 %11347, 1
  store i32 %11348, ptr @test_count, align 4, !tbaa !5
  %11349 = load ptr, ptr %239, align 8, !tbaa !9
  %11350 = call i32 @s2n_connection_set_send_io_stuffer(ptr noundef %250, ptr noundef %11349)
  %11351 = icmp eq i32 %11350, -1
  br i1 %11351, label %11352, label %11405

11352:                                            ; preds = %11346
  br label %11353

11353:                                            ; preds = %11352
  br label %11354

11354:                                            ; preds = %11353
  call void @llvm.lifetime.start.p0(i64 4, ptr %252) #11
  %11355 = call ptr @__errno_location() #12
  %11356 = load i32, ptr %11355, align 4, !tbaa !5
  store i32 %11356, ptr %252, align 4, !tbaa !5
  %11357 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11358 = call i32 @s2n_print_stacktrace(ptr noundef %11357)
  %11359 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11360 = trunc i8 %11359 to i1
  br i1 %11360, label %11361, label %11383

11361:                                            ; preds = %11354
  %11362 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11363 = call i32 @fileno(ptr noundef %11362) #11
  %11364 = call i32 @isatty(i32 noundef %11363) #11
  %11365 = icmp ne i32 %11364, 0
  br i1 %11365, label %11366, label %11383

11366:                                            ; preds = %11361
  %11367 = load i32, ptr %252, align 4, !tbaa !5
  %11368 = call ptr @__errno_location() #12
  store i32 %11367, ptr %11368, align 4, !tbaa !5
  %11369 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11370 = load i32, ptr @test_count, align 4, !tbaa !5
  %11371 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11372 = load i32, ptr %11371, align 4, !tbaa !5
  %11373 = call ptr @s2n_strerror(i32 noundef %11372, ptr noundef @.str.4)
  %11374 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11375 = load i32, ptr %11374, align 4, !tbaa !5
  %11376 = call ptr @s2n_strerror_debug(i32 noundef %11375, ptr noundef @.str.4)
  %11377 = call ptr @__errno_location() #12
  %11378 = load i32, ptr %11377, align 4, !tbaa !5
  %11379 = call ptr @strerror(i32 noundef %11378) #11
  %11380 = call ptr @__errno_location() #12
  %11381 = load i32, ptr %11380, align 4, !tbaa !5
  %11382 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11369, ptr noundef @.str.2, i32 noundef %11370, ptr noundef @.str.88, ptr noundef @.str.1, i32 noundef 404, ptr noundef %11373, ptr noundef %11376, ptr noundef %11379, i32 noundef %11381) #11
  br label %11400

11383:                                            ; preds = %11361, %11354
  %11384 = load i32, ptr %252, align 4, !tbaa !5
  %11385 = call ptr @__errno_location() #12
  store i32 %11384, ptr %11385, align 4, !tbaa !5
  %11386 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11387 = load i32, ptr @test_count, align 4, !tbaa !5
  %11388 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11389 = load i32, ptr %11388, align 4, !tbaa !5
  %11390 = call ptr @s2n_strerror(i32 noundef %11389, ptr noundef @.str.4)
  %11391 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11392 = load i32, ptr %11391, align 4, !tbaa !5
  %11393 = call ptr @s2n_strerror_debug(i32 noundef %11392, ptr noundef @.str.4)
  %11394 = call ptr @__errno_location() #12
  %11395 = load i32, ptr %11394, align 4, !tbaa !5
  %11396 = call ptr @strerror(i32 noundef %11395) #11
  %11397 = call ptr @__errno_location() #12
  %11398 = load i32, ptr %11397, align 4, !tbaa !5
  %11399 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11386, ptr noundef @.str.5, i32 noundef %11387, ptr noundef @.str.88, ptr noundef @.str.1, i32 noundef 404, ptr noundef %11390, ptr noundef %11393, ptr noundef %11396, i32 noundef %11398) #11
  br label %11400

11400:                                            ; preds = %11383, %11366
  call void @llvm.lifetime.end.p0(i64 4, ptr %252) #11
  br label %11401

11401:                                            ; preds = %11400
  br label %11402

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

11403:                                            ; No predecessors!
  br label %11404

11404:                                            ; preds = %11403
  br label %11405

11405:                                            ; preds = %11404, %11346
  br label %11406

11406:                                            ; preds = %11405
  br label %11407

11407:                                            ; preds = %11406
  br label %11408

11408:                                            ; preds = %11407
  br label %11409

11409:                                            ; preds = %11408
  br label %11410

11410:                                            ; preds = %11409
  %11411 = load i32, ptr @test_count, align 4, !tbaa !5
  %11412 = add nsw i32 %11411, 1
  store i32 %11412, ptr @test_count, align 4, !tbaa !5
  %11413 = load ptr, ptr %239, align 8, !tbaa !9
  %11414 = getelementptr inbounds [16384 x i8], ptr %21, i64 0, i64 0
  %11415 = call i64 @s2n_send(ptr noundef %11413, ptr noundef %11414, i64 noundef 16384, ptr noundef %22)
  %11416 = icmp eq i64 %11415, -1
  br i1 %11416, label %11470, label %11417

11417:                                            ; preds = %11410
  br label %11418

11418:                                            ; preds = %11417
  br label %11419

11419:                                            ; preds = %11418
  call void @llvm.lifetime.start.p0(i64 4, ptr %253) #11
  %11420 = call ptr @__errno_location() #12
  %11421 = load i32, ptr %11420, align 4, !tbaa !5
  store i32 %11421, ptr %253, align 4, !tbaa !5
  %11422 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11423 = call i32 @s2n_print_stacktrace(ptr noundef %11422)
  %11424 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11425 = trunc i8 %11424 to i1
  br i1 %11425, label %11426, label %11448

11426:                                            ; preds = %11419
  %11427 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11428 = call i32 @fileno(ptr noundef %11427) #11
  %11429 = call i32 @isatty(i32 noundef %11428) #11
  %11430 = icmp ne i32 %11429, 0
  br i1 %11430, label %11431, label %11448

11431:                                            ; preds = %11426
  %11432 = load i32, ptr %253, align 4, !tbaa !5
  %11433 = call ptr @__errno_location() #12
  store i32 %11432, ptr %11433, align 4, !tbaa !5
  %11434 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11435 = load i32, ptr @test_count, align 4, !tbaa !5
  %11436 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11437 = load i32, ptr %11436, align 4, !tbaa !5
  %11438 = call ptr @s2n_strerror(i32 noundef %11437, ptr noundef @.str.4)
  %11439 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11440 = load i32, ptr %11439, align 4, !tbaa !5
  %11441 = call ptr @s2n_strerror_debug(i32 noundef %11440, ptr noundef @.str.4)
  %11442 = call ptr @__errno_location() #12
  %11443 = load i32, ptr %11442, align 4, !tbaa !5
  %11444 = call ptr @strerror(i32 noundef %11443) #11
  %11445 = call ptr @__errno_location() #12
  %11446 = load i32, ptr %11445, align 4, !tbaa !5
  %11447 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11434, ptr noundef @.str.2, i32 noundef %11435, ptr noundef @.str.89, ptr noundef @.str.1, i32 noundef 406, ptr noundef %11438, ptr noundef %11441, ptr noundef %11444, i32 noundef %11446) #11
  br label %11465

11448:                                            ; preds = %11426, %11419
  %11449 = load i32, ptr %253, align 4, !tbaa !5
  %11450 = call ptr @__errno_location() #12
  store i32 %11449, ptr %11450, align 4, !tbaa !5
  %11451 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11452 = load i32, ptr @test_count, align 4, !tbaa !5
  %11453 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11454 = load i32, ptr %11453, align 4, !tbaa !5
  %11455 = call ptr @s2n_strerror(i32 noundef %11454, ptr noundef @.str.4)
  %11456 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11457 = load i32, ptr %11456, align 4, !tbaa !5
  %11458 = call ptr @s2n_strerror_debug(i32 noundef %11457, ptr noundef @.str.4)
  %11459 = call ptr @__errno_location() #12
  %11460 = load i32, ptr %11459, align 4, !tbaa !5
  %11461 = call ptr @strerror(i32 noundef %11460) #11
  %11462 = call ptr @__errno_location() #12
  %11463 = load i32, ptr %11462, align 4, !tbaa !5
  %11464 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11451, ptr noundef @.str.5, i32 noundef %11452, ptr noundef @.str.89, ptr noundef @.str.1, i32 noundef 406, ptr noundef %11455, ptr noundef %11458, ptr noundef %11461, i32 noundef %11463) #11
  br label %11465

11465:                                            ; preds = %11448, %11431
  call void @llvm.lifetime.end.p0(i64 4, ptr %253) #11
  br label %11466

11466:                                            ; preds = %11465
  br label %11467

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

11468:                                            ; No predecessors!
  br label %11469

11469:                                            ; preds = %11468
  br label %11470

11470:                                            ; preds = %11469, %11410
  br label %11471

11471:                                            ; preds = %11470
  br label %11472

11472:                                            ; preds = %11471
  br label %11473

11473:                                            ; preds = %11472
  %11474 = load i32, ptr @test_count, align 4, !tbaa !5
  %11475 = add nsw i32 %11474, 1
  store i32 %11475, ptr @test_count, align 4, !tbaa !5
  %11476 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11477 = load i32, ptr %11476, align 4, !tbaa !5
  %11478 = icmp eq i32 %11477, 201326592
  br i1 %11478, label %11532, label %11479

11479:                                            ; preds = %11473
  br label %11480

11480:                                            ; preds = %11479
  br label %11481

11481:                                            ; preds = %11480
  call void @llvm.lifetime.start.p0(i64 4, ptr %254) #11
  %11482 = call ptr @__errno_location() #12
  %11483 = load i32, ptr %11482, align 4, !tbaa !5
  store i32 %11483, ptr %254, align 4, !tbaa !5
  %11484 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11485 = call i32 @s2n_print_stacktrace(ptr noundef %11484)
  %11486 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11487 = trunc i8 %11486 to i1
  br i1 %11487, label %11488, label %11510

11488:                                            ; preds = %11481
  %11489 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11490 = call i32 @fileno(ptr noundef %11489) #11
  %11491 = call i32 @isatty(i32 noundef %11490) #11
  %11492 = icmp ne i32 %11491, 0
  br i1 %11492, label %11493, label %11510

11493:                                            ; preds = %11488
  %11494 = load i32, ptr %254, align 4, !tbaa !5
  %11495 = call ptr @__errno_location() #12
  store i32 %11494, ptr %11495, align 4, !tbaa !5
  %11496 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11497 = load i32, ptr @test_count, align 4, !tbaa !5
  %11498 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11499 = load i32, ptr %11498, align 4, !tbaa !5
  %11500 = call ptr @s2n_strerror(i32 noundef %11499, ptr noundef @.str.4)
  %11501 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11502 = load i32, ptr %11501, align 4, !tbaa !5
  %11503 = call ptr @s2n_strerror_debug(i32 noundef %11502, ptr noundef @.str.4)
  %11504 = call ptr @__errno_location() #12
  %11505 = load i32, ptr %11504, align 4, !tbaa !5
  %11506 = call ptr @strerror(i32 noundef %11505) #11
  %11507 = call ptr @__errno_location() #12
  %11508 = load i32, ptr %11507, align 4, !tbaa !5
  %11509 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11496, ptr noundef @.str.2, i32 noundef %11497, ptr noundef @.str.90, ptr noundef @.str.1, i32 noundef 406, ptr noundef %11500, ptr noundef %11503, ptr noundef %11506, i32 noundef %11508) #11
  br label %11527

11510:                                            ; preds = %11488, %11481
  %11511 = load i32, ptr %254, 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.4)
  %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.4)
  %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.5, i32 noundef %11514, ptr noundef @.str.90, ptr noundef @.str.1, i32 noundef 406, ptr noundef %11517, ptr noundef %11520, ptr noundef %11523, i32 noundef %11525) #11
  br label %11527

11527:                                            ; preds = %11510, %11493
  call void @llvm.lifetime.end.p0(i64 4, ptr %254) #11
  br label %11528

11528:                                            ; preds = %11527
  br label %11529

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

11530:                                            ; No predecessors!
  br label %11531

11531:                                            ; preds = %11530
  br label %11532

11532:                                            ; preds = %11531, %11473
  br label %11533

11533:                                            ; preds = %11532
  br label %11534

11534:                                            ; preds = %11533
  br label %11535

11535:                                            ; preds = %11534
  %11536 = load i32, ptr @test_count, align 4, !tbaa !5
  %11537 = add nsw i32 %11536, 1
  store i32 %11537, ptr @test_count, align 4, !tbaa !5
  %11538 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11539 = load i32, ptr %11538, align 4, !tbaa !5
  %11540 = call ptr @s2n_strerror_debug(i32 noundef %11539, ptr noundef @.str.4)
  %11541 = icmp eq ptr %11540, null
  br i1 %11541, label %11542, label %11595

11542:                                            ; preds = %11535
  br label %11543

11543:                                            ; preds = %11542
  br label %11544

11544:                                            ; preds = %11543
  call void @llvm.lifetime.start.p0(i64 4, ptr %255) #11
  %11545 = call ptr @__errno_location() #12
  %11546 = load i32, ptr %11545, align 4, !tbaa !5
  store i32 %11546, ptr %255, align 4, !tbaa !5
  %11547 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11548 = call i32 @s2n_print_stacktrace(ptr noundef %11547)
  %11549 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11550 = trunc i8 %11549 to i1
  br i1 %11550, label %11551, label %11573

11551:                                            ; preds = %11544
  %11552 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11553 = call i32 @fileno(ptr noundef %11552) #11
  %11554 = call i32 @isatty(i32 noundef %11553) #11
  %11555 = icmp ne i32 %11554, 0
  br i1 %11555, label %11556, label %11573

11556:                                            ; preds = %11551
  %11557 = load i32, ptr %255, align 4, !tbaa !5
  %11558 = call ptr @__errno_location() #12
  store i32 %11557, ptr %11558, align 4, !tbaa !5
  %11559 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11560 = load i32, ptr @test_count, align 4, !tbaa !5
  %11561 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11562 = load i32, ptr %11561, align 4, !tbaa !5
  %11563 = call ptr @s2n_strerror(i32 noundef %11562, ptr noundef @.str.4)
  %11564 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11565 = load i32, ptr %11564, align 4, !tbaa !5
  %11566 = call ptr @s2n_strerror_debug(i32 noundef %11565, ptr noundef @.str.4)
  %11567 = call ptr @__errno_location() #12
  %11568 = load i32, ptr %11567, align 4, !tbaa !5
  %11569 = call ptr @strerror(i32 noundef %11568) #11
  %11570 = call ptr @__errno_location() #12
  %11571 = load i32, ptr %11570, align 4, !tbaa !5
  %11572 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11559, ptr noundef @.str.2, i32 noundef %11560, ptr noundef @.str.84, ptr noundef @.str.1, i32 noundef 406, ptr noundef %11563, ptr noundef %11566, ptr noundef %11569, i32 noundef %11571) #11
  br label %11590

11573:                                            ; preds = %11551, %11544
  %11574 = load i32, ptr %255, align 4, !tbaa !5
  %11575 = call ptr @__errno_location() #12
  store i32 %11574, ptr %11575, align 4, !tbaa !5
  %11576 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11577 = load i32, ptr @test_count, align 4, !tbaa !5
  %11578 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11579 = load i32, ptr %11578, align 4, !tbaa !5
  %11580 = call ptr @s2n_strerror(i32 noundef %11579, ptr noundef @.str.4)
  %11581 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11582 = load i32, ptr %11581, align 4, !tbaa !5
  %11583 = call ptr @s2n_strerror_debug(i32 noundef %11582, ptr noundef @.str.4)
  %11584 = call ptr @__errno_location() #12
  %11585 = load i32, ptr %11584, align 4, !tbaa !5
  %11586 = call ptr @strerror(i32 noundef %11585) #11
  %11587 = call ptr @__errno_location() #12
  %11588 = load i32, ptr %11587, align 4, !tbaa !5
  %11589 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11576, ptr noundef @.str.5, i32 noundef %11577, ptr noundef @.str.84, ptr noundef @.str.1, i32 noundef 406, ptr noundef %11580, ptr noundef %11583, ptr noundef %11586, i32 noundef %11588) #11
  br label %11590

11590:                                            ; preds = %11573, %11556
  call void @llvm.lifetime.end.p0(i64 4, ptr %255) #11
  br label %11591

11591:                                            ; preds = %11590
  br label %11592

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

11593:                                            ; No predecessors!
  br label %11594

11594:                                            ; preds = %11593
  br label %11595

11595:                                            ; preds = %11594, %11535
  br label %11596

11596:                                            ; preds = %11595
  br label %11597

11597:                                            ; preds = %11596
  br label %11598

11598:                                            ; preds = %11597
  br label %11599

11599:                                            ; preds = %11598
  br label %11600

11600:                                            ; preds = %11599
  %11601 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %11601, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %11602 = call ptr @__errno_location() #12
  store i32 0, ptr %11602, align 4, !tbaa !5
  br label %11603

11603:                                            ; preds = %11600
  br label %11604

11604:                                            ; preds = %11603
  br label %11605

11605:                                            ; preds = %11604
  br label %11606

11606:                                            ; preds = %11605
  br label %11607

11607:                                            ; preds = %11606
  %11608 = load i32, ptr @test_count, align 4, !tbaa !5
  %11609 = add nsw i32 %11608, 1
  store i32 %11609, ptr @test_count, align 4, !tbaa !5
  %11610 = load i32, ptr %22, align 4, !tbaa !5
  %11611 = icmp eq i32 %11610, 2
  br i1 %11611, label %11665, label %11612

11612:                                            ; preds = %11607
  br label %11613

11613:                                            ; preds = %11612
  br label %11614

11614:                                            ; preds = %11613
  call void @llvm.lifetime.start.p0(i64 4, ptr %256) #11
  %11615 = call ptr @__errno_location() #12
  %11616 = load i32, ptr %11615, align 4, !tbaa !5
  store i32 %11616, ptr %256, align 4, !tbaa !5
  %11617 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11618 = call i32 @s2n_print_stacktrace(ptr noundef %11617)
  %11619 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11620 = trunc i8 %11619 to i1
  br i1 %11620, label %11621, label %11643

11621:                                            ; preds = %11614
  %11622 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11623 = call i32 @fileno(ptr noundef %11622) #11
  %11624 = call i32 @isatty(i32 noundef %11623) #11
  %11625 = icmp ne i32 %11624, 0
  br i1 %11625, label %11626, label %11643

11626:                                            ; preds = %11621
  %11627 = load i32, ptr %256, align 4, !tbaa !5
  %11628 = call ptr @__errno_location() #12
  store i32 %11627, ptr %11628, align 4, !tbaa !5
  %11629 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11630 = load i32, ptr @test_count, align 4, !tbaa !5
  %11631 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11632 = load i32, ptr %11631, align 4, !tbaa !5
  %11633 = call ptr @s2n_strerror(i32 noundef %11632, ptr noundef @.str.4)
  %11634 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11635 = load i32, ptr %11634, align 4, !tbaa !5
  %11636 = call ptr @s2n_strerror_debug(i32 noundef %11635, ptr noundef @.str.4)
  %11637 = call ptr @__errno_location() #12
  %11638 = load i32, ptr %11637, align 4, !tbaa !5
  %11639 = call ptr @strerror(i32 noundef %11638) #11
  %11640 = call ptr @__errno_location() #12
  %11641 = load i32, ptr %11640, align 4, !tbaa !5
  %11642 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11629, ptr noundef @.str.2, i32 noundef %11630, ptr noundef @.str.91, ptr noundef @.str.1, i32 noundef 407, ptr noundef %11633, ptr noundef %11636, ptr noundef %11639, i32 noundef %11641) #11
  br label %11660

11643:                                            ; preds = %11621, %11614
  %11644 = load i32, ptr %256, align 4, !tbaa !5
  %11645 = call ptr @__errno_location() #12
  store i32 %11644, ptr %11645, align 4, !tbaa !5
  %11646 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11647 = load i32, ptr @test_count, align 4, !tbaa !5
  %11648 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11649 = load i32, ptr %11648, align 4, !tbaa !5
  %11650 = call ptr @s2n_strerror(i32 noundef %11649, ptr noundef @.str.4)
  %11651 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11652 = load i32, ptr %11651, align 4, !tbaa !5
  %11653 = call ptr @s2n_strerror_debug(i32 noundef %11652, ptr noundef @.str.4)
  %11654 = call ptr @__errno_location() #12
  %11655 = load i32, ptr %11654, align 4, !tbaa !5
  %11656 = call ptr @strerror(i32 noundef %11655) #11
  %11657 = call ptr @__errno_location() #12
  %11658 = load i32, ptr %11657, align 4, !tbaa !5
  %11659 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11646, ptr noundef @.str.5, i32 noundef %11647, ptr noundef @.str.91, ptr noundef @.str.1, i32 noundef 407, ptr noundef %11650, ptr noundef %11653, ptr noundef %11656, i32 noundef %11658) #11
  br label %11660

11660:                                            ; preds = %11643, %11626
  call void @llvm.lifetime.end.p0(i64 4, ptr %256) #11
  br label %11661

11661:                                            ; preds = %11660
  br label %11662

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

11663:                                            ; No predecessors!
  br label %11664

11664:                                            ; preds = %11663
  br label %11665

11665:                                            ; preds = %11664, %11607
  br label %11666

11666:                                            ; preds = %11665
  br label %11667

11667:                                            ; preds = %11666
  br label %11668

11668:                                            ; preds = %11667
  br label %11669

11669:                                            ; preds = %11668
  br label %11670

11670:                                            ; preds = %11669
  %11671 = load i32, ptr @test_count, align 4, !tbaa !5
  %11672 = add nsw i32 %11671, 1
  store i32 %11672, ptr @test_count, align 4, !tbaa !5
  %11673 = load ptr, ptr %239, align 8, !tbaa !9
  %11674 = call i32 @s2n_renegotiate_wipe(ptr noundef %11673)
  %11675 = icmp eq i32 %11674, -1
  br i1 %11675, label %11729, label %11676

11676:                                            ; preds = %11670
  br label %11677

11677:                                            ; preds = %11676
  br label %11678

11678:                                            ; preds = %11677
  call void @llvm.lifetime.start.p0(i64 4, ptr %257) #11
  %11679 = call ptr @__errno_location() #12
  %11680 = load i32, ptr %11679, align 4, !tbaa !5
  store i32 %11680, ptr %257, align 4, !tbaa !5
  %11681 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11682 = call i32 @s2n_print_stacktrace(ptr noundef %11681)
  %11683 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11684 = trunc i8 %11683 to i1
  br i1 %11684, label %11685, label %11707

11685:                                            ; preds = %11678
  %11686 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11687 = call i32 @fileno(ptr noundef %11686) #11
  %11688 = call i32 @isatty(i32 noundef %11687) #11
  %11689 = icmp ne i32 %11688, 0
  br i1 %11689, label %11690, label %11707

11690:                                            ; preds = %11685
  %11691 = load i32, ptr %257, align 4, !tbaa !5
  %11692 = call ptr @__errno_location() #12
  store i32 %11691, ptr %11692, align 4, !tbaa !5
  %11693 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11694 = load i32, ptr @test_count, align 4, !tbaa !5
  %11695 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11696 = load i32, ptr %11695, align 4, !tbaa !5
  %11697 = call ptr @s2n_strerror(i32 noundef %11696, ptr noundef @.str.4)
  %11698 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11699 = load i32, ptr %11698, align 4, !tbaa !5
  %11700 = call ptr @s2n_strerror_debug(i32 noundef %11699, ptr noundef @.str.4)
  %11701 = call ptr @__errno_location() #12
  %11702 = load i32, ptr %11701, align 4, !tbaa !5
  %11703 = call ptr @strerror(i32 noundef %11702) #11
  %11704 = call ptr @__errno_location() #12
  %11705 = load i32, ptr %11704, align 4, !tbaa !5
  %11706 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11693, ptr noundef @.str.2, i32 noundef %11694, ptr noundef @.str.82, ptr noundef @.str.1, i32 noundef 409, ptr noundef %11697, ptr noundef %11700, ptr noundef %11703, i32 noundef %11705) #11
  br label %11724

11707:                                            ; preds = %11685, %11678
  %11708 = load i32, ptr %257, 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.4)
  %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.4)
  %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.5, i32 noundef %11711, ptr noundef @.str.82, ptr noundef @.str.1, i32 noundef 409, ptr noundef %11714, ptr noundef %11717, ptr noundef %11720, i32 noundef %11722) #11
  br label %11724

11724:                                            ; preds = %11707, %11690
  call void @llvm.lifetime.end.p0(i64 4, ptr %257) #11
  br label %11725

11725:                                            ; preds = %11724
  br label %11726

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

11727:                                            ; No predecessors!
  br label %11728

11728:                                            ; preds = %11727
  br label %11729

11729:                                            ; preds = %11728, %11670
  br label %11730

11730:                                            ; preds = %11729
  br label %11731

11731:                                            ; preds = %11730
  br label %11732

11732:                                            ; preds = %11731
  %11733 = load i32, ptr @test_count, align 4, !tbaa !5
  %11734 = add nsw i32 %11733, 1
  store i32 %11734, ptr @test_count, align 4, !tbaa !5
  %11735 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11736 = load i32, ptr %11735, align 4, !tbaa !5
  %11737 = icmp eq i32 %11736, 469762112
  br i1 %11737, label %11791, label %11738

11738:                                            ; preds = %11732
  br label %11739

11739:                                            ; preds = %11738
  br label %11740

11740:                                            ; preds = %11739
  call void @llvm.lifetime.start.p0(i64 4, ptr %258) #11
  %11741 = call ptr @__errno_location() #12
  %11742 = load i32, ptr %11741, align 4, !tbaa !5
  store i32 %11742, ptr %258, align 4, !tbaa !5
  %11743 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11744 = call i32 @s2n_print_stacktrace(ptr noundef %11743)
  %11745 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11746 = trunc i8 %11745 to i1
  br i1 %11746, label %11747, label %11769

11747:                                            ; preds = %11740
  %11748 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11749 = call i32 @fileno(ptr noundef %11748) #11
  %11750 = call i32 @isatty(i32 noundef %11749) #11
  %11751 = icmp ne i32 %11750, 0
  br i1 %11751, label %11752, label %11769

11752:                                            ; preds = %11747
  %11753 = load i32, ptr %258, align 4, !tbaa !5
  %11754 = call ptr @__errno_location() #12
  store i32 %11753, ptr %11754, align 4, !tbaa !5
  %11755 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11756 = load i32, ptr @test_count, align 4, !tbaa !5
  %11757 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11758 = load i32, ptr %11757, align 4, !tbaa !5
  %11759 = call ptr @s2n_strerror(i32 noundef %11758, ptr noundef @.str.4)
  %11760 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11761 = load i32, ptr %11760, align 4, !tbaa !5
  %11762 = call ptr @s2n_strerror_debug(i32 noundef %11761, ptr noundef @.str.4)
  %11763 = call ptr @__errno_location() #12
  %11764 = load i32, ptr %11763, align 4, !tbaa !5
  %11765 = call ptr @strerror(i32 noundef %11764) #11
  %11766 = call ptr @__errno_location() #12
  %11767 = load i32, ptr %11766, align 4, !tbaa !5
  %11768 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11755, ptr noundef @.str.2, i32 noundef %11756, ptr noundef @.str.92, ptr noundef @.str.1, i32 noundef 409, ptr noundef %11759, ptr noundef %11762, ptr noundef %11765, i32 noundef %11767) #11
  br label %11786

11769:                                            ; preds = %11747, %11740
  %11770 = load i32, ptr %258, 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.4)
  %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.4)
  %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.5, i32 noundef %11773, ptr noundef @.str.92, ptr noundef @.str.1, i32 noundef 409, ptr noundef %11776, ptr noundef %11779, ptr noundef %11782, i32 noundef %11784) #11
  br label %11786

11786:                                            ; preds = %11769, %11752
  call void @llvm.lifetime.end.p0(i64 4, ptr %258) #11
  br label %11787

11787:                                            ; preds = %11786
  br label %11788

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

11789:                                            ; No predecessors!
  br label %11790

11790:                                            ; preds = %11789
  br label %11791

11791:                                            ; preds = %11790, %11732
  br label %11792

11792:                                            ; preds = %11791
  br label %11793

11793:                                            ; preds = %11792
  br label %11794

11794:                                            ; preds = %11793
  %11795 = load i32, ptr @test_count, align 4, !tbaa !5
  %11796 = add nsw i32 %11795, 1
  store i32 %11796, ptr @test_count, align 4, !tbaa !5
  %11797 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11798 = load i32, ptr %11797, align 4, !tbaa !5
  %11799 = call ptr @s2n_strerror_debug(i32 noundef %11798, ptr noundef @.str.4)
  %11800 = icmp eq ptr %11799, null
  br i1 %11800, label %11801, label %11854

11801:                                            ; preds = %11794
  br label %11802

11802:                                            ; preds = %11801
  br label %11803

11803:                                            ; preds = %11802
  call void @llvm.lifetime.start.p0(i64 4, ptr %259) #11
  %11804 = call ptr @__errno_location() #12
  %11805 = load i32, ptr %11804, align 4, !tbaa !5
  store i32 %11805, ptr %259, align 4, !tbaa !5
  %11806 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11807 = call i32 @s2n_print_stacktrace(ptr noundef %11806)
  %11808 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11809 = trunc i8 %11808 to i1
  br i1 %11809, label %11810, label %11832

11810:                                            ; preds = %11803
  %11811 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11812 = call i32 @fileno(ptr noundef %11811) #11
  %11813 = call i32 @isatty(i32 noundef %11812) #11
  %11814 = icmp ne i32 %11813, 0
  br i1 %11814, label %11815, label %11832

11815:                                            ; preds = %11810
  %11816 = load i32, ptr %259, align 4, !tbaa !5
  %11817 = call ptr @__errno_location() #12
  store i32 %11816, ptr %11817, align 4, !tbaa !5
  %11818 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11819 = load i32, ptr @test_count, align 4, !tbaa !5
  %11820 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11821 = load i32, ptr %11820, align 4, !tbaa !5
  %11822 = call ptr @s2n_strerror(i32 noundef %11821, ptr noundef @.str.4)
  %11823 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11824 = load i32, ptr %11823, align 4, !tbaa !5
  %11825 = call ptr @s2n_strerror_debug(i32 noundef %11824, ptr noundef @.str.4)
  %11826 = call ptr @__errno_location() #12
  %11827 = load i32, ptr %11826, align 4, !tbaa !5
  %11828 = call ptr @strerror(i32 noundef %11827) #11
  %11829 = call ptr @__errno_location() #12
  %11830 = load i32, ptr %11829, align 4, !tbaa !5
  %11831 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11818, ptr noundef @.str.2, i32 noundef %11819, ptr noundef @.str.84, ptr noundef @.str.1, i32 noundef 409, ptr noundef %11822, ptr noundef %11825, ptr noundef %11828, i32 noundef %11830) #11
  br label %11849

11832:                                            ; preds = %11810, %11803
  %11833 = load i32, ptr %259, 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.4)
  %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.4)
  %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.5, i32 noundef %11836, ptr noundef @.str.84, ptr noundef @.str.1, i32 noundef 409, ptr noundef %11839, ptr noundef %11842, ptr noundef %11845, i32 noundef %11847) #11
  br label %11849

11849:                                            ; preds = %11832, %11815
  call void @llvm.lifetime.end.p0(i64 4, ptr %259) #11
  br label %11850

11850:                                            ; preds = %11849
  br label %11851

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

11852:                                            ; No predecessors!
  br label %11853

11853:                                            ; preds = %11852
  br label %11854

11854:                                            ; preds = %11853, %11794
  br label %11855

11855:                                            ; preds = %11854
  br label %11856

11856:                                            ; preds = %11855
  br label %11857

11857:                                            ; preds = %11856
  br label %11858

11858:                                            ; preds = %11857
  br label %11859

11859:                                            ; preds = %11858
  %11860 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %11860, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %11861 = call ptr @__errno_location() #12
  store i32 0, ptr %11861, align 4, !tbaa !5
  br label %11862

11862:                                            ; preds = %11859
  br label %11863

11863:                                            ; preds = %11862
  br label %11864

11864:                                            ; preds = %11863
  br label %11865

11865:                                            ; preds = %11864
  br label %11866

11866:                                            ; preds = %11865
  %11867 = load i32, ptr @test_count, align 4, !tbaa !5
  %11868 = add nsw i32 %11867, 1
  store i32 %11868, ptr @test_count, align 4, !tbaa !5
  %11869 = load ptr, ptr %239, align 8, !tbaa !9
  %11870 = call i32 @s2n_connection_set_send_io_stuffer(ptr noundef %243, ptr noundef %11869)
  %11871 = icmp eq i32 %11870, -1
  br i1 %11871, label %11872, label %11925

11872:                                            ; preds = %11866
  br label %11873

11873:                                            ; preds = %11872
  br label %11874

11874:                                            ; preds = %11873
  call void @llvm.lifetime.start.p0(i64 4, ptr %260) #11
  %11875 = call ptr @__errno_location() #12
  %11876 = load i32, ptr %11875, align 4, !tbaa !5
  store i32 %11876, ptr %260, align 4, !tbaa !5
  %11877 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11878 = call i32 @s2n_print_stacktrace(ptr noundef %11877)
  %11879 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11880 = trunc i8 %11879 to i1
  br i1 %11880, label %11881, label %11903

11881:                                            ; preds = %11874
  %11882 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11883 = call i32 @fileno(ptr noundef %11882) #11
  %11884 = call i32 @isatty(i32 noundef %11883) #11
  %11885 = icmp ne i32 %11884, 0
  br i1 %11885, label %11886, label %11903

11886:                                            ; preds = %11881
  %11887 = load i32, ptr %260, align 4, !tbaa !5
  %11888 = call ptr @__errno_location() #12
  store i32 %11887, ptr %11888, align 4, !tbaa !5
  %11889 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11890 = load i32, ptr @test_count, align 4, !tbaa !5
  %11891 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11892 = load i32, ptr %11891, align 4, !tbaa !5
  %11893 = call ptr @s2n_strerror(i32 noundef %11892, ptr noundef @.str.4)
  %11894 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11895 = load i32, ptr %11894, align 4, !tbaa !5
  %11896 = call ptr @s2n_strerror_debug(i32 noundef %11895, ptr noundef @.str.4)
  %11897 = call ptr @__errno_location() #12
  %11898 = load i32, ptr %11897, align 4, !tbaa !5
  %11899 = call ptr @strerror(i32 noundef %11898) #11
  %11900 = call ptr @__errno_location() #12
  %11901 = load i32, ptr %11900, align 4, !tbaa !5
  %11902 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11889, ptr noundef @.str.2, i32 noundef %11890, ptr noundef @.str.93, ptr noundef @.str.1, i32 noundef 412, ptr noundef %11893, ptr noundef %11896, ptr noundef %11899, i32 noundef %11901) #11
  br label %11920

11903:                                            ; preds = %11881, %11874
  %11904 = load i32, ptr %260, align 4, !tbaa !5
  %11905 = call ptr @__errno_location() #12
  store i32 %11904, ptr %11905, align 4, !tbaa !5
  %11906 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11907 = load i32, ptr @test_count, align 4, !tbaa !5
  %11908 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11909 = load i32, ptr %11908, align 4, !tbaa !5
  %11910 = call ptr @s2n_strerror(i32 noundef %11909, ptr noundef @.str.4)
  %11911 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11912 = load i32, ptr %11911, align 4, !tbaa !5
  %11913 = call ptr @s2n_strerror_debug(i32 noundef %11912, ptr noundef @.str.4)
  %11914 = call ptr @__errno_location() #12
  %11915 = load i32, ptr %11914, align 4, !tbaa !5
  %11916 = call ptr @strerror(i32 noundef %11915) #11
  %11917 = call ptr @__errno_location() #12
  %11918 = load i32, ptr %11917, align 4, !tbaa !5
  %11919 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11906, ptr noundef @.str.5, i32 noundef %11907, ptr noundef @.str.93, ptr noundef @.str.1, i32 noundef 412, ptr noundef %11910, ptr noundef %11913, ptr noundef %11916, i32 noundef %11918) #11
  br label %11920

11920:                                            ; preds = %11903, %11886
  call void @llvm.lifetime.end.p0(i64 4, ptr %260) #11
  br label %11921

11921:                                            ; preds = %11920
  br label %11922

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

11923:                                            ; No predecessors!
  br label %11924

11924:                                            ; preds = %11923
  br label %11925

11925:                                            ; preds = %11924, %11866
  br label %11926

11926:                                            ; preds = %11925
  br label %11927

11927:                                            ; preds = %11926
  br label %11928

11928:                                            ; preds = %11927
  %11929 = load i32, ptr @test_count, align 4, !tbaa !5
  %11930 = add nsw i32 %11929, 1
  store i32 %11930, ptr @test_count, align 4, !tbaa !5
  %11931 = load ptr, ptr %239, align 8, !tbaa !9
  %11932 = getelementptr inbounds [16384 x i8], ptr %21, i64 0, i64 0
  %11933 = call i64 @s2n_send(ptr noundef %11931, ptr noundef %11932, i64 noundef 16384, ptr noundef %22)
  %11934 = icmp eq i64 %11933, 16384
  br i1 %11934, label %11988, label %11935

11935:                                            ; preds = %11928
  br label %11936

11936:                                            ; preds = %11935
  br label %11937

11937:                                            ; preds = %11936
  call void @llvm.lifetime.start.p0(i64 4, ptr %261) #11
  %11938 = call ptr @__errno_location() #12
  %11939 = load i32, ptr %11938, align 4, !tbaa !5
  store i32 %11939, ptr %261, align 4, !tbaa !5
  %11940 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11941 = call i32 @s2n_print_stacktrace(ptr noundef %11940)
  %11942 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11943 = trunc i8 %11942 to i1
  br i1 %11943, label %11944, label %11966

11944:                                            ; preds = %11937
  %11945 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11946 = call i32 @fileno(ptr noundef %11945) #11
  %11947 = call i32 @isatty(i32 noundef %11946) #11
  %11948 = icmp ne i32 %11947, 0
  br i1 %11948, label %11949, label %11966

11949:                                            ; preds = %11944
  %11950 = load i32, ptr %261, align 4, !tbaa !5
  %11951 = call ptr @__errno_location() #12
  store i32 %11950, ptr %11951, align 4, !tbaa !5
  %11952 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11953 = load i32, ptr @test_count, align 4, !tbaa !5
  %11954 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11955 = load i32, ptr %11954, align 4, !tbaa !5
  %11956 = call ptr @s2n_strerror(i32 noundef %11955, ptr noundef @.str.4)
  %11957 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11958 = load i32, ptr %11957, align 4, !tbaa !5
  %11959 = call ptr @s2n_strerror_debug(i32 noundef %11958, ptr noundef @.str.4)
  %11960 = call ptr @__errno_location() #12
  %11961 = load i32, ptr %11960, align 4, !tbaa !5
  %11962 = call ptr @strerror(i32 noundef %11961) #11
  %11963 = call ptr @__errno_location() #12
  %11964 = load i32, ptr %11963, align 4, !tbaa !5
  %11965 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11952, ptr noundef @.str.2, i32 noundef %11953, ptr noundef @.str.94, ptr noundef @.str.1, i32 noundef 413, ptr noundef %11956, ptr noundef %11959, ptr noundef %11962, i32 noundef %11964) #11
  br label %11983

11966:                                            ; preds = %11944, %11937
  %11967 = load i32, ptr %261, 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.4)
  %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.4)
  %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.5, i32 noundef %11970, ptr noundef @.str.94, ptr noundef @.str.1, i32 noundef 413, ptr noundef %11973, ptr noundef %11976, ptr noundef %11979, i32 noundef %11981) #11
  br label %11983

11983:                                            ; preds = %11966, %11949
  call void @llvm.lifetime.end.p0(i64 4, ptr %261) #11
  br label %11984

11984:                                            ; preds = %11983
  br label %11985

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

11986:                                            ; No predecessors!
  br label %11987

11987:                                            ; preds = %11986
  br label %11988

11988:                                            ; preds = %11987, %11928
  br label %11989

11989:                                            ; preds = %11988
  br label %11990

11990:                                            ; preds = %11989
  br label %11991

11991:                                            ; preds = %11990
  %11992 = load i32, ptr @test_count, align 4, !tbaa !5
  %11993 = add nsw i32 %11992, 1
  store i32 %11993, ptr @test_count, align 4, !tbaa !5
  %11994 = load ptr, ptr %239, align 8, !tbaa !9
  %11995 = call i32 @s2n_renegotiate_wipe(ptr noundef %11994)
  %11996 = icmp eq i32 %11995, -1
  br i1 %11996, label %11997, label %12050

11997:                                            ; preds = %11991
  br label %11998

11998:                                            ; preds = %11997
  br label %11999

11999:                                            ; preds = %11998
  call void @llvm.lifetime.start.p0(i64 4, ptr %262) #11
  %12000 = call ptr @__errno_location() #12
  %12001 = load i32, ptr %12000, align 4, !tbaa !5
  store i32 %12001, ptr %262, align 4, !tbaa !5
  %12002 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12003 = call i32 @s2n_print_stacktrace(ptr noundef %12002)
  %12004 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12005 = trunc i8 %12004 to i1
  br i1 %12005, label %12006, label %12028

12006:                                            ; preds = %11999
  %12007 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12008 = call i32 @fileno(ptr noundef %12007) #11
  %12009 = call i32 @isatty(i32 noundef %12008) #11
  %12010 = icmp ne i32 %12009, 0
  br i1 %12010, label %12011, label %12028

12011:                                            ; preds = %12006
  %12012 = load i32, ptr %262, align 4, !tbaa !5
  %12013 = call ptr @__errno_location() #12
  store i32 %12012, ptr %12013, align 4, !tbaa !5
  %12014 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12015 = load i32, ptr @test_count, align 4, !tbaa !5
  %12016 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12017 = load i32, ptr %12016, align 4, !tbaa !5
  %12018 = call ptr @s2n_strerror(i32 noundef %12017, ptr noundef @.str.4)
  %12019 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12020 = load i32, ptr %12019, align 4, !tbaa !5
  %12021 = call ptr @s2n_strerror_debug(i32 noundef %12020, ptr noundef @.str.4)
  %12022 = call ptr @__errno_location() #12
  %12023 = load i32, ptr %12022, align 4, !tbaa !5
  %12024 = call ptr @strerror(i32 noundef %12023) #11
  %12025 = call ptr @__errno_location() #12
  %12026 = load i32, ptr %12025, align 4, !tbaa !5
  %12027 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12014, ptr noundef @.str.2, i32 noundef %12015, ptr noundef @.str.33, ptr noundef @.str.1, i32 noundef 415, ptr noundef %12018, ptr noundef %12021, ptr noundef %12024, i32 noundef %12026) #11
  br label %12045

12028:                                            ; preds = %12006, %11999
  %12029 = load i32, ptr %262, align 4, !tbaa !5
  %12030 = call ptr @__errno_location() #12
  store i32 %12029, ptr %12030, align 4, !tbaa !5
  %12031 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12032 = load i32, ptr @test_count, align 4, !tbaa !5
  %12033 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12034 = load i32, ptr %12033, align 4, !tbaa !5
  %12035 = call ptr @s2n_strerror(i32 noundef %12034, ptr noundef @.str.4)
  %12036 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12037 = load i32, ptr %12036, align 4, !tbaa !5
  %12038 = call ptr @s2n_strerror_debug(i32 noundef %12037, ptr noundef @.str.4)
  %12039 = call ptr @__errno_location() #12
  %12040 = load i32, ptr %12039, align 4, !tbaa !5
  %12041 = call ptr @strerror(i32 noundef %12040) #11
  %12042 = call ptr @__errno_location() #12
  %12043 = load i32, ptr %12042, align 4, !tbaa !5
  %12044 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12031, ptr noundef @.str.5, i32 noundef %12032, ptr noundef @.str.33, ptr noundef @.str.1, i32 noundef 415, ptr noundef %12035, ptr noundef %12038, ptr noundef %12041, i32 noundef %12043) #11
  br label %12045

12045:                                            ; preds = %12028, %12011
  call void @llvm.lifetime.end.p0(i64 4, ptr %262) #11
  br label %12046

12046:                                            ; preds = %12045
  br label %12047

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

12048:                                            ; No predecessors!
  br label %12049

12049:                                            ; preds = %12048
  br label %12050

12050:                                            ; preds = %12049, %11991
  br label %12051

12051:                                            ; preds = %12050
  br label %12052

12052:                                            ; preds = %12051
  %12053 = call i32 @s2n_stuffer_free(ptr noundef %250)
  call void @llvm.lifetime.end.p0(i64 40, ptr %250) #11
  call void @llvm.lifetime.end.p0(i64 2, ptr %249) #11
  %12054 = call i32 @s2n_stuffer_free(ptr noundef %243)
  call void @llvm.lifetime.end.p0(i64 40, ptr %243) #11
  %12055 = call i32 @s2n_stuffer_free(ptr noundef %242)
  call void @llvm.lifetime.end.p0(i64 40, ptr %242) #11
  %12056 = call i32 @s2n_connection_ptr_free(ptr noundef %239)
  %12057 = getelementptr inbounds %struct.s2n_result, ptr %263, i32 0, i32 0
  store i32 %12056, ptr %12057, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %239) #11
  %12058 = call i32 @s2n_connection_ptr_free(ptr noundef %236)
  %12059 = getelementptr inbounds %struct.s2n_result, ptr %264, i32 0, i32 0
  store i32 %12058, ptr %12059, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %236) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %265) #11
  %12060 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %12060, ptr %265, align 8, !tbaa !9
  br label %12061

12061:                                            ; preds = %12052
  %12062 = load i32, ptr @test_count, align 4, !tbaa !5
  %12063 = add nsw i32 %12062, 1
  store i32 %12063, ptr @test_count, align 4, !tbaa !5
  %12064 = load ptr, ptr %265, align 8, !tbaa !9
  %12065 = icmp eq ptr %12064, null
  br i1 %12065, label %12066, label %12119

12066:                                            ; preds = %12061
  br label %12067

12067:                                            ; preds = %12066
  br label %12068

12068:                                            ; preds = %12067
  call void @llvm.lifetime.start.p0(i64 4, ptr %266) #11
  %12069 = call ptr @__errno_location() #12
  %12070 = load i32, ptr %12069, align 4, !tbaa !5
  store i32 %12070, ptr %266, align 4, !tbaa !5
  %12071 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12072 = call i32 @s2n_print_stacktrace(ptr noundef %12071)
  %12073 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12074 = trunc i8 %12073 to i1
  br i1 %12074, label %12075, label %12097

12075:                                            ; preds = %12068
  %12076 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12077 = call i32 @fileno(ptr noundef %12076) #11
  %12078 = call i32 @isatty(i32 noundef %12077) #11
  %12079 = icmp ne i32 %12078, 0
  br i1 %12079, label %12080, label %12097

12080:                                            ; preds = %12075
  %12081 = load i32, ptr %266, align 4, !tbaa !5
  %12082 = call ptr @__errno_location() #12
  store i32 %12081, ptr %12082, align 4, !tbaa !5
  %12083 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12084 = load i32, ptr @test_count, align 4, !tbaa !5
  %12085 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12086 = load i32, ptr %12085, align 4, !tbaa !5
  %12087 = call ptr @s2n_strerror(i32 noundef %12086, ptr noundef @.str.4)
  %12088 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12089 = load i32, ptr %12088, align 4, !tbaa !5
  %12090 = call ptr @s2n_strerror_debug(i32 noundef %12089, ptr noundef @.str.4)
  %12091 = call ptr @__errno_location() #12
  %12092 = load i32, ptr %12091, align 4, !tbaa !5
  %12093 = call ptr @strerror(i32 noundef %12092) #11
  %12094 = call ptr @__errno_location() #12
  %12095 = load i32, ptr %12094, align 4, !tbaa !5
  %12096 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12083, ptr noundef @.str.2, i32 noundef %12084, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 421, ptr noundef %12087, ptr noundef %12090, ptr noundef %12093, i32 noundef %12095) #11
  br label %12114

12097:                                            ; preds = %12075, %12068
  %12098 = load i32, ptr %266, align 4, !tbaa !5
  %12099 = call ptr @__errno_location() #12
  store i32 %12098, ptr %12099, align 4, !tbaa !5
  %12100 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12101 = load i32, ptr @test_count, align 4, !tbaa !5
  %12102 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12103 = load i32, ptr %12102, align 4, !tbaa !5
  %12104 = call ptr @s2n_strerror(i32 noundef %12103, ptr noundef @.str.4)
  %12105 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12106 = load i32, ptr %12105, align 4, !tbaa !5
  %12107 = call ptr @s2n_strerror_debug(i32 noundef %12106, ptr noundef @.str.4)
  %12108 = call ptr @__errno_location() #12
  %12109 = load i32, ptr %12108, align 4, !tbaa !5
  %12110 = call ptr @strerror(i32 noundef %12109) #11
  %12111 = call ptr @__errno_location() #12
  %12112 = load i32, ptr %12111, align 4, !tbaa !5
  %12113 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12100, ptr noundef @.str.5, i32 noundef %12101, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 421, ptr noundef %12104, ptr noundef %12107, ptr noundef %12110, i32 noundef %12112) #11
  br label %12114

12114:                                            ; preds = %12097, %12080
  call void @llvm.lifetime.end.p0(i64 4, ptr %266) #11
  br label %12115

12115:                                            ; preds = %12114
  br label %12116

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

12117:                                            ; No predecessors!
  br label %12118

12118:                                            ; preds = %12117
  br label %12119

12119:                                            ; preds = %12118, %12061
  br label %12120

12120:                                            ; preds = %12119
  br label %12121

12121:                                            ; preds = %12120
  br label %12122

12122:                                            ; preds = %12121
  %12123 = load i32, ptr @test_count, align 4, !tbaa !5
  %12124 = add nsw i32 %12123, 1
  store i32 %12124, ptr @test_count, align 4, !tbaa !5
  %12125 = load ptr, ptr %265, align 8, !tbaa !9
  %12126 = load ptr, ptr %15, align 8, !tbaa !9
  %12127 = call i32 @s2n_connection_set_config(ptr noundef %12125, ptr noundef %12126)
  %12128 = icmp eq i32 %12127, -1
  br i1 %12128, label %12129, label %12182

12129:                                            ; preds = %12122
  br label %12130

12130:                                            ; preds = %12129
  br label %12131

12131:                                            ; preds = %12130
  call void @llvm.lifetime.start.p0(i64 4, ptr %267) #11
  %12132 = call ptr @__errno_location() #12
  %12133 = load i32, ptr %12132, align 4, !tbaa !5
  store i32 %12133, ptr %267, align 4, !tbaa !5
  %12134 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12135 = call i32 @s2n_print_stacktrace(ptr noundef %12134)
  %12136 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12137 = trunc i8 %12136 to i1
  br i1 %12137, label %12138, label %12160

12138:                                            ; preds = %12131
  %12139 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12140 = call i32 @fileno(ptr noundef %12139) #11
  %12141 = call i32 @isatty(i32 noundef %12140) #11
  %12142 = icmp ne i32 %12141, 0
  br i1 %12142, label %12143, label %12160

12143:                                            ; preds = %12138
  %12144 = load i32, ptr %267, align 4, !tbaa !5
  %12145 = call ptr @__errno_location() #12
  store i32 %12144, ptr %12145, align 4, !tbaa !5
  %12146 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12147 = load i32, ptr @test_count, align 4, !tbaa !5
  %12148 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12149 = load i32, ptr %12148, align 4, !tbaa !5
  %12150 = call ptr @s2n_strerror(i32 noundef %12149, ptr noundef @.str.4)
  %12151 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12152 = load i32, ptr %12151, align 4, !tbaa !5
  %12153 = call ptr @s2n_strerror_debug(i32 noundef %12152, ptr noundef @.str.4)
  %12154 = call ptr @__errno_location() #12
  %12155 = load i32, ptr %12154, align 4, !tbaa !5
  %12156 = call ptr @strerror(i32 noundef %12155) #11
  %12157 = call ptr @__errno_location() #12
  %12158 = load i32, ptr %12157, align 4, !tbaa !5
  %12159 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12146, ptr noundef @.str.2, i32 noundef %12147, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 422, ptr noundef %12150, ptr noundef %12153, ptr noundef %12156, i32 noundef %12158) #11
  br label %12177

12160:                                            ; preds = %12138, %12131
  %12161 = load i32, ptr %267, align 4, !tbaa !5
  %12162 = call ptr @__errno_location() #12
  store i32 %12161, ptr %12162, align 4, !tbaa !5
  %12163 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12164 = load i32, ptr @test_count, align 4, !tbaa !5
  %12165 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12166 = load i32, ptr %12165, align 4, !tbaa !5
  %12167 = call ptr @s2n_strerror(i32 noundef %12166, ptr noundef @.str.4)
  %12168 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12169 = load i32, ptr %12168, align 4, !tbaa !5
  %12170 = call ptr @s2n_strerror_debug(i32 noundef %12169, ptr noundef @.str.4)
  %12171 = call ptr @__errno_location() #12
  %12172 = load i32, ptr %12171, align 4, !tbaa !5
  %12173 = call ptr @strerror(i32 noundef %12172) #11
  %12174 = call ptr @__errno_location() #12
  %12175 = load i32, ptr %12174, align 4, !tbaa !5
  %12176 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12163, ptr noundef @.str.5, i32 noundef %12164, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 422, ptr noundef %12167, ptr noundef %12170, ptr noundef %12173, i32 noundef %12175) #11
  br label %12177

12177:                                            ; preds = %12160, %12143
  call void @llvm.lifetime.end.p0(i64 4, ptr %267) #11
  br label %12178

12178:                                            ; preds = %12177
  br label %12179

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

12180:                                            ; No predecessors!
  br label %12181

12181:                                            ; preds = %12180
  br label %12182

12182:                                            ; preds = %12181, %12122
  br label %12183

12183:                                            ; preds = %12182
  br label %12184

12184:                                            ; preds = %12183
  call void @llvm.lifetime.start.p0(i64 8, ptr %268) #11
  %12185 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %12185, ptr %268, align 8, !tbaa !9
  br label %12186

12186:                                            ; preds = %12184
  %12187 = load i32, ptr @test_count, align 4, !tbaa !5
  %12188 = add nsw i32 %12187, 1
  store i32 %12188, ptr @test_count, align 4, !tbaa !5
  %12189 = load ptr, ptr %268, align 8, !tbaa !9
  %12190 = icmp eq ptr %12189, null
  br i1 %12190, label %12191, label %12244

12191:                                            ; preds = %12186
  br label %12192

12192:                                            ; preds = %12191
  br label %12193

12193:                                            ; preds = %12192
  call void @llvm.lifetime.start.p0(i64 4, ptr %269) #11
  %12194 = call ptr @__errno_location() #12
  %12195 = load i32, ptr %12194, align 4, !tbaa !5
  store i32 %12195, ptr %269, align 4, !tbaa !5
  %12196 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12197 = call i32 @s2n_print_stacktrace(ptr noundef %12196)
  %12198 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12199 = trunc i8 %12198 to i1
  br i1 %12199, label %12200, label %12222

12200:                                            ; preds = %12193
  %12201 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12202 = call i32 @fileno(ptr noundef %12201) #11
  %12203 = call i32 @isatty(i32 noundef %12202) #11
  %12204 = icmp ne i32 %12203, 0
  br i1 %12204, label %12205, label %12222

12205:                                            ; preds = %12200
  %12206 = load i32, ptr %269, align 4, !tbaa !5
  %12207 = call ptr @__errno_location() #12
  store i32 %12206, ptr %12207, align 4, !tbaa !5
  %12208 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12209 = load i32, ptr @test_count, align 4, !tbaa !5
  %12210 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12211 = load i32, ptr %12210, align 4, !tbaa !5
  %12212 = call ptr @s2n_strerror(i32 noundef %12211, ptr noundef @.str.4)
  %12213 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12214 = load i32, ptr %12213, align 4, !tbaa !5
  %12215 = call ptr @s2n_strerror_debug(i32 noundef %12214, ptr noundef @.str.4)
  %12216 = call ptr @__errno_location() #12
  %12217 = load i32, ptr %12216, align 4, !tbaa !5
  %12218 = call ptr @strerror(i32 noundef %12217) #11
  %12219 = call ptr @__errno_location() #12
  %12220 = load i32, ptr %12219, align 4, !tbaa !5
  %12221 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12208, ptr noundef @.str.2, i32 noundef %12209, ptr noundef @.str.23, ptr noundef @.str.1, i32 noundef 425, ptr noundef %12212, ptr noundef %12215, ptr noundef %12218, i32 noundef %12220) #11
  br label %12239

12222:                                            ; preds = %12200, %12193
  %12223 = load i32, ptr %269, align 4, !tbaa !5
  %12224 = call ptr @__errno_location() #12
  store i32 %12223, ptr %12224, align 4, !tbaa !5
  %12225 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12226 = load i32, ptr @test_count, align 4, !tbaa !5
  %12227 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12228 = load i32, ptr %12227, align 4, !tbaa !5
  %12229 = call ptr @s2n_strerror(i32 noundef %12228, ptr noundef @.str.4)
  %12230 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12231 = load i32, ptr %12230, align 4, !tbaa !5
  %12232 = call ptr @s2n_strerror_debug(i32 noundef %12231, ptr noundef @.str.4)
  %12233 = call ptr @__errno_location() #12
  %12234 = load i32, ptr %12233, align 4, !tbaa !5
  %12235 = call ptr @strerror(i32 noundef %12234) #11
  %12236 = call ptr @__errno_location() #12
  %12237 = load i32, ptr %12236, align 4, !tbaa !5
  %12238 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12225, ptr noundef @.str.5, i32 noundef %12226, ptr noundef @.str.23, ptr noundef @.str.1, i32 noundef 425, ptr noundef %12229, ptr noundef %12232, ptr noundef %12235, i32 noundef %12237) #11
  br label %12239

12239:                                            ; preds = %12222, %12205
  call void @llvm.lifetime.end.p0(i64 4, ptr %269) #11
  br label %12240

12240:                                            ; preds = %12239
  br label %12241

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

12242:                                            ; No predecessors!
  br label %12243

12243:                                            ; preds = %12242
  br label %12244

12244:                                            ; preds = %12243, %12186
  br label %12245

12245:                                            ; preds = %12244
  br label %12246

12246:                                            ; preds = %12245
  br label %12247

12247:                                            ; preds = %12246
  %12248 = load i32, ptr @test_count, align 4, !tbaa !5
  %12249 = add nsw i32 %12248, 1
  store i32 %12249, ptr @test_count, align 4, !tbaa !5
  %12250 = load ptr, ptr %268, align 8, !tbaa !9
  %12251 = load ptr, ptr %15, align 8, !tbaa !9
  %12252 = call i32 @s2n_connection_set_config(ptr noundef %12250, ptr noundef %12251)
  %12253 = icmp eq i32 %12252, -1
  br i1 %12253, label %12254, label %12307

12254:                                            ; preds = %12247
  br label %12255

12255:                                            ; preds = %12254
  br label %12256

12256:                                            ; preds = %12255
  call void @llvm.lifetime.start.p0(i64 4, ptr %270) #11
  %12257 = call ptr @__errno_location() #12
  %12258 = load i32, ptr %12257, align 4, !tbaa !5
  store i32 %12258, ptr %270, align 4, !tbaa !5
  %12259 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12260 = call i32 @s2n_print_stacktrace(ptr noundef %12259)
  %12261 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12262 = trunc i8 %12261 to i1
  br i1 %12262, label %12263, label %12285

12263:                                            ; preds = %12256
  %12264 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12265 = call i32 @fileno(ptr noundef %12264) #11
  %12266 = call i32 @isatty(i32 noundef %12265) #11
  %12267 = icmp ne i32 %12266, 0
  br i1 %12267, label %12268, label %12285

12268:                                            ; preds = %12263
  %12269 = load i32, ptr %270, align 4, !tbaa !5
  %12270 = call ptr @__errno_location() #12
  store i32 %12269, ptr %12270, align 4, !tbaa !5
  %12271 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12272 = load i32, ptr @test_count, align 4, !tbaa !5
  %12273 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12274 = load i32, ptr %12273, align 4, !tbaa !5
  %12275 = call ptr @s2n_strerror(i32 noundef %12274, ptr noundef @.str.4)
  %12276 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12277 = load i32, ptr %12276, align 4, !tbaa !5
  %12278 = call ptr @s2n_strerror_debug(i32 noundef %12277, ptr noundef @.str.4)
  %12279 = call ptr @__errno_location() #12
  %12280 = load i32, ptr %12279, align 4, !tbaa !5
  %12281 = call ptr @strerror(i32 noundef %12280) #11
  %12282 = call ptr @__errno_location() #12
  %12283 = load i32, ptr %12282, align 4, !tbaa !5
  %12284 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12271, ptr noundef @.str.2, i32 noundef %12272, ptr noundef @.str.24, ptr noundef @.str.1, i32 noundef 426, ptr noundef %12275, ptr noundef %12278, ptr noundef %12281, i32 noundef %12283) #11
  br label %12302

12285:                                            ; preds = %12263, %12256
  %12286 = load i32, ptr %270, align 4, !tbaa !5
  %12287 = call ptr @__errno_location() #12
  store i32 %12286, ptr %12287, align 4, !tbaa !5
  %12288 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12289 = load i32, ptr @test_count, align 4, !tbaa !5
  %12290 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12291 = load i32, ptr %12290, align 4, !tbaa !5
  %12292 = call ptr @s2n_strerror(i32 noundef %12291, ptr noundef @.str.4)
  %12293 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12294 = load i32, ptr %12293, align 4, !tbaa !5
  %12295 = call ptr @s2n_strerror_debug(i32 noundef %12294, ptr noundef @.str.4)
  %12296 = call ptr @__errno_location() #12
  %12297 = load i32, ptr %12296, align 4, !tbaa !5
  %12298 = call ptr @strerror(i32 noundef %12297) #11
  %12299 = call ptr @__errno_location() #12
  %12300 = load i32, ptr %12299, align 4, !tbaa !5
  %12301 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12288, ptr noundef @.str.5, i32 noundef %12289, ptr noundef @.str.24, ptr noundef @.str.1, i32 noundef 426, ptr noundef %12292, ptr noundef %12295, ptr noundef %12298, i32 noundef %12300) #11
  br label %12302

12302:                                            ; preds = %12285, %12268
  call void @llvm.lifetime.end.p0(i64 4, ptr %270) #11
  br label %12303

12303:                                            ; preds = %12302
  br label %12304

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

12305:                                            ; No predecessors!
  br label %12306

12306:                                            ; preds = %12305
  br label %12307

12307:                                            ; preds = %12306, %12247
  br label %12308

12308:                                            ; preds = %12307
  br label %12309

12309:                                            ; preds = %12308
  call void @llvm.lifetime.start.p0(i64 40, ptr %271) #11
  call void @llvm.memset.p0.i64(ptr align 8 %271, i8 0, i64 40, i1 false)
  call void @llvm.lifetime.start.p0(i64 40, ptr %272) #11
  call void @llvm.memset.p0.i64(ptr align 8 %272, i8 0, i64 40, i1 false)
  br label %12310

12310:                                            ; preds = %12309
  %12311 = load i32, ptr @test_count, align 4, !tbaa !5
  %12312 = add nsw i32 %12311, 1
  store i32 %12312, ptr @test_count, align 4, !tbaa !5
  %12313 = call i32 @s2n_stuffer_growable_alloc(ptr noundef %271, i32 noundef 0)
  %12314 = icmp eq i32 %12313, -1
  br i1 %12314, label %12315, label %12368

12315:                                            ; preds = %12310
  br label %12316

12316:                                            ; preds = %12315
  br label %12317

12317:                                            ; preds = %12316
  call void @llvm.lifetime.start.p0(i64 4, ptr %273) #11
  %12318 = call ptr @__errno_location() #12
  %12319 = load i32, ptr %12318, align 4, !tbaa !5
  store i32 %12319, ptr %273, align 4, !tbaa !5
  %12320 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12321 = call i32 @s2n_print_stacktrace(ptr noundef %12320)
  %12322 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12323 = trunc i8 %12322 to i1
  br i1 %12323, label %12324, label %12346

12324:                                            ; preds = %12317
  %12325 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12326 = call i32 @fileno(ptr noundef %12325) #11
  %12327 = call i32 @isatty(i32 noundef %12326) #11
  %12328 = icmp ne i32 %12327, 0
  br i1 %12328, label %12329, label %12346

12329:                                            ; preds = %12324
  %12330 = load i32, ptr %273, align 4, !tbaa !5
  %12331 = call ptr @__errno_location() #12
  store i32 %12330, ptr %12331, align 4, !tbaa !5
  %12332 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12333 = load i32, ptr @test_count, align 4, !tbaa !5
  %12334 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12335 = load i32, ptr %12334, align 4, !tbaa !5
  %12336 = call ptr @s2n_strerror(i32 noundef %12335, ptr noundef @.str.4)
  %12337 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12338 = load i32, ptr %12337, align 4, !tbaa !5
  %12339 = call ptr @s2n_strerror_debug(i32 noundef %12338, ptr noundef @.str.4)
  %12340 = call ptr @__errno_location() #12
  %12341 = load i32, ptr %12340, align 4, !tbaa !5
  %12342 = call ptr @strerror(i32 noundef %12341) #11
  %12343 = call ptr @__errno_location() #12
  %12344 = load i32, ptr %12343, align 4, !tbaa !5
  %12345 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12332, ptr noundef @.str.2, i32 noundef %12333, ptr noundef @.str.37, ptr noundef @.str.1, i32 noundef 430, ptr noundef %12336, ptr noundef %12339, ptr noundef %12342, i32 noundef %12344) #11
  br label %12363

12346:                                            ; preds = %12324, %12317
  %12347 = load i32, ptr %273, align 4, !tbaa !5
  %12348 = call ptr @__errno_location() #12
  store i32 %12347, ptr %12348, align 4, !tbaa !5
  %12349 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12350 = load i32, ptr @test_count, align 4, !tbaa !5
  %12351 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12352 = load i32, ptr %12351, align 4, !tbaa !5
  %12353 = call ptr @s2n_strerror(i32 noundef %12352, ptr noundef @.str.4)
  %12354 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12355 = load i32, ptr %12354, align 4, !tbaa !5
  %12356 = call ptr @s2n_strerror_debug(i32 noundef %12355, ptr noundef @.str.4)
  %12357 = call ptr @__errno_location() #12
  %12358 = load i32, ptr %12357, align 4, !tbaa !5
  %12359 = call ptr @strerror(i32 noundef %12358) #11
  %12360 = call ptr @__errno_location() #12
  %12361 = load i32, ptr %12360, align 4, !tbaa !5
  %12362 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12349, ptr noundef @.str.5, i32 noundef %12350, ptr noundef @.str.37, ptr noundef @.str.1, i32 noundef 430, ptr noundef %12353, ptr noundef %12356, ptr noundef %12359, i32 noundef %12361) #11
  br label %12363

12363:                                            ; preds = %12346, %12329
  call void @llvm.lifetime.end.p0(i64 4, ptr %273) #11
  br label %12364

12364:                                            ; preds = %12363
  br label %12365

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

12366:                                            ; No predecessors!
  br label %12367

12367:                                            ; preds = %12366
  br label %12368

12368:                                            ; preds = %12367, %12310
  br label %12369

12369:                                            ; preds = %12368
  br label %12370

12370:                                            ; preds = %12369
  br label %12371

12371:                                            ; preds = %12370
  %12372 = load i32, ptr @test_count, align 4, !tbaa !5
  %12373 = add nsw i32 %12372, 1
  store i32 %12373, ptr @test_count, align 4, !tbaa !5
  %12374 = call i32 @s2n_stuffer_growable_alloc(ptr noundef %272, i32 noundef 0)
  %12375 = icmp eq i32 %12374, -1
  br i1 %12375, label %12376, label %12429

12376:                                            ; preds = %12371
  br label %12377

12377:                                            ; preds = %12376
  br label %12378

12378:                                            ; preds = %12377
  call void @llvm.lifetime.start.p0(i64 4, ptr %274) #11
  %12379 = call ptr @__errno_location() #12
  %12380 = load i32, ptr %12379, align 4, !tbaa !5
  store i32 %12380, ptr %274, align 4, !tbaa !5
  %12381 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12382 = call i32 @s2n_print_stacktrace(ptr noundef %12381)
  %12383 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12384 = trunc i8 %12383 to i1
  br i1 %12384, label %12385, label %12407

12385:                                            ; preds = %12378
  %12386 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12387 = call i32 @fileno(ptr noundef %12386) #11
  %12388 = call i32 @isatty(i32 noundef %12387) #11
  %12389 = icmp ne i32 %12388, 0
  br i1 %12389, label %12390, label %12407

12390:                                            ; preds = %12385
  %12391 = load i32, ptr %274, align 4, !tbaa !5
  %12392 = call ptr @__errno_location() #12
  store i32 %12391, ptr %12392, align 4, !tbaa !5
  %12393 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12394 = load i32, ptr @test_count, align 4, !tbaa !5
  %12395 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12396 = load i32, ptr %12395, align 4, !tbaa !5
  %12397 = call ptr @s2n_strerror(i32 noundef %12396, ptr noundef @.str.4)
  %12398 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12399 = load i32, ptr %12398, align 4, !tbaa !5
  %12400 = call ptr @s2n_strerror_debug(i32 noundef %12399, ptr noundef @.str.4)
  %12401 = call ptr @__errno_location() #12
  %12402 = load i32, ptr %12401, align 4, !tbaa !5
  %12403 = call ptr @strerror(i32 noundef %12402) #11
  %12404 = call ptr @__errno_location() #12
  %12405 = load i32, ptr %12404, align 4, !tbaa !5
  %12406 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12393, ptr noundef @.str.2, i32 noundef %12394, ptr noundef @.str.38, ptr noundef @.str.1, i32 noundef 431, ptr noundef %12397, ptr noundef %12400, ptr noundef %12403, i32 noundef %12405) #11
  br label %12424

12407:                                            ; preds = %12385, %12378
  %12408 = load i32, ptr %274, align 4, !tbaa !5
  %12409 = call ptr @__errno_location() #12
  store i32 %12408, ptr %12409, align 4, !tbaa !5
  %12410 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12411 = load i32, ptr @test_count, align 4, !tbaa !5
  %12412 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12413 = load i32, ptr %12412, align 4, !tbaa !5
  %12414 = call ptr @s2n_strerror(i32 noundef %12413, ptr noundef @.str.4)
  %12415 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12416 = load i32, ptr %12415, align 4, !tbaa !5
  %12417 = call ptr @s2n_strerror_debug(i32 noundef %12416, ptr noundef @.str.4)
  %12418 = call ptr @__errno_location() #12
  %12419 = load i32, ptr %12418, align 4, !tbaa !5
  %12420 = call ptr @strerror(i32 noundef %12419) #11
  %12421 = call ptr @__errno_location() #12
  %12422 = load i32, ptr %12421, align 4, !tbaa !5
  %12423 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12410, ptr noundef @.str.5, i32 noundef %12411, ptr noundef @.str.38, ptr noundef @.str.1, i32 noundef 431, ptr noundef %12414, ptr noundef %12417, ptr noundef %12420, i32 noundef %12422) #11
  br label %12424

12424:                                            ; preds = %12407, %12390
  call void @llvm.lifetime.end.p0(i64 4, ptr %274) #11
  br label %12425

12425:                                            ; preds = %12424
  br label %12426

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

12427:                                            ; No predecessors!
  br label %12428

12428:                                            ; preds = %12427
  br label %12429

12429:                                            ; preds = %12428, %12371
  br label %12430

12430:                                            ; preds = %12429
  br label %12431

12431:                                            ; preds = %12430
  br label %12432

12432:                                            ; preds = %12431
  %12433 = load i32, ptr @test_count, align 4, !tbaa !5
  %12434 = add nsw i32 %12433, 1
  store i32 %12434, ptr @test_count, align 4, !tbaa !5
  %12435 = load ptr, ptr %268, align 8, !tbaa !9
  %12436 = call i32 @s2n_connection_set_io_stuffers(ptr noundef %271, ptr noundef %272, ptr noundef %12435)
  %12437 = icmp eq i32 %12436, -1
  br i1 %12437, label %12438, label %12491

12438:                                            ; preds = %12432
  br label %12439

12439:                                            ; preds = %12438
  br label %12440

12440:                                            ; preds = %12439
  call void @llvm.lifetime.start.p0(i64 4, ptr %275) #11
  %12441 = call ptr @__errno_location() #12
  %12442 = load i32, ptr %12441, align 4, !tbaa !5
  store i32 %12442, ptr %275, align 4, !tbaa !5
  %12443 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12444 = call i32 @s2n_print_stacktrace(ptr noundef %12443)
  %12445 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12446 = trunc i8 %12445 to i1
  br i1 %12446, label %12447, label %12469

12447:                                            ; preds = %12440
  %12448 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12449 = call i32 @fileno(ptr noundef %12448) #11
  %12450 = call i32 @isatty(i32 noundef %12449) #11
  %12451 = icmp ne i32 %12450, 0
  br i1 %12451, label %12452, label %12469

12452:                                            ; preds = %12447
  %12453 = load i32, ptr %275, align 4, !tbaa !5
  %12454 = call ptr @__errno_location() #12
  store i32 %12453, ptr %12454, align 4, !tbaa !5
  %12455 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12456 = load i32, ptr @test_count, align 4, !tbaa !5
  %12457 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12458 = load i32, ptr %12457, align 4, !tbaa !5
  %12459 = call ptr @s2n_strerror(i32 noundef %12458, ptr noundef @.str.4)
  %12460 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12461 = load i32, ptr %12460, align 4, !tbaa !5
  %12462 = call ptr @s2n_strerror_debug(i32 noundef %12461, ptr noundef @.str.4)
  %12463 = call ptr @__errno_location() #12
  %12464 = load i32, ptr %12463, align 4, !tbaa !5
  %12465 = call ptr @strerror(i32 noundef %12464) #11
  %12466 = call ptr @__errno_location() #12
  %12467 = load i32, ptr %12466, align 4, !tbaa !5
  %12468 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12455, ptr noundef @.str.2, i32 noundef %12456, ptr noundef @.str.39, ptr noundef @.str.1, i32 noundef 432, ptr noundef %12459, ptr noundef %12462, ptr noundef %12465, i32 noundef %12467) #11
  br label %12486

12469:                                            ; preds = %12447, %12440
  %12470 = load i32, ptr %275, align 4, !tbaa !5
  %12471 = call ptr @__errno_location() #12
  store i32 %12470, ptr %12471, align 4, !tbaa !5
  %12472 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12473 = load i32, ptr @test_count, align 4, !tbaa !5
  %12474 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12475 = load i32, ptr %12474, align 4, !tbaa !5
  %12476 = call ptr @s2n_strerror(i32 noundef %12475, ptr noundef @.str.4)
  %12477 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12478 = load i32, ptr %12477, align 4, !tbaa !5
  %12479 = call ptr @s2n_strerror_debug(i32 noundef %12478, ptr noundef @.str.4)
  %12480 = call ptr @__errno_location() #12
  %12481 = load i32, ptr %12480, align 4, !tbaa !5
  %12482 = call ptr @strerror(i32 noundef %12481) #11
  %12483 = call ptr @__errno_location() #12
  %12484 = load i32, ptr %12483, align 4, !tbaa !5
  %12485 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12472, ptr noundef @.str.5, i32 noundef %12473, ptr noundef @.str.39, ptr noundef @.str.1, i32 noundef 432, ptr noundef %12476, ptr noundef %12479, ptr noundef %12482, i32 noundef %12484) #11
  br label %12486

12486:                                            ; preds = %12469, %12452
  call void @llvm.lifetime.end.p0(i64 4, ptr %275) #11
  br label %12487

12487:                                            ; preds = %12486
  br label %12488

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

12489:                                            ; No predecessors!
  br label %12490

12490:                                            ; preds = %12489
  br label %12491

12491:                                            ; preds = %12490, %12432
  br label %12492

12492:                                            ; preds = %12491
  br label %12493

12493:                                            ; preds = %12492
  br label %12494

12494:                                            ; preds = %12493
  %12495 = load i32, ptr @test_count, align 4, !tbaa !5
  %12496 = add nsw i32 %12495, 1
  store i32 %12496, ptr @test_count, align 4, !tbaa !5
  %12497 = load ptr, ptr %265, align 8, !tbaa !9
  %12498 = call i32 @s2n_connection_set_io_stuffers(ptr noundef %272, ptr noundef %271, ptr noundef %12497)
  %12499 = icmp eq i32 %12498, -1
  br i1 %12499, label %12500, label %12553

12500:                                            ; preds = %12494
  br label %12501

12501:                                            ; preds = %12500
  br label %12502

12502:                                            ; preds = %12501
  call void @llvm.lifetime.start.p0(i64 4, ptr %276) #11
  %12503 = call ptr @__errno_location() #12
  %12504 = load i32, ptr %12503, align 4, !tbaa !5
  store i32 %12504, ptr %276, align 4, !tbaa !5
  %12505 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12506 = call i32 @s2n_print_stacktrace(ptr noundef %12505)
  %12507 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12508 = trunc i8 %12507 to i1
  br i1 %12508, label %12509, label %12531

12509:                                            ; preds = %12502
  %12510 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12511 = call i32 @fileno(ptr noundef %12510) #11
  %12512 = call i32 @isatty(i32 noundef %12511) #11
  %12513 = icmp ne i32 %12512, 0
  br i1 %12513, label %12514, label %12531

12514:                                            ; preds = %12509
  %12515 = load i32, ptr %276, align 4, !tbaa !5
  %12516 = call ptr @__errno_location() #12
  store i32 %12515, ptr %12516, align 4, !tbaa !5
  %12517 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12518 = load i32, ptr @test_count, align 4, !tbaa !5
  %12519 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12520 = load i32, ptr %12519, align 4, !tbaa !5
  %12521 = call ptr @s2n_strerror(i32 noundef %12520, ptr noundef @.str.4)
  %12522 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12523 = load i32, ptr %12522, align 4, !tbaa !5
  %12524 = call ptr @s2n_strerror_debug(i32 noundef %12523, ptr noundef @.str.4)
  %12525 = call ptr @__errno_location() #12
  %12526 = load i32, ptr %12525, align 4, !tbaa !5
  %12527 = call ptr @strerror(i32 noundef %12526) #11
  %12528 = call ptr @__errno_location() #12
  %12529 = load i32, ptr %12528, align 4, !tbaa !5
  %12530 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12517, ptr noundef @.str.2, i32 noundef %12518, ptr noundef @.str.40, ptr noundef @.str.1, i32 noundef 433, ptr noundef %12521, ptr noundef %12524, ptr noundef %12527, i32 noundef %12529) #11
  br label %12548

12531:                                            ; preds = %12509, %12502
  %12532 = load i32, ptr %276, align 4, !tbaa !5
  %12533 = call ptr @__errno_location() #12
  store i32 %12532, ptr %12533, align 4, !tbaa !5
  %12534 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12535 = load i32, ptr @test_count, align 4, !tbaa !5
  %12536 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12537 = load i32, ptr %12536, align 4, !tbaa !5
  %12538 = call ptr @s2n_strerror(i32 noundef %12537, ptr noundef @.str.4)
  %12539 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12540 = load i32, ptr %12539, align 4, !tbaa !5
  %12541 = call ptr @s2n_strerror_debug(i32 noundef %12540, ptr noundef @.str.4)
  %12542 = call ptr @__errno_location() #12
  %12543 = load i32, ptr %12542, align 4, !tbaa !5
  %12544 = call ptr @strerror(i32 noundef %12543) #11
  %12545 = call ptr @__errno_location() #12
  %12546 = load i32, ptr %12545, align 4, !tbaa !5
  %12547 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12534, ptr noundef @.str.5, i32 noundef %12535, ptr noundef @.str.40, ptr noundef @.str.1, i32 noundef 433, ptr noundef %12538, ptr noundef %12541, ptr noundef %12544, i32 noundef %12546) #11
  br label %12548

12548:                                            ; preds = %12531, %12514
  call void @llvm.lifetime.end.p0(i64 4, ptr %276) #11
  br label %12549

12549:                                            ; preds = %12548
  br label %12550

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

12551:                                            ; No predecessors!
  br label %12552

12552:                                            ; preds = %12551
  br label %12553

12553:                                            ; preds = %12552, %12494
  br label %12554

12554:                                            ; preds = %12553
  br label %12555

12555:                                            ; preds = %12554
  br label %12556

12556:                                            ; preds = %12555
  %12557 = load i32, ptr @test_count, align 4, !tbaa !5
  %12558 = add nsw i32 %12557, 1
  store i32 %12558, ptr @test_count, align 4, !tbaa !5
  %12559 = load ptr, ptr %265, align 8, !tbaa !9
  %12560 = load ptr, ptr %268, align 8, !tbaa !9
  %12561 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef %12559, ptr noundef %12560)
  %12562 = icmp eq i32 %12561, -1
  br i1 %12562, label %12563, label %12616

12563:                                            ; preds = %12556
  br label %12564

12564:                                            ; preds = %12563
  br label %12565

12565:                                            ; preds = %12564
  call void @llvm.lifetime.start.p0(i64 4, ptr %277) #11
  %12566 = call ptr @__errno_location() #12
  %12567 = load i32, ptr %12566, align 4, !tbaa !5
  store i32 %12567, ptr %277, align 4, !tbaa !5
  %12568 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12569 = call i32 @s2n_print_stacktrace(ptr noundef %12568)
  %12570 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12571 = trunc i8 %12570 to i1
  br i1 %12571, label %12572, label %12594

12572:                                            ; preds = %12565
  %12573 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12574 = call i32 @fileno(ptr noundef %12573) #11
  %12575 = call i32 @isatty(i32 noundef %12574) #11
  %12576 = icmp ne i32 %12575, 0
  br i1 %12576, label %12577, label %12594

12577:                                            ; preds = %12572
  %12578 = load i32, ptr %277, align 4, !tbaa !5
  %12579 = call ptr @__errno_location() #12
  store i32 %12578, ptr %12579, align 4, !tbaa !5
  %12580 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12581 = load i32, ptr @test_count, align 4, !tbaa !5
  %12582 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12583 = load i32, ptr %12582, align 4, !tbaa !5
  %12584 = call ptr @s2n_strerror(i32 noundef %12583, ptr noundef @.str.4)
  %12585 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12586 = load i32, ptr %12585, align 4, !tbaa !5
  %12587 = call ptr @s2n_strerror_debug(i32 noundef %12586, ptr noundef @.str.4)
  %12588 = call ptr @__errno_location() #12
  %12589 = load i32, ptr %12588, align 4, !tbaa !5
  %12590 = call ptr @strerror(i32 noundef %12589) #11
  %12591 = call ptr @__errno_location() #12
  %12592 = load i32, ptr %12591, align 4, !tbaa !5
  %12593 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12580, ptr noundef @.str.2, i32 noundef %12581, ptr noundef @.str.32, ptr noundef @.str.1, i32 noundef 435, ptr noundef %12584, ptr noundef %12587, ptr noundef %12590, i32 noundef %12592) #11
  br label %12611

12594:                                            ; preds = %12572, %12565
  %12595 = load i32, ptr %277, align 4, !tbaa !5
  %12596 = call ptr @__errno_location() #12
  store i32 %12595, ptr %12596, align 4, !tbaa !5
  %12597 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12598 = load i32, ptr @test_count, align 4, !tbaa !5
  %12599 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12600 = load i32, ptr %12599, align 4, !tbaa !5
  %12601 = call ptr @s2n_strerror(i32 noundef %12600, ptr noundef @.str.4)
  %12602 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12603 = load i32, ptr %12602, align 4, !tbaa !5
  %12604 = call ptr @s2n_strerror_debug(i32 noundef %12603, ptr noundef @.str.4)
  %12605 = call ptr @__errno_location() #12
  %12606 = load i32, ptr %12605, align 4, !tbaa !5
  %12607 = call ptr @strerror(i32 noundef %12606) #11
  %12608 = call ptr @__errno_location() #12
  %12609 = load i32, ptr %12608, align 4, !tbaa !5
  %12610 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12597, ptr noundef @.str.5, i32 noundef %12598, ptr noundef @.str.32, ptr noundef @.str.1, i32 noundef 435, ptr noundef %12601, ptr noundef %12604, ptr noundef %12607, i32 noundef %12609) #11
  br label %12611

12611:                                            ; preds = %12594, %12577
  call void @llvm.lifetime.end.p0(i64 4, ptr %277) #11
  br label %12612

12612:                                            ; preds = %12611
  br label %12613

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

12614:                                            ; No predecessors!
  br label %12615

12615:                                            ; preds = %12614
  br label %12616

12616:                                            ; preds = %12615, %12556
  br label %12617

12617:                                            ; preds = %12616
  br label %12618

12618:                                            ; preds = %12617
  call void @llvm.lifetime.start.p0(i64 2, ptr %278) #11
  store i16 10, ptr %278, align 2, !tbaa !49
  call void @llvm.lifetime.start.p0(i64 16384, ptr %279) #11
  call void @llvm.memset.p0.i64(ptr align 16 %279, i8 0, i64 16384, i1 false)
  br label %12619

12619:                                            ; preds = %12618
  %12620 = load i32, ptr @test_count, align 4, !tbaa !5
  %12621 = add nsw i32 %12620, 1
  store i32 %12621, ptr @test_count, align 4, !tbaa !5
  %12622 = load ptr, ptr %265, align 8, !tbaa !9
  %12623 = getelementptr inbounds [20 x i8], ptr %20, i64 0, i64 0
  %12624 = call i64 @s2n_send(ptr noundef %12622, ptr noundef %12623, i64 noundef 20, ptr noundef %22)
  %12625 = icmp eq i64 %12624, 20
  br i1 %12625, label %12679, label %12626

12626:                                            ; preds = %12619
  br label %12627

12627:                                            ; preds = %12626
  br label %12628

12628:                                            ; preds = %12627
  call void @llvm.lifetime.start.p0(i64 4, ptr %280) #11
  %12629 = call ptr @__errno_location() #12
  %12630 = load i32, ptr %12629, align 4, !tbaa !5
  store i32 %12630, ptr %280, align 4, !tbaa !5
  %12631 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12632 = call i32 @s2n_print_stacktrace(ptr noundef %12631)
  %12633 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12634 = trunc i8 %12633 to i1
  br i1 %12634, label %12635, label %12657

12635:                                            ; preds = %12628
  %12636 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12637 = call i32 @fileno(ptr noundef %12636) #11
  %12638 = call i32 @isatty(i32 noundef %12637) #11
  %12639 = icmp ne i32 %12638, 0
  br i1 %12639, label %12640, label %12657

12640:                                            ; preds = %12635
  %12641 = load i32, ptr %280, align 4, !tbaa !5
  %12642 = call ptr @__errno_location() #12
  store i32 %12641, ptr %12642, align 4, !tbaa !5
  %12643 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12644 = load i32, ptr @test_count, align 4, !tbaa !5
  %12645 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12646 = load i32, ptr %12645, align 4, !tbaa !5
  %12647 = call ptr @s2n_strerror(i32 noundef %12646, ptr noundef @.str.4)
  %12648 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12649 = load i32, ptr %12648, align 4, !tbaa !5
  %12650 = call ptr @s2n_strerror_debug(i32 noundef %12649, ptr noundef @.str.4)
  %12651 = call ptr @__errno_location() #12
  %12652 = load i32, ptr %12651, align 4, !tbaa !5
  %12653 = call ptr @strerror(i32 noundef %12652) #11
  %12654 = call ptr @__errno_location() #12
  %12655 = load i32, ptr %12654, align 4, !tbaa !5
  %12656 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12643, ptr noundef @.str.2, i32 noundef %12644, ptr noundef @.str.34, ptr noundef @.str.1, i32 noundef 440, ptr noundef %12647, ptr noundef %12650, ptr noundef %12653, i32 noundef %12655) #11
  br label %12674

12657:                                            ; preds = %12635, %12628
  %12658 = load i32, ptr %280, align 4, !tbaa !5
  %12659 = call ptr @__errno_location() #12
  store i32 %12658, ptr %12659, align 4, !tbaa !5
  %12660 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12661 = load i32, ptr @test_count, align 4, !tbaa !5
  %12662 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12663 = load i32, ptr %12662, align 4, !tbaa !5
  %12664 = call ptr @s2n_strerror(i32 noundef %12663, ptr noundef @.str.4)
  %12665 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12666 = load i32, ptr %12665, align 4, !tbaa !5
  %12667 = call ptr @s2n_strerror_debug(i32 noundef %12666, ptr noundef @.str.4)
  %12668 = call ptr @__errno_location() #12
  %12669 = load i32, ptr %12668, align 4, !tbaa !5
  %12670 = call ptr @strerror(i32 noundef %12669) #11
  %12671 = call ptr @__errno_location() #12
  %12672 = load i32, ptr %12671, align 4, !tbaa !5
  %12673 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12660, ptr noundef @.str.5, i32 noundef %12661, ptr noundef @.str.34, ptr noundef @.str.1, i32 noundef 440, ptr noundef %12664, ptr noundef %12667, ptr noundef %12670, i32 noundef %12672) #11
  br label %12674

12674:                                            ; preds = %12657, %12640
  call void @llvm.lifetime.end.p0(i64 4, ptr %280) #11
  br label %12675

12675:                                            ; preds = %12674
  br label %12676

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

12677:                                            ; No predecessors!
  br label %12678

12678:                                            ; preds = %12677
  br label %12679

12679:                                            ; preds = %12678, %12619
  br label %12680

12680:                                            ; preds = %12679
  br label %12681

12681:                                            ; preds = %12680
  br label %12682

12682:                                            ; preds = %12681
  %12683 = load i32, ptr @test_count, align 4, !tbaa !5
  %12684 = add nsw i32 %12683, 1
  store i32 %12684, ptr @test_count, align 4, !tbaa !5
  %12685 = load ptr, ptr %268, align 8, !tbaa !9
  %12686 = getelementptr inbounds [16384 x i8], ptr %279, i64 0, i64 0
  %12687 = load i16, ptr %278, align 2, !tbaa !49
  %12688 = zext i16 %12687 to i64
  %12689 = call i64 @s2n_recv(ptr noundef %12685, ptr noundef %12686, i64 noundef %12688, ptr noundef %22)
  %12690 = load i16, ptr %278, align 2, !tbaa !49
  %12691 = zext i16 %12690 to i64
  %12692 = icmp eq i64 %12689, %12691
  br i1 %12692, label %12746, label %12693

12693:                                            ; preds = %12682
  br label %12694

12694:                                            ; preds = %12693
  br label %12695

12695:                                            ; preds = %12694
  call void @llvm.lifetime.start.p0(i64 4, ptr %281) #11
  %12696 = call ptr @__errno_location() #12
  %12697 = load i32, ptr %12696, align 4, !tbaa !5
  store i32 %12697, ptr %281, align 4, !tbaa !5
  %12698 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12699 = call i32 @s2n_print_stacktrace(ptr noundef %12698)
  %12700 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12701 = trunc i8 %12700 to i1
  br i1 %12701, label %12702, label %12724

12702:                                            ; preds = %12695
  %12703 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12704 = call i32 @fileno(ptr noundef %12703) #11
  %12705 = call i32 @isatty(i32 noundef %12704) #11
  %12706 = icmp ne i32 %12705, 0
  br i1 %12706, label %12707, label %12724

12707:                                            ; preds = %12702
  %12708 = load i32, ptr %281, align 4, !tbaa !5
  %12709 = call ptr @__errno_location() #12
  store i32 %12708, ptr %12709, align 4, !tbaa !5
  %12710 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12711 = load i32, ptr @test_count, align 4, !tbaa !5
  %12712 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12713 = load i32, ptr %12712, align 4, !tbaa !5
  %12714 = call ptr @s2n_strerror(i32 noundef %12713, ptr noundef @.str.4)
  %12715 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12716 = load i32, ptr %12715, align 4, !tbaa !5
  %12717 = call ptr @s2n_strerror_debug(i32 noundef %12716, ptr noundef @.str.4)
  %12718 = call ptr @__errno_location() #12
  %12719 = load i32, ptr %12718, align 4, !tbaa !5
  %12720 = call ptr @strerror(i32 noundef %12719) #11
  %12721 = call ptr @__errno_location() #12
  %12722 = load i32, ptr %12721, align 4, !tbaa !5
  %12723 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12710, ptr noundef @.str.2, i32 noundef %12711, ptr noundef @.str.95, ptr noundef @.str.1, i32 noundef 441, ptr noundef %12714, ptr noundef %12717, ptr noundef %12720, i32 noundef %12722) #11
  br label %12741

12724:                                            ; preds = %12702, %12695
  %12725 = load i32, ptr %281, align 4, !tbaa !5
  %12726 = call ptr @__errno_location() #12
  store i32 %12725, ptr %12726, align 4, !tbaa !5
  %12727 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12728 = load i32, ptr @test_count, align 4, !tbaa !5
  %12729 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12730 = load i32, ptr %12729, align 4, !tbaa !5
  %12731 = call ptr @s2n_strerror(i32 noundef %12730, ptr noundef @.str.4)
  %12732 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12733 = load i32, ptr %12732, align 4, !tbaa !5
  %12734 = call ptr @s2n_strerror_debug(i32 noundef %12733, ptr noundef @.str.4)
  %12735 = call ptr @__errno_location() #12
  %12736 = load i32, ptr %12735, align 4, !tbaa !5
  %12737 = call ptr @strerror(i32 noundef %12736) #11
  %12738 = call ptr @__errno_location() #12
  %12739 = load i32, ptr %12738, align 4, !tbaa !5
  %12740 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12727, ptr noundef @.str.5, i32 noundef %12728, ptr noundef @.str.95, ptr noundef @.str.1, i32 noundef 441, ptr noundef %12731, ptr noundef %12734, ptr noundef %12737, i32 noundef %12739) #11
  br label %12741

12741:                                            ; preds = %12724, %12707
  call void @llvm.lifetime.end.p0(i64 4, ptr %281) #11
  br label %12742

12742:                                            ; preds = %12741
  br label %12743

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

12744:                                            ; No predecessors!
  br label %12745

12745:                                            ; preds = %12744
  br label %12746

12746:                                            ; preds = %12745, %12682
  br label %12747

12747:                                            ; preds = %12746
  br label %12748

12748:                                            ; preds = %12747
  br label %12749

12749:                                            ; preds = %12748
  %12750 = load i16, ptr %278, align 2, !tbaa !49
  %12751 = zext i16 %12750 to i32
  %12752 = icmp ne i32 %12751, 0
  br i1 %12752, label %12753, label %12819

12753:                                            ; preds = %12749
  br label %12754

12754:                                            ; preds = %12753
  %12755 = load i32, ptr @test_count, align 4, !tbaa !5
  %12756 = add nsw i32 %12755, 1
  store i32 %12756, ptr @test_count, align 4, !tbaa !5
  %12757 = getelementptr inbounds [20 x i8], ptr %20, i64 0, i64 0
  %12758 = getelementptr inbounds [16384 x i8], ptr %279, i64 0, i64 0
  %12759 = load i16, ptr %278, align 2, !tbaa !49
  %12760 = zext i16 %12759 to i64
  %12761 = call i32 @memcmp(ptr noundef %12757, ptr noundef %12758, i64 noundef %12760) #14
  %12762 = icmp eq i32 %12761, 0
  br i1 %12762, label %12816, label %12763

12763:                                            ; preds = %12754
  br label %12764

12764:                                            ; preds = %12763
  br label %12765

12765:                                            ; preds = %12764
  call void @llvm.lifetime.start.p0(i64 4, ptr %282) #11
  %12766 = call ptr @__errno_location() #12
  %12767 = load i32, ptr %12766, align 4, !tbaa !5
  store i32 %12767, ptr %282, align 4, !tbaa !5
  %12768 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12769 = call i32 @s2n_print_stacktrace(ptr noundef %12768)
  %12770 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12771 = trunc i8 %12770 to i1
  br i1 %12771, label %12772, label %12794

12772:                                            ; preds = %12765
  %12773 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12774 = call i32 @fileno(ptr noundef %12773) #11
  %12775 = call i32 @isatty(i32 noundef %12774) #11
  %12776 = icmp ne i32 %12775, 0
  br i1 %12776, label %12777, label %12794

12777:                                            ; preds = %12772
  %12778 = load i32, ptr %282, align 4, !tbaa !5
  %12779 = call ptr @__errno_location() #12
  store i32 %12778, ptr %12779, align 4, !tbaa !5
  %12780 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12781 = load i32, ptr @test_count, align 4, !tbaa !5
  %12782 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12783 = load i32, ptr %12782, align 4, !tbaa !5
  %12784 = call ptr @s2n_strerror(i32 noundef %12783, ptr noundef @.str.4)
  %12785 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12786 = load i32, ptr %12785, align 4, !tbaa !5
  %12787 = call ptr @s2n_strerror_debug(i32 noundef %12786, ptr noundef @.str.4)
  %12788 = call ptr @__errno_location() #12
  %12789 = load i32, ptr %12788, align 4, !tbaa !5
  %12790 = call ptr @strerror(i32 noundef %12789) #11
  %12791 = call ptr @__errno_location() #12
  %12792 = load i32, ptr %12791, align 4, !tbaa !5
  %12793 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12780, ptr noundef @.str.2, i32 noundef %12781, ptr noundef @.str.96, ptr noundef @.str.1, i32 noundef 442, ptr noundef %12784, ptr noundef %12787, ptr noundef %12790, i32 noundef %12792) #11
  br label %12811

12794:                                            ; preds = %12772, %12765
  %12795 = load i32, ptr %282, align 4, !tbaa !5
  %12796 = call ptr @__errno_location() #12
  store i32 %12795, ptr %12796, align 4, !tbaa !5
  %12797 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12798 = load i32, ptr @test_count, align 4, !tbaa !5
  %12799 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12800 = load i32, ptr %12799, align 4, !tbaa !5
  %12801 = call ptr @s2n_strerror(i32 noundef %12800, ptr noundef @.str.4)
  %12802 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12803 = load i32, ptr %12802, align 4, !tbaa !5
  %12804 = call ptr @s2n_strerror_debug(i32 noundef %12803, ptr noundef @.str.4)
  %12805 = call ptr @__errno_location() #12
  %12806 = load i32, ptr %12805, align 4, !tbaa !5
  %12807 = call ptr @strerror(i32 noundef %12806) #11
  %12808 = call ptr @__errno_location() #12
  %12809 = load i32, ptr %12808, align 4, !tbaa !5
  %12810 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12797, ptr noundef @.str.5, i32 noundef %12798, ptr noundef @.str.96, ptr noundef @.str.1, i32 noundef 442, ptr noundef %12801, ptr noundef %12804, ptr noundef %12807, i32 noundef %12809) #11
  br label %12811

12811:                                            ; preds = %12794, %12777
  call void @llvm.lifetime.end.p0(i64 4, ptr %282) #11
  br label %12812

12812:                                            ; preds = %12811
  br label %12813

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

12814:                                            ; No predecessors!
  br label %12815

12815:                                            ; preds = %12814
  br label %12816

12816:                                            ; preds = %12815, %12754
  br label %12817

12817:                                            ; preds = %12816
  br label %12818

12818:                                            ; preds = %12817
  br label %12819

12819:                                            ; preds = %12818, %12749
  br label %12820

12820:                                            ; preds = %12819
  br label %12821

12821:                                            ; preds = %12820
  br label %12822

12822:                                            ; preds = %12821
  %12823 = load i32, ptr @test_count, align 4, !tbaa !5
  %12824 = add nsw i32 %12823, 1
  store i32 %12824, ptr @test_count, align 4, !tbaa !5
  %12825 = load ptr, ptr %268, align 8, !tbaa !9
  %12826 = call i32 @s2n_peek(ptr noundef %12825)
  %12827 = icmp ugt i32 %12826, 0
  br i1 %12827, label %12881, label %12828

12828:                                            ; preds = %12822
  br label %12829

12829:                                            ; preds = %12828
  br label %12830

12830:                                            ; preds = %12829
  call void @llvm.lifetime.start.p0(i64 4, ptr %283) #11
  %12831 = call ptr @__errno_location() #12
  %12832 = load i32, ptr %12831, align 4, !tbaa !5
  store i32 %12832, ptr %283, align 4, !tbaa !5
  %12833 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12834 = call i32 @s2n_print_stacktrace(ptr noundef %12833)
  %12835 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12836 = trunc i8 %12835 to i1
  br i1 %12836, label %12837, label %12859

12837:                                            ; preds = %12830
  %12838 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12839 = call i32 @fileno(ptr noundef %12838) #11
  %12840 = call i32 @isatty(i32 noundef %12839) #11
  %12841 = icmp ne i32 %12840, 0
  br i1 %12841, label %12842, label %12859

12842:                                            ; preds = %12837
  %12843 = load i32, ptr %283, align 4, !tbaa !5
  %12844 = call ptr @__errno_location() #12
  store i32 %12843, ptr %12844, align 4, !tbaa !5
  %12845 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12846 = load i32, ptr @test_count, align 4, !tbaa !5
  %12847 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12848 = load i32, ptr %12847, align 4, !tbaa !5
  %12849 = call ptr @s2n_strerror(i32 noundef %12848, ptr noundef @.str.4)
  %12850 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12851 = load i32, ptr %12850, align 4, !tbaa !5
  %12852 = call ptr @s2n_strerror_debug(i32 noundef %12851, ptr noundef @.str.4)
  %12853 = call ptr @__errno_location() #12
  %12854 = load i32, ptr %12853, align 4, !tbaa !5
  %12855 = call ptr @strerror(i32 noundef %12854) #11
  %12856 = call ptr @__errno_location() #12
  %12857 = load i32, ptr %12856, align 4, !tbaa !5
  %12858 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12845, ptr noundef @.str.2, i32 noundef %12846, ptr noundef @.str.97, ptr noundef @.str.1, i32 noundef 443, ptr noundef %12849, ptr noundef %12852, ptr noundef %12855, i32 noundef %12857) #11
  br label %12876

12859:                                            ; preds = %12837, %12830
  %12860 = load i32, ptr %283, align 4, !tbaa !5
  %12861 = call ptr @__errno_location() #12
  store i32 %12860, ptr %12861, align 4, !tbaa !5
  %12862 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12863 = load i32, ptr @test_count, align 4, !tbaa !5
  %12864 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12865 = load i32, ptr %12864, align 4, !tbaa !5
  %12866 = call ptr @s2n_strerror(i32 noundef %12865, ptr noundef @.str.4)
  %12867 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12868 = load i32, ptr %12867, align 4, !tbaa !5
  %12869 = call ptr @s2n_strerror_debug(i32 noundef %12868, ptr noundef @.str.4)
  %12870 = call ptr @__errno_location() #12
  %12871 = load i32, ptr %12870, align 4, !tbaa !5
  %12872 = call ptr @strerror(i32 noundef %12871) #11
  %12873 = call ptr @__errno_location() #12
  %12874 = load i32, ptr %12873, align 4, !tbaa !5
  %12875 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12862, ptr noundef @.str.5, i32 noundef %12863, ptr noundef @.str.97, ptr noundef @.str.1, i32 noundef 443, ptr noundef %12866, ptr noundef %12869, ptr noundef %12872, i32 noundef %12874) #11
  br label %12876

12876:                                            ; preds = %12859, %12842
  call void @llvm.lifetime.end.p0(i64 4, ptr %283) #11
  br label %12877

12877:                                            ; preds = %12876
  br label %12878

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

12879:                                            ; No predecessors!
  br label %12880

12880:                                            ; preds = %12879
  br label %12881

12881:                                            ; preds = %12880, %12822
  br label %12882

12882:                                            ; preds = %12881
  br label %12883

12883:                                            ; preds = %12882
  br label %12884

12884:                                            ; preds = %12883
  br label %12885

12885:                                            ; preds = %12884
  br label %12886

12886:                                            ; preds = %12885
  %12887 = load i32, ptr @test_count, align 4, !tbaa !5
  %12888 = add nsw i32 %12887, 1
  store i32 %12888, ptr @test_count, align 4, !tbaa !5
  %12889 = load ptr, ptr %268, align 8, !tbaa !9
  %12890 = call i32 @s2n_renegotiate_wipe(ptr noundef %12889)
  %12891 = icmp eq i32 %12890, -1
  br i1 %12891, label %12945, label %12892

12892:                                            ; preds = %12886
  br label %12893

12893:                                            ; preds = %12892
  br label %12894

12894:                                            ; preds = %12893
  call void @llvm.lifetime.start.p0(i64 4, ptr %284) #11
  %12895 = call ptr @__errno_location() #12
  %12896 = load i32, ptr %12895, align 4, !tbaa !5
  store i32 %12896, ptr %284, align 4, !tbaa !5
  %12897 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12898 = call i32 @s2n_print_stacktrace(ptr noundef %12897)
  %12899 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12900 = trunc i8 %12899 to i1
  br i1 %12900, label %12901, label %12923

12901:                                            ; preds = %12894
  %12902 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12903 = call i32 @fileno(ptr noundef %12902) #11
  %12904 = call i32 @isatty(i32 noundef %12903) #11
  %12905 = icmp ne i32 %12904, 0
  br i1 %12905, label %12906, label %12923

12906:                                            ; preds = %12901
  %12907 = load i32, ptr %284, align 4, !tbaa !5
  %12908 = call ptr @__errno_location() #12
  store i32 %12907, ptr %12908, align 4, !tbaa !5
  %12909 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12910 = load i32, ptr @test_count, align 4, !tbaa !5
  %12911 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12912 = load i32, ptr %12911, align 4, !tbaa !5
  %12913 = call ptr @s2n_strerror(i32 noundef %12912, ptr noundef @.str.4)
  %12914 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12915 = load i32, ptr %12914, align 4, !tbaa !5
  %12916 = call ptr @s2n_strerror_debug(i32 noundef %12915, ptr noundef @.str.4)
  %12917 = call ptr @__errno_location() #12
  %12918 = load i32, ptr %12917, align 4, !tbaa !5
  %12919 = call ptr @strerror(i32 noundef %12918) #11
  %12920 = call ptr @__errno_location() #12
  %12921 = load i32, ptr %12920, align 4, !tbaa !5
  %12922 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12909, ptr noundef @.str.2, i32 noundef %12910, ptr noundef @.str.82, ptr noundef @.str.1, i32 noundef 445, ptr noundef %12913, ptr noundef %12916, ptr noundef %12919, i32 noundef %12921) #11
  br label %12940

12923:                                            ; preds = %12901, %12894
  %12924 = load i32, ptr %284, align 4, !tbaa !5
  %12925 = call ptr @__errno_location() #12
  store i32 %12924, ptr %12925, align 4, !tbaa !5
  %12926 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12927 = load i32, ptr @test_count, align 4, !tbaa !5
  %12928 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12929 = load i32, ptr %12928, align 4, !tbaa !5
  %12930 = call ptr @s2n_strerror(i32 noundef %12929, ptr noundef @.str.4)
  %12931 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12932 = load i32, ptr %12931, align 4, !tbaa !5
  %12933 = call ptr @s2n_strerror_debug(i32 noundef %12932, ptr noundef @.str.4)
  %12934 = call ptr @__errno_location() #12
  %12935 = load i32, ptr %12934, align 4, !tbaa !5
  %12936 = call ptr @strerror(i32 noundef %12935) #11
  %12937 = call ptr @__errno_location() #12
  %12938 = load i32, ptr %12937, align 4, !tbaa !5
  %12939 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12926, ptr noundef @.str.5, i32 noundef %12927, ptr noundef @.str.82, ptr noundef @.str.1, i32 noundef 445, ptr noundef %12930, ptr noundef %12933, ptr noundef %12936, i32 noundef %12938) #11
  br label %12940

12940:                                            ; preds = %12923, %12906
  call void @llvm.lifetime.end.p0(i64 4, ptr %284) #11
  br label %12941

12941:                                            ; preds = %12940
  br label %12942

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

12943:                                            ; No predecessors!
  br label %12944

12944:                                            ; preds = %12943
  br label %12945

12945:                                            ; preds = %12944, %12886
  br label %12946

12946:                                            ; preds = %12945
  br label %12947

12947:                                            ; preds = %12946
  br label %12948

12948:                                            ; preds = %12947
  %12949 = load i32, ptr @test_count, align 4, !tbaa !5
  %12950 = add nsw i32 %12949, 1
  store i32 %12950, ptr @test_count, align 4, !tbaa !5
  %12951 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12952 = load i32, ptr %12951, align 4, !tbaa !5
  %12953 = icmp eq i32 %12952, 469762112
  br i1 %12953, label %13007, label %12954

12954:                                            ; preds = %12948
  br label %12955

12955:                                            ; preds = %12954
  br label %12956

12956:                                            ; preds = %12955
  call void @llvm.lifetime.start.p0(i64 4, ptr %285) #11
  %12957 = call ptr @__errno_location() #12
  %12958 = load i32, ptr %12957, align 4, !tbaa !5
  store i32 %12958, ptr %285, align 4, !tbaa !5
  %12959 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12960 = call i32 @s2n_print_stacktrace(ptr noundef %12959)
  %12961 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12962 = trunc i8 %12961 to i1
  br i1 %12962, label %12963, label %12985

12963:                                            ; preds = %12956
  %12964 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12965 = call i32 @fileno(ptr noundef %12964) #11
  %12966 = call i32 @isatty(i32 noundef %12965) #11
  %12967 = icmp ne i32 %12966, 0
  br i1 %12967, label %12968, label %12985

12968:                                            ; preds = %12963
  %12969 = load i32, ptr %285, align 4, !tbaa !5
  %12970 = call ptr @__errno_location() #12
  store i32 %12969, ptr %12970, align 4, !tbaa !5
  %12971 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12972 = load i32, ptr @test_count, align 4, !tbaa !5
  %12973 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12974 = load i32, ptr %12973, align 4, !tbaa !5
  %12975 = call ptr @s2n_strerror(i32 noundef %12974, ptr noundef @.str.4)
  %12976 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12977 = load i32, ptr %12976, align 4, !tbaa !5
  %12978 = call ptr @s2n_strerror_debug(i32 noundef %12977, ptr noundef @.str.4)
  %12979 = call ptr @__errno_location() #12
  %12980 = load i32, ptr %12979, align 4, !tbaa !5
  %12981 = call ptr @strerror(i32 noundef %12980) #11
  %12982 = call ptr @__errno_location() #12
  %12983 = load i32, ptr %12982, align 4, !tbaa !5
  %12984 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12971, ptr noundef @.str.2, i32 noundef %12972, ptr noundef @.str.92, ptr noundef @.str.1, i32 noundef 445, ptr noundef %12975, ptr noundef %12978, ptr noundef %12981, i32 noundef %12983) #11
  br label %13002

12985:                                            ; preds = %12963, %12956
  %12986 = load i32, ptr %285, align 4, !tbaa !5
  %12987 = call ptr @__errno_location() #12
  store i32 %12986, ptr %12987, align 4, !tbaa !5
  %12988 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12989 = load i32, ptr @test_count, align 4, !tbaa !5
  %12990 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12991 = load i32, ptr %12990, align 4, !tbaa !5
  %12992 = call ptr @s2n_strerror(i32 noundef %12991, ptr noundef @.str.4)
  %12993 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12994 = load i32, ptr %12993, align 4, !tbaa !5
  %12995 = call ptr @s2n_strerror_debug(i32 noundef %12994, ptr noundef @.str.4)
  %12996 = call ptr @__errno_location() #12
  %12997 = load i32, ptr %12996, align 4, !tbaa !5
  %12998 = call ptr @strerror(i32 noundef %12997) #11
  %12999 = call ptr @__errno_location() #12
  %13000 = load i32, ptr %12999, align 4, !tbaa !5
  %13001 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12988, ptr noundef @.str.5, i32 noundef %12989, ptr noundef @.str.92, ptr noundef @.str.1, i32 noundef 445, ptr noundef %12992, ptr noundef %12995, ptr noundef %12998, i32 noundef %13000) #11
  br label %13002

13002:                                            ; preds = %12985, %12968
  call void @llvm.lifetime.end.p0(i64 4, ptr %285) #11
  br label %13003

13003:                                            ; preds = %13002
  br label %13004

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

13005:                                            ; No predecessors!
  br label %13006

13006:                                            ; preds = %13005
  br label %13007

13007:                                            ; preds = %13006, %12948
  br label %13008

13008:                                            ; preds = %13007
  br label %13009

13009:                                            ; preds = %13008
  br label %13010

13010:                                            ; preds = %13009
  %13011 = load i32, ptr @test_count, align 4, !tbaa !5
  %13012 = add nsw i32 %13011, 1
  store i32 %13012, ptr @test_count, align 4, !tbaa !5
  %13013 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13014 = load i32, ptr %13013, align 4, !tbaa !5
  %13015 = call ptr @s2n_strerror_debug(i32 noundef %13014, ptr noundef @.str.4)
  %13016 = icmp eq ptr %13015, null
  br i1 %13016, label %13017, label %13070

13017:                                            ; preds = %13010
  br label %13018

13018:                                            ; preds = %13017
  br label %13019

13019:                                            ; preds = %13018
  call void @llvm.lifetime.start.p0(i64 4, ptr %286) #11
  %13020 = call ptr @__errno_location() #12
  %13021 = load i32, ptr %13020, align 4, !tbaa !5
  store i32 %13021, ptr %286, align 4, !tbaa !5
  %13022 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13023 = call i32 @s2n_print_stacktrace(ptr noundef %13022)
  %13024 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13025 = trunc i8 %13024 to i1
  br i1 %13025, label %13026, label %13048

13026:                                            ; preds = %13019
  %13027 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13028 = call i32 @fileno(ptr noundef %13027) #11
  %13029 = call i32 @isatty(i32 noundef %13028) #11
  %13030 = icmp ne i32 %13029, 0
  br i1 %13030, label %13031, label %13048

13031:                                            ; preds = %13026
  %13032 = load i32, ptr %286, align 4, !tbaa !5
  %13033 = call ptr @__errno_location() #12
  store i32 %13032, ptr %13033, align 4, !tbaa !5
  %13034 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13035 = load i32, ptr @test_count, align 4, !tbaa !5
  %13036 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13037 = load i32, ptr %13036, align 4, !tbaa !5
  %13038 = call ptr @s2n_strerror(i32 noundef %13037, ptr noundef @.str.4)
  %13039 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13040 = load i32, ptr %13039, align 4, !tbaa !5
  %13041 = call ptr @s2n_strerror_debug(i32 noundef %13040, ptr noundef @.str.4)
  %13042 = call ptr @__errno_location() #12
  %13043 = load i32, ptr %13042, align 4, !tbaa !5
  %13044 = call ptr @strerror(i32 noundef %13043) #11
  %13045 = call ptr @__errno_location() #12
  %13046 = load i32, ptr %13045, align 4, !tbaa !5
  %13047 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13034, ptr noundef @.str.2, i32 noundef %13035, ptr noundef @.str.84, ptr noundef @.str.1, i32 noundef 445, ptr noundef %13038, ptr noundef %13041, ptr noundef %13044, i32 noundef %13046) #11
  br label %13065

13048:                                            ; preds = %13026, %13019
  %13049 = load i32, ptr %286, align 4, !tbaa !5
  %13050 = call ptr @__errno_location() #12
  store i32 %13049, ptr %13050, align 4, !tbaa !5
  %13051 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13052 = load i32, ptr @test_count, align 4, !tbaa !5
  %13053 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13054 = load i32, ptr %13053, align 4, !tbaa !5
  %13055 = call ptr @s2n_strerror(i32 noundef %13054, ptr noundef @.str.4)
  %13056 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13057 = load i32, ptr %13056, align 4, !tbaa !5
  %13058 = call ptr @s2n_strerror_debug(i32 noundef %13057, ptr noundef @.str.4)
  %13059 = call ptr @__errno_location() #12
  %13060 = load i32, ptr %13059, align 4, !tbaa !5
  %13061 = call ptr @strerror(i32 noundef %13060) #11
  %13062 = call ptr @__errno_location() #12
  %13063 = load i32, ptr %13062, align 4, !tbaa !5
  %13064 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13051, ptr noundef @.str.5, i32 noundef %13052, ptr noundef @.str.84, ptr noundef @.str.1, i32 noundef 445, ptr noundef %13055, ptr noundef %13058, ptr noundef %13061, i32 noundef %13063) #11
  br label %13065

13065:                                            ; preds = %13048, %13031
  call void @llvm.lifetime.end.p0(i64 4, ptr %286) #11
  br label %13066

13066:                                            ; preds = %13065
  br label %13067

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

13068:                                            ; No predecessors!
  br label %13069

13069:                                            ; preds = %13068
  br label %13070

13070:                                            ; preds = %13069, %13010
  br label %13071

13071:                                            ; preds = %13070
  br label %13072

13072:                                            ; preds = %13071
  br label %13073

13073:                                            ; preds = %13072
  br label %13074

13074:                                            ; preds = %13073
  br label %13075

13075:                                            ; preds = %13074
  %13076 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %13076, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %13077 = call ptr @__errno_location() #12
  store i32 0, ptr %13077, align 4, !tbaa !5
  br label %13078

13078:                                            ; preds = %13075
  br label %13079

13079:                                            ; preds = %13078
  br label %13080

13080:                                            ; preds = %13079
  br label %13081

13081:                                            ; preds = %13080
  call void @llvm.lifetime.start.p0(i64 8, ptr %287) #11
  %13082 = load i16, ptr %278, align 2, !tbaa !49
  %13083 = zext i16 %13082 to i64
  %13084 = sub i64 20, %13083
  store i64 %13084, ptr %287, align 8, !tbaa !45
  br label %13085

13085:                                            ; preds = %13081
  %13086 = load i32, ptr @test_count, align 4, !tbaa !5
  %13087 = add nsw i32 %13086, 1
  store i32 %13087, ptr @test_count, align 4, !tbaa !5
  %13088 = load ptr, ptr %268, align 8, !tbaa !9
  %13089 = getelementptr inbounds [16384 x i8], ptr %279, i64 0, i64 0
  %13090 = load i64, ptr %287, align 8, !tbaa !45
  %13091 = call i64 @s2n_recv(ptr noundef %13088, ptr noundef %13089, i64 noundef %13090, ptr noundef %22)
  %13092 = load i64, ptr %287, align 8, !tbaa !45
  %13093 = icmp eq i64 %13091, %13092
  br i1 %13093, label %13147, label %13094

13094:                                            ; preds = %13085
  br label %13095

13095:                                            ; preds = %13094
  br label %13096

13096:                                            ; preds = %13095
  call void @llvm.lifetime.start.p0(i64 4, ptr %288) #11
  %13097 = call ptr @__errno_location() #12
  %13098 = load i32, ptr %13097, align 4, !tbaa !5
  store i32 %13098, ptr %288, align 4, !tbaa !5
  %13099 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13100 = call i32 @s2n_print_stacktrace(ptr noundef %13099)
  %13101 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13102 = trunc i8 %13101 to i1
  br i1 %13102, label %13103, label %13125

13103:                                            ; preds = %13096
  %13104 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13105 = call i32 @fileno(ptr noundef %13104) #11
  %13106 = call i32 @isatty(i32 noundef %13105) #11
  %13107 = icmp ne i32 %13106, 0
  br i1 %13107, label %13108, label %13125

13108:                                            ; preds = %13103
  %13109 = load i32, ptr %288, align 4, !tbaa !5
  %13110 = call ptr @__errno_location() #12
  store i32 %13109, ptr %13110, align 4, !tbaa !5
  %13111 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13112 = load i32, ptr @test_count, align 4, !tbaa !5
  %13113 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13114 = load i32, ptr %13113, align 4, !tbaa !5
  %13115 = call ptr @s2n_strerror(i32 noundef %13114, ptr noundef @.str.4)
  %13116 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13117 = load i32, ptr %13116, align 4, !tbaa !5
  %13118 = call ptr @s2n_strerror_debug(i32 noundef %13117, ptr noundef @.str.4)
  %13119 = call ptr @__errno_location() #12
  %13120 = load i32, ptr %13119, align 4, !tbaa !5
  %13121 = call ptr @strerror(i32 noundef %13120) #11
  %13122 = call ptr @__errno_location() #12
  %13123 = load i32, ptr %13122, align 4, !tbaa !5
  %13124 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13111, ptr noundef @.str.2, i32 noundef %13112, ptr noundef @.str.98, ptr noundef @.str.1, i32 noundef 449, ptr noundef %13115, ptr noundef %13118, ptr noundef %13121, i32 noundef %13123) #11
  br label %13142

13125:                                            ; preds = %13103, %13096
  %13126 = load i32, ptr %288, align 4, !tbaa !5
  %13127 = call ptr @__errno_location() #12
  store i32 %13126, ptr %13127, align 4, !tbaa !5
  %13128 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13129 = load i32, ptr @test_count, align 4, !tbaa !5
  %13130 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13131 = load i32, ptr %13130, align 4, !tbaa !5
  %13132 = call ptr @s2n_strerror(i32 noundef %13131, ptr noundef @.str.4)
  %13133 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13134 = load i32, ptr %13133, align 4, !tbaa !5
  %13135 = call ptr @s2n_strerror_debug(i32 noundef %13134, ptr noundef @.str.4)
  %13136 = call ptr @__errno_location() #12
  %13137 = load i32, ptr %13136, align 4, !tbaa !5
  %13138 = call ptr @strerror(i32 noundef %13137) #11
  %13139 = call ptr @__errno_location() #12
  %13140 = load i32, ptr %13139, align 4, !tbaa !5
  %13141 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13128, ptr noundef @.str.5, i32 noundef %13129, ptr noundef @.str.98, ptr noundef @.str.1, i32 noundef 449, ptr noundef %13132, ptr noundef %13135, ptr noundef %13138, i32 noundef %13140) #11
  br label %13142

13142:                                            ; preds = %13125, %13108
  call void @llvm.lifetime.end.p0(i64 4, ptr %288) #11
  br label %13143

13143:                                            ; preds = %13142
  br label %13144

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

13145:                                            ; No predecessors!
  br label %13146

13146:                                            ; preds = %13145
  br label %13147

13147:                                            ; preds = %13146, %13085
  br label %13148

13148:                                            ; preds = %13147
  br label %13149

13149:                                            ; preds = %13148
  br label %13150

13150:                                            ; preds = %13149
  %13151 = load i64, ptr %287, align 8, !tbaa !45
  %13152 = icmp ne i64 %13151, 0
  br i1 %13152, label %13153, label %13222

13153:                                            ; preds = %13150
  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 = getelementptr inbounds [20 x i8], ptr %20, i64 0, i64 0
  %13158 = load i16, ptr %278, align 2, !tbaa !49
  %13159 = zext i16 %13158 to i32
  %13160 = sext i32 %13159 to i64
  %13161 = getelementptr inbounds i8, ptr %13157, i64 %13160
  %13162 = getelementptr inbounds [16384 x i8], ptr %279, i64 0, i64 0
  %13163 = load i64, ptr %287, align 8, !tbaa !45
  %13164 = call i32 @memcmp(ptr noundef %13161, ptr noundef %13162, i64 noundef %13163) #14
  %13165 = icmp eq i32 %13164, 0
  br i1 %13165, label %13219, label %13166

13166:                                            ; preds = %13154
  br label %13167

13167:                                            ; preds = %13166
  br label %13168

13168:                                            ; preds = %13167
  call void @llvm.lifetime.start.p0(i64 4, ptr %289) #11
  %13169 = call ptr @__errno_location() #12
  %13170 = load i32, ptr %13169, align 4, !tbaa !5
  store i32 %13170, ptr %289, align 4, !tbaa !5
  %13171 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13172 = call i32 @s2n_print_stacktrace(ptr noundef %13171)
  %13173 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13174 = trunc i8 %13173 to i1
  br i1 %13174, label %13175, label %13197

13175:                                            ; preds = %13168
  %13176 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13177 = call i32 @fileno(ptr noundef %13176) #11
  %13178 = call i32 @isatty(i32 noundef %13177) #11
  %13179 = icmp ne i32 %13178, 0
  br i1 %13179, label %13180, label %13197

13180:                                            ; preds = %13175
  %13181 = load i32, ptr %289, align 4, !tbaa !5
  %13182 = call ptr @__errno_location() #12
  store i32 %13181, ptr %13182, align 4, !tbaa !5
  %13183 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13184 = load i32, ptr @test_count, align 4, !tbaa !5
  %13185 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13186 = load i32, ptr %13185, align 4, !tbaa !5
  %13187 = call ptr @s2n_strerror(i32 noundef %13186, ptr noundef @.str.4)
  %13188 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13189 = load i32, ptr %13188, align 4, !tbaa !5
  %13190 = call ptr @s2n_strerror_debug(i32 noundef %13189, ptr noundef @.str.4)
  %13191 = call ptr @__errno_location() #12
  %13192 = load i32, ptr %13191, align 4, !tbaa !5
  %13193 = call ptr @strerror(i32 noundef %13192) #11
  %13194 = call ptr @__errno_location() #12
  %13195 = load i32, ptr %13194, align 4, !tbaa !5
  %13196 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13183, ptr noundef @.str.2, i32 noundef %13184, ptr noundef @.str.99, ptr noundef @.str.1, i32 noundef 450, ptr noundef %13187, ptr noundef %13190, ptr noundef %13193, i32 noundef %13195) #11
  br label %13214

13197:                                            ; preds = %13175, %13168
  %13198 = load i32, ptr %289, align 4, !tbaa !5
  %13199 = call ptr @__errno_location() #12
  store i32 %13198, ptr %13199, align 4, !tbaa !5
  %13200 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13201 = load i32, ptr @test_count, align 4, !tbaa !5
  %13202 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13203 = load i32, ptr %13202, align 4, !tbaa !5
  %13204 = call ptr @s2n_strerror(i32 noundef %13203, ptr noundef @.str.4)
  %13205 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13206 = load i32, ptr %13205, align 4, !tbaa !5
  %13207 = call ptr @s2n_strerror_debug(i32 noundef %13206, ptr noundef @.str.4)
  %13208 = call ptr @__errno_location() #12
  %13209 = load i32, ptr %13208, align 4, !tbaa !5
  %13210 = call ptr @strerror(i32 noundef %13209) #11
  %13211 = call ptr @__errno_location() #12
  %13212 = load i32, ptr %13211, align 4, !tbaa !5
  %13213 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13200, ptr noundef @.str.5, i32 noundef %13201, ptr noundef @.str.99, ptr noundef @.str.1, i32 noundef 450, ptr noundef %13204, ptr noundef %13207, ptr noundef %13210, i32 noundef %13212) #11
  br label %13214

13214:                                            ; preds = %13197, %13180
  call void @llvm.lifetime.end.p0(i64 4, ptr %289) #11
  br label %13215

13215:                                            ; preds = %13214
  br label %13216

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

13217:                                            ; No predecessors!
  br label %13218

13218:                                            ; preds = %13217
  br label %13219

13219:                                            ; preds = %13218, %13154
  br label %13220

13220:                                            ; preds = %13219
  br label %13221

13221:                                            ; preds = %13220
  br label %13222

13222:                                            ; preds = %13221, %13150
  br label %13223

13223:                                            ; preds = %13222
  br label %13224

13224:                                            ; preds = %13223
  br label %13225

13225:                                            ; preds = %13224
  %13226 = load i32, ptr @test_count, align 4, !tbaa !5
  %13227 = add nsw i32 %13226, 1
  store i32 %13227, ptr @test_count, align 4, !tbaa !5
  %13228 = load ptr, ptr %268, align 8, !tbaa !9
  %13229 = call i32 @s2n_peek(ptr noundef %13228)
  %13230 = icmp eq i32 %13229, 0
  br i1 %13230, label %13284, label %13231

13231:                                            ; preds = %13225
  br label %13232

13232:                                            ; preds = %13231
  br label %13233

13233:                                            ; preds = %13232
  call void @llvm.lifetime.start.p0(i64 4, ptr %290) #11
  %13234 = call ptr @__errno_location() #12
  %13235 = load i32, ptr %13234, align 4, !tbaa !5
  store i32 %13235, ptr %290, align 4, !tbaa !5
  %13236 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13237 = call i32 @s2n_print_stacktrace(ptr noundef %13236)
  %13238 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13239 = trunc i8 %13238 to i1
  br i1 %13239, label %13240, label %13262

13240:                                            ; preds = %13233
  %13241 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13242 = call i32 @fileno(ptr noundef %13241) #11
  %13243 = call i32 @isatty(i32 noundef %13242) #11
  %13244 = icmp ne i32 %13243, 0
  br i1 %13244, label %13245, label %13262

13245:                                            ; preds = %13240
  %13246 = load i32, ptr %290, align 4, !tbaa !5
  %13247 = call ptr @__errno_location() #12
  store i32 %13246, ptr %13247, align 4, !tbaa !5
  %13248 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13249 = load i32, ptr @test_count, align 4, !tbaa !5
  %13250 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13251 = load i32, ptr %13250, align 4, !tbaa !5
  %13252 = call ptr @s2n_strerror(i32 noundef %13251, ptr noundef @.str.4)
  %13253 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13254 = load i32, ptr %13253, align 4, !tbaa !5
  %13255 = call ptr @s2n_strerror_debug(i32 noundef %13254, ptr noundef @.str.4)
  %13256 = call ptr @__errno_location() #12
  %13257 = load i32, ptr %13256, align 4, !tbaa !5
  %13258 = call ptr @strerror(i32 noundef %13257) #11
  %13259 = call ptr @__errno_location() #12
  %13260 = load i32, ptr %13259, align 4, !tbaa !5
  %13261 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13248, ptr noundef @.str.2, i32 noundef %13249, ptr noundef @.str.100, ptr noundef @.str.1, i32 noundef 451, ptr noundef %13252, ptr noundef %13255, ptr noundef %13258, i32 noundef %13260) #11
  br label %13279

13262:                                            ; preds = %13240, %13233
  %13263 = load i32, ptr %290, align 4, !tbaa !5
  %13264 = call ptr @__errno_location() #12
  store i32 %13263, ptr %13264, align 4, !tbaa !5
  %13265 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13266 = load i32, ptr @test_count, align 4, !tbaa !5
  %13267 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13268 = load i32, ptr %13267, align 4, !tbaa !5
  %13269 = call ptr @s2n_strerror(i32 noundef %13268, ptr noundef @.str.4)
  %13270 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13271 = load i32, ptr %13270, align 4, !tbaa !5
  %13272 = call ptr @s2n_strerror_debug(i32 noundef %13271, ptr noundef @.str.4)
  %13273 = call ptr @__errno_location() #12
  %13274 = load i32, ptr %13273, align 4, !tbaa !5
  %13275 = call ptr @strerror(i32 noundef %13274) #11
  %13276 = call ptr @__errno_location() #12
  %13277 = load i32, ptr %13276, align 4, !tbaa !5
  %13278 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13265, ptr noundef @.str.5, i32 noundef %13266, ptr noundef @.str.100, ptr noundef @.str.1, i32 noundef 451, ptr noundef %13269, ptr noundef %13272, ptr noundef %13275, i32 noundef %13277) #11
  br label %13279

13279:                                            ; preds = %13262, %13245
  call void @llvm.lifetime.end.p0(i64 4, ptr %290) #11
  br label %13280

13280:                                            ; preds = %13279
  br label %13281

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

13282:                                            ; No predecessors!
  br label %13283

13283:                                            ; preds = %13282
  br label %13284

13284:                                            ; preds = %13283, %13225
  br label %13285

13285:                                            ; preds = %13284
  br label %13286

13286:                                            ; preds = %13285
  br label %13287

13287:                                            ; preds = %13286
  %13288 = load i32, ptr @test_count, align 4, !tbaa !5
  %13289 = add nsw i32 %13288, 1
  store i32 %13289, ptr @test_count, align 4, !tbaa !5
  %13290 = load ptr, ptr %268, align 8, !tbaa !9
  %13291 = call i32 @s2n_renegotiate_wipe(ptr noundef %13290)
  %13292 = icmp eq i32 %13291, -1
  br i1 %13292, label %13293, label %13346

13293:                                            ; preds = %13287
  br label %13294

13294:                                            ; preds = %13293
  br label %13295

13295:                                            ; preds = %13294
  call void @llvm.lifetime.start.p0(i64 4, ptr %291) #11
  %13296 = call ptr @__errno_location() #12
  %13297 = load i32, ptr %13296, align 4, !tbaa !5
  store i32 %13297, ptr %291, align 4, !tbaa !5
  %13298 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13299 = call i32 @s2n_print_stacktrace(ptr noundef %13298)
  %13300 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13301 = trunc i8 %13300 to i1
  br i1 %13301, label %13302, label %13324

13302:                                            ; preds = %13295
  %13303 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13304 = call i32 @fileno(ptr noundef %13303) #11
  %13305 = call i32 @isatty(i32 noundef %13304) #11
  %13306 = icmp ne i32 %13305, 0
  br i1 %13306, label %13307, label %13324

13307:                                            ; preds = %13302
  %13308 = load i32, ptr %291, align 4, !tbaa !5
  %13309 = call ptr @__errno_location() #12
  store i32 %13308, ptr %13309, align 4, !tbaa !5
  %13310 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13311 = load i32, ptr @test_count, align 4, !tbaa !5
  %13312 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13313 = load i32, ptr %13312, align 4, !tbaa !5
  %13314 = call ptr @s2n_strerror(i32 noundef %13313, ptr noundef @.str.4)
  %13315 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13316 = load i32, ptr %13315, align 4, !tbaa !5
  %13317 = call ptr @s2n_strerror_debug(i32 noundef %13316, ptr noundef @.str.4)
  %13318 = call ptr @__errno_location() #12
  %13319 = load i32, ptr %13318, align 4, !tbaa !5
  %13320 = call ptr @strerror(i32 noundef %13319) #11
  %13321 = call ptr @__errno_location() #12
  %13322 = load i32, ptr %13321, align 4, !tbaa !5
  %13323 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13310, ptr noundef @.str.2, i32 noundef %13311, ptr noundef @.str.33, ptr noundef @.str.1, i32 noundef 453, ptr noundef %13314, ptr noundef %13317, ptr noundef %13320, i32 noundef %13322) #11
  br label %13341

13324:                                            ; preds = %13302, %13295
  %13325 = load i32, ptr %291, align 4, !tbaa !5
  %13326 = call ptr @__errno_location() #12
  store i32 %13325, ptr %13326, align 4, !tbaa !5
  %13327 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13328 = load i32, ptr @test_count, align 4, !tbaa !5
  %13329 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13330 = load i32, ptr %13329, align 4, !tbaa !5
  %13331 = call ptr @s2n_strerror(i32 noundef %13330, ptr noundef @.str.4)
  %13332 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13333 = load i32, ptr %13332, align 4, !tbaa !5
  %13334 = call ptr @s2n_strerror_debug(i32 noundef %13333, ptr noundef @.str.4)
  %13335 = call ptr @__errno_location() #12
  %13336 = load i32, ptr %13335, align 4, !tbaa !5
  %13337 = call ptr @strerror(i32 noundef %13336) #11
  %13338 = call ptr @__errno_location() #12
  %13339 = load i32, ptr %13338, align 4, !tbaa !5
  %13340 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13327, ptr noundef @.str.5, i32 noundef %13328, ptr noundef @.str.33, ptr noundef @.str.1, i32 noundef 453, ptr noundef %13331, ptr noundef %13334, ptr noundef %13337, i32 noundef %13339) #11
  br label %13341

13341:                                            ; preds = %13324, %13307
  call void @llvm.lifetime.end.p0(i64 4, ptr %291) #11
  br label %13342

13342:                                            ; preds = %13341
  br label %13343

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

13344:                                            ; No predecessors!
  br label %13345

13345:                                            ; preds = %13344
  br label %13346

13346:                                            ; preds = %13345, %13287
  br label %13347

13347:                                            ; preds = %13346
  br label %13348

13348:                                            ; preds = %13347
  call void @llvm.lifetime.end.p0(i64 8, ptr %287) #11
  call void @llvm.lifetime.end.p0(i64 16384, ptr %279) #11
  call void @llvm.lifetime.end.p0(i64 2, ptr %278) #11
  %13349 = call i32 @s2n_stuffer_free(ptr noundef %272)
  call void @llvm.lifetime.end.p0(i64 40, ptr %272) #11
  %13350 = call i32 @s2n_stuffer_free(ptr noundef %271)
  call void @llvm.lifetime.end.p0(i64 40, ptr %271) #11
  %13351 = call i32 @s2n_connection_ptr_free(ptr noundef %268)
  %13352 = getelementptr inbounds %struct.s2n_result, ptr %292, i32 0, i32 0
  store i32 %13351, ptr %13352, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %268) #11
  %13353 = call i32 @s2n_connection_ptr_free(ptr noundef %265)
  %13354 = getelementptr inbounds %struct.s2n_result, ptr %293, i32 0, i32 0
  store i32 %13353, ptr %13354, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %265) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %294) #11
  %13355 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %13355, ptr %294, align 8, !tbaa !9
  br label %13356

13356:                                            ; preds = %13348
  %13357 = load i32, ptr @test_count, align 4, !tbaa !5
  %13358 = add nsw i32 %13357, 1
  store i32 %13358, ptr @test_count, align 4, !tbaa !5
  %13359 = load ptr, ptr %294, align 8, !tbaa !9
  %13360 = icmp eq ptr %13359, null
  br i1 %13360, label %13361, label %13414

13361:                                            ; preds = %13356
  br label %13362

13362:                                            ; preds = %13361
  br label %13363

13363:                                            ; preds = %13362
  call void @llvm.lifetime.start.p0(i64 4, ptr %295) #11
  %13364 = call ptr @__errno_location() #12
  %13365 = load i32, ptr %13364, align 4, !tbaa !5
  store i32 %13365, ptr %295, align 4, !tbaa !5
  %13366 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13367 = call i32 @s2n_print_stacktrace(ptr noundef %13366)
  %13368 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13369 = trunc i8 %13368 to i1
  br i1 %13369, label %13370, label %13392

13370:                                            ; preds = %13363
  %13371 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13372 = call i32 @fileno(ptr noundef %13371) #11
  %13373 = call i32 @isatty(i32 noundef %13372) #11
  %13374 = icmp ne i32 %13373, 0
  br i1 %13374, label %13375, label %13392

13375:                                            ; preds = %13370
  %13376 = load i32, ptr %295, align 4, !tbaa !5
  %13377 = call ptr @__errno_location() #12
  store i32 %13376, ptr %13377, align 4, !tbaa !5
  %13378 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13379 = load i32, ptr @test_count, align 4, !tbaa !5
  %13380 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13381 = load i32, ptr %13380, align 4, !tbaa !5
  %13382 = call ptr @s2n_strerror(i32 noundef %13381, ptr noundef @.str.4)
  %13383 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13384 = load i32, ptr %13383, align 4, !tbaa !5
  %13385 = call ptr @s2n_strerror_debug(i32 noundef %13384, ptr noundef @.str.4)
  %13386 = call ptr @__errno_location() #12
  %13387 = load i32, ptr %13386, align 4, !tbaa !5
  %13388 = call ptr @strerror(i32 noundef %13387) #11
  %13389 = call ptr @__errno_location() #12
  %13390 = load i32, ptr %13389, align 4, !tbaa !5
  %13391 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13378, ptr noundef @.str.2, i32 noundef %13379, ptr noundef @.str.101, ptr noundef @.str.1, i32 noundef 459, ptr noundef %13382, ptr noundef %13385, ptr noundef %13388, i32 noundef %13390) #11
  br label %13409

13392:                                            ; preds = %13370, %13363
  %13393 = load i32, ptr %295, align 4, !tbaa !5
  %13394 = call ptr @__errno_location() #12
  store i32 %13393, ptr %13394, align 4, !tbaa !5
  %13395 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13396 = load i32, ptr @test_count, align 4, !tbaa !5
  %13397 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13398 = load i32, ptr %13397, align 4, !tbaa !5
  %13399 = call ptr @s2n_strerror(i32 noundef %13398, ptr noundef @.str.4)
  %13400 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13401 = load i32, ptr %13400, align 4, !tbaa !5
  %13402 = call ptr @s2n_strerror_debug(i32 noundef %13401, ptr noundef @.str.4)
  %13403 = call ptr @__errno_location() #12
  %13404 = load i32, ptr %13403, align 4, !tbaa !5
  %13405 = call ptr @strerror(i32 noundef %13404) #11
  %13406 = call ptr @__errno_location() #12
  %13407 = load i32, ptr %13406, align 4, !tbaa !5
  %13408 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13395, ptr noundef @.str.5, i32 noundef %13396, ptr noundef @.str.101, ptr noundef @.str.1, i32 noundef 459, ptr noundef %13399, ptr noundef %13402, ptr noundef %13405, i32 noundef %13407) #11
  br label %13409

13409:                                            ; preds = %13392, %13375
  call void @llvm.lifetime.end.p0(i64 4, ptr %295) #11
  br label %13410

13410:                                            ; preds = %13409
  br label %13411

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

13412:                                            ; No predecessors!
  br label %13413

13413:                                            ; preds = %13412
  br label %13414

13414:                                            ; preds = %13413, %13356
  br label %13415

13415:                                            ; preds = %13414
  br label %13416

13416:                                            ; preds = %13415
  br label %13417

13417:                                            ; preds = %13416
  %13418 = load i32, ptr @test_count, align 4, !tbaa !5
  %13419 = add nsw i32 %13418, 1
  store i32 %13419, ptr @test_count, align 4, !tbaa !5
  %13420 = load ptr, ptr %294, align 8, !tbaa !9
  %13421 = load ptr, ptr %15, align 8, !tbaa !9
  %13422 = call i32 @s2n_connection_set_config(ptr noundef %13420, ptr noundef %13421)
  %13423 = icmp eq i32 %13422, -1
  br i1 %13423, label %13424, label %13477

13424:                                            ; preds = %13417
  br label %13425

13425:                                            ; preds = %13424
  br label %13426

13426:                                            ; preds = %13425
  call void @llvm.lifetime.start.p0(i64 4, ptr %296) #11
  %13427 = call ptr @__errno_location() #12
  %13428 = load i32, ptr %13427, align 4, !tbaa !5
  store i32 %13428, ptr %296, align 4, !tbaa !5
  %13429 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13430 = call i32 @s2n_print_stacktrace(ptr noundef %13429)
  %13431 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13432 = trunc i8 %13431 to i1
  br i1 %13432, label %13433, label %13455

13433:                                            ; preds = %13426
  %13434 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13435 = call i32 @fileno(ptr noundef %13434) #11
  %13436 = call i32 @isatty(i32 noundef %13435) #11
  %13437 = icmp ne i32 %13436, 0
  br i1 %13437, label %13438, label %13455

13438:                                            ; preds = %13433
  %13439 = load i32, ptr %296, align 4, !tbaa !5
  %13440 = call ptr @__errno_location() #12
  store i32 %13439, ptr %13440, align 4, !tbaa !5
  %13441 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13442 = load i32, ptr @test_count, align 4, !tbaa !5
  %13443 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13444 = load i32, ptr %13443, align 4, !tbaa !5
  %13445 = call ptr @s2n_strerror(i32 noundef %13444, ptr noundef @.str.4)
  %13446 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13447 = load i32, ptr %13446, align 4, !tbaa !5
  %13448 = call ptr @s2n_strerror_debug(i32 noundef %13447, ptr noundef @.str.4)
  %13449 = call ptr @__errno_location() #12
  %13450 = load i32, ptr %13449, align 4, !tbaa !5
  %13451 = call ptr @strerror(i32 noundef %13450) #11
  %13452 = call ptr @__errno_location() #12
  %13453 = load i32, ptr %13452, align 4, !tbaa !5
  %13454 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13441, ptr noundef @.str.2, i32 noundef %13442, ptr noundef @.str.102, ptr noundef @.str.1, i32 noundef 460, ptr noundef %13445, ptr noundef %13448, ptr noundef %13451, i32 noundef %13453) #11
  br label %13472

13455:                                            ; preds = %13433, %13426
  %13456 = load i32, ptr %296, align 4, !tbaa !5
  %13457 = call ptr @__errno_location() #12
  store i32 %13456, ptr %13457, align 4, !tbaa !5
  %13458 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13459 = load i32, ptr @test_count, align 4, !tbaa !5
  %13460 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13461 = load i32, ptr %13460, align 4, !tbaa !5
  %13462 = call ptr @s2n_strerror(i32 noundef %13461, ptr noundef @.str.4)
  %13463 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13464 = load i32, ptr %13463, align 4, !tbaa !5
  %13465 = call ptr @s2n_strerror_debug(i32 noundef %13464, ptr noundef @.str.4)
  %13466 = call ptr @__errno_location() #12
  %13467 = load i32, ptr %13466, align 4, !tbaa !5
  %13468 = call ptr @strerror(i32 noundef %13467) #11
  %13469 = call ptr @__errno_location() #12
  %13470 = load i32, ptr %13469, align 4, !tbaa !5
  %13471 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13458, ptr noundef @.str.5, i32 noundef %13459, ptr noundef @.str.102, ptr noundef @.str.1, i32 noundef 460, ptr noundef %13462, ptr noundef %13465, ptr noundef %13468, i32 noundef %13470) #11
  br label %13472

13472:                                            ; preds = %13455, %13438
  call void @llvm.lifetime.end.p0(i64 4, ptr %296) #11
  br label %13473

13473:                                            ; preds = %13472
  br label %13474

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

13475:                                            ; No predecessors!
  br label %13476

13476:                                            ; preds = %13475
  br label %13477

13477:                                            ; preds = %13476, %13417
  br label %13478

13478:                                            ; preds = %13477
  br label %13479

13479:                                            ; preds = %13478
  call void @llvm.lifetime.start.p0(i64 8, ptr %297) #11
  %13480 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %13480, ptr %297, align 8, !tbaa !9
  br label %13481

13481:                                            ; preds = %13479
  %13482 = load i32, ptr @test_count, align 4, !tbaa !5
  %13483 = add nsw i32 %13482, 1
  store i32 %13483, ptr @test_count, align 4, !tbaa !5
  %13484 = load ptr, ptr %297, align 8, !tbaa !9
  %13485 = icmp eq ptr %13484, null
  br i1 %13485, label %13486, label %13539

13486:                                            ; preds = %13481
  br label %13487

13487:                                            ; preds = %13486
  br label %13488

13488:                                            ; preds = %13487
  call void @llvm.lifetime.start.p0(i64 4, ptr %298) #11
  %13489 = call ptr @__errno_location() #12
  %13490 = load i32, ptr %13489, align 4, !tbaa !5
  store i32 %13490, ptr %298, align 4, !tbaa !5
  %13491 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13492 = call i32 @s2n_print_stacktrace(ptr noundef %13491)
  %13493 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13494 = trunc i8 %13493 to i1
  br i1 %13494, label %13495, label %13517

13495:                                            ; preds = %13488
  %13496 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13497 = call i32 @fileno(ptr noundef %13496) #11
  %13498 = call i32 @isatty(i32 noundef %13497) #11
  %13499 = icmp ne i32 %13498, 0
  br i1 %13499, label %13500, label %13517

13500:                                            ; preds = %13495
  %13501 = load i32, ptr %298, align 4, !tbaa !5
  %13502 = call ptr @__errno_location() #12
  store i32 %13501, ptr %13502, align 4, !tbaa !5
  %13503 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13504 = load i32, ptr @test_count, align 4, !tbaa !5
  %13505 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13506 = load i32, ptr %13505, align 4, !tbaa !5
  %13507 = call ptr @s2n_strerror(i32 noundef %13506, ptr noundef @.str.4)
  %13508 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13509 = load i32, ptr %13508, align 4, !tbaa !5
  %13510 = call ptr @s2n_strerror_debug(i32 noundef %13509, ptr noundef @.str.4)
  %13511 = call ptr @__errno_location() #12
  %13512 = load i32, ptr %13511, align 4, !tbaa !5
  %13513 = call ptr @strerror(i32 noundef %13512) #11
  %13514 = call ptr @__errno_location() #12
  %13515 = load i32, ptr %13514, align 4, !tbaa !5
  %13516 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13503, ptr noundef @.str.2, i32 noundef %13504, ptr noundef @.str.103, ptr noundef @.str.1, i32 noundef 463, ptr noundef %13507, ptr noundef %13510, ptr noundef %13513, i32 noundef %13515) #11
  br label %13534

13517:                                            ; preds = %13495, %13488
  %13518 = load i32, ptr %298, align 4, !tbaa !5
  %13519 = call ptr @__errno_location() #12
  store i32 %13518, ptr %13519, align 4, !tbaa !5
  %13520 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13521 = load i32, ptr @test_count, align 4, !tbaa !5
  %13522 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13523 = load i32, ptr %13522, align 4, !tbaa !5
  %13524 = call ptr @s2n_strerror(i32 noundef %13523, ptr noundef @.str.4)
  %13525 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13526 = load i32, ptr %13525, align 4, !tbaa !5
  %13527 = call ptr @s2n_strerror_debug(i32 noundef %13526, ptr noundef @.str.4)
  %13528 = call ptr @__errno_location() #12
  %13529 = load i32, ptr %13528, align 4, !tbaa !5
  %13530 = call ptr @strerror(i32 noundef %13529) #11
  %13531 = call ptr @__errno_location() #12
  %13532 = load i32, ptr %13531, align 4, !tbaa !5
  %13533 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13520, ptr noundef @.str.5, i32 noundef %13521, ptr noundef @.str.103, ptr noundef @.str.1, i32 noundef 463, ptr noundef %13524, ptr noundef %13527, ptr noundef %13530, i32 noundef %13532) #11
  br label %13534

13534:                                            ; preds = %13517, %13500
  call void @llvm.lifetime.end.p0(i64 4, ptr %298) #11
  br label %13535

13535:                                            ; preds = %13534
  br label %13536

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

13537:                                            ; No predecessors!
  br label %13538

13538:                                            ; preds = %13537
  br label %13539

13539:                                            ; preds = %13538, %13481
  br label %13540

13540:                                            ; preds = %13539
  br label %13541

13541:                                            ; preds = %13540
  br label %13542

13542:                                            ; preds = %13541
  %13543 = load i32, ptr @test_count, align 4, !tbaa !5
  %13544 = add nsw i32 %13543, 1
  store i32 %13544, ptr @test_count, align 4, !tbaa !5
  %13545 = load ptr, ptr %297, align 8, !tbaa !9
  %13546 = load ptr, ptr %15, align 8, !tbaa !9
  %13547 = call i32 @s2n_connection_set_config(ptr noundef %13545, ptr noundef %13546)
  %13548 = icmp eq i32 %13547, -1
  br i1 %13548, label %13549, label %13602

13549:                                            ; preds = %13542
  br label %13550

13550:                                            ; preds = %13549
  br label %13551

13551:                                            ; preds = %13550
  call void @llvm.lifetime.start.p0(i64 4, ptr %299) #11
  %13552 = call ptr @__errno_location() #12
  %13553 = load i32, ptr %13552, align 4, !tbaa !5
  store i32 %13553, ptr %299, align 4, !tbaa !5
  %13554 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13555 = call i32 @s2n_print_stacktrace(ptr noundef %13554)
  %13556 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13557 = trunc i8 %13556 to i1
  br i1 %13557, label %13558, label %13580

13558:                                            ; preds = %13551
  %13559 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13560 = call i32 @fileno(ptr noundef %13559) #11
  %13561 = call i32 @isatty(i32 noundef %13560) #11
  %13562 = icmp ne i32 %13561, 0
  br i1 %13562, label %13563, label %13580

13563:                                            ; preds = %13558
  %13564 = load i32, ptr %299, align 4, !tbaa !5
  %13565 = call ptr @__errno_location() #12
  store i32 %13564, ptr %13565, align 4, !tbaa !5
  %13566 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13567 = load i32, ptr @test_count, align 4, !tbaa !5
  %13568 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13569 = load i32, ptr %13568, align 4, !tbaa !5
  %13570 = call ptr @s2n_strerror(i32 noundef %13569, ptr noundef @.str.4)
  %13571 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13572 = load i32, ptr %13571, align 4, !tbaa !5
  %13573 = call ptr @s2n_strerror_debug(i32 noundef %13572, ptr noundef @.str.4)
  %13574 = call ptr @__errno_location() #12
  %13575 = load i32, ptr %13574, align 4, !tbaa !5
  %13576 = call ptr @strerror(i32 noundef %13575) #11
  %13577 = call ptr @__errno_location() #12
  %13578 = load i32, ptr %13577, align 4, !tbaa !5
  %13579 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13566, ptr noundef @.str.2, i32 noundef %13567, ptr noundef @.str.104, ptr noundef @.str.1, i32 noundef 464, ptr noundef %13570, ptr noundef %13573, ptr noundef %13576, i32 noundef %13578) #11
  br label %13597

13580:                                            ; preds = %13558, %13551
  %13581 = load i32, ptr %299, align 4, !tbaa !5
  %13582 = call ptr @__errno_location() #12
  store i32 %13581, ptr %13582, align 4, !tbaa !5
  %13583 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13584 = load i32, ptr @test_count, align 4, !tbaa !5
  %13585 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13586 = load i32, ptr %13585, align 4, !tbaa !5
  %13587 = call ptr @s2n_strerror(i32 noundef %13586, ptr noundef @.str.4)
  %13588 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13589 = load i32, ptr %13588, align 4, !tbaa !5
  %13590 = call ptr @s2n_strerror_debug(i32 noundef %13589, ptr noundef @.str.4)
  %13591 = call ptr @__errno_location() #12
  %13592 = load i32, ptr %13591, align 4, !tbaa !5
  %13593 = call ptr @strerror(i32 noundef %13592) #11
  %13594 = call ptr @__errno_location() #12
  %13595 = load i32, ptr %13594, align 4, !tbaa !5
  %13596 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13583, ptr noundef @.str.5, i32 noundef %13584, ptr noundef @.str.104, ptr noundef @.str.1, i32 noundef 464, ptr noundef %13587, ptr noundef %13590, ptr noundef %13593, i32 noundef %13595) #11
  br label %13597

13597:                                            ; preds = %13580, %13563
  call void @llvm.lifetime.end.p0(i64 4, ptr %299) #11
  br label %13598

13598:                                            ; preds = %13597
  br label %13599

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

13600:                                            ; No predecessors!
  br label %13601

13601:                                            ; preds = %13600
  br label %13602

13602:                                            ; preds = %13601, %13542
  br label %13603

13603:                                            ; preds = %13602
  br label %13604

13604:                                            ; preds = %13603
  br label %13605

13605:                                            ; preds = %13604
  %13606 = load i32, ptr @test_count, align 4, !tbaa !5
  %13607 = add nsw i32 %13606, 1
  store i32 %13607, ptr @test_count, align 4, !tbaa !5
  %13608 = load ptr, ptr %297, align 8, !tbaa !9
  %13609 = call i32 @s2n_connection_set_recv_buffering(ptr noundef %13608, i1 noundef zeroext true)
  %13610 = icmp eq i32 %13609, -1
  br i1 %13610, label %13611, label %13664

13611:                                            ; preds = %13605
  br label %13612

13612:                                            ; preds = %13611
  br label %13613

13613:                                            ; preds = %13612
  call void @llvm.lifetime.start.p0(i64 4, ptr %300) #11
  %13614 = call ptr @__errno_location() #12
  %13615 = load i32, ptr %13614, align 4, !tbaa !5
  store i32 %13615, ptr %300, align 4, !tbaa !5
  %13616 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13617 = call i32 @s2n_print_stacktrace(ptr noundef %13616)
  %13618 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13619 = trunc i8 %13618 to i1
  br i1 %13619, label %13620, label %13642

13620:                                            ; preds = %13613
  %13621 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13622 = call i32 @fileno(ptr noundef %13621) #11
  %13623 = call i32 @isatty(i32 noundef %13622) #11
  %13624 = icmp ne i32 %13623, 0
  br i1 %13624, label %13625, label %13642

13625:                                            ; preds = %13620
  %13626 = load i32, ptr %300, align 4, !tbaa !5
  %13627 = call ptr @__errno_location() #12
  store i32 %13626, ptr %13627, align 4, !tbaa !5
  %13628 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13629 = load i32, ptr @test_count, align 4, !tbaa !5
  %13630 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13631 = load i32, ptr %13630, align 4, !tbaa !5
  %13632 = call ptr @s2n_strerror(i32 noundef %13631, ptr noundef @.str.4)
  %13633 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13634 = load i32, ptr %13633, align 4, !tbaa !5
  %13635 = call ptr @s2n_strerror_debug(i32 noundef %13634, ptr noundef @.str.4)
  %13636 = call ptr @__errno_location() #12
  %13637 = load i32, ptr %13636, align 4, !tbaa !5
  %13638 = call ptr @strerror(i32 noundef %13637) #11
  %13639 = call ptr @__errno_location() #12
  %13640 = load i32, ptr %13639, align 4, !tbaa !5
  %13641 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13628, ptr noundef @.str.2, i32 noundef %13629, ptr noundef @.str.105, ptr noundef @.str.1, i32 noundef 465, ptr noundef %13632, ptr noundef %13635, ptr noundef %13638, i32 noundef %13640) #11
  br label %13659

13642:                                            ; preds = %13620, %13613
  %13643 = load i32, ptr %300, align 4, !tbaa !5
  %13644 = call ptr @__errno_location() #12
  store i32 %13643, ptr %13644, align 4, !tbaa !5
  %13645 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13646 = load i32, ptr @test_count, align 4, !tbaa !5
  %13647 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13648 = load i32, ptr %13647, align 4, !tbaa !5
  %13649 = call ptr @s2n_strerror(i32 noundef %13648, ptr noundef @.str.4)
  %13650 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13651 = load i32, ptr %13650, align 4, !tbaa !5
  %13652 = call ptr @s2n_strerror_debug(i32 noundef %13651, ptr noundef @.str.4)
  %13653 = call ptr @__errno_location() #12
  %13654 = load i32, ptr %13653, align 4, !tbaa !5
  %13655 = call ptr @strerror(i32 noundef %13654) #11
  %13656 = call ptr @__errno_location() #12
  %13657 = load i32, ptr %13656, align 4, !tbaa !5
  %13658 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13645, ptr noundef @.str.5, i32 noundef %13646, ptr noundef @.str.105, ptr noundef @.str.1, i32 noundef 465, ptr noundef %13649, ptr noundef %13652, ptr noundef %13655, i32 noundef %13657) #11
  br label %13659

13659:                                            ; preds = %13642, %13625
  call void @llvm.lifetime.end.p0(i64 4, ptr %300) #11
  br label %13660

13660:                                            ; preds = %13659
  br label %13661

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

13662:                                            ; No predecessors!
  br label %13663

13663:                                            ; preds = %13662
  br label %13664

13664:                                            ; preds = %13663, %13605
  br label %13665

13665:                                            ; preds = %13664
  br label %13666

13666:                                            ; preds = %13665
  call void @llvm.lifetime.start.p0(i64 80, ptr %301) #11
  call void @llvm.memset.p0.i64(ptr align 8 %301, i8 0, i64 80, i1 false)
  br label %13667

13667:                                            ; preds = %13666
  %13668 = load i32, ptr @test_count, align 4, !tbaa !5
  %13669 = add nsw i32 %13668, 1
  store i32 %13669, ptr @test_count, align 4, !tbaa !5
  %13670 = call i32 @s2n_io_stuffer_pair_init(ptr noundef %301)
  %13671 = getelementptr inbounds %struct.s2n_result, ptr %302, i32 0, i32 0
  store i32 %13670, ptr %13671, align 4
  %13672 = getelementptr inbounds %struct.s2n_result, ptr %302, i32 0, i32 0
  %13673 = load i32, ptr %13672, align 4
  %13674 = call zeroext i1 @s2n_result_is_ok(i32 %13673)
  br i1 %13674, label %13728, label %13675

13675:                                            ; preds = %13667
  br label %13676

13676:                                            ; preds = %13675
  br label %13677

13677:                                            ; preds = %13676
  call void @llvm.lifetime.start.p0(i64 4, ptr %303) #11
  %13678 = call ptr @__errno_location() #12
  %13679 = load i32, ptr %13678, align 4, !tbaa !5
  store i32 %13679, ptr %303, align 4, !tbaa !5
  %13680 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13681 = call i32 @s2n_print_stacktrace(ptr noundef %13680)
  %13682 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13683 = trunc i8 %13682 to i1
  br i1 %13683, label %13684, label %13706

13684:                                            ; preds = %13677
  %13685 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13686 = call i32 @fileno(ptr noundef %13685) #11
  %13687 = call i32 @isatty(i32 noundef %13686) #11
  %13688 = icmp ne i32 %13687, 0
  br i1 %13688, label %13689, label %13706

13689:                                            ; preds = %13684
  %13690 = load i32, ptr %303, align 4, !tbaa !5
  %13691 = call ptr @__errno_location() #12
  store i32 %13690, ptr %13691, align 4, !tbaa !5
  %13692 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13693 = load i32, ptr @test_count, align 4, !tbaa !5
  %13694 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13695 = load i32, ptr %13694, align 4, !tbaa !5
  %13696 = call ptr @s2n_strerror(i32 noundef %13695, ptr noundef @.str.4)
  %13697 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13698 = load i32, ptr %13697, align 4, !tbaa !5
  %13699 = call ptr @s2n_strerror_debug(i32 noundef %13698, ptr noundef @.str.4)
  %13700 = call ptr @__errno_location() #12
  %13701 = load i32, ptr %13700, align 4, !tbaa !5
  %13702 = call ptr @strerror(i32 noundef %13701) #11
  %13703 = call ptr @__errno_location() #12
  %13704 = load i32, ptr %13703, align 4, !tbaa !5
  %13705 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13692, ptr noundef @.str.2, i32 noundef %13693, ptr noundef @.str.106, ptr noundef @.str.1, i32 noundef 468, ptr noundef %13696, ptr noundef %13699, ptr noundef %13702, i32 noundef %13704) #11
  br label %13723

13706:                                            ; preds = %13684, %13677
  %13707 = load i32, ptr %303, align 4, !tbaa !5
  %13708 = call ptr @__errno_location() #12
  store i32 %13707, ptr %13708, align 4, !tbaa !5
  %13709 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13710 = load i32, ptr @test_count, align 4, !tbaa !5
  %13711 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13712 = load i32, ptr %13711, align 4, !tbaa !5
  %13713 = call ptr @s2n_strerror(i32 noundef %13712, ptr noundef @.str.4)
  %13714 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13715 = load i32, ptr %13714, align 4, !tbaa !5
  %13716 = call ptr @s2n_strerror_debug(i32 noundef %13715, ptr noundef @.str.4)
  %13717 = call ptr @__errno_location() #12
  %13718 = load i32, ptr %13717, align 4, !tbaa !5
  %13719 = call ptr @strerror(i32 noundef %13718) #11
  %13720 = call ptr @__errno_location() #12
  %13721 = load i32, ptr %13720, align 4, !tbaa !5
  %13722 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13709, ptr noundef @.str.5, i32 noundef %13710, ptr noundef @.str.106, ptr noundef @.str.1, i32 noundef 468, ptr noundef %13713, ptr noundef %13716, ptr noundef %13719, i32 noundef %13721) #11
  br label %13723

13723:                                            ; preds = %13706, %13689
  call void @llvm.lifetime.end.p0(i64 4, ptr %303) #11
  br label %13724

13724:                                            ; preds = %13723
  br label %13725

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

13726:                                            ; No predecessors!
  br label %13727

13727:                                            ; preds = %13726
  br label %13728

13728:                                            ; preds = %13727, %13667
  br label %13729

13729:                                            ; preds = %13728
  br label %13730

13730:                                            ; preds = %13729
  br label %13731

13731:                                            ; preds = %13730
  %13732 = load i32, ptr @test_count, align 4, !tbaa !5
  %13733 = add nsw i32 %13732, 1
  store i32 %13733, ptr @test_count, align 4, !tbaa !5
  %13734 = load ptr, ptr %297, align 8, !tbaa !9
  %13735 = load ptr, ptr %294, align 8, !tbaa !9
  %13736 = call i32 @s2n_connections_set_io_stuffer_pair(ptr noundef %13734, ptr noundef %13735, ptr noundef %301)
  %13737 = getelementptr inbounds %struct.s2n_result, ptr %304, i32 0, i32 0
  store i32 %13736, ptr %13737, align 4
  %13738 = getelementptr inbounds %struct.s2n_result, ptr %304, i32 0, i32 0
  %13739 = load i32, ptr %13738, align 4
  %13740 = call zeroext i1 @s2n_result_is_ok(i32 %13739)
  br i1 %13740, label %13794, label %13741

13741:                                            ; preds = %13731
  br label %13742

13742:                                            ; preds = %13741
  br label %13743

13743:                                            ; preds = %13742
  call void @llvm.lifetime.start.p0(i64 4, ptr %305) #11
  %13744 = call ptr @__errno_location() #12
  %13745 = load i32, ptr %13744, align 4, !tbaa !5
  store i32 %13745, ptr %305, align 4, !tbaa !5
  %13746 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13747 = call i32 @s2n_print_stacktrace(ptr noundef %13746)
  %13748 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13749 = trunc i8 %13748 to i1
  br i1 %13749, label %13750, label %13772

13750:                                            ; preds = %13743
  %13751 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13752 = call i32 @fileno(ptr noundef %13751) #11
  %13753 = call i32 @isatty(i32 noundef %13752) #11
  %13754 = icmp ne i32 %13753, 0
  br i1 %13754, label %13755, label %13772

13755:                                            ; preds = %13750
  %13756 = load i32, ptr %305, align 4, !tbaa !5
  %13757 = call ptr @__errno_location() #12
  store i32 %13756, ptr %13757, align 4, !tbaa !5
  %13758 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13759 = load i32, ptr @test_count, align 4, !tbaa !5
  %13760 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13761 = load i32, ptr %13760, align 4, !tbaa !5
  %13762 = call ptr @s2n_strerror(i32 noundef %13761, ptr noundef @.str.4)
  %13763 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13764 = load i32, ptr %13763, align 4, !tbaa !5
  %13765 = call ptr @s2n_strerror_debug(i32 noundef %13764, ptr noundef @.str.4)
  %13766 = call ptr @__errno_location() #12
  %13767 = load i32, ptr %13766, align 4, !tbaa !5
  %13768 = call ptr @strerror(i32 noundef %13767) #11
  %13769 = call ptr @__errno_location() #12
  %13770 = load i32, ptr %13769, align 4, !tbaa !5
  %13771 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13758, ptr noundef @.str.2, i32 noundef %13759, ptr noundef @.str.107, ptr noundef @.str.1, i32 noundef 469, ptr noundef %13762, ptr noundef %13765, ptr noundef %13768, i32 noundef %13770) #11
  br label %13789

13772:                                            ; preds = %13750, %13743
  %13773 = load i32, ptr %305, align 4, !tbaa !5
  %13774 = call ptr @__errno_location() #12
  store i32 %13773, ptr %13774, align 4, !tbaa !5
  %13775 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13776 = load i32, ptr @test_count, align 4, !tbaa !5
  %13777 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13778 = load i32, ptr %13777, align 4, !tbaa !5
  %13779 = call ptr @s2n_strerror(i32 noundef %13778, ptr noundef @.str.4)
  %13780 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13781 = load i32, ptr %13780, align 4, !tbaa !5
  %13782 = call ptr @s2n_strerror_debug(i32 noundef %13781, ptr noundef @.str.4)
  %13783 = call ptr @__errno_location() #12
  %13784 = load i32, ptr %13783, align 4, !tbaa !5
  %13785 = call ptr @strerror(i32 noundef %13784) #11
  %13786 = call ptr @__errno_location() #12
  %13787 = load i32, ptr %13786, align 4, !tbaa !5
  %13788 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13775, ptr noundef @.str.5, i32 noundef %13776, ptr noundef @.str.107, ptr noundef @.str.1, i32 noundef 469, ptr noundef %13779, ptr noundef %13782, ptr noundef %13785, i32 noundef %13787) #11
  br label %13789

13789:                                            ; preds = %13772, %13755
  call void @llvm.lifetime.end.p0(i64 4, ptr %305) #11
  br label %13790

13790:                                            ; preds = %13789
  br label %13791

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

13792:                                            ; No predecessors!
  br label %13793

13793:                                            ; preds = %13792
  br label %13794

13794:                                            ; preds = %13793, %13731
  br label %13795

13795:                                            ; preds = %13794
  br label %13796

13796:                                            ; preds = %13795
  br label %13797

13797:                                            ; preds = %13796
  %13798 = load i32, ptr @test_count, align 4, !tbaa !5
  %13799 = add nsw i32 %13798, 1
  store i32 %13799, ptr @test_count, align 4, !tbaa !5
  %13800 = load ptr, ptr %294, align 8, !tbaa !9
  %13801 = load ptr, ptr %297, align 8, !tbaa !9
  %13802 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef %13800, ptr noundef %13801)
  %13803 = icmp eq i32 %13802, -1
  br i1 %13803, label %13804, label %13857

13804:                                            ; preds = %13797
  br label %13805

13805:                                            ; preds = %13804
  br label %13806

13806:                                            ; preds = %13805
  call void @llvm.lifetime.start.p0(i64 4, ptr %306) #11
  %13807 = call ptr @__errno_location() #12
  %13808 = load i32, ptr %13807, align 4, !tbaa !5
  store i32 %13808, ptr %306, align 4, !tbaa !5
  %13809 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13810 = call i32 @s2n_print_stacktrace(ptr noundef %13809)
  %13811 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13812 = trunc i8 %13811 to i1
  br i1 %13812, label %13813, label %13835

13813:                                            ; preds = %13806
  %13814 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13815 = call i32 @fileno(ptr noundef %13814) #11
  %13816 = call i32 @isatty(i32 noundef %13815) #11
  %13817 = icmp ne i32 %13816, 0
  br i1 %13817, label %13818, label %13835

13818:                                            ; preds = %13813
  %13819 = load i32, ptr %306, align 4, !tbaa !5
  %13820 = call ptr @__errno_location() #12
  store i32 %13819, ptr %13820, align 4, !tbaa !5
  %13821 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13822 = load i32, ptr @test_count, align 4, !tbaa !5
  %13823 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13824 = load i32, ptr %13823, align 4, !tbaa !5
  %13825 = call ptr @s2n_strerror(i32 noundef %13824, ptr noundef @.str.4)
  %13826 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13827 = load i32, ptr %13826, align 4, !tbaa !5
  %13828 = call ptr @s2n_strerror_debug(i32 noundef %13827, ptr noundef @.str.4)
  %13829 = call ptr @__errno_location() #12
  %13830 = load i32, ptr %13829, align 4, !tbaa !5
  %13831 = call ptr @strerror(i32 noundef %13830) #11
  %13832 = call ptr @__errno_location() #12
  %13833 = load i32, ptr %13832, align 4, !tbaa !5
  %13834 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13821, ptr noundef @.str.2, i32 noundef %13822, ptr noundef @.str.108, ptr noundef @.str.1, i32 noundef 471, ptr noundef %13825, ptr noundef %13828, ptr noundef %13831, i32 noundef %13833) #11
  br label %13852

13835:                                            ; preds = %13813, %13806
  %13836 = load i32, ptr %306, align 4, !tbaa !5
  %13837 = call ptr @__errno_location() #12
  store i32 %13836, ptr %13837, align 4, !tbaa !5
  %13838 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13839 = load i32, ptr @test_count, align 4, !tbaa !5
  %13840 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13841 = load i32, ptr %13840, align 4, !tbaa !5
  %13842 = call ptr @s2n_strerror(i32 noundef %13841, ptr noundef @.str.4)
  %13843 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13844 = load i32, ptr %13843, align 4, !tbaa !5
  %13845 = call ptr @s2n_strerror_debug(i32 noundef %13844, ptr noundef @.str.4)
  %13846 = call ptr @__errno_location() #12
  %13847 = load i32, ptr %13846, align 4, !tbaa !5
  %13848 = call ptr @strerror(i32 noundef %13847) #11
  %13849 = call ptr @__errno_location() #12
  %13850 = load i32, ptr %13849, align 4, !tbaa !5
  %13851 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13838, ptr noundef @.str.5, i32 noundef %13839, ptr noundef @.str.108, ptr noundef @.str.1, i32 noundef 471, ptr noundef %13842, ptr noundef %13845, ptr noundef %13848, i32 noundef %13850) #11
  br label %13852

13852:                                            ; preds = %13835, %13818
  call void @llvm.lifetime.end.p0(i64 4, ptr %306) #11
  br label %13853

13853:                                            ; preds = %13852
  br label %13854

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

13855:                                            ; No predecessors!
  br label %13856

13856:                                            ; preds = %13855
  br label %13857

13857:                                            ; preds = %13856, %13797
  br label %13858

13858:                                            ; preds = %13857
  br label %13859

13859:                                            ; preds = %13858
  call void @llvm.lifetime.start.p0(i64 20, ptr %307) #11
  call void @llvm.memset.p0.i64(ptr align 16 %307, i8 0, i64 20, i1 false)
  br label %13860

13860:                                            ; preds = %13859
  %13861 = load i32, ptr @test_count, align 4, !tbaa !5
  %13862 = add nsw i32 %13861, 1
  store i32 %13862, ptr @test_count, align 4, !tbaa !5
  %13863 = load ptr, ptr %294, align 8, !tbaa !9
  %13864 = getelementptr inbounds [20 x i8], ptr %20, i64 0, i64 0
  %13865 = call i64 @s2n_send(ptr noundef %13863, ptr noundef %13864, i64 noundef 20, ptr noundef %22)
  %13866 = icmp eq i64 %13865, 20
  br i1 %13866, label %13920, label %13867

13867:                                            ; preds = %13860
  br label %13868

13868:                                            ; preds = %13867
  br label %13869

13869:                                            ; preds = %13868
  call void @llvm.lifetime.start.p0(i64 4, ptr %308) #11
  %13870 = call ptr @__errno_location() #12
  %13871 = load i32, ptr %13870, align 4, !tbaa !5
  store i32 %13871, ptr %308, align 4, !tbaa !5
  %13872 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13873 = call i32 @s2n_print_stacktrace(ptr noundef %13872)
  %13874 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13875 = trunc i8 %13874 to i1
  br i1 %13875, label %13876, label %13898

13876:                                            ; preds = %13869
  %13877 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13878 = call i32 @fileno(ptr noundef %13877) #11
  %13879 = call i32 @isatty(i32 noundef %13878) #11
  %13880 = icmp ne i32 %13879, 0
  br i1 %13880, label %13881, label %13898

13881:                                            ; preds = %13876
  %13882 = load i32, ptr %308, align 4, !tbaa !5
  %13883 = call ptr @__errno_location() #12
  store i32 %13882, ptr %13883, align 4, !tbaa !5
  %13884 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13885 = load i32, ptr @test_count, align 4, !tbaa !5
  %13886 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13887 = load i32, ptr %13886, align 4, !tbaa !5
  %13888 = call ptr @s2n_strerror(i32 noundef %13887, ptr noundef @.str.4)
  %13889 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13890 = load i32, ptr %13889, align 4, !tbaa !5
  %13891 = call ptr @s2n_strerror_debug(i32 noundef %13890, ptr noundef @.str.4)
  %13892 = call ptr @__errno_location() #12
  %13893 = load i32, ptr %13892, align 4, !tbaa !5
  %13894 = call ptr @strerror(i32 noundef %13893) #11
  %13895 = call ptr @__errno_location() #12
  %13896 = load i32, ptr %13895, align 4, !tbaa !5
  %13897 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13884, ptr noundef @.str.2, i32 noundef %13885, ptr noundef @.str.109, ptr noundef @.str.1, i32 noundef 478, ptr noundef %13888, ptr noundef %13891, ptr noundef %13894, i32 noundef %13896) #11
  br label %13915

13898:                                            ; preds = %13876, %13869
  %13899 = load i32, ptr %308, align 4, !tbaa !5
  %13900 = call ptr @__errno_location() #12
  store i32 %13899, ptr %13900, align 4, !tbaa !5
  %13901 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13902 = load i32, ptr @test_count, align 4, !tbaa !5
  %13903 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13904 = load i32, ptr %13903, align 4, !tbaa !5
  %13905 = call ptr @s2n_strerror(i32 noundef %13904, ptr noundef @.str.4)
  %13906 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13907 = load i32, ptr %13906, align 4, !tbaa !5
  %13908 = call ptr @s2n_strerror_debug(i32 noundef %13907, ptr noundef @.str.4)
  %13909 = call ptr @__errno_location() #12
  %13910 = load i32, ptr %13909, align 4, !tbaa !5
  %13911 = call ptr @strerror(i32 noundef %13910) #11
  %13912 = call ptr @__errno_location() #12
  %13913 = load i32, ptr %13912, align 4, !tbaa !5
  %13914 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13901, ptr noundef @.str.5, i32 noundef %13902, ptr noundef @.str.109, ptr noundef @.str.1, i32 noundef 478, ptr noundef %13905, ptr noundef %13908, ptr noundef %13911, i32 noundef %13913) #11
  br label %13915

13915:                                            ; preds = %13898, %13881
  call void @llvm.lifetime.end.p0(i64 4, ptr %308) #11
  br label %13916

13916:                                            ; preds = %13915
  br label %13917

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

13918:                                            ; No predecessors!
  br label %13919

13919:                                            ; preds = %13918
  br label %13920

13920:                                            ; preds = %13919, %13860
  br label %13921

13921:                                            ; preds = %13920
  br label %13922

13922:                                            ; preds = %13921
  br label %13923

13923:                                            ; preds = %13922
  %13924 = load i32, ptr @test_count, align 4, !tbaa !5
  %13925 = add nsw i32 %13924, 1
  store i32 %13925, ptr @test_count, align 4, !tbaa !5
  %13926 = load ptr, ptr %294, align 8, !tbaa !9
  %13927 = getelementptr inbounds [20 x i8], ptr %20, i64 0, i64 0
  %13928 = call i64 @s2n_send(ptr noundef %13926, ptr noundef %13927, i64 noundef 20, ptr noundef %22)
  %13929 = icmp eq i64 %13928, 20
  br i1 %13929, label %13983, label %13930

13930:                                            ; preds = %13923
  br label %13931

13931:                                            ; preds = %13930
  br label %13932

13932:                                            ; preds = %13931
  call void @llvm.lifetime.start.p0(i64 4, ptr %309) #11
  %13933 = call ptr @__errno_location() #12
  %13934 = load i32, ptr %13933, align 4, !tbaa !5
  store i32 %13934, ptr %309, align 4, !tbaa !5
  %13935 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13936 = call i32 @s2n_print_stacktrace(ptr noundef %13935)
  %13937 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13938 = trunc i8 %13937 to i1
  br i1 %13938, label %13939, label %13961

13939:                                            ; preds = %13932
  %13940 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13941 = call i32 @fileno(ptr noundef %13940) #11
  %13942 = call i32 @isatty(i32 noundef %13941) #11
  %13943 = icmp ne i32 %13942, 0
  br i1 %13943, label %13944, label %13961

13944:                                            ; preds = %13939
  %13945 = load i32, ptr %309, align 4, !tbaa !5
  %13946 = call ptr @__errno_location() #12
  store i32 %13945, ptr %13946, align 4, !tbaa !5
  %13947 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13948 = load i32, ptr @test_count, align 4, !tbaa !5
  %13949 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13950 = load i32, ptr %13949, align 4, !tbaa !5
  %13951 = call ptr @s2n_strerror(i32 noundef %13950, ptr noundef @.str.4)
  %13952 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13953 = load i32, ptr %13952, align 4, !tbaa !5
  %13954 = call ptr @s2n_strerror_debug(i32 noundef %13953, ptr noundef @.str.4)
  %13955 = call ptr @__errno_location() #12
  %13956 = load i32, ptr %13955, align 4, !tbaa !5
  %13957 = call ptr @strerror(i32 noundef %13956) #11
  %13958 = call ptr @__errno_location() #12
  %13959 = load i32, ptr %13958, align 4, !tbaa !5
  %13960 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13947, ptr noundef @.str.2, i32 noundef %13948, ptr noundef @.str.109, ptr noundef @.str.1, i32 noundef 479, ptr noundef %13951, ptr noundef %13954, ptr noundef %13957, i32 noundef %13959) #11
  br label %13978

13961:                                            ; preds = %13939, %13932
  %13962 = load i32, ptr %309, align 4, !tbaa !5
  %13963 = call ptr @__errno_location() #12
  store i32 %13962, ptr %13963, align 4, !tbaa !5
  %13964 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13965 = load i32, ptr @test_count, align 4, !tbaa !5
  %13966 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13967 = load i32, ptr %13966, align 4, !tbaa !5
  %13968 = call ptr @s2n_strerror(i32 noundef %13967, ptr noundef @.str.4)
  %13969 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13970 = load i32, ptr %13969, align 4, !tbaa !5
  %13971 = call ptr @s2n_strerror_debug(i32 noundef %13970, ptr noundef @.str.4)
  %13972 = call ptr @__errno_location() #12
  %13973 = load i32, ptr %13972, align 4, !tbaa !5
  %13974 = call ptr @strerror(i32 noundef %13973) #11
  %13975 = call ptr @__errno_location() #12
  %13976 = load i32, ptr %13975, align 4, !tbaa !5
  %13977 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13964, ptr noundef @.str.5, i32 noundef %13965, ptr noundef @.str.109, ptr noundef @.str.1, i32 noundef 479, ptr noundef %13968, ptr noundef %13971, ptr noundef %13974, i32 noundef %13976) #11
  br label %13978

13978:                                            ; preds = %13961, %13944
  call void @llvm.lifetime.end.p0(i64 4, ptr %309) #11
  br label %13979

13979:                                            ; preds = %13978
  br label %13980

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

13981:                                            ; No predecessors!
  br label %13982

13982:                                            ; preds = %13981
  br label %13983

13983:                                            ; preds = %13982, %13923
  br label %13984

13984:                                            ; preds = %13983
  br label %13985

13985:                                            ; preds = %13984
  br label %13986

13986:                                            ; preds = %13985
  %13987 = load i32, ptr @test_count, align 4, !tbaa !5
  %13988 = add nsw i32 %13987, 1
  store i32 %13988, ptr @test_count, align 4, !tbaa !5
  %13989 = load ptr, ptr %297, align 8, !tbaa !9
  %13990 = getelementptr inbounds [20 x i8], ptr %307, i64 0, i64 0
  %13991 = call i64 @s2n_recv(ptr noundef %13989, ptr noundef %13990, i64 noundef 20, ptr noundef %22)
  %13992 = icmp eq i64 %13991, 20
  br i1 %13992, label %14046, label %13993

13993:                                            ; preds = %13986
  br label %13994

13994:                                            ; preds = %13993
  br label %13995

13995:                                            ; preds = %13994
  call void @llvm.lifetime.start.p0(i64 4, ptr %310) #11
  %13996 = call ptr @__errno_location() #12
  %13997 = load i32, ptr %13996, align 4, !tbaa !5
  store i32 %13997, ptr %310, align 4, !tbaa !5
  %13998 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13999 = call i32 @s2n_print_stacktrace(ptr noundef %13998)
  %14000 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14001 = trunc i8 %14000 to i1
  br i1 %14001, label %14002, label %14024

14002:                                            ; preds = %13995
  %14003 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14004 = call i32 @fileno(ptr noundef %14003) #11
  %14005 = call i32 @isatty(i32 noundef %14004) #11
  %14006 = icmp ne i32 %14005, 0
  br i1 %14006, label %14007, label %14024

14007:                                            ; preds = %14002
  %14008 = load i32, ptr %310, align 4, !tbaa !5
  %14009 = call ptr @__errno_location() #12
  store i32 %14008, ptr %14009, align 4, !tbaa !5
  %14010 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14011 = load i32, ptr @test_count, align 4, !tbaa !5
  %14012 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14013 = load i32, ptr %14012, align 4, !tbaa !5
  %14014 = call ptr @s2n_strerror(i32 noundef %14013, ptr noundef @.str.4)
  %14015 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14016 = load i32, ptr %14015, align 4, !tbaa !5
  %14017 = call ptr @s2n_strerror_debug(i32 noundef %14016, ptr noundef @.str.4)
  %14018 = call ptr @__errno_location() #12
  %14019 = load i32, ptr %14018, align 4, !tbaa !5
  %14020 = call ptr @strerror(i32 noundef %14019) #11
  %14021 = call ptr @__errno_location() #12
  %14022 = load i32, ptr %14021, align 4, !tbaa !5
  %14023 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14010, ptr noundef @.str.2, i32 noundef %14011, ptr noundef @.str.110, ptr noundef @.str.1, i32 noundef 480, ptr noundef %14014, ptr noundef %14017, ptr noundef %14020, i32 noundef %14022) #11
  br label %14041

14024:                                            ; preds = %14002, %13995
  %14025 = load i32, ptr %310, align 4, !tbaa !5
  %14026 = call ptr @__errno_location() #12
  store i32 %14025, ptr %14026, align 4, !tbaa !5
  %14027 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14028 = load i32, ptr @test_count, align 4, !tbaa !5
  %14029 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14030 = load i32, ptr %14029, align 4, !tbaa !5
  %14031 = call ptr @s2n_strerror(i32 noundef %14030, ptr noundef @.str.4)
  %14032 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14033 = load i32, ptr %14032, align 4, !tbaa !5
  %14034 = call ptr @s2n_strerror_debug(i32 noundef %14033, ptr noundef @.str.4)
  %14035 = call ptr @__errno_location() #12
  %14036 = load i32, ptr %14035, align 4, !tbaa !5
  %14037 = call ptr @strerror(i32 noundef %14036) #11
  %14038 = call ptr @__errno_location() #12
  %14039 = load i32, ptr %14038, align 4, !tbaa !5
  %14040 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14027, ptr noundef @.str.5, i32 noundef %14028, ptr noundef @.str.110, ptr noundef @.str.1, i32 noundef 480, ptr noundef %14031, ptr noundef %14034, ptr noundef %14037, i32 noundef %14039) #11
  br label %14041

14041:                                            ; preds = %14024, %14007
  call void @llvm.lifetime.end.p0(i64 4, ptr %310) #11
  br label %14042

14042:                                            ; preds = %14041
  br label %14043

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

14044:                                            ; No predecessors!
  br label %14045

14045:                                            ; preds = %14044
  br label %14046

14046:                                            ; preds = %14045, %13986
  br label %14047

14047:                                            ; preds = %14046
  br label %14048

14048:                                            ; preds = %14047
  br label %14049

14049:                                            ; preds = %14048
  %14050 = load i32, ptr @test_count, align 4, !tbaa !5
  %14051 = add nsw i32 %14050, 1
  store i32 %14051, ptr @test_count, align 4, !tbaa !5
  %14052 = load ptr, ptr %297, align 8, !tbaa !9
  %14053 = call i32 @s2n_peek(ptr noundef %14052)
  %14054 = icmp eq i32 %14053, 0
  br i1 %14054, label %14108, label %14055

14055:                                            ; preds = %14049
  br label %14056

14056:                                            ; preds = %14055
  br label %14057

14057:                                            ; preds = %14056
  call void @llvm.lifetime.start.p0(i64 4, ptr %311) #11
  %14058 = call ptr @__errno_location() #12
  %14059 = load i32, ptr %14058, align 4, !tbaa !5
  store i32 %14059, ptr %311, align 4, !tbaa !5
  %14060 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14061 = call i32 @s2n_print_stacktrace(ptr noundef %14060)
  %14062 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14063 = trunc i8 %14062 to i1
  br i1 %14063, label %14064, label %14086

14064:                                            ; preds = %14057
  %14065 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14066 = call i32 @fileno(ptr noundef %14065) #11
  %14067 = call i32 @isatty(i32 noundef %14066) #11
  %14068 = icmp ne i32 %14067, 0
  br i1 %14068, label %14069, label %14086

14069:                                            ; preds = %14064
  %14070 = load i32, ptr %311, align 4, !tbaa !5
  %14071 = call ptr @__errno_location() #12
  store i32 %14070, ptr %14071, align 4, !tbaa !5
  %14072 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14073 = load i32, ptr @test_count, align 4, !tbaa !5
  %14074 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14075 = load i32, ptr %14074, align 4, !tbaa !5
  %14076 = call ptr @s2n_strerror(i32 noundef %14075, ptr noundef @.str.4)
  %14077 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14078 = load i32, ptr %14077, align 4, !tbaa !5
  %14079 = call ptr @s2n_strerror_debug(i32 noundef %14078, ptr noundef @.str.4)
  %14080 = call ptr @__errno_location() #12
  %14081 = load i32, ptr %14080, align 4, !tbaa !5
  %14082 = call ptr @strerror(i32 noundef %14081) #11
  %14083 = call ptr @__errno_location() #12
  %14084 = load i32, ptr %14083, align 4, !tbaa !5
  %14085 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14072, ptr noundef @.str.2, i32 noundef %14073, ptr noundef @.str.111, ptr noundef @.str.1, i32 noundef 481, ptr noundef %14076, ptr noundef %14079, ptr noundef %14082, i32 noundef %14084) #11
  br label %14103

14086:                                            ; preds = %14064, %14057
  %14087 = load i32, ptr %311, align 4, !tbaa !5
  %14088 = call ptr @__errno_location() #12
  store i32 %14087, ptr %14088, align 4, !tbaa !5
  %14089 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14090 = load i32, ptr @test_count, align 4, !tbaa !5
  %14091 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14092 = load i32, ptr %14091, align 4, !tbaa !5
  %14093 = call ptr @s2n_strerror(i32 noundef %14092, ptr noundef @.str.4)
  %14094 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14095 = load i32, ptr %14094, align 4, !tbaa !5
  %14096 = call ptr @s2n_strerror_debug(i32 noundef %14095, ptr noundef @.str.4)
  %14097 = call ptr @__errno_location() #12
  %14098 = load i32, ptr %14097, align 4, !tbaa !5
  %14099 = call ptr @strerror(i32 noundef %14098) #11
  %14100 = call ptr @__errno_location() #12
  %14101 = load i32, ptr %14100, align 4, !tbaa !5
  %14102 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14089, ptr noundef @.str.5, i32 noundef %14090, ptr noundef @.str.111, ptr noundef @.str.1, i32 noundef 481, ptr noundef %14093, ptr noundef %14096, ptr noundef %14099, i32 noundef %14101) #11
  br label %14103

14103:                                            ; preds = %14086, %14069
  call void @llvm.lifetime.end.p0(i64 4, ptr %311) #11
  br label %14104

14104:                                            ; preds = %14103
  br label %14105

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

14106:                                            ; No predecessors!
  br label %14107

14107:                                            ; preds = %14106
  br label %14108

14108:                                            ; preds = %14107, %14049
  br label %14109

14109:                                            ; preds = %14108
  br label %14110

14110:                                            ; preds = %14109
  br label %14111

14111:                                            ; preds = %14110
  %14112 = load i32, ptr @test_count, align 4, !tbaa !5
  %14113 = add nsw i32 %14112, 1
  store i32 %14113, ptr @test_count, align 4, !tbaa !5
  %14114 = load ptr, ptr %297, align 8, !tbaa !9
  %14115 = getelementptr inbounds %struct.s2n_connection, ptr %14114, i32 0, i32 39
  %14116 = getelementptr inbounds %struct.s2n_stuffer, ptr %14115, i32 0, i32 2
  %14117 = load i32, ptr %14116, align 4, !tbaa !50
  %14118 = load ptr, ptr %297, align 8, !tbaa !9
  %14119 = getelementptr inbounds %struct.s2n_connection, ptr %14118, i32 0, i32 39
  %14120 = getelementptr inbounds %struct.s2n_stuffer, ptr %14119, i32 0, i32 1
  %14121 = load i32, ptr %14120, align 8, !tbaa !51
  %14122 = sub i32 %14117, %14121
  %14123 = icmp ne i32 %14122, 0
  br i1 %14123, label %14177, label %14124

14124:                                            ; preds = %14111
  br label %14125

14125:                                            ; preds = %14124
  br label %14126

14126:                                            ; preds = %14125
  call void @llvm.lifetime.start.p0(i64 4, ptr %312) #11
  %14127 = call ptr @__errno_location() #12
  %14128 = load i32, ptr %14127, align 4, !tbaa !5
  store i32 %14128, ptr %312, align 4, !tbaa !5
  %14129 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14130 = call i32 @s2n_print_stacktrace(ptr noundef %14129)
  %14131 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14132 = trunc i8 %14131 to i1
  br i1 %14132, label %14133, label %14155

14133:                                            ; preds = %14126
  %14134 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14135 = call i32 @fileno(ptr noundef %14134) #11
  %14136 = call i32 @isatty(i32 noundef %14135) #11
  %14137 = icmp ne i32 %14136, 0
  br i1 %14137, label %14138, label %14155

14138:                                            ; preds = %14133
  %14139 = load i32, ptr %312, align 4, !tbaa !5
  %14140 = call ptr @__errno_location() #12
  store i32 %14139, ptr %14140, align 4, !tbaa !5
  %14141 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14142 = load i32, ptr @test_count, align 4, !tbaa !5
  %14143 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14144 = load i32, ptr %14143, align 4, !tbaa !5
  %14145 = call ptr @s2n_strerror(i32 noundef %14144, ptr noundef @.str.4)
  %14146 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14147 = load i32, ptr %14146, align 4, !tbaa !5
  %14148 = call ptr @s2n_strerror_debug(i32 noundef %14147, ptr noundef @.str.4)
  %14149 = call ptr @__errno_location() #12
  %14150 = load i32, ptr %14149, align 4, !tbaa !5
  %14151 = call ptr @strerror(i32 noundef %14150) #11
  %14152 = call ptr @__errno_location() #12
  %14153 = load i32, ptr %14152, align 4, !tbaa !5
  %14154 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14141, ptr noundef @.str.2, i32 noundef %14142, ptr noundef @.str.112, ptr noundef @.str.1, i32 noundef 482, ptr noundef %14145, ptr noundef %14148, ptr noundef %14151, i32 noundef %14153) #11
  br label %14172

14155:                                            ; preds = %14133, %14126
  %14156 = load i32, ptr %312, align 4, !tbaa !5
  %14157 = call ptr @__errno_location() #12
  store i32 %14156, ptr %14157, align 4, !tbaa !5
  %14158 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14159 = load i32, ptr @test_count, align 4, !tbaa !5
  %14160 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14161 = load i32, ptr %14160, align 4, !tbaa !5
  %14162 = call ptr @s2n_strerror(i32 noundef %14161, ptr noundef @.str.4)
  %14163 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14164 = load i32, ptr %14163, align 4, !tbaa !5
  %14165 = call ptr @s2n_strerror_debug(i32 noundef %14164, ptr noundef @.str.4)
  %14166 = call ptr @__errno_location() #12
  %14167 = load i32, ptr %14166, align 4, !tbaa !5
  %14168 = call ptr @strerror(i32 noundef %14167) #11
  %14169 = call ptr @__errno_location() #12
  %14170 = load i32, ptr %14169, align 4, !tbaa !5
  %14171 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14158, ptr noundef @.str.5, i32 noundef %14159, ptr noundef @.str.112, ptr noundef @.str.1, i32 noundef 482, ptr noundef %14162, ptr noundef %14165, ptr noundef %14168, i32 noundef %14170) #11
  br label %14172

14172:                                            ; preds = %14155, %14138
  call void @llvm.lifetime.end.p0(i64 4, ptr %312) #11
  br label %14173

14173:                                            ; preds = %14172
  br label %14174

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

14175:                                            ; No predecessors!
  br label %14176

14176:                                            ; preds = %14175
  br label %14177

14177:                                            ; preds = %14176, %14111
  br label %14178

14178:                                            ; preds = %14177
  br label %14179

14179:                                            ; preds = %14178
  br label %14180

14180:                                            ; preds = %14179
  %14181 = load i32, ptr @test_count, align 4, !tbaa !5
  %14182 = add nsw i32 %14181, 1
  store i32 %14182, ptr @test_count, align 4, !tbaa !5
  %14183 = load ptr, ptr %297, align 8, !tbaa !9
  %14184 = call i32 @s2n_renegotiate_wipe(ptr noundef %14183)
  %14185 = icmp eq i32 %14184, -1
  br i1 %14185, label %14186, label %14239

14186:                                            ; preds = %14180
  br label %14187

14187:                                            ; preds = %14186
  br label %14188

14188:                                            ; preds = %14187
  call void @llvm.lifetime.start.p0(i64 4, ptr %313) #11
  %14189 = call ptr @__errno_location() #12
  %14190 = load i32, ptr %14189, align 4, !tbaa !5
  store i32 %14190, ptr %313, align 4, !tbaa !5
  %14191 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14192 = call i32 @s2n_print_stacktrace(ptr noundef %14191)
  %14193 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14194 = trunc i8 %14193 to i1
  br i1 %14194, label %14195, label %14217

14195:                                            ; preds = %14188
  %14196 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14197 = call i32 @fileno(ptr noundef %14196) #11
  %14198 = call i32 @isatty(i32 noundef %14197) #11
  %14199 = icmp ne i32 %14198, 0
  br i1 %14199, label %14200, label %14217

14200:                                            ; preds = %14195
  %14201 = load i32, ptr %313, align 4, !tbaa !5
  %14202 = call ptr @__errno_location() #12
  store i32 %14201, ptr %14202, align 4, !tbaa !5
  %14203 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14204 = load i32, ptr @test_count, align 4, !tbaa !5
  %14205 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14206 = load i32, ptr %14205, align 4, !tbaa !5
  %14207 = call ptr @s2n_strerror(i32 noundef %14206, ptr noundef @.str.4)
  %14208 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14209 = load i32, ptr %14208, align 4, !tbaa !5
  %14210 = call ptr @s2n_strerror_debug(i32 noundef %14209, ptr noundef @.str.4)
  %14211 = call ptr @__errno_location() #12
  %14212 = load i32, ptr %14211, align 4, !tbaa !5
  %14213 = call ptr @strerror(i32 noundef %14212) #11
  %14214 = call ptr @__errno_location() #12
  %14215 = load i32, ptr %14214, align 4, !tbaa !5
  %14216 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14203, ptr noundef @.str.2, i32 noundef %14204, ptr noundef @.str.113, ptr noundef @.str.1, i32 noundef 484, ptr noundef %14207, ptr noundef %14210, ptr noundef %14213, i32 noundef %14215) #11
  br label %14234

14217:                                            ; preds = %14195, %14188
  %14218 = load i32, ptr %313, align 4, !tbaa !5
  %14219 = call ptr @__errno_location() #12
  store i32 %14218, ptr %14219, align 4, !tbaa !5
  %14220 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14221 = load i32, ptr @test_count, align 4, !tbaa !5
  %14222 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14223 = load i32, ptr %14222, align 4, !tbaa !5
  %14224 = call ptr @s2n_strerror(i32 noundef %14223, ptr noundef @.str.4)
  %14225 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14226 = load i32, ptr %14225, align 4, !tbaa !5
  %14227 = call ptr @s2n_strerror_debug(i32 noundef %14226, ptr noundef @.str.4)
  %14228 = call ptr @__errno_location() #12
  %14229 = load i32, ptr %14228, align 4, !tbaa !5
  %14230 = call ptr @strerror(i32 noundef %14229) #11
  %14231 = call ptr @__errno_location() #12
  %14232 = load i32, ptr %14231, align 4, !tbaa !5
  %14233 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14220, ptr noundef @.str.5, i32 noundef %14221, ptr noundef @.str.113, ptr noundef @.str.1, i32 noundef 484, ptr noundef %14224, ptr noundef %14227, ptr noundef %14230, i32 noundef %14232) #11
  br label %14234

14234:                                            ; preds = %14217, %14200
  call void @llvm.lifetime.end.p0(i64 4, ptr %313) #11
  br label %14235

14235:                                            ; preds = %14234
  br label %14236

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

14237:                                            ; No predecessors!
  br label %14238

14238:                                            ; preds = %14237
  br label %14239

14239:                                            ; preds = %14238, %14180
  br label %14240

14240:                                            ; preds = %14239
  br label %14241

14241:                                            ; preds = %14240
  br label %14242

14242:                                            ; preds = %14241
  %14243 = load i32, ptr @test_count, align 4, !tbaa !5
  %14244 = add nsw i32 %14243, 1
  store i32 %14244, ptr @test_count, align 4, !tbaa !5
  %14245 = load ptr, ptr %297, align 8, !tbaa !9
  %14246 = getelementptr inbounds [20 x i8], ptr %307, i64 0, i64 0
  %14247 = call i64 @s2n_recv(ptr noundef %14245, ptr noundef %14246, i64 noundef 20, ptr noundef %22)
  %14248 = icmp eq i64 %14247, 20
  br i1 %14248, label %14302, label %14249

14249:                                            ; preds = %14242
  br label %14250

14250:                                            ; preds = %14249
  br label %14251

14251:                                            ; preds = %14250
  call void @llvm.lifetime.start.p0(i64 4, ptr %314) #11
  %14252 = call ptr @__errno_location() #12
  %14253 = load i32, ptr %14252, align 4, !tbaa !5
  store i32 %14253, ptr %314, align 4, !tbaa !5
  %14254 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14255 = call i32 @s2n_print_stacktrace(ptr noundef %14254)
  %14256 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14257 = trunc i8 %14256 to i1
  br i1 %14257, label %14258, label %14280

14258:                                            ; preds = %14251
  %14259 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14260 = call i32 @fileno(ptr noundef %14259) #11
  %14261 = call i32 @isatty(i32 noundef %14260) #11
  %14262 = icmp ne i32 %14261, 0
  br i1 %14262, label %14263, label %14280

14263:                                            ; preds = %14258
  %14264 = load i32, ptr %314, align 4, !tbaa !5
  %14265 = call ptr @__errno_location() #12
  store i32 %14264, ptr %14265, align 4, !tbaa !5
  %14266 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14267 = load i32, ptr @test_count, align 4, !tbaa !5
  %14268 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14269 = load i32, ptr %14268, align 4, !tbaa !5
  %14270 = call ptr @s2n_strerror(i32 noundef %14269, ptr noundef @.str.4)
  %14271 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14272 = load i32, ptr %14271, align 4, !tbaa !5
  %14273 = call ptr @s2n_strerror_debug(i32 noundef %14272, ptr noundef @.str.4)
  %14274 = call ptr @__errno_location() #12
  %14275 = load i32, ptr %14274, align 4, !tbaa !5
  %14276 = call ptr @strerror(i32 noundef %14275) #11
  %14277 = call ptr @__errno_location() #12
  %14278 = load i32, ptr %14277, align 4, !tbaa !5
  %14279 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14266, ptr noundef @.str.2, i32 noundef %14267, ptr noundef @.str.110, ptr noundef @.str.1, i32 noundef 487, ptr noundef %14270, ptr noundef %14273, ptr noundef %14276, i32 noundef %14278) #11
  br label %14297

14280:                                            ; preds = %14258, %14251
  %14281 = load i32, ptr %314, align 4, !tbaa !5
  %14282 = call ptr @__errno_location() #12
  store i32 %14281, ptr %14282, align 4, !tbaa !5
  %14283 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14284 = load i32, ptr @test_count, align 4, !tbaa !5
  %14285 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14286 = load i32, ptr %14285, align 4, !tbaa !5
  %14287 = call ptr @s2n_strerror(i32 noundef %14286, ptr noundef @.str.4)
  %14288 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14289 = load i32, ptr %14288, align 4, !tbaa !5
  %14290 = call ptr @s2n_strerror_debug(i32 noundef %14289, ptr noundef @.str.4)
  %14291 = call ptr @__errno_location() #12
  %14292 = load i32, ptr %14291, align 4, !tbaa !5
  %14293 = call ptr @strerror(i32 noundef %14292) #11
  %14294 = call ptr @__errno_location() #12
  %14295 = load i32, ptr %14294, align 4, !tbaa !5
  %14296 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14283, ptr noundef @.str.5, i32 noundef %14284, ptr noundef @.str.110, ptr noundef @.str.1, i32 noundef 487, ptr noundef %14287, ptr noundef %14290, ptr noundef %14293, i32 noundef %14295) #11
  br label %14297

14297:                                            ; preds = %14280, %14263
  call void @llvm.lifetime.end.p0(i64 4, ptr %314) #11
  br label %14298

14298:                                            ; preds = %14297
  br label %14299

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

14300:                                            ; No predecessors!
  br label %14301

14301:                                            ; preds = %14300
  br label %14302

14302:                                            ; preds = %14301, %14242
  br label %14303

14303:                                            ; preds = %14302
  br label %14304

14304:                                            ; preds = %14303
  br label %14305

14305:                                            ; preds = %14304
  br label %14306

14306:                                            ; preds = %14305
  %14307 = load i32, ptr @test_count, align 4, !tbaa !5
  %14308 = add nsw i32 %14307, 1
  store i32 %14308, ptr @test_count, align 4, !tbaa !5
  %14309 = getelementptr inbounds [20 x i8], ptr %307, i64 0, i64 0
  %14310 = getelementptr inbounds [20 x i8], ptr %20, i64 0, i64 0
  %14311 = call i32 @memcmp(ptr noundef %14309, ptr noundef %14310, i64 noundef 20) #14
  %14312 = icmp eq i32 %14311, 0
  br i1 %14312, label %14366, label %14313

14313:                                            ; preds = %14306
  br label %14314

14314:                                            ; preds = %14313
  br label %14315

14315:                                            ; preds = %14314
  call void @llvm.lifetime.start.p0(i64 4, ptr %315) #11
  %14316 = call ptr @__errno_location() #12
  %14317 = load i32, ptr %14316, align 4, !tbaa !5
  store i32 %14317, ptr %315, align 4, !tbaa !5
  %14318 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14319 = call i32 @s2n_print_stacktrace(ptr noundef %14318)
  %14320 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14321 = trunc i8 %14320 to i1
  br i1 %14321, label %14322, label %14344

14322:                                            ; preds = %14315
  %14323 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14324 = call i32 @fileno(ptr noundef %14323) #11
  %14325 = call i32 @isatty(i32 noundef %14324) #11
  %14326 = icmp ne i32 %14325, 0
  br i1 %14326, label %14327, label %14344

14327:                                            ; preds = %14322
  %14328 = load i32, ptr %315, align 4, !tbaa !5
  %14329 = call ptr @__errno_location() #12
  store i32 %14328, ptr %14329, align 4, !tbaa !5
  %14330 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14331 = load i32, ptr @test_count, align 4, !tbaa !5
  %14332 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14333 = load i32, ptr %14332, align 4, !tbaa !5
  %14334 = call ptr @s2n_strerror(i32 noundef %14333, ptr noundef @.str.4)
  %14335 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14336 = load i32, ptr %14335, align 4, !tbaa !5
  %14337 = call ptr @s2n_strerror_debug(i32 noundef %14336, ptr noundef @.str.4)
  %14338 = call ptr @__errno_location() #12
  %14339 = load i32, ptr %14338, align 4, !tbaa !5
  %14340 = call ptr @strerror(i32 noundef %14339) #11
  %14341 = call ptr @__errno_location() #12
  %14342 = load i32, ptr %14341, align 4, !tbaa !5
  %14343 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14330, ptr noundef @.str.2, i32 noundef %14331, ptr noundef @.str.36, ptr noundef @.str.1, i32 noundef 488, ptr noundef %14334, ptr noundef %14337, ptr noundef %14340, i32 noundef %14342) #11
  br label %14361

14344:                                            ; preds = %14322, %14315
  %14345 = load i32, ptr %315, align 4, !tbaa !5
  %14346 = call ptr @__errno_location() #12
  store i32 %14345, ptr %14346, align 4, !tbaa !5
  %14347 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14348 = load i32, ptr @test_count, align 4, !tbaa !5
  %14349 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14350 = load i32, ptr %14349, align 4, !tbaa !5
  %14351 = call ptr @s2n_strerror(i32 noundef %14350, ptr noundef @.str.4)
  %14352 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14353 = load i32, ptr %14352, align 4, !tbaa !5
  %14354 = call ptr @s2n_strerror_debug(i32 noundef %14353, ptr noundef @.str.4)
  %14355 = call ptr @__errno_location() #12
  %14356 = load i32, ptr %14355, align 4, !tbaa !5
  %14357 = call ptr @strerror(i32 noundef %14356) #11
  %14358 = call ptr @__errno_location() #12
  %14359 = load i32, ptr %14358, align 4, !tbaa !5
  %14360 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14347, ptr noundef @.str.5, i32 noundef %14348, ptr noundef @.str.36, ptr noundef @.str.1, i32 noundef 488, ptr noundef %14351, ptr noundef %14354, ptr noundef %14357, i32 noundef %14359) #11
  br label %14361

14361:                                            ; preds = %14344, %14327
  call void @llvm.lifetime.end.p0(i64 4, ptr %315) #11
  br label %14362

14362:                                            ; preds = %14361
  br label %14363

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

14364:                                            ; No predecessors!
  br label %14365

14365:                                            ; preds = %14364
  br label %14366

14366:                                            ; preds = %14365, %14306
  br label %14367

14367:                                            ; preds = %14366
  br label %14368

14368:                                            ; preds = %14367
  br label %14369

14369:                                            ; preds = %14368
  br label %14370

14370:                                            ; preds = %14369
  call void @llvm.lifetime.end.p0(i64 20, ptr %307) #11
  %14371 = call i32 @s2n_io_stuffer_pair_free(ptr noundef %301)
  %14372 = getelementptr inbounds %struct.s2n_result, ptr %316, i32 0, i32 0
  store i32 %14371, ptr %14372, align 4
  call void @llvm.lifetime.end.p0(i64 80, ptr %301) #11
  %14373 = call i32 @s2n_connection_ptr_free(ptr noundef %297)
  %14374 = getelementptr inbounds %struct.s2n_result, ptr %317, i32 0, i32 0
  store i32 %14373, ptr %14374, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %297) #11
  %14375 = call i32 @s2n_connection_ptr_free(ptr noundef %294)
  %14376 = getelementptr inbounds %struct.s2n_result, ptr %318, i32 0, i32 0
  store i32 %14375, ptr %14376, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %294) #11
  call void @llvm.lifetime.start.p0(i64 24, ptr %319) #11
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %319, ptr align 8 @__const.main.one_cipher_preference, i64 24, i1 false)
  call void @llvm.lifetime.start.p0(i64 64, ptr %320) #11
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %320, ptr align 8 @security_policy_test_all, i64 64, i1 false), !tbaa.struct !52
  %14377 = getelementptr inbounds %struct.s2n_security_policy, ptr %320, i32 0, i32 1
  store ptr %319, ptr %14377, align 8, !tbaa !54
  call void @llvm.lifetime.start.p0(i64 8, ptr %321) #11
  %14378 = call ptr @s2n_config_new()
  store ptr %14378, ptr %321, align 8, !tbaa !9
  br label %14379

14379:                                            ; preds = %14370
  %14380 = load i32, ptr @test_count, align 4, !tbaa !5
  %14381 = add nsw i32 %14380, 1
  store i32 %14381, ptr @test_count, align 4, !tbaa !5
  %14382 = load ptr, ptr %321, align 8, !tbaa !9
  %14383 = icmp eq ptr %14382, null
  br i1 %14383, label %14384, label %14437

14384:                                            ; preds = %14379
  br label %14385

14385:                                            ; preds = %14384
  br label %14386

14386:                                            ; preds = %14385
  call void @llvm.lifetime.start.p0(i64 4, ptr %322) #11
  %14387 = call ptr @__errno_location() #12
  %14388 = load i32, ptr %14387, align 4, !tbaa !5
  store i32 %14388, ptr %322, align 4, !tbaa !5
  %14389 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14390 = call i32 @s2n_print_stacktrace(ptr noundef %14389)
  %14391 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14392 = trunc i8 %14391 to i1
  br i1 %14392, label %14393, label %14415

14393:                                            ; preds = %14386
  %14394 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14395 = call i32 @fileno(ptr noundef %14394) #11
  %14396 = call i32 @isatty(i32 noundef %14395) #11
  %14397 = icmp ne i32 %14396, 0
  br i1 %14397, label %14398, label %14415

14398:                                            ; preds = %14393
  %14399 = load i32, ptr %322, align 4, !tbaa !5
  %14400 = call ptr @__errno_location() #12
  store i32 %14399, ptr %14400, align 4, !tbaa !5
  %14401 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14402 = load i32, ptr @test_count, align 4, !tbaa !5
  %14403 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14404 = load i32, ptr %14403, align 4, !tbaa !5
  %14405 = call ptr @s2n_strerror(i32 noundef %14404, ptr noundef @.str.4)
  %14406 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14407 = load i32, ptr %14406, align 4, !tbaa !5
  %14408 = call ptr @s2n_strerror_debug(i32 noundef %14407, ptr noundef @.str.4)
  %14409 = call ptr @__errno_location() #12
  %14410 = load i32, ptr %14409, align 4, !tbaa !5
  %14411 = call ptr @strerror(i32 noundef %14410) #11
  %14412 = call ptr @__errno_location() #12
  %14413 = load i32, ptr %14412, align 4, !tbaa !5
  %14414 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14401, ptr noundef @.str.2, i32 noundef %14402, ptr noundef @.str.114, ptr noundef @.str.1, i32 noundef 503, ptr noundef %14405, ptr noundef %14408, ptr noundef %14411, i32 noundef %14413) #11
  br label %14432

14415:                                            ; preds = %14393, %14386
  %14416 = load i32, ptr %322, align 4, !tbaa !5
  %14417 = call ptr @__errno_location() #12
  store i32 %14416, ptr %14417, align 4, !tbaa !5
  %14418 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14419 = load i32, ptr @test_count, align 4, !tbaa !5
  %14420 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14421 = load i32, ptr %14420, align 4, !tbaa !5
  %14422 = call ptr @s2n_strerror(i32 noundef %14421, ptr noundef @.str.4)
  %14423 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14424 = load i32, ptr %14423, align 4, !tbaa !5
  %14425 = call ptr @s2n_strerror_debug(i32 noundef %14424, ptr noundef @.str.4)
  %14426 = call ptr @__errno_location() #12
  %14427 = load i32, ptr %14426, align 4, !tbaa !5
  %14428 = call ptr @strerror(i32 noundef %14427) #11
  %14429 = call ptr @__errno_location() #12
  %14430 = load i32, ptr %14429, align 4, !tbaa !5
  %14431 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14418, ptr noundef @.str.5, i32 noundef %14419, ptr noundef @.str.114, ptr noundef @.str.1, i32 noundef 503, ptr noundef %14422, ptr noundef %14425, ptr noundef %14428, i32 noundef %14430) #11
  br label %14432

14432:                                            ; preds = %14415, %14398
  call void @llvm.lifetime.end.p0(i64 4, ptr %322) #11
  br label %14433

14433:                                            ; preds = %14432
  br label %14434

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

14435:                                            ; No predecessors!
  br label %14436

14436:                                            ; preds = %14435
  br label %14437

14437:                                            ; preds = %14436, %14379
  br label %14438

14438:                                            ; preds = %14437
  br label %14439

14439:                                            ; preds = %14438
  br label %14440

14440:                                            ; preds = %14439
  %14441 = load i32, ptr @test_count, align 4, !tbaa !5
  %14442 = add nsw i32 %14441, 1
  store i32 %14442, ptr @test_count, align 4, !tbaa !5
  %14443 = load ptr, ptr %321, align 8, !tbaa !9
  %14444 = load ptr, ptr %9, align 8, !tbaa !9
  %14445 = call i32 @s2n_config_add_cert_chain_and_key_to_store(ptr noundef %14443, ptr noundef %14444)
  %14446 = icmp eq i32 %14445, -1
  br i1 %14446, label %14447, label %14500

14447:                                            ; preds = %14440
  br label %14448

14448:                                            ; preds = %14447
  br label %14449

14449:                                            ; preds = %14448
  call void @llvm.lifetime.start.p0(i64 4, ptr %323) #11
  %14450 = call ptr @__errno_location() #12
  %14451 = load i32, ptr %14450, align 4, !tbaa !5
  store i32 %14451, ptr %323, align 4, !tbaa !5
  %14452 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14453 = call i32 @s2n_print_stacktrace(ptr noundef %14452)
  %14454 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14455 = trunc i8 %14454 to i1
  br i1 %14455, label %14456, label %14478

14456:                                            ; preds = %14449
  %14457 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14458 = call i32 @fileno(ptr noundef %14457) #11
  %14459 = call i32 @isatty(i32 noundef %14458) #11
  %14460 = icmp ne i32 %14459, 0
  br i1 %14460, label %14461, label %14478

14461:                                            ; preds = %14456
  %14462 = load i32, ptr %323, align 4, !tbaa !5
  %14463 = call ptr @__errno_location() #12
  store i32 %14462, ptr %14463, align 4, !tbaa !5
  %14464 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14465 = load i32, ptr @test_count, align 4, !tbaa !5
  %14466 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14467 = load i32, ptr %14466, align 4, !tbaa !5
  %14468 = call ptr @s2n_strerror(i32 noundef %14467, ptr noundef @.str.4)
  %14469 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14470 = load i32, ptr %14469, align 4, !tbaa !5
  %14471 = call ptr @s2n_strerror_debug(i32 noundef %14470, ptr noundef @.str.4)
  %14472 = call ptr @__errno_location() #12
  %14473 = load i32, ptr %14472, align 4, !tbaa !5
  %14474 = call ptr @strerror(i32 noundef %14473) #11
  %14475 = call ptr @__errno_location() #12
  %14476 = load i32, ptr %14475, align 4, !tbaa !5
  %14477 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14464, ptr noundef @.str.2, i32 noundef %14465, ptr noundef @.str.115, ptr noundef @.str.1, i32 noundef 504, ptr noundef %14468, ptr noundef %14471, ptr noundef %14474, i32 noundef %14476) #11
  br label %14495

14478:                                            ; preds = %14456, %14449
  %14479 = load i32, ptr %323, align 4, !tbaa !5
  %14480 = call ptr @__errno_location() #12
  store i32 %14479, ptr %14480, align 4, !tbaa !5
  %14481 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14482 = load i32, ptr @test_count, align 4, !tbaa !5
  %14483 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14484 = load i32, ptr %14483, align 4, !tbaa !5
  %14485 = call ptr @s2n_strerror(i32 noundef %14484, ptr noundef @.str.4)
  %14486 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14487 = load i32, ptr %14486, align 4, !tbaa !5
  %14488 = call ptr @s2n_strerror_debug(i32 noundef %14487, ptr noundef @.str.4)
  %14489 = call ptr @__errno_location() #12
  %14490 = load i32, ptr %14489, align 4, !tbaa !5
  %14491 = call ptr @strerror(i32 noundef %14490) #11
  %14492 = call ptr @__errno_location() #12
  %14493 = load i32, ptr %14492, align 4, !tbaa !5
  %14494 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14481, ptr noundef @.str.5, i32 noundef %14482, ptr noundef @.str.115, ptr noundef @.str.1, i32 noundef 504, ptr noundef %14485, ptr noundef %14488, ptr noundef %14491, i32 noundef %14493) #11
  br label %14495

14495:                                            ; preds = %14478, %14461
  call void @llvm.lifetime.end.p0(i64 4, ptr %323) #11
  br label %14496

14496:                                            ; preds = %14495
  br label %14497

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

14498:                                            ; No predecessors!
  br label %14499

14499:                                            ; preds = %14498
  br label %14500

14500:                                            ; preds = %14499, %14440
  br label %14501

14501:                                            ; preds = %14500
  br label %14502

14502:                                            ; preds = %14501
  br label %14503

14503:                                            ; preds = %14502
  %14504 = load i32, ptr @test_count, align 4, !tbaa !5
  %14505 = add nsw i32 %14504, 1
  store i32 %14505, ptr @test_count, align 4, !tbaa !5
  %14506 = load ptr, ptr %321, align 8, !tbaa !9
  %14507 = load ptr, ptr %11, align 8, !tbaa !9
  %14508 = call i32 @s2n_config_add_cert_chain_and_key_to_store(ptr noundef %14506, ptr noundef %14507)
  %14509 = icmp eq i32 %14508, -1
  br i1 %14509, label %14510, label %14563

14510:                                            ; preds = %14503
  br label %14511

14511:                                            ; preds = %14510
  br label %14512

14512:                                            ; preds = %14511
  call void @llvm.lifetime.start.p0(i64 4, ptr %324) #11
  %14513 = call ptr @__errno_location() #12
  %14514 = load i32, ptr %14513, align 4, !tbaa !5
  store i32 %14514, ptr %324, align 4, !tbaa !5
  %14515 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14516 = call i32 @s2n_print_stacktrace(ptr noundef %14515)
  %14517 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14518 = trunc i8 %14517 to i1
  br i1 %14518, label %14519, label %14541

14519:                                            ; preds = %14512
  %14520 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14521 = call i32 @fileno(ptr noundef %14520) #11
  %14522 = call i32 @isatty(i32 noundef %14521) #11
  %14523 = icmp ne i32 %14522, 0
  br i1 %14523, label %14524, label %14541

14524:                                            ; preds = %14519
  %14525 = load i32, ptr %324, align 4, !tbaa !5
  %14526 = call ptr @__errno_location() #12
  store i32 %14525, ptr %14526, align 4, !tbaa !5
  %14527 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14528 = load i32, ptr @test_count, align 4, !tbaa !5
  %14529 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14530 = load i32, ptr %14529, align 4, !tbaa !5
  %14531 = call ptr @s2n_strerror(i32 noundef %14530, ptr noundef @.str.4)
  %14532 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14533 = load i32, ptr %14532, align 4, !tbaa !5
  %14534 = call ptr @s2n_strerror_debug(i32 noundef %14533, ptr noundef @.str.4)
  %14535 = call ptr @__errno_location() #12
  %14536 = load i32, ptr %14535, align 4, !tbaa !5
  %14537 = call ptr @strerror(i32 noundef %14536) #11
  %14538 = call ptr @__errno_location() #12
  %14539 = load i32, ptr %14538, align 4, !tbaa !5
  %14540 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14527, ptr noundef @.str.2, i32 noundef %14528, ptr noundef @.str.116, ptr noundef @.str.1, i32 noundef 505, ptr noundef %14531, ptr noundef %14534, ptr noundef %14537, i32 noundef %14539) #11
  br label %14558

14541:                                            ; preds = %14519, %14512
  %14542 = load i32, ptr %324, align 4, !tbaa !5
  %14543 = call ptr @__errno_location() #12
  store i32 %14542, ptr %14543, align 4, !tbaa !5
  %14544 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14545 = load i32, ptr @test_count, align 4, !tbaa !5
  %14546 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14547 = load i32, ptr %14546, align 4, !tbaa !5
  %14548 = call ptr @s2n_strerror(i32 noundef %14547, ptr noundef @.str.4)
  %14549 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14550 = load i32, ptr %14549, align 4, !tbaa !5
  %14551 = call ptr @s2n_strerror_debug(i32 noundef %14550, ptr noundef @.str.4)
  %14552 = call ptr @__errno_location() #12
  %14553 = load i32, ptr %14552, align 4, !tbaa !5
  %14554 = call ptr @strerror(i32 noundef %14553) #11
  %14555 = call ptr @__errno_location() #12
  %14556 = load i32, ptr %14555, align 4, !tbaa !5
  %14557 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14544, ptr noundef @.str.5, i32 noundef %14545, ptr noundef @.str.116, ptr noundef @.str.1, i32 noundef 505, ptr noundef %14548, ptr noundef %14551, ptr noundef %14554, i32 noundef %14556) #11
  br label %14558

14558:                                            ; preds = %14541, %14524
  call void @llvm.lifetime.end.p0(i64 4, ptr %324) #11
  br label %14559

14559:                                            ; preds = %14558
  br label %14560

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

14561:                                            ; No predecessors!
  br label %14562

14562:                                            ; preds = %14561
  br label %14563

14563:                                            ; preds = %14562, %14503
  br label %14564

14564:                                            ; preds = %14563
  br label %14565

14565:                                            ; preds = %14564
  br label %14566

14566:                                            ; preds = %14565
  %14567 = load i32, ptr @test_count, align 4, !tbaa !5
  %14568 = add nsw i32 %14567, 1
  store i32 %14568, ptr @test_count, align 4, !tbaa !5
  %14569 = load ptr, ptr %321, align 8, !tbaa !9
  %14570 = getelementptr inbounds [12000 x i8], ptr %13, i64 0, i64 0
  %14571 = call i32 @s2n_config_add_dhparams(ptr noundef %14569, ptr noundef %14570)
  %14572 = icmp eq i32 %14571, -1
  br i1 %14572, label %14573, label %14626

14573:                                            ; preds = %14566
  br label %14574

14574:                                            ; preds = %14573
  br label %14575

14575:                                            ; preds = %14574
  call void @llvm.lifetime.start.p0(i64 4, ptr %325) #11
  %14576 = call ptr @__errno_location() #12
  %14577 = load i32, ptr %14576, align 4, !tbaa !5
  store i32 %14577, ptr %325, align 4, !tbaa !5
  %14578 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14579 = call i32 @s2n_print_stacktrace(ptr noundef %14578)
  %14580 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14581 = trunc i8 %14580 to i1
  br i1 %14581, label %14582, label %14604

14582:                                            ; preds = %14575
  %14583 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14584 = call i32 @fileno(ptr noundef %14583) #11
  %14585 = call i32 @isatty(i32 noundef %14584) #11
  %14586 = icmp ne i32 %14585, 0
  br i1 %14586, label %14587, label %14604

14587:                                            ; preds = %14582
  %14588 = load i32, ptr %325, align 4, !tbaa !5
  %14589 = call ptr @__errno_location() #12
  store i32 %14588, ptr %14589, align 4, !tbaa !5
  %14590 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14591 = load i32, ptr @test_count, align 4, !tbaa !5
  %14592 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14593 = load i32, ptr %14592, align 4, !tbaa !5
  %14594 = call ptr @s2n_strerror(i32 noundef %14593, ptr noundef @.str.4)
  %14595 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14596 = load i32, ptr %14595, align 4, !tbaa !5
  %14597 = call ptr @s2n_strerror_debug(i32 noundef %14596, ptr noundef @.str.4)
  %14598 = call ptr @__errno_location() #12
  %14599 = load i32, ptr %14598, align 4, !tbaa !5
  %14600 = call ptr @strerror(i32 noundef %14599) #11
  %14601 = call ptr @__errno_location() #12
  %14602 = load i32, ptr %14601, align 4, !tbaa !5
  %14603 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14590, ptr noundef @.str.2, i32 noundef %14591, ptr noundef @.str.117, ptr noundef @.str.1, i32 noundef 506, ptr noundef %14594, ptr noundef %14597, ptr noundef %14600, i32 noundef %14602) #11
  br label %14621

14604:                                            ; preds = %14582, %14575
  %14605 = load i32, ptr %325, align 4, !tbaa !5
  %14606 = call ptr @__errno_location() #12
  store i32 %14605, ptr %14606, align 4, !tbaa !5
  %14607 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14608 = load i32, ptr @test_count, align 4, !tbaa !5
  %14609 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14610 = load i32, ptr %14609, align 4, !tbaa !5
  %14611 = call ptr @s2n_strerror(i32 noundef %14610, ptr noundef @.str.4)
  %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_debug(i32 noundef %14613, ptr noundef @.str.4)
  %14615 = call ptr @__errno_location() #12
  %14616 = load i32, ptr %14615, align 4, !tbaa !5
  %14617 = call ptr @strerror(i32 noundef %14616) #11
  %14618 = call ptr @__errno_location() #12
  %14619 = load i32, ptr %14618, align 4, !tbaa !5
  %14620 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14607, ptr noundef @.str.5, i32 noundef %14608, ptr noundef @.str.117, ptr noundef @.str.1, i32 noundef 506, ptr noundef %14611, ptr noundef %14614, ptr noundef %14617, i32 noundef %14619) #11
  br label %14621

14621:                                            ; preds = %14604, %14587
  call void @llvm.lifetime.end.p0(i64 4, ptr %325) #11
  br label %14622

14622:                                            ; preds = %14621
  br label %14623

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

14624:                                            ; No predecessors!
  br label %14625

14625:                                            ; preds = %14624
  br label %14626

14626:                                            ; preds = %14625, %14566
  br label %14627

14627:                                            ; preds = %14626
  br label %14628

14628:                                            ; preds = %14627
  br label %14629

14629:                                            ; preds = %14628
  %14630 = load i32, ptr @test_count, align 4, !tbaa !5
  %14631 = add nsw i32 %14630, 1
  store i32 %14631, ptr @test_count, align 4, !tbaa !5
  %14632 = load ptr, ptr %321, align 8, !tbaa !9
  %14633 = call i32 @s2n_config_accept_max_fragment_length(ptr noundef %14632)
  %14634 = icmp eq i32 %14633, -1
  br i1 %14634, label %14635, label %14688

14635:                                            ; preds = %14629
  br label %14636

14636:                                            ; preds = %14635
  br label %14637

14637:                                            ; preds = %14636
  call void @llvm.lifetime.start.p0(i64 4, ptr %326) #11
  %14638 = call ptr @__errno_location() #12
  %14639 = load i32, ptr %14638, align 4, !tbaa !5
  store i32 %14639, ptr %326, align 4, !tbaa !5
  %14640 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14641 = call i32 @s2n_print_stacktrace(ptr noundef %14640)
  %14642 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14643 = trunc i8 %14642 to i1
  br i1 %14643, label %14644, label %14666

14644:                                            ; preds = %14637
  %14645 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14646 = call i32 @fileno(ptr noundef %14645) #11
  %14647 = call i32 @isatty(i32 noundef %14646) #11
  %14648 = icmp ne i32 %14647, 0
  br i1 %14648, label %14649, label %14666

14649:                                            ; preds = %14644
  %14650 = load i32, ptr %326, align 4, !tbaa !5
  %14651 = call ptr @__errno_location() #12
  store i32 %14650, ptr %14651, align 4, !tbaa !5
  %14652 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14653 = load i32, ptr @test_count, align 4, !tbaa !5
  %14654 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14655 = load i32, ptr %14654, align 4, !tbaa !5
  %14656 = call ptr @s2n_strerror(i32 noundef %14655, ptr noundef @.str.4)
  %14657 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14658 = load i32, ptr %14657, align 4, !tbaa !5
  %14659 = call ptr @s2n_strerror_debug(i32 noundef %14658, ptr noundef @.str.4)
  %14660 = call ptr @__errno_location() #12
  %14661 = load i32, ptr %14660, align 4, !tbaa !5
  %14662 = call ptr @strerror(i32 noundef %14661) #11
  %14663 = call ptr @__errno_location() #12
  %14664 = load i32, ptr %14663, align 4, !tbaa !5
  %14665 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14652, ptr noundef @.str.2, i32 noundef %14653, ptr noundef @.str.118, ptr noundef @.str.1, i32 noundef 507, ptr noundef %14656, ptr noundef %14659, ptr noundef %14662, i32 noundef %14664) #11
  br label %14683

14666:                                            ; preds = %14644, %14637
  %14667 = load i32, ptr %326, align 4, !tbaa !5
  %14668 = call ptr @__errno_location() #12
  store i32 %14667, ptr %14668, align 4, !tbaa !5
  %14669 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14670 = load i32, ptr @test_count, align 4, !tbaa !5
  %14671 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14672 = load i32, ptr %14671, align 4, !tbaa !5
  %14673 = call ptr @s2n_strerror(i32 noundef %14672, ptr noundef @.str.4)
  %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_debug(i32 noundef %14675, ptr noundef @.str.4)
  %14677 = call ptr @__errno_location() #12
  %14678 = load i32, ptr %14677, align 4, !tbaa !5
  %14679 = call ptr @strerror(i32 noundef %14678) #11
  %14680 = call ptr @__errno_location() #12
  %14681 = load i32, ptr %14680, align 4, !tbaa !5
  %14682 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14669, ptr noundef @.str.5, i32 noundef %14670, ptr noundef @.str.118, ptr noundef @.str.1, i32 noundef 507, ptr noundef %14673, ptr noundef %14676, ptr noundef %14679, i32 noundef %14681) #11
  br label %14683

14683:                                            ; preds = %14666, %14649
  call void @llvm.lifetime.end.p0(i64 4, ptr %326) #11
  br label %14684

14684:                                            ; preds = %14683
  br label %14685

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

14686:                                            ; No predecessors!
  br label %14687

14687:                                            ; preds = %14686
  br label %14688

14688:                                            ; preds = %14687, %14629
  br label %14689

14689:                                            ; preds = %14688
  br label %14690

14690:                                            ; preds = %14689
  %14691 = load ptr, ptr %321, align 8, !tbaa !9
  %14692 = getelementptr inbounds %struct.s2n_config, ptr %14691, i32 0, i32 7
  store ptr %320, ptr %14692, align 8, !tbaa !56
  call void @llvm.lifetime.start.p0(i64 8, ptr %327) #11
  %14693 = call ptr @s2n_config_new()
  store ptr %14693, ptr %327, align 8, !tbaa !9
  br label %14694

14694:                                            ; preds = %14690
  %14695 = load i32, ptr @test_count, align 4, !tbaa !5
  %14696 = add nsw i32 %14695, 1
  store i32 %14696, ptr @test_count, align 4, !tbaa !5
  %14697 = load ptr, ptr %327, align 8, !tbaa !9
  %14698 = icmp eq ptr %14697, null
  br i1 %14698, label %14699, label %14752

14699:                                            ; preds = %14694
  br label %14700

14700:                                            ; preds = %14699
  br label %14701

14701:                                            ; preds = %14700
  call void @llvm.lifetime.start.p0(i64 4, ptr %328) #11
  %14702 = call ptr @__errno_location() #12
  %14703 = load i32, ptr %14702, align 4, !tbaa !5
  store i32 %14703, ptr %328, align 4, !tbaa !5
  %14704 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14705 = call i32 @s2n_print_stacktrace(ptr noundef %14704)
  %14706 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14707 = trunc i8 %14706 to i1
  br i1 %14707, label %14708, label %14730

14708:                                            ; preds = %14701
  %14709 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14710 = call i32 @fileno(ptr noundef %14709) #11
  %14711 = call i32 @isatty(i32 noundef %14710) #11
  %14712 = icmp ne i32 %14711, 0
  br i1 %14712, label %14713, label %14730

14713:                                            ; preds = %14708
  %14714 = load i32, ptr %328, align 4, !tbaa !5
  %14715 = call ptr @__errno_location() #12
  store i32 %14714, ptr %14715, align 4, !tbaa !5
  %14716 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14717 = load i32, ptr @test_count, align 4, !tbaa !5
  %14718 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14719 = load i32, ptr %14718, align 4, !tbaa !5
  %14720 = call ptr @s2n_strerror(i32 noundef %14719, ptr noundef @.str.4)
  %14721 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14722 = load i32, ptr %14721, align 4, !tbaa !5
  %14723 = call ptr @s2n_strerror_debug(i32 noundef %14722, ptr noundef @.str.4)
  %14724 = call ptr @__errno_location() #12
  %14725 = load i32, ptr %14724, align 4, !tbaa !5
  %14726 = call ptr @strerror(i32 noundef %14725) #11
  %14727 = call ptr @__errno_location() #12
  %14728 = load i32, ptr %14727, align 4, !tbaa !5
  %14729 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14716, ptr noundef @.str.2, i32 noundef %14717, ptr noundef @.str.119, ptr noundef @.str.1, i32 noundef 512, ptr noundef %14720, ptr noundef %14723, ptr noundef %14726, i32 noundef %14728) #11
  br label %14747

14730:                                            ; preds = %14708, %14701
  %14731 = load i32, ptr %328, align 4, !tbaa !5
  %14732 = call ptr @__errno_location() #12
  store i32 %14731, ptr %14732, align 4, !tbaa !5
  %14733 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14734 = load i32, ptr @test_count, align 4, !tbaa !5
  %14735 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14736 = load i32, ptr %14735, align 4, !tbaa !5
  %14737 = call ptr @s2n_strerror(i32 noundef %14736, ptr noundef @.str.4)
  %14738 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14739 = load i32, ptr %14738, align 4, !tbaa !5
  %14740 = call ptr @s2n_strerror_debug(i32 noundef %14739, ptr noundef @.str.4)
  %14741 = call ptr @__errno_location() #12
  %14742 = load i32, ptr %14741, align 4, !tbaa !5
  %14743 = call ptr @strerror(i32 noundef %14742) #11
  %14744 = call ptr @__errno_location() #12
  %14745 = load i32, ptr %14744, align 4, !tbaa !5
  %14746 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14733, ptr noundef @.str.5, i32 noundef %14734, ptr noundef @.str.119, ptr noundef @.str.1, i32 noundef 512, ptr noundef %14737, ptr noundef %14740, ptr noundef %14743, i32 noundef %14745) #11
  br label %14747

14747:                                            ; preds = %14730, %14713
  call void @llvm.lifetime.end.p0(i64 4, ptr %328) #11
  br label %14748

14748:                                            ; preds = %14747
  br label %14749

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

14750:                                            ; No predecessors!
  br label %14751

14751:                                            ; preds = %14750
  br label %14752

14752:                                            ; preds = %14751, %14694
  br label %14753

14753:                                            ; preds = %14752
  br label %14754

14754:                                            ; preds = %14753
  br label %14755

14755:                                            ; preds = %14754
  %14756 = load i32, ptr @test_count, align 4, !tbaa !5
  %14757 = add nsw i32 %14756, 1
  store i32 %14757, ptr @test_count, align 4, !tbaa !5
  %14758 = load ptr, ptr %327, align 8, !tbaa !9
  %14759 = call i32 @s2n_config_set_unsafe_for_testing(ptr noundef %14758)
  %14760 = icmp eq i32 %14759, -1
  br i1 %14760, label %14761, label %14814

14761:                                            ; preds = %14755
  br label %14762

14762:                                            ; preds = %14761
  br label %14763

14763:                                            ; preds = %14762
  call void @llvm.lifetime.start.p0(i64 4, ptr %329) #11
  %14764 = call ptr @__errno_location() #12
  %14765 = load i32, ptr %14764, align 4, !tbaa !5
  store i32 %14765, ptr %329, align 4, !tbaa !5
  %14766 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14767 = call i32 @s2n_print_stacktrace(ptr noundef %14766)
  %14768 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14769 = trunc i8 %14768 to i1
  br i1 %14769, label %14770, label %14792

14770:                                            ; preds = %14763
  %14771 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14772 = call i32 @fileno(ptr noundef %14771) #11
  %14773 = call i32 @isatty(i32 noundef %14772) #11
  %14774 = icmp ne i32 %14773, 0
  br i1 %14774, label %14775, label %14792

14775:                                            ; preds = %14770
  %14776 = load i32, ptr %329, align 4, !tbaa !5
  %14777 = call ptr @__errno_location() #12
  store i32 %14776, ptr %14777, align 4, !tbaa !5
  %14778 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14779 = load i32, ptr @test_count, align 4, !tbaa !5
  %14780 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14781 = load i32, ptr %14780, align 4, !tbaa !5
  %14782 = call ptr @s2n_strerror(i32 noundef %14781, ptr noundef @.str.4)
  %14783 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14784 = load i32, ptr %14783, align 4, !tbaa !5
  %14785 = call ptr @s2n_strerror_debug(i32 noundef %14784, ptr noundef @.str.4)
  %14786 = call ptr @__errno_location() #12
  %14787 = load i32, ptr %14786, align 4, !tbaa !5
  %14788 = call ptr @strerror(i32 noundef %14787) #11
  %14789 = call ptr @__errno_location() #12
  %14790 = load i32, ptr %14789, align 4, !tbaa !5
  %14791 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14778, ptr noundef @.str.2, i32 noundef %14779, ptr noundef @.str.120, ptr noundef @.str.1, i32 noundef 513, ptr noundef %14782, ptr noundef %14785, ptr noundef %14788, i32 noundef %14790) #11
  br label %14809

14792:                                            ; preds = %14770, %14763
  %14793 = load i32, ptr %329, align 4, !tbaa !5
  %14794 = call ptr @__errno_location() #12
  store i32 %14793, ptr %14794, align 4, !tbaa !5
  %14795 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14796 = load i32, ptr @test_count, align 4, !tbaa !5
  %14797 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14798 = load i32, ptr %14797, align 4, !tbaa !5
  %14799 = call ptr @s2n_strerror(i32 noundef %14798, ptr noundef @.str.4)
  %14800 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14801 = load i32, ptr %14800, align 4, !tbaa !5
  %14802 = call ptr @s2n_strerror_debug(i32 noundef %14801, ptr noundef @.str.4)
  %14803 = call ptr @__errno_location() #12
  %14804 = load i32, ptr %14803, align 4, !tbaa !5
  %14805 = call ptr @strerror(i32 noundef %14804) #11
  %14806 = call ptr @__errno_location() #12
  %14807 = load i32, ptr %14806, align 4, !tbaa !5
  %14808 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14795, ptr noundef @.str.5, i32 noundef %14796, ptr noundef @.str.120, ptr noundef @.str.1, i32 noundef 513, ptr noundef %14799, ptr noundef %14802, ptr noundef %14805, i32 noundef %14807) #11
  br label %14809

14809:                                            ; preds = %14792, %14775
  call void @llvm.lifetime.end.p0(i64 4, ptr %329) #11
  br label %14810

14810:                                            ; preds = %14809
  br label %14811

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

14812:                                            ; No predecessors!
  br label %14813

14813:                                            ; preds = %14812
  br label %14814

14814:                                            ; preds = %14813, %14755
  br label %14815

14815:                                            ; preds = %14814
  br label %14816

14816:                                            ; preds = %14815
  br label %14817

14817:                                            ; preds = %14816
  %14818 = load i32, ptr @test_count, align 4, !tbaa !5
  %14819 = add nsw i32 %14818, 1
  store i32 %14819, ptr @test_count, align 4, !tbaa !5
  %14820 = load ptr, ptr %327, align 8, !tbaa !9
  %14821 = call i32 @s2n_config_set_cipher_preferences(ptr noundef %14820, ptr noundef @.str.121)
  %14822 = icmp eq i32 %14821, -1
  br i1 %14822, label %14823, label %14876

14823:                                            ; preds = %14817
  br label %14824

14824:                                            ; preds = %14823
  br label %14825

14825:                                            ; preds = %14824
  call void @llvm.lifetime.start.p0(i64 4, ptr %330) #11
  %14826 = call ptr @__errno_location() #12
  %14827 = load i32, ptr %14826, align 4, !tbaa !5
  store i32 %14827, ptr %330, align 4, !tbaa !5
  %14828 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14829 = call i32 @s2n_print_stacktrace(ptr noundef %14828)
  %14830 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14831 = trunc i8 %14830 to i1
  br i1 %14831, label %14832, label %14854

14832:                                            ; preds = %14825
  %14833 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14834 = call i32 @fileno(ptr noundef %14833) #11
  %14835 = call i32 @isatty(i32 noundef %14834) #11
  %14836 = icmp ne i32 %14835, 0
  br i1 %14836, label %14837, label %14854

14837:                                            ; preds = %14832
  %14838 = load i32, ptr %330, align 4, !tbaa !5
  %14839 = call ptr @__errno_location() #12
  store i32 %14838, ptr %14839, align 4, !tbaa !5
  %14840 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14841 = load i32, ptr @test_count, align 4, !tbaa !5
  %14842 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14843 = load i32, ptr %14842, align 4, !tbaa !5
  %14844 = call ptr @s2n_strerror(i32 noundef %14843, ptr noundef @.str.4)
  %14845 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14846 = load i32, ptr %14845, align 4, !tbaa !5
  %14847 = call ptr @s2n_strerror_debug(i32 noundef %14846, ptr noundef @.str.4)
  %14848 = call ptr @__errno_location() #12
  %14849 = load i32, ptr %14848, align 4, !tbaa !5
  %14850 = call ptr @strerror(i32 noundef %14849) #11
  %14851 = call ptr @__errno_location() #12
  %14852 = load i32, ptr %14851, align 4, !tbaa !5
  %14853 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14840, ptr noundef @.str.2, i32 noundef %14841, ptr noundef @.str.122, ptr noundef @.str.1, i32 noundef 514, ptr noundef %14844, ptr noundef %14847, ptr noundef %14850, i32 noundef %14852) #11
  br label %14871

14854:                                            ; preds = %14832, %14825
  %14855 = load i32, ptr %330, align 4, !tbaa !5
  %14856 = call ptr @__errno_location() #12
  store i32 %14855, ptr %14856, align 4, !tbaa !5
  %14857 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14858 = load i32, ptr @test_count, align 4, !tbaa !5
  %14859 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14860 = load i32, ptr %14859, align 4, !tbaa !5
  %14861 = call ptr @s2n_strerror(i32 noundef %14860, ptr noundef @.str.4)
  %14862 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14863 = load i32, ptr %14862, align 4, !tbaa !5
  %14864 = call ptr @s2n_strerror_debug(i32 noundef %14863, ptr noundef @.str.4)
  %14865 = call ptr @__errno_location() #12
  %14866 = load i32, ptr %14865, align 4, !tbaa !5
  %14867 = call ptr @strerror(i32 noundef %14866) #11
  %14868 = call ptr @__errno_location() #12
  %14869 = load i32, ptr %14868, align 4, !tbaa !5
  %14870 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14857, ptr noundef @.str.5, i32 noundef %14858, ptr noundef @.str.122, ptr noundef @.str.1, i32 noundef 514, ptr noundef %14861, ptr noundef %14864, ptr noundef %14867, i32 noundef %14869) #11
  br label %14871

14871:                                            ; preds = %14854, %14837
  call void @llvm.lifetime.end.p0(i64 4, ptr %330) #11
  br label %14872

14872:                                            ; preds = %14871
  br label %14873

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

14874:                                            ; No predecessors!
  br label %14875

14875:                                            ; preds = %14874
  br label %14876

14876:                                            ; preds = %14875, %14817
  br label %14877

14877:                                            ; preds = %14876
  br label %14878

14878:                                            ; preds = %14877
  call void @llvm.lifetime.start.p0(i64 1, ptr %331) #11
  store i8 30, ptr %331, align 1, !tbaa !53
  %14879 = call zeroext i1 @s2n_hash_is_available(i32 noundef 1)
  br i1 %14879, label %14881, label %14880

14880:                                            ; preds = %14878
  store i8 31, ptr %331, align 1, !tbaa !53
  br label %14881

14881:                                            ; preds = %14880, %14878
  call void @llvm.lifetime.start.p0(i64 48000, ptr %332) #11
  call void @llvm.memset.p0.i64(ptr align 16 %332, i8 0, i64 48000, i1 false)
  call void @llvm.lifetime.start.p0(i64 8, ptr %333) #11
  store i64 0, ptr %333, align 8, !tbaa !45
  call void @llvm.lifetime.start.p0(i64 8, ptr %334) #11
  store i64 0, ptr %334, align 8, !tbaa !45
  br label %14882

14882:                                            ; preds = %14974, %14881
  %14883 = load i64, ptr %334, align 8, !tbaa !45
  %14884 = icmp ult i64 %14883, 6
  br i1 %14884, label %14886, label %14885

14885:                                            ; preds = %14882
  call void @llvm.lifetime.end.p0(i64 8, ptr %334) #11
  br label %14977

14886:                                            ; preds = %14882
  %14887 = load i64, ptr %334, align 8, !tbaa !45
  %14888 = getelementptr inbounds [6 x %struct.s2n_reneg_test_case], ptr @dhe_test_cases, i64 0, i64 %14887
  %14889 = getelementptr inbounds %struct.s2n_reneg_test_case, ptr %14888, i32 0, i32 1
  %14890 = load ptr, ptr %14889, align 8, !tbaa !60
  %14891 = load i8, ptr %14890, align 8
  %14892 = and i8 %14891, 1
  %14893 = zext i8 %14892 to i32
  %14894 = icmp ne i32 %14893, 0
  br i1 %14894, label %14896, label %14895

14895:                                            ; preds = %14886
  br label %14974

14896:                                            ; preds = %14886
  %14897 = load i64, ptr %334, align 8, !tbaa !45
  %14898 = getelementptr inbounds [6 x %struct.s2n_reneg_test_case], ptr @dhe_test_cases, i64 0, i64 %14897
  %14899 = getelementptr inbounds %struct.s2n_reneg_test_case, ptr %14898, i32 0, i32 0
  %14900 = load i8, ptr %14899, align 8, !tbaa !62
  %14901 = zext i8 %14900 to i32
  %14902 = load i8, ptr %331, align 1, !tbaa !53
  %14903 = zext i8 %14902 to i32
  %14904 = icmp slt i32 %14901, %14903
  br i1 %14904, label %14905, label %14906

14905:                                            ; preds = %14896
  br label %14974

14906:                                            ; preds = %14896
  %14907 = load i64, ptr %333, align 8, !tbaa !45
  %14908 = getelementptr inbounds [2000 x %struct.s2n_reneg_test_case], ptr %332, i64 0, i64 %14907
  %14909 = load i64, ptr %334, align 8, !tbaa !45
  %14910 = getelementptr inbounds [6 x %struct.s2n_reneg_test_case], ptr @dhe_test_cases, i64 0, i64 %14909
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %14908, ptr align 8 %14910, i64 24, i1 false), !tbaa.struct !63
  %14911 = load i64, ptr %333, align 8, !tbaa !45
  %14912 = add i64 %14911, 1
  store i64 %14912, ptr %333, align 8, !tbaa !45
  br label %14913

14913:                                            ; preds = %14906
  %14914 = load i32, ptr @test_count, align 4, !tbaa !5
  %14915 = add nsw i32 %14914, 1
  store i32 %14915, ptr @test_count, align 4, !tbaa !5
  %14916 = load i64, ptr %333, align 8, !tbaa !45
  %14917 = icmp ult i64 %14916, 2000
  br i1 %14917, label %14971, label %14918

14918:                                            ; preds = %14913
  br label %14919

14919:                                            ; preds = %14918
  br label %14920

14920:                                            ; preds = %14919
  call void @llvm.lifetime.start.p0(i64 4, ptr %335) #11
  %14921 = call ptr @__errno_location() #12
  %14922 = load i32, ptr %14921, align 4, !tbaa !5
  store i32 %14922, ptr %335, align 4, !tbaa !5
  %14923 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14924 = call i32 @s2n_print_stacktrace(ptr noundef %14923)
  %14925 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14926 = trunc i8 %14925 to i1
  br i1 %14926, label %14927, label %14949

14927:                                            ; preds = %14920
  %14928 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14929 = call i32 @fileno(ptr noundef %14928) #11
  %14930 = call i32 @isatty(i32 noundef %14929) #11
  %14931 = icmp ne i32 %14930, 0
  br i1 %14931, label %14932, label %14949

14932:                                            ; preds = %14927
  %14933 = load i32, ptr %335, align 4, !tbaa !5
  %14934 = call ptr @__errno_location() #12
  store i32 %14933, ptr %14934, align 4, !tbaa !5
  %14935 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14936 = load i32, ptr @test_count, align 4, !tbaa !5
  %14937 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14938 = load i32, ptr %14937, align 4, !tbaa !5
  %14939 = call ptr @s2n_strerror(i32 noundef %14938, ptr noundef @.str.4)
  %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_debug(i32 noundef %14941, ptr noundef @.str.4)
  %14943 = call ptr @__errno_location() #12
  %14944 = load i32, ptr %14943, align 4, !tbaa !5
  %14945 = call ptr @strerror(i32 noundef %14944) #11
  %14946 = call ptr @__errno_location() #12
  %14947 = load i32, ptr %14946, align 4, !tbaa !5
  %14948 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14935, ptr noundef @.str.2, i32 noundef %14936, ptr noundef @.str.123, ptr noundef @.str.1, i32 noundef 540, ptr noundef %14939, ptr noundef %14942, ptr noundef %14945, i32 noundef %14947) #11
  br label %14966

14949:                                            ; preds = %14927, %14920
  %14950 = load i32, ptr %335, align 4, !tbaa !5
  %14951 = call ptr @__errno_location() #12
  store i32 %14950, ptr %14951, align 4, !tbaa !5
  %14952 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14953 = load i32, ptr @test_count, align 4, !tbaa !5
  %14954 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14955 = load i32, ptr %14954, align 4, !tbaa !5
  %14956 = call ptr @s2n_strerror(i32 noundef %14955, ptr noundef @.str.4)
  %14957 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14958 = load i32, ptr %14957, align 4, !tbaa !5
  %14959 = call ptr @s2n_strerror_debug(i32 noundef %14958, ptr noundef @.str.4)
  %14960 = call ptr @__errno_location() #12
  %14961 = load i32, ptr %14960, align 4, !tbaa !5
  %14962 = call ptr @strerror(i32 noundef %14961) #11
  %14963 = call ptr @__errno_location() #12
  %14964 = load i32, ptr %14963, align 4, !tbaa !5
  %14965 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14952, ptr noundef @.str.5, i32 noundef %14953, ptr noundef @.str.123, ptr noundef @.str.1, i32 noundef 540, ptr noundef %14956, ptr noundef %14959, ptr noundef %14962, i32 noundef %14964) #11
  br label %14966

14966:                                            ; preds = %14949, %14932
  call void @llvm.lifetime.end.p0(i64 4, ptr %335) #11
  br label %14967

14967:                                            ; preds = %14966
  br label %14968

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

14969:                                            ; No predecessors!
  br label %14970

14970:                                            ; preds = %14969
  br label %14971

14971:                                            ; preds = %14970, %14913
  br label %14972

14972:                                            ; preds = %14971
  br label %14973

14973:                                            ; preds = %14972
  br label %14974

14974:                                            ; preds = %14973, %14905, %14895
  %14975 = load i64, ptr %334, align 8, !tbaa !45
  %14976 = add i64 %14975, 1
  store i64 %14976, ptr %334, align 8, !tbaa !45
  br label %14882, !llvm.loop !64

14977:                                            ; preds = %14885
  br label %14978

14978:                                            ; preds = %14977
  %14979 = load i32, ptr @test_count, align 4, !tbaa !5
  %14980 = add nsw i32 %14979, 1
  store i32 %14980, ptr @test_count, align 4, !tbaa !5
  %14981 = load i64, ptr %333, align 8, !tbaa !45
  %14982 = icmp ugt i64 %14981, 0
  br i1 %14982, label %15036, label %14983

14983:                                            ; preds = %14978
  br label %14984

14984:                                            ; preds = %14983
  br label %14985

14985:                                            ; preds = %14984
  call void @llvm.lifetime.start.p0(i64 4, ptr %336) #11
  %14986 = call ptr @__errno_location() #12
  %14987 = load i32, ptr %14986, align 4, !tbaa !5
  store i32 %14987, ptr %336, align 4, !tbaa !5
  %14988 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14989 = call i32 @s2n_print_stacktrace(ptr noundef %14988)
  %14990 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14991 = trunc i8 %14990 to i1
  br i1 %14991, label %14992, label %15014

14992:                                            ; preds = %14985
  %14993 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14994 = call i32 @fileno(ptr noundef %14993) #11
  %14995 = call i32 @isatty(i32 noundef %14994) #11
  %14996 = icmp ne i32 %14995, 0
  br i1 %14996, label %14997, label %15014

14997:                                            ; preds = %14992
  %14998 = load i32, ptr %336, 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.4)
  %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.4)
  %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.2, i32 noundef %15001, ptr noundef @.str.124, ptr noundef @.str.1, i32 noundef 542, ptr noundef %15004, ptr noundef %15007, ptr noundef %15010, i32 noundef %15012) #11
  br label %15031

15014:                                            ; preds = %14992, %14985
  %15015 = load i32, ptr %336, align 4, !tbaa !5
  %15016 = call ptr @__errno_location() #12
  store i32 %15015, ptr %15016, align 4, !tbaa !5
  %15017 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15018 = load i32, ptr @test_count, align 4, !tbaa !5
  %15019 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15020 = load i32, ptr %15019, align 4, !tbaa !5
  %15021 = call ptr @s2n_strerror(i32 noundef %15020, ptr noundef @.str.4)
  %15022 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15023 = load i32, ptr %15022, align 4, !tbaa !5
  %15024 = call ptr @s2n_strerror_debug(i32 noundef %15023, ptr noundef @.str.4)
  %15025 = call ptr @__errno_location() #12
  %15026 = load i32, ptr %15025, align 4, !tbaa !5
  %15027 = call ptr @strerror(i32 noundef %15026) #11
  %15028 = call ptr @__errno_location() #12
  %15029 = load i32, ptr %15028, align 4, !tbaa !5
  %15030 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15017, ptr noundef @.str.5, i32 noundef %15018, ptr noundef @.str.124, ptr noundef @.str.1, i32 noundef 542, ptr noundef %15021, ptr noundef %15024, ptr noundef %15027, i32 noundef %15029) #11
  br label %15031

15031:                                            ; preds = %15014, %14997
  call void @llvm.lifetime.end.p0(i64 4, ptr %336) #11
  br label %15032

15032:                                            ; preds = %15031
  br label %15033

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

15034:                                            ; No predecessors!
  br label %15035

15035:                                            ; preds = %15034
  br label %15036

15036:                                            ; preds = %15035, %14978
  br label %15037

15037:                                            ; preds = %15036
  br label %15038

15038:                                            ; preds = %15037
  call void @llvm.lifetime.start.p0(i64 8, ptr %337) #11
  %15039 = load ptr, ptr getelementptr inbounds (%struct.s2n_security_policy, ptr @security_policy_test_all, i32 0, i32 1), align 8, !tbaa !54
  store ptr %15039, ptr %337, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 1, ptr %338) #11
  %15040 = load i8, ptr %331, align 1, !tbaa !53
  store i8 %15040, ptr %338, align 1, !tbaa !53
  br label %15041

15041:                                            ; preds = %15177, %15038
  %15042 = load i8, ptr %338, align 1, !tbaa !53
  %15043 = zext i8 %15042 to i32
  %15044 = icmp slt i32 %15043, 34
  br i1 %15044, label %15046, label %15045

15045:                                            ; preds = %15041
  store i32 1435, ptr %339, align 4
  call void @llvm.lifetime.end.p0(i64 1, ptr %338) #11
  br label %15180

15046:                                            ; preds = %15041
  call void @llvm.lifetime.start.p0(i64 8, ptr %340) #11
  store i64 0, ptr %340, align 8, !tbaa !45
  br label %15047

15047:                                            ; preds = %15173, %15046
  %15048 = load i64, ptr %340, align 8, !tbaa !45
  %15049 = load ptr, ptr %337, align 8, !tbaa !9
  %15050 = getelementptr inbounds %struct.s2n_cipher_preferences, ptr %15049, i32 0, i32 0
  %15051 = load i16, ptr %15050, align 8, !tbaa !66
  %15052 = zext i16 %15051 to i64
  %15053 = icmp ult i64 %15048, %15052
  br i1 %15053, label %15055, label %15054

15054:                                            ; preds = %15047
  store i32 1438, ptr %339, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %340) #11
  br label %15176

15055:                                            ; preds = %15047
  call void @llvm.lifetime.start.p0(i64 8, ptr %341) #11
  %15056 = load ptr, ptr %337, align 8, !tbaa !9
  %15057 = getelementptr inbounds %struct.s2n_cipher_preferences, ptr %15056, i32 0, i32 1
  %15058 = load ptr, ptr %15057, align 8, !tbaa !68
  %15059 = load i64, ptr %340, align 8, !tbaa !45
  %15060 = getelementptr inbounds ptr, ptr %15058, i64 %15059
  %15061 = load ptr, ptr %15060, align 8, !tbaa !9
  store ptr %15061, ptr %341, align 8, !tbaa !9
  %15062 = load ptr, ptr %341, align 8, !tbaa !9
  %15063 = load i8, ptr %15062, align 8
  %15064 = and i8 %15063, 1
  %15065 = zext i8 %15064 to i32
  %15066 = icmp ne i32 %15065, 0
  br i1 %15066, label %15068, label %15067

15067:                                            ; preds = %15055
  store i32 1440, ptr %339, align 4
  br label %15170

15068:                                            ; preds = %15055
  %15069 = load i8, ptr %338, align 1, !tbaa !53
  %15070 = zext i8 %15069 to i32
  %15071 = load ptr, ptr %341, align 8, !tbaa !9
  %15072 = getelementptr inbounds %struct.s2n_cipher_suite, ptr %15071, i32 0, i32 12
  %15073 = load i8, ptr %15072, align 4, !tbaa !69
  %15074 = zext i8 %15073 to i32
  %15075 = icmp slt i32 %15070, %15074
  br i1 %15075, label %15076, label %15077

15076:                                            ; preds = %15068
  store i32 1440, ptr %339, align 4
  br label %15170

15077:                                            ; preds = %15068
  %15078 = load ptr, ptr %341, align 8, !tbaa !9
  %15079 = getelementptr inbounds %struct.s2n_cipher_suite, ptr %15078, i32 0, i32 4
  %15080 = load ptr, ptr %15079, align 8, !tbaa !71
  %15081 = icmp eq ptr %15080, @s2n_dhe
  br i1 %15081, label %15082, label %15083

15082:                                            ; preds = %15077
  store i32 1440, ptr %339, align 4
  br label %15170

15083:                                            ; preds = %15077
  call void @llvm.lifetime.start.p0(i64 8, ptr %342) #11
  store i64 0, ptr %342, align 8, !tbaa !45
  br label %15084

15084:                                            ; preds = %15166, %15083
  %15085 = load i64, ptr %342, align 8, !tbaa !45
  %15086 = icmp ult i64 %15085, 5
  br i1 %15086, label %15088, label %15087

15087:                                            ; preds = %15084
  store i32 1441, ptr %339, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %342) #11
  br label %15169

15088:                                            ; preds = %15084
  %15089 = load i64, ptr %333, align 8, !tbaa !45
  %15090 = getelementptr inbounds [2000 x %struct.s2n_reneg_test_case], ptr %332, i64 0, i64 %15089
  %15091 = getelementptr inbounds %struct.s2n_reneg_test_case, ptr %343, i32 0, i32 0
  %15092 = load i8, ptr %338, align 1, !tbaa !53
  store i8 %15092, ptr %15091, align 8, !tbaa !62
  %15093 = getelementptr inbounds %struct.s2n_reneg_test_case, ptr %343, i32 0, i32 1
  %15094 = load ptr, ptr %337, align 8, !tbaa !9
  %15095 = getelementptr inbounds %struct.s2n_cipher_preferences, ptr %15094, i32 0, i32 1
  %15096 = load ptr, ptr %15095, align 8, !tbaa !68
  %15097 = load i64, ptr %340, align 8, !tbaa !45
  %15098 = getelementptr inbounds ptr, ptr %15096, i64 %15097
  %15099 = load ptr, ptr %15098, align 8, !tbaa !9
  store ptr %15099, ptr %15093, align 8, !tbaa !60
  %15100 = getelementptr inbounds %struct.s2n_reneg_test_case, ptr %343, i32 0, i32 2
  %15101 = load i64, ptr %342, align 8, !tbaa !45
  %15102 = trunc i64 %15101 to i8
  store i8 %15102, ptr %15100, align 8, !tbaa !72
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %15090, ptr align 8 %343, i64 24, i1 false), !tbaa.struct !63
  %15103 = load i64, ptr %333, align 8, !tbaa !45
  %15104 = add i64 %15103, 1
  store i64 %15104, ptr %333, align 8, !tbaa !45
  br label %15105

15105:                                            ; preds = %15088
  %15106 = load i32, ptr @test_count, align 4, !tbaa !5
  %15107 = add nsw i32 %15106, 1
  store i32 %15107, ptr @test_count, align 4, !tbaa !5
  %15108 = load i64, ptr %333, align 8, !tbaa !45
  %15109 = icmp ult i64 %15108, 2000
  br i1 %15109, label %15163, label %15110

15110:                                            ; preds = %15105
  br label %15111

15111:                                            ; preds = %15110
  br label %15112

15112:                                            ; preds = %15111
  call void @llvm.lifetime.start.p0(i64 4, ptr %344) #11
  %15113 = call ptr @__errno_location() #12
  %15114 = load i32, ptr %15113, align 4, !tbaa !5
  store i32 %15114, ptr %344, align 4, !tbaa !5
  %15115 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15116 = call i32 @s2n_print_stacktrace(ptr noundef %15115)
  %15117 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15118 = trunc i8 %15117 to i1
  br i1 %15118, label %15119, label %15141

15119:                                            ; preds = %15112
  %15120 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15121 = call i32 @fileno(ptr noundef %15120) #11
  %15122 = call i32 @isatty(i32 noundef %15121) #11
  %15123 = icmp ne i32 %15122, 0
  br i1 %15123, label %15124, label %15141

15124:                                            ; preds = %15119
  %15125 = load i32, ptr %344, align 4, !tbaa !5
  %15126 = call ptr @__errno_location() #12
  store i32 %15125, ptr %15126, align 4, !tbaa !5
  %15127 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15128 = load i32, ptr @test_count, align 4, !tbaa !5
  %15129 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15130 = load i32, ptr %15129, align 4, !tbaa !5
  %15131 = call ptr @s2n_strerror(i32 noundef %15130, ptr noundef @.str.4)
  %15132 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15133 = load i32, ptr %15132, align 4, !tbaa !5
  %15134 = call ptr @s2n_strerror_debug(i32 noundef %15133, ptr noundef @.str.4)
  %15135 = call ptr @__errno_location() #12
  %15136 = load i32, ptr %15135, align 4, !tbaa !5
  %15137 = call ptr @strerror(i32 noundef %15136) #11
  %15138 = call ptr @__errno_location() #12
  %15139 = load i32, ptr %15138, align 4, !tbaa !5
  %15140 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15127, ptr noundef @.str.2, i32 noundef %15128, ptr noundef @.str.123, ptr noundef @.str.1, i32 noundef 569, ptr noundef %15131, ptr noundef %15134, ptr noundef %15137, i32 noundef %15139) #11
  br label %15158

15141:                                            ; preds = %15119, %15112
  %15142 = load i32, ptr %344, align 4, !tbaa !5
  %15143 = call ptr @__errno_location() #12
  store i32 %15142, ptr %15143, align 4, !tbaa !5
  %15144 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15145 = load i32, ptr @test_count, align 4, !tbaa !5
  %15146 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15147 = load i32, ptr %15146, align 4, !tbaa !5
  %15148 = call ptr @s2n_strerror(i32 noundef %15147, ptr noundef @.str.4)
  %15149 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15150 = load i32, ptr %15149, align 4, !tbaa !5
  %15151 = call ptr @s2n_strerror_debug(i32 noundef %15150, ptr noundef @.str.4)
  %15152 = call ptr @__errno_location() #12
  %15153 = load i32, ptr %15152, align 4, !tbaa !5
  %15154 = call ptr @strerror(i32 noundef %15153) #11
  %15155 = call ptr @__errno_location() #12
  %15156 = load i32, ptr %15155, align 4, !tbaa !5
  %15157 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15144, ptr noundef @.str.5, i32 noundef %15145, ptr noundef @.str.123, ptr noundef @.str.1, i32 noundef 569, ptr noundef %15148, ptr noundef %15151, ptr noundef %15154, i32 noundef %15156) #11
  br label %15158

15158:                                            ; preds = %15141, %15124
  call void @llvm.lifetime.end.p0(i64 4, ptr %344) #11
  br label %15159

15159:                                            ; preds = %15158
  br label %15160

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

15161:                                            ; No predecessors!
  br label %15162

15162:                                            ; preds = %15161
  br label %15163

15163:                                            ; preds = %15162, %15105
  br label %15164

15164:                                            ; preds = %15163
  br label %15165

15165:                                            ; preds = %15164
  br label %15166

15166:                                            ; preds = %15165
  %15167 = load i64, ptr %342, align 8, !tbaa !45
  %15168 = add i64 %15167, 1
  store i64 %15168, ptr %342, align 8, !tbaa !45
  br label %15084, !llvm.loop !73

15169:                                            ; preds = %15087
  store i32 0, ptr %339, align 4
  br label %15170

15170:                                            ; preds = %15169, %15082, %15076, %15067
  call void @llvm.lifetime.end.p0(i64 8, ptr %341) #11
  %15171 = load i32, ptr %339, align 4
  switch i32 %15171, label %16608 [
    i32 0, label %15172
    i32 1440, label %15173
  ]

15172:                                            ; preds = %15170
  br label %15173

15173:                                            ; preds = %15172, %15170
  %15174 = load i64, ptr %340, align 8, !tbaa !45
  %15175 = add i64 %15174, 1
  store i64 %15175, ptr %340, align 8, !tbaa !45
  br label %15047, !llvm.loop !74

15176:                                            ; preds = %15054
  br label %15177

15177:                                            ; preds = %15176
  %15178 = load i8, ptr %338, align 1, !tbaa !53
  %15179 = add i8 %15178, 1
  store i8 %15179, ptr %338, align 1, !tbaa !53
  br label %15041, !llvm.loop !75

15180:                                            ; preds = %15045
  call void @llvm.lifetime.start.p0(i64 8, ptr %345) #11
  store i64 0, ptr %345, align 8, !tbaa !45
  br label %15181

15181:                                            ; preds = %16436, %15180
  %15182 = load i64, ptr %345, align 8, !tbaa !45
  %15183 = load i64, ptr %333, align 8, !tbaa !45
  %15184 = icmp ult i64 %15182, %15183
  br i1 %15184, label %15186, label %15185

15185:                                            ; preds = %15181
  store i32 1450, ptr %339, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %345) #11
  br label %16439

15186:                                            ; preds = %15181
  call void @llvm.lifetime.start.p0(i64 20, ptr %346) #11
  call void @llvm.memset.p0.i64(ptr align 16 %346, i8 0, i64 20, i1 false)
  call void @llvm.lifetime.start.p0(i64 8, ptr %347) #11
  %15187 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %15187, ptr %347, align 8, !tbaa !9
  br label %15188

15188:                                            ; preds = %15186
  %15189 = load i32, ptr @test_count, align 4, !tbaa !5
  %15190 = add nsw i32 %15189, 1
  store i32 %15190, ptr @test_count, align 4, !tbaa !5
  %15191 = load ptr, ptr %347, align 8, !tbaa !9
  %15192 = icmp eq ptr %15191, null
  br i1 %15192, label %15193, label %15246

15193:                                            ; preds = %15188
  br label %15194

15194:                                            ; preds = %15193
  br label %15195

15195:                                            ; preds = %15194
  call void @llvm.lifetime.start.p0(i64 4, ptr %348) #11
  %15196 = call ptr @__errno_location() #12
  %15197 = load i32, ptr %15196, align 4, !tbaa !5
  store i32 %15197, ptr %348, align 4, !tbaa !5
  %15198 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15199 = call i32 @s2n_print_stacktrace(ptr noundef %15198)
  %15200 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15201 = trunc i8 %15200 to i1
  br i1 %15201, label %15202, label %15224

15202:                                            ; preds = %15195
  %15203 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15204 = call i32 @fileno(ptr noundef %15203) #11
  %15205 = call i32 @isatty(i32 noundef %15204) #11
  %15206 = icmp ne i32 %15205, 0
  br i1 %15206, label %15207, label %15224

15207:                                            ; preds = %15202
  %15208 = load i32, ptr %348, align 4, !tbaa !5
  %15209 = call ptr @__errno_location() #12
  store i32 %15208, ptr %15209, align 4, !tbaa !5
  %15210 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15211 = load i32, ptr @test_count, align 4, !tbaa !5
  %15212 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15213 = load i32, ptr %15212, align 4, !tbaa !5
  %15214 = call ptr @s2n_strerror(i32 noundef %15213, ptr noundef @.str.4)
  %15215 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15216 = load i32, ptr %15215, align 4, !tbaa !5
  %15217 = call ptr @s2n_strerror_debug(i32 noundef %15216, ptr noundef @.str.4)
  %15218 = call ptr @__errno_location() #12
  %15219 = load i32, ptr %15218, align 4, !tbaa !5
  %15220 = call ptr @strerror(i32 noundef %15219) #11
  %15221 = call ptr @__errno_location() #12
  %15222 = load i32, ptr %15221, align 4, !tbaa !5
  %15223 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15210, ptr noundef @.str.2, i32 noundef %15211, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 578, ptr noundef %15214, ptr noundef %15217, ptr noundef %15220, i32 noundef %15222) #11
  br label %15241

15224:                                            ; preds = %15202, %15195
  %15225 = load i32, ptr %348, align 4, !tbaa !5
  %15226 = call ptr @__errno_location() #12
  store i32 %15225, ptr %15226, align 4, !tbaa !5
  %15227 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15228 = load i32, ptr @test_count, align 4, !tbaa !5
  %15229 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15230 = load i32, ptr %15229, align 4, !tbaa !5
  %15231 = call ptr @s2n_strerror(i32 noundef %15230, ptr noundef @.str.4)
  %15232 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15233 = load i32, ptr %15232, align 4, !tbaa !5
  %15234 = call ptr @s2n_strerror_debug(i32 noundef %15233, ptr noundef @.str.4)
  %15235 = call ptr @__errno_location() #12
  %15236 = load i32, ptr %15235, align 4, !tbaa !5
  %15237 = call ptr @strerror(i32 noundef %15236) #11
  %15238 = call ptr @__errno_location() #12
  %15239 = load i32, ptr %15238, align 4, !tbaa !5
  %15240 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15227, ptr noundef @.str.5, i32 noundef %15228, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 578, ptr noundef %15231, ptr noundef %15234, ptr noundef %15237, i32 noundef %15239) #11
  br label %15241

15241:                                            ; preds = %15224, %15207
  call void @llvm.lifetime.end.p0(i64 4, ptr %348) #11
  br label %15242

15242:                                            ; preds = %15241
  br label %15243

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

15244:                                            ; No predecessors!
  br label %15245

15245:                                            ; preds = %15244
  br label %15246

15246:                                            ; preds = %15245, %15188
  br label %15247

15247:                                            ; preds = %15246
  br label %15248

15248:                                            ; preds = %15247
  br label %15249

15249:                                            ; preds = %15248
  %15250 = load i32, ptr @test_count, align 4, !tbaa !5
  %15251 = add nsw i32 %15250, 1
  store i32 %15251, ptr @test_count, align 4, !tbaa !5
  %15252 = load ptr, ptr %347, align 8, !tbaa !9
  %15253 = load ptr, ptr %321, align 8, !tbaa !9
  %15254 = call i32 @s2n_connection_set_config(ptr noundef %15252, ptr noundef %15253)
  %15255 = icmp eq i32 %15254, -1
  br i1 %15255, label %15256, label %15309

15256:                                            ; preds = %15249
  br label %15257

15257:                                            ; preds = %15256
  br label %15258

15258:                                            ; preds = %15257
  call void @llvm.lifetime.start.p0(i64 4, ptr %349) #11
  %15259 = call ptr @__errno_location() #12
  %15260 = load i32, ptr %15259, align 4, !tbaa !5
  store i32 %15260, ptr %349, align 4, !tbaa !5
  %15261 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15262 = call i32 @s2n_print_stacktrace(ptr noundef %15261)
  %15263 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15264 = trunc i8 %15263 to i1
  br i1 %15264, label %15265, label %15287

15265:                                            ; preds = %15258
  %15266 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15267 = call i32 @fileno(ptr noundef %15266) #11
  %15268 = call i32 @isatty(i32 noundef %15267) #11
  %15269 = icmp ne i32 %15268, 0
  br i1 %15269, label %15270, label %15287

15270:                                            ; preds = %15265
  %15271 = load i32, ptr %349, align 4, !tbaa !5
  %15272 = call ptr @__errno_location() #12
  store i32 %15271, ptr %15272, align 4, !tbaa !5
  %15273 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15274 = load i32, ptr @test_count, align 4, !tbaa !5
  %15275 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15276 = load i32, ptr %15275, align 4, !tbaa !5
  %15277 = call ptr @s2n_strerror(i32 noundef %15276, ptr noundef @.str.4)
  %15278 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15279 = load i32, ptr %15278, align 4, !tbaa !5
  %15280 = call ptr @s2n_strerror_debug(i32 noundef %15279, ptr noundef @.str.4)
  %15281 = call ptr @__errno_location() #12
  %15282 = load i32, ptr %15281, align 4, !tbaa !5
  %15283 = call ptr @strerror(i32 noundef %15282) #11
  %15284 = call ptr @__errno_location() #12
  %15285 = load i32, ptr %15284, align 4, !tbaa !5
  %15286 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15273, ptr noundef @.str.2, i32 noundef %15274, ptr noundef @.str.125, ptr noundef @.str.1, i32 noundef 579, ptr noundef %15277, ptr noundef %15280, ptr noundef %15283, i32 noundef %15285) #11
  br label %15304

15287:                                            ; preds = %15265, %15258
  %15288 = load i32, ptr %349, align 4, !tbaa !5
  %15289 = call ptr @__errno_location() #12
  store i32 %15288, ptr %15289, align 4, !tbaa !5
  %15290 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15291 = load i32, ptr @test_count, align 4, !tbaa !5
  %15292 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15293 = load i32, ptr %15292, align 4, !tbaa !5
  %15294 = call ptr @s2n_strerror(i32 noundef %15293, ptr noundef @.str.4)
  %15295 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15296 = load i32, ptr %15295, align 4, !tbaa !5
  %15297 = call ptr @s2n_strerror_debug(i32 noundef %15296, ptr noundef @.str.4)
  %15298 = call ptr @__errno_location() #12
  %15299 = load i32, ptr %15298, align 4, !tbaa !5
  %15300 = call ptr @strerror(i32 noundef %15299) #11
  %15301 = call ptr @__errno_location() #12
  %15302 = load i32, ptr %15301, align 4, !tbaa !5
  %15303 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15290, ptr noundef @.str.5, i32 noundef %15291, ptr noundef @.str.125, ptr noundef @.str.1, i32 noundef 579, ptr noundef %15294, ptr noundef %15297, ptr noundef %15300, i32 noundef %15302) #11
  br label %15304

15304:                                            ; preds = %15287, %15270
  call void @llvm.lifetime.end.p0(i64 4, ptr %349) #11
  br label %15305

15305:                                            ; preds = %15304
  br label %15306

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

15307:                                            ; No predecessors!
  br label %15308

15308:                                            ; preds = %15307
  br label %15309

15309:                                            ; preds = %15308, %15249
  br label %15310

15310:                                            ; preds = %15309
  br label %15311

15311:                                            ; preds = %15310
  call void @llvm.lifetime.start.p0(i64 8, ptr %350) #11
  %15312 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %15312, ptr %350, align 8, !tbaa !9
  br label %15313

15313:                                            ; preds = %15311
  %15314 = load i32, ptr @test_count, align 4, !tbaa !5
  %15315 = add nsw i32 %15314, 1
  store i32 %15315, ptr @test_count, align 4, !tbaa !5
  %15316 = load ptr, ptr %350, align 8, !tbaa !9
  %15317 = icmp eq ptr %15316, null
  br i1 %15317, label %15318, label %15371

15318:                                            ; preds = %15313
  br label %15319

15319:                                            ; preds = %15318
  br label %15320

15320:                                            ; preds = %15319
  call void @llvm.lifetime.start.p0(i64 4, ptr %351) #11
  %15321 = call ptr @__errno_location() #12
  %15322 = load i32, ptr %15321, align 4, !tbaa !5
  store i32 %15322, ptr %351, align 4, !tbaa !5
  %15323 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15324 = call i32 @s2n_print_stacktrace(ptr noundef %15323)
  %15325 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15326 = trunc i8 %15325 to i1
  br i1 %15326, label %15327, label %15349

15327:                                            ; preds = %15320
  %15328 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15329 = call i32 @fileno(ptr noundef %15328) #11
  %15330 = call i32 @isatty(i32 noundef %15329) #11
  %15331 = icmp ne i32 %15330, 0
  br i1 %15331, label %15332, label %15349

15332:                                            ; preds = %15327
  %15333 = load i32, ptr %351, align 4, !tbaa !5
  %15334 = call ptr @__errno_location() #12
  store i32 %15333, ptr %15334, align 4, !tbaa !5
  %15335 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15336 = load i32, ptr @test_count, align 4, !tbaa !5
  %15337 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15338 = load i32, ptr %15337, align 4, !tbaa !5
  %15339 = call ptr @s2n_strerror(i32 noundef %15338, ptr noundef @.str.4)
  %15340 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15341 = load i32, ptr %15340, align 4, !tbaa !5
  %15342 = call ptr @s2n_strerror_debug(i32 noundef %15341, ptr noundef @.str.4)
  %15343 = call ptr @__errno_location() #12
  %15344 = load i32, ptr %15343, align 4, !tbaa !5
  %15345 = call ptr @strerror(i32 noundef %15344) #11
  %15346 = call ptr @__errno_location() #12
  %15347 = load i32, ptr %15346, align 4, !tbaa !5
  %15348 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15335, ptr noundef @.str.2, i32 noundef %15336, ptr noundef @.str.23, ptr noundef @.str.1, i32 noundef 582, ptr noundef %15339, ptr noundef %15342, ptr noundef %15345, i32 noundef %15347) #11
  br label %15366

15349:                                            ; preds = %15327, %15320
  %15350 = load i32, ptr %351, align 4, !tbaa !5
  %15351 = call ptr @__errno_location() #12
  store i32 %15350, ptr %15351, align 4, !tbaa !5
  %15352 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15353 = load i32, ptr @test_count, align 4, !tbaa !5
  %15354 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15355 = load i32, ptr %15354, align 4, !tbaa !5
  %15356 = call ptr @s2n_strerror(i32 noundef %15355, ptr noundef @.str.4)
  %15357 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15358 = load i32, ptr %15357, align 4, !tbaa !5
  %15359 = call ptr @s2n_strerror_debug(i32 noundef %15358, ptr noundef @.str.4)
  %15360 = call ptr @__errno_location() #12
  %15361 = load i32, ptr %15360, align 4, !tbaa !5
  %15362 = call ptr @strerror(i32 noundef %15361) #11
  %15363 = call ptr @__errno_location() #12
  %15364 = load i32, ptr %15363, align 4, !tbaa !5
  %15365 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15352, ptr noundef @.str.5, i32 noundef %15353, ptr noundef @.str.23, ptr noundef @.str.1, i32 noundef 582, ptr noundef %15356, ptr noundef %15359, ptr noundef %15362, i32 noundef %15364) #11
  br label %15366

15366:                                            ; preds = %15349, %15332
  call void @llvm.lifetime.end.p0(i64 4, ptr %351) #11
  br label %15367

15367:                                            ; preds = %15366
  br label %15368

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

15369:                                            ; No predecessors!
  br label %15370

15370:                                            ; preds = %15369
  br label %15371

15371:                                            ; preds = %15370, %15313
  br label %15372

15372:                                            ; preds = %15371
  br label %15373

15373:                                            ; preds = %15372
  br label %15374

15374:                                            ; preds = %15373
  %15375 = load i32, ptr @test_count, align 4, !tbaa !5
  %15376 = add nsw i32 %15375, 1
  store i32 %15376, ptr @test_count, align 4, !tbaa !5
  %15377 = load ptr, ptr %350, align 8, !tbaa !9
  %15378 = load ptr, ptr %327, align 8, !tbaa !9
  %15379 = call i32 @s2n_connection_set_config(ptr noundef %15377, ptr noundef %15378)
  %15380 = icmp eq i32 %15379, -1
  br i1 %15380, label %15381, label %15434

15381:                                            ; preds = %15374
  br label %15382

15382:                                            ; preds = %15381
  br label %15383

15383:                                            ; preds = %15382
  call void @llvm.lifetime.start.p0(i64 4, ptr %352) #11
  %15384 = call ptr @__errno_location() #12
  %15385 = load i32, ptr %15384, align 4, !tbaa !5
  store i32 %15385, ptr %352, align 4, !tbaa !5
  %15386 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15387 = call i32 @s2n_print_stacktrace(ptr noundef %15386)
  %15388 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15389 = trunc i8 %15388 to i1
  br i1 %15389, label %15390, label %15412

15390:                                            ; preds = %15383
  %15391 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15392 = call i32 @fileno(ptr noundef %15391) #11
  %15393 = call i32 @isatty(i32 noundef %15392) #11
  %15394 = icmp ne i32 %15393, 0
  br i1 %15394, label %15395, label %15412

15395:                                            ; preds = %15390
  %15396 = load i32, ptr %352, align 4, !tbaa !5
  %15397 = call ptr @__errno_location() #12
  store i32 %15396, ptr %15397, align 4, !tbaa !5
  %15398 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15399 = load i32, ptr @test_count, align 4, !tbaa !5
  %15400 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15401 = load i32, ptr %15400, align 4, !tbaa !5
  %15402 = call ptr @s2n_strerror(i32 noundef %15401, ptr noundef @.str.4)
  %15403 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15404 = load i32, ptr %15403, align 4, !tbaa !5
  %15405 = call ptr @s2n_strerror_debug(i32 noundef %15404, ptr noundef @.str.4)
  %15406 = call ptr @__errno_location() #12
  %15407 = load i32, ptr %15406, align 4, !tbaa !5
  %15408 = call ptr @strerror(i32 noundef %15407) #11
  %15409 = call ptr @__errno_location() #12
  %15410 = load i32, ptr %15409, align 4, !tbaa !5
  %15411 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15398, ptr noundef @.str.2, i32 noundef %15399, ptr noundef @.str.126, ptr noundef @.str.1, i32 noundef 583, ptr noundef %15402, ptr noundef %15405, ptr noundef %15408, i32 noundef %15410) #11
  br label %15429

15412:                                            ; preds = %15390, %15383
  %15413 = load i32, ptr %352, align 4, !tbaa !5
  %15414 = call ptr @__errno_location() #12
  store i32 %15413, ptr %15414, align 4, !tbaa !5
  %15415 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15416 = load i32, ptr @test_count, align 4, !tbaa !5
  %15417 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15418 = load i32, ptr %15417, align 4, !tbaa !5
  %15419 = call ptr @s2n_strerror(i32 noundef %15418, ptr noundef @.str.4)
  %15420 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15421 = load i32, ptr %15420, align 4, !tbaa !5
  %15422 = call ptr @s2n_strerror_debug(i32 noundef %15421, ptr noundef @.str.4)
  %15423 = call ptr @__errno_location() #12
  %15424 = load i32, ptr %15423, align 4, !tbaa !5
  %15425 = call ptr @strerror(i32 noundef %15424) #11
  %15426 = call ptr @__errno_location() #12
  %15427 = load i32, ptr %15426, align 4, !tbaa !5
  %15428 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15415, ptr noundef @.str.5, i32 noundef %15416, ptr noundef @.str.126, ptr noundef @.str.1, i32 noundef 583, ptr noundef %15419, ptr noundef %15422, ptr noundef %15425, i32 noundef %15427) #11
  br label %15429

15429:                                            ; preds = %15412, %15395
  call void @llvm.lifetime.end.p0(i64 4, ptr %352) #11
  br label %15430

15430:                                            ; preds = %15429
  br label %15431

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

15432:                                            ; No predecessors!
  br label %15433

15433:                                            ; preds = %15432
  br label %15434

15434:                                            ; preds = %15433, %15374
  br label %15435

15435:                                            ; preds = %15434
  br label %15436

15436:                                            ; preds = %15435
  call void @llvm.lifetime.start.p0(i64 8, ptr %353) #11
  call void @llvm.memset.p0.i64(ptr align 4 %353, i8 0, i64 8, i1 false)
  br label %15437

15437:                                            ; preds = %15436
  %15438 = load i32, ptr @test_count, align 4, !tbaa !5
  %15439 = add nsw i32 %15438, 1
  store i32 %15439, ptr @test_count, align 4, !tbaa !5
  %15440 = call i32 @s2n_io_pair_init_non_blocking(ptr noundef %353)
  %15441 = icmp eq i32 %15440, -1
  br i1 %15441, label %15442, label %15495

15442:                                            ; preds = %15437
  br label %15443

15443:                                            ; preds = %15442
  br label %15444

15444:                                            ; preds = %15443
  call void @llvm.lifetime.start.p0(i64 4, ptr %354) #11
  %15445 = call ptr @__errno_location() #12
  %15446 = load i32, ptr %15445, align 4, !tbaa !5
  store i32 %15446, ptr %354, align 4, !tbaa !5
  %15447 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15448 = call i32 @s2n_print_stacktrace(ptr noundef %15447)
  %15449 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15450 = trunc i8 %15449 to i1
  br i1 %15450, label %15451, label %15473

15451:                                            ; preds = %15444
  %15452 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15453 = call i32 @fileno(ptr noundef %15452) #11
  %15454 = call i32 @isatty(i32 noundef %15453) #11
  %15455 = icmp ne i32 %15454, 0
  br i1 %15455, label %15456, label %15473

15456:                                            ; preds = %15451
  %15457 = load i32, ptr %354, align 4, !tbaa !5
  %15458 = call ptr @__errno_location() #12
  store i32 %15457, ptr %15458, align 4, !tbaa !5
  %15459 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15460 = load i32, ptr @test_count, align 4, !tbaa !5
  %15461 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15462 = load i32, ptr %15461, align 4, !tbaa !5
  %15463 = call ptr @s2n_strerror(i32 noundef %15462, ptr noundef @.str.4)
  %15464 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15465 = load i32, ptr %15464, align 4, !tbaa !5
  %15466 = call ptr @s2n_strerror_debug(i32 noundef %15465, ptr noundef @.str.4)
  %15467 = call ptr @__errno_location() #12
  %15468 = load i32, ptr %15467, align 4, !tbaa !5
  %15469 = call ptr @strerror(i32 noundef %15468) #11
  %15470 = call ptr @__errno_location() #12
  %15471 = load i32, ptr %15470, align 4, !tbaa !5
  %15472 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15459, ptr noundef @.str.2, i32 noundef %15460, ptr noundef @.str.25, ptr noundef @.str.1, i32 noundef 586, ptr noundef %15463, ptr noundef %15466, ptr noundef %15469, i32 noundef %15471) #11
  br label %15490

15473:                                            ; preds = %15451, %15444
  %15474 = load i32, ptr %354, align 4, !tbaa !5
  %15475 = call ptr @__errno_location() #12
  store i32 %15474, ptr %15475, align 4, !tbaa !5
  %15476 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15477 = load i32, ptr @test_count, align 4, !tbaa !5
  %15478 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15479 = load i32, ptr %15478, align 4, !tbaa !5
  %15480 = call ptr @s2n_strerror(i32 noundef %15479, ptr noundef @.str.4)
  %15481 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15482 = load i32, ptr %15481, align 4, !tbaa !5
  %15483 = call ptr @s2n_strerror_debug(i32 noundef %15482, ptr noundef @.str.4)
  %15484 = call ptr @__errno_location() #12
  %15485 = load i32, ptr %15484, align 4, !tbaa !5
  %15486 = call ptr @strerror(i32 noundef %15485) #11
  %15487 = call ptr @__errno_location() #12
  %15488 = load i32, ptr %15487, align 4, !tbaa !5
  %15489 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15476, ptr noundef @.str.5, i32 noundef %15477, ptr noundef @.str.25, ptr noundef @.str.1, i32 noundef 586, ptr noundef %15480, ptr noundef %15483, ptr noundef %15486, i32 noundef %15488) #11
  br label %15490

15490:                                            ; preds = %15473, %15456
  call void @llvm.lifetime.end.p0(i64 4, ptr %354) #11
  br label %15491

15491:                                            ; preds = %15490
  br label %15492

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

15493:                                            ; No predecessors!
  br label %15494

15494:                                            ; preds = %15493
  br label %15495

15495:                                            ; preds = %15494, %15437
  br label %15496

15496:                                            ; preds = %15495
  br label %15497

15497:                                            ; preds = %15496
  br label %15498

15498:                                            ; preds = %15497
  %15499 = load i32, ptr @test_count, align 4, !tbaa !5
  %15500 = add nsw i32 %15499, 1
  store i32 %15500, ptr @test_count, align 4, !tbaa !5
  %15501 = load ptr, ptr %350, align 8, !tbaa !9
  %15502 = call i32 @s2n_connection_set_io_pair(ptr noundef %15501, ptr noundef %353)
  %15503 = icmp eq i32 %15502, -1
  br i1 %15503, label %15504, label %15557

15504:                                            ; preds = %15498
  br label %15505

15505:                                            ; preds = %15504
  br label %15506

15506:                                            ; preds = %15505
  call void @llvm.lifetime.start.p0(i64 4, ptr %355) #11
  %15507 = call ptr @__errno_location() #12
  %15508 = load i32, ptr %15507, align 4, !tbaa !5
  store i32 %15508, ptr %355, align 4, !tbaa !5
  %15509 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15510 = call i32 @s2n_print_stacktrace(ptr noundef %15509)
  %15511 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15512 = trunc i8 %15511 to i1
  br i1 %15512, label %15513, label %15535

15513:                                            ; preds = %15506
  %15514 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15515 = call i32 @fileno(ptr noundef %15514) #11
  %15516 = call i32 @isatty(i32 noundef %15515) #11
  %15517 = icmp ne i32 %15516, 0
  br i1 %15517, label %15518, label %15535

15518:                                            ; preds = %15513
  %15519 = load i32, ptr %355, align 4, !tbaa !5
  %15520 = call ptr @__errno_location() #12
  store i32 %15519, ptr %15520, align 4, !tbaa !5
  %15521 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15522 = load i32, ptr @test_count, align 4, !tbaa !5
  %15523 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15524 = load i32, ptr %15523, align 4, !tbaa !5
  %15525 = call ptr @s2n_strerror(i32 noundef %15524, ptr noundef @.str.4)
  %15526 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15527 = load i32, ptr %15526, align 4, !tbaa !5
  %15528 = call ptr @s2n_strerror_debug(i32 noundef %15527, ptr noundef @.str.4)
  %15529 = call ptr @__errno_location() #12
  %15530 = load i32, ptr %15529, align 4, !tbaa !5
  %15531 = call ptr @strerror(i32 noundef %15530) #11
  %15532 = call ptr @__errno_location() #12
  %15533 = load i32, ptr %15532, align 4, !tbaa !5
  %15534 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15521, ptr noundef @.str.2, i32 noundef %15522, ptr noundef @.str.26, ptr noundef @.str.1, i32 noundef 587, ptr noundef %15525, ptr noundef %15528, ptr noundef %15531, i32 noundef %15533) #11
  br label %15552

15535:                                            ; preds = %15513, %15506
  %15536 = load i32, ptr %355, align 4, !tbaa !5
  %15537 = call ptr @__errno_location() #12
  store i32 %15536, ptr %15537, align 4, !tbaa !5
  %15538 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15539 = load i32, ptr @test_count, align 4, !tbaa !5
  %15540 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15541 = load i32, ptr %15540, align 4, !tbaa !5
  %15542 = call ptr @s2n_strerror(i32 noundef %15541, ptr noundef @.str.4)
  %15543 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15544 = load i32, ptr %15543, align 4, !tbaa !5
  %15545 = call ptr @s2n_strerror_debug(i32 noundef %15544, ptr noundef @.str.4)
  %15546 = call ptr @__errno_location() #12
  %15547 = load i32, ptr %15546, align 4, !tbaa !5
  %15548 = call ptr @strerror(i32 noundef %15547) #11
  %15549 = call ptr @__errno_location() #12
  %15550 = load i32, ptr %15549, align 4, !tbaa !5
  %15551 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15538, ptr noundef @.str.5, i32 noundef %15539, ptr noundef @.str.26, ptr noundef @.str.1, i32 noundef 587, ptr noundef %15542, ptr noundef %15545, ptr noundef %15548, i32 noundef %15550) #11
  br label %15552

15552:                                            ; preds = %15535, %15518
  call void @llvm.lifetime.end.p0(i64 4, ptr %355) #11
  br label %15553

15553:                                            ; preds = %15552
  br label %15554

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

15555:                                            ; No predecessors!
  br label %15556

15556:                                            ; preds = %15555
  br label %15557

15557:                                            ; preds = %15556, %15498
  br label %15558

15558:                                            ; preds = %15557
  br label %15559

15559:                                            ; preds = %15558
  br label %15560

15560:                                            ; preds = %15559
  %15561 = load i32, ptr @test_count, align 4, !tbaa !5
  %15562 = add nsw i32 %15561, 1
  store i32 %15562, ptr @test_count, align 4, !tbaa !5
  %15563 = load ptr, ptr %347, align 8, !tbaa !9
  %15564 = call i32 @s2n_connection_set_io_pair(ptr noundef %15563, ptr noundef %353)
  %15565 = icmp eq i32 %15564, -1
  br i1 %15565, label %15566, label %15619

15566:                                            ; preds = %15560
  br label %15567

15567:                                            ; preds = %15566
  br label %15568

15568:                                            ; preds = %15567
  call void @llvm.lifetime.start.p0(i64 4, ptr %356) #11
  %15569 = call ptr @__errno_location() #12
  %15570 = load i32, ptr %15569, align 4, !tbaa !5
  store i32 %15570, ptr %356, align 4, !tbaa !5
  %15571 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15572 = call i32 @s2n_print_stacktrace(ptr noundef %15571)
  %15573 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15574 = trunc i8 %15573 to i1
  br i1 %15574, label %15575, label %15597

15575:                                            ; preds = %15568
  %15576 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15577 = call i32 @fileno(ptr noundef %15576) #11
  %15578 = call i32 @isatty(i32 noundef %15577) #11
  %15579 = icmp ne i32 %15578, 0
  br i1 %15579, label %15580, label %15597

15580:                                            ; preds = %15575
  %15581 = load i32, ptr %356, align 4, !tbaa !5
  %15582 = call ptr @__errno_location() #12
  store i32 %15581, ptr %15582, align 4, !tbaa !5
  %15583 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15584 = load i32, ptr @test_count, align 4, !tbaa !5
  %15585 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15586 = load i32, ptr %15585, align 4, !tbaa !5
  %15587 = call ptr @s2n_strerror(i32 noundef %15586, ptr noundef @.str.4)
  %15588 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15589 = load i32, ptr %15588, align 4, !tbaa !5
  %15590 = call ptr @s2n_strerror_debug(i32 noundef %15589, ptr noundef @.str.4)
  %15591 = call ptr @__errno_location() #12
  %15592 = load i32, ptr %15591, align 4, !tbaa !5
  %15593 = call ptr @strerror(i32 noundef %15592) #11
  %15594 = call ptr @__errno_location() #12
  %15595 = load i32, ptr %15594, align 4, !tbaa !5
  %15596 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15583, ptr noundef @.str.2, i32 noundef %15584, ptr noundef @.str.27, ptr noundef @.str.1, i32 noundef 588, ptr noundef %15587, ptr noundef %15590, ptr noundef %15593, i32 noundef %15595) #11
  br label %15614

15597:                                            ; preds = %15575, %15568
  %15598 = load i32, ptr %356, align 4, !tbaa !5
  %15599 = call ptr @__errno_location() #12
  store i32 %15598, ptr %15599, align 4, !tbaa !5
  %15600 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15601 = load i32, ptr @test_count, align 4, !tbaa !5
  %15602 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15603 = load i32, ptr %15602, align 4, !tbaa !5
  %15604 = call ptr @s2n_strerror(i32 noundef %15603, ptr noundef @.str.4)
  %15605 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15606 = load i32, ptr %15605, align 4, !tbaa !5
  %15607 = call ptr @s2n_strerror_debug(i32 noundef %15606, ptr noundef @.str.4)
  %15608 = call ptr @__errno_location() #12
  %15609 = load i32, ptr %15608, align 4, !tbaa !5
  %15610 = call ptr @strerror(i32 noundef %15609) #11
  %15611 = call ptr @__errno_location() #12
  %15612 = load i32, ptr %15611, align 4, !tbaa !5
  %15613 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15600, ptr noundef @.str.5, i32 noundef %15601, ptr noundef @.str.27, ptr noundef @.str.1, i32 noundef 588, ptr noundef %15604, ptr noundef %15607, ptr noundef %15610, i32 noundef %15612) #11
  br label %15614

15614:                                            ; preds = %15597, %15580
  call void @llvm.lifetime.end.p0(i64 4, ptr %356) #11
  br label %15615

15615:                                            ; preds = %15614
  br label %15616

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

15617:                                            ; No predecessors!
  br label %15618

15618:                                            ; preds = %15617
  br label %15619

15619:                                            ; preds = %15618, %15560
  br label %15620

15620:                                            ; preds = %15619
  br label %15621

15621:                                            ; preds = %15620
  %15622 = load i64, ptr %345, align 8, !tbaa !45
  %15623 = getelementptr inbounds [2000 x %struct.s2n_reneg_test_case], ptr %332, i64 0, i64 %15622
  %15624 = getelementptr inbounds %struct.s2n_reneg_test_case, ptr %15623, i32 0, i32 0
  %15625 = load i8, ptr %15624, align 8, !tbaa !62
  %15626 = load ptr, ptr %347, align 8, !tbaa !9
  %15627 = getelementptr inbounds %struct.s2n_connection, ptr %15626, i32 0, i32 22
  store i8 %15625, ptr %15627, align 1, !tbaa !76
  br label %15628

15628:                                            ; preds = %15621
  %15629 = load i32, ptr @test_count, align 4, !tbaa !5
  %15630 = add nsw i32 %15629, 1
  store i32 %15630, ptr @test_count, align 4, !tbaa !5
  %15631 = load ptr, ptr %327, align 8, !tbaa !9
  %15632 = load i64, ptr %345, align 8, !tbaa !45
  %15633 = getelementptr inbounds [2000 x %struct.s2n_reneg_test_case], ptr %332, i64 0, i64 %15632
  %15634 = getelementptr inbounds %struct.s2n_reneg_test_case, ptr %15633, i32 0, i32 2
  %15635 = load i8, ptr %15634, align 8, !tbaa !72
  %15636 = zext i8 %15635 to i32
  %15637 = call i32 @s2n_config_send_max_fragment_length(ptr noundef %15631, i32 noundef %15636)
  %15638 = icmp eq i32 %15637, -1
  br i1 %15638, label %15639, label %15692

15639:                                            ; preds = %15628
  br label %15640

15640:                                            ; preds = %15639
  br label %15641

15641:                                            ; preds = %15640
  call void @llvm.lifetime.start.p0(i64 4, ptr %357) #11
  %15642 = call ptr @__errno_location() #12
  %15643 = load i32, ptr %15642, align 4, !tbaa !5
  store i32 %15643, ptr %357, align 4, !tbaa !5
  %15644 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15645 = call i32 @s2n_print_stacktrace(ptr noundef %15644)
  %15646 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15647 = trunc i8 %15646 to i1
  br i1 %15647, label %15648, label %15670

15648:                                            ; preds = %15641
  %15649 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15650 = call i32 @fileno(ptr noundef %15649) #11
  %15651 = call i32 @isatty(i32 noundef %15650) #11
  %15652 = icmp ne i32 %15651, 0
  br i1 %15652, label %15653, label %15670

15653:                                            ; preds = %15648
  %15654 = load i32, ptr %357, align 4, !tbaa !5
  %15655 = call ptr @__errno_location() #12
  store i32 %15654, ptr %15655, align 4, !tbaa !5
  %15656 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15657 = load i32, ptr @test_count, align 4, !tbaa !5
  %15658 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15659 = load i32, ptr %15658, align 4, !tbaa !5
  %15660 = call ptr @s2n_strerror(i32 noundef %15659, ptr noundef @.str.4)
  %15661 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15662 = load i32, ptr %15661, align 4, !tbaa !5
  %15663 = call ptr @s2n_strerror_debug(i32 noundef %15662, ptr noundef @.str.4)
  %15664 = call ptr @__errno_location() #12
  %15665 = load i32, ptr %15664, align 4, !tbaa !5
  %15666 = call ptr @strerror(i32 noundef %15665) #11
  %15667 = call ptr @__errno_location() #12
  %15668 = load i32, ptr %15667, align 4, !tbaa !5
  %15669 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15656, ptr noundef @.str.2, i32 noundef %15657, ptr noundef @.str.127, ptr noundef @.str.1, i32 noundef 592, ptr noundef %15660, ptr noundef %15663, ptr noundef %15666, i32 noundef %15668) #11
  br label %15687

15670:                                            ; preds = %15648, %15641
  %15671 = load i32, ptr %357, align 4, !tbaa !5
  %15672 = call ptr @__errno_location() #12
  store i32 %15671, ptr %15672, align 4, !tbaa !5
  %15673 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15674 = load i32, ptr @test_count, align 4, !tbaa !5
  %15675 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15676 = load i32, ptr %15675, align 4, !tbaa !5
  %15677 = call ptr @s2n_strerror(i32 noundef %15676, ptr noundef @.str.4)
  %15678 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15679 = load i32, ptr %15678, align 4, !tbaa !5
  %15680 = call ptr @s2n_strerror_debug(i32 noundef %15679, ptr noundef @.str.4)
  %15681 = call ptr @__errno_location() #12
  %15682 = load i32, ptr %15681, align 4, !tbaa !5
  %15683 = call ptr @strerror(i32 noundef %15682) #11
  %15684 = call ptr @__errno_location() #12
  %15685 = load i32, ptr %15684, align 4, !tbaa !5
  %15686 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15673, ptr noundef @.str.5, i32 noundef %15674, ptr noundef @.str.127, ptr noundef @.str.1, i32 noundef 592, ptr noundef %15677, ptr noundef %15680, ptr noundef %15683, i32 noundef %15685) #11
  br label %15687

15687:                                            ; preds = %15670, %15653
  call void @llvm.lifetime.end.p0(i64 4, ptr %357) #11
  br label %15688

15688:                                            ; preds = %15687
  br label %15689

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

15690:                                            ; No predecessors!
  br label %15691

15691:                                            ; preds = %15690
  br label %15692

15692:                                            ; preds = %15691, %15628
  br label %15693

15693:                                            ; preds = %15692
  br label %15694

15694:                                            ; preds = %15693
  %15695 = load i64, ptr %345, align 8, !tbaa !45
  %15696 = getelementptr inbounds [2000 x %struct.s2n_reneg_test_case], ptr %332, i64 0, i64 %15695
  %15697 = getelementptr inbounds %struct.s2n_reneg_test_case, ptr %15696, i32 0, i32 1
  %15698 = getelementptr inbounds %struct.s2n_cipher_preferences, ptr %319, i32 0, i32 1
  store ptr %15697, ptr %15698, align 8, !tbaa !68
  br label %15699

15699:                                            ; preds = %15694
  %15700 = load i32, ptr @test_count, align 4, !tbaa !5
  %15701 = add nsw i32 %15700, 1
  store i32 %15701, ptr @test_count, align 4, !tbaa !5
  %15702 = load ptr, ptr %347, align 8, !tbaa !9
  %15703 = load ptr, ptr %350, align 8, !tbaa !9
  %15704 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef %15702, ptr noundef %15703)
  %15705 = icmp eq i32 %15704, -1
  br i1 %15705, label %15706, label %15759

15706:                                            ; preds = %15699
  br label %15707

15707:                                            ; preds = %15706
  br label %15708

15708:                                            ; preds = %15707
  call void @llvm.lifetime.start.p0(i64 4, ptr %358) #11
  %15709 = call ptr @__errno_location() #12
  %15710 = load i32, ptr %15709, align 4, !tbaa !5
  store i32 %15710, ptr %358, align 4, !tbaa !5
  %15711 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15712 = call i32 @s2n_print_stacktrace(ptr noundef %15711)
  %15713 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15714 = trunc i8 %15713 to i1
  br i1 %15714, label %15715, label %15737

15715:                                            ; preds = %15708
  %15716 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15717 = call i32 @fileno(ptr noundef %15716) #11
  %15718 = call i32 @isatty(i32 noundef %15717) #11
  %15719 = icmp ne i32 %15718, 0
  br i1 %15719, label %15720, label %15737

15720:                                            ; preds = %15715
  %15721 = load i32, ptr %358, align 4, !tbaa !5
  %15722 = call ptr @__errno_location() #12
  store i32 %15721, ptr %15722, align 4, !tbaa !5
  %15723 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15724 = load i32, ptr @test_count, align 4, !tbaa !5
  %15725 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15726 = load i32, ptr %15725, align 4, !tbaa !5
  %15727 = call ptr @s2n_strerror(i32 noundef %15726, ptr noundef @.str.4)
  %15728 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15729 = load i32, ptr %15728, align 4, !tbaa !5
  %15730 = call ptr @s2n_strerror_debug(i32 noundef %15729, ptr noundef @.str.4)
  %15731 = call ptr @__errno_location() #12
  %15732 = load i32, ptr %15731, align 4, !tbaa !5
  %15733 = call ptr @strerror(i32 noundef %15732) #11
  %15734 = call ptr @__errno_location() #12
  %15735 = load i32, ptr %15734, align 4, !tbaa !5
  %15736 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15723, ptr noundef @.str.2, i32 noundef %15724, ptr noundef @.str.32, ptr noundef @.str.1, i32 noundef 595, ptr noundef %15727, ptr noundef %15730, ptr noundef %15733, i32 noundef %15735) #11
  br label %15754

15737:                                            ; preds = %15715, %15708
  %15738 = load i32, ptr %358, align 4, !tbaa !5
  %15739 = call ptr @__errno_location() #12
  store i32 %15738, ptr %15739, align 4, !tbaa !5
  %15740 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15741 = load i32, ptr @test_count, align 4, !tbaa !5
  %15742 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15743 = load i32, ptr %15742, align 4, !tbaa !5
  %15744 = call ptr @s2n_strerror(i32 noundef %15743, ptr noundef @.str.4)
  %15745 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15746 = load i32, ptr %15745, align 4, !tbaa !5
  %15747 = call ptr @s2n_strerror_debug(i32 noundef %15746, ptr noundef @.str.4)
  %15748 = call ptr @__errno_location() #12
  %15749 = load i32, ptr %15748, align 4, !tbaa !5
  %15750 = call ptr @strerror(i32 noundef %15749) #11
  %15751 = call ptr @__errno_location() #12
  %15752 = load i32, ptr %15751, align 4, !tbaa !5
  %15753 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15740, ptr noundef @.str.5, i32 noundef %15741, ptr noundef @.str.32, ptr noundef @.str.1, i32 noundef 595, ptr noundef %15744, ptr noundef %15747, ptr noundef %15750, i32 noundef %15752) #11
  br label %15754

15754:                                            ; preds = %15737, %15720
  call void @llvm.lifetime.end.p0(i64 4, ptr %358) #11
  br label %15755

15755:                                            ; preds = %15754
  br label %15756

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

15757:                                            ; No predecessors!
  br label %15758

15758:                                            ; preds = %15757
  br label %15759

15759:                                            ; preds = %15758, %15699
  br label %15760

15760:                                            ; preds = %15759
  br label %15761

15761:                                            ; preds = %15760
  br label %15762

15762:                                            ; preds = %15761
  %15763 = load i32, ptr @test_count, align 4, !tbaa !5
  %15764 = add nsw i32 %15763, 1
  store i32 %15764, ptr @test_count, align 4, !tbaa !5
  %15765 = load ptr, ptr %350, align 8, !tbaa !9
  %15766 = getelementptr inbounds %struct.s2n_connection, ptr %15765, i32 0, i32 23
  %15767 = load i8, ptr %15766, align 4, !tbaa !48
  %15768 = zext i8 %15767 to i32
  %15769 = load i64, ptr %345, align 8, !tbaa !45
  %15770 = getelementptr inbounds [2000 x %struct.s2n_reneg_test_case], ptr %332, i64 0, i64 %15769
  %15771 = getelementptr inbounds %struct.s2n_reneg_test_case, ptr %15770, i32 0, i32 0
  %15772 = load i8, ptr %15771, align 8, !tbaa !62
  %15773 = zext i8 %15772 to i32
  %15774 = icmp eq i32 %15768, %15773
  br i1 %15774, label %15828, label %15775

15775:                                            ; preds = %15762
  br label %15776

15776:                                            ; preds = %15775
  br label %15777

15777:                                            ; preds = %15776
  call void @llvm.lifetime.start.p0(i64 4, ptr %359) #11
  %15778 = call ptr @__errno_location() #12
  %15779 = load i32, ptr %15778, align 4, !tbaa !5
  store i32 %15779, ptr %359, align 4, !tbaa !5
  %15780 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15781 = call i32 @s2n_print_stacktrace(ptr noundef %15780)
  %15782 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15783 = trunc i8 %15782 to i1
  br i1 %15783, label %15784, label %15806

15784:                                            ; preds = %15777
  %15785 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15786 = call i32 @fileno(ptr noundef %15785) #11
  %15787 = call i32 @isatty(i32 noundef %15786) #11
  %15788 = icmp ne i32 %15787, 0
  br i1 %15788, label %15789, label %15806

15789:                                            ; preds = %15784
  %15790 = load i32, ptr %359, align 4, !tbaa !5
  %15791 = call ptr @__errno_location() #12
  store i32 %15790, ptr %15791, align 4, !tbaa !5
  %15792 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15793 = load i32, ptr @test_count, align 4, !tbaa !5
  %15794 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15795 = load i32, ptr %15794, align 4, !tbaa !5
  %15796 = call ptr @s2n_strerror(i32 noundef %15795, ptr noundef @.str.4)
  %15797 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15798 = load i32, ptr %15797, align 4, !tbaa !5
  %15799 = call ptr @s2n_strerror_debug(i32 noundef %15798, ptr noundef @.str.4)
  %15800 = call ptr @__errno_location() #12
  %15801 = load i32, ptr %15800, align 4, !tbaa !5
  %15802 = call ptr @strerror(i32 noundef %15801) #11
  %15803 = call ptr @__errno_location() #12
  %15804 = load i32, ptr %15803, align 4, !tbaa !5
  %15805 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15792, ptr noundef @.str.2, i32 noundef %15793, ptr noundef @.str.128, ptr noundef @.str.1, i32 noundef 598, ptr noundef %15796, ptr noundef %15799, ptr noundef %15802, i32 noundef %15804) #11
  br label %15823

15806:                                            ; preds = %15784, %15777
  %15807 = load i32, ptr %359, align 4, !tbaa !5
  %15808 = call ptr @__errno_location() #12
  store i32 %15807, ptr %15808, align 4, !tbaa !5
  %15809 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15810 = load i32, ptr @test_count, align 4, !tbaa !5
  %15811 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15812 = load i32, ptr %15811, align 4, !tbaa !5
  %15813 = call ptr @s2n_strerror(i32 noundef %15812, ptr noundef @.str.4)
  %15814 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15815 = load i32, ptr %15814, align 4, !tbaa !5
  %15816 = call ptr @s2n_strerror_debug(i32 noundef %15815, ptr noundef @.str.4)
  %15817 = call ptr @__errno_location() #12
  %15818 = load i32, ptr %15817, align 4, !tbaa !5
  %15819 = call ptr @strerror(i32 noundef %15818) #11
  %15820 = call ptr @__errno_location() #12
  %15821 = load i32, ptr %15820, align 4, !tbaa !5
  %15822 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15809, ptr noundef @.str.5, i32 noundef %15810, ptr noundef @.str.128, ptr noundef @.str.1, i32 noundef 598, ptr noundef %15813, ptr noundef %15816, ptr noundef %15819, i32 noundef %15821) #11
  br label %15823

15823:                                            ; preds = %15806, %15789
  call void @llvm.lifetime.end.p0(i64 4, ptr %359) #11
  br label %15824

15824:                                            ; preds = %15823
  br label %15825

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

15826:                                            ; No predecessors!
  br label %15827

15827:                                            ; preds = %15826
  br label %15828

15828:                                            ; preds = %15827, %15762
  br label %15829

15829:                                            ; preds = %15828
  br label %15830

15830:                                            ; preds = %15829
  br label %15831

15831:                                            ; preds = %15830
  %15832 = load i32, ptr @test_count, align 4, !tbaa !5
  %15833 = add nsw i32 %15832, 1
  store i32 %15833, ptr @test_count, align 4, !tbaa !5
  %15834 = load ptr, ptr %350, align 8, !tbaa !9
  %15835 = getelementptr inbounds %struct.s2n_connection, ptr %15834, i32 0, i32 53
  %15836 = load i16, ptr %15835, align 8, !tbaa !46
  %15837 = zext i16 %15836 to i32
  %15838 = load i64, ptr %345, align 8, !tbaa !45
  %15839 = getelementptr inbounds [2000 x %struct.s2n_reneg_test_case], ptr %332, i64 0, i64 %15838
  %15840 = getelementptr inbounds %struct.s2n_reneg_test_case, ptr %15839, i32 0, i32 2
  %15841 = load i8, ptr %15840, align 8, !tbaa !72
  %15842 = zext i8 %15841 to i64
  %15843 = getelementptr inbounds [5 x i16], ptr @mfl_code_to_length, i64 0, i64 %15842
  %15844 = load i16, ptr %15843, align 2, !tbaa !49
  %15845 = zext i16 %15844 to i32
  %15846 = icmp eq i32 %15837, %15845
  br i1 %15846, label %15900, label %15847

15847:                                            ; preds = %15831
  br label %15848

15848:                                            ; preds = %15847
  br label %15849

15849:                                            ; preds = %15848
  call void @llvm.lifetime.start.p0(i64 4, ptr %360) #11
  %15850 = call ptr @__errno_location() #12
  %15851 = load i32, ptr %15850, align 4, !tbaa !5
  store i32 %15851, ptr %360, align 4, !tbaa !5
  %15852 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15853 = call i32 @s2n_print_stacktrace(ptr noundef %15852)
  %15854 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15855 = trunc i8 %15854 to i1
  br i1 %15855, label %15856, label %15878

15856:                                            ; preds = %15849
  %15857 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15858 = call i32 @fileno(ptr noundef %15857) #11
  %15859 = call i32 @isatty(i32 noundef %15858) #11
  %15860 = icmp ne i32 %15859, 0
  br i1 %15860, label %15861, label %15878

15861:                                            ; preds = %15856
  %15862 = load i32, ptr %360, align 4, !tbaa !5
  %15863 = call ptr @__errno_location() #12
  store i32 %15862, ptr %15863, align 4, !tbaa !5
  %15864 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15865 = load i32, ptr @test_count, align 4, !tbaa !5
  %15866 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15867 = load i32, ptr %15866, align 4, !tbaa !5
  %15868 = call ptr @s2n_strerror(i32 noundef %15867, ptr noundef @.str.4)
  %15869 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15870 = load i32, ptr %15869, align 4, !tbaa !5
  %15871 = call ptr @s2n_strerror_debug(i32 noundef %15870, ptr noundef @.str.4)
  %15872 = call ptr @__errno_location() #12
  %15873 = load i32, ptr %15872, align 4, !tbaa !5
  %15874 = call ptr @strerror(i32 noundef %15873) #11
  %15875 = call ptr @__errno_location() #12
  %15876 = load i32, ptr %15875, align 4, !tbaa !5
  %15877 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15864, ptr noundef @.str.2, i32 noundef %15865, ptr noundef @.str.129, ptr noundef @.str.1, i32 noundef 599, ptr noundef %15868, ptr noundef %15871, ptr noundef %15874, i32 noundef %15876) #11
  br label %15895

15878:                                            ; preds = %15856, %15849
  %15879 = load i32, ptr %360, align 4, !tbaa !5
  %15880 = call ptr @__errno_location() #12
  store i32 %15879, ptr %15880, align 4, !tbaa !5
  %15881 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15882 = load i32, ptr @test_count, align 4, !tbaa !5
  %15883 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15884 = load i32, ptr %15883, align 4, !tbaa !5
  %15885 = call ptr @s2n_strerror(i32 noundef %15884, ptr noundef @.str.4)
  %15886 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15887 = load i32, ptr %15886, align 4, !tbaa !5
  %15888 = call ptr @s2n_strerror_debug(i32 noundef %15887, ptr noundef @.str.4)
  %15889 = call ptr @__errno_location() #12
  %15890 = load i32, ptr %15889, align 4, !tbaa !5
  %15891 = call ptr @strerror(i32 noundef %15890) #11
  %15892 = call ptr @__errno_location() #12
  %15893 = load i32, ptr %15892, align 4, !tbaa !5
  %15894 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15881, ptr noundef @.str.5, i32 noundef %15882, ptr noundef @.str.129, ptr noundef @.str.1, i32 noundef 599, ptr noundef %15885, ptr noundef %15888, ptr noundef %15891, i32 noundef %15893) #11
  br label %15895

15895:                                            ; preds = %15878, %15861
  call void @llvm.lifetime.end.p0(i64 4, ptr %360) #11
  br label %15896

15896:                                            ; preds = %15895
  br label %15897

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

15898:                                            ; No predecessors!
  br label %15899

15899:                                            ; preds = %15898
  br label %15900

15900:                                            ; preds = %15899, %15831
  br label %15901

15901:                                            ; preds = %15900
  br label %15902

15902:                                            ; preds = %15901
  %15903 = load i64, ptr %345, align 8, !tbaa !45
  %15904 = getelementptr inbounds [2000 x %struct.s2n_reneg_test_case], ptr %332, i64 0, i64 %15903
  %15905 = getelementptr inbounds %struct.s2n_reneg_test_case, ptr %15904, i32 0, i32 0
  %15906 = load i8, ptr %15905, align 8, !tbaa !62
  %15907 = zext i8 %15906 to i32
  %15908 = icmp sgt i32 %15907, 30
  br i1 %15908, label %15909, label %15979

15909:                                            ; preds = %15902
  br label %15910

15910:                                            ; preds = %15909
  %15911 = load i32, ptr @test_count, align 4, !tbaa !5
  %15912 = add nsw i32 %15911, 1
  store i32 %15912, ptr @test_count, align 4, !tbaa !5
  %15913 = load ptr, ptr %350, align 8, !tbaa !9
  %15914 = getelementptr inbounds %struct.s2n_connection, ptr %15913, i32 0, i32 27
  %15915 = load ptr, ptr %15914, align 8, !tbaa !77
  %15916 = getelementptr inbounds %struct.s2n_crypto_parameters, ptr %15915, i32 0, i32 0
  %15917 = load ptr, ptr %15916, align 8, !tbaa !78
  %15918 = load i64, ptr %345, align 8, !tbaa !45
  %15919 = getelementptr inbounds [2000 x %struct.s2n_reneg_test_case], ptr %332, i64 0, i64 %15918
  %15920 = getelementptr inbounds %struct.s2n_reneg_test_case, ptr %15919, i32 0, i32 1
  %15921 = load ptr, ptr %15920, align 8, !tbaa !60
  %15922 = icmp eq ptr %15917, %15921
  br i1 %15922, label %15976, label %15923

15923:                                            ; preds = %15910
  br label %15924

15924:                                            ; preds = %15923
  br label %15925

15925:                                            ; preds = %15924
  call void @llvm.lifetime.start.p0(i64 4, ptr %361) #11
  %15926 = call ptr @__errno_location() #12
  %15927 = load i32, ptr %15926, align 4, !tbaa !5
  store i32 %15927, ptr %361, align 4, !tbaa !5
  %15928 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15929 = call i32 @s2n_print_stacktrace(ptr noundef %15928)
  %15930 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15931 = trunc i8 %15930 to i1
  br i1 %15931, label %15932, label %15954

15932:                                            ; preds = %15925
  %15933 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15934 = call i32 @fileno(ptr noundef %15933) #11
  %15935 = call i32 @isatty(i32 noundef %15934) #11
  %15936 = icmp ne i32 %15935, 0
  br i1 %15936, label %15937, label %15954

15937:                                            ; preds = %15932
  %15938 = load i32, ptr %361, align 4, !tbaa !5
  %15939 = call ptr @__errno_location() #12
  store i32 %15938, ptr %15939, align 4, !tbaa !5
  %15940 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15941 = load i32, ptr @test_count, align 4, !tbaa !5
  %15942 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15943 = load i32, ptr %15942, align 4, !tbaa !5
  %15944 = call ptr @s2n_strerror(i32 noundef %15943, ptr noundef @.str.4)
  %15945 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15946 = load i32, ptr %15945, align 4, !tbaa !5
  %15947 = call ptr @s2n_strerror_debug(i32 noundef %15946, ptr noundef @.str.4)
  %15948 = call ptr @__errno_location() #12
  %15949 = load i32, ptr %15948, align 4, !tbaa !5
  %15950 = call ptr @strerror(i32 noundef %15949) #11
  %15951 = call ptr @__errno_location() #12
  %15952 = load i32, ptr %15951, align 4, !tbaa !5
  %15953 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15940, ptr noundef @.str.2, i32 noundef %15941, ptr noundef @.str.130, ptr noundef @.str.1, i32 noundef 601, ptr noundef %15944, ptr noundef %15947, ptr noundef %15950, i32 noundef %15952) #11
  br label %15971

15954:                                            ; preds = %15932, %15925
  %15955 = load i32, ptr %361, align 4, !tbaa !5
  %15956 = call ptr @__errno_location() #12
  store i32 %15955, ptr %15956, align 4, !tbaa !5
  %15957 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15958 = load i32, ptr @test_count, align 4, !tbaa !5
  %15959 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15960 = load i32, ptr %15959, align 4, !tbaa !5
  %15961 = call ptr @s2n_strerror(i32 noundef %15960, ptr noundef @.str.4)
  %15962 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15963 = load i32, ptr %15962, align 4, !tbaa !5
  %15964 = call ptr @s2n_strerror_debug(i32 noundef %15963, ptr noundef @.str.4)
  %15965 = call ptr @__errno_location() #12
  %15966 = load i32, ptr %15965, align 4, !tbaa !5
  %15967 = call ptr @strerror(i32 noundef %15966) #11
  %15968 = call ptr @__errno_location() #12
  %15969 = load i32, ptr %15968, align 4, !tbaa !5
  %15970 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15957, ptr noundef @.str.5, i32 noundef %15958, ptr noundef @.str.130, ptr noundef @.str.1, i32 noundef 601, ptr noundef %15961, ptr noundef %15964, ptr noundef %15967, i32 noundef %15969) #11
  br label %15971

15971:                                            ; preds = %15954, %15937
  call void @llvm.lifetime.end.p0(i64 4, ptr %361) #11
  br label %15972

15972:                                            ; preds = %15971
  br label %15973

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

15974:                                            ; No predecessors!
  br label %15975

15975:                                            ; preds = %15974
  br label %15976

15976:                                            ; preds = %15975, %15910
  br label %15977

15977:                                            ; preds = %15976
  br label %15978

15978:                                            ; preds = %15977
  br label %16051

15979:                                            ; preds = %15902
  br label %15980

15980:                                            ; preds = %15979
  %15981 = load i32, ptr @test_count, align 4, !tbaa !5
  %15982 = add nsw i32 %15981, 1
  store i32 %15982, ptr @test_count, align 4, !tbaa !5
  %15983 = load ptr, ptr %350, align 8, !tbaa !9
  %15984 = getelementptr inbounds %struct.s2n_connection, ptr %15983, i32 0, i32 27
  %15985 = load ptr, ptr %15984, align 8, !tbaa !77
  %15986 = getelementptr inbounds %struct.s2n_crypto_parameters, ptr %15985, i32 0, i32 0
  %15987 = load ptr, ptr %15986, align 8, !tbaa !78
  %15988 = load i64, ptr %345, align 8, !tbaa !45
  %15989 = getelementptr inbounds [2000 x %struct.s2n_reneg_test_case], ptr %332, i64 0, i64 %15988
  %15990 = getelementptr inbounds %struct.s2n_reneg_test_case, ptr %15989, i32 0, i32 1
  %15991 = load ptr, ptr %15990, align 8, !tbaa !60
  %15992 = getelementptr inbounds %struct.s2n_cipher_suite, ptr %15991, i32 0, i32 10
  %15993 = load ptr, ptr %15992, align 8, !tbaa !83
  %15994 = icmp eq ptr %15987, %15993
  br i1 %15994, label %16048, label %15995

15995:                                            ; preds = %15980
  br label %15996

15996:                                            ; preds = %15995
  br label %15997

15997:                                            ; preds = %15996
  call void @llvm.lifetime.start.p0(i64 4, ptr %362) #11
  %15998 = call ptr @__errno_location() #12
  %15999 = load i32, ptr %15998, align 4, !tbaa !5
  store i32 %15999, ptr %362, align 4, !tbaa !5
  %16000 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16001 = call i32 @s2n_print_stacktrace(ptr noundef %16000)
  %16002 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16003 = trunc i8 %16002 to i1
  br i1 %16003, label %16004, label %16026

16004:                                            ; preds = %15997
  %16005 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16006 = call i32 @fileno(ptr noundef %16005) #11
  %16007 = call i32 @isatty(i32 noundef %16006) #11
  %16008 = icmp ne i32 %16007, 0
  br i1 %16008, label %16009, label %16026

16009:                                            ; preds = %16004
  %16010 = load i32, ptr %362, align 4, !tbaa !5
  %16011 = call ptr @__errno_location() #12
  store i32 %16010, ptr %16011, align 4, !tbaa !5
  %16012 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16013 = load i32, ptr @test_count, align 4, !tbaa !5
  %16014 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16015 = load i32, ptr %16014, align 4, !tbaa !5
  %16016 = call ptr @s2n_strerror(i32 noundef %16015, ptr noundef @.str.4)
  %16017 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16018 = load i32, ptr %16017, align 4, !tbaa !5
  %16019 = call ptr @s2n_strerror_debug(i32 noundef %16018, ptr noundef @.str.4)
  %16020 = call ptr @__errno_location() #12
  %16021 = load i32, ptr %16020, align 4, !tbaa !5
  %16022 = call ptr @strerror(i32 noundef %16021) #11
  %16023 = call ptr @__errno_location() #12
  %16024 = load i32, ptr %16023, align 4, !tbaa !5
  %16025 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16012, ptr noundef @.str.2, i32 noundef %16013, ptr noundef @.str.131, ptr noundef @.str.1, i32 noundef 603, ptr noundef %16016, ptr noundef %16019, ptr noundef %16022, i32 noundef %16024) #11
  br label %16043

16026:                                            ; preds = %16004, %15997
  %16027 = load i32, ptr %362, align 4, !tbaa !5
  %16028 = call ptr @__errno_location() #12
  store i32 %16027, ptr %16028, align 4, !tbaa !5
  %16029 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16030 = load i32, ptr @test_count, align 4, !tbaa !5
  %16031 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16032 = load i32, ptr %16031, align 4, !tbaa !5
  %16033 = call ptr @s2n_strerror(i32 noundef %16032, ptr noundef @.str.4)
  %16034 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16035 = load i32, ptr %16034, align 4, !tbaa !5
  %16036 = call ptr @s2n_strerror_debug(i32 noundef %16035, ptr noundef @.str.4)
  %16037 = call ptr @__errno_location() #12
  %16038 = load i32, ptr %16037, align 4, !tbaa !5
  %16039 = call ptr @strerror(i32 noundef %16038) #11
  %16040 = call ptr @__errno_location() #12
  %16041 = load i32, ptr %16040, align 4, !tbaa !5
  %16042 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16029, ptr noundef @.str.5, i32 noundef %16030, ptr noundef @.str.131, ptr noundef @.str.1, i32 noundef 603, ptr noundef %16033, ptr noundef %16036, ptr noundef %16039, i32 noundef %16041) #11
  br label %16043

16043:                                            ; preds = %16026, %16009
  call void @llvm.lifetime.end.p0(i64 4, ptr %362) #11
  br label %16044

16044:                                            ; preds = %16043
  br label %16045

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

16046:                                            ; No predecessors!
  br label %16047

16047:                                            ; preds = %16046
  br label %16048

16048:                                            ; preds = %16047, %15980
  br label %16049

16049:                                            ; preds = %16048
  br label %16050

16050:                                            ; preds = %16049
  br label %16051

16051:                                            ; preds = %16050, %15978
  br label %16052

16052:                                            ; preds = %16051
  %16053 = load i32, ptr @test_count, align 4, !tbaa !5
  %16054 = add nsw i32 %16053, 1
  store i32 %16054, ptr @test_count, align 4, !tbaa !5
  %16055 = load ptr, ptr %350, align 8, !tbaa !9
  %16056 = call i32 @s2n_renegotiate_wipe(ptr noundef %16055)
  %16057 = icmp eq i32 %16056, -1
  br i1 %16057, label %16058, label %16111

16058:                                            ; preds = %16052
  br label %16059

16059:                                            ; preds = %16058
  br label %16060

16060:                                            ; preds = %16059
  call void @llvm.lifetime.start.p0(i64 4, ptr %363) #11
  %16061 = call ptr @__errno_location() #12
  %16062 = load i32, ptr %16061, align 4, !tbaa !5
  store i32 %16062, ptr %363, align 4, !tbaa !5
  %16063 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16064 = call i32 @s2n_print_stacktrace(ptr noundef %16063)
  %16065 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16066 = trunc i8 %16065 to i1
  br i1 %16066, label %16067, label %16089

16067:                                            ; preds = %16060
  %16068 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16069 = call i32 @fileno(ptr noundef %16068) #11
  %16070 = call i32 @isatty(i32 noundef %16069) #11
  %16071 = icmp ne i32 %16070, 0
  br i1 %16071, label %16072, label %16089

16072:                                            ; preds = %16067
  %16073 = load i32, ptr %363, align 4, !tbaa !5
  %16074 = call ptr @__errno_location() #12
  store i32 %16073, ptr %16074, align 4, !tbaa !5
  %16075 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16076 = load i32, ptr @test_count, align 4, !tbaa !5
  %16077 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16078 = load i32, ptr %16077, align 4, !tbaa !5
  %16079 = call ptr @s2n_strerror(i32 noundef %16078, ptr noundef @.str.4)
  %16080 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16081 = load i32, ptr %16080, align 4, !tbaa !5
  %16082 = call ptr @s2n_strerror_debug(i32 noundef %16081, ptr noundef @.str.4)
  %16083 = call ptr @__errno_location() #12
  %16084 = load i32, ptr %16083, align 4, !tbaa !5
  %16085 = call ptr @strerror(i32 noundef %16084) #11
  %16086 = call ptr @__errno_location() #12
  %16087 = load i32, ptr %16086, align 4, !tbaa !5
  %16088 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16075, ptr noundef @.str.2, i32 noundef %16076, ptr noundef @.str.33, ptr noundef @.str.1, i32 noundef 606, ptr noundef %16079, ptr noundef %16082, ptr noundef %16085, i32 noundef %16087) #11
  br label %16106

16089:                                            ; preds = %16067, %16060
  %16090 = load i32, ptr %363, align 4, !tbaa !5
  %16091 = call ptr @__errno_location() #12
  store i32 %16090, ptr %16091, align 4, !tbaa !5
  %16092 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16093 = load i32, ptr @test_count, align 4, !tbaa !5
  %16094 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16095 = load i32, ptr %16094, align 4, !tbaa !5
  %16096 = call ptr @s2n_strerror(i32 noundef %16095, ptr noundef @.str.4)
  %16097 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16098 = load i32, ptr %16097, align 4, !tbaa !5
  %16099 = call ptr @s2n_strerror_debug(i32 noundef %16098, ptr noundef @.str.4)
  %16100 = call ptr @__errno_location() #12
  %16101 = load i32, ptr %16100, align 4, !tbaa !5
  %16102 = call ptr @strerror(i32 noundef %16101) #11
  %16103 = call ptr @__errno_location() #12
  %16104 = load i32, ptr %16103, align 4, !tbaa !5
  %16105 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16092, ptr noundef @.str.5, i32 noundef %16093, ptr noundef @.str.33, ptr noundef @.str.1, i32 noundef 606, ptr noundef %16096, ptr noundef %16099, ptr noundef %16102, i32 noundef %16104) #11
  br label %16106

16106:                                            ; preds = %16089, %16072
  call void @llvm.lifetime.end.p0(i64 4, ptr %363) #11
  br label %16107

16107:                                            ; preds = %16106
  br label %16108

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

16109:                                            ; No predecessors!
  br label %16110

16110:                                            ; preds = %16109
  br label %16111

16111:                                            ; preds = %16110, %16052
  br label %16112

16112:                                            ; preds = %16111
  br label %16113

16113:                                            ; preds = %16112
  br label %16114

16114:                                            ; preds = %16113
  %16115 = load i32, ptr @test_count, align 4, !tbaa !5
  %16116 = add nsw i32 %16115, 1
  store i32 %16116, ptr @test_count, align 4, !tbaa !5
  %16117 = load ptr, ptr %347, align 8, !tbaa !9
  %16118 = getelementptr inbounds [20 x i8], ptr %20, i64 0, i64 0
  %16119 = call i64 @s2n_send(ptr noundef %16117, ptr noundef %16118, i64 noundef 20, ptr noundef %22)
  %16120 = icmp eq i64 %16119, 20
  br i1 %16120, label %16174, label %16121

16121:                                            ; preds = %16114
  br label %16122

16122:                                            ; preds = %16121
  br label %16123

16123:                                            ; preds = %16122
  call void @llvm.lifetime.start.p0(i64 4, ptr %364) #11
  %16124 = call ptr @__errno_location() #12
  %16125 = load i32, ptr %16124, align 4, !tbaa !5
  store i32 %16125, ptr %364, align 4, !tbaa !5
  %16126 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16127 = call i32 @s2n_print_stacktrace(ptr noundef %16126)
  %16128 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16129 = trunc i8 %16128 to i1
  br i1 %16129, label %16130, label %16152

16130:                                            ; preds = %16123
  %16131 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16132 = call i32 @fileno(ptr noundef %16131) #11
  %16133 = call i32 @isatty(i32 noundef %16132) #11
  %16134 = icmp ne i32 %16133, 0
  br i1 %16134, label %16135, label %16152

16135:                                            ; preds = %16130
  %16136 = load i32, ptr %364, align 4, !tbaa !5
  %16137 = call ptr @__errno_location() #12
  store i32 %16136, ptr %16137, align 4, !tbaa !5
  %16138 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16139 = load i32, ptr @test_count, align 4, !tbaa !5
  %16140 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16141 = load i32, ptr %16140, align 4, !tbaa !5
  %16142 = call ptr @s2n_strerror(i32 noundef %16141, ptr noundef @.str.4)
  %16143 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16144 = load i32, ptr %16143, align 4, !tbaa !5
  %16145 = call ptr @s2n_strerror_debug(i32 noundef %16144, ptr noundef @.str.4)
  %16146 = call ptr @__errno_location() #12
  %16147 = load i32, ptr %16146, align 4, !tbaa !5
  %16148 = call ptr @strerror(i32 noundef %16147) #11
  %16149 = call ptr @__errno_location() #12
  %16150 = load i32, ptr %16149, align 4, !tbaa !5
  %16151 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16138, ptr noundef @.str.2, i32 noundef %16139, ptr noundef @.str.34, ptr noundef @.str.1, i32 noundef 609, ptr noundef %16142, ptr noundef %16145, ptr noundef %16148, i32 noundef %16150) #11
  br label %16169

16152:                                            ; preds = %16130, %16123
  %16153 = load i32, ptr %364, align 4, !tbaa !5
  %16154 = call ptr @__errno_location() #12
  store i32 %16153, ptr %16154, align 4, !tbaa !5
  %16155 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16156 = load i32, ptr @test_count, align 4, !tbaa !5
  %16157 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16158 = load i32, ptr %16157, align 4, !tbaa !5
  %16159 = call ptr @s2n_strerror(i32 noundef %16158, ptr noundef @.str.4)
  %16160 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16161 = load i32, ptr %16160, align 4, !tbaa !5
  %16162 = call ptr @s2n_strerror_debug(i32 noundef %16161, ptr noundef @.str.4)
  %16163 = call ptr @__errno_location() #12
  %16164 = load i32, ptr %16163, align 4, !tbaa !5
  %16165 = call ptr @strerror(i32 noundef %16164) #11
  %16166 = call ptr @__errno_location() #12
  %16167 = load i32, ptr %16166, align 4, !tbaa !5
  %16168 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16155, ptr noundef @.str.5, i32 noundef %16156, ptr noundef @.str.34, ptr noundef @.str.1, i32 noundef 609, ptr noundef %16159, ptr noundef %16162, ptr noundef %16165, i32 noundef %16167) #11
  br label %16169

16169:                                            ; preds = %16152, %16135
  call void @llvm.lifetime.end.p0(i64 4, ptr %364) #11
  br label %16170

16170:                                            ; preds = %16169
  br label %16171

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

16172:                                            ; No predecessors!
  br label %16173

16173:                                            ; preds = %16172
  br label %16174

16174:                                            ; preds = %16173, %16114
  br label %16175

16175:                                            ; preds = %16174
  br label %16176

16176:                                            ; preds = %16175
  br label %16177

16177:                                            ; preds = %16176
  %16178 = load i32, ptr @test_count, align 4, !tbaa !5
  %16179 = add nsw i32 %16178, 1
  store i32 %16179, ptr @test_count, align 4, !tbaa !5
  %16180 = load ptr, ptr %350, align 8, !tbaa !9
  %16181 = getelementptr inbounds [20 x i8], ptr %346, i64 0, i64 0
  %16182 = call i64 @s2n_recv(ptr noundef %16180, ptr noundef %16181, i64 noundef 20, ptr noundef %22)
  %16183 = icmp eq i64 %16182, 20
  br i1 %16183, label %16237, label %16184

16184:                                            ; preds = %16177
  br label %16185

16185:                                            ; preds = %16184
  br label %16186

16186:                                            ; preds = %16185
  call void @llvm.lifetime.start.p0(i64 4, ptr %365) #11
  %16187 = call ptr @__errno_location() #12
  %16188 = load i32, ptr %16187, align 4, !tbaa !5
  store i32 %16188, ptr %365, align 4, !tbaa !5
  %16189 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16190 = call i32 @s2n_print_stacktrace(ptr noundef %16189)
  %16191 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16192 = trunc i8 %16191 to i1
  br i1 %16192, label %16193, label %16215

16193:                                            ; preds = %16186
  %16194 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16195 = call i32 @fileno(ptr noundef %16194) #11
  %16196 = call i32 @isatty(i32 noundef %16195) #11
  %16197 = icmp ne i32 %16196, 0
  br i1 %16197, label %16198, label %16215

16198:                                            ; preds = %16193
  %16199 = load i32, ptr %365, align 4, !tbaa !5
  %16200 = call ptr @__errno_location() #12
  store i32 %16199, ptr %16200, align 4, !tbaa !5
  %16201 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16202 = load i32, ptr @test_count, align 4, !tbaa !5
  %16203 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16204 = load i32, ptr %16203, align 4, !tbaa !5
  %16205 = call ptr @s2n_strerror(i32 noundef %16204, ptr noundef @.str.4)
  %16206 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16207 = load i32, ptr %16206, align 4, !tbaa !5
  %16208 = call ptr @s2n_strerror_debug(i32 noundef %16207, ptr noundef @.str.4)
  %16209 = call ptr @__errno_location() #12
  %16210 = load i32, ptr %16209, align 4, !tbaa !5
  %16211 = call ptr @strerror(i32 noundef %16210) #11
  %16212 = call ptr @__errno_location() #12
  %16213 = load i32, ptr %16212, align 4, !tbaa !5
  %16214 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16201, ptr noundef @.str.2, i32 noundef %16202, ptr noundef @.str.35, ptr noundef @.str.1, i32 noundef 610, ptr noundef %16205, ptr noundef %16208, ptr noundef %16211, i32 noundef %16213) #11
  br label %16232

16215:                                            ; preds = %16193, %16186
  %16216 = load i32, ptr %365, align 4, !tbaa !5
  %16217 = call ptr @__errno_location() #12
  store i32 %16216, ptr %16217, align 4, !tbaa !5
  %16218 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16219 = load i32, ptr @test_count, align 4, !tbaa !5
  %16220 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16221 = load i32, ptr %16220, align 4, !tbaa !5
  %16222 = call ptr @s2n_strerror(i32 noundef %16221, ptr noundef @.str.4)
  %16223 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16224 = load i32, ptr %16223, align 4, !tbaa !5
  %16225 = call ptr @s2n_strerror_debug(i32 noundef %16224, ptr noundef @.str.4)
  %16226 = call ptr @__errno_location() #12
  %16227 = load i32, ptr %16226, align 4, !tbaa !5
  %16228 = call ptr @strerror(i32 noundef %16227) #11
  %16229 = call ptr @__errno_location() #12
  %16230 = load i32, ptr %16229, align 4, !tbaa !5
  %16231 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16218, ptr noundef @.str.5, i32 noundef %16219, ptr noundef @.str.35, ptr noundef @.str.1, i32 noundef 610, ptr noundef %16222, ptr noundef %16225, ptr noundef %16228, i32 noundef %16230) #11
  br label %16232

16232:                                            ; preds = %16215, %16198
  call void @llvm.lifetime.end.p0(i64 4, ptr %365) #11
  br label %16233

16233:                                            ; preds = %16232
  br label %16234

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

16235:                                            ; No predecessors!
  br label %16236

16236:                                            ; preds = %16235
  br label %16237

16237:                                            ; preds = %16236, %16177
  br label %16238

16238:                                            ; preds = %16237
  br label %16239

16239:                                            ; preds = %16238
  br label %16240

16240:                                            ; preds = %16239
  br label %16241

16241:                                            ; preds = %16240
  %16242 = load i32, ptr @test_count, align 4, !tbaa !5
  %16243 = add nsw i32 %16242, 1
  store i32 %16243, ptr @test_count, align 4, !tbaa !5
  %16244 = getelementptr inbounds [20 x i8], ptr %346, i64 0, i64 0
  %16245 = getelementptr inbounds [20 x i8], ptr %20, i64 0, i64 0
  %16246 = call i32 @memcmp(ptr noundef %16244, ptr noundef %16245, i64 noundef 20) #14
  %16247 = icmp eq i32 %16246, 0
  br i1 %16247, label %16301, label %16248

16248:                                            ; preds = %16241
  br label %16249

16249:                                            ; preds = %16248
  br label %16250

16250:                                            ; preds = %16249
  call void @llvm.lifetime.start.p0(i64 4, ptr %366) #11
  %16251 = call ptr @__errno_location() #12
  %16252 = load i32, ptr %16251, align 4, !tbaa !5
  store i32 %16252, ptr %366, align 4, !tbaa !5
  %16253 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16254 = call i32 @s2n_print_stacktrace(ptr noundef %16253)
  %16255 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16256 = trunc i8 %16255 to i1
  br i1 %16256, label %16257, label %16279

16257:                                            ; preds = %16250
  %16258 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16259 = call i32 @fileno(ptr noundef %16258) #11
  %16260 = call i32 @isatty(i32 noundef %16259) #11
  %16261 = icmp ne i32 %16260, 0
  br i1 %16261, label %16262, label %16279

16262:                                            ; preds = %16257
  %16263 = load i32, ptr %366, align 4, !tbaa !5
  %16264 = call ptr @__errno_location() #12
  store i32 %16263, ptr %16264, align 4, !tbaa !5
  %16265 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16266 = load i32, ptr @test_count, align 4, !tbaa !5
  %16267 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16268 = load i32, ptr %16267, align 4, !tbaa !5
  %16269 = call ptr @s2n_strerror(i32 noundef %16268, ptr noundef @.str.4)
  %16270 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16271 = load i32, ptr %16270, align 4, !tbaa !5
  %16272 = call ptr @s2n_strerror_debug(i32 noundef %16271, ptr noundef @.str.4)
  %16273 = call ptr @__errno_location() #12
  %16274 = load i32, ptr %16273, align 4, !tbaa !5
  %16275 = call ptr @strerror(i32 noundef %16274) #11
  %16276 = call ptr @__errno_location() #12
  %16277 = load i32, ptr %16276, align 4, !tbaa !5
  %16278 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16265, ptr noundef @.str.2, i32 noundef %16266, ptr noundef @.str.36, ptr noundef @.str.1, i32 noundef 611, ptr noundef %16269, ptr noundef %16272, ptr noundef %16275, i32 noundef %16277) #11
  br label %16296

16279:                                            ; preds = %16257, %16250
  %16280 = load i32, ptr %366, align 4, !tbaa !5
  %16281 = call ptr @__errno_location() #12
  store i32 %16280, ptr %16281, align 4, !tbaa !5
  %16282 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16283 = load i32, ptr @test_count, align 4, !tbaa !5
  %16284 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16285 = load i32, ptr %16284, align 4, !tbaa !5
  %16286 = call ptr @s2n_strerror(i32 noundef %16285, ptr noundef @.str.4)
  %16287 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16288 = load i32, ptr %16287, align 4, !tbaa !5
  %16289 = call ptr @s2n_strerror_debug(i32 noundef %16288, ptr noundef @.str.4)
  %16290 = call ptr @__errno_location() #12
  %16291 = load i32, ptr %16290, align 4, !tbaa !5
  %16292 = call ptr @strerror(i32 noundef %16291) #11
  %16293 = call ptr @__errno_location() #12
  %16294 = load i32, ptr %16293, align 4, !tbaa !5
  %16295 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16282, ptr noundef @.str.5, i32 noundef %16283, ptr noundef @.str.36, ptr noundef @.str.1, i32 noundef 611, ptr noundef %16286, ptr noundef %16289, ptr noundef %16292, i32 noundef %16294) #11
  br label %16296

16296:                                            ; preds = %16279, %16262
  call void @llvm.lifetime.end.p0(i64 4, ptr %366) #11
  br label %16297

16297:                                            ; preds = %16296
  br label %16298

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

16299:                                            ; No predecessors!
  br label %16300

16300:                                            ; preds = %16299
  br label %16301

16301:                                            ; preds = %16300, %16241
  br label %16302

16302:                                            ; preds = %16301
  br label %16303

16303:                                            ; preds = %16302
  br label %16304

16304:                                            ; preds = %16303
  br label %16305

16305:                                            ; preds = %16304
  br label %16306

16306:                                            ; preds = %16305
  %16307 = load i32, ptr @test_count, align 4, !tbaa !5
  %16308 = add nsw i32 %16307, 1
  store i32 %16308, ptr @test_count, align 4, !tbaa !5
  %16309 = load ptr, ptr %347, align 8, !tbaa !9
  %16310 = call i32 @s2n_renegotiate_wipe(ptr noundef %16309)
  %16311 = icmp eq i32 %16310, -1
  br i1 %16311, label %16312, label %16365

16312:                                            ; preds = %16306
  br label %16313

16313:                                            ; preds = %16312
  br label %16314

16314:                                            ; preds = %16313
  call void @llvm.lifetime.start.p0(i64 4, ptr %367) #11
  %16315 = call ptr @__errno_location() #12
  %16316 = load i32, ptr %16315, align 4, !tbaa !5
  store i32 %16316, ptr %367, align 4, !tbaa !5
  %16317 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16318 = call i32 @s2n_print_stacktrace(ptr noundef %16317)
  %16319 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16320 = trunc i8 %16319 to i1
  br i1 %16320, label %16321, label %16343

16321:                                            ; preds = %16314
  %16322 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16323 = call i32 @fileno(ptr noundef %16322) #11
  %16324 = call i32 @isatty(i32 noundef %16323) #11
  %16325 = icmp ne i32 %16324, 0
  br i1 %16325, label %16326, label %16343

16326:                                            ; preds = %16321
  %16327 = load i32, ptr %367, align 4, !tbaa !5
  %16328 = call ptr @__errno_location() #12
  store i32 %16327, ptr %16328, align 4, !tbaa !5
  %16329 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16330 = load i32, ptr @test_count, align 4, !tbaa !5
  %16331 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16332 = load i32, ptr %16331, align 4, !tbaa !5
  %16333 = call ptr @s2n_strerror(i32 noundef %16332, ptr noundef @.str.4)
  %16334 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16335 = load i32, ptr %16334, align 4, !tbaa !5
  %16336 = call ptr @s2n_strerror_debug(i32 noundef %16335, ptr noundef @.str.4)
  %16337 = call ptr @__errno_location() #12
  %16338 = load i32, ptr %16337, align 4, !tbaa !5
  %16339 = call ptr @strerror(i32 noundef %16338) #11
  %16340 = call ptr @__errno_location() #12
  %16341 = load i32, ptr %16340, align 4, !tbaa !5
  %16342 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16329, ptr noundef @.str.2, i32 noundef %16330, ptr noundef @.str.50, ptr noundef @.str.1, i32 noundef 614, ptr noundef %16333, ptr noundef %16336, ptr noundef %16339, i32 noundef %16341) #11
  br label %16360

16343:                                            ; preds = %16321, %16314
  %16344 = load i32, ptr %367, align 4, !tbaa !5
  %16345 = call ptr @__errno_location() #12
  store i32 %16344, ptr %16345, align 4, !tbaa !5
  %16346 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16347 = load i32, ptr @test_count, align 4, !tbaa !5
  %16348 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16349 = load i32, ptr %16348, align 4, !tbaa !5
  %16350 = call ptr @s2n_strerror(i32 noundef %16349, ptr noundef @.str.4)
  %16351 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16352 = load i32, ptr %16351, align 4, !tbaa !5
  %16353 = call ptr @s2n_strerror_debug(i32 noundef %16352, ptr noundef @.str.4)
  %16354 = call ptr @__errno_location() #12
  %16355 = load i32, ptr %16354, align 4, !tbaa !5
  %16356 = call ptr @strerror(i32 noundef %16355) #11
  %16357 = call ptr @__errno_location() #12
  %16358 = load i32, ptr %16357, align 4, !tbaa !5
  %16359 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16346, ptr noundef @.str.5, i32 noundef %16347, ptr noundef @.str.50, ptr noundef @.str.1, i32 noundef 614, ptr noundef %16350, ptr noundef %16353, ptr noundef %16356, i32 noundef %16358) #11
  br label %16360

16360:                                            ; preds = %16343, %16326
  call void @llvm.lifetime.end.p0(i64 4, ptr %367) #11
  br label %16361

16361:                                            ; preds = %16360
  br label %16362

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

16363:                                            ; No predecessors!
  br label %16364

16364:                                            ; preds = %16363
  br label %16365

16365:                                            ; preds = %16364, %16306
  br label %16366

16366:                                            ; preds = %16365
  br label %16367

16367:                                            ; preds = %16366
  br label %16368

16368:                                            ; preds = %16367
  %16369 = load i32, ptr @test_count, align 4, !tbaa !5
  %16370 = add nsw i32 %16369, 1
  store i32 %16370, ptr @test_count, align 4, !tbaa !5
  %16371 = load ptr, ptr %347, align 8, !tbaa !9
  %16372 = load ptr, ptr %350, align 8, !tbaa !9
  %16373 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef %16371, ptr noundef %16372)
  %16374 = icmp eq i32 %16373, -1
  br i1 %16374, label %16375, label %16428

16375:                                            ; preds = %16368
  br label %16376

16376:                                            ; preds = %16375
  br label %16377

16377:                                            ; preds = %16376
  call void @llvm.lifetime.start.p0(i64 4, ptr %368) #11
  %16378 = call ptr @__errno_location() #12
  %16379 = load i32, ptr %16378, align 4, !tbaa !5
  store i32 %16379, ptr %368, align 4, !tbaa !5
  %16380 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16381 = call i32 @s2n_print_stacktrace(ptr noundef %16380)
  %16382 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16383 = trunc i8 %16382 to i1
  br i1 %16383, label %16384, label %16406

16384:                                            ; preds = %16377
  %16385 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16386 = call i32 @fileno(ptr noundef %16385) #11
  %16387 = call i32 @isatty(i32 noundef %16386) #11
  %16388 = icmp ne i32 %16387, 0
  br i1 %16388, label %16389, label %16406

16389:                                            ; preds = %16384
  %16390 = load i32, ptr %368, align 4, !tbaa !5
  %16391 = call ptr @__errno_location() #12
  store i32 %16390, ptr %16391, align 4, !tbaa !5
  %16392 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16393 = load i32, ptr @test_count, align 4, !tbaa !5
  %16394 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16395 = load i32, ptr %16394, align 4, !tbaa !5
  %16396 = call ptr @s2n_strerror(i32 noundef %16395, ptr noundef @.str.4)
  %16397 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16398 = load i32, ptr %16397, align 4, !tbaa !5
  %16399 = call ptr @s2n_strerror_debug(i32 noundef %16398, ptr noundef @.str.4)
  %16400 = call ptr @__errno_location() #12
  %16401 = load i32, ptr %16400, align 4, !tbaa !5
  %16402 = call ptr @strerror(i32 noundef %16401) #11
  %16403 = call ptr @__errno_location() #12
  %16404 = load i32, ptr %16403, align 4, !tbaa !5
  %16405 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16392, ptr noundef @.str.2, i32 noundef %16393, ptr noundef @.str.32, ptr noundef @.str.1, i32 noundef 615, ptr noundef %16396, ptr noundef %16399, ptr noundef %16402, i32 noundef %16404) #11
  br label %16423

16406:                                            ; preds = %16384, %16377
  %16407 = load i32, ptr %368, align 4, !tbaa !5
  %16408 = call ptr @__errno_location() #12
  store i32 %16407, ptr %16408, align 4, !tbaa !5
  %16409 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16410 = load i32, ptr @test_count, align 4, !tbaa !5
  %16411 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16412 = load i32, ptr %16411, align 4, !tbaa !5
  %16413 = call ptr @s2n_strerror(i32 noundef %16412, ptr noundef @.str.4)
  %16414 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16415 = load i32, ptr %16414, align 4, !tbaa !5
  %16416 = call ptr @s2n_strerror_debug(i32 noundef %16415, ptr noundef @.str.4)
  %16417 = call ptr @__errno_location() #12
  %16418 = load i32, ptr %16417, align 4, !tbaa !5
  %16419 = call ptr @strerror(i32 noundef %16418) #11
  %16420 = call ptr @__errno_location() #12
  %16421 = load i32, ptr %16420, align 4, !tbaa !5
  %16422 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16409, ptr noundef @.str.5, i32 noundef %16410, ptr noundef @.str.32, ptr noundef @.str.1, i32 noundef 615, ptr noundef %16413, ptr noundef %16416, ptr noundef %16419, i32 noundef %16421) #11
  br label %16423

16423:                                            ; preds = %16406, %16389
  call void @llvm.lifetime.end.p0(i64 4, ptr %368) #11
  br label %16424

16424:                                            ; preds = %16423
  br label %16425

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

16426:                                            ; No predecessors!
  br label %16427

16427:                                            ; preds = %16426
  br label %16428

16428:                                            ; preds = %16427, %16368
  br label %16429

16429:                                            ; preds = %16428
  br label %16430

16430:                                            ; preds = %16429
  %16431 = call i32 @s2n_io_pair_close(ptr noundef %353)
  call void @llvm.lifetime.end.p0(i64 8, ptr %353) #11
  %16432 = call i32 @s2n_connection_ptr_free(ptr noundef %350)
  %16433 = getelementptr inbounds %struct.s2n_result, ptr %369, i32 0, i32 0
  store i32 %16432, ptr %16433, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %350) #11
  %16434 = call i32 @s2n_connection_ptr_free(ptr noundef %347)
  %16435 = getelementptr inbounds %struct.s2n_result, ptr %370, i32 0, i32 0
  store i32 %16434, ptr %16435, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %347) #11
  call void @llvm.lifetime.end.p0(i64 20, ptr %346) #11
  br label %16436

16436:                                            ; preds = %16430
  %16437 = load i64, ptr %345, align 8, !tbaa !45
  %16438 = add i64 %16437, 1
  store i64 %16438, ptr %345, align 8, !tbaa !45
  br label %15181, !llvm.loop !84

16439:                                            ; preds = %15185
  call void @llvm.lifetime.end.p0(i64 8, ptr %337) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %333) #11
  call void @llvm.lifetime.end.p0(i64 48000, ptr %332) #11
  call void @llvm.lifetime.end.p0(i64 1, ptr %331) #11
  %16440 = call i32 @s2n_config_ptr_free(ptr noundef %327)
  %16441 = getelementptr inbounds %struct.s2n_result, ptr %371, i32 0, i32 0
  store i32 %16440, ptr %16441, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %327) #11
  %16442 = call i32 @s2n_config_ptr_free(ptr noundef %321)
  %16443 = getelementptr inbounds %struct.s2n_result, ptr %372, i32 0, i32 0
  store i32 %16442, ptr %16443, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %321) #11
  call void @llvm.lifetime.end.p0(i64 64, ptr %320) #11
  call void @llvm.lifetime.end.p0(i64 24, ptr %319) #11
  br label %16444

16444:                                            ; preds = %16439
  br label %16445

16445:                                            ; preds = %16444
  %16446 = call i32 @s2n_cleanup()
  %16447 = icmp eq i32 %16446, -1
  br i1 %16447, label %16448, label %16501

16448:                                            ; preds = %16445
  br label %16449

16449:                                            ; preds = %16448
  br label %16450

16450:                                            ; preds = %16449
  call void @llvm.lifetime.start.p0(i64 4, ptr %373) #11
  %16451 = call ptr @__errno_location() #12
  %16452 = load i32, ptr %16451, align 4, !tbaa !5
  store i32 %16452, ptr %373, align 4, !tbaa !5
  %16453 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16454 = call i32 @s2n_print_stacktrace(ptr noundef %16453)
  %16455 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16456 = trunc i8 %16455 to i1
  br i1 %16456, label %16457, label %16479

16457:                                            ; preds = %16450
  %16458 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16459 = call i32 @fileno(ptr noundef %16458) #11
  %16460 = call i32 @isatty(i32 noundef %16459) #11
  %16461 = icmp ne i32 %16460, 0
  br i1 %16461, label %16462, label %16479

16462:                                            ; preds = %16457
  %16463 = load i32, ptr %373, align 4, !tbaa !5
  %16464 = call ptr @__errno_location() #12
  store i32 %16463, ptr %16464, align 4, !tbaa !5
  %16465 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16466 = load i32, ptr @test_count, align 4, !tbaa !5
  %16467 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16468 = load i32, ptr %16467, align 4, !tbaa !5
  %16469 = call ptr @s2n_strerror(i32 noundef %16468, ptr noundef @.str.4)
  %16470 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16471 = load i32, ptr %16470, align 4, !tbaa !5
  %16472 = call ptr @s2n_strerror_debug(i32 noundef %16471, ptr noundef @.str.4)
  %16473 = call ptr @__errno_location() #12
  %16474 = load i32, ptr %16473, align 4, !tbaa !5
  %16475 = call ptr @strerror(i32 noundef %16474) #11
  %16476 = call ptr @__errno_location() #12
  %16477 = load i32, ptr %16476, align 4, !tbaa !5
  %16478 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16465, ptr noundef @.str.2, i32 noundef %16466, ptr noundef @.str.132, ptr noundef @.str.1, i32 noundef 619, ptr noundef %16469, ptr noundef %16472, ptr noundef %16475, i32 noundef %16477) #11
  br label %16496

16479:                                            ; preds = %16457, %16450
  %16480 = load i32, ptr %373, align 4, !tbaa !5
  %16481 = call ptr @__errno_location() #12
  store i32 %16480, ptr %16481, align 4, !tbaa !5
  %16482 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16483 = load i32, ptr @test_count, align 4, !tbaa !5
  %16484 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16485 = load i32, ptr %16484, align 4, !tbaa !5
  %16486 = call ptr @s2n_strerror(i32 noundef %16485, ptr noundef @.str.4)
  %16487 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16488 = load i32, ptr %16487, align 4, !tbaa !5
  %16489 = call ptr @s2n_strerror_debug(i32 noundef %16488, ptr noundef @.str.4)
  %16490 = call ptr @__errno_location() #12
  %16491 = load i32, ptr %16490, align 4, !tbaa !5
  %16492 = call ptr @strerror(i32 noundef %16491) #11
  %16493 = call ptr @__errno_location() #12
  %16494 = load i32, ptr %16493, align 4, !tbaa !5
  %16495 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16482, ptr noundef @.str.5, i32 noundef %16483, ptr noundef @.str.132, ptr noundef @.str.1, i32 noundef 619, ptr noundef %16486, ptr noundef %16489, ptr noundef %16492, i32 noundef %16494) #11
  br label %16496

16496:                                            ; preds = %16479, %16462
  call void @llvm.lifetime.end.p0(i64 4, ptr %373) #11
  br label %16497

16497:                                            ; preds = %16496
  br label %16498

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

16499:                                            ; No predecessors!
  br label %16500

16500:                                            ; preds = %16499
  br label %16501

16501:                                            ; preds = %16500, %16445
  br label %16502

16502:                                            ; preds = %16501
  br label %16503

16503:                                            ; preds = %16502
  br label %16504

16504:                                            ; preds = %16503
  br label %16505

16505:                                            ; preds = %16504
  %16506 = call i32 @s2n_in_unit_test_set(i1 noundef zeroext false)
  %16507 = icmp eq i32 %16506, -1
  br i1 %16507, label %16508, label %16561

16508:                                            ; preds = %16505
  br label %16509

16509:                                            ; preds = %16508
  br label %16510

16510:                                            ; preds = %16509
  call void @llvm.lifetime.start.p0(i64 4, ptr %374) #11
  %16511 = call ptr @__errno_location() #12
  %16512 = load i32, ptr %16511, align 4, !tbaa !5
  store i32 %16512, ptr %374, align 4, !tbaa !5
  %16513 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16514 = call i32 @s2n_print_stacktrace(ptr noundef %16513)
  %16515 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16516 = trunc i8 %16515 to i1
  br i1 %16516, label %16517, label %16539

16517:                                            ; preds = %16510
  %16518 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16519 = call i32 @fileno(ptr noundef %16518) #11
  %16520 = call i32 @isatty(i32 noundef %16519) #11
  %16521 = icmp ne i32 %16520, 0
  br i1 %16521, label %16522, label %16539

16522:                                            ; preds = %16517
  %16523 = load i32, ptr %374, align 4, !tbaa !5
  %16524 = call ptr @__errno_location() #12
  store i32 %16523, ptr %16524, align 4, !tbaa !5
  %16525 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16526 = load i32, ptr @test_count, align 4, !tbaa !5
  %16527 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16528 = load i32, ptr %16527, align 4, !tbaa !5
  %16529 = call ptr @s2n_strerror(i32 noundef %16528, ptr noundef @.str.4)
  %16530 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16531 = load i32, ptr %16530, align 4, !tbaa !5
  %16532 = call ptr @s2n_strerror_debug(i32 noundef %16531, ptr noundef @.str.4)
  %16533 = call ptr @__errno_location() #12
  %16534 = load i32, ptr %16533, align 4, !tbaa !5
  %16535 = call ptr @strerror(i32 noundef %16534) #11
  %16536 = call ptr @__errno_location() #12
  %16537 = load i32, ptr %16536, align 4, !tbaa !5
  %16538 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16525, ptr noundef @.str.2, i32 noundef %16526, ptr noundef @.str.133, ptr noundef @.str.1, i32 noundef 619, ptr noundef %16529, ptr noundef %16532, ptr noundef %16535, i32 noundef %16537) #11
  br label %16556

16539:                                            ; preds = %16517, %16510
  %16540 = load i32, ptr %374, align 4, !tbaa !5
  %16541 = call ptr @__errno_location() #12
  store i32 %16540, ptr %16541, align 4, !tbaa !5
  %16542 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16543 = load i32, ptr @test_count, align 4, !tbaa !5
  %16544 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16545 = load i32, ptr %16544, align 4, !tbaa !5
  %16546 = call ptr @s2n_strerror(i32 noundef %16545, ptr noundef @.str.4)
  %16547 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16548 = load i32, ptr %16547, align 4, !tbaa !5
  %16549 = call ptr @s2n_strerror_debug(i32 noundef %16548, ptr noundef @.str.4)
  %16550 = call ptr @__errno_location() #12
  %16551 = load i32, ptr %16550, align 4, !tbaa !5
  %16552 = call ptr @strerror(i32 noundef %16551) #11
  %16553 = call ptr @__errno_location() #12
  %16554 = load i32, ptr %16553, align 4, !tbaa !5
  %16555 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16542, ptr noundef @.str.5, i32 noundef %16543, ptr noundef @.str.133, ptr noundef @.str.1, i32 noundef 619, ptr noundef %16546, ptr noundef %16549, ptr noundef %16552, i32 noundef %16554) #11
  br label %16556

16556:                                            ; preds = %16539, %16522
  call void @llvm.lifetime.end.p0(i64 4, ptr %374) #11
  br label %16557

16557:                                            ; preds = %16556
  br label %16558

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

16559:                                            ; No predecessors!
  br label %16560

16560:                                            ; preds = %16559
  br label %16561

16561:                                            ; preds = %16560, %16505
  br label %16562

16562:                                            ; preds = %16561
  br label %16563

16563:                                            ; preds = %16562
  %16564 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16565 = trunc i8 %16564 to i1
  br i1 %16565, label %16566, label %16582

16566:                                            ; preds = %16563
  %16567 = load ptr, ptr @stdout, align 8, !tbaa !9
  %16568 = call i32 @fileno(ptr noundef %16567) #11
  %16569 = call i32 @isatty(i32 noundef %16568) #11
  %16570 = icmp ne i32 %16569, 0
  br i1 %16570, label %16571, label %16582

16571:                                            ; preds = %16566
  %16572 = load i32, ptr @test_count, align 4, !tbaa !5
  %16573 = icmp ne i32 %16572, 0
  br i1 %16573, label %16574, label %16578

16574:                                            ; preds = %16571
  %16575 = load ptr, ptr @stdout, align 8, !tbaa !9
  %16576 = load i32, ptr @test_count, align 4, !tbaa !5
  %16577 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16575, ptr noundef @.str.134, i32 noundef %16576) #11
  br label %16581

16578:                                            ; preds = %16571
  %16579 = load ptr, ptr @stdout, align 8, !tbaa !9
  %16580 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16579, ptr noundef @.str.135) #11
  br label %16581

16581:                                            ; preds = %16578, %16574
  br label %16593

16582:                                            ; preds = %16566, %16563
  %16583 = load i32, ptr @test_count, align 4, !tbaa !5
  %16584 = icmp ne i32 %16583, 0
  br i1 %16584, label %16585, label %16589

16585:                                            ; preds = %16582
  %16586 = load ptr, ptr @stdout, align 8, !tbaa !9
  %16587 = load i32, ptr @test_count, align 4, !tbaa !5
  %16588 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16586, ptr noundef @.str.136, i32 noundef %16587) #11
  br label %16592

16589:                                            ; preds = %16582
  %16590 = load ptr, ptr @stdout, align 8, !tbaa !9
  %16591 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16590, ptr noundef @.str.137) #11
  br label %16592

16592:                                            ; preds = %16589, %16585
  br label %16593

16593:                                            ; preds = %16592, %16581
  store i32 0, ptr %3, align 4
  store i32 1, ptr %339, align 4
  br label %16598

16594:                                            ; No predecessors!
  br label %16595

16595:                                            ; preds = %16594
  br label %16596

16596:                                            ; preds = %16595
  br label %16597

16597:                                            ; preds = %16596
  store i32 0, ptr %339, align 4
  br label %16598

16598:                                            ; preds = %16597, %16593
  call void @llvm.lifetime.end.p0(i64 4, ptr %22) #11
  call void @llvm.lifetime.end.p0(i64 16384, ptr %21) #11
  call void @llvm.lifetime.end.p0(i64 20, ptr %20) #11
  %16599 = call i32 @s2n_config_ptr_free(ptr noundef %15)
  %16600 = getelementptr inbounds %struct.s2n_result, ptr %375, i32 0, i32 0
  store i32 %16599, ptr %16600, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %15) #11
  call void @llvm.lifetime.end.p0(i64 12000, ptr %13) #11
  %16601 = call i32 @s2n_cert_chain_and_key_ptr_free(ptr noundef %11)
  %16602 = getelementptr inbounds %struct.s2n_result, ptr %376, i32 0, i32 0
  store i32 %16601, ptr %16602, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %11) #11
  %16603 = call i32 @s2n_cert_chain_and_key_ptr_free(ptr noundef %9)
  %16604 = getelementptr inbounds %struct.s2n_result, ptr %377, i32 0, i32 0
  store i32 %16603, ptr %16604, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %9) #11
  %16605 = load i32, ptr %339, align 4
  switch i32 %16605, label %16608 [
    i32 0, label %16606
    i32 1, label %16606
  ]

16606:                                            ; preds = %16598, %16598
  %16607 = load i32, ptr %3, align 4
  ret i32 %16607

16608:                                            ; preds = %16598, %15170
  unreachable
}

; Function Attrs: nounwind
declare i32 @fprintf(ptr noundef, ptr noundef, ...) #1

declare i32 @fflush(ptr noundef) #2

declare i32 @s2n_in_unit_test_set(i1 noundef zeroext) #2

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

; Function Attrs: nounwind willreturn memory(none)
declare ptr @__errno_location() #4

declare i32 @s2n_print_stacktrace(ptr noundef) #2

; Function Attrs: nounwind
declare i32 @isatty(i32 noundef) #1

; Function Attrs: nounwind
declare i32 @fileno(ptr noundef) #1

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

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

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

; Function Attrs: nounwind
declare ptr @strerror(i32 noundef) #1

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

; Function Attrs: noreturn nounwind
declare void @exit(i32 noundef) #6

declare i32 @s2n_enable_atexit() #2

declare i32 @s2n_init() #2

declare i32 @s2n_cert_chain_and_key_ptr_free(ptr noundef) #2

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

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

declare i32 @s2n_read_test_pem(ptr noundef, ptr noundef, i64 noundef) #2

declare ptr @s2n_config_new() #2

declare i32 @s2n_config_ptr_free(ptr noundef) #2

declare i32 @s2n_config_set_unsafe_for_testing(ptr 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

; 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) #8

declare ptr @s2n_connection_new(i32 noundef) #2

declare i32 @s2n_connection_ptr_free(ptr noundef) #2

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

declare i32 @s2n_io_pair_close(ptr noundef) #2

declare i32 @s2n_io_pair_init_non_blocking(ptr noundef) #2

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

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

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

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

declare i32 @s2n_renegotiate_wipe(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

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

declare i32 @s2n_stuffer_free(ptr noundef) #2

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

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

declare i32 @s2n_connection_prefer_low_latency(ptr noundef) #2

declare i32 @s2n_stuffer_wipe(ptr noundef) #2

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

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

declare i32 @s2n_config_accept_max_fragment_length(ptr noundef) #2

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

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

declare i64 @s2n_client_hello_get_extension_length(ptr noundef, i32 noundef) #2

declare void @s2n_debug_info_reset() #2

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

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

declare i32 @s2n_peek(ptr noundef) #2

declare i32 @s2n_connection_set_recv_buffering(ptr noundef, i1 noundef zeroext) #2

declare i32 @s2n_io_stuffer_pair_free(ptr noundef) #2

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

declare i32 @s2n_io_stuffer_pair_init(ptr noundef) #2

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

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

declare zeroext i1 @s2n_hash_is_available(i32 noundef) #2

declare i32 @s2n_cleanup() #2

attributes #0 = { nounwind uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #1 = { nounwind "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #2 = { "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #3 = { nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) }
attributes #4 = { nounwind willreturn memory(none) "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #5 = { nocallback nofree nosync nounwind speculatable willreturn memory(none) }
attributes #6 = { noreturn nounwind "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #7 = { nocallback nofree nounwind willreturn memory(argmem: write) }
attributes #8 = { nocallback nofree nounwind willreturn memory(argmem: readwrite) }
attributes #9 = { nounwind willreturn memory(read) "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #10 = { inlinehint nounwind uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #11 = { nounwind }
attributes #12 = { nounwind willreturn memory(none) }
attributes #13 = { noreturn nounwind }
attributes #14 = { nounwind willreturn memory(read) }

!llvm.module.flags = !{!0, !1, !2, !3}
!llvm.ident = !{!4}

!0 = !{i32 1, !"wchar_size", i32 4}
!1 = !{i32 8, !"PIC Level", i32 2}
!2 = !{i32 7, !"PIE Level", i32 2}
!3 = !{i32 7, !"uwtable", i32 2}
!4 = !{!"clang version 19.1.0 (git@github.com:llvm/llvm-project.git a4bf6cd7cfb1a1421ba92bca9d017b49936c55e4)"}
!5 = !{!6, !6, i64 0}
!6 = !{!"int", !7, i64 0}
!7 = !{!"omnipotent char", !8, i64 0}
!8 = !{!"Simple C/C++ TBAA"}
!9 = !{!10, !10, i64 0}
!10 = !{!"any pointer", !7, i64 0}
!11 = !{!12, !12, i64 0}
!12 = !{!"_Bool", !7, i64 0}
!13 = !{i8 0, i8 2}
!14 = !{}
!15 = !{!16, !10, i64 48}
!16 = !{!"s2n_connection", !6, i64 0, !6, i64 0, !6, i64 0, !6, i64 0, !6, i64 0, !6, i64 0, !6, i64 0, !6, i64 0, !6, i64 1, !6, i64 1, !6, i64 1, !6, i64 1, !6, i64 1, !6, i64 1, !6, i64 1, !6, i64 1, !6, i64 2, !6, i64 2, !6, i64 2, !6, i64 2, !6, i64 2, !6, i64 2, !6, i64 2, !10, i64 8, !10, i64 16, !10, i64 24, !10, i64 32, !10, i64 40, !10, i64 48, !10, i64 56, !10, i64 64, !10, i64 72, !7, i64 80, !7, i64 102, !7, i64 124, !6, i64 148, !6, i64 152, !17, i64 160, !18, i64 168, !18, i64 176, !7, i64 184, !7, i64 216, !7, i64 217, !7, i64 218, !7, i64 219, !7, i64 220, !7, i64 221, !7, i64 222, !10, i64 224, !10, i64 232, !19, i64 240, !10, i64 632, !10, i64 640, !20, i64 648, !26, i64 1144, !29, i64 1688, !10, i64 1752, !7, i64 1760, !6, i64 1764, !7, i64 1768, !32, i64 1776, !32, i64 1816, !32, i64 1856, !32, i64 1896, !6, i64 1936, !18, i64 1944, !7, i64 1952, !32, i64 1960, !7, i64 2000, !7, i64 2001, !7, i64 2002, !12, i64 2003, !33, i64 2004, !33, i64 2008, !34, i64 2016, !31, i64 2208, !6, i64 2212, !31, i64 2216, !18, i64 2224, !7, i64 2232, !18, i64 2240, !18, i64 2248, !18, i64 2256, !33, i64 2264, !33, i64 2268, !7, i64 2272, !7, i64 2528, !6, i64 2784, !25, i64 2792, !6, i64 2816, !25, i64 2824, !25, i64 2848, !25, i64 2872, !36, i64 2896, !38, i64 3704, !10, i64 3760, !10, i64 3768, !7, i64 3776, !6, i64 3780, !25, i64 3784, !6, i64 3808, !40, i64 3816, !7, i64 3848, !32, i64 3992, !25, i64 4032, !25, i64 4056, !12, i64 4080, !12, i64 4081, !12, i64 4082, !31, i64 4084, !31, i64 4086, !6, i64 4088, !6, i64 4092, !25, i64 4096, !6, i64 4120, !41, i64 4128, !33, i64 4176, !7, i64 4180, !7, i64 4181}
!17 = !{!"s2n_timer", !18, i64 0}
!18 = !{!"long", !7, i64 0}
!19 = !{!"s2n_secrets", !7, i64 0, !6, i64 388}
!20 = !{!"s2n_kex_parameters", !21, i64 0, !22, i64 8, !7, i64 24, !22, i64 56, !23, i64 72, !23, i64 184, !7, i64 296, !24, i64 360, !25, i64 448, !25, i64 472}
!21 = !{!"s2n_dh_params", !10, i64 0}
!22 = !{!"s2n_ecc_evp_params", !10, i64 0, !10, i64 8}
!23 = !{!"s2n_kem_group_params", !10, i64 0, !24, i64 8, !22, i64 96}
!24 = !{!"s2n_kem_params", !10, i64 0, !25, i64 8, !25, i64 32, !25, i64 56, !12, i64 80}
!25 = !{!"s2n_blob", !10, i64 0, !6, i64 8, !6, i64 12, !6, i64 16}
!26 = !{!"s2n_handshake_parameters", !27, i64 0, !27, i64 48, !25, i64 96, !6, i64 120, !28, i64 124, !10, i64 384, !10, i64 392, !10, i64 400, !7, i64 408, !7, i64 440, !7, i64 472, !7, i64 473, !7, i64 474, !7, i64 506}
!27 = !{!"s2n_pkey", !10, i64 0, !10, i64 8, !10, i64 16, !10, i64 24, !10, i64 32, !10, i64 40}
!28 = !{!"s2n_sig_scheme_list", !7, i64 0, !7, i64 256}
!29 = !{!"s2n_psk_parameters", !6, i64 0, !30, i64 8, !31, i64 40, !31, i64 42, !10, i64 48, !6, i64 56}
!30 = !{!"s2n_array", !25, i64 0, !6, i64 24, !6, i64 28}
!31 = !{!"short", !7, i64 0}
!32 = !{!"s2n_stuffer", !25, i64 0, !6, i64 24, !6, i64 28, !6, i64 32, !6, i64 36, !6, i64 36, !6, i64 36}
!33 = !{!"", !6, i64 0}
!34 = !{!"s2n_handshake", !32, i64 0, !10, i64 40, !7, i64 48, !7, i64 56, !7, i64 104, !7, i64 152, !6, i64 156, !6, i64 160, !6, i64 164, !6, i64 168, !35, i64 176, !6, i64 184, !6, i64 184, !6, i64 184, !6, i64 184, !6, i64 188}
!35 = !{!"s2n_offered_early_data", !10, i64 0}
!36 = !{!"s2n_client_hello", !25, i64 0, !37, i64 24, !25, i64 728, !25, i64 752, !25, i64 776, !7, i64 800, !7, i64 801, !6, i64 802, !6, i64 802, !6, i64 802, !6, i64 802, !6, i64 802, !6, i64 802, !6, i64 802}
!37 = !{!"", !7, i64 0, !25, i64 672, !31, i64 696}
!38 = !{!"s2n_x509_validator", !10, i64 0, !10, i64 8, !7, i64 16, !7, i64 17, !31, i64 18, !10, i64 24, !6, i64 32, !10, i64 40, !39, i64 48, !12, i64 52}
!39 = !{!"s2n_cert_validation_info", !6, i64 0, !6, i64 0}
!40 = !{!"s2n_ticket_fields", !25, i64 0, !6, i64 24}
!41 = !{!"s2n_post_handshake", !32, i64 0, !7, i64 40}
!42 = !{!16, !10, i64 56}
!43 = !{!32, !6, i64 28}
!44 = !{!32, !6, i64 24}
!45 = !{!18, !18, i64 0}
!46 = !{!16, !31, i64 2208}
!47 = !{!16, !7, i64 2168}
!48 = !{!16, !7, i64 220}
!49 = !{!31, !31, i64 0}
!50 = !{!16, !6, i64 1844}
!51 = !{!16, !6, i64 1840}
!52 = !{i64 0, i64 1, !53, 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, !53}
!53 = !{!7, !7, i64 0}
!54 = !{!55, !10, i64 8}
!55 = !{!"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}
!56 = !{!57, !10, i64 96}
!57 = !{!"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, !58, i64 24, !25, i64 56, !10, i64 80, !10, i64 88, !10, i64 96, !10, i64 104, !10, i64 112, !10, i64 120, !6, i64 128, !6, i64 132, !10, i64 136, !18, i64 144, !10, i64 152, !18, i64 160, !18, i64 168, !10, i64 176, !10, i64 184, !10, i64 192, !10, i64 200, !10, i64 208, !10, i64 216, !6, i64 224, !7, i64 228, !6, i64 232, !6, i64 236, !10, i64 240, !10, i64 248, !10, i64 256, !10, i64 264, !10, i64 272, !10, i64 280, !10, i64 288, !7, i64 296, !7, i64 297, !59, i64 304, !31, i64 320, !10, i64 328, !10, i64 336, !10, i64 344, !10, i64 352, !10, i64 360, !10, i64 368, !10, i64 376, !10, i64 384, !6, i64 392, !6, i64 396, !6, i64 400, !10, i64 408, !6, i64 416, !6, i64 420, !10, i64 424, !10, i64 432, !6, i64 440, !25, i64 448}
!58 = !{!"certs_by_type", !7, i64 0}
!59 = !{!"s2n_x509_trust_store", !10, i64 0, !6, i64 8}
!60 = !{!61, !10, i64 8}
!61 = !{!"s2n_reneg_test_case", !7, i64 0, !10, i64 8, !7, i64 16}
!62 = !{!61, !7, i64 0}
!63 = !{i64 0, i64 1, !53, i64 8, i64 8, !9, i64 16, i64 1, !53}
!64 = distinct !{!64, !65}
!65 = !{!"llvm.loop.mustprogress"}
!66 = !{!67, !31, i64 0}
!67 = !{!"s2n_cipher_preferences", !31, i64 0, !10, i64 8, !12, i64 16}
!68 = !{!67, !10, i64 8}
!69 = !{!70, !7, i64 100}
!70 = !{!"s2n_cipher_suite", !6, i64 0, !10, i64 8, !10, i64 16, !7, i64 24, !10, i64 32, !6, i64 40, !10, i64 48, !7, i64 56, !7, i64 72, !10, i64 80, !10, i64 88, !6, i64 96, !7, i64 100}
!71 = !{!70, !10, i64 32}
!72 = !{!61, !7, i64 16}
!73 = distinct !{!73, !65}
!74 = distinct !{!74, !65}
!75 = distinct !{!75, !65}
!76 = !{!16, !7, i64 219}
!77 = !{!16, !10, i64 232}
!78 = !{!79, !10, i64 0}
!79 = !{!"s2n_crypto_parameters", !10, i64 0, !80, i64 8, !80, i64 16, !81, i64 24, !81, i64 456, !7, i64 888, !7, i64 904, !7, i64 920, !7, i64 928}
!80 = !{!"s2n_session_key", !10, i64 0}
!81 = !{!"s2n_hmac_state", !6, i64 0, !31, i64 4, !6, i64 8, !31, i64 12, !7, i64 14, !82, i64 16, !82, i64 72, !82, i64 128, !82, i64 184, !7, i64 240, !7, i64 368}
!82 = !{!"s2n_hash_state", !10, i64 0, !6, i64 8, !7, i64 12, !18, i64 16, !7, i64 24}
!83 = !{!70, !10, i64 88}
!84 = distinct !{!84, !65}


; 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_reneg_test_case = type { i8, ptr, i8 }
%struct.s2n_cipher_preferences = type { i16, ptr, i8 }
%struct.s2n_security_policy = type { i8, ptr, ptr, ptr, ptr, ptr, ptr, i8, [2 x i8] }
%struct.s2n_kex = type { i8, [2 x ptr], ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr }
%struct.s2n_test_io_pair = type { i32, i32 }
%struct.s2n_stuffer = type { %struct.s2n_blob, i32, i32, i32, i8 }
%struct.s2n_blob = type { ptr, i32, i32, i8 }
%struct.s2n_test_io_stuffer_pair = type { %struct.s2n_stuffer, %struct.s2n_stuffer }

@s2n_use_color_in_output = external dso_local local_unnamed_addr global i8, align 1
@dhe_test_cases = external dso_local local_unnamed_addr constant [6 x %struct.s2n_reneg_test_case], align 16
@test_count = external dso_local local_unnamed_addr global i32, align 4
@stdout = external local_unnamed_addr global ptr, align 8
@.str = external hidden unnamed_addr constant [19 x i8], align 1
@.str.1 = external hidden unnamed_addr constant [79 x i8], align 1
@stderr = external local_unnamed_addr global ptr, align 8
@.str.2 = external hidden unnamed_addr constant [101 x i8], align 1
@.str.3 = external hidden unnamed_addr constant [52 x i8], align 1
@s2n_errno = external thread_local local_unnamed_addr global i32, align 4
@.str.4 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.5 = external hidden unnamed_addr constant [90 x i8], align 1
@.str.6 = external hidden unnamed_addr constant [48 x i8], align 1
@.str.7 = external hidden unnamed_addr constant [39 x i8], align 1
@.str.8 = external hidden unnamed_addr constant [60 x i8], align 1
@.str.9 = external hidden unnamed_addr constant [58 x i8], align 1
@.str.10 = external hidden unnamed_addr constant [200 x i8], align 1
@.str.11 = external hidden unnamed_addr constant [34 x i8], align 1
@.str.12 = external hidden unnamed_addr constant [33 x i8], align 1
@.str.13 = external hidden unnamed_addr constant [155 x i8], align 1
@.str.14 = external hidden unnamed_addr constant [26 x i8], align 1
@.str.15 = external hidden unnamed_addr constant [105 x i8], align 1
@.str.16 = external hidden unnamed_addr constant [41 x i8], align 1
@.str.17 = external hidden unnamed_addr constant [70 x i8], align 1
@.str.18 = external hidden unnamed_addr constant [94 x i8], align 1
@.str.19 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.20 = external hidden unnamed_addr constant [82 x i8], align 1
@__const.main.app_data = external hidden unnamed_addr constant [20 x i8], align 16
@__const.main.large_app_data = external hidden unnamed_addr constant [16384 x i8], align 16
@.str.21 = external hidden unnamed_addr constant [46 x i8], align 1
@.str.22 = external hidden unnamed_addr constant [75 x i8], align 1
@.str.23 = external hidden unnamed_addr constant [46 x i8], align 1
@.str.24 = external hidden unnamed_addr constant [75 x i8], align 1
@.str.25 = external hidden unnamed_addr constant [68 x i8], align 1
@.str.26 = external hidden unnamed_addr constant [78 x i8], align 1
@.str.27 = external hidden unnamed_addr constant [78 x i8], align 1
@.str.28 = external hidden unnamed_addr constant [55 x i8], align 1
@.str.29 = external hidden unnamed_addr constant [42 x i8], align 1
@.str.30 = external hidden unnamed_addr constant [54 x i8], align 1
@.str.31 = external hidden unnamed_addr constant [42 x i8], align 1
@.str.32 = external hidden unnamed_addr constant [91 x i8], align 1
@.str.33 = external hidden unnamed_addr constant [62 x i8], align 1
@.str.34 = external hidden unnamed_addr constant [97 x i8], align 1
@.str.35 = external hidden unnamed_addr constant [103 x i8], align 1
@.str.36 = external hidden unnamed_addr constant [78 x i8], align 1
@.str.37 = external hidden unnamed_addr constant [63 x i8], align 1
@.str.38 = external hidden unnamed_addr constant [64 x i8], align 1
@.str.39 = external hidden unnamed_addr constant [83 x i8], align 1
@.str.40 = external hidden unnamed_addr constant [83 x i8], align 1
@.str.41 = external hidden unnamed_addr constant [58 x i8], align 1
@.str.42 = external hidden unnamed_addr constant [45 x i8], align 1
@.str.43 = external hidden unnamed_addr constant [57 x i8], align 1
@.str.44 = external hidden unnamed_addr constant [45 x i8], align 1
@.str.45 = external hidden unnamed_addr constant [75 x i8], align 1
@.str.46 = external hidden unnamed_addr constant [97 x i8], align 1
@.str.47 = external hidden unnamed_addr constant [51 x i8], align 1
@.str.48 = external hidden unnamed_addr constant [53 x i8], align 1
@.str.49 = external hidden unnamed_addr constant [77 x i8], align 1
@.str.50 = external hidden unnamed_addr constant [62 x i8], align 1
@.str.51 = external hidden unnamed_addr constant [97 x i8], align 1
@.str.52 = external hidden unnamed_addr constant [97 x i8], align 1
@.str.53 = external hidden unnamed_addr constant [74 x i8], align 1
@.str.54 = external hidden unnamed_addr constant [74 x i8], align 1
@.str.55 = external hidden unnamed_addr constant [101 x i8], align 1
@.str.56 = external hidden unnamed_addr constant [101 x i8], align 1
@.str.57 = external hidden unnamed_addr constant [51 x i8], align 1
@.str.58 = external hidden unnamed_addr constant [138 x i8], align 1
@.str.59 = external hidden unnamed_addr constant [51 x i8], align 1
@.str.60 = external hidden unnamed_addr constant [138 x i8], align 1
@.str.61 = external hidden unnamed_addr constant [52 x i8], align 1
@.str.62 = external hidden unnamed_addr constant [81 x i8], align 1
@.str.63 = external hidden unnamed_addr constant [105 x i8], align 1
@.str.64 = external hidden unnamed_addr constant [93 x i8], align 1
@.str.65 = external hidden unnamed_addr constant [85 x i8], align 1
@.str.66 = external hidden unnamed_addr constant [109 x i8], align 1
@.str.67 = external hidden unnamed_addr constant [53 x i8], align 1
@.str.68 = external hidden unnamed_addr constant [82 x i8], align 1
@.str.69 = external hidden unnamed_addr constant [106 x i8], align 1
@.str.70 = external hidden unnamed_addr constant [94 x i8], align 1
@.str.71 = external hidden unnamed_addr constant [86 x i8], align 1
@.str.72 = external hidden unnamed_addr constant [111 x i8], align 1
@.str.73 = external hidden unnamed_addr constant [87 x i8], align 1
@.str.74 = external hidden unnamed_addr constant [87 x i8], align 1
@.str.75 = external hidden unnamed_addr constant [86 x i8], align 1
@.str.76 = external hidden unnamed_addr constant [86 x i8], align 1
@.str.77 = external hidden unnamed_addr constant [92 x i8], align 1
@.str.78 = external hidden unnamed_addr constant [45 x i8], align 1
@.str.79 = external hidden unnamed_addr constant [53 x i8], align 1
@.str.80 = external hidden unnamed_addr constant [54 x i8], align 1
@.str.81 = external hidden unnamed_addr constant [50 x i8], align 1
@.str.82 = external hidden unnamed_addr constant [59 x i8], align 1
@.str.83 = external hidden unnamed_addr constant [55 x i8], align 1
@.str.84 = external hidden unnamed_addr constant [70 x i8], align 1
@.str.85 = external hidden unnamed_addr constant [62 x i8], align 1
@.str.86 = external hidden unnamed_addr constant [67 x i8], align 1
@.str.87 = external hidden unnamed_addr constant [76 x i8], align 1
@.str.88 = external hidden unnamed_addr constant [88 x i8], align 1
@.str.89 = external hidden unnamed_addr constant [97 x i8], align 1
@.str.90 = external hidden unnamed_addr constant [49 x i8], align 1
@.str.91 = external hidden unnamed_addr constant [49 x i8], align 1
@.str.92 = external hidden unnamed_addr constant [52 x i8], align 1
@.str.93 = external hidden unnamed_addr constant [82 x i8], align 1
@.str.94 = external hidden unnamed_addr constant [115 x i8], align 1
@.str.95 = external hidden unnamed_addr constant [100 x i8], align 1
@.str.96 = external hidden unnamed_addr constant [78 x i8], align 1
@.str.97 = external hidden unnamed_addr constant [39 x i8], align 1
@.str.98 = external hidden unnamed_addr constant [104 x i8], align 1
@.str.99 = external hidden unnamed_addr constant [99 x i8], align 1
@.str.100 = external hidden unnamed_addr constant [44 x i8], align 1
@.str.101 = external hidden unnamed_addr constant [41 x i8], align 1
@.str.102 = external hidden unnamed_addr constant [70 x i8], align 1
@.str.103 = external hidden unnamed_addr constant [41 x i8], align 1
@.str.104 = external hidden unnamed_addr constant [70 x i8], align 1
@.str.105 = external hidden unnamed_addr constant [73 x i8], align 1
@.str.106 = external hidden unnamed_addr constant [66 x i8], align 1
@.str.107 = external hidden unnamed_addr constant [93 x i8], align 1
@.str.108 = external hidden unnamed_addr constant [81 x i8], align 1
@.str.109 = external hidden unnamed_addr constant [92 x i8], align 1
@.str.110 = external hidden unnamed_addr constant [95 x i8], align 1
@.str.111 = external hidden unnamed_addr constant [39 x i8], align 1
@.str.112 = external hidden unnamed_addr constant [60 x i8], align 1
@.str.113 = external hidden unnamed_addr constant [57 x i8], align 1
@__const.main.one_cipher_preference = external hidden unnamed_addr constant %struct.s2n_cipher_preferences, align 8
@security_policy_test_all = external local_unnamed_addr constant %struct.s2n_security_policy, align 8
@.str.114 = external hidden unnamed_addr constant [48 x i8], align 1
@.str.115 = external hidden unnamed_addr constant [101 x i8], align 1
@.str.116 = external hidden unnamed_addr constant [107 x i8], align 1
@.str.117 = external hidden unnamed_addr constant [78 x i8], align 1
@.str.118 = external hidden unnamed_addr constant [81 x i8], align 1
@.str.119 = external hidden unnamed_addr constant [48 x i8], align 1
@.str.120 = external hidden unnamed_addr constant [77 x i8], align 1
@.str.121 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.122 = external hidden unnamed_addr constant [89 x i8], align 1
@.str.123 = external hidden unnamed_addr constant [58 x i8], align 1
@.str.124 = external hidden unnamed_addr constant [34 x i8], align 1
@s2n_dhe = external constant %struct.s2n_kex, align 8
@.str.125 = external hidden unnamed_addr constant [82 x i8], align 1
@.str.126 = external hidden unnamed_addr constant [82 x i8], align 1
@.str.127 = external hidden unnamed_addr constant [108 x i8], align 1
@.str.128 = external hidden unnamed_addr constant [88 x i8], align 1
@mfl_code_to_length = external local_unnamed_addr global [5 x i16], align 2
@.str.129 = external hidden unnamed_addr constant [110 x i8], align 1
@.str.130 = external hidden unnamed_addr constant [81 x i8], align 1
@.str.131 = external hidden unnamed_addr constant [101 x i8], align 1
@.str.132 = external hidden unnamed_addr constant [42 x i8], align 1
@.str.133 = external hidden unnamed_addr constant [52 x i8], align 1
@.str.134 = external hidden unnamed_addr constant [30 x i8], align 1
@.str.135 = external hidden unnamed_addr constant [36 x i8], align 1
@.str.136 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.137 = external hidden unnamed_addr constant [25 x i8], align 1

; Function Attrs: nounwind uwtable
define dso_local noundef i32 @main(i32 noundef %0, ptr nocapture noundef readnone %1) local_unnamed_addr #0 {
  %3 = alloca ptr, align 8
  %4 = alloca ptr, align 8
  %5 = alloca [12000 x i8], align 16
  %6 = alloca ptr, align 8
  %7 = alloca [20 x i8], align 16
  %8 = alloca [16384 x i8], align 16
  %9 = alloca i32, align 4
  %10 = alloca ptr, align 8
  %11 = alloca ptr, align 8
  %12 = alloca %struct.s2n_test_io_pair, align 8
  %13 = alloca [20 x i8], align 16
  %14 = alloca ptr, align 8
  %15 = alloca ptr, align 8
  %16 = alloca %struct.s2n_stuffer, align 8
  %17 = alloca %struct.s2n_stuffer, align 8
  %18 = alloca [20 x i8], align 16
  %19 = alloca ptr, align 8
  %20 = alloca ptr, align 8
  %21 = alloca %struct.s2n_stuffer, align 8
  %22 = alloca %struct.s2n_stuffer, align 8
  %23 = alloca ptr, align 8
  %24 = alloca ptr, align 8
  %25 = alloca %struct.s2n_stuffer, align 8
  %26 = alloca %struct.s2n_stuffer, align 8
  %27 = alloca ptr, align 8
  %28 = alloca ptr, align 8
  %29 = alloca %struct.s2n_test_io_pair, align 8
  %30 = alloca ptr, align 8
  %31 = alloca ptr, align 8
  %32 = alloca %struct.s2n_test_io_pair, align 8
  %33 = alloca ptr, align 8
  %34 = alloca ptr, align 8
  %35 = alloca ptr, align 8
  %36 = alloca ptr, align 8
  %37 = alloca %struct.s2n_test_io_pair, align 8
  %38 = alloca ptr, align 8
  %39 = alloca ptr, align 8
  %40 = alloca %struct.s2n_test_io_pair, align 8
  %41 = alloca ptr, align 8
  %42 = alloca ptr, align 8
  %43 = alloca ptr, align 8
  %44 = alloca ptr, align 8
  %45 = alloca %struct.s2n_stuffer, align 8
  %46 = alloca %struct.s2n_stuffer, align 8
  %47 = alloca %struct.s2n_stuffer, align 8
  %48 = alloca ptr, align 8
  %49 = alloca ptr, align 8
  %50 = alloca %struct.s2n_stuffer, align 8
  %51 = alloca %struct.s2n_stuffer, align 8
  %52 = alloca [16384 x i8], align 16
  %53 = alloca ptr, align 8
  %54 = alloca ptr, align 8
  %55 = alloca %struct.s2n_test_io_stuffer_pair, align 8
  %56 = alloca [20 x i8], align 16
  %57 = alloca %struct.s2n_cipher_preferences, align 8
  %58 = alloca %struct.s2n_security_policy, align 8
  %59 = alloca ptr, align 8
  %60 = alloca ptr, align 8
  %61 = alloca [2000 x %struct.s2n_reneg_test_case], align 16
  %62 = alloca [20 x i8], align 16
  %63 = alloca ptr, align 8
  %64 = alloca ptr, align 8
  %65 = alloca %struct.s2n_test_io_pair, align 8
  store i32 0, ptr @test_count, align 4, !tbaa !5
  %66 = load ptr, ptr @stdout, align 8, !tbaa !9
  %67 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %66, ptr noundef nonnull @.str, ptr noundef nonnull @.str.1) #12
  %68 = load ptr, ptr @stdout, align 8, !tbaa !9
  %69 = tail call i32 @fflush(ptr noundef %68)
  %70 = tail call i32 @s2n_in_unit_test_set(i1 noundef zeroext true) #12
  %71 = icmp eq i32 %70, -1
  %.1.sroa.gep919 = getelementptr inbounds i8, ptr %61, i64 24
  br i1 %71, label %72, label %96

72:                                               ; preds = %2
  %73 = tail call ptr @__errno_location() #13
  %74 = load i32, ptr %73, align 4, !tbaa !5
  %75 = load ptr, ptr @stderr, align 8, !tbaa !9
  %76 = tail call i32 @s2n_print_stacktrace(ptr noundef %75) #12
  %77 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %78 = trunc nuw i8 %77 to i1
  br i1 %78, label %79, label %83

79:                                               ; preds = %72
  %80 = load ptr, ptr @stderr, align 8, !tbaa !9
  %81 = tail call i32 @fileno(ptr noundef %80) #12
  %82 = tail call i32 @isatty(i32 noundef %81) #12
  %.not883 = icmp eq i32 %82, 0
  br i1 %.not883, label %83, label %84

83:                                               ; preds = %79, %72
  br label %84

84:                                               ; preds = %79, %83
  %.str.5.sink = phi ptr [ @.str.5, %83 ], [ @.str.2, %79 ]
  store i32 %74, ptr %73, align 4, !tbaa !5
  %85 = load ptr, ptr @stderr, align 8, !tbaa !9
  %86 = load i32, ptr @test_count, align 4, !tbaa !5
  %87 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %88 = load i32, ptr %87, align 4, !tbaa !5
  %89 = tail call ptr @s2n_strerror(i32 noundef %88, ptr noundef nonnull @.str.4) #12
  %90 = load i32, ptr %87, align 4, !tbaa !5
  %91 = tail call ptr @s2n_strerror_debug(i32 noundef %90, ptr noundef nonnull @.str.4) #12
  %92 = load i32, ptr %73, align 4, !tbaa !5
  %93 = tail call ptr @strerror(i32 noundef %92) #12
  %94 = load i32, ptr %73, align 4, !tbaa !5
  %95 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %85, ptr noundef nonnull %.str.5.sink, i32 noundef %86, ptr noundef nonnull @.str.3, ptr noundef nonnull @.str.1, i32 noundef 66, ptr noundef %89, ptr noundef %91, ptr noundef %93, i32 noundef %94) #14
  tail call void @exit(i32 noundef 1) #15
  unreachable

96:                                               ; preds = %2
  %97 = load i32, ptr @test_count, align 4, !tbaa !5
  %98 = add nsw i32 %97, 1
  store i32 %98, ptr @test_count, align 4, !tbaa !5
  %99 = tail call i32 @s2n_enable_atexit() #12
  %100 = icmp eq i32 %99, -1
  br i1 %100, label %101, label %125

101:                                              ; preds = %96
  %102 = tail call ptr @__errno_location() #13
  %103 = load i32, ptr %102, align 4, !tbaa !5
  %104 = load ptr, ptr @stderr, align 8, !tbaa !9
  %105 = tail call i32 @s2n_print_stacktrace(ptr noundef %104) #12
  %106 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %107 = trunc nuw i8 %106 to i1
  br i1 %107, label %108, label %112

108:                                              ; preds = %101
  %109 = load ptr, ptr @stderr, align 8, !tbaa !9
  %110 = tail call i32 @fileno(ptr noundef %109) #12
  %111 = tail call i32 @isatty(i32 noundef %110) #12
  %.not882 = icmp eq i32 %111, 0
  br i1 %.not882, label %112, label %113

112:                                              ; preds = %108, %101
  br label %113

113:                                              ; preds = %108, %112
  %.str.5.sink948 = phi ptr [ @.str.5, %112 ], [ @.str.2, %108 ]
  store i32 %103, ptr %102, align 4, !tbaa !5
  %114 = load ptr, ptr @stderr, align 8, !tbaa !9
  %115 = load i32, ptr @test_count, align 4, !tbaa !5
  %116 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %117 = load i32, ptr %116, align 4, !tbaa !5
  %118 = tail call ptr @s2n_strerror(i32 noundef %117, ptr noundef nonnull @.str.4) #12
  %119 = load i32, ptr %116, align 4, !tbaa !5
  %120 = tail call ptr @s2n_strerror_debug(i32 noundef %119, ptr noundef nonnull @.str.4) #12
  %121 = load i32, ptr %102, align 4, !tbaa !5
  %122 = tail call ptr @strerror(i32 noundef %121) #12
  %123 = load i32, ptr %102, align 4, !tbaa !5
  %124 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %114, ptr noundef nonnull %.str.5.sink948, i32 noundef %115, ptr noundef nonnull @.str.6, ptr noundef nonnull @.str.1, i32 noundef 66, ptr noundef %118, ptr noundef %120, ptr noundef %122, i32 noundef %123) #14
  tail call void @exit(i32 noundef 1) #15
  unreachable

125:                                              ; preds = %96
  %126 = tail call i32 @s2n_init() #12
  %127 = icmp eq i32 %126, -1
  br i1 %127, label %128, label %152

128:                                              ; preds = %125
  %129 = tail call ptr @__errno_location() #13
  %130 = load i32, ptr %129, align 4, !tbaa !5
  %131 = load ptr, ptr @stderr, align 8, !tbaa !9
  %132 = tail call i32 @s2n_print_stacktrace(ptr noundef %131) #12
  %133 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %134 = trunc nuw i8 %133 to i1
  br i1 %134, label %135, label %139

135:                                              ; preds = %128
  %136 = load ptr, ptr @stderr, align 8, !tbaa !9
  %137 = tail call i32 @fileno(ptr noundef %136) #12
  %138 = tail call i32 @isatty(i32 noundef %137) #12
  %.not881 = icmp eq i32 %138, 0
  br i1 %.not881, label %139, label %140

139:                                              ; preds = %135, %128
  br label %140

140:                                              ; preds = %135, %139
  %.str.5.sink959 = phi ptr [ @.str.5, %139 ], [ @.str.2, %135 ]
  store i32 %130, ptr %129, align 4, !tbaa !5
  %141 = load ptr, ptr @stderr, align 8, !tbaa !9
  %142 = load i32, ptr @test_count, align 4, !tbaa !5
  %143 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %144 = load i32, ptr %143, align 4, !tbaa !5
  %145 = tail call ptr @s2n_strerror(i32 noundef %144, ptr noundef nonnull @.str.4) #12
  %146 = load i32, ptr %143, align 4, !tbaa !5
  %147 = tail call ptr @s2n_strerror_debug(i32 noundef %146, ptr noundef nonnull @.str.4) #12
  %148 = load i32, ptr %129, align 4, !tbaa !5
  %149 = tail call ptr @strerror(i32 noundef %148) #12
  %150 = load i32, ptr %129, align 4, !tbaa !5
  %151 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %141, ptr noundef nonnull %.str.5.sink959, i32 noundef %142, ptr noundef nonnull @.str.7, ptr noundef nonnull @.str.1, i32 noundef 66, ptr noundef %145, ptr noundef %147, ptr noundef %149, i32 noundef %150) #14
  tail call void @exit(i32 noundef 1) #15
  unreachable

152:                                              ; preds = %125
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %3) #12
  store ptr null, ptr %3, align 8, !tbaa !9
  %153 = load i32, ptr @test_count, align 4, !tbaa !5
  %154 = add nsw i32 %153, 1
  store i32 %154, ptr @test_count, align 4, !tbaa !5
  %155 = call i32 @s2n_test_cert_chain_and_key_new(ptr noundef nonnull %3, ptr noundef nonnull @.str.8, ptr noundef nonnull @.str.9) #12
  %156 = icmp eq i32 %155, -1
  br i1 %156, label %157, label %181

157:                                              ; preds = %152
  %158 = tail call ptr @__errno_location() #13
  %159 = load i32, ptr %158, align 4, !tbaa !5
  %160 = load ptr, ptr @stderr, align 8, !tbaa !9
  %161 = call i32 @s2n_print_stacktrace(ptr noundef %160) #12
  %162 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %163 = trunc nuw i8 %162 to i1
  br i1 %163, label %164, label %168

164:                                              ; preds = %157
  %165 = load ptr, ptr @stderr, align 8, !tbaa !9
  %166 = call i32 @fileno(ptr noundef %165) #12
  %167 = call i32 @isatty(i32 noundef %166) #12
  %.not880 = icmp eq i32 %167, 0
  br i1 %.not880, label %168, label %169

168:                                              ; preds = %164, %157
  br label %169

169:                                              ; preds = %164, %168
  %.str.5.sink970 = phi ptr [ @.str.5, %168 ], [ @.str.2, %164 ]
  store i32 %159, ptr %158, align 4, !tbaa !5
  %170 = load ptr, ptr @stderr, align 8, !tbaa !9
  %171 = load i32, ptr @test_count, align 4, !tbaa !5
  %172 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %173 = load i32, ptr %172, align 4, !tbaa !5
  %174 = call ptr @s2n_strerror(i32 noundef %173, ptr noundef nonnull @.str.4) #12
  %175 = load i32, ptr %172, align 4, !tbaa !5
  %176 = call ptr @s2n_strerror_debug(i32 noundef %175, ptr noundef nonnull @.str.4) #12
  %177 = load i32, ptr %158, align 4, !tbaa !5
  %178 = call ptr @strerror(i32 noundef %177) #12
  %179 = load i32, ptr %158, align 4, !tbaa !5
  %180 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %170, ptr noundef nonnull %.str.5.sink970, i32 noundef %171, ptr noundef nonnull @.str.10, ptr noundef nonnull @.str.1, i32 noundef 70, ptr noundef %174, ptr noundef %176, ptr noundef %178, i32 noundef %179) #14
  call void @exit(i32 noundef 1) #15
  unreachable

181:                                              ; preds = %152
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %4) #12
  store ptr null, ptr %4, align 8, !tbaa !9
  %182 = load i32, ptr @test_count, align 4, !tbaa !5
  %183 = add nsw i32 %182, 1
  store i32 %183, ptr @test_count, align 4, !tbaa !5
  %184 = call i32 @s2n_test_cert_chain_and_key_new(ptr noundef nonnull %4, ptr noundef nonnull @.str.11, ptr noundef nonnull @.str.12) #12
  %185 = icmp eq i32 %184, -1
  br i1 %185, label %186, label %210

186:                                              ; preds = %181
  %187 = tail call ptr @__errno_location() #13
  %188 = load i32, ptr %187, align 4, !tbaa !5
  %189 = load ptr, ptr @stderr, align 8, !tbaa !9
  %190 = call i32 @s2n_print_stacktrace(ptr noundef %189) #12
  %191 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %192 = trunc nuw i8 %191 to i1
  br i1 %192, label %193, label %197

193:                                              ; preds = %186
  %194 = load ptr, ptr @stderr, align 8, !tbaa !9
  %195 = call i32 @fileno(ptr noundef %194) #12
  %196 = call i32 @isatty(i32 noundef %195) #12
  %.not879 = icmp eq i32 %196, 0
  br i1 %.not879, label %197, label %198

197:                                              ; preds = %193, %186
  br label %198

198:                                              ; preds = %193, %197
  %.str.5.sink981 = phi ptr [ @.str.5, %197 ], [ @.str.2, %193 ]
  store i32 %188, ptr %187, align 4, !tbaa !5
  %199 = load ptr, ptr @stderr, align 8, !tbaa !9
  %200 = load i32, ptr @test_count, align 4, !tbaa !5
  %201 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %202 = load i32, ptr %201, align 4, !tbaa !5
  %203 = call ptr @s2n_strerror(i32 noundef %202, ptr noundef nonnull @.str.4) #12
  %204 = load i32, ptr %201, align 4, !tbaa !5
  %205 = call ptr @s2n_strerror_debug(i32 noundef %204, ptr noundef nonnull @.str.4) #12
  %206 = load i32, ptr %187, align 4, !tbaa !5
  %207 = call ptr @strerror(i32 noundef %206) #12
  %208 = load i32, ptr %187, align 4, !tbaa !5
  %209 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %199, ptr noundef nonnull %.str.5.sink981, i32 noundef %200, ptr noundef nonnull @.str.13, ptr noundef nonnull @.str.1, i32 noundef 74, ptr noundef %203, ptr noundef %205, ptr noundef %207, i32 noundef %208) #14
  call void @exit(i32 noundef 1) #15
  unreachable

210:                                              ; preds = %181
  call void @llvm.lifetime.start.p0(i64 12000, ptr nonnull %5) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 16 dereferenceable(12000) %5, i8 0, i64 12000, i1 false)
  %211 = load i32, ptr @test_count, align 4, !tbaa !5
  %212 = add nsw i32 %211, 1
  store i32 %212, ptr @test_count, align 4, !tbaa !5
  %213 = call i32 @s2n_read_test_pem(ptr noundef nonnull @.str.14, ptr noundef nonnull %5, i64 noundef 12000) #12
  %214 = icmp eq i32 %213, -1
  br i1 %214, label %215, label %239

215:                                              ; preds = %210
  %216 = tail call ptr @__errno_location() #13
  %217 = load i32, ptr %216, align 4, !tbaa !5
  %218 = load ptr, ptr @stderr, align 8, !tbaa !9
  %219 = call i32 @s2n_print_stacktrace(ptr noundef %218) #12
  %220 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %221 = trunc nuw i8 %220 to i1
  br i1 %221, label %222, label %226

222:                                              ; preds = %215
  %223 = load ptr, ptr @stderr, align 8, !tbaa !9
  %224 = call i32 @fileno(ptr noundef %223) #12
  %225 = call i32 @isatty(i32 noundef %224) #12
  %.not878 = icmp eq i32 %225, 0
  br i1 %.not878, label %226, label %227

226:                                              ; preds = %222, %215
  br label %227

227:                                              ; preds = %222, %226
  %.str.5.sink992 = phi ptr [ @.str.5, %226 ], [ @.str.2, %222 ]
  store i32 %217, ptr %216, align 4, !tbaa !5
  %228 = load ptr, ptr @stderr, align 8, !tbaa !9
  %229 = load i32, ptr @test_count, align 4, !tbaa !5
  %230 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %231 = load i32, ptr %230, align 4, !tbaa !5
  %232 = call ptr @s2n_strerror(i32 noundef %231, ptr noundef nonnull @.str.4) #12
  %233 = load i32, ptr %230, align 4, !tbaa !5
  %234 = call ptr @s2n_strerror_debug(i32 noundef %233, ptr noundef nonnull @.str.4) #12
  %235 = load i32, ptr %216, align 4, !tbaa !5
  %236 = call ptr @strerror(i32 noundef %235) #12
  %237 = load i32, ptr %216, align 4, !tbaa !5
  %238 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %228, ptr noundef nonnull %.str.5.sink992, i32 noundef %229, ptr noundef nonnull @.str.15, ptr noundef nonnull @.str.1, i32 noundef 77, ptr noundef %232, ptr noundef %234, ptr noundef %236, i32 noundef %237) #14
  call void @exit(i32 noundef 1) #15
  unreachable

239:                                              ; preds = %210
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %6) #12
  %240 = call ptr @s2n_config_new() #12
  store ptr %240, ptr %6, align 8, !tbaa !9
  %241 = load i32, ptr @test_count, align 4, !tbaa !5
  %242 = add nsw i32 %241, 1
  store i32 %242, ptr @test_count, align 4, !tbaa !5
  %243 = icmp eq ptr %240, null
  br i1 %243, label %244, label %268

244:                                              ; preds = %239
  %245 = tail call ptr @__errno_location() #13
  %246 = load i32, ptr %245, align 4, !tbaa !5
  %247 = load ptr, ptr @stderr, align 8, !tbaa !9
  %248 = call i32 @s2n_print_stacktrace(ptr noundef %247) #12
  %249 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %250 = trunc nuw i8 %249 to i1
  br i1 %250, label %251, label %255

251:                                              ; preds = %244
  %252 = load ptr, ptr @stderr, align 8, !tbaa !9
  %253 = call i32 @fileno(ptr noundef %252) #12
  %254 = call i32 @isatty(i32 noundef %253) #12
  %.not877 = icmp eq i32 %254, 0
  br i1 %.not877, label %255, label %256

255:                                              ; preds = %251, %244
  br label %256

256:                                              ; preds = %251, %255
  %.str.5.sink1003 = phi ptr [ @.str.5, %255 ], [ @.str.2, %251 ]
  store i32 %246, ptr %245, align 4, !tbaa !5
  %257 = load ptr, ptr @stderr, align 8, !tbaa !9
  %258 = load i32, ptr @test_count, align 4, !tbaa !5
  %259 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %260 = load i32, ptr %259, align 4, !tbaa !5
  %261 = call ptr @s2n_strerror(i32 noundef %260, ptr noundef nonnull @.str.4) #12
  %262 = load i32, ptr %259, align 4, !tbaa !5
  %263 = call ptr @s2n_strerror_debug(i32 noundef %262, ptr noundef nonnull @.str.4) #12
  %264 = load i32, ptr %245, align 4, !tbaa !5
  %265 = call ptr @strerror(i32 noundef %264) #12
  %266 = load i32, ptr %245, align 4, !tbaa !5
  %267 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %257, ptr noundef nonnull %.str.5.sink1003, i32 noundef %258, ptr noundef nonnull @.str.16, ptr noundef nonnull @.str.1, i32 noundef 80, ptr noundef %261, ptr noundef %263, ptr noundef %265, i32 noundef %266) #14
  call void @exit(i32 noundef 1) #15
  unreachable

268:                                              ; preds = %239
  %269 = add nsw i32 %241, 2
  store i32 %269, ptr @test_count, align 4, !tbaa !5
  %270 = call i32 @s2n_config_set_unsafe_for_testing(ptr noundef nonnull %240) #12
  %271 = icmp eq i32 %270, -1
  br i1 %271, label %272, label %296

272:                                              ; preds = %268
  %273 = tail call ptr @__errno_location() #13
  %274 = load i32, ptr %273, align 4, !tbaa !5
  %275 = load ptr, ptr @stderr, align 8, !tbaa !9
  %276 = call i32 @s2n_print_stacktrace(ptr noundef %275) #12
  %277 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %278 = trunc nuw i8 %277 to i1
  br i1 %278, label %279, label %283

279:                                              ; preds = %272
  %280 = load ptr, ptr @stderr, align 8, !tbaa !9
  %281 = call i32 @fileno(ptr noundef %280) #12
  %282 = call i32 @isatty(i32 noundef %281) #12
  %.not876 = icmp eq i32 %282, 0
  br i1 %.not876, label %283, label %284

283:                                              ; preds = %279, %272
  br label %284

284:                                              ; preds = %279, %283
  %.str.5.sink1014 = phi ptr [ @.str.5, %283 ], [ @.str.2, %279 ]
  store i32 %274, ptr %273, align 4, !tbaa !5
  %285 = load ptr, ptr @stderr, align 8, !tbaa !9
  %286 = load i32, ptr @test_count, align 4, !tbaa !5
  %287 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %288 = load i32, ptr %287, align 4, !tbaa !5
  %289 = call ptr @s2n_strerror(i32 noundef %288, ptr noundef nonnull @.str.4) #12
  %290 = load i32, ptr %287, align 4, !tbaa !5
  %291 = call ptr @s2n_strerror_debug(i32 noundef %290, ptr noundef nonnull @.str.4) #12
  %292 = load i32, ptr %273, align 4, !tbaa !5
  %293 = call ptr @strerror(i32 noundef %292) #12
  %294 = load i32, ptr %273, align 4, !tbaa !5
  %295 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %285, ptr noundef nonnull %.str.5.sink1014, i32 noundef %286, ptr noundef nonnull @.str.17, ptr noundef nonnull @.str.1, i32 noundef 81, ptr noundef %289, ptr noundef %291, ptr noundef %293, i32 noundef %294) #14
  call void @exit(i32 noundef 1) #15
  unreachable

296:                                              ; preds = %268
  %297 = load i32, ptr @test_count, align 4, !tbaa !5
  %298 = add nsw i32 %297, 1
  store i32 %298, ptr @test_count, align 4, !tbaa !5
  %299 = load ptr, ptr %3, align 8, !tbaa !9
  %300 = call i32 @s2n_config_add_cert_chain_and_key_to_store(ptr noundef nonnull %240, ptr noundef %299) #12
  %301 = icmp eq i32 %300, -1
  br i1 %301, label %302, label %326

302:                                              ; preds = %296
  %303 = tail call ptr @__errno_location() #13
  %304 = load i32, ptr %303, align 4, !tbaa !5
  %305 = load ptr, ptr @stderr, align 8, !tbaa !9
  %306 = call i32 @s2n_print_stacktrace(ptr noundef %305) #12
  %307 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %308 = trunc nuw i8 %307 to i1
  br i1 %308, label %309, label %313

309:                                              ; preds = %302
  %310 = load ptr, ptr @stderr, align 8, !tbaa !9
  %311 = call i32 @fileno(ptr noundef %310) #12
  %312 = call i32 @isatty(i32 noundef %311) #12
  %.not875 = icmp eq i32 %312, 0
  br i1 %.not875, label %313, label %314

313:                                              ; preds = %309, %302
  br label %314

314:                                              ; preds = %309, %313
  %.str.5.sink1025 = phi ptr [ @.str.5, %313 ], [ @.str.2, %309 ]
  store i32 %304, ptr %303, align 4, !tbaa !5
  %315 = load ptr, ptr @stderr, align 8, !tbaa !9
  %316 = load i32, ptr @test_count, align 4, !tbaa !5
  %317 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %318 = load i32, ptr %317, align 4, !tbaa !5
  %319 = call ptr @s2n_strerror(i32 noundef %318, ptr noundef nonnull @.str.4) #12
  %320 = load i32, ptr %317, align 4, !tbaa !5
  %321 = call ptr @s2n_strerror_debug(i32 noundef %320, ptr noundef nonnull @.str.4) #12
  %322 = load i32, ptr %303, align 4, !tbaa !5
  %323 = call ptr @strerror(i32 noundef %322) #12
  %324 = load i32, ptr %303, align 4, !tbaa !5
  %325 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %315, ptr noundef nonnull %.str.5.sink1025, i32 noundef %316, ptr noundef nonnull @.str.18, ptr noundef nonnull @.str.1, i32 noundef 82, ptr noundef %319, ptr noundef %321, ptr noundef %323, i32 noundef %324) #14
  call void @exit(i32 noundef 1) #15
  unreachable

326:                                              ; preds = %296
  %327 = load i32, ptr @test_count, align 4, !tbaa !5
  %328 = add nsw i32 %327, 1
  store i32 %328, ptr @test_count, align 4, !tbaa !5
  %329 = call i32 @s2n_config_set_cipher_preferences(ptr noundef nonnull %240, ptr noundef nonnull @.str.19) #12
  %330 = icmp eq i32 %329, -1
  br i1 %330, label %331, label %355

331:                                              ; preds = %326
  %332 = tail call ptr @__errno_location() #13
  %333 = load i32, ptr %332, align 4, !tbaa !5
  %334 = load ptr, ptr @stderr, align 8, !tbaa !9
  %335 = call i32 @s2n_print_stacktrace(ptr noundef %334) #12
  %336 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %337 = trunc nuw i8 %336 to i1
  br i1 %337, label %338, label %342

338:                                              ; preds = %331
  %339 = load ptr, ptr @stderr, align 8, !tbaa !9
  %340 = call i32 @fileno(ptr noundef %339) #12
  %341 = call i32 @isatty(i32 noundef %340) #12
  %.not874 = icmp eq i32 %341, 0
  br i1 %.not874, label %342, label %343

342:                                              ; preds = %338, %331
  br label %343

343:                                              ; preds = %338, %342
  %.str.5.sink1036 = phi ptr [ @.str.5, %342 ], [ @.str.2, %338 ]
  store i32 %333, ptr %332, align 4, !tbaa !5
  %344 = load ptr, ptr @stderr, align 8, !tbaa !9
  %345 = load i32, ptr @test_count, align 4, !tbaa !5
  %346 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %347 = load i32, ptr %346, align 4, !tbaa !5
  %348 = call ptr @s2n_strerror(i32 noundef %347, ptr noundef nonnull @.str.4) #12
  %349 = load i32, ptr %346, align 4, !tbaa !5
  %350 = call ptr @s2n_strerror_debug(i32 noundef %349, ptr noundef nonnull @.str.4) #12
  %351 = load i32, ptr %332, align 4, !tbaa !5
  %352 = call ptr @strerror(i32 noundef %351) #12
  %353 = load i32, ptr %332, align 4, !tbaa !5
  %354 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %344, ptr noundef nonnull %.str.5.sink1036, i32 noundef %345, ptr noundef nonnull @.str.20, ptr noundef nonnull @.str.1, i32 noundef 83, ptr noundef %348, ptr noundef %350, ptr noundef %352, i32 noundef %353) #14
  call void @exit(i32 noundef 1) #15
  unreachable

355:                                              ; preds = %326
  call void @llvm.lifetime.start.p0(i64 20, ptr nonnull %7) #12
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 16 dereferenceable(20) %7, ptr noundef nonnull align 16 dereferenceable(20) @__const.main.app_data, i64 20, i1 false)
  call void @llvm.lifetime.start.p0(i64 16384, ptr nonnull %8) #12
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 16 dereferenceable(16384) %8, ptr noundef nonnull align 16 dereferenceable(16384) @__const.main.large_app_data, i64 16384, i1 false)
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %9) #12
  store i32 0, ptr %9, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %10) #12
  %356 = call ptr @s2n_connection_new(i32 noundef 0) #12
  store ptr %356, ptr %10, align 8, !tbaa !9
  %357 = load i32, ptr @test_count, align 4, !tbaa !5
  %358 = add nsw i32 %357, 1
  store i32 %358, ptr @test_count, align 4, !tbaa !5
  %359 = icmp eq ptr %356, null
  br i1 %359, label %360, label %384

360:                                              ; preds = %355
  %361 = tail call ptr @__errno_location() #13
  %362 = load i32, ptr %361, align 4, !tbaa !5
  %363 = load ptr, ptr @stderr, align 8, !tbaa !9
  %364 = call i32 @s2n_print_stacktrace(ptr noundef %363) #12
  %365 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %366 = trunc nuw i8 %365 to i1
  br i1 %366, label %367, label %371

367:                                              ; preds = %360
  %368 = load ptr, ptr @stderr, align 8, !tbaa !9
  %369 = call i32 @fileno(ptr noundef %368) #12
  %370 = call i32 @isatty(i32 noundef %369) #12
  %.not873 = icmp eq i32 %370, 0
  br i1 %.not873, label %371, label %372

371:                                              ; preds = %367, %360
  br label %372

372:                                              ; preds = %367, %371
  %.str.5.sink1047 = phi ptr [ @.str.5, %371 ], [ @.str.2, %367 ]
  store i32 %362, ptr %361, align 4, !tbaa !5
  %373 = load ptr, ptr @stderr, align 8, !tbaa !9
  %374 = load i32, ptr @test_count, align 4, !tbaa !5
  %375 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %376 = load i32, ptr %375, align 4, !tbaa !5
  %377 = call ptr @s2n_strerror(i32 noundef %376, ptr noundef nonnull @.str.4) #12
  %378 = load i32, ptr %375, align 4, !tbaa !5
  %379 = call ptr @s2n_strerror_debug(i32 noundef %378, ptr noundef nonnull @.str.4) #12
  %380 = load i32, ptr %361, align 4, !tbaa !5
  %381 = call ptr @strerror(i32 noundef %380) #12
  %382 = load i32, ptr %361, align 4, !tbaa !5
  %383 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %373, ptr noundef nonnull %.str.5.sink1047, i32 noundef %374, ptr noundef nonnull @.str.21, ptr noundef nonnull @.str.1, i32 noundef 94, ptr noundef %377, ptr noundef %379, ptr noundef %381, i32 noundef %382) #14
  call void @exit(i32 noundef 1) #15
  unreachable

384:                                              ; preds = %355
  %385 = add nsw i32 %357, 2
  store i32 %385, ptr @test_count, align 4, !tbaa !5
  %386 = call i32 @s2n_connection_set_config(ptr noundef nonnull %356, ptr noundef nonnull %240) #12
  %387 = icmp eq i32 %386, -1
  br i1 %387, label %388, label %412

388:                                              ; preds = %384
  %389 = tail call ptr @__errno_location() #13
  %390 = load i32, ptr %389, align 4, !tbaa !5
  %391 = load ptr, ptr @stderr, align 8, !tbaa !9
  %392 = call i32 @s2n_print_stacktrace(ptr noundef %391) #12
  %393 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %394 = trunc nuw i8 %393 to i1
  br i1 %394, label %395, label %399

395:                                              ; preds = %388
  %396 = load ptr, ptr @stderr, align 8, !tbaa !9
  %397 = call i32 @fileno(ptr noundef %396) #12
  %398 = call i32 @isatty(i32 noundef %397) #12
  %.not872 = icmp eq i32 %398, 0
  br i1 %.not872, label %399, label %400

399:                                              ; preds = %395, %388
  br label %400

400:                                              ; preds = %395, %399
  %.str.5.sink1058 = phi ptr [ @.str.5, %399 ], [ @.str.2, %395 ]
  store i32 %390, ptr %389, align 4, !tbaa !5
  %401 = load ptr, ptr @stderr, align 8, !tbaa !9
  %402 = load i32, ptr @test_count, align 4, !tbaa !5
  %403 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %404 = load i32, ptr %403, align 4, !tbaa !5
  %405 = call ptr @s2n_strerror(i32 noundef %404, ptr noundef nonnull @.str.4) #12
  %406 = load i32, ptr %403, align 4, !tbaa !5
  %407 = call ptr @s2n_strerror_debug(i32 noundef %406, ptr noundef nonnull @.str.4) #12
  %408 = load i32, ptr %389, align 4, !tbaa !5
  %409 = call ptr @strerror(i32 noundef %408) #12
  %410 = load i32, ptr %389, align 4, !tbaa !5
  %411 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %401, ptr noundef nonnull %.str.5.sink1058, i32 noundef %402, ptr noundef nonnull @.str.22, ptr noundef nonnull @.str.1, i32 noundef 95, ptr noundef %405, ptr noundef %407, ptr noundef %409, i32 noundef %410) #14
  call void @exit(i32 noundef 1) #15
  unreachable

412:                                              ; preds = %384
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %11) #12
  %413 = call ptr @s2n_connection_new(i32 noundef 1) #12
  store ptr %413, ptr %11, align 8, !tbaa !9
  %414 = load i32, ptr @test_count, align 4, !tbaa !5
  %415 = add nsw i32 %414, 1
  store i32 %415, ptr @test_count, align 4, !tbaa !5
  %416 = icmp eq ptr %413, null
  br i1 %416, label %417, label %441

417:                                              ; preds = %412
  %418 = tail call ptr @__errno_location() #13
  %419 = load i32, ptr %418, align 4, !tbaa !5
  %420 = load ptr, ptr @stderr, align 8, !tbaa !9
  %421 = call i32 @s2n_print_stacktrace(ptr noundef %420) #12
  %422 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %423 = trunc nuw i8 %422 to i1
  br i1 %423, label %424, label %428

424:                                              ; preds = %417
  %425 = load ptr, ptr @stderr, align 8, !tbaa !9
  %426 = call i32 @fileno(ptr noundef %425) #12
  %427 = call i32 @isatty(i32 noundef %426) #12
  %.not871 = icmp eq i32 %427, 0
  br i1 %.not871, label %428, label %429

428:                                              ; preds = %424, %417
  br label %429

429:                                              ; preds = %424, %428
  %.str.5.sink1069 = phi ptr [ @.str.5, %428 ], [ @.str.2, %424 ]
  store i32 %419, ptr %418, align 4, !tbaa !5
  %430 = load ptr, ptr @stderr, align 8, !tbaa !9
  %431 = load i32, ptr @test_count, align 4, !tbaa !5
  %432 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %433 = load i32, ptr %432, align 4, !tbaa !5
  %434 = call ptr @s2n_strerror(i32 noundef %433, ptr noundef nonnull @.str.4) #12
  %435 = load i32, ptr %432, align 4, !tbaa !5
  %436 = call ptr @s2n_strerror_debug(i32 noundef %435, ptr noundef nonnull @.str.4) #12
  %437 = load i32, ptr %418, align 4, !tbaa !5
  %438 = call ptr @strerror(i32 noundef %437) #12
  %439 = load i32, ptr %418, align 4, !tbaa !5
  %440 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %430, ptr noundef nonnull %.str.5.sink1069, i32 noundef %431, ptr noundef nonnull @.str.23, ptr noundef nonnull @.str.1, i32 noundef 98, ptr noundef %434, ptr noundef %436, ptr noundef %438, i32 noundef %439) #14
  call void @exit(i32 noundef 1) #15
  unreachable

441:                                              ; preds = %412
  %442 = add nsw i32 %414, 2
  store i32 %442, ptr @test_count, align 4, !tbaa !5
  %443 = call i32 @s2n_connection_set_config(ptr noundef nonnull %413, ptr noundef nonnull %240) #12
  %444 = icmp eq i32 %443, -1
  br i1 %444, label %445, label %469

445:                                              ; preds = %441
  %446 = tail call ptr @__errno_location() #13
  %447 = load i32, ptr %446, align 4, !tbaa !5
  %448 = load ptr, ptr @stderr, align 8, !tbaa !9
  %449 = call i32 @s2n_print_stacktrace(ptr noundef %448) #12
  %450 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %451 = trunc nuw i8 %450 to i1
  br i1 %451, label %452, label %456

452:                                              ; preds = %445
  %453 = load ptr, ptr @stderr, align 8, !tbaa !9
  %454 = call i32 @fileno(ptr noundef %453) #12
  %455 = call i32 @isatty(i32 noundef %454) #12
  %.not870 = icmp eq i32 %455, 0
  br i1 %.not870, label %456, label %457

456:                                              ; preds = %452, %445
  br label %457

457:                                              ; preds = %452, %456
  %.str.5.sink1080 = phi ptr [ @.str.5, %456 ], [ @.str.2, %452 ]
  store i32 %447, ptr %446, align 4, !tbaa !5
  %458 = load ptr, ptr @stderr, align 8, !tbaa !9
  %459 = load i32, ptr @test_count, align 4, !tbaa !5
  %460 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %461 = load i32, ptr %460, align 4, !tbaa !5
  %462 = call ptr @s2n_strerror(i32 noundef %461, ptr noundef nonnull @.str.4) #12
  %463 = load i32, ptr %460, align 4, !tbaa !5
  %464 = call ptr @s2n_strerror_debug(i32 noundef %463, ptr noundef nonnull @.str.4) #12
  %465 = load i32, ptr %446, align 4, !tbaa !5
  %466 = call ptr @strerror(i32 noundef %465) #12
  %467 = load i32, ptr %446, align 4, !tbaa !5
  %468 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %458, ptr noundef nonnull %.str.5.sink1080, i32 noundef %459, ptr noundef nonnull @.str.24, ptr noundef nonnull @.str.1, i32 noundef 99, ptr noundef %462, ptr noundef %464, ptr noundef %466, i32 noundef %467) #14
  call void @exit(i32 noundef 1) #15
  unreachable

469:                                              ; preds = %441
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %12) #12
  store i64 0, ptr %12, align 8
  %470 = load i32, ptr @test_count, align 4, !tbaa !5
  %471 = add nsw i32 %470, 1
  store i32 %471, ptr @test_count, align 4, !tbaa !5
  %472 = call i32 @s2n_io_pair_init_non_blocking(ptr noundef nonnull %12) #12
  %473 = icmp eq i32 %472, -1
  br i1 %473, label %474, label %498

474:                                              ; preds = %469
  %475 = tail call ptr @__errno_location() #13
  %476 = load i32, ptr %475, align 4, !tbaa !5
  %477 = load ptr, ptr @stderr, align 8, !tbaa !9
  %478 = call i32 @s2n_print_stacktrace(ptr noundef %477) #12
  %479 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %480 = trunc nuw i8 %479 to i1
  br i1 %480, label %481, label %485

481:                                              ; preds = %474
  %482 = load ptr, ptr @stderr, align 8, !tbaa !9
  %483 = call i32 @fileno(ptr noundef %482) #12
  %484 = call i32 @isatty(i32 noundef %483) #12
  %.not869 = icmp eq i32 %484, 0
  br i1 %.not869, label %485, label %486

485:                                              ; preds = %481, %474
  br label %486

486:                                              ; preds = %481, %485
  %.str.5.sink1091 = phi ptr [ @.str.5, %485 ], [ @.str.2, %481 ]
  store i32 %476, ptr %475, align 4, !tbaa !5
  %487 = load ptr, ptr @stderr, align 8, !tbaa !9
  %488 = load i32, ptr @test_count, align 4, !tbaa !5
  %489 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %490 = load i32, ptr %489, align 4, !tbaa !5
  %491 = call ptr @s2n_strerror(i32 noundef %490, ptr noundef nonnull @.str.4) #12
  %492 = load i32, ptr %489, align 4, !tbaa !5
  %493 = call ptr @s2n_strerror_debug(i32 noundef %492, ptr noundef nonnull @.str.4) #12
  %494 = load i32, ptr %475, align 4, !tbaa !5
  %495 = call ptr @strerror(i32 noundef %494) #12
  %496 = load i32, ptr %475, align 4, !tbaa !5
  %497 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %487, ptr noundef nonnull %.str.5.sink1091, i32 noundef %488, ptr noundef nonnull @.str.25, ptr noundef nonnull @.str.1, i32 noundef 103, ptr noundef %491, ptr noundef %493, ptr noundef %495, i32 noundef %496) #14
  call void @exit(i32 noundef 1) #15
  unreachable

498:                                              ; preds = %469
  %499 = load i32, ptr @test_count, align 4, !tbaa !5
  %500 = add nsw i32 %499, 1
  store i32 %500, ptr @test_count, align 4, !tbaa !5
  %501 = load ptr, ptr %11, align 8, !tbaa !9
  %502 = call i32 @s2n_connection_set_io_pair(ptr noundef %501, ptr noundef nonnull %12) #12
  %503 = icmp eq i32 %502, -1
  br i1 %503, label %504, label %528

504:                                              ; preds = %498
  %505 = tail call ptr @__errno_location() #13
  %506 = load i32, ptr %505, align 4, !tbaa !5
  %507 = load ptr, ptr @stderr, align 8, !tbaa !9
  %508 = call i32 @s2n_print_stacktrace(ptr noundef %507) #12
  %509 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %510 = trunc nuw i8 %509 to i1
  br i1 %510, label %511, label %515

511:                                              ; preds = %504
  %512 = load ptr, ptr @stderr, align 8, !tbaa !9
  %513 = call i32 @fileno(ptr noundef %512) #12
  %514 = call i32 @isatty(i32 noundef %513) #12
  %.not868 = icmp eq i32 %514, 0
  br i1 %.not868, label %515, label %516

515:                                              ; preds = %511, %504
  br label %516

516:                                              ; preds = %511, %515
  %.str.5.sink1102 = phi ptr [ @.str.5, %515 ], [ @.str.2, %511 ]
  store i32 %506, ptr %505, align 4, !tbaa !5
  %517 = load ptr, ptr @stderr, align 8, !tbaa !9
  %518 = load i32, ptr @test_count, align 4, !tbaa !5
  %519 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %520 = load i32, ptr %519, align 4, !tbaa !5
  %521 = call ptr @s2n_strerror(i32 noundef %520, ptr noundef nonnull @.str.4) #12
  %522 = load i32, ptr %519, align 4, !tbaa !5
  %523 = call ptr @s2n_strerror_debug(i32 noundef %522, ptr noundef nonnull @.str.4) #12
  %524 = load i32, ptr %505, align 4, !tbaa !5
  %525 = call ptr @strerror(i32 noundef %524) #12
  %526 = load i32, ptr %505, align 4, !tbaa !5
  %527 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %517, ptr noundef nonnull %.str.5.sink1102, i32 noundef %518, ptr noundef nonnull @.str.26, ptr noundef nonnull @.str.1, i32 noundef 104, ptr noundef %521, ptr noundef %523, ptr noundef %525, i32 noundef %526) #14
  call void @exit(i32 noundef 1) #15
  unreachable

528:                                              ; preds = %498
  %529 = load i32, ptr @test_count, align 4, !tbaa !5
  %530 = add nsw i32 %529, 1
  store i32 %530, ptr @test_count, align 4, !tbaa !5
  %531 = load ptr, ptr %10, align 8, !tbaa !9
  %532 = call i32 @s2n_connection_set_io_pair(ptr noundef %531, ptr noundef nonnull %12) #12
  %533 = icmp eq i32 %532, -1
  br i1 %533, label %534, label %558

534:                                              ; preds = %528
  %535 = tail call ptr @__errno_location() #13
  %536 = load i32, ptr %535, align 4, !tbaa !5
  %537 = load ptr, ptr @stderr, align 8, !tbaa !9
  %538 = call i32 @s2n_print_stacktrace(ptr noundef %537) #12
  %539 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %540 = trunc nuw i8 %539 to i1
  br i1 %540, label %541, label %545

541:                                              ; preds = %534
  %542 = load ptr, ptr @stderr, align 8, !tbaa !9
  %543 = call i32 @fileno(ptr noundef %542) #12
  %544 = call i32 @isatty(i32 noundef %543) #12
  %.not867 = icmp eq i32 %544, 0
  br i1 %.not867, label %545, label %546

545:                                              ; preds = %541, %534
  br label %546

546:                                              ; preds = %541, %545
  %.str.5.sink1113 = phi ptr [ @.str.5, %545 ], [ @.str.2, %541 ]
  store i32 %536, ptr %535, align 4, !tbaa !5
  %547 = load ptr, ptr @stderr, align 8, !tbaa !9
  %548 = load i32, ptr @test_count, align 4, !tbaa !5
  %549 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %550 = load i32, ptr %549, align 4, !tbaa !5
  %551 = call ptr @s2n_strerror(i32 noundef %550, ptr noundef nonnull @.str.4) #12
  %552 = load i32, ptr %549, align 4, !tbaa !5
  %553 = call ptr @s2n_strerror_debug(i32 noundef %552, ptr noundef nonnull @.str.4) #12
  %554 = load i32, ptr %535, align 4, !tbaa !5
  %555 = call ptr @strerror(i32 noundef %554) #12
  %556 = load i32, ptr %535, align 4, !tbaa !5
  %557 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %547, ptr noundef nonnull %.str.5.sink1113, i32 noundef %548, ptr noundef nonnull @.str.27, ptr noundef nonnull @.str.1, i32 noundef 105, ptr noundef %551, ptr noundef %553, ptr noundef %555, i32 noundef %556) #14
  call void @exit(i32 noundef 1) #15
  unreachable

558:                                              ; preds = %528
  %559 = load i32, ptr @test_count, align 4, !tbaa !5
  %560 = add nsw i32 %559, 1
  store i32 %560, ptr @test_count, align 4, !tbaa !5
  %561 = load ptr, ptr %11, align 8, !tbaa !9
  %562 = getelementptr inbounds i8, ptr %561, i64 48
  %563 = load ptr, ptr %562, align 8, !tbaa !15
  %564 = icmp eq ptr %563, @s2n_socket_write
  br i1 %564, label %589, label %565

565:                                              ; preds = %558
  %566 = tail call ptr @__errno_location() #13
  %567 = load i32, ptr %566, align 4, !tbaa !5
  %568 = load ptr, ptr @stderr, align 8, !tbaa !9
  %569 = call i32 @s2n_print_stacktrace(ptr noundef %568) #12
  %570 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %571 = trunc nuw i8 %570 to i1
  br i1 %571, label %572, label %576

572:                                              ; preds = %565
  %573 = load ptr, ptr @stderr, align 8, !tbaa !9
  %574 = call i32 @fileno(ptr noundef %573) #12
  %575 = call i32 @isatty(i32 noundef %574) #12
  %.not = icmp eq i32 %575, 0
  br i1 %.not, label %576, label %577

576:                                              ; preds = %572, %565
  br label %577

577:                                              ; preds = %572, %576
  %.str.5.sink1124 = phi ptr [ @.str.5, %576 ], [ @.str.2, %572 ]
  store i32 %567, ptr %566, align 4, !tbaa !5
  %578 = load ptr, ptr @stderr, align 8, !tbaa !9
  %579 = load i32, ptr @test_count, align 4, !tbaa !5
  %580 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %581 = load i32, ptr %580, align 4, !tbaa !5
  %582 = call ptr @s2n_strerror(i32 noundef %581, ptr noundef nonnull @.str.4) #12
  %583 = load i32, ptr %580, align 4, !tbaa !5
  %584 = call ptr @s2n_strerror_debug(i32 noundef %583, ptr noundef nonnull @.str.4) #12
  %585 = load i32, ptr %566, align 4, !tbaa !5
  %586 = call ptr @strerror(i32 noundef %585) #12
  %587 = load i32, ptr %566, align 4, !tbaa !5
  %588 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %578, ptr noundef nonnull %.str.5.sink1124, i32 noundef %579, ptr noundef nonnull @.str.28, ptr noundef nonnull @.str.1, i32 noundef 106, ptr noundef %582, ptr noundef %584, ptr noundef %586, i32 noundef %587) #14
  call void @exit(i32 noundef 1) #15
  unreachable

589:                                              ; preds = %558
  %590 = add nsw i32 %559, 2
  store i32 %590, ptr @test_count, align 4, !tbaa !5
  %591 = load i32, ptr %561, align 8
  %592 = and i32 %591, 256
  %.not613 = icmp eq i32 %592, 0
  br i1 %.not613, label %593, label %617

593:                                              ; preds = %589
  %594 = tail call ptr @__errno_location() #13
  %595 = load i32, ptr %594, align 4, !tbaa !5
  %596 = load ptr, ptr @stderr, align 8, !tbaa !9
  %597 = call i32 @s2n_print_stacktrace(ptr noundef %596) #12
  %598 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %599 = trunc nuw i8 %598 to i1
  br i1 %599, label %600, label %604

600:                                              ; preds = %593
  %601 = load ptr, ptr @stderr, align 8, !tbaa !9
  %602 = call i32 @fileno(ptr noundef %601) #12
  %603 = call i32 @isatty(i32 noundef %602) #12
  %.not614 = icmp eq i32 %603, 0
  br i1 %.not614, label %604, label %605

604:                                              ; preds = %600, %593
  br label %605

605:                                              ; preds = %600, %604
  %.str.5.sink1135 = phi ptr [ @.str.5, %604 ], [ @.str.2, %600 ]
  store i32 %595, ptr %594, align 4, !tbaa !5
  %606 = load ptr, ptr @stderr, align 8, !tbaa !9
  %607 = load i32, ptr @test_count, align 4, !tbaa !5
  %608 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %609 = load i32, ptr %608, align 4, !tbaa !5
  %610 = call ptr @s2n_strerror(i32 noundef %609, ptr noundef nonnull @.str.4) #12
  %611 = load i32, ptr %608, align 4, !tbaa !5
  %612 = call ptr @s2n_strerror_debug(i32 noundef %611, ptr noundef nonnull @.str.4) #12
  %613 = load i32, ptr %594, align 4, !tbaa !5
  %614 = call ptr @strerror(i32 noundef %613) #12
  %615 = load i32, ptr %594, align 4, !tbaa !5
  %616 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %606, ptr noundef nonnull %.str.5.sink1135, i32 noundef %607, ptr noundef nonnull @.str.29, ptr noundef nonnull @.str.1, i32 noundef 107, ptr noundef %610, ptr noundef %612, ptr noundef %614, i32 noundef %615) #14
  call void @exit(i32 noundef 1) #15
  unreachable

617:                                              ; preds = %589
  %618 = add nsw i32 %559, 3
  store i32 %618, ptr @test_count, align 4, !tbaa !5
  %619 = getelementptr inbounds i8, ptr %561, i64 56
  %620 = load ptr, ptr %619, align 8, !tbaa !42
  %621 = icmp eq ptr %620, @s2n_socket_read
  br i1 %621, label %646, label %622

622:                                              ; preds = %617
  %623 = tail call ptr @__errno_location() #13
  %624 = load i32, ptr %623, align 4, !tbaa !5
  %625 = load ptr, ptr @stderr, align 8, !tbaa !9
  %626 = call i32 @s2n_print_stacktrace(ptr noundef %625) #12
  %627 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %628 = trunc nuw i8 %627 to i1
  br i1 %628, label %629, label %633

629:                                              ; preds = %622
  %630 = load ptr, ptr @stderr, align 8, !tbaa !9
  %631 = call i32 @fileno(ptr noundef %630) #12
  %632 = call i32 @isatty(i32 noundef %631) #12
  %.not615 = icmp eq i32 %632, 0
  br i1 %.not615, label %633, label %634

633:                                              ; preds = %629, %622
  br label %634

634:                                              ; preds = %629, %633
  %.str.5.sink1146 = phi ptr [ @.str.5, %633 ], [ @.str.2, %629 ]
  store i32 %624, ptr %623, align 4, !tbaa !5
  %635 = load ptr, ptr @stderr, align 8, !tbaa !9
  %636 = load i32, ptr @test_count, align 4, !tbaa !5
  %637 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %638 = load i32, ptr %637, align 4, !tbaa !5
  %639 = call ptr @s2n_strerror(i32 noundef %638, ptr noundef nonnull @.str.4) #12
  %640 = load i32, ptr %637, align 4, !tbaa !5
  %641 = call ptr @s2n_strerror_debug(i32 noundef %640, ptr noundef nonnull @.str.4) #12
  %642 = load i32, ptr %623, align 4, !tbaa !5
  %643 = call ptr @strerror(i32 noundef %642) #12
  %644 = load i32, ptr %623, align 4, !tbaa !5
  %645 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %635, ptr noundef nonnull %.str.5.sink1146, i32 noundef %636, ptr noundef nonnull @.str.30, ptr noundef nonnull @.str.1, i32 noundef 108, ptr noundef %639, ptr noundef %641, ptr noundef %643, i32 noundef %644) #14
  call void @exit(i32 noundef 1) #15
  unreachable

646:                                              ; preds = %617
  %647 = add nsw i32 %559, 4
  store i32 %647, ptr @test_count, align 4, !tbaa !5
  %648 = load i32, ptr %561, align 8
  %649 = and i32 %648, 512
  %.not616 = icmp eq i32 %649, 0
  br i1 %.not616, label %650, label %674

650:                                              ; preds = %646
  %651 = tail call ptr @__errno_location() #13
  %652 = load i32, ptr %651, align 4, !tbaa !5
  %653 = load ptr, ptr @stderr, align 8, !tbaa !9
  %654 = call i32 @s2n_print_stacktrace(ptr noundef %653) #12
  %655 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %656 = trunc nuw i8 %655 to i1
  br i1 %656, label %657, label %661

657:                                              ; preds = %650
  %658 = load ptr, ptr @stderr, align 8, !tbaa !9
  %659 = call i32 @fileno(ptr noundef %658) #12
  %660 = call i32 @isatty(i32 noundef %659) #12
  %.not617 = icmp eq i32 %660, 0
  br i1 %.not617, label %661, label %662

661:                                              ; preds = %657, %650
  br label %662

662:                                              ; preds = %657, %661
  %.str.5.sink1157 = phi ptr [ @.str.5, %661 ], [ @.str.2, %657 ]
  store i32 %652, ptr %651, align 4, !tbaa !5
  %663 = load ptr, ptr @stderr, align 8, !tbaa !9
  %664 = load i32, ptr @test_count, align 4, !tbaa !5
  %665 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %666 = load i32, ptr %665, align 4, !tbaa !5
  %667 = call ptr @s2n_strerror(i32 noundef %666, ptr noundef nonnull @.str.4) #12
  %668 = load i32, ptr %665, align 4, !tbaa !5
  %669 = call ptr @s2n_strerror_debug(i32 noundef %668, ptr noundef nonnull @.str.4) #12
  %670 = load i32, ptr %651, align 4, !tbaa !5
  %671 = call ptr @strerror(i32 noundef %670) #12
  %672 = load i32, ptr %651, align 4, !tbaa !5
  %673 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %663, ptr noundef nonnull %.str.5.sink1157, i32 noundef %664, ptr noundef nonnull @.str.31, ptr noundef nonnull @.str.1, i32 noundef 109, ptr noundef %667, ptr noundef %669, ptr noundef %671, i32 noundef %672) #14
  call void @exit(i32 noundef 1) #15
  unreachable

674:                                              ; preds = %646
  %675 = add nsw i32 %559, 5
  store i32 %675, ptr @test_count, align 4, !tbaa !5
  %676 = load ptr, ptr %10, align 8, !tbaa !9
  %677 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef %676, ptr noundef nonnull %561) #12
  %678 = icmp eq i32 %677, -1
  br i1 %678, label %679, label %703

679:                                              ; preds = %674
  %680 = tail call ptr @__errno_location() #13
  %681 = load i32, ptr %680, align 4, !tbaa !5
  %682 = load ptr, ptr @stderr, align 8, !tbaa !9
  %683 = call i32 @s2n_print_stacktrace(ptr noundef %682) #12
  %684 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %685 = trunc nuw i8 %684 to i1
  br i1 %685, label %686, label %690

686:                                              ; preds = %679
  %687 = load ptr, ptr @stderr, align 8, !tbaa !9
  %688 = call i32 @fileno(ptr noundef %687) #12
  %689 = call i32 @isatty(i32 noundef %688) #12
  %.not866 = icmp eq i32 %689, 0
  br i1 %.not866, label %690, label %691

690:                                              ; preds = %686, %679
  br label %691

691:                                              ; preds = %686, %690
  %.str.5.sink1168 = phi ptr [ @.str.5, %690 ], [ @.str.2, %686 ]
  store i32 %681, ptr %680, align 4, !tbaa !5
  %692 = load ptr, ptr @stderr, align 8, !tbaa !9
  %693 = load i32, ptr @test_count, align 4, !tbaa !5
  %694 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %695 = load i32, ptr %694, align 4, !tbaa !5
  %696 = call ptr @s2n_strerror(i32 noundef %695, ptr noundef nonnull @.str.4) #12
  %697 = load i32, ptr %694, align 4, !tbaa !5
  %698 = call ptr @s2n_strerror_debug(i32 noundef %697, ptr noundef nonnull @.str.4) #12
  %699 = load i32, ptr %680, align 4, !tbaa !5
  %700 = call ptr @strerror(i32 noundef %699) #12
  %701 = load i32, ptr %680, align 4, !tbaa !5
  %702 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %692, ptr noundef nonnull %.str.5.sink1168, i32 noundef %693, ptr noundef nonnull @.str.32, ptr noundef nonnull @.str.1, i32 noundef 111, ptr noundef %696, ptr noundef %698, ptr noundef %700, i32 noundef %701) #14
  call void @exit(i32 noundef 1) #15
  unreachable

703:                                              ; preds = %674
  %704 = load i32, ptr @test_count, align 4, !tbaa !5
  %705 = add nsw i32 %704, 1
  store i32 %705, ptr @test_count, align 4, !tbaa !5
  %706 = load ptr, ptr %11, align 8, !tbaa !9
  %707 = call i32 @s2n_renegotiate_wipe(ptr noundef %706) #12
  %708 = icmp eq i32 %707, -1
  br i1 %708, label %709, label %733

709:                                              ; preds = %703
  %710 = tail call ptr @__errno_location() #13
  %711 = load i32, ptr %710, align 4, !tbaa !5
  %712 = load ptr, ptr @stderr, align 8, !tbaa !9
  %713 = call i32 @s2n_print_stacktrace(ptr noundef %712) #12
  %714 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %715 = trunc nuw i8 %714 to i1
  br i1 %715, label %716, label %720

716:                                              ; preds = %709
  %717 = load ptr, ptr @stderr, align 8, !tbaa !9
  %718 = call i32 @fileno(ptr noundef %717) #12
  %719 = call i32 @isatty(i32 noundef %718) #12
  %.not865 = icmp eq i32 %719, 0
  br i1 %.not865, label %720, label %721

720:                                              ; preds = %716, %709
  br label %721

721:                                              ; preds = %716, %720
  %.str.5.sink1179 = phi ptr [ @.str.5, %720 ], [ @.str.2, %716 ]
  store i32 %711, ptr %710, align 4, !tbaa !5
  %722 = load ptr, ptr @stderr, align 8, !tbaa !9
  %723 = load i32, ptr @test_count, align 4, !tbaa !5
  %724 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %725 = load i32, ptr %724, align 4, !tbaa !5
  %726 = call ptr @s2n_strerror(i32 noundef %725, ptr noundef nonnull @.str.4) #12
  %727 = load i32, ptr %724, align 4, !tbaa !5
  %728 = call ptr @s2n_strerror_debug(i32 noundef %727, ptr noundef nonnull @.str.4) #12
  %729 = load i32, ptr %710, align 4, !tbaa !5
  %730 = call ptr @strerror(i32 noundef %729) #12
  %731 = load i32, ptr %710, align 4, !tbaa !5
  %732 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %722, ptr noundef nonnull %.str.5.sink1179, i32 noundef %723, ptr noundef nonnull @.str.33, ptr noundef nonnull @.str.1, i32 noundef 112, ptr noundef %726, ptr noundef %728, ptr noundef %730, i32 noundef %731) #14
  call void @exit(i32 noundef 1) #15
  unreachable

733:                                              ; preds = %703
  call void @llvm.lifetime.start.p0(i64 20, ptr nonnull %13) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 16 dereferenceable(20) %13, i8 0, i64 20, i1 false)
  %734 = load i32, ptr @test_count, align 4, !tbaa !5
  %735 = add nsw i32 %734, 1
  store i32 %735, ptr @test_count, align 4, !tbaa !5
  %736 = load ptr, ptr %10, align 8, !tbaa !9
  %737 = call i64 @s2n_send(ptr noundef %736, ptr noundef nonnull %7, i64 noundef 20, ptr noundef nonnull %9) #12
  %738 = icmp eq i64 %737, 20
  br i1 %738, label %763, label %739

739:                                              ; preds = %733
  %740 = tail call ptr @__errno_location() #13
  %741 = load i32, ptr %740, align 4, !tbaa !5
  %742 = load ptr, ptr @stderr, align 8, !tbaa !9
  %743 = call i32 @s2n_print_stacktrace(ptr noundef %742) #12
  %744 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %745 = trunc nuw i8 %744 to i1
  br i1 %745, label %746, label %750

746:                                              ; preds = %739
  %747 = load ptr, ptr @stderr, align 8, !tbaa !9
  %748 = call i32 @fileno(ptr noundef %747) #12
  %749 = call i32 @isatty(i32 noundef %748) #12
  %.not618 = icmp eq i32 %749, 0
  br i1 %.not618, label %750, label %751

750:                                              ; preds = %746, %739
  br label %751

751:                                              ; preds = %746, %750
  %.str.5.sink1190 = phi ptr [ @.str.5, %750 ], [ @.str.2, %746 ]
  store i32 %741, ptr %740, align 4, !tbaa !5
  %752 = load ptr, ptr @stderr, align 8, !tbaa !9
  %753 = load i32, ptr @test_count, align 4, !tbaa !5
  %754 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %755 = load i32, ptr %754, align 4, !tbaa !5
  %756 = call ptr @s2n_strerror(i32 noundef %755, ptr noundef nonnull @.str.4) #12
  %757 = load i32, ptr %754, align 4, !tbaa !5
  %758 = call ptr @s2n_strerror_debug(i32 noundef %757, ptr noundef nonnull @.str.4) #12
  %759 = load i32, ptr %740, align 4, !tbaa !5
  %760 = call ptr @strerror(i32 noundef %759) #12
  %761 = load i32, ptr %740, align 4, !tbaa !5
  %762 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %752, ptr noundef nonnull %.str.5.sink1190, i32 noundef %753, ptr noundef nonnull @.str.34, ptr noundef nonnull @.str.1, i32 noundef 115, ptr noundef %756, ptr noundef %758, ptr noundef %760, i32 noundef %761) #14
  call void @exit(i32 noundef 1) #15
  unreachable

763:                                              ; preds = %733
  %764 = load i32, ptr @test_count, align 4, !tbaa !5
  %765 = add nsw i32 %764, 1
  store i32 %765, ptr @test_count, align 4, !tbaa !5
  %766 = load ptr, ptr %11, align 8, !tbaa !9
  %767 = call i64 @s2n_recv(ptr noundef %766, ptr noundef nonnull %13, i64 noundef 20, ptr noundef nonnull %9) #12
  %768 = icmp eq i64 %767, 20
  br i1 %768, label %793, label %769

769:                                              ; preds = %763
  %770 = tail call ptr @__errno_location() #13
  %771 = load i32, ptr %770, align 4, !tbaa !5
  %772 = load ptr, ptr @stderr, align 8, !tbaa !9
  %773 = call i32 @s2n_print_stacktrace(ptr noundef %772) #12
  %774 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %775 = trunc nuw i8 %774 to i1
  br i1 %775, label %776, label %780

776:                                              ; preds = %769
  %777 = load ptr, ptr @stderr, align 8, !tbaa !9
  %778 = call i32 @fileno(ptr noundef %777) #12
  %779 = call i32 @isatty(i32 noundef %778) #12
  %.not619 = icmp eq i32 %779, 0
  br i1 %.not619, label %780, label %781

780:                                              ; preds = %776, %769
  br label %781

781:                                              ; preds = %776, %780
  %.str.5.sink1201 = phi ptr [ @.str.5, %780 ], [ @.str.2, %776 ]
  store i32 %771, ptr %770, align 4, !tbaa !5
  %782 = load ptr, ptr @stderr, align 8, !tbaa !9
  %783 = load i32, ptr @test_count, align 4, !tbaa !5
  %784 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %785 = load i32, ptr %784, align 4, !tbaa !5
  %786 = call ptr @s2n_strerror(i32 noundef %785, ptr noundef nonnull @.str.4) #12
  %787 = load i32, ptr %784, align 4, !tbaa !5
  %788 = call ptr @s2n_strerror_debug(i32 noundef %787, ptr noundef nonnull @.str.4) #12
  %789 = load i32, ptr %770, align 4, !tbaa !5
  %790 = call ptr @strerror(i32 noundef %789) #12
  %791 = load i32, ptr %770, align 4, !tbaa !5
  %792 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %782, ptr noundef nonnull %.str.5.sink1201, i32 noundef %783, ptr noundef nonnull @.str.35, ptr noundef nonnull @.str.1, i32 noundef 116, ptr noundef %786, ptr noundef %788, ptr noundef %790, i32 noundef %791) #14
  call void @exit(i32 noundef 1) #15
  unreachable

793:                                              ; preds = %763
  %794 = load i32, ptr @test_count, align 4, !tbaa !5
  %795 = add nsw i32 %794, 1
  store i32 %795, ptr @test_count, align 4, !tbaa !5
  %bcmp = call i32 @bcmp(ptr noundef nonnull dereferenceable(20) %13, ptr noundef nonnull dereferenceable(20) %7, i64 20)
  %796 = icmp eq i32 %bcmp, 0
  br i1 %796, label %821, label %797

797:                                              ; preds = %793
  %798 = tail call ptr @__errno_location() #13
  %799 = load i32, ptr %798, align 4, !tbaa !5
  %800 = load ptr, ptr @stderr, align 8, !tbaa !9
  %801 = call i32 @s2n_print_stacktrace(ptr noundef %800) #12
  %802 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %803 = trunc nuw i8 %802 to i1
  br i1 %803, label %804, label %808

804:                                              ; preds = %797
  %805 = load ptr, ptr @stderr, align 8, !tbaa !9
  %806 = call i32 @fileno(ptr noundef %805) #12
  %807 = call i32 @isatty(i32 noundef %806) #12
  %.not620 = icmp eq i32 %807, 0
  br i1 %.not620, label %808, label %809

808:                                              ; preds = %804, %797
  br label %809

809:                                              ; preds = %804, %808
  %.str.5.sink1212 = phi ptr [ @.str.5, %808 ], [ @.str.2, %804 ]
  store i32 %799, ptr %798, align 4, !tbaa !5
  %810 = load ptr, ptr @stderr, align 8, !tbaa !9
  %811 = load i32, ptr @test_count, align 4, !tbaa !5
  %812 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %813 = load i32, ptr %812, align 4, !tbaa !5
  %814 = call ptr @s2n_strerror(i32 noundef %813, ptr noundef nonnull @.str.4) #12
  %815 = load i32, ptr %812, align 4, !tbaa !5
  %816 = call ptr @s2n_strerror_debug(i32 noundef %815, ptr noundef nonnull @.str.4) #12
  %817 = load i32, ptr %798, align 4, !tbaa !5
  %818 = call ptr @strerror(i32 noundef %817) #12
  %819 = load i32, ptr %798, align 4, !tbaa !5
  %820 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %810, ptr noundef nonnull %.str.5.sink1212, i32 noundef %811, ptr noundef nonnull @.str.36, ptr noundef nonnull @.str.1, i32 noundef 117, ptr noundef %814, ptr noundef %816, ptr noundef %818, i32 noundef %819) #14
  call void @exit(i32 noundef 1) #15
  unreachable

821:                                              ; preds = %793
  call void @llvm.lifetime.end.p0(i64 20, ptr nonnull %13) #12
  %822 = call i32 @s2n_io_pair_close(ptr noundef nonnull %12) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %12) #12
  %823 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %11) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %11) #12
  %824 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %10) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %10) #12
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %14) #12
  %825 = call ptr @s2n_connection_new(i32 noundef 0) #12
  store ptr %825, ptr %14, align 8, !tbaa !9
  %826 = load i32, ptr @test_count, align 4, !tbaa !5
  %827 = add nsw i32 %826, 1
  store i32 %827, ptr @test_count, align 4, !tbaa !5
  %828 = icmp eq ptr %825, null
  br i1 %828, label %829, label %853

829:                                              ; preds = %821
  %830 = tail call ptr @__errno_location() #13
  %831 = load i32, ptr %830, align 4, !tbaa !5
  %832 = load ptr, ptr @stderr, align 8, !tbaa !9
  %833 = call i32 @s2n_print_stacktrace(ptr noundef %832) #12
  %834 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %835 = trunc nuw i8 %834 to i1
  br i1 %835, label %836, label %840

836:                                              ; preds = %829
  %837 = load ptr, ptr @stderr, align 8, !tbaa !9
  %838 = call i32 @fileno(ptr noundef %837) #12
  %839 = call i32 @isatty(i32 noundef %838) #12
  %.not864 = icmp eq i32 %839, 0
  br i1 %.not864, label %840, label %841

840:                                              ; preds = %836, %829
  br label %841

841:                                              ; preds = %836, %840
  %.str.5.sink1223 = phi ptr [ @.str.5, %840 ], [ @.str.2, %836 ]
  store i32 %831, ptr %830, align 4, !tbaa !5
  %842 = load ptr, ptr @stderr, align 8, !tbaa !9
  %843 = load i32, ptr @test_count, align 4, !tbaa !5
  %844 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %845 = load i32, ptr %844, align 4, !tbaa !5
  %846 = call ptr @s2n_strerror(i32 noundef %845, ptr noundef nonnull @.str.4) #12
  %847 = load i32, ptr %844, align 4, !tbaa !5
  %848 = call ptr @s2n_strerror_debug(i32 noundef %847, ptr noundef nonnull @.str.4) #12
  %849 = load i32, ptr %830, align 4, !tbaa !5
  %850 = call ptr @strerror(i32 noundef %849) #12
  %851 = load i32, ptr %830, align 4, !tbaa !5
  %852 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %842, ptr noundef nonnull %.str.5.sink1223, i32 noundef %843, ptr noundef nonnull @.str.21, ptr noundef nonnull @.str.1, i32 noundef 123, ptr noundef %846, ptr noundef %848, ptr noundef %850, i32 noundef %851) #14
  call void @exit(i32 noundef 1) #15
  unreachable

853:                                              ; preds = %821
  %854 = add nsw i32 %826, 2
  store i32 %854, ptr @test_count, align 4, !tbaa !5
  %855 = call i32 @s2n_connection_set_config(ptr noundef nonnull %825, ptr noundef nonnull %240) #12
  %856 = icmp eq i32 %855, -1
  br i1 %856, label %857, label %881

857:                                              ; preds = %853
  %858 = tail call ptr @__errno_location() #13
  %859 = load i32, ptr %858, align 4, !tbaa !5
  %860 = load ptr, ptr @stderr, align 8, !tbaa !9
  %861 = call i32 @s2n_print_stacktrace(ptr noundef %860) #12
  %862 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %863 = trunc nuw i8 %862 to i1
  br i1 %863, label %864, label %868

864:                                              ; preds = %857
  %865 = load ptr, ptr @stderr, align 8, !tbaa !9
  %866 = call i32 @fileno(ptr noundef %865) #12
  %867 = call i32 @isatty(i32 noundef %866) #12
  %.not863 = icmp eq i32 %867, 0
  br i1 %.not863, label %868, label %869

868:                                              ; preds = %864, %857
  br label %869

869:                                              ; preds = %864, %868
  %.str.5.sink1234 = phi ptr [ @.str.5, %868 ], [ @.str.2, %864 ]
  store i32 %859, ptr %858, align 4, !tbaa !5
  %870 = load ptr, ptr @stderr, align 8, !tbaa !9
  %871 = load i32, ptr @test_count, align 4, !tbaa !5
  %872 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %873 = load i32, ptr %872, align 4, !tbaa !5
  %874 = call ptr @s2n_strerror(i32 noundef %873, ptr noundef nonnull @.str.4) #12
  %875 = load i32, ptr %872, align 4, !tbaa !5
  %876 = call ptr @s2n_strerror_debug(i32 noundef %875, ptr noundef nonnull @.str.4) #12
  %877 = load i32, ptr %858, align 4, !tbaa !5
  %878 = call ptr @strerror(i32 noundef %877) #12
  %879 = load i32, ptr %858, align 4, !tbaa !5
  %880 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %870, ptr noundef nonnull %.str.5.sink1234, i32 noundef %871, ptr noundef nonnull @.str.22, ptr noundef nonnull @.str.1, i32 noundef 124, ptr noundef %874, ptr noundef %876, ptr noundef %878, i32 noundef %879) #14
  call void @exit(i32 noundef 1) #15
  unreachable

881:                                              ; preds = %853
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %15) #12
  %882 = call ptr @s2n_connection_new(i32 noundef 1) #12
  store ptr %882, ptr %15, align 8, !tbaa !9
  %883 = load i32, ptr @test_count, align 4, !tbaa !5
  %884 = add nsw i32 %883, 1
  store i32 %884, ptr @test_count, align 4, !tbaa !5
  %885 = icmp eq ptr %882, null
  br i1 %885, label %886, label %910

886:                                              ; preds = %881
  %887 = tail call ptr @__errno_location() #13
  %888 = load i32, ptr %887, align 4, !tbaa !5
  %889 = load ptr, ptr @stderr, align 8, !tbaa !9
  %890 = call i32 @s2n_print_stacktrace(ptr noundef %889) #12
  %891 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %892 = trunc nuw i8 %891 to i1
  br i1 %892, label %893, label %897

893:                                              ; preds = %886
  %894 = load ptr, ptr @stderr, align 8, !tbaa !9
  %895 = call i32 @fileno(ptr noundef %894) #12
  %896 = call i32 @isatty(i32 noundef %895) #12
  %.not862 = icmp eq i32 %896, 0
  br i1 %.not862, label %897, label %898

897:                                              ; preds = %893, %886
  br label %898

898:                                              ; preds = %893, %897
  %.str.5.sink1245 = phi ptr [ @.str.5, %897 ], [ @.str.2, %893 ]
  store i32 %888, ptr %887, align 4, !tbaa !5
  %899 = load ptr, ptr @stderr, align 8, !tbaa !9
  %900 = load i32, ptr @test_count, align 4, !tbaa !5
  %901 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %902 = load i32, ptr %901, align 4, !tbaa !5
  %903 = call ptr @s2n_strerror(i32 noundef %902, ptr noundef nonnull @.str.4) #12
  %904 = load i32, ptr %901, align 4, !tbaa !5
  %905 = call ptr @s2n_strerror_debug(i32 noundef %904, ptr noundef nonnull @.str.4) #12
  %906 = load i32, ptr %887, align 4, !tbaa !5
  %907 = call ptr @strerror(i32 noundef %906) #12
  %908 = load i32, ptr %887, align 4, !tbaa !5
  %909 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %899, ptr noundef nonnull %.str.5.sink1245, i32 noundef %900, ptr noundef nonnull @.str.23, ptr noundef nonnull @.str.1, i32 noundef 127, ptr noundef %903, ptr noundef %905, ptr noundef %907, i32 noundef %908) #14
  call void @exit(i32 noundef 1) #15
  unreachable

910:                                              ; preds = %881
  %911 = add nsw i32 %883, 2
  store i32 %911, ptr @test_count, align 4, !tbaa !5
  %912 = call i32 @s2n_connection_set_config(ptr noundef nonnull %882, ptr noundef nonnull %240) #12
  %913 = icmp eq i32 %912, -1
  br i1 %913, label %914, label %938

914:                                              ; preds = %910
  %915 = tail call ptr @__errno_location() #13
  %916 = load i32, ptr %915, align 4, !tbaa !5
  %917 = load ptr, ptr @stderr, align 8, !tbaa !9
  %918 = call i32 @s2n_print_stacktrace(ptr noundef %917) #12
  %919 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %920 = trunc nuw i8 %919 to i1
  br i1 %920, label %921, label %925

921:                                              ; preds = %914
  %922 = load ptr, ptr @stderr, align 8, !tbaa !9
  %923 = call i32 @fileno(ptr noundef %922) #12
  %924 = call i32 @isatty(i32 noundef %923) #12
  %.not861 = icmp eq i32 %924, 0
  br i1 %.not861, label %925, label %926

925:                                              ; preds = %921, %914
  br label %926

926:                                              ; preds = %921, %925
  %.str.5.sink1256 = phi ptr [ @.str.5, %925 ], [ @.str.2, %921 ]
  store i32 %916, ptr %915, align 4, !tbaa !5
  %927 = load ptr, ptr @stderr, align 8, !tbaa !9
  %928 = load i32, ptr @test_count, align 4, !tbaa !5
  %929 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %930 = load i32, ptr %929, align 4, !tbaa !5
  %931 = call ptr @s2n_strerror(i32 noundef %930, ptr noundef nonnull @.str.4) #12
  %932 = load i32, ptr %929, align 4, !tbaa !5
  %933 = call ptr @s2n_strerror_debug(i32 noundef %932, ptr noundef nonnull @.str.4) #12
  %934 = load i32, ptr %915, align 4, !tbaa !5
  %935 = call ptr @strerror(i32 noundef %934) #12
  %936 = load i32, ptr %915, align 4, !tbaa !5
  %937 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %927, ptr noundef nonnull %.str.5.sink1256, i32 noundef %928, ptr noundef nonnull @.str.24, ptr noundef nonnull @.str.1, i32 noundef 128, ptr noundef %931, ptr noundef %933, ptr noundef %935, i32 noundef %936) #14
  call void @exit(i32 noundef 1) #15
  unreachable

938:                                              ; preds = %910
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %16) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %16, i8 0, i64 40, i1 false)
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %17) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %17, i8 0, i64 40, i1 false)
  %939 = load i32, ptr @test_count, align 4, !tbaa !5
  %940 = add nsw i32 %939, 1
  store i32 %940, ptr @test_count, align 4, !tbaa !5
  %941 = call i32 @s2n_stuffer_growable_alloc(ptr noundef nonnull %16, i32 noundef 0) #12
  %942 = icmp eq i32 %941, -1
  br i1 %942, label %943, label %967

943:                                              ; preds = %938
  %944 = tail call ptr @__errno_location() #13
  %945 = load i32, ptr %944, align 4, !tbaa !5
  %946 = load ptr, ptr @stderr, align 8, !tbaa !9
  %947 = call i32 @s2n_print_stacktrace(ptr noundef %946) #12
  %948 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %949 = trunc nuw i8 %948 to i1
  br i1 %949, label %950, label %954

950:                                              ; preds = %943
  %951 = load ptr, ptr @stderr, align 8, !tbaa !9
  %952 = call i32 @fileno(ptr noundef %951) #12
  %953 = call i32 @isatty(i32 noundef %952) #12
  %.not860 = icmp eq i32 %953, 0
  br i1 %.not860, label %954, label %955

954:                                              ; preds = %950, %943
  br label %955

955:                                              ; preds = %950, %954
  %.str.5.sink1267 = phi ptr [ @.str.5, %954 ], [ @.str.2, %950 ]
  store i32 %945, ptr %944, align 4, !tbaa !5
  %956 = load ptr, ptr @stderr, align 8, !tbaa !9
  %957 = load i32, ptr @test_count, align 4, !tbaa !5
  %958 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %959 = load i32, ptr %958, align 4, !tbaa !5
  %960 = call ptr @s2n_strerror(i32 noundef %959, ptr noundef nonnull @.str.4) #12
  %961 = load i32, ptr %958, align 4, !tbaa !5
  %962 = call ptr @s2n_strerror_debug(i32 noundef %961, ptr noundef nonnull @.str.4) #12
  %963 = load i32, ptr %944, align 4, !tbaa !5
  %964 = call ptr @strerror(i32 noundef %963) #12
  %965 = load i32, ptr %944, align 4, !tbaa !5
  %966 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %956, ptr noundef nonnull %.str.5.sink1267, i32 noundef %957, ptr noundef nonnull @.str.37, ptr noundef nonnull @.str.1, i32 noundef 133, ptr noundef %960, ptr noundef %962, ptr noundef %964, i32 noundef %965) #14
  call void @exit(i32 noundef 1) #15
  unreachable

967:                                              ; preds = %938
  %968 = load i32, ptr @test_count, align 4, !tbaa !5
  %969 = add nsw i32 %968, 1
  store i32 %969, ptr @test_count, align 4, !tbaa !5
  %970 = call i32 @s2n_stuffer_growable_alloc(ptr noundef nonnull %17, i32 noundef 0) #12
  %971 = icmp eq i32 %970, -1
  br i1 %971, label %972, label %996

972:                                              ; preds = %967
  %973 = tail call ptr @__errno_location() #13
  %974 = load i32, ptr %973, align 4, !tbaa !5
  %975 = load ptr, ptr @stderr, align 8, !tbaa !9
  %976 = call i32 @s2n_print_stacktrace(ptr noundef %975) #12
  %977 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %978 = trunc nuw i8 %977 to i1
  br i1 %978, label %979, label %983

979:                                              ; preds = %972
  %980 = load ptr, ptr @stderr, align 8, !tbaa !9
  %981 = call i32 @fileno(ptr noundef %980) #12
  %982 = call i32 @isatty(i32 noundef %981) #12
  %.not859 = icmp eq i32 %982, 0
  br i1 %.not859, label %983, label %984

983:                                              ; preds = %979, %972
  br label %984

984:                                              ; preds = %979, %983
  %.str.5.sink1278 = phi ptr [ @.str.5, %983 ], [ @.str.2, %979 ]
  store i32 %974, ptr %973, align 4, !tbaa !5
  %985 = load ptr, ptr @stderr, align 8, !tbaa !9
  %986 = load i32, ptr @test_count, align 4, !tbaa !5
  %987 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %988 = load i32, ptr %987, align 4, !tbaa !5
  %989 = call ptr @s2n_strerror(i32 noundef %988, ptr noundef nonnull @.str.4) #12
  %990 = load i32, ptr %987, align 4, !tbaa !5
  %991 = call ptr @s2n_strerror_debug(i32 noundef %990, ptr noundef nonnull @.str.4) #12
  %992 = load i32, ptr %973, align 4, !tbaa !5
  %993 = call ptr @strerror(i32 noundef %992) #12
  %994 = load i32, ptr %973, align 4, !tbaa !5
  %995 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %985, ptr noundef nonnull %.str.5.sink1278, i32 noundef %986, ptr noundef nonnull @.str.38, ptr noundef nonnull @.str.1, i32 noundef 134, ptr noundef %989, ptr noundef %991, ptr noundef %993, i32 noundef %994) #14
  call void @exit(i32 noundef 1) #15
  unreachable

996:                                              ; preds = %967
  %997 = load i32, ptr @test_count, align 4, !tbaa !5
  %998 = add nsw i32 %997, 1
  store i32 %998, ptr @test_count, align 4, !tbaa !5
  %999 = load ptr, ptr %15, align 8, !tbaa !9
  %1000 = call i32 @s2n_connection_set_io_stuffers(ptr noundef nonnull %16, ptr noundef nonnull %17, ptr noundef %999) #12
  %1001 = icmp eq i32 %1000, -1
  br i1 %1001, label %1002, label %1026

1002:                                             ; preds = %996
  %1003 = tail call ptr @__errno_location() #13
  %1004 = load i32, ptr %1003, align 4, !tbaa !5
  %1005 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1006 = call i32 @s2n_print_stacktrace(ptr noundef %1005) #12
  %1007 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1008 = trunc nuw i8 %1007 to i1
  br i1 %1008, label %1009, label %1013

1009:                                             ; preds = %1002
  %1010 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1011 = call i32 @fileno(ptr noundef %1010) #12
  %1012 = call i32 @isatty(i32 noundef %1011) #12
  %.not858 = icmp eq i32 %1012, 0
  br i1 %.not858, label %1013, label %1014

1013:                                             ; preds = %1009, %1002
  br label %1014

1014:                                             ; preds = %1009, %1013
  %.str.5.sink1289 = phi ptr [ @.str.5, %1013 ], [ @.str.2, %1009 ]
  store i32 %1004, ptr %1003, align 4, !tbaa !5
  %1015 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1016 = load i32, ptr @test_count, align 4, !tbaa !5
  %1017 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1018 = load i32, ptr %1017, align 4, !tbaa !5
  %1019 = call ptr @s2n_strerror(i32 noundef %1018, ptr noundef nonnull @.str.4) #12
  %1020 = load i32, ptr %1017, align 4, !tbaa !5
  %1021 = call ptr @s2n_strerror_debug(i32 noundef %1020, ptr noundef nonnull @.str.4) #12
  %1022 = load i32, ptr %1003, align 4, !tbaa !5
  %1023 = call ptr @strerror(i32 noundef %1022) #12
  %1024 = load i32, ptr %1003, align 4, !tbaa !5
  %1025 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1015, ptr noundef nonnull %.str.5.sink1289, i32 noundef %1016, ptr noundef nonnull @.str.39, ptr noundef nonnull @.str.1, i32 noundef 135, ptr noundef %1019, ptr noundef %1021, ptr noundef %1023, i32 noundef %1024) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1026:                                             ; preds = %996
  %1027 = load i32, ptr @test_count, align 4, !tbaa !5
  %1028 = add nsw i32 %1027, 1
  store i32 %1028, ptr @test_count, align 4, !tbaa !5
  %1029 = load ptr, ptr %14, align 8, !tbaa !9
  %1030 = call i32 @s2n_connection_set_io_stuffers(ptr noundef nonnull %17, ptr noundef nonnull %16, ptr noundef %1029) #12
  %1031 = icmp eq i32 %1030, -1
  br i1 %1031, label %1032, label %1056

1032:                                             ; preds = %1026
  %1033 = tail call ptr @__errno_location() #13
  %1034 = load i32, ptr %1033, align 4, !tbaa !5
  %1035 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1036 = call i32 @s2n_print_stacktrace(ptr noundef %1035) #12
  %1037 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1038 = trunc nuw i8 %1037 to i1
  br i1 %1038, label %1039, label %1043

1039:                                             ; preds = %1032
  %1040 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1041 = call i32 @fileno(ptr noundef %1040) #12
  %1042 = call i32 @isatty(i32 noundef %1041) #12
  %.not857 = icmp eq i32 %1042, 0
  br i1 %.not857, label %1043, label %1044

1043:                                             ; preds = %1039, %1032
  br label %1044

1044:                                             ; preds = %1039, %1043
  %.str.5.sink1300 = phi ptr [ @.str.5, %1043 ], [ @.str.2, %1039 ]
  store i32 %1034, ptr %1033, 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 nonnull @.str.4) #12
  %1050 = load i32, ptr %1047, align 4, !tbaa !5
  %1051 = call ptr @s2n_strerror_debug(i32 noundef %1050, ptr noundef nonnull @.str.4) #12
  %1052 = load i32, ptr %1033, align 4, !tbaa !5
  %1053 = call ptr @strerror(i32 noundef %1052) #12
  %1054 = load i32, ptr %1033, align 4, !tbaa !5
  %1055 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1045, ptr noundef nonnull %.str.5.sink1300, i32 noundef %1046, ptr noundef nonnull @.str.40, ptr noundef nonnull @.str.1, i32 noundef 136, ptr noundef %1049, ptr noundef %1051, ptr noundef %1053, i32 noundef %1054) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1056:                                             ; preds = %1026
  %1057 = load i32, ptr @test_count, align 4, !tbaa !5
  %1058 = add nsw i32 %1057, 1
  store i32 %1058, ptr @test_count, align 4, !tbaa !5
  %1059 = load ptr, ptr %15, align 8, !tbaa !9
  %1060 = getelementptr inbounds i8, ptr %1059, i64 48
  %1061 = load ptr, ptr %1060, align 8, !tbaa !15
  %1062 = icmp eq ptr %1061, @s2n_socket_write
  br i1 %1062, label %1063, label %1087

1063:                                             ; preds = %1056
  %1064 = tail call ptr @__errno_location() #13
  %1065 = load i32, ptr %1064, align 4, !tbaa !5
  %1066 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1067 = call i32 @s2n_print_stacktrace(ptr noundef %1066) #12
  %1068 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1069 = trunc nuw i8 %1068 to i1
  br i1 %1069, label %1070, label %1074

1070:                                             ; preds = %1063
  %1071 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1072 = call i32 @fileno(ptr noundef %1071) #12
  %1073 = call i32 @isatty(i32 noundef %1072) #12
  %.not856 = icmp eq i32 %1073, 0
  br i1 %.not856, label %1074, label %1075

1074:                                             ; preds = %1070, %1063
  br label %1075

1075:                                             ; preds = %1070, %1074
  %.str.5.sink1311 = phi ptr [ @.str.5, %1074 ], [ @.str.2, %1070 ]
  store i32 %1065, ptr %1064, align 4, !tbaa !5
  %1076 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1077 = load i32, ptr @test_count, align 4, !tbaa !5
  %1078 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1079 = load i32, ptr %1078, align 4, !tbaa !5
  %1080 = call ptr @s2n_strerror(i32 noundef %1079, ptr noundef nonnull @.str.4) #12
  %1081 = load i32, ptr %1078, align 4, !tbaa !5
  %1082 = call ptr @s2n_strerror_debug(i32 noundef %1081, ptr noundef nonnull @.str.4) #12
  %1083 = load i32, ptr %1064, align 4, !tbaa !5
  %1084 = call ptr @strerror(i32 noundef %1083) #12
  %1085 = load i32, ptr %1064, align 4, !tbaa !5
  %1086 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1076, ptr noundef nonnull %.str.5.sink1311, i32 noundef %1077, ptr noundef nonnull @.str.41, ptr noundef nonnull @.str.1, i32 noundef 137, ptr noundef %1080, ptr noundef %1082, ptr noundef %1084, i32 noundef %1085) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1087:                                             ; preds = %1056
  %1088 = add nsw i32 %1057, 2
  store i32 %1088, ptr @test_count, align 4, !tbaa !5
  %1089 = load i32, ptr %1059, align 8
  %1090 = and i32 %1089, 256
  %.not621 = icmp eq i32 %1090, 0
  br i1 %.not621, label %1115, label %1091

1091:                                             ; preds = %1087
  %1092 = tail call ptr @__errno_location() #13
  %1093 = load i32, ptr %1092, align 4, !tbaa !5
  %1094 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1095 = call i32 @s2n_print_stacktrace(ptr noundef %1094) #12
  %1096 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1097 = trunc nuw i8 %1096 to i1
  br i1 %1097, label %1098, label %1102

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

1102:                                             ; preds = %1098, %1091
  br label %1103

1103:                                             ; preds = %1098, %1102
  %.str.5.sink1322 = phi ptr [ @.str.5, %1102 ], [ @.str.2, %1098 ]
  store i32 %1093, ptr %1092, align 4, !tbaa !5
  %1104 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1105 = load i32, ptr @test_count, align 4, !tbaa !5
  %1106 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1107 = load i32, ptr %1106, align 4, !tbaa !5
  %1108 = call ptr @s2n_strerror(i32 noundef %1107, ptr noundef nonnull @.str.4) #12
  %1109 = load i32, ptr %1106, align 4, !tbaa !5
  %1110 = call ptr @s2n_strerror_debug(i32 noundef %1109, ptr noundef nonnull @.str.4) #12
  %1111 = load i32, ptr %1092, align 4, !tbaa !5
  %1112 = call ptr @strerror(i32 noundef %1111) #12
  %1113 = load i32, ptr %1092, align 4, !tbaa !5
  %1114 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1104, ptr noundef nonnull %.str.5.sink1322, i32 noundef %1105, ptr noundef nonnull @.str.42, ptr noundef nonnull @.str.1, i32 noundef 138, ptr noundef %1108, ptr noundef %1110, ptr noundef %1112, i32 noundef %1113) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1115:                                             ; preds = %1087
  %1116 = add nsw i32 %1057, 3
  store i32 %1116, ptr @test_count, align 4, !tbaa !5
  %1117 = getelementptr inbounds i8, ptr %1059, i64 56
  %1118 = load ptr, ptr %1117, align 8, !tbaa !42
  %1119 = icmp eq ptr %1118, @s2n_socket_read
  br i1 %1119, label %1120, label %1144

1120:                                             ; preds = %1115
  %1121 = tail call ptr @__errno_location() #13
  %1122 = load i32, ptr %1121, align 4, !tbaa !5
  %1123 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1124 = call i32 @s2n_print_stacktrace(ptr noundef %1123) #12
  %1125 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1126 = trunc nuw i8 %1125 to i1
  br i1 %1126, label %1127, label %1131

1127:                                             ; preds = %1120
  %1128 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1129 = call i32 @fileno(ptr noundef %1128) #12
  %1130 = call i32 @isatty(i32 noundef %1129) #12
  %.not854 = icmp eq i32 %1130, 0
  br i1 %.not854, label %1131, label %1132

1131:                                             ; preds = %1127, %1120
  br label %1132

1132:                                             ; preds = %1127, %1131
  %.str.5.sink1333 = phi ptr [ @.str.5, %1131 ], [ @.str.2, %1127 ]
  store i32 %1122, ptr %1121, align 4, !tbaa !5
  %1133 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1134 = load i32, ptr @test_count, align 4, !tbaa !5
  %1135 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1136 = load i32, ptr %1135, align 4, !tbaa !5
  %1137 = call ptr @s2n_strerror(i32 noundef %1136, ptr noundef nonnull @.str.4) #12
  %1138 = load i32, ptr %1135, align 4, !tbaa !5
  %1139 = call ptr @s2n_strerror_debug(i32 noundef %1138, ptr noundef nonnull @.str.4) #12
  %1140 = load i32, ptr %1121, align 4, !tbaa !5
  %1141 = call ptr @strerror(i32 noundef %1140) #12
  %1142 = load i32, ptr %1121, align 4, !tbaa !5
  %1143 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1133, ptr noundef nonnull %.str.5.sink1333, i32 noundef %1134, ptr noundef nonnull @.str.43, ptr noundef nonnull @.str.1, i32 noundef 139, ptr noundef %1137, ptr noundef %1139, ptr noundef %1141, i32 noundef %1142) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1144:                                             ; preds = %1115
  %1145 = add nsw i32 %1057, 4
  store i32 %1145, ptr @test_count, align 4, !tbaa !5
  %1146 = load i32, ptr %1059, align 8
  %1147 = and i32 %1146, 512
  %.not622 = icmp eq i32 %1147, 0
  br i1 %.not622, label %1172, label %1148

1148:                                             ; preds = %1144
  %1149 = tail call ptr @__errno_location() #13
  %1150 = load i32, ptr %1149, align 4, !tbaa !5
  %1151 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1152 = call i32 @s2n_print_stacktrace(ptr noundef %1151) #12
  %1153 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1154 = trunc nuw i8 %1153 to i1
  br i1 %1154, label %1155, label %1159

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

1159:                                             ; preds = %1155, %1148
  br label %1160

1160:                                             ; preds = %1155, %1159
  %.str.5.sink1344 = phi ptr [ @.str.5, %1159 ], [ @.str.2, %1155 ]
  store i32 %1150, ptr %1149, align 4, !tbaa !5
  %1161 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1162 = load i32, ptr @test_count, align 4, !tbaa !5
  %1163 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1164 = load i32, ptr %1163, align 4, !tbaa !5
  %1165 = call ptr @s2n_strerror(i32 noundef %1164, ptr noundef nonnull @.str.4) #12
  %1166 = load i32, ptr %1163, align 4, !tbaa !5
  %1167 = call ptr @s2n_strerror_debug(i32 noundef %1166, ptr noundef nonnull @.str.4) #12
  %1168 = load i32, ptr %1149, align 4, !tbaa !5
  %1169 = call ptr @strerror(i32 noundef %1168) #12
  %1170 = load i32, ptr %1149, align 4, !tbaa !5
  %1171 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1161, ptr noundef nonnull %.str.5.sink1344, i32 noundef %1162, ptr noundef nonnull @.str.44, ptr noundef nonnull @.str.1, i32 noundef 140, ptr noundef %1165, ptr noundef %1167, ptr noundef %1169, i32 noundef %1170) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1172:                                             ; preds = %1144
  %1173 = add nsw i32 %1057, 5
  store i32 %1173, ptr @test_count, align 4, !tbaa !5
  %1174 = load ptr, ptr %14, align 8, !tbaa !9
  %1175 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef %1174, ptr noundef nonnull %1059) #12
  %1176 = icmp eq i32 %1175, -1
  br i1 %1176, label %1177, label %1201

1177:                                             ; preds = %1172
  %1178 = tail call ptr @__errno_location() #13
  %1179 = load i32, ptr %1178, align 4, !tbaa !5
  %1180 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1181 = call i32 @s2n_print_stacktrace(ptr noundef %1180) #12
  %1182 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1183 = trunc nuw i8 %1182 to i1
  br i1 %1183, label %1184, label %1188

1184:                                             ; preds = %1177
  %1185 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1186 = call i32 @fileno(ptr noundef %1185) #12
  %1187 = call i32 @isatty(i32 noundef %1186) #12
  %.not852 = icmp eq i32 %1187, 0
  br i1 %.not852, label %1188, label %1189

1188:                                             ; preds = %1184, %1177
  br label %1189

1189:                                             ; preds = %1184, %1188
  %.str.5.sink1355 = phi ptr [ @.str.5, %1188 ], [ @.str.2, %1184 ]
  store i32 %1179, ptr %1178, align 4, !tbaa !5
  %1190 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1191 = load i32, ptr @test_count, align 4, !tbaa !5
  %1192 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1193 = load i32, ptr %1192, align 4, !tbaa !5
  %1194 = call ptr @s2n_strerror(i32 noundef %1193, ptr noundef nonnull @.str.4) #12
  %1195 = load i32, ptr %1192, align 4, !tbaa !5
  %1196 = call ptr @s2n_strerror_debug(i32 noundef %1195, ptr noundef nonnull @.str.4) #12
  %1197 = load i32, ptr %1178, align 4, !tbaa !5
  %1198 = call ptr @strerror(i32 noundef %1197) #12
  %1199 = load i32, ptr %1178, align 4, !tbaa !5
  %1200 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1190, ptr noundef nonnull %.str.5.sink1355, i32 noundef %1191, ptr noundef nonnull @.str.32, ptr noundef nonnull @.str.1, i32 noundef 142, ptr noundef %1194, ptr noundef %1196, ptr noundef %1198, i32 noundef %1199) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1201:                                             ; preds = %1172
  %1202 = load i32, ptr @test_count, align 4, !tbaa !5
  %1203 = add nsw i32 %1202, 1
  store i32 %1203, ptr @test_count, align 4, !tbaa !5
  %1204 = load ptr, ptr %15, align 8, !tbaa !9
  %1205 = call i32 @s2n_renegotiate_wipe(ptr noundef %1204) #12
  %1206 = icmp eq i32 %1205, -1
  br i1 %1206, label %1207, label %1231

1207:                                             ; preds = %1201
  %1208 = tail call ptr @__errno_location() #13
  %1209 = load i32, ptr %1208, align 4, !tbaa !5
  %1210 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1211 = call i32 @s2n_print_stacktrace(ptr noundef %1210) #12
  %1212 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1213 = trunc nuw i8 %1212 to i1
  br i1 %1213, label %1214, label %1218

1214:                                             ; preds = %1207
  %1215 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1216 = call i32 @fileno(ptr noundef %1215) #12
  %1217 = call i32 @isatty(i32 noundef %1216) #12
  %.not851 = icmp eq i32 %1217, 0
  br i1 %.not851, label %1218, label %1219

1218:                                             ; preds = %1214, %1207
  br label %1219

1219:                                             ; preds = %1214, %1218
  %.str.5.sink1366 = phi ptr [ @.str.5, %1218 ], [ @.str.2, %1214 ]
  store i32 %1209, ptr %1208, align 4, !tbaa !5
  %1220 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1221 = load i32, ptr @test_count, align 4, !tbaa !5
  %1222 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1223 = load i32, ptr %1222, align 4, !tbaa !5
  %1224 = call ptr @s2n_strerror(i32 noundef %1223, ptr noundef nonnull @.str.4) #12
  %1225 = load i32, ptr %1222, align 4, !tbaa !5
  %1226 = call ptr @s2n_strerror_debug(i32 noundef %1225, ptr noundef nonnull @.str.4) #12
  %1227 = load i32, ptr %1208, align 4, !tbaa !5
  %1228 = call ptr @strerror(i32 noundef %1227) #12
  %1229 = load i32, ptr %1208, align 4, !tbaa !5
  %1230 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1220, ptr noundef nonnull %.str.5.sink1366, i32 noundef %1221, ptr noundef nonnull @.str.33, ptr noundef nonnull @.str.1, i32 noundef 143, ptr noundef %1224, ptr noundef %1226, ptr noundef %1228, i32 noundef %1229) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1231:                                             ; preds = %1201
  call void @llvm.lifetime.start.p0(i64 20, ptr nonnull %18) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 16 dereferenceable(20) %18, i8 0, i64 20, i1 false)
  %1232 = load i32, ptr @test_count, align 4, !tbaa !5
  %1233 = add nsw i32 %1232, 1
  store i32 %1233, ptr @test_count, align 4, !tbaa !5
  %1234 = load ptr, ptr %14, align 8, !tbaa !9
  %1235 = call i64 @s2n_send(ptr noundef %1234, ptr noundef nonnull %7, i64 noundef 20, ptr noundef nonnull %9) #12
  %1236 = icmp eq i64 %1235, 20
  br i1 %1236, label %1261, label %1237

1237:                                             ; preds = %1231
  %1238 = tail call ptr @__errno_location() #13
  %1239 = load i32, ptr %1238, align 4, !tbaa !5
  %1240 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1241 = call i32 @s2n_print_stacktrace(ptr noundef %1240) #12
  %1242 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1243 = trunc nuw i8 %1242 to i1
  br i1 %1243, label %1244, label %1248

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

1248:                                             ; preds = %1244, %1237
  br label %1249

1249:                                             ; preds = %1244, %1248
  %.str.5.sink1377 = phi ptr [ @.str.5, %1248 ], [ @.str.2, %1244 ]
  store i32 %1239, ptr %1238, align 4, !tbaa !5
  %1250 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1251 = load i32, ptr @test_count, align 4, !tbaa !5
  %1252 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1253 = load i32, ptr %1252, align 4, !tbaa !5
  %1254 = call ptr @s2n_strerror(i32 noundef %1253, ptr noundef nonnull @.str.4) #12
  %1255 = load i32, ptr %1252, align 4, !tbaa !5
  %1256 = call ptr @s2n_strerror_debug(i32 noundef %1255, ptr noundef nonnull @.str.4) #12
  %1257 = load i32, ptr %1238, align 4, !tbaa !5
  %1258 = call ptr @strerror(i32 noundef %1257) #12
  %1259 = load i32, ptr %1238, align 4, !tbaa !5
  %1260 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1250, ptr noundef nonnull %.str.5.sink1377, i32 noundef %1251, ptr noundef nonnull @.str.34, ptr noundef nonnull @.str.1, i32 noundef 146, ptr noundef %1254, ptr noundef %1256, ptr noundef %1258, i32 noundef %1259) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1261:                                             ; preds = %1231
  %1262 = load i32, ptr @test_count, align 4, !tbaa !5
  %1263 = add nsw i32 %1262, 1
  store i32 %1263, ptr @test_count, align 4, !tbaa !5
  %1264 = load ptr, ptr %15, align 8, !tbaa !9
  %1265 = call i64 @s2n_recv(ptr noundef %1264, ptr noundef nonnull %18, i64 noundef 20, ptr noundef nonnull %9) #12
  %1266 = icmp eq i64 %1265, 20
  br i1 %1266, label %1291, label %1267

1267:                                             ; preds = %1261
  %1268 = tail call ptr @__errno_location() #13
  %1269 = load i32, ptr %1268, align 4, !tbaa !5
  %1270 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1271 = call i32 @s2n_print_stacktrace(ptr noundef %1270) #12
  %1272 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1273 = trunc nuw i8 %1272 to i1
  br i1 %1273, label %1274, label %1278

1274:                                             ; preds = %1267
  %1275 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1276 = call i32 @fileno(ptr noundef %1275) #12
  %1277 = call i32 @isatty(i32 noundef %1276) #12
  %.not624 = icmp eq i32 %1277, 0
  br i1 %.not624, label %1278, label %1279

1278:                                             ; preds = %1274, %1267
  br label %1279

1279:                                             ; preds = %1274, %1278
  %.str.5.sink1388 = phi ptr [ @.str.5, %1278 ], [ @.str.2, %1274 ]
  store i32 %1269, ptr %1268, align 4, !tbaa !5
  %1280 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1281 = load i32, ptr @test_count, align 4, !tbaa !5
  %1282 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1283 = load i32, ptr %1282, align 4, !tbaa !5
  %1284 = call ptr @s2n_strerror(i32 noundef %1283, ptr noundef nonnull @.str.4) #12
  %1285 = load i32, ptr %1282, align 4, !tbaa !5
  %1286 = call ptr @s2n_strerror_debug(i32 noundef %1285, ptr noundef nonnull @.str.4) #12
  %1287 = load i32, ptr %1268, align 4, !tbaa !5
  %1288 = call ptr @strerror(i32 noundef %1287) #12
  %1289 = load i32, ptr %1268, align 4, !tbaa !5
  %1290 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1280, ptr noundef nonnull %.str.5.sink1388, i32 noundef %1281, ptr noundef nonnull @.str.35, ptr noundef nonnull @.str.1, i32 noundef 147, ptr noundef %1284, ptr noundef %1286, ptr noundef %1288, i32 noundef %1289) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1291:                                             ; preds = %1261
  %1292 = load i32, ptr @test_count, align 4, !tbaa !5
  %1293 = add nsw i32 %1292, 1
  store i32 %1293, ptr @test_count, align 4, !tbaa !5
  %bcmp625 = call i32 @bcmp(ptr noundef nonnull dereferenceable(20) %18, ptr noundef nonnull dereferenceable(20) %7, i64 20)
  %1294 = icmp eq i32 %bcmp625, 0
  br i1 %1294, label %1319, label %1295

1295:                                             ; preds = %1291
  %1296 = tail call ptr @__errno_location() #13
  %1297 = load i32, ptr %1296, align 4, !tbaa !5
  %1298 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1299 = call i32 @s2n_print_stacktrace(ptr noundef %1298) #12
  %1300 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1301 = trunc nuw i8 %1300 to i1
  br i1 %1301, label %1302, label %1306

1302:                                             ; preds = %1295
  %1303 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1304 = call i32 @fileno(ptr noundef %1303) #12
  %1305 = call i32 @isatty(i32 noundef %1304) #12
  %.not626 = icmp eq i32 %1305, 0
  br i1 %.not626, label %1306, label %1307

1306:                                             ; preds = %1302, %1295
  br label %1307

1307:                                             ; preds = %1302, %1306
  %.str.5.sink1399 = phi ptr [ @.str.5, %1306 ], [ @.str.2, %1302 ]
  store i32 %1297, ptr %1296, align 4, !tbaa !5
  %1308 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1309 = load i32, ptr @test_count, align 4, !tbaa !5
  %1310 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1311 = load i32, ptr %1310, align 4, !tbaa !5
  %1312 = call ptr @s2n_strerror(i32 noundef %1311, ptr noundef nonnull @.str.4) #12
  %1313 = load i32, ptr %1310, align 4, !tbaa !5
  %1314 = call ptr @s2n_strerror_debug(i32 noundef %1313, ptr noundef nonnull @.str.4) #12
  %1315 = load i32, ptr %1296, align 4, !tbaa !5
  %1316 = call ptr @strerror(i32 noundef %1315) #12
  %1317 = load i32, ptr %1296, align 4, !tbaa !5
  %1318 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1308, ptr noundef nonnull %.str.5.sink1399, i32 noundef %1309, ptr noundef nonnull @.str.36, ptr noundef nonnull @.str.1, i32 noundef 148, ptr noundef %1312, ptr noundef %1314, ptr noundef %1316, i32 noundef %1317) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1319:                                             ; preds = %1291
  call void @llvm.lifetime.end.p0(i64 20, ptr nonnull %18) #12
  %1320 = call i32 @s2n_stuffer_free(ptr noundef nonnull %17) #12
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %17) #12
  %1321 = call i32 @s2n_stuffer_free(ptr noundef nonnull %16) #12
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %16) #12
  %1322 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %15) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %15) #12
  %1323 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %14) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %14) #12
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %19) #12
  %1324 = call ptr @s2n_connection_new(i32 noundef 0) #12
  store ptr %1324, ptr %19, align 8, !tbaa !9
  %1325 = load i32, ptr @test_count, align 4, !tbaa !5
  %1326 = add nsw i32 %1325, 1
  store i32 %1326, ptr @test_count, align 4, !tbaa !5
  %1327 = icmp eq ptr %1324, null
  br i1 %1327, label %1328, label %1352

1328:                                             ; preds = %1319
  %1329 = tail call ptr @__errno_location() #13
  %1330 = load i32, ptr %1329, align 4, !tbaa !5
  %1331 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1332 = call i32 @s2n_print_stacktrace(ptr noundef %1331) #12
  %1333 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1334 = trunc nuw i8 %1333 to i1
  br i1 %1334, label %1335, label %1339

1335:                                             ; preds = %1328
  %1336 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1337 = call i32 @fileno(ptr noundef %1336) #12
  %1338 = call i32 @isatty(i32 noundef %1337) #12
  %.not850 = icmp eq i32 %1338, 0
  br i1 %.not850, label %1339, label %1340

1339:                                             ; preds = %1335, %1328
  br label %1340

1340:                                             ; preds = %1335, %1339
  %.str.5.sink1410 = phi ptr [ @.str.5, %1339 ], [ @.str.2, %1335 ]
  store i32 %1330, ptr %1329, align 4, !tbaa !5
  %1341 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1342 = load i32, ptr @test_count, align 4, !tbaa !5
  %1343 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1344 = load i32, ptr %1343, align 4, !tbaa !5
  %1345 = call ptr @s2n_strerror(i32 noundef %1344, ptr noundef nonnull @.str.4) #12
  %1346 = load i32, ptr %1343, align 4, !tbaa !5
  %1347 = call ptr @s2n_strerror_debug(i32 noundef %1346, ptr noundef nonnull @.str.4) #12
  %1348 = load i32, ptr %1329, align 4, !tbaa !5
  %1349 = call ptr @strerror(i32 noundef %1348) #12
  %1350 = load i32, ptr %1329, align 4, !tbaa !5
  %1351 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1341, ptr noundef nonnull %.str.5.sink1410, i32 noundef %1342, ptr noundef nonnull @.str.21, ptr noundef nonnull @.str.1, i32 noundef 154, ptr noundef %1345, ptr noundef %1347, ptr noundef %1349, i32 noundef %1350) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1352:                                             ; preds = %1319
  %1353 = add nsw i32 %1325, 2
  store i32 %1353, ptr @test_count, align 4, !tbaa !5
  %1354 = call i32 @s2n_connection_set_config(ptr noundef nonnull %1324, ptr noundef nonnull %240) #12
  %1355 = icmp eq i32 %1354, -1
  br i1 %1355, label %1356, label %1380

1356:                                             ; preds = %1352
  %1357 = tail call ptr @__errno_location() #13
  %1358 = load i32, ptr %1357, align 4, !tbaa !5
  %1359 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1360 = call i32 @s2n_print_stacktrace(ptr noundef %1359) #12
  %1361 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1362 = trunc nuw i8 %1361 to i1
  br i1 %1362, label %1363, label %1367

1363:                                             ; preds = %1356
  %1364 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1365 = call i32 @fileno(ptr noundef %1364) #12
  %1366 = call i32 @isatty(i32 noundef %1365) #12
  %.not849 = icmp eq i32 %1366, 0
  br i1 %.not849, label %1367, label %1368

1367:                                             ; preds = %1363, %1356
  br label %1368

1368:                                             ; preds = %1363, %1367
  %.str.5.sink1421 = phi ptr [ @.str.5, %1367 ], [ @.str.2, %1363 ]
  store i32 %1358, ptr %1357, align 4, !tbaa !5
  %1369 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1370 = load i32, ptr @test_count, align 4, !tbaa !5
  %1371 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1372 = load i32, ptr %1371, align 4, !tbaa !5
  %1373 = call ptr @s2n_strerror(i32 noundef %1372, ptr noundef nonnull @.str.4) #12
  %1374 = load i32, ptr %1371, align 4, !tbaa !5
  %1375 = call ptr @s2n_strerror_debug(i32 noundef %1374, ptr noundef nonnull @.str.4) #12
  %1376 = load i32, ptr %1357, align 4, !tbaa !5
  %1377 = call ptr @strerror(i32 noundef %1376) #12
  %1378 = load i32, ptr %1357, align 4, !tbaa !5
  %1379 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1369, ptr noundef nonnull %.str.5.sink1421, i32 noundef %1370, ptr noundef nonnull @.str.22, ptr noundef nonnull @.str.1, i32 noundef 155, ptr noundef %1373, ptr noundef %1375, ptr noundef %1377, i32 noundef %1378) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1380:                                             ; preds = %1352
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %20) #12
  %1381 = call ptr @s2n_connection_new(i32 noundef 1) #12
  store ptr %1381, ptr %20, align 8, !tbaa !9
  %1382 = load i32, ptr @test_count, align 4, !tbaa !5
  %1383 = add nsw i32 %1382, 1
  store i32 %1383, ptr @test_count, align 4, !tbaa !5
  %1384 = icmp eq ptr %1381, null
  br i1 %1384, label %1385, label %1409

1385:                                             ; preds = %1380
  %1386 = tail call ptr @__errno_location() #13
  %1387 = load i32, ptr %1386, align 4, !tbaa !5
  %1388 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1389 = call i32 @s2n_print_stacktrace(ptr noundef %1388) #12
  %1390 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1391 = trunc nuw i8 %1390 to i1
  br i1 %1391, label %1392, label %1396

1392:                                             ; preds = %1385
  %1393 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1394 = call i32 @fileno(ptr noundef %1393) #12
  %1395 = call i32 @isatty(i32 noundef %1394) #12
  %.not848 = icmp eq i32 %1395, 0
  br i1 %.not848, label %1396, label %1397

1396:                                             ; preds = %1392, %1385
  br label %1397

1397:                                             ; preds = %1392, %1396
  %.str.5.sink1432 = phi ptr [ @.str.5, %1396 ], [ @.str.2, %1392 ]
  store i32 %1387, ptr %1386, align 4, !tbaa !5
  %1398 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1399 = load i32, ptr @test_count, align 4, !tbaa !5
  %1400 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1401 = load i32, ptr %1400, align 4, !tbaa !5
  %1402 = call ptr @s2n_strerror(i32 noundef %1401, ptr noundef nonnull @.str.4) #12
  %1403 = load i32, ptr %1400, align 4, !tbaa !5
  %1404 = call ptr @s2n_strerror_debug(i32 noundef %1403, ptr noundef nonnull @.str.4) #12
  %1405 = load i32, ptr %1386, align 4, !tbaa !5
  %1406 = call ptr @strerror(i32 noundef %1405) #12
  %1407 = load i32, ptr %1386, align 4, !tbaa !5
  %1408 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1398, ptr noundef nonnull %.str.5.sink1432, i32 noundef %1399, ptr noundef nonnull @.str.23, ptr noundef nonnull @.str.1, i32 noundef 158, ptr noundef %1402, ptr noundef %1404, ptr noundef %1406, i32 noundef %1407) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1409:                                             ; preds = %1380
  %1410 = add nsw i32 %1382, 2
  store i32 %1410, ptr @test_count, align 4, !tbaa !5
  %1411 = call i32 @s2n_connection_set_config(ptr noundef nonnull %1381, ptr noundef nonnull %240) #12
  %1412 = icmp eq i32 %1411, -1
  br i1 %1412, label %1413, label %1437

1413:                                             ; preds = %1409
  %1414 = tail call ptr @__errno_location() #13
  %1415 = load i32, ptr %1414, align 4, !tbaa !5
  %1416 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1417 = call i32 @s2n_print_stacktrace(ptr noundef %1416) #12
  %1418 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1419 = trunc nuw i8 %1418 to i1
  br i1 %1419, label %1420, label %1424

1420:                                             ; preds = %1413
  %1421 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1422 = call i32 @fileno(ptr noundef %1421) #12
  %1423 = call i32 @isatty(i32 noundef %1422) #12
  %.not847 = icmp eq i32 %1423, 0
  br i1 %.not847, label %1424, label %1425

1424:                                             ; preds = %1420, %1413
  br label %1425

1425:                                             ; preds = %1420, %1424
  %.str.5.sink1443 = phi ptr [ @.str.5, %1424 ], [ @.str.2, %1420 ]
  store i32 %1415, ptr %1414, align 4, !tbaa !5
  %1426 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1427 = load i32, ptr @test_count, align 4, !tbaa !5
  %1428 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1429 = load i32, ptr %1428, align 4, !tbaa !5
  %1430 = call ptr @s2n_strerror(i32 noundef %1429, ptr noundef nonnull @.str.4) #12
  %1431 = load i32, ptr %1428, align 4, !tbaa !5
  %1432 = call ptr @s2n_strerror_debug(i32 noundef %1431, ptr noundef nonnull @.str.4) #12
  %1433 = load i32, ptr %1414, align 4, !tbaa !5
  %1434 = call ptr @strerror(i32 noundef %1433) #12
  %1435 = load i32, ptr %1414, align 4, !tbaa !5
  %1436 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1426, ptr noundef nonnull %.str.5.sink1443, i32 noundef %1427, ptr noundef nonnull @.str.24, ptr noundef nonnull @.str.1, i32 noundef 159, ptr noundef %1430, ptr noundef %1432, ptr noundef %1434, i32 noundef %1435) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1437:                                             ; preds = %1409
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %21) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %21, i8 0, i64 40, i1 false)
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %22) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %22, i8 0, i64 40, i1 false)
  %1438 = load i32, ptr @test_count, align 4, !tbaa !5
  %1439 = add nsw i32 %1438, 1
  store i32 %1439, ptr @test_count, align 4, !tbaa !5
  %1440 = call i32 @s2n_stuffer_growable_alloc(ptr noundef nonnull %21, i32 noundef 0) #12
  %1441 = icmp eq i32 %1440, -1
  br i1 %1441, label %1442, label %1466

1442:                                             ; preds = %1437
  %1443 = tail call ptr @__errno_location() #13
  %1444 = load i32, ptr %1443, align 4, !tbaa !5
  %1445 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1446 = call i32 @s2n_print_stacktrace(ptr noundef %1445) #12
  %1447 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1448 = trunc nuw i8 %1447 to i1
  br i1 %1448, label %1449, label %1453

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

1453:                                             ; preds = %1449, %1442
  br label %1454

1454:                                             ; preds = %1449, %1453
  %.str.5.sink1454 = phi ptr [ @.str.5, %1453 ], [ @.str.2, %1449 ]
  store i32 %1444, ptr %1443, align 4, !tbaa !5
  %1455 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1456 = load i32, ptr @test_count, align 4, !tbaa !5
  %1457 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1458 = load i32, ptr %1457, align 4, !tbaa !5
  %1459 = call ptr @s2n_strerror(i32 noundef %1458, ptr noundef nonnull @.str.4) #12
  %1460 = load i32, ptr %1457, align 4, !tbaa !5
  %1461 = call ptr @s2n_strerror_debug(i32 noundef %1460, ptr noundef nonnull @.str.4) #12
  %1462 = load i32, ptr %1443, align 4, !tbaa !5
  %1463 = call ptr @strerror(i32 noundef %1462) #12
  %1464 = load i32, ptr %1443, align 4, !tbaa !5
  %1465 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1455, ptr noundef nonnull %.str.5.sink1454, i32 noundef %1456, ptr noundef nonnull @.str.37, ptr noundef nonnull @.str.1, i32 noundef 163, ptr noundef %1459, ptr noundef %1461, ptr noundef %1463, i32 noundef %1464) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1466:                                             ; preds = %1437
  %1467 = load i32, ptr @test_count, align 4, !tbaa !5
  %1468 = add nsw i32 %1467, 1
  store i32 %1468, ptr @test_count, align 4, !tbaa !5
  %1469 = call i32 @s2n_stuffer_growable_alloc(ptr noundef nonnull %22, i32 noundef 0) #12
  %1470 = icmp eq i32 %1469, -1
  br i1 %1470, label %1471, label %1495

1471:                                             ; preds = %1466
  %1472 = tail call ptr @__errno_location() #13
  %1473 = load i32, ptr %1472, align 4, !tbaa !5
  %1474 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1475 = call i32 @s2n_print_stacktrace(ptr noundef %1474) #12
  %1476 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1477 = trunc nuw i8 %1476 to i1
  br i1 %1477, label %1478, label %1482

1478:                                             ; preds = %1471
  %1479 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1480 = call i32 @fileno(ptr noundef %1479) #12
  %1481 = call i32 @isatty(i32 noundef %1480) #12
  %.not845 = icmp eq i32 %1481, 0
  br i1 %.not845, label %1482, label %1483

1482:                                             ; preds = %1478, %1471
  br label %1483

1483:                                             ; preds = %1478, %1482
  %.str.5.sink1465 = phi ptr [ @.str.5, %1482 ], [ @.str.2, %1478 ]
  store i32 %1473, ptr %1472, align 4, !tbaa !5
  %1484 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1485 = load i32, ptr @test_count, align 4, !tbaa !5
  %1486 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1487 = load i32, ptr %1486, align 4, !tbaa !5
  %1488 = call ptr @s2n_strerror(i32 noundef %1487, ptr noundef nonnull @.str.4) #12
  %1489 = load i32, ptr %1486, align 4, !tbaa !5
  %1490 = call ptr @s2n_strerror_debug(i32 noundef %1489, ptr noundef nonnull @.str.4) #12
  %1491 = load i32, ptr %1472, align 4, !tbaa !5
  %1492 = call ptr @strerror(i32 noundef %1491) #12
  %1493 = load i32, ptr %1472, align 4, !tbaa !5
  %1494 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1484, ptr noundef nonnull %.str.5.sink1465, i32 noundef %1485, ptr noundef nonnull @.str.38, ptr noundef nonnull @.str.1, i32 noundef 164, ptr noundef %1488, ptr noundef %1490, ptr noundef %1492, i32 noundef %1493) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1495:                                             ; preds = %1466
  %1496 = load i32, ptr @test_count, align 4, !tbaa !5
  %1497 = add nsw i32 %1496, 1
  store i32 %1497, ptr @test_count, align 4, !tbaa !5
  %1498 = load ptr, ptr %20, align 8, !tbaa !9
  %1499 = call i32 @s2n_connection_set_io_stuffers(ptr noundef nonnull %21, ptr noundef nonnull %22, ptr noundef %1498) #12
  %1500 = icmp eq i32 %1499, -1
  br i1 %1500, label %1501, label %1525

1501:                                             ; preds = %1495
  %1502 = tail call ptr @__errno_location() #13
  %1503 = load i32, ptr %1502, align 4, !tbaa !5
  %1504 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1505 = call i32 @s2n_print_stacktrace(ptr noundef %1504) #12
  %1506 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1507 = trunc nuw i8 %1506 to i1
  br i1 %1507, label %1508, label %1512

1508:                                             ; preds = %1501
  %1509 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1510 = call i32 @fileno(ptr noundef %1509) #12
  %1511 = call i32 @isatty(i32 noundef %1510) #12
  %.not844 = icmp eq i32 %1511, 0
  br i1 %.not844, label %1512, label %1513

1512:                                             ; preds = %1508, %1501
  br label %1513

1513:                                             ; preds = %1508, %1512
  %.str.5.sink1476 = phi ptr [ @.str.5, %1512 ], [ @.str.2, %1508 ]
  store i32 %1503, ptr %1502, align 4, !tbaa !5
  %1514 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1515 = load i32, ptr @test_count, align 4, !tbaa !5
  %1516 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1517 = load i32, ptr %1516, align 4, !tbaa !5
  %1518 = call ptr @s2n_strerror(i32 noundef %1517, ptr noundef nonnull @.str.4) #12
  %1519 = load i32, ptr %1516, align 4, !tbaa !5
  %1520 = call ptr @s2n_strerror_debug(i32 noundef %1519, ptr noundef nonnull @.str.4) #12
  %1521 = load i32, ptr %1502, align 4, !tbaa !5
  %1522 = call ptr @strerror(i32 noundef %1521) #12
  %1523 = load i32, ptr %1502, align 4, !tbaa !5
  %1524 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1514, ptr noundef nonnull %.str.5.sink1476, i32 noundef %1515, ptr noundef nonnull @.str.39, ptr noundef nonnull @.str.1, i32 noundef 165, ptr noundef %1518, ptr noundef %1520, ptr noundef %1522, i32 noundef %1523) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1525:                                             ; preds = %1495
  %1526 = load i32, ptr @test_count, align 4, !tbaa !5
  %1527 = add nsw i32 %1526, 1
  store i32 %1527, ptr @test_count, align 4, !tbaa !5
  %1528 = load ptr, ptr %19, align 8, !tbaa !9
  %1529 = call i32 @s2n_connection_set_io_stuffers(ptr noundef nonnull %22, ptr noundef nonnull %21, ptr noundef %1528) #12
  %1530 = icmp eq i32 %1529, -1
  br i1 %1530, label %1531, label %1555

1531:                                             ; preds = %1525
  %1532 = tail call ptr @__errno_location() #13
  %1533 = load i32, ptr %1532, align 4, !tbaa !5
  %1534 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1535 = call i32 @s2n_print_stacktrace(ptr noundef %1534) #12
  %1536 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1537 = trunc nuw i8 %1536 to i1
  br i1 %1537, label %1538, label %1542

1538:                                             ; preds = %1531
  %1539 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1540 = call i32 @fileno(ptr noundef %1539) #12
  %1541 = call i32 @isatty(i32 noundef %1540) #12
  %.not843 = icmp eq i32 %1541, 0
  br i1 %.not843, label %1542, label %1543

1542:                                             ; preds = %1538, %1531
  br label %1543

1543:                                             ; preds = %1538, %1542
  %.str.5.sink1487 = phi ptr [ @.str.5, %1542 ], [ @.str.2, %1538 ]
  store i32 %1533, ptr %1532, align 4, !tbaa !5
  %1544 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1545 = load i32, ptr @test_count, align 4, !tbaa !5
  %1546 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1547 = load i32, ptr %1546, align 4, !tbaa !5
  %1548 = call ptr @s2n_strerror(i32 noundef %1547, ptr noundef nonnull @.str.4) #12
  %1549 = load i32, ptr %1546, align 4, !tbaa !5
  %1550 = call ptr @s2n_strerror_debug(i32 noundef %1549, ptr noundef nonnull @.str.4) #12
  %1551 = load i32, ptr %1532, align 4, !tbaa !5
  %1552 = call ptr @strerror(i32 noundef %1551) #12
  %1553 = load i32, ptr %1532, align 4, !tbaa !5
  %1554 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1544, ptr noundef nonnull %.str.5.sink1487, i32 noundef %1545, ptr noundef nonnull @.str.40, ptr noundef nonnull @.str.1, i32 noundef 166, ptr noundef %1548, ptr noundef %1550, ptr noundef %1552, i32 noundef %1553) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1555:                                             ; preds = %1525
  %1556 = load i32, ptr @test_count, align 4, !tbaa !5
  %1557 = add nsw i32 %1556, 1
  store i32 %1557, ptr @test_count, align 4, !tbaa !5
  %1558 = load ptr, ptr %20, align 8, !tbaa !9
  %1559 = call i32 @s2n_connection_prefer_low_latency(ptr noundef %1558) #12
  %1560 = icmp eq i32 %1559, -1
  br i1 %1560, label %1561, label %1585

1561:                                             ; preds = %1555
  %1562 = tail call ptr @__errno_location() #13
  %1563 = load i32, ptr %1562, align 4, !tbaa !5
  %1564 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1565 = call i32 @s2n_print_stacktrace(ptr noundef %1564) #12
  %1566 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1567 = trunc nuw i8 %1566 to i1
  br i1 %1567, label %1568, label %1572

1568:                                             ; preds = %1561
  %1569 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1570 = call i32 @fileno(ptr noundef %1569) #12
  %1571 = call i32 @isatty(i32 noundef %1570) #12
  %.not842 = icmp eq i32 %1571, 0
  br i1 %.not842, label %1572, label %1573

1572:                                             ; preds = %1568, %1561
  br label %1573

1573:                                             ; preds = %1568, %1572
  %.str.5.sink1498 = phi ptr [ @.str.5, %1572 ], [ @.str.2, %1568 ]
  store i32 %1563, ptr %1562, align 4, !tbaa !5
  %1574 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1575 = load i32, ptr @test_count, align 4, !tbaa !5
  %1576 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1577 = load i32, ptr %1576, align 4, !tbaa !5
  %1578 = call ptr @s2n_strerror(i32 noundef %1577, ptr noundef nonnull @.str.4) #12
  %1579 = load i32, ptr %1576, align 4, !tbaa !5
  %1580 = call ptr @s2n_strerror_debug(i32 noundef %1579, ptr noundef nonnull @.str.4) #12
  %1581 = load i32, ptr %1562, align 4, !tbaa !5
  %1582 = call ptr @strerror(i32 noundef %1581) #12
  %1583 = load i32, ptr %1562, align 4, !tbaa !5
  %1584 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1574, ptr noundef nonnull %.str.5.sink1498, i32 noundef %1575, ptr noundef nonnull @.str.45, ptr noundef nonnull @.str.1, i32 noundef 168, ptr noundef %1578, ptr noundef %1580, ptr noundef %1582, i32 noundef %1583) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1585:                                             ; preds = %1555
  %1586 = load i32, ptr @test_count, align 4, !tbaa !5
  %1587 = add nsw i32 %1586, 1
  store i32 %1587, ptr @test_count, align 4, !tbaa !5
  %1588 = load ptr, ptr %19, align 8, !tbaa !9
  %1589 = load ptr, ptr %20, align 8, !tbaa !9
  %1590 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef %1588, ptr noundef %1589) #12
  %1591 = icmp eq i32 %1590, -1
  br i1 %1591, label %1592, label %1616

1592:                                             ; preds = %1585
  %1593 = tail call ptr @__errno_location() #13
  %1594 = load i32, ptr %1593, align 4, !tbaa !5
  %1595 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1596 = call i32 @s2n_print_stacktrace(ptr noundef %1595) #12
  %1597 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1598 = trunc nuw i8 %1597 to i1
  br i1 %1598, label %1599, label %1603

1599:                                             ; preds = %1592
  %1600 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1601 = call i32 @fileno(ptr noundef %1600) #12
  %1602 = call i32 @isatty(i32 noundef %1601) #12
  %.not841 = icmp eq i32 %1602, 0
  br i1 %.not841, label %1603, label %1604

1603:                                             ; preds = %1599, %1592
  br label %1604

1604:                                             ; preds = %1599, %1603
  %.str.5.sink1509 = phi ptr [ @.str.5, %1603 ], [ @.str.2, %1599 ]
  store i32 %1594, ptr %1593, align 4, !tbaa !5
  %1605 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1606 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %1608, ptr noundef nonnull @.str.4) #12
  %1610 = load i32, ptr %1607, align 4, !tbaa !5
  %1611 = call ptr @s2n_strerror_debug(i32 noundef %1610, ptr noundef nonnull @.str.4) #12
  %1612 = load i32, ptr %1593, align 4, !tbaa !5
  %1613 = call ptr @strerror(i32 noundef %1612) #12
  %1614 = load i32, ptr %1593, align 4, !tbaa !5
  %1615 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1605, ptr noundef nonnull %.str.5.sink1509, i32 noundef %1606, ptr noundef nonnull @.str.32, ptr noundef nonnull @.str.1, i32 noundef 169, ptr noundef %1609, ptr noundef %1611, ptr noundef %1613, i32 noundef %1614) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1616:                                             ; preds = %1585
  %1617 = load i32, ptr @test_count, align 4, !tbaa !5
  %1618 = add nsw i32 %1617, 1
  store i32 %1618, ptr @test_count, align 4, !tbaa !5
  %1619 = load ptr, ptr %20, align 8, !tbaa !9
  %1620 = call i64 @s2n_send(ptr noundef %1619, ptr noundef nonnull %7, i64 noundef 20, ptr noundef nonnull %9) #12
  %1621 = icmp eq i64 %1620, 20
  br i1 %1621, label %1646, label %1622

1622:                                             ; preds = %1616
  %1623 = tail call ptr @__errno_location() #13
  %1624 = load i32, ptr %1623, align 4, !tbaa !5
  %1625 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1626 = call i32 @s2n_print_stacktrace(ptr noundef %1625) #12
  %1627 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1628 = trunc nuw i8 %1627 to i1
  br i1 %1628, label %1629, label %1633

1629:                                             ; preds = %1622
  %1630 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1631 = call i32 @fileno(ptr noundef %1630) #12
  %1632 = call i32 @isatty(i32 noundef %1631) #12
  %.not627 = icmp eq i32 %1632, 0
  br i1 %.not627, label %1633, label %1634

1633:                                             ; preds = %1629, %1622
  br label %1634

1634:                                             ; preds = %1629, %1633
  %.str.5.sink1520 = phi ptr [ @.str.5, %1633 ], [ @.str.2, %1629 ]
  store i32 %1624, ptr %1623, align 4, !tbaa !5
  %1635 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1636 = load i32, ptr @test_count, align 4, !tbaa !5
  %1637 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1638 = load i32, ptr %1637, align 4, !tbaa !5
  %1639 = call ptr @s2n_strerror(i32 noundef %1638, ptr noundef nonnull @.str.4) #12
  %1640 = load i32, ptr %1637, align 4, !tbaa !5
  %1641 = call ptr @s2n_strerror_debug(i32 noundef %1640, ptr noundef nonnull @.str.4) #12
  %1642 = load i32, ptr %1623, align 4, !tbaa !5
  %1643 = call ptr @strerror(i32 noundef %1642) #12
  %1644 = load i32, ptr %1623, align 4, !tbaa !5
  %1645 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1635, ptr noundef nonnull %.str.5.sink1520, i32 noundef %1636, ptr noundef nonnull @.str.46, ptr noundef nonnull @.str.1, i32 noundef 171, ptr noundef %1639, ptr noundef %1641, ptr noundef %1643, i32 noundef %1644) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1646:                                             ; preds = %1616
  %1647 = getelementptr inbounds i8, ptr %22, i64 28
  %1648 = load i32, ptr %1647, align 4, !tbaa !43
  %1649 = getelementptr inbounds i8, ptr %22, i64 24
  %1650 = load i32, ptr %1649, align 8, !tbaa !44
  %1651 = sub i32 %1648, %1650
  %1652 = load i32, ptr @test_count, align 4, !tbaa !5
  %1653 = add nsw i32 %1652, 1
  store i32 %1653, ptr @test_count, align 4, !tbaa !5
  %1654 = call i32 @s2n_stuffer_wipe(ptr noundef nonnull %22) #12
  %1655 = icmp eq i32 %1654, -1
  br i1 %1655, label %1656, label %1680

1656:                                             ; preds = %1646
  %1657 = tail call ptr @__errno_location() #13
  %1658 = load i32, ptr %1657, 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 = %1656
  %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
  %.not840 = icmp eq i32 %1666, 0
  br i1 %.not840, label %1667, label %1668

1667:                                             ; preds = %1663, %1656
  br label %1668

1668:                                             ; preds = %1663, %1667
  %.str.5.sink1531 = phi ptr [ @.str.5, %1667 ], [ @.str.2, %1663 ]
  store i32 %1658, ptr %1657, align 4, !tbaa !5
  %1669 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1670 = load i32, ptr @test_count, align 4, !tbaa !5
  %1671 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1672 = load i32, ptr %1671, align 4, !tbaa !5
  %1673 = call ptr @s2n_strerror(i32 noundef %1672, ptr noundef nonnull @.str.4) #12
  %1674 = load i32, ptr %1671, align 4, !tbaa !5
  %1675 = call ptr @s2n_strerror_debug(i32 noundef %1674, ptr noundef nonnull @.str.4) #12
  %1676 = load i32, ptr %1657, align 4, !tbaa !5
  %1677 = call ptr @strerror(i32 noundef %1676) #12
  %1678 = load i32, ptr %1657, align 4, !tbaa !5
  %1679 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1669, ptr noundef nonnull %.str.5.sink1531, i32 noundef %1670, ptr noundef nonnull @.str.47, ptr noundef nonnull @.str.1, i32 noundef 173, ptr noundef %1673, ptr noundef %1675, ptr noundef %1677, i32 noundef %1678) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1680:                                             ; preds = %1646
  %1681 = load i32, ptr @test_count, align 4, !tbaa !5
  %1682 = add nsw i32 %1681, 1
  store i32 %1682, ptr @test_count, align 4, !tbaa !5
  %1683 = load ptr, ptr %20, align 8, !tbaa !9
  %1684 = call i32 @s2n_renegotiate_wipe(ptr noundef %1683) #12
  %1685 = icmp eq i32 %1684, -1
  br i1 %1685, label %1686, label %1710

1686:                                             ; preds = %1680
  %1687 = tail call ptr @__errno_location() #13
  %1688 = load i32, ptr %1687, align 4, !tbaa !5
  %1689 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1690 = call i32 @s2n_print_stacktrace(ptr noundef %1689) #12
  %1691 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1692 = trunc nuw i8 %1691 to i1
  br i1 %1692, label %1693, label %1697

1693:                                             ; preds = %1686
  %1694 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1695 = call i32 @fileno(ptr noundef %1694) #12
  %1696 = call i32 @isatty(i32 noundef %1695) #12
  %.not839 = icmp eq i32 %1696, 0
  br i1 %.not839, label %1697, label %1698

1697:                                             ; preds = %1693, %1686
  br label %1698

1698:                                             ; preds = %1693, %1697
  %.str.5.sink1542 = phi ptr [ @.str.5, %1697 ], [ @.str.2, %1693 ]
  store i32 %1688, ptr %1687, align 4, !tbaa !5
  %1699 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1700 = load i32, ptr @test_count, align 4, !tbaa !5
  %1701 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1702 = load i32, ptr %1701, align 4, !tbaa !5
  %1703 = call ptr @s2n_strerror(i32 noundef %1702, ptr noundef nonnull @.str.4) #12
  %1704 = load i32, ptr %1701, align 4, !tbaa !5
  %1705 = call ptr @s2n_strerror_debug(i32 noundef %1704, ptr noundef nonnull @.str.4) #12
  %1706 = load i32, ptr %1687, align 4, !tbaa !5
  %1707 = call ptr @strerror(i32 noundef %1706) #12
  %1708 = load i32, ptr %1687, align 4, !tbaa !5
  %1709 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1699, ptr noundef nonnull %.str.5.sink1542, i32 noundef %1700, ptr noundef nonnull @.str.33, ptr noundef nonnull @.str.1, i32 noundef 175, ptr noundef %1703, ptr noundef %1705, ptr noundef %1707, i32 noundef %1708) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1710:                                             ; preds = %1680
  %1711 = load i32, ptr @test_count, align 4, !tbaa !5
  %1712 = add nsw i32 %1711, 1
  store i32 %1712, ptr @test_count, align 4, !tbaa !5
  %1713 = load ptr, ptr %20, align 8, !tbaa !9
  %1714 = call i64 @s2n_send(ptr noundef %1713, ptr noundef nonnull %7, i64 noundef 20, ptr noundef nonnull %9) #12
  %1715 = icmp eq i64 %1714, 20
  br i1 %1715, label %1740, label %1716

1716:                                             ; preds = %1710
  %1717 = tail call ptr @__errno_location() #13
  %1718 = load i32, ptr %1717, align 4, !tbaa !5
  %1719 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1720 = call i32 @s2n_print_stacktrace(ptr noundef %1719) #12
  %1721 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1722 = trunc nuw i8 %1721 to i1
  br i1 %1722, label %1723, label %1727

1723:                                             ; preds = %1716
  %1724 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1725 = call i32 @fileno(ptr noundef %1724) #12
  %1726 = call i32 @isatty(i32 noundef %1725) #12
  %.not628 = icmp eq i32 %1726, 0
  br i1 %.not628, label %1727, label %1728

1727:                                             ; preds = %1723, %1716
  br label %1728

1728:                                             ; preds = %1723, %1727
  %.str.5.sink1553 = phi ptr [ @.str.5, %1727 ], [ @.str.2, %1723 ]
  store i32 %1718, ptr %1717, align 4, !tbaa !5
  %1729 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1730 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %1732, ptr noundef nonnull @.str.4) #12
  %1734 = load i32, ptr %1731, align 4, !tbaa !5
  %1735 = call ptr @s2n_strerror_debug(i32 noundef %1734, ptr noundef nonnull @.str.4) #12
  %1736 = load i32, ptr %1717, align 4, !tbaa !5
  %1737 = call ptr @strerror(i32 noundef %1736) #12
  %1738 = load i32, ptr %1717, align 4, !tbaa !5
  %1739 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1729, ptr noundef nonnull %.str.5.sink1553, i32 noundef %1730, ptr noundef nonnull @.str.46, ptr noundef nonnull @.str.1, i32 noundef 177, ptr noundef %1733, ptr noundef %1735, ptr noundef %1737, i32 noundef %1738) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1740:                                             ; preds = %1710
  %1741 = load i32, ptr %1647, align 4, !tbaa !43
  %1742 = load i32, ptr %1649, align 8, !tbaa !44
  %1743 = sub i32 %1741, %1742
  %1744 = load i32, ptr @test_count, align 4, !tbaa !5
  %1745 = add nsw i32 %1744, 1
  store i32 %1745, ptr @test_count, align 4, !tbaa !5
  %1746 = icmp eq i32 %1651, %1743
  br i1 %1746, label %1771, label %1747

1747:                                             ; preds = %1740
  %1748 = tail call ptr @__errno_location() #13
  %1749 = load i32, ptr %1748, align 4, !tbaa !5
  %1750 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1751 = call i32 @s2n_print_stacktrace(ptr noundef %1750) #12
  %1752 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1753 = trunc nuw i8 %1752 to i1
  br i1 %1753, label %1754, label %1758

1754:                                             ; preds = %1747
  %1755 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1756 = call i32 @fileno(ptr noundef %1755) #12
  %1757 = call i32 @isatty(i32 noundef %1756) #12
  %.not629 = icmp eq i32 %1757, 0
  br i1 %.not629, label %1758, label %1759

1758:                                             ; preds = %1754, %1747
  br label %1759

1759:                                             ; preds = %1754, %1758
  %.str.5.sink1564 = phi ptr [ @.str.5, %1758 ], [ @.str.2, %1754 ]
  store i32 %1749, ptr %1748, align 4, !tbaa !5
  %1760 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1761 = load i32, ptr @test_count, align 4, !tbaa !5
  %1762 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1763 = load i32, ptr %1762, align 4, !tbaa !5
  %1764 = call ptr @s2n_strerror(i32 noundef %1763, ptr noundef nonnull @.str.4) #12
  %1765 = load i32, ptr %1762, align 4, !tbaa !5
  %1766 = call ptr @s2n_strerror_debug(i32 noundef %1765, ptr noundef nonnull @.str.4) #12
  %1767 = load i32, ptr %1748, align 4, !tbaa !5
  %1768 = call ptr @strerror(i32 noundef %1767) #12
  %1769 = load i32, ptr %1748, align 4, !tbaa !5
  %1770 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1760, ptr noundef nonnull %.str.5.sink1564, i32 noundef %1761, ptr noundef nonnull @.str.48, ptr noundef nonnull @.str.1, i32 noundef 179, ptr noundef %1764, ptr noundef %1766, ptr noundef %1768, i32 noundef %1769) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1771:                                             ; preds = %1740
  %1772 = call i32 @s2n_stuffer_free(ptr noundef nonnull %22) #12
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %22) #12
  %1773 = call i32 @s2n_stuffer_free(ptr noundef nonnull %21) #12
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %21) #12
  %1774 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %20) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %20) #12
  %1775 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %19) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %19) #12
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %23) #12
  %1776 = call ptr @s2n_connection_new(i32 noundef 0) #12
  store ptr %1776, ptr %23, align 8, !tbaa !9
  %1777 = load i32, ptr @test_count, align 4, !tbaa !5
  %1778 = add nsw i32 %1777, 1
  store i32 %1778, ptr @test_count, align 4, !tbaa !5
  %1779 = icmp eq ptr %1776, null
  br i1 %1779, label %1780, label %1804

1780:                                             ; preds = %1771
  %1781 = tail call ptr @__errno_location() #13
  %1782 = load i32, ptr %1781, align 4, !tbaa !5
  %1783 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1784 = call i32 @s2n_print_stacktrace(ptr noundef %1783) #12
  %1785 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1786 = trunc nuw i8 %1785 to i1
  br i1 %1786, label %1787, label %1791

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

1791:                                             ; preds = %1787, %1780
  br label %1792

1792:                                             ; preds = %1787, %1791
  %.str.5.sink1575 = phi ptr [ @.str.5, %1791 ], [ @.str.2, %1787 ]
  store i32 %1782, ptr %1781, align 4, !tbaa !5
  %1793 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1794 = load i32, ptr @test_count, align 4, !tbaa !5
  %1795 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1796 = load i32, ptr %1795, align 4, !tbaa !5
  %1797 = call ptr @s2n_strerror(i32 noundef %1796, ptr noundef nonnull @.str.4) #12
  %1798 = load i32, ptr %1795, align 4, !tbaa !5
  %1799 = call ptr @s2n_strerror_debug(i32 noundef %1798, ptr noundef nonnull @.str.4) #12
  %1800 = load i32, ptr %1781, align 4, !tbaa !5
  %1801 = call ptr @strerror(i32 noundef %1800) #12
  %1802 = load i32, ptr %1781, align 4, !tbaa !5
  %1803 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1793, ptr noundef nonnull %.str.5.sink1575, i32 noundef %1794, ptr noundef nonnull @.str.21, ptr noundef nonnull @.str.1, i32 noundef 185, ptr noundef %1797, ptr noundef %1799, ptr noundef %1801, i32 noundef %1802) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1804:                                             ; preds = %1771
  %1805 = add nsw i32 %1777, 2
  store i32 %1805, ptr @test_count, align 4, !tbaa !5
  %1806 = call i32 @s2n_connection_set_config(ptr noundef nonnull %1776, ptr noundef nonnull %240) #12
  %1807 = icmp eq i32 %1806, -1
  br i1 %1807, label %1808, label %1832

1808:                                             ; preds = %1804
  %1809 = tail call ptr @__errno_location() #13
  %1810 = load i32, ptr %1809, align 4, !tbaa !5
  %1811 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1812 = call i32 @s2n_print_stacktrace(ptr noundef %1811) #12
  %1813 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1814 = trunc nuw i8 %1813 to i1
  br i1 %1814, label %1815, label %1819

1815:                                             ; preds = %1808
  %1816 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1817 = call i32 @fileno(ptr noundef %1816) #12
  %1818 = call i32 @isatty(i32 noundef %1817) #12
  %.not837 = icmp eq i32 %1818, 0
  br i1 %.not837, label %1819, label %1820

1819:                                             ; preds = %1815, %1808
  br label %1820

1820:                                             ; preds = %1815, %1819
  %.str.5.sink1586 = phi ptr [ @.str.5, %1819 ], [ @.str.2, %1815 ]
  store i32 %1810, ptr %1809, align 4, !tbaa !5
  %1821 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1822 = load i32, ptr @test_count, align 4, !tbaa !5
  %1823 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1824 = load i32, ptr %1823, align 4, !tbaa !5
  %1825 = call ptr @s2n_strerror(i32 noundef %1824, ptr noundef nonnull @.str.4) #12
  %1826 = load i32, ptr %1823, align 4, !tbaa !5
  %1827 = call ptr @s2n_strerror_debug(i32 noundef %1826, ptr noundef nonnull @.str.4) #12
  %1828 = load i32, ptr %1809, align 4, !tbaa !5
  %1829 = call ptr @strerror(i32 noundef %1828) #12
  %1830 = load i32, ptr %1809, align 4, !tbaa !5
  %1831 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1821, ptr noundef nonnull %.str.5.sink1586, i32 noundef %1822, ptr noundef nonnull @.str.22, ptr noundef nonnull @.str.1, i32 noundef 186, ptr noundef %1825, ptr noundef %1827, ptr noundef %1829, i32 noundef %1830) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1832:                                             ; preds = %1804
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %24) #12
  %1833 = call ptr @s2n_connection_new(i32 noundef 1) #12
  store ptr %1833, ptr %24, align 8, !tbaa !9
  %1834 = load i32, ptr @test_count, align 4, !tbaa !5
  %1835 = add nsw i32 %1834, 1
  store i32 %1835, ptr @test_count, align 4, !tbaa !5
  %1836 = icmp eq ptr %1833, null
  br i1 %1836, label %1837, label %1861

1837:                                             ; preds = %1832
  %1838 = tail call ptr @__errno_location() #13
  %1839 = load i32, ptr %1838, align 4, !tbaa !5
  %1840 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1841 = call i32 @s2n_print_stacktrace(ptr noundef %1840) #12
  %1842 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1843 = trunc nuw i8 %1842 to i1
  br i1 %1843, label %1844, label %1848

1844:                                             ; preds = %1837
  %1845 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1846 = call i32 @fileno(ptr noundef %1845) #12
  %1847 = call i32 @isatty(i32 noundef %1846) #12
  %.not836 = icmp eq i32 %1847, 0
  br i1 %.not836, label %1848, label %1849

1848:                                             ; preds = %1844, %1837
  br label %1849

1849:                                             ; preds = %1844, %1848
  %.str.5.sink1597 = phi ptr [ @.str.5, %1848 ], [ @.str.2, %1844 ]
  store i32 %1839, ptr %1838, align 4, !tbaa !5
  %1850 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1851 = load i32, ptr @test_count, align 4, !tbaa !5
  %1852 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1853 = load i32, ptr %1852, align 4, !tbaa !5
  %1854 = call ptr @s2n_strerror(i32 noundef %1853, ptr noundef nonnull @.str.4) #12
  %1855 = load i32, ptr %1852, align 4, !tbaa !5
  %1856 = call ptr @s2n_strerror_debug(i32 noundef %1855, ptr noundef nonnull @.str.4) #12
  %1857 = load i32, ptr %1838, align 4, !tbaa !5
  %1858 = call ptr @strerror(i32 noundef %1857) #12
  %1859 = load i32, ptr %1838, align 4, !tbaa !5
  %1860 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1850, ptr noundef nonnull %.str.5.sink1597, i32 noundef %1851, ptr noundef nonnull @.str.23, ptr noundef nonnull @.str.1, i32 noundef 189, ptr noundef %1854, ptr noundef %1856, ptr noundef %1858, i32 noundef %1859) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1861:                                             ; preds = %1832
  %1862 = add nsw i32 %1834, 2
  store i32 %1862, ptr @test_count, align 4, !tbaa !5
  %1863 = call i32 @s2n_connection_set_config(ptr noundef nonnull %1833, ptr noundef nonnull %240) #12
  %1864 = icmp eq i32 %1863, -1
  br i1 %1864, label %1865, label %1889

1865:                                             ; preds = %1861
  %1866 = tail call ptr @__errno_location() #13
  %1867 = load i32, ptr %1866, align 4, !tbaa !5
  %1868 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1869 = call i32 @s2n_print_stacktrace(ptr noundef %1868) #12
  %1870 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1871 = trunc nuw i8 %1870 to i1
  br i1 %1871, label %1872, label %1876

1872:                                             ; preds = %1865
  %1873 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1874 = call i32 @fileno(ptr noundef %1873) #12
  %1875 = call i32 @isatty(i32 noundef %1874) #12
  %.not835 = icmp eq i32 %1875, 0
  br i1 %.not835, label %1876, label %1877

1876:                                             ; preds = %1872, %1865
  br label %1877

1877:                                             ; preds = %1872, %1876
  %.str.5.sink1608 = phi ptr [ @.str.5, %1876 ], [ @.str.2, %1872 ]
  store i32 %1867, ptr %1866, align 4, !tbaa !5
  %1878 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1879 = load i32, ptr @test_count, align 4, !tbaa !5
  %1880 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1881 = load i32, ptr %1880, align 4, !tbaa !5
  %1882 = call ptr @s2n_strerror(i32 noundef %1881, ptr noundef nonnull @.str.4) #12
  %1883 = load i32, ptr %1880, align 4, !tbaa !5
  %1884 = call ptr @s2n_strerror_debug(i32 noundef %1883, ptr noundef nonnull @.str.4) #12
  %1885 = load i32, ptr %1866, align 4, !tbaa !5
  %1886 = call ptr @strerror(i32 noundef %1885) #12
  %1887 = load i32, ptr %1866, align 4, !tbaa !5
  %1888 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1878, ptr noundef nonnull %.str.5.sink1608, i32 noundef %1879, ptr noundef nonnull @.str.24, ptr noundef nonnull @.str.1, i32 noundef 190, ptr noundef %1882, ptr noundef %1884, ptr noundef %1886, i32 noundef %1887) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1889:                                             ; preds = %1861
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %25) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %25, i8 0, i64 40, i1 false)
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %26) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %26, i8 0, i64 40, i1 false)
  %1890 = load i32, ptr @test_count, align 4, !tbaa !5
  %1891 = add nsw i32 %1890, 1
  store i32 %1891, ptr @test_count, align 4, !tbaa !5
  %1892 = call i32 @s2n_stuffer_growable_alloc(ptr noundef nonnull %25, i32 noundef 0) #12
  %1893 = icmp eq i32 %1892, -1
  br i1 %1893, label %1894, label %1918

1894:                                             ; preds = %1889
  %1895 = tail call ptr @__errno_location() #13
  %1896 = load i32, ptr %1895, align 4, !tbaa !5
  %1897 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1898 = call i32 @s2n_print_stacktrace(ptr noundef %1897) #12
  %1899 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1900 = trunc nuw i8 %1899 to i1
  br i1 %1900, label %1901, label %1905

1901:                                             ; preds = %1894
  %1902 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1903 = call i32 @fileno(ptr noundef %1902) #12
  %1904 = call i32 @isatty(i32 noundef %1903) #12
  %.not834 = icmp eq i32 %1904, 0
  br i1 %.not834, label %1905, label %1906

1905:                                             ; preds = %1901, %1894
  br label %1906

1906:                                             ; preds = %1901, %1905
  %.str.5.sink1619 = phi ptr [ @.str.5, %1905 ], [ @.str.2, %1901 ]
  store i32 %1896, ptr %1895, align 4, !tbaa !5
  %1907 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1908 = load i32, ptr @test_count, align 4, !tbaa !5
  %1909 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1910 = load i32, ptr %1909, align 4, !tbaa !5
  %1911 = call ptr @s2n_strerror(i32 noundef %1910, ptr noundef nonnull @.str.4) #12
  %1912 = load i32, ptr %1909, align 4, !tbaa !5
  %1913 = call ptr @s2n_strerror_debug(i32 noundef %1912, ptr noundef nonnull @.str.4) #12
  %1914 = load i32, ptr %1895, align 4, !tbaa !5
  %1915 = call ptr @strerror(i32 noundef %1914) #12
  %1916 = load i32, ptr %1895, align 4, !tbaa !5
  %1917 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1907, ptr noundef nonnull %.str.5.sink1619, i32 noundef %1908, ptr noundef nonnull @.str.37, ptr noundef nonnull @.str.1, i32 noundef 194, ptr noundef %1911, ptr noundef %1913, ptr noundef %1915, i32 noundef %1916) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1918:                                             ; preds = %1889
  %1919 = load i32, ptr @test_count, align 4, !tbaa !5
  %1920 = add nsw i32 %1919, 1
  store i32 %1920, ptr @test_count, align 4, !tbaa !5
  %1921 = call i32 @s2n_stuffer_growable_alloc(ptr noundef nonnull %26, i32 noundef 0) #12
  %1922 = icmp eq i32 %1921, -1
  br i1 %1922, label %1923, label %1947

1923:                                             ; preds = %1918
  %1924 = tail call ptr @__errno_location() #13
  %1925 = load i32, ptr %1924, align 4, !tbaa !5
  %1926 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1927 = call i32 @s2n_print_stacktrace(ptr noundef %1926) #12
  %1928 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1929 = trunc nuw i8 %1928 to i1
  br i1 %1929, label %1930, label %1934

1930:                                             ; preds = %1923
  %1931 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1932 = call i32 @fileno(ptr noundef %1931) #12
  %1933 = call i32 @isatty(i32 noundef %1932) #12
  %.not833 = icmp eq i32 %1933, 0
  br i1 %.not833, label %1934, label %1935

1934:                                             ; preds = %1930, %1923
  br label %1935

1935:                                             ; preds = %1930, %1934
  %.str.5.sink1630 = phi ptr [ @.str.5, %1934 ], [ @.str.2, %1930 ]
  store i32 %1925, ptr %1924, align 4, !tbaa !5
  %1936 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1937 = load i32, ptr @test_count, align 4, !tbaa !5
  %1938 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1939 = load i32, ptr %1938, align 4, !tbaa !5
  %1940 = call ptr @s2n_strerror(i32 noundef %1939, ptr noundef nonnull @.str.4) #12
  %1941 = load i32, ptr %1938, align 4, !tbaa !5
  %1942 = call ptr @s2n_strerror_debug(i32 noundef %1941, ptr noundef nonnull @.str.4) #12
  %1943 = load i32, ptr %1924, align 4, !tbaa !5
  %1944 = call ptr @strerror(i32 noundef %1943) #12
  %1945 = load i32, ptr %1924, align 4, !tbaa !5
  %1946 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1936, ptr noundef nonnull %.str.5.sink1630, i32 noundef %1937, ptr noundef nonnull @.str.38, ptr noundef nonnull @.str.1, i32 noundef 195, ptr noundef %1940, ptr noundef %1942, ptr noundef %1944, i32 noundef %1945) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1947:                                             ; preds = %1918
  %1948 = load i32, ptr @test_count, align 4, !tbaa !5
  %1949 = add nsw i32 %1948, 1
  store i32 %1949, ptr @test_count, align 4, !tbaa !5
  %1950 = load ptr, ptr %24, align 8, !tbaa !9
  %1951 = call i32 @s2n_connection_set_io_stuffers(ptr noundef nonnull %25, ptr noundef nonnull %26, ptr noundef %1950) #12
  %1952 = icmp eq i32 %1951, -1
  br i1 %1952, label %1953, label %1977

1953:                                             ; preds = %1947
  %1954 = tail call ptr @__errno_location() #13
  %1955 = load i32, ptr %1954, align 4, !tbaa !5
  %1956 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1957 = call i32 @s2n_print_stacktrace(ptr noundef %1956) #12
  %1958 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1959 = trunc nuw i8 %1958 to i1
  br i1 %1959, label %1960, label %1964

1960:                                             ; preds = %1953
  %1961 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1962 = call i32 @fileno(ptr noundef %1961) #12
  %1963 = call i32 @isatty(i32 noundef %1962) #12
  %.not832 = icmp eq i32 %1963, 0
  br i1 %.not832, label %1964, label %1965

1964:                                             ; preds = %1960, %1953
  br label %1965

1965:                                             ; preds = %1960, %1964
  %.str.5.sink1641 = phi ptr [ @.str.5, %1964 ], [ @.str.2, %1960 ]
  store i32 %1955, ptr %1954, align 4, !tbaa !5
  %1966 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1967 = load i32, ptr @test_count, align 4, !tbaa !5
  %1968 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1969 = load i32, ptr %1968, align 4, !tbaa !5
  %1970 = call ptr @s2n_strerror(i32 noundef %1969, ptr noundef nonnull @.str.4) #12
  %1971 = load i32, ptr %1968, align 4, !tbaa !5
  %1972 = call ptr @s2n_strerror_debug(i32 noundef %1971, ptr noundef nonnull @.str.4) #12
  %1973 = load i32, ptr %1954, align 4, !tbaa !5
  %1974 = call ptr @strerror(i32 noundef %1973) #12
  %1975 = load i32, ptr %1954, align 4, !tbaa !5
  %1976 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1966, ptr noundef nonnull %.str.5.sink1641, i32 noundef %1967, ptr noundef nonnull @.str.39, ptr noundef nonnull @.str.1, i32 noundef 196, ptr noundef %1970, ptr noundef %1972, ptr noundef %1974, i32 noundef %1975) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1977:                                             ; preds = %1947
  %1978 = load i32, ptr @test_count, align 4, !tbaa !5
  %1979 = add nsw i32 %1978, 1
  store i32 %1979, ptr @test_count, align 4, !tbaa !5
  %1980 = load ptr, ptr %23, align 8, !tbaa !9
  %1981 = call i32 @s2n_connection_set_io_stuffers(ptr noundef nonnull %26, ptr noundef nonnull %25, ptr noundef %1980) #12
  %1982 = icmp eq i32 %1981, -1
  br i1 %1982, label %1983, label %2007

1983:                                             ; preds = %1977
  %1984 = tail call ptr @__errno_location() #13
  %1985 = load i32, ptr %1984, align 4, !tbaa !5
  %1986 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1987 = call i32 @s2n_print_stacktrace(ptr noundef %1986) #12
  %1988 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1989 = trunc nuw i8 %1988 to i1
  br i1 %1989, label %1990, label %1994

1990:                                             ; preds = %1983
  %1991 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1992 = call i32 @fileno(ptr noundef %1991) #12
  %1993 = call i32 @isatty(i32 noundef %1992) #12
  %.not831 = icmp eq i32 %1993, 0
  br i1 %.not831, label %1994, label %1995

1994:                                             ; preds = %1990, %1983
  br label %1995

1995:                                             ; preds = %1990, %1994
  %.str.5.sink1652 = phi ptr [ @.str.5, %1994 ], [ @.str.2, %1990 ]
  store i32 %1985, ptr %1984, align 4, !tbaa !5
  %1996 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1997 = load i32, ptr @test_count, align 4, !tbaa !5
  %1998 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1999 = load i32, ptr %1998, align 4, !tbaa !5
  %2000 = call ptr @s2n_strerror(i32 noundef %1999, ptr noundef nonnull @.str.4) #12
  %2001 = load i32, ptr %1998, align 4, !tbaa !5
  %2002 = call ptr @s2n_strerror_debug(i32 noundef %2001, ptr noundef nonnull @.str.4) #12
  %2003 = load i32, ptr %1984, align 4, !tbaa !5
  %2004 = call ptr @strerror(i32 noundef %2003) #12
  %2005 = load i32, ptr %1984, align 4, !tbaa !5
  %2006 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1996, ptr noundef nonnull %.str.5.sink1652, i32 noundef %1997, ptr noundef nonnull @.str.40, ptr noundef nonnull @.str.1, i32 noundef 197, ptr noundef %2000, ptr noundef %2002, ptr noundef %2004, i32 noundef %2005) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2007:                                             ; preds = %1977
  %2008 = load i32, ptr @test_count, align 4, !tbaa !5
  %2009 = add nsw i32 %2008, 1
  store i32 %2009, ptr @test_count, align 4, !tbaa !5
  %2010 = load ptr, ptr %23, align 8, !tbaa !9
  %2011 = load ptr, ptr %24, align 8, !tbaa !9
  %2012 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef %2010, ptr noundef %2011) #12
  %2013 = icmp eq i32 %2012, -1
  br i1 %2013, label %2014, label %2038

2014:                                             ; preds = %2007
  %2015 = tail call ptr @__errno_location() #13
  %2016 = load i32, ptr %2015, align 4, !tbaa !5
  %2017 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2018 = call i32 @s2n_print_stacktrace(ptr noundef %2017) #12
  %2019 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2020 = trunc nuw i8 %2019 to i1
  br i1 %2020, label %2021, label %2025

2021:                                             ; preds = %2014
  %2022 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2023 = call i32 @fileno(ptr noundef %2022) #12
  %2024 = call i32 @isatty(i32 noundef %2023) #12
  %.not830 = icmp eq i32 %2024, 0
  br i1 %.not830, label %2025, label %2026

2025:                                             ; preds = %2021, %2014
  br label %2026

2026:                                             ; preds = %2021, %2025
  %.str.5.sink1663 = phi ptr [ @.str.5, %2025 ], [ @.str.2, %2021 ]
  store i32 %2016, ptr %2015, align 4, !tbaa !5
  %2027 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2028 = load i32, ptr @test_count, align 4, !tbaa !5
  %2029 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2030 = load i32, ptr %2029, align 4, !tbaa !5
  %2031 = call ptr @s2n_strerror(i32 noundef %2030, ptr noundef nonnull @.str.4) #12
  %2032 = load i32, ptr %2029, align 4, !tbaa !5
  %2033 = call ptr @s2n_strerror_debug(i32 noundef %2032, ptr noundef nonnull @.str.4) #12
  %2034 = load i32, ptr %2015, align 4, !tbaa !5
  %2035 = call ptr @strerror(i32 noundef %2034) #12
  %2036 = load i32, ptr %2015, align 4, !tbaa !5
  %2037 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2027, ptr noundef nonnull %.str.5.sink1663, i32 noundef %2028, ptr noundef nonnull @.str.32, ptr noundef nonnull @.str.1, i32 noundef 199, ptr noundef %2031, ptr noundef %2033, ptr noundef %2035, i32 noundef %2036) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2038:                                             ; preds = %2007
  %2039 = load ptr, ptr %24, align 8, !tbaa !9
  %2040 = getelementptr inbounds i8, ptr %2039, i64 2208
  store i16 5, ptr %2040, align 8, !tbaa !45
  %2041 = load i32, ptr @test_count, align 4, !tbaa !5
  %2042 = add nsw i32 %2041, 1
  store i32 %2042, ptr @test_count, align 4, !tbaa !5
  %2043 = call i64 @s2n_send(ptr noundef %2039, ptr noundef nonnull %7, i64 noundef 20, ptr noundef nonnull %9) #12
  %2044 = icmp eq i64 %2043, 20
  br i1 %2044, label %2069, label %2045

2045:                                             ; preds = %2038
  %2046 = tail call ptr @__errno_location() #13
  %2047 = load i32, ptr %2046, align 4, !tbaa !5
  %2048 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2049 = call i32 @s2n_print_stacktrace(ptr noundef %2048) #12
  %2050 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2051 = trunc nuw i8 %2050 to i1
  br i1 %2051, label %2052, label %2056

2052:                                             ; preds = %2045
  %2053 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2054 = call i32 @fileno(ptr noundef %2053) #12
  %2055 = call i32 @isatty(i32 noundef %2054) #12
  %.not630 = icmp eq i32 %2055, 0
  br i1 %.not630, label %2056, label %2057

2056:                                             ; preds = %2052, %2045
  br label %2057

2057:                                             ; preds = %2052, %2056
  %.str.5.sink1674 = phi ptr [ @.str.5, %2056 ], [ @.str.2, %2052 ]
  store i32 %2047, ptr %2046, align 4, !tbaa !5
  %2058 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2059 = load i32, ptr @test_count, align 4, !tbaa !5
  %2060 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2061 = load i32, ptr %2060, align 4, !tbaa !5
  %2062 = call ptr @s2n_strerror(i32 noundef %2061, ptr noundef nonnull @.str.4) #12
  %2063 = load i32, ptr %2060, align 4, !tbaa !5
  %2064 = call ptr @s2n_strerror_debug(i32 noundef %2063, ptr noundef nonnull @.str.4) #12
  %2065 = load i32, ptr %2046, align 4, !tbaa !5
  %2066 = call ptr @strerror(i32 noundef %2065) #12
  %2067 = load i32, ptr %2046, align 4, !tbaa !5
  %2068 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2058, ptr noundef nonnull %.str.5.sink1674, i32 noundef %2059, ptr noundef nonnull @.str.46, ptr noundef nonnull @.str.1, i32 noundef 204, ptr noundef %2062, ptr noundef %2064, ptr noundef %2066, i32 noundef %2067) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2069:                                             ; preds = %2038
  %2070 = getelementptr inbounds i8, ptr %26, i64 28
  %2071 = load i32, ptr %2070, align 4, !tbaa !43
  %2072 = getelementptr inbounds i8, ptr %26, i64 24
  %2073 = load i32, ptr %2072, align 8, !tbaa !44
  %2074 = sub i32 %2071, %2073
  %2075 = load i32, ptr @test_count, align 4, !tbaa !5
  %2076 = add nsw i32 %2075, 1
  store i32 %2076, ptr @test_count, align 4, !tbaa !5
  %2077 = call i32 @s2n_stuffer_wipe(ptr noundef nonnull %26) #12
  %2078 = icmp eq i32 %2077, -1
  br i1 %2078, label %2079, label %2103

2079:                                             ; preds = %2069
  %2080 = tail call ptr @__errno_location() #13
  %2081 = load i32, ptr %2080, align 4, !tbaa !5
  %2082 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2083 = call i32 @s2n_print_stacktrace(ptr noundef %2082) #12
  %2084 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2085 = trunc nuw i8 %2084 to i1
  br i1 %2085, label %2086, label %2090

2086:                                             ; preds = %2079
  %2087 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2088 = call i32 @fileno(ptr noundef %2087) #12
  %2089 = call i32 @isatty(i32 noundef %2088) #12
  %.not829 = icmp eq i32 %2089, 0
  br i1 %.not829, label %2090, label %2091

2090:                                             ; preds = %2086, %2079
  br label %2091

2091:                                             ; preds = %2086, %2090
  %.str.5.sink1685 = phi ptr [ @.str.5, %2090 ], [ @.str.2, %2086 ]
  store i32 %2081, ptr %2080, align 4, !tbaa !5
  %2092 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2093 = load i32, ptr @test_count, align 4, !tbaa !5
  %2094 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2095 = load i32, ptr %2094, align 4, !tbaa !5
  %2096 = call ptr @s2n_strerror(i32 noundef %2095, ptr noundef nonnull @.str.4) #12
  %2097 = load i32, ptr %2094, align 4, !tbaa !5
  %2098 = call ptr @s2n_strerror_debug(i32 noundef %2097, ptr noundef nonnull @.str.4) #12
  %2099 = load i32, ptr %2080, align 4, !tbaa !5
  %2100 = call ptr @strerror(i32 noundef %2099) #12
  %2101 = load i32, ptr %2080, align 4, !tbaa !5
  %2102 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2092, ptr noundef nonnull %.str.5.sink1685, i32 noundef %2093, ptr noundef nonnull @.str.47, ptr noundef nonnull @.str.1, i32 noundef 206, ptr noundef %2096, ptr noundef %2098, ptr noundef %2100, i32 noundef %2101) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2103:                                             ; preds = %2069
  %2104 = load i32, ptr @test_count, align 4, !tbaa !5
  %2105 = add nsw i32 %2104, 1
  store i32 %2105, ptr @test_count, align 4, !tbaa !5
  %2106 = load ptr, ptr %24, align 8, !tbaa !9
  %2107 = call i32 @s2n_renegotiate_wipe(ptr noundef %2106) #12
  %2108 = icmp eq i32 %2107, -1
  br i1 %2108, label %2109, label %2133

2109:                                             ; preds = %2103
  %2110 = tail call ptr @__errno_location() #13
  %2111 = load i32, ptr %2110, align 4, !tbaa !5
  %2112 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2113 = call i32 @s2n_print_stacktrace(ptr noundef %2112) #12
  %2114 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2115 = trunc nuw i8 %2114 to i1
  br i1 %2115, label %2116, label %2120

2116:                                             ; preds = %2109
  %2117 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2118 = call i32 @fileno(ptr noundef %2117) #12
  %2119 = call i32 @isatty(i32 noundef %2118) #12
  %.not828 = icmp eq i32 %2119, 0
  br i1 %.not828, label %2120, label %2121

2120:                                             ; preds = %2116, %2109
  br label %2121

2121:                                             ; preds = %2116, %2120
  %.str.5.sink1696 = phi ptr [ @.str.5, %2120 ], [ @.str.2, %2116 ]
  store i32 %2111, ptr %2110, align 4, !tbaa !5
  %2122 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2123 = load i32, ptr @test_count, align 4, !tbaa !5
  %2124 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2125 = load i32, ptr %2124, align 4, !tbaa !5
  %2126 = call ptr @s2n_strerror(i32 noundef %2125, ptr noundef nonnull @.str.4) #12
  %2127 = load i32, ptr %2124, align 4, !tbaa !5
  %2128 = call ptr @s2n_strerror_debug(i32 noundef %2127, ptr noundef nonnull @.str.4) #12
  %2129 = load i32, ptr %2110, align 4, !tbaa !5
  %2130 = call ptr @strerror(i32 noundef %2129) #12
  %2131 = load i32, ptr %2110, align 4, !tbaa !5
  %2132 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2122, ptr noundef nonnull %.str.5.sink1696, i32 noundef %2123, ptr noundef nonnull @.str.33, ptr noundef nonnull @.str.1, i32 noundef 208, ptr noundef %2126, ptr noundef %2128, ptr noundef %2130, i32 noundef %2131) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2133:                                             ; preds = %2103
  %2134 = load i32, ptr @test_count, align 4, !tbaa !5
  %2135 = add nsw i32 %2134, 1
  store i32 %2135, ptr @test_count, align 4, !tbaa !5
  %2136 = load ptr, ptr %24, align 8, !tbaa !9
  %2137 = getelementptr inbounds i8, ptr %2136, i64 2208
  %2138 = load i16, ptr %2137, align 8, !tbaa !45
  %2139 = icmp eq i16 %2138, 5
  br i1 %2139, label %2164, label %2140

2140:                                             ; preds = %2133
  %2141 = tail call ptr @__errno_location() #13
  %2142 = load i32, ptr %2141, align 4, !tbaa !5
  %2143 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2144 = call i32 @s2n_print_stacktrace(ptr noundef %2143) #12
  %2145 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2146 = trunc nuw i8 %2145 to i1
  br i1 %2146, label %2147, label %2151

2147:                                             ; preds = %2140
  %2148 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2149 = call i32 @fileno(ptr noundef %2148) #12
  %2150 = call i32 @isatty(i32 noundef %2149) #12
  %.not631 = icmp eq i32 %2150, 0
  br i1 %.not631, label %2151, label %2152

2151:                                             ; preds = %2147, %2140
  br label %2152

2152:                                             ; preds = %2147, %2151
  %.str.5.sink1707 = phi ptr [ @.str.5, %2151 ], [ @.str.2, %2147 ]
  store i32 %2142, ptr %2141, align 4, !tbaa !5
  %2153 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2154 = load i32, ptr @test_count, align 4, !tbaa !5
  %2155 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2156 = load i32, ptr %2155, align 4, !tbaa !5
  %2157 = call ptr @s2n_strerror(i32 noundef %2156, ptr noundef nonnull @.str.4) #12
  %2158 = load i32, ptr %2155, align 4, !tbaa !5
  %2159 = call ptr @s2n_strerror_debug(i32 noundef %2158, ptr noundef nonnull @.str.4) #12
  %2160 = load i32, ptr %2141, align 4, !tbaa !5
  %2161 = call ptr @strerror(i32 noundef %2160) #12
  %2162 = load i32, ptr %2141, align 4, !tbaa !5
  %2163 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2153, ptr noundef nonnull %.str.5.sink1707, i32 noundef %2154, ptr noundef nonnull @.str.49, ptr noundef nonnull @.str.1, i32 noundef 209, ptr noundef %2157, ptr noundef %2159, ptr noundef %2161, i32 noundef %2162) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2164:                                             ; preds = %2133
  %2165 = add nsw i32 %2134, 2
  store i32 %2165, ptr @test_count, align 4, !tbaa !5
  %2166 = call i64 @s2n_send(ptr noundef nonnull %2136, ptr noundef nonnull %7, i64 noundef 20, ptr noundef nonnull %9) #12
  %2167 = icmp eq i64 %2166, 20
  br i1 %2167, label %2192, label %2168

2168:                                             ; preds = %2164
  %2169 = tail call ptr @__errno_location() #13
  %2170 = load i32, ptr %2169, align 4, !tbaa !5
  %2171 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2172 = call i32 @s2n_print_stacktrace(ptr noundef %2171) #12
  %2173 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2174 = trunc nuw i8 %2173 to i1
  br i1 %2174, label %2175, label %2179

2175:                                             ; preds = %2168
  %2176 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2177 = call i32 @fileno(ptr noundef %2176) #12
  %2178 = call i32 @isatty(i32 noundef %2177) #12
  %.not632 = icmp eq i32 %2178, 0
  br i1 %.not632, label %2179, label %2180

2179:                                             ; preds = %2175, %2168
  br label %2180

2180:                                             ; preds = %2175, %2179
  %.str.5.sink1718 = phi ptr [ @.str.5, %2179 ], [ @.str.2, %2175 ]
  store i32 %2170, ptr %2169, align 4, !tbaa !5
  %2181 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2182 = load i32, ptr @test_count, align 4, !tbaa !5
  %2183 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2184 = load i32, ptr %2183, align 4, !tbaa !5
  %2185 = call ptr @s2n_strerror(i32 noundef %2184, ptr noundef nonnull @.str.4) #12
  %2186 = load i32, ptr %2183, align 4, !tbaa !5
  %2187 = call ptr @s2n_strerror_debug(i32 noundef %2186, ptr noundef nonnull @.str.4) #12
  %2188 = load i32, ptr %2169, align 4, !tbaa !5
  %2189 = call ptr @strerror(i32 noundef %2188) #12
  %2190 = load i32, ptr %2169, align 4, !tbaa !5
  %2191 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2181, ptr noundef nonnull %.str.5.sink1718, i32 noundef %2182, ptr noundef nonnull @.str.46, ptr noundef nonnull @.str.1, i32 noundef 211, ptr noundef %2185, ptr noundef %2187, ptr noundef %2189, i32 noundef %2190) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2192:                                             ; preds = %2164
  %2193 = load i32, ptr %2070, align 4, !tbaa !43
  %2194 = load i32, ptr %2072, align 8, !tbaa !44
  %2195 = sub i32 %2193, %2194
  %2196 = load i32, ptr @test_count, align 4, !tbaa !5
  %2197 = add nsw i32 %2196, 1
  store i32 %2197, ptr @test_count, align 4, !tbaa !5
  %2198 = icmp eq i32 %2074, %2195
  br i1 %2198, label %2223, label %2199

2199:                                             ; preds = %2192
  %2200 = tail call ptr @__errno_location() #13
  %2201 = load i32, ptr %2200, align 4, !tbaa !5
  %2202 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2203 = call i32 @s2n_print_stacktrace(ptr noundef %2202) #12
  %2204 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2205 = trunc nuw i8 %2204 to i1
  br i1 %2205, label %2206, label %2210

2206:                                             ; preds = %2199
  %2207 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2208 = call i32 @fileno(ptr noundef %2207) #12
  %2209 = call i32 @isatty(i32 noundef %2208) #12
  %.not633 = icmp eq i32 %2209, 0
  br i1 %.not633, label %2210, label %2211

2210:                                             ; preds = %2206, %2199
  br label %2211

2211:                                             ; preds = %2206, %2210
  %.str.5.sink1729 = phi ptr [ @.str.5, %2210 ], [ @.str.2, %2206 ]
  store i32 %2201, ptr %2200, align 4, !tbaa !5
  %2212 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2213 = load i32, ptr @test_count, align 4, !tbaa !5
  %2214 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2215 = load i32, ptr %2214, align 4, !tbaa !5
  %2216 = call ptr @s2n_strerror(i32 noundef %2215, ptr noundef nonnull @.str.4) #12
  %2217 = load i32, ptr %2214, align 4, !tbaa !5
  %2218 = call ptr @s2n_strerror_debug(i32 noundef %2217, ptr noundef nonnull @.str.4) #12
  %2219 = load i32, ptr %2200, align 4, !tbaa !5
  %2220 = call ptr @strerror(i32 noundef %2219) #12
  %2221 = load i32, ptr %2200, align 4, !tbaa !5
  %2222 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2212, ptr noundef nonnull %.str.5.sink1729, i32 noundef %2213, ptr noundef nonnull @.str.48, ptr noundef nonnull @.str.1, i32 noundef 213, ptr noundef %2216, ptr noundef %2218, ptr noundef %2220, i32 noundef %2221) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2223:                                             ; preds = %2192
  %2224 = call i32 @s2n_stuffer_free(ptr noundef nonnull %26) #12
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %26) #12
  %2225 = call i32 @s2n_stuffer_free(ptr noundef nonnull %25) #12
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %25) #12
  %2226 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %24) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %24) #12
  %2227 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %23) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %23) #12
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %27) #12
  %2228 = call ptr @s2n_connection_new(i32 noundef 0) #12
  store ptr %2228, ptr %27, align 8, !tbaa !9
  %2229 = load i32, ptr @test_count, align 4, !tbaa !5
  %2230 = add nsw i32 %2229, 1
  store i32 %2230, ptr @test_count, align 4, !tbaa !5
  %2231 = icmp eq ptr %2228, null
  br i1 %2231, label %2232, label %2256

2232:                                             ; preds = %2223
  %2233 = tail call ptr @__errno_location() #13
  %2234 = load i32, ptr %2233, align 4, !tbaa !5
  %2235 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2236 = call i32 @s2n_print_stacktrace(ptr noundef %2235) #12
  %2237 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2238 = trunc nuw i8 %2237 to i1
  br i1 %2238, label %2239, label %2243

2239:                                             ; preds = %2232
  %2240 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2241 = call i32 @fileno(ptr noundef %2240) #12
  %2242 = call i32 @isatty(i32 noundef %2241) #12
  %.not827 = icmp eq i32 %2242, 0
  br i1 %.not827, label %2243, label %2244

2243:                                             ; preds = %2239, %2232
  br label %2244

2244:                                             ; preds = %2239, %2243
  %.str.5.sink1740 = phi ptr [ @.str.5, %2243 ], [ @.str.2, %2239 ]
  store i32 %2234, ptr %2233, align 4, !tbaa !5
  %2245 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2246 = load i32, ptr @test_count, align 4, !tbaa !5
  %2247 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2248 = load i32, ptr %2247, align 4, !tbaa !5
  %2249 = call ptr @s2n_strerror(i32 noundef %2248, ptr noundef nonnull @.str.4) #12
  %2250 = load i32, ptr %2247, align 4, !tbaa !5
  %2251 = call ptr @s2n_strerror_debug(i32 noundef %2250, ptr noundef nonnull @.str.4) #12
  %2252 = load i32, ptr %2233, align 4, !tbaa !5
  %2253 = call ptr @strerror(i32 noundef %2252) #12
  %2254 = load i32, ptr %2233, align 4, !tbaa !5
  %2255 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2245, ptr noundef nonnull %.str.5.sink1740, i32 noundef %2246, ptr noundef nonnull @.str.21, ptr noundef nonnull @.str.1, i32 noundef 219, ptr noundef %2249, ptr noundef %2251, ptr noundef %2253, i32 noundef %2254) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2256:                                             ; preds = %2223
  %2257 = add nsw i32 %2229, 2
  store i32 %2257, ptr @test_count, align 4, !tbaa !5
  %2258 = call i32 @s2n_connection_set_config(ptr noundef nonnull %2228, ptr noundef nonnull %240) #12
  %2259 = icmp eq i32 %2258, -1
  br i1 %2259, label %2260, label %2284

2260:                                             ; preds = %2256
  %2261 = tail call ptr @__errno_location() #13
  %2262 = load i32, ptr %2261, align 4, !tbaa !5
  %2263 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2264 = call i32 @s2n_print_stacktrace(ptr noundef %2263) #12
  %2265 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2266 = trunc nuw i8 %2265 to i1
  br i1 %2266, label %2267, label %2271

2267:                                             ; preds = %2260
  %2268 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2269 = call i32 @fileno(ptr noundef %2268) #12
  %2270 = call i32 @isatty(i32 noundef %2269) #12
  %.not826 = icmp eq i32 %2270, 0
  br i1 %.not826, label %2271, label %2272

2271:                                             ; preds = %2267, %2260
  br label %2272

2272:                                             ; preds = %2267, %2271
  %.str.5.sink1751 = phi ptr [ @.str.5, %2271 ], [ @.str.2, %2267 ]
  store i32 %2262, ptr %2261, align 4, !tbaa !5
  %2273 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2274 = load i32, ptr @test_count, align 4, !tbaa !5
  %2275 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2276 = load i32, ptr %2275, align 4, !tbaa !5
  %2277 = call ptr @s2n_strerror(i32 noundef %2276, ptr noundef nonnull @.str.4) #12
  %2278 = load i32, ptr %2275, align 4, !tbaa !5
  %2279 = call ptr @s2n_strerror_debug(i32 noundef %2278, ptr noundef nonnull @.str.4) #12
  %2280 = load i32, ptr %2261, align 4, !tbaa !5
  %2281 = call ptr @strerror(i32 noundef %2280) #12
  %2282 = load i32, ptr %2261, align 4, !tbaa !5
  %2283 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2273, ptr noundef nonnull %.str.5.sink1751, i32 noundef %2274, ptr noundef nonnull @.str.22, ptr noundef nonnull @.str.1, i32 noundef 220, ptr noundef %2277, ptr noundef %2279, ptr noundef %2281, i32 noundef %2282) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2284:                                             ; preds = %2256
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %28) #12
  %2285 = call ptr @s2n_connection_new(i32 noundef 1) #12
  store ptr %2285, ptr %28, align 8, !tbaa !9
  %2286 = load i32, ptr @test_count, align 4, !tbaa !5
  %2287 = add nsw i32 %2286, 1
  store i32 %2287, ptr @test_count, align 4, !tbaa !5
  %2288 = icmp eq ptr %2285, null
  br i1 %2288, label %2289, label %2313

2289:                                             ; preds = %2284
  %2290 = tail call ptr @__errno_location() #13
  %2291 = load i32, ptr %2290, align 4, !tbaa !5
  %2292 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2293 = call i32 @s2n_print_stacktrace(ptr noundef %2292) #12
  %2294 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2295 = trunc nuw i8 %2294 to i1
  br i1 %2295, label %2296, label %2300

2296:                                             ; preds = %2289
  %2297 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2298 = call i32 @fileno(ptr noundef %2297) #12
  %2299 = call i32 @isatty(i32 noundef %2298) #12
  %.not825 = icmp eq i32 %2299, 0
  br i1 %.not825, label %2300, label %2301

2300:                                             ; preds = %2296, %2289
  br label %2301

2301:                                             ; preds = %2296, %2300
  %.str.5.sink1762 = phi ptr [ @.str.5, %2300 ], [ @.str.2, %2296 ]
  store i32 %2291, ptr %2290, align 4, !tbaa !5
  %2302 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2303 = load i32, ptr @test_count, align 4, !tbaa !5
  %2304 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2305 = load i32, ptr %2304, align 4, !tbaa !5
  %2306 = call ptr @s2n_strerror(i32 noundef %2305, ptr noundef nonnull @.str.4) #12
  %2307 = load i32, ptr %2304, align 4, !tbaa !5
  %2308 = call ptr @s2n_strerror_debug(i32 noundef %2307, ptr noundef nonnull @.str.4) #12
  %2309 = load i32, ptr %2290, align 4, !tbaa !5
  %2310 = call ptr @strerror(i32 noundef %2309) #12
  %2311 = load i32, ptr %2290, align 4, !tbaa !5
  %2312 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2302, ptr noundef nonnull %.str.5.sink1762, i32 noundef %2303, ptr noundef nonnull @.str.23, ptr noundef nonnull @.str.1, i32 noundef 223, ptr noundef %2306, ptr noundef %2308, ptr noundef %2310, i32 noundef %2311) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2313:                                             ; preds = %2284
  %2314 = add nsw i32 %2286, 2
  store i32 %2314, ptr @test_count, align 4, !tbaa !5
  %2315 = call i32 @s2n_connection_set_config(ptr noundef nonnull %2285, ptr noundef nonnull %240) #12
  %2316 = icmp eq i32 %2315, -1
  br i1 %2316, label %2317, label %2341

2317:                                             ; preds = %2313
  %2318 = tail call ptr @__errno_location() #13
  %2319 = load i32, ptr %2318, align 4, !tbaa !5
  %2320 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2321 = call i32 @s2n_print_stacktrace(ptr noundef %2320) #12
  %2322 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2323 = trunc nuw i8 %2322 to i1
  br i1 %2323, label %2324, label %2328

2324:                                             ; preds = %2317
  %2325 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2326 = call i32 @fileno(ptr noundef %2325) #12
  %2327 = call i32 @isatty(i32 noundef %2326) #12
  %.not824 = icmp eq i32 %2327, 0
  br i1 %.not824, label %2328, label %2329

2328:                                             ; preds = %2324, %2317
  br label %2329

2329:                                             ; preds = %2324, %2328
  %.str.5.sink1773 = phi ptr [ @.str.5, %2328 ], [ @.str.2, %2324 ]
  store i32 %2319, ptr %2318, align 4, !tbaa !5
  %2330 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2331 = load i32, ptr @test_count, align 4, !tbaa !5
  %2332 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2333 = load i32, ptr %2332, align 4, !tbaa !5
  %2334 = call ptr @s2n_strerror(i32 noundef %2333, ptr noundef nonnull @.str.4) #12
  %2335 = load i32, ptr %2332, align 4, !tbaa !5
  %2336 = call ptr @s2n_strerror_debug(i32 noundef %2335, ptr noundef nonnull @.str.4) #12
  %2337 = load i32, ptr %2318, align 4, !tbaa !5
  %2338 = call ptr @strerror(i32 noundef %2337) #12
  %2339 = load i32, ptr %2318, align 4, !tbaa !5
  %2340 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2330, ptr noundef nonnull %.str.5.sink1773, i32 noundef %2331, ptr noundef nonnull @.str.24, ptr noundef nonnull @.str.1, i32 noundef 224, ptr noundef %2334, ptr noundef %2336, ptr noundef %2338, i32 noundef %2339) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2341:                                             ; preds = %2313
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %29) #12
  store i64 0, ptr %29, align 8
  %2342 = load i32, ptr @test_count, align 4, !tbaa !5
  %2343 = add nsw i32 %2342, 1
  store i32 %2343, ptr @test_count, align 4, !tbaa !5
  %2344 = call i32 @s2n_io_pair_init_non_blocking(ptr noundef nonnull %29) #12
  %2345 = icmp eq i32 %2344, -1
  br i1 %2345, label %2346, label %2370

2346:                                             ; preds = %2341
  %2347 = tail call ptr @__errno_location() #13
  %2348 = load i32, ptr %2347, align 4, !tbaa !5
  %2349 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2350 = call i32 @s2n_print_stacktrace(ptr noundef %2349) #12
  %2351 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2352 = trunc nuw i8 %2351 to i1
  br i1 %2352, label %2353, label %2357

2353:                                             ; preds = %2346
  %2354 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2355 = call i32 @fileno(ptr noundef %2354) #12
  %2356 = call i32 @isatty(i32 noundef %2355) #12
  %.not823 = icmp eq i32 %2356, 0
  br i1 %.not823, label %2357, label %2358

2357:                                             ; preds = %2353, %2346
  br label %2358

2358:                                             ; preds = %2353, %2357
  %.str.5.sink1784 = phi ptr [ @.str.5, %2357 ], [ @.str.2, %2353 ]
  store i32 %2348, ptr %2347, align 4, !tbaa !5
  %2359 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2360 = load i32, ptr @test_count, align 4, !tbaa !5
  %2361 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2362 = load i32, ptr %2361, align 4, !tbaa !5
  %2363 = call ptr @s2n_strerror(i32 noundef %2362, ptr noundef nonnull @.str.4) #12
  %2364 = load i32, ptr %2361, align 4, !tbaa !5
  %2365 = call ptr @s2n_strerror_debug(i32 noundef %2364, ptr noundef nonnull @.str.4) #12
  %2366 = load i32, ptr %2347, align 4, !tbaa !5
  %2367 = call ptr @strerror(i32 noundef %2366) #12
  %2368 = load i32, ptr %2347, align 4, !tbaa !5
  %2369 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2359, ptr noundef nonnull %.str.5.sink1784, i32 noundef %2360, ptr noundef nonnull @.str.25, ptr noundef nonnull @.str.1, i32 noundef 227, ptr noundef %2363, ptr noundef %2365, ptr noundef %2367, i32 noundef %2368) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2370:                                             ; preds = %2341
  %2371 = load i32, ptr @test_count, align 4, !tbaa !5
  %2372 = add nsw i32 %2371, 1
  store i32 %2372, ptr @test_count, align 4, !tbaa !5
  %2373 = load ptr, ptr %28, align 8, !tbaa !9
  %2374 = call i32 @s2n_connection_set_io_pair(ptr noundef %2373, ptr noundef nonnull %29) #12
  %2375 = icmp eq i32 %2374, -1
  br i1 %2375, label %2376, label %2400

2376:                                             ; preds = %2370
  %2377 = tail call ptr @__errno_location() #13
  %2378 = load i32, ptr %2377, align 4, !tbaa !5
  %2379 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2380 = call i32 @s2n_print_stacktrace(ptr noundef %2379) #12
  %2381 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2382 = trunc nuw i8 %2381 to i1
  br i1 %2382, label %2383, label %2387

2383:                                             ; preds = %2376
  %2384 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2385 = call i32 @fileno(ptr noundef %2384) #12
  %2386 = call i32 @isatty(i32 noundef %2385) #12
  %.not822 = icmp eq i32 %2386, 0
  br i1 %.not822, label %2387, label %2388

2387:                                             ; preds = %2383, %2376
  br label %2388

2388:                                             ; preds = %2383, %2387
  %.str.5.sink1795 = phi ptr [ @.str.5, %2387 ], [ @.str.2, %2383 ]
  store i32 %2378, ptr %2377, align 4, !tbaa !5
  %2389 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2390 = load i32, ptr @test_count, align 4, !tbaa !5
  %2391 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2392 = load i32, ptr %2391, align 4, !tbaa !5
  %2393 = call ptr @s2n_strerror(i32 noundef %2392, ptr noundef nonnull @.str.4) #12
  %2394 = load i32, ptr %2391, align 4, !tbaa !5
  %2395 = call ptr @s2n_strerror_debug(i32 noundef %2394, ptr noundef nonnull @.str.4) #12
  %2396 = load i32, ptr %2377, align 4, !tbaa !5
  %2397 = call ptr @strerror(i32 noundef %2396) #12
  %2398 = load i32, ptr %2377, align 4, !tbaa !5
  %2399 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2389, ptr noundef nonnull %.str.5.sink1795, i32 noundef %2390, ptr noundef nonnull @.str.26, ptr noundef nonnull @.str.1, i32 noundef 228, ptr noundef %2393, ptr noundef %2395, ptr noundef %2397, i32 noundef %2398) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2400:                                             ; preds = %2370
  %2401 = load i32, ptr @test_count, align 4, !tbaa !5
  %2402 = add nsw i32 %2401, 1
  store i32 %2402, ptr @test_count, align 4, !tbaa !5
  %2403 = load ptr, ptr %27, align 8, !tbaa !9
  %2404 = call i32 @s2n_connection_set_io_pair(ptr noundef %2403, ptr noundef nonnull %29) #12
  %2405 = icmp eq i32 %2404, -1
  br i1 %2405, label %2406, label %2430

2406:                                             ; preds = %2400
  %2407 = tail call ptr @__errno_location() #13
  %2408 = load i32, ptr %2407, align 4, !tbaa !5
  %2409 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2410 = call i32 @s2n_print_stacktrace(ptr noundef %2409) #12
  %2411 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2412 = trunc nuw i8 %2411 to i1
  br i1 %2412, label %2413, label %2417

2413:                                             ; preds = %2406
  %2414 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2415 = call i32 @fileno(ptr noundef %2414) #12
  %2416 = call i32 @isatty(i32 noundef %2415) #12
  %.not821 = icmp eq i32 %2416, 0
  br i1 %.not821, label %2417, label %2418

2417:                                             ; preds = %2413, %2406
  br label %2418

2418:                                             ; preds = %2413, %2417
  %.str.5.sink1806 = phi ptr [ @.str.5, %2417 ], [ @.str.2, %2413 ]
  store i32 %2408, ptr %2407, align 4, !tbaa !5
  %2419 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2420 = load i32, ptr @test_count, align 4, !tbaa !5
  %2421 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2422 = load i32, ptr %2421, align 4, !tbaa !5
  %2423 = call ptr @s2n_strerror(i32 noundef %2422, ptr noundef nonnull @.str.4) #12
  %2424 = load i32, ptr %2421, align 4, !tbaa !5
  %2425 = call ptr @s2n_strerror_debug(i32 noundef %2424, ptr noundef nonnull @.str.4) #12
  %2426 = load i32, ptr %2407, align 4, !tbaa !5
  %2427 = call ptr @strerror(i32 noundef %2426) #12
  %2428 = load i32, ptr %2407, align 4, !tbaa !5
  %2429 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2419, ptr noundef nonnull %.str.5.sink1806, i32 noundef %2420, ptr noundef nonnull @.str.27, ptr noundef nonnull @.str.1, i32 noundef 229, ptr noundef %2423, ptr noundef %2425, ptr noundef %2427, i32 noundef %2428) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2430:                                             ; preds = %2400
  %2431 = load i32, ptr @test_count, align 4, !tbaa !5
  %2432 = add nsw i32 %2431, 1
  store i32 %2432, ptr @test_count, align 4, !tbaa !5
  %2433 = load ptr, ptr %27, align 8, !tbaa !9
  %2434 = load ptr, ptr %28, align 8, !tbaa !9
  %2435 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef %2433, ptr noundef %2434) #12
  %2436 = icmp eq i32 %2435, -1
  br i1 %2436, label %2437, label %2461

2437:                                             ; preds = %2430
  %2438 = tail call ptr @__errno_location() #13
  %2439 = load i32, ptr %2438, align 4, !tbaa !5
  %2440 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2441 = call i32 @s2n_print_stacktrace(ptr noundef %2440) #12
  %2442 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2443 = trunc nuw i8 %2442 to i1
  br i1 %2443, label %2444, label %2448

2444:                                             ; preds = %2437
  %2445 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2446 = call i32 @fileno(ptr noundef %2445) #12
  %2447 = call i32 @isatty(i32 noundef %2446) #12
  %.not820 = icmp eq i32 %2447, 0
  br i1 %.not820, label %2448, label %2449

2448:                                             ; preds = %2444, %2437
  br label %2449

2449:                                             ; preds = %2444, %2448
  %.str.5.sink1817 = phi ptr [ @.str.5, %2448 ], [ @.str.2, %2444 ]
  store i32 %2439, ptr %2438, align 4, !tbaa !5
  %2450 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2451 = load i32, ptr @test_count, align 4, !tbaa !5
  %2452 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2453 = load i32, ptr %2452, align 4, !tbaa !5
  %2454 = call ptr @s2n_strerror(i32 noundef %2453, ptr noundef nonnull @.str.4) #12
  %2455 = load i32, ptr %2452, align 4, !tbaa !5
  %2456 = call ptr @s2n_strerror_debug(i32 noundef %2455, ptr noundef nonnull @.str.4) #12
  %2457 = load i32, ptr %2438, align 4, !tbaa !5
  %2458 = call ptr @strerror(i32 noundef %2457) #12
  %2459 = load i32, ptr %2438, align 4, !tbaa !5
  %2460 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2450, ptr noundef nonnull %.str.5.sink1817, i32 noundef %2451, ptr noundef nonnull @.str.32, ptr noundef nonnull @.str.1, i32 noundef 231, ptr noundef %2454, ptr noundef %2456, ptr noundef %2458, i32 noundef %2459) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2461:                                             ; preds = %2430
  %2462 = load i32, ptr @test_count, align 4, !tbaa !5
  %2463 = add nsw i32 %2462, 1
  store i32 %2463, ptr @test_count, align 4, !tbaa !5
  %2464 = load ptr, ptr %28, align 8, !tbaa !9
  %2465 = call i32 @s2n_renegotiate_wipe(ptr noundef %2464) #12
  %2466 = icmp eq i32 %2465, -1
  br i1 %2466, label %2467, label %2491

2467:                                             ; preds = %2461
  %2468 = tail call ptr @__errno_location() #13
  %2469 = load i32, ptr %2468, align 4, !tbaa !5
  %2470 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2471 = call i32 @s2n_print_stacktrace(ptr noundef %2470) #12
  %2472 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2473 = trunc nuw i8 %2472 to i1
  br i1 %2473, label %2474, label %2478

2474:                                             ; preds = %2467
  %2475 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2476 = call i32 @fileno(ptr noundef %2475) #12
  %2477 = call i32 @isatty(i32 noundef %2476) #12
  %.not819 = icmp eq i32 %2477, 0
  br i1 %.not819, label %2478, label %2479

2478:                                             ; preds = %2474, %2467
  br label %2479

2479:                                             ; preds = %2474, %2478
  %.str.5.sink1828 = phi ptr [ @.str.5, %2478 ], [ @.str.2, %2474 ]
  store i32 %2469, ptr %2468, align 4, !tbaa !5
  %2480 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2481 = load i32, ptr @test_count, align 4, !tbaa !5
  %2482 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2483 = load i32, ptr %2482, align 4, !tbaa !5
  %2484 = call ptr @s2n_strerror(i32 noundef %2483, ptr noundef nonnull @.str.4) #12
  %2485 = load i32, ptr %2482, align 4, !tbaa !5
  %2486 = call ptr @s2n_strerror_debug(i32 noundef %2485, ptr noundef nonnull @.str.4) #12
  %2487 = load i32, ptr %2468, align 4, !tbaa !5
  %2488 = call ptr @strerror(i32 noundef %2487) #12
  %2489 = load i32, ptr %2468, align 4, !tbaa !5
  %2490 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2480, ptr noundef nonnull %.str.5.sink1828, i32 noundef %2481, ptr noundef nonnull @.str.33, ptr noundef nonnull @.str.1, i32 noundef 233, ptr noundef %2484, ptr noundef %2486, ptr noundef %2488, i32 noundef %2489) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2491:                                             ; preds = %2461
  %2492 = load i32, ptr @test_count, align 4, !tbaa !5
  %2493 = add nsw i32 %2492, 1
  store i32 %2493, ptr @test_count, align 4, !tbaa !5
  %2494 = load ptr, ptr %27, align 8, !tbaa !9
  %2495 = call i32 @s2n_renegotiate_wipe(ptr noundef %2494) #12
  %2496 = icmp eq i32 %2495, -1
  br i1 %2496, label %2497, label %2521

2497:                                             ; preds = %2491
  %2498 = tail call ptr @__errno_location() #13
  %2499 = load i32, ptr %2498, align 4, !tbaa !5
  %2500 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2501 = call i32 @s2n_print_stacktrace(ptr noundef %2500) #12
  %2502 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2503 = trunc nuw i8 %2502 to i1
  br i1 %2503, label %2504, label %2508

2504:                                             ; preds = %2497
  %2505 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2506 = call i32 @fileno(ptr noundef %2505) #12
  %2507 = call i32 @isatty(i32 noundef %2506) #12
  %.not818 = icmp eq i32 %2507, 0
  br i1 %.not818, label %2508, label %2509

2508:                                             ; preds = %2504, %2497
  br label %2509

2509:                                             ; preds = %2504, %2508
  %.str.5.sink1839 = phi ptr [ @.str.5, %2508 ], [ @.str.2, %2504 ]
  store i32 %2499, ptr %2498, align 4, !tbaa !5
  %2510 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2511 = load i32, ptr @test_count, align 4, !tbaa !5
  %2512 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2513 = load i32, ptr %2512, align 4, !tbaa !5
  %2514 = call ptr @s2n_strerror(i32 noundef %2513, ptr noundef nonnull @.str.4) #12
  %2515 = load i32, ptr %2512, align 4, !tbaa !5
  %2516 = call ptr @s2n_strerror_debug(i32 noundef %2515, ptr noundef nonnull @.str.4) #12
  %2517 = load i32, ptr %2498, align 4, !tbaa !5
  %2518 = call ptr @strerror(i32 noundef %2517) #12
  %2519 = load i32, ptr %2498, align 4, !tbaa !5
  %2520 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2510, ptr noundef nonnull %.str.5.sink1839, i32 noundef %2511, ptr noundef nonnull @.str.50, ptr noundef nonnull @.str.1, i32 noundef 234, ptr noundef %2514, ptr noundef %2516, ptr noundef %2518, i32 noundef %2519) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2521:                                             ; preds = %2491
  %2522 = load i32, ptr @test_count, align 4, !tbaa !5
  %2523 = add nsw i32 %2522, 1
  store i32 %2523, ptr @test_count, align 4, !tbaa !5
  %2524 = load ptr, ptr %27, align 8, !tbaa !9
  %2525 = load ptr, ptr %28, align 8, !tbaa !9
  %2526 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef %2524, ptr noundef %2525) #12
  %2527 = icmp eq i32 %2526, -1
  br i1 %2527, label %2528, label %2552

2528:                                             ; preds = %2521
  %2529 = tail call ptr @__errno_location() #13
  %2530 = load i32, ptr %2529, align 4, !tbaa !5
  %2531 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2532 = call i32 @s2n_print_stacktrace(ptr noundef %2531) #12
  %2533 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2534 = trunc nuw i8 %2533 to i1
  br i1 %2534, label %2535, label %2539

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

2539:                                             ; preds = %2535, %2528
  br label %2540

2540:                                             ; preds = %2535, %2539
  %.str.5.sink1850 = phi ptr [ @.str.5, %2539 ], [ @.str.2, %2535 ]
  store i32 %2530, ptr %2529, align 4, !tbaa !5
  %2541 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2542 = load i32, ptr @test_count, align 4, !tbaa !5
  %2543 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2544 = load i32, ptr %2543, align 4, !tbaa !5
  %2545 = call ptr @s2n_strerror(i32 noundef %2544, ptr noundef nonnull @.str.4) #12
  %2546 = load i32, ptr %2543, align 4, !tbaa !5
  %2547 = call ptr @s2n_strerror_debug(i32 noundef %2546, ptr noundef nonnull @.str.4) #12
  %2548 = load i32, ptr %2529, align 4, !tbaa !5
  %2549 = call ptr @strerror(i32 noundef %2548) #12
  %2550 = load i32, ptr %2529, align 4, !tbaa !5
  %2551 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2541, ptr noundef nonnull %.str.5.sink1850, i32 noundef %2542, ptr noundef nonnull @.str.32, ptr noundef nonnull @.str.1, i32 noundef 236, ptr noundef %2545, ptr noundef %2547, ptr noundef %2549, i32 noundef %2550) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2552:                                             ; preds = %2521
  %2553 = call i32 @s2n_io_pair_close(ptr noundef nonnull %29) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %29) #12
  %2554 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %28) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %28) #12
  %2555 = call i32 @s2n_connection_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 %30) #12
  %2556 = call ptr @s2n_connection_new(i32 noundef 0) #12
  store ptr %2556, ptr %30, align 8, !tbaa !9
  %2557 = load i32, ptr @test_count, align 4, !tbaa !5
  %2558 = add nsw i32 %2557, 1
  store i32 %2558, ptr @test_count, align 4, !tbaa !5
  %2559 = icmp eq ptr %2556, null
  br i1 %2559, label %2560, label %2584

2560:                                             ; preds = %2552
  %2561 = tail call ptr @__errno_location() #13
  %2562 = load i32, ptr %2561, align 4, !tbaa !5
  %2563 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2564 = call i32 @s2n_print_stacktrace(ptr noundef %2563) #12
  %2565 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2566 = trunc nuw i8 %2565 to i1
  br i1 %2566, label %2567, label %2571

2567:                                             ; preds = %2560
  %2568 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2569 = call i32 @fileno(ptr noundef %2568) #12
  %2570 = call i32 @isatty(i32 noundef %2569) #12
  %.not816 = icmp eq i32 %2570, 0
  br i1 %.not816, label %2571, label %2572

2571:                                             ; preds = %2567, %2560
  br label %2572

2572:                                             ; preds = %2567, %2571
  %.str.5.sink1861 = phi ptr [ @.str.5, %2571 ], [ @.str.2, %2567 ]
  store i32 %2562, ptr %2561, align 4, !tbaa !5
  %2573 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2574 = load i32, ptr @test_count, align 4, !tbaa !5
  %2575 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2576 = load i32, ptr %2575, align 4, !tbaa !5
  %2577 = call ptr @s2n_strerror(i32 noundef %2576, ptr noundef nonnull @.str.4) #12
  %2578 = load i32, ptr %2575, align 4, !tbaa !5
  %2579 = call ptr @s2n_strerror_debug(i32 noundef %2578, ptr noundef nonnull @.str.4) #12
  %2580 = load i32, ptr %2561, align 4, !tbaa !5
  %2581 = call ptr @strerror(i32 noundef %2580) #12
  %2582 = load i32, ptr %2561, align 4, !tbaa !5
  %2583 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2573, ptr noundef nonnull %.str.5.sink1861, i32 noundef %2574, ptr noundef nonnull @.str.21, ptr noundef nonnull @.str.1, i32 noundef 242, ptr noundef %2577, ptr noundef %2579, ptr noundef %2581, i32 noundef %2582) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2584:                                             ; preds = %2552
  %2585 = add nsw i32 %2557, 2
  store i32 %2585, ptr @test_count, align 4, !tbaa !5
  %2586 = call i32 @s2n_connection_set_config(ptr noundef nonnull %2556, ptr noundef nonnull %240) #12
  %2587 = icmp eq i32 %2586, -1
  br i1 %2587, label %2588, label %2612

2588:                                             ; preds = %2584
  %2589 = tail call ptr @__errno_location() #13
  %2590 = load i32, ptr %2589, align 4, !tbaa !5
  %2591 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2592 = call i32 @s2n_print_stacktrace(ptr noundef %2591) #12
  %2593 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2594 = trunc nuw i8 %2593 to i1
  br i1 %2594, label %2595, label %2599

2595:                                             ; preds = %2588
  %2596 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2597 = call i32 @fileno(ptr noundef %2596) #12
  %2598 = call i32 @isatty(i32 noundef %2597) #12
  %.not815 = icmp eq i32 %2598, 0
  br i1 %.not815, label %2599, label %2600

2599:                                             ; preds = %2595, %2588
  br label %2600

2600:                                             ; preds = %2595, %2599
  %.str.5.sink1872 = phi ptr [ @.str.5, %2599 ], [ @.str.2, %2595 ]
  store i32 %2590, ptr %2589, align 4, !tbaa !5
  %2601 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2602 = load i32, ptr @test_count, align 4, !tbaa !5
  %2603 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2604 = load i32, ptr %2603, align 4, !tbaa !5
  %2605 = call ptr @s2n_strerror(i32 noundef %2604, ptr noundef nonnull @.str.4) #12
  %2606 = load i32, ptr %2603, align 4, !tbaa !5
  %2607 = call ptr @s2n_strerror_debug(i32 noundef %2606, ptr noundef nonnull @.str.4) #12
  %2608 = load i32, ptr %2589, align 4, !tbaa !5
  %2609 = call ptr @strerror(i32 noundef %2608) #12
  %2610 = load i32, ptr %2589, align 4, !tbaa !5
  %2611 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2601, ptr noundef nonnull %.str.5.sink1872, i32 noundef %2602, ptr noundef nonnull @.str.22, ptr noundef nonnull @.str.1, i32 noundef 243, ptr noundef %2605, ptr noundef %2607, ptr noundef %2609, i32 noundef %2610) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2612:                                             ; preds = %2584
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %31) #12
  %2613 = call ptr @s2n_connection_new(i32 noundef 1) #12
  store ptr %2613, ptr %31, align 8, !tbaa !9
  %2614 = load i32, ptr @test_count, align 4, !tbaa !5
  %2615 = add nsw i32 %2614, 1
  store i32 %2615, ptr @test_count, align 4, !tbaa !5
  %2616 = icmp eq ptr %2613, null
  br i1 %2616, label %2617, label %2641

2617:                                             ; preds = %2612
  %2618 = tail call ptr @__errno_location() #13
  %2619 = load i32, ptr %2618, align 4, !tbaa !5
  %2620 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2621 = call i32 @s2n_print_stacktrace(ptr noundef %2620) #12
  %2622 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2623 = trunc nuw i8 %2622 to i1
  br i1 %2623, label %2624, label %2628

2624:                                             ; preds = %2617
  %2625 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2626 = call i32 @fileno(ptr noundef %2625) #12
  %2627 = call i32 @isatty(i32 noundef %2626) #12
  %.not814 = icmp eq i32 %2627, 0
  br i1 %.not814, label %2628, label %2629

2628:                                             ; preds = %2624, %2617
  br label %2629

2629:                                             ; preds = %2624, %2628
  %.str.5.sink1883 = phi ptr [ @.str.5, %2628 ], [ @.str.2, %2624 ]
  store i32 %2619, ptr %2618, align 4, !tbaa !5
  %2630 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2631 = load i32, ptr @test_count, align 4, !tbaa !5
  %2632 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2633 = load i32, ptr %2632, align 4, !tbaa !5
  %2634 = call ptr @s2n_strerror(i32 noundef %2633, ptr noundef nonnull @.str.4) #12
  %2635 = load i32, ptr %2632, align 4, !tbaa !5
  %2636 = call ptr @s2n_strerror_debug(i32 noundef %2635, ptr noundef nonnull @.str.4) #12
  %2637 = load i32, ptr %2618, align 4, !tbaa !5
  %2638 = call ptr @strerror(i32 noundef %2637) #12
  %2639 = load i32, ptr %2618, align 4, !tbaa !5
  %2640 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2630, ptr noundef nonnull %.str.5.sink1883, i32 noundef %2631, ptr noundef nonnull @.str.23, ptr noundef nonnull @.str.1, i32 noundef 246, ptr noundef %2634, ptr noundef %2636, ptr noundef %2638, i32 noundef %2639) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2641:                                             ; preds = %2612
  %2642 = add nsw i32 %2614, 2
  store i32 %2642, ptr @test_count, align 4, !tbaa !5
  %2643 = call i32 @s2n_connection_set_config(ptr noundef nonnull %2613, ptr noundef nonnull %240) #12
  %2644 = icmp eq i32 %2643, -1
  br i1 %2644, label %2645, label %2669

2645:                                             ; preds = %2641
  %2646 = tail call ptr @__errno_location() #13
  %2647 = load i32, ptr %2646, align 4, !tbaa !5
  %2648 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2649 = call i32 @s2n_print_stacktrace(ptr noundef %2648) #12
  %2650 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2651 = trunc nuw i8 %2650 to i1
  br i1 %2651, label %2652, label %2656

2652:                                             ; preds = %2645
  %2653 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2654 = call i32 @fileno(ptr noundef %2653) #12
  %2655 = call i32 @isatty(i32 noundef %2654) #12
  %.not813 = icmp eq i32 %2655, 0
  br i1 %.not813, label %2656, label %2657

2656:                                             ; preds = %2652, %2645
  br label %2657

2657:                                             ; preds = %2652, %2656
  %.str.5.sink1894 = phi ptr [ @.str.5, %2656 ], [ @.str.2, %2652 ]
  store i32 %2647, ptr %2646, align 4, !tbaa !5
  %2658 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2659 = load i32, ptr @test_count, align 4, !tbaa !5
  %2660 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2661 = load i32, ptr %2660, align 4, !tbaa !5
  %2662 = call ptr @s2n_strerror(i32 noundef %2661, ptr noundef nonnull @.str.4) #12
  %2663 = load i32, ptr %2660, align 4, !tbaa !5
  %2664 = call ptr @s2n_strerror_debug(i32 noundef %2663, ptr noundef nonnull @.str.4) #12
  %2665 = load i32, ptr %2646, align 4, !tbaa !5
  %2666 = call ptr @strerror(i32 noundef %2665) #12
  %2667 = load i32, ptr %2646, align 4, !tbaa !5
  %2668 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2658, ptr noundef nonnull %.str.5.sink1894, i32 noundef %2659, ptr noundef nonnull @.str.24, ptr noundef nonnull @.str.1, i32 noundef 247, ptr noundef %2662, ptr noundef %2664, ptr noundef %2666, i32 noundef %2667) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2669:                                             ; preds = %2641
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %32) #12
  store i64 0, ptr %32, align 8
  %2670 = load i32, ptr @test_count, align 4, !tbaa !5
  %2671 = add nsw i32 %2670, 1
  store i32 %2671, ptr @test_count, align 4, !tbaa !5
  %2672 = call i32 @s2n_io_pair_init_non_blocking(ptr noundef nonnull %32) #12
  %2673 = icmp eq i32 %2672, -1
  br i1 %2673, label %2674, label %2698

2674:                                             ; preds = %2669
  %2675 = tail call ptr @__errno_location() #13
  %2676 = load i32, ptr %2675, align 4, !tbaa !5
  %2677 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2678 = call i32 @s2n_print_stacktrace(ptr noundef %2677) #12
  %2679 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2680 = trunc nuw i8 %2679 to i1
  br i1 %2680, label %2681, label %2685

2681:                                             ; preds = %2674
  %2682 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2683 = call i32 @fileno(ptr noundef %2682) #12
  %2684 = call i32 @isatty(i32 noundef %2683) #12
  %.not812 = icmp eq i32 %2684, 0
  br i1 %.not812, label %2685, label %2686

2685:                                             ; preds = %2681, %2674
  br label %2686

2686:                                             ; preds = %2681, %2685
  %.str.5.sink1905 = phi ptr [ @.str.5, %2685 ], [ @.str.2, %2681 ]
  store i32 %2676, ptr %2675, align 4, !tbaa !5
  %2687 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2688 = load i32, ptr @test_count, align 4, !tbaa !5
  %2689 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2690 = load i32, ptr %2689, align 4, !tbaa !5
  %2691 = call ptr @s2n_strerror(i32 noundef %2690, ptr noundef nonnull @.str.4) #12
  %2692 = load i32, ptr %2689, align 4, !tbaa !5
  %2693 = call ptr @s2n_strerror_debug(i32 noundef %2692, ptr noundef nonnull @.str.4) #12
  %2694 = load i32, ptr %2675, align 4, !tbaa !5
  %2695 = call ptr @strerror(i32 noundef %2694) #12
  %2696 = load i32, ptr %2675, align 4, !tbaa !5
  %2697 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2687, ptr noundef nonnull %.str.5.sink1905, i32 noundef %2688, ptr noundef nonnull @.str.25, ptr noundef nonnull @.str.1, i32 noundef 250, ptr noundef %2691, ptr noundef %2693, ptr noundef %2695, i32 noundef %2696) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2698:                                             ; preds = %2669
  %2699 = load i32, ptr @test_count, align 4, !tbaa !5
  %2700 = add nsw i32 %2699, 1
  store i32 %2700, ptr @test_count, align 4, !tbaa !5
  %2701 = load ptr, ptr %31, align 8, !tbaa !9
  %2702 = call i32 @s2n_connection_set_io_pair(ptr noundef %2701, ptr noundef nonnull %32) #12
  %2703 = icmp eq i32 %2702, -1
  br i1 %2703, label %2704, label %2728

2704:                                             ; preds = %2698
  %2705 = tail call ptr @__errno_location() #13
  %2706 = load i32, ptr %2705, align 4, !tbaa !5
  %2707 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2708 = call i32 @s2n_print_stacktrace(ptr noundef %2707) #12
  %2709 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2710 = trunc nuw i8 %2709 to i1
  br i1 %2710, label %2711, label %2715

2711:                                             ; preds = %2704
  %2712 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2713 = call i32 @fileno(ptr noundef %2712) #12
  %2714 = call i32 @isatty(i32 noundef %2713) #12
  %.not811 = icmp eq i32 %2714, 0
  br i1 %.not811, label %2715, label %2716

2715:                                             ; preds = %2711, %2704
  br label %2716

2716:                                             ; preds = %2711, %2715
  %.str.5.sink1916 = phi ptr [ @.str.5, %2715 ], [ @.str.2, %2711 ]
  store i32 %2706, ptr %2705, align 4, !tbaa !5
  %2717 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2718 = load i32, ptr @test_count, align 4, !tbaa !5
  %2719 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2720 = load i32, ptr %2719, align 4, !tbaa !5
  %2721 = call ptr @s2n_strerror(i32 noundef %2720, ptr noundef nonnull @.str.4) #12
  %2722 = load i32, ptr %2719, align 4, !tbaa !5
  %2723 = call ptr @s2n_strerror_debug(i32 noundef %2722, ptr noundef nonnull @.str.4) #12
  %2724 = load i32, ptr %2705, align 4, !tbaa !5
  %2725 = call ptr @strerror(i32 noundef %2724) #12
  %2726 = load i32, ptr %2705, align 4, !tbaa !5
  %2727 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2717, ptr noundef nonnull %.str.5.sink1916, i32 noundef %2718, ptr noundef nonnull @.str.26, ptr noundef nonnull @.str.1, i32 noundef 251, ptr noundef %2721, ptr noundef %2723, ptr noundef %2725, i32 noundef %2726) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2728:                                             ; preds = %2698
  %2729 = load i32, ptr @test_count, align 4, !tbaa !5
  %2730 = add nsw i32 %2729, 1
  store i32 %2730, ptr @test_count, align 4, !tbaa !5
  %2731 = load ptr, ptr %30, align 8, !tbaa !9
  %2732 = call i32 @s2n_connection_set_io_pair(ptr noundef %2731, ptr noundef nonnull %32) #12
  %2733 = icmp eq i32 %2732, -1
  br i1 %2733, label %2734, label %2758

2734:                                             ; preds = %2728
  %2735 = tail call ptr @__errno_location() #13
  %2736 = load i32, ptr %2735, align 4, !tbaa !5
  %2737 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2738 = call i32 @s2n_print_stacktrace(ptr noundef %2737) #12
  %2739 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2740 = trunc nuw i8 %2739 to i1
  br i1 %2740, label %2741, label %2745

2741:                                             ; preds = %2734
  %2742 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2743 = call i32 @fileno(ptr noundef %2742) #12
  %2744 = call i32 @isatty(i32 noundef %2743) #12
  %.not810 = icmp eq i32 %2744, 0
  br i1 %.not810, label %2745, label %2746

2745:                                             ; preds = %2741, %2734
  br label %2746

2746:                                             ; preds = %2741, %2745
  %.str.5.sink1927 = phi ptr [ @.str.5, %2745 ], [ @.str.2, %2741 ]
  store i32 %2736, ptr %2735, align 4, !tbaa !5
  %2747 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2748 = load i32, ptr @test_count, align 4, !tbaa !5
  %2749 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2750 = load i32, ptr %2749, align 4, !tbaa !5
  %2751 = call ptr @s2n_strerror(i32 noundef %2750, ptr noundef nonnull @.str.4) #12
  %2752 = load i32, ptr %2749, align 4, !tbaa !5
  %2753 = call ptr @s2n_strerror_debug(i32 noundef %2752, ptr noundef nonnull @.str.4) #12
  %2754 = load i32, ptr %2735, align 4, !tbaa !5
  %2755 = call ptr @strerror(i32 noundef %2754) #12
  %2756 = load i32, ptr %2735, align 4, !tbaa !5
  %2757 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2747, ptr noundef nonnull %.str.5.sink1927, i32 noundef %2748, ptr noundef nonnull @.str.27, ptr noundef nonnull @.str.1, i32 noundef 252, ptr noundef %2751, ptr noundef %2753, ptr noundef %2755, i32 noundef %2756) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2758:                                             ; preds = %2728
  %2759 = load i32, ptr @test_count, align 4, !tbaa !5
  %2760 = add nsw i32 %2759, 1
  store i32 %2760, ptr @test_count, align 4, !tbaa !5
  %2761 = load ptr, ptr %31, align 8, !tbaa !9
  %2762 = call i32 @s2n_connection_set_client_auth_type(ptr noundef %2761, i32 noundef 0) #12
  %2763 = icmp eq i32 %2762, -1
  br i1 %2763, label %2764, label %2788

2764:                                             ; preds = %2758
  %2765 = tail call ptr @__errno_location() #13
  %2766 = load i32, ptr %2765, align 4, !tbaa !5
  %2767 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2768 = call i32 @s2n_print_stacktrace(ptr noundef %2767) #12
  %2769 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2770 = trunc nuw i8 %2769 to i1
  br i1 %2770, label %2771, label %2775

2771:                                             ; preds = %2764
  %2772 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2773 = call i32 @fileno(ptr noundef %2772) #12
  %2774 = call i32 @isatty(i32 noundef %2773) #12
  %.not809 = icmp eq i32 %2774, 0
  br i1 %.not809, label %2775, label %2776

2775:                                             ; preds = %2771, %2764
  br label %2776

2776:                                             ; preds = %2771, %2775
  %.str.5.sink1938 = phi ptr [ @.str.5, %2775 ], [ @.str.2, %2771 ]
  store i32 %2766, ptr %2765, align 4, !tbaa !5
  %2777 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2778 = load i32, ptr @test_count, align 4, !tbaa !5
  %2779 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2780 = load i32, ptr %2779, align 4, !tbaa !5
  %2781 = call ptr @s2n_strerror(i32 noundef %2780, ptr noundef nonnull @.str.4) #12
  %2782 = load i32, ptr %2779, align 4, !tbaa !5
  %2783 = call ptr @s2n_strerror_debug(i32 noundef %2782, ptr noundef nonnull @.str.4) #12
  %2784 = load i32, ptr %2765, align 4, !tbaa !5
  %2785 = call ptr @strerror(i32 noundef %2784) #12
  %2786 = load i32, ptr %2765, align 4, !tbaa !5
  %2787 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2777, ptr noundef nonnull %.str.5.sink1938, i32 noundef %2778, ptr noundef nonnull @.str.51, ptr noundef nonnull @.str.1, i32 noundef 254, ptr noundef %2781, ptr noundef %2783, ptr noundef %2785, i32 noundef %2786) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2788:                                             ; preds = %2758
  %2789 = load i32, ptr @test_count, align 4, !tbaa !5
  %2790 = add nsw i32 %2789, 1
  store i32 %2790, ptr @test_count, align 4, !tbaa !5
  %2791 = load ptr, ptr %30, align 8, !tbaa !9
  %2792 = call i32 @s2n_connection_set_client_auth_type(ptr noundef %2791, i32 noundef 0) #12
  %2793 = icmp eq i32 %2792, -1
  br i1 %2793, label %2794, label %2818

2794:                                             ; preds = %2788
  %2795 = tail call ptr @__errno_location() #13
  %2796 = load i32, ptr %2795, align 4, !tbaa !5
  %2797 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2798 = call i32 @s2n_print_stacktrace(ptr noundef %2797) #12
  %2799 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2800 = trunc nuw i8 %2799 to i1
  br i1 %2800, label %2801, label %2805

2801:                                             ; preds = %2794
  %2802 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2803 = call i32 @fileno(ptr noundef %2802) #12
  %2804 = call i32 @isatty(i32 noundef %2803) #12
  %.not808 = icmp eq i32 %2804, 0
  br i1 %.not808, label %2805, label %2806

2805:                                             ; preds = %2801, %2794
  br label %2806

2806:                                             ; preds = %2801, %2805
  %.str.5.sink1949 = phi ptr [ @.str.5, %2805 ], [ @.str.2, %2801 ]
  store i32 %2796, ptr %2795, align 4, !tbaa !5
  %2807 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2808 = load i32, ptr @test_count, align 4, !tbaa !5
  %2809 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2810 = load i32, ptr %2809, align 4, !tbaa !5
  %2811 = call ptr @s2n_strerror(i32 noundef %2810, ptr noundef nonnull @.str.4) #12
  %2812 = load i32, ptr %2809, align 4, !tbaa !5
  %2813 = call ptr @s2n_strerror_debug(i32 noundef %2812, ptr noundef nonnull @.str.4) #12
  %2814 = load i32, ptr %2795, align 4, !tbaa !5
  %2815 = call ptr @strerror(i32 noundef %2814) #12
  %2816 = load i32, ptr %2795, align 4, !tbaa !5
  %2817 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2807, ptr noundef nonnull %.str.5.sink1949, i32 noundef %2808, ptr noundef nonnull @.str.52, ptr noundef nonnull @.str.1, i32 noundef 255, ptr noundef %2811, ptr noundef %2813, ptr noundef %2815, i32 noundef %2816) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2818:                                             ; preds = %2788
  %2819 = load i32, ptr @test_count, align 4, !tbaa !5
  %2820 = add nsw i32 %2819, 1
  store i32 %2820, ptr @test_count, align 4, !tbaa !5
  %2821 = load ptr, ptr %30, align 8, !tbaa !9
  %2822 = load ptr, ptr %31, align 8, !tbaa !9
  %2823 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef %2821, ptr noundef %2822) #12
  %2824 = icmp eq i32 %2823, -1
  br i1 %2824, label %2825, label %2849

2825:                                             ; preds = %2818
  %2826 = tail call ptr @__errno_location() #13
  %2827 = load i32, ptr %2826, align 4, !tbaa !5
  %2828 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2829 = call i32 @s2n_print_stacktrace(ptr noundef %2828) #12
  %2830 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2831 = trunc nuw i8 %2830 to i1
  br i1 %2831, label %2832, label %2836

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

2836:                                             ; preds = %2832, %2825
  br label %2837

2837:                                             ; preds = %2832, %2836
  %.str.5.sink1960 = phi ptr [ @.str.5, %2836 ], [ @.str.2, %2832 ]
  store i32 %2827, ptr %2826, align 4, !tbaa !5
  %2838 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2839 = load i32, ptr @test_count, align 4, !tbaa !5
  %2840 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2841 = load i32, ptr %2840, align 4, !tbaa !5
  %2842 = call ptr @s2n_strerror(i32 noundef %2841, ptr noundef nonnull @.str.4) #12
  %2843 = load i32, ptr %2840, align 4, !tbaa !5
  %2844 = call ptr @s2n_strerror_debug(i32 noundef %2843, ptr noundef nonnull @.str.4) #12
  %2845 = load i32, ptr %2826, align 4, !tbaa !5
  %2846 = call ptr @strerror(i32 noundef %2845) #12
  %2847 = load i32, ptr %2826, align 4, !tbaa !5
  %2848 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2838, ptr noundef nonnull %.str.5.sink1960, i32 noundef %2839, ptr noundef nonnull @.str.32, ptr noundef nonnull @.str.1, i32 noundef 256, ptr noundef %2842, ptr noundef %2844, ptr noundef %2846, i32 noundef %2847) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2849:                                             ; preds = %2818
  %2850 = load i32, ptr @test_count, align 4, !tbaa !5
  %2851 = add nsw i32 %2850, 1
  store i32 %2851, ptr @test_count, align 4, !tbaa !5
  %2852 = load ptr, ptr %31, align 8, !tbaa !9
  %2853 = call zeroext i1 @s2n_handshake_type_check_flag(ptr noundef %2852, i32 noundef 4) #12
  br i1 %2853, label %2854, label %2878

2854:                                             ; preds = %2849
  %2855 = tail call ptr @__errno_location() #13
  %2856 = load i32, ptr %2855, align 4, !tbaa !5
  %2857 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2858 = call i32 @s2n_print_stacktrace(ptr noundef %2857) #12
  %2859 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2860 = trunc nuw i8 %2859 to i1
  br i1 %2860, label %2861, label %2865

2861:                                             ; preds = %2854
  %2862 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2863 = call i32 @fileno(ptr noundef %2862) #12
  %2864 = call i32 @isatty(i32 noundef %2863) #12
  %.not806 = icmp eq i32 %2864, 0
  br i1 %.not806, label %2865, label %2866

2865:                                             ; preds = %2861, %2854
  br label %2866

2866:                                             ; preds = %2861, %2865
  %.str.5.sink1971 = phi ptr [ @.str.5, %2865 ], [ @.str.2, %2861 ]
  store i32 %2856, ptr %2855, align 4, !tbaa !5
  %2867 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2868 = load i32, ptr @test_count, align 4, !tbaa !5
  %2869 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2870 = load i32, ptr %2869, align 4, !tbaa !5
  %2871 = call ptr @s2n_strerror(i32 noundef %2870, ptr noundef nonnull @.str.4) #12
  %2872 = load i32, ptr %2869, align 4, !tbaa !5
  %2873 = call ptr @s2n_strerror_debug(i32 noundef %2872, ptr noundef nonnull @.str.4) #12
  %2874 = load i32, ptr %2855, align 4, !tbaa !5
  %2875 = call ptr @strerror(i32 noundef %2874) #12
  %2876 = load i32, ptr %2855, align 4, !tbaa !5
  %2877 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2867, ptr noundef nonnull %.str.5.sink1971, i32 noundef %2868, ptr noundef nonnull @.str.53, ptr noundef nonnull @.str.1, i32 noundef 257, ptr noundef %2871, ptr noundef %2873, ptr noundef %2875, i32 noundef %2876) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2878:                                             ; preds = %2849
  %2879 = load i32, ptr @test_count, align 4, !tbaa !5
  %2880 = add nsw i32 %2879, 1
  store i32 %2880, ptr @test_count, align 4, !tbaa !5
  %2881 = load ptr, ptr %30, align 8, !tbaa !9
  %2882 = call zeroext i1 @s2n_handshake_type_check_flag(ptr noundef %2881, i32 noundef 4) #12
  br i1 %2882, label %2883, label %2907

2883:                                             ; preds = %2878
  %2884 = tail call ptr @__errno_location() #13
  %2885 = load i32, ptr %2884, align 4, !tbaa !5
  %2886 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2887 = call i32 @s2n_print_stacktrace(ptr noundef %2886) #12
  %2888 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2889 = trunc nuw i8 %2888 to i1
  br i1 %2889, label %2890, label %2894

2890:                                             ; preds = %2883
  %2891 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2892 = call i32 @fileno(ptr noundef %2891) #12
  %2893 = call i32 @isatty(i32 noundef %2892) #12
  %.not805 = icmp eq i32 %2893, 0
  br i1 %.not805, label %2894, label %2895

2894:                                             ; preds = %2890, %2883
  br label %2895

2895:                                             ; preds = %2890, %2894
  %.str.5.sink1982 = phi ptr [ @.str.5, %2894 ], [ @.str.2, %2890 ]
  store i32 %2885, ptr %2884, align 4, !tbaa !5
  %2896 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2897 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %2899, ptr noundef nonnull @.str.4) #12
  %2901 = load i32, ptr %2898, align 4, !tbaa !5
  %2902 = call ptr @s2n_strerror_debug(i32 noundef %2901, ptr noundef nonnull @.str.4) #12
  %2903 = load i32, ptr %2884, align 4, !tbaa !5
  %2904 = call ptr @strerror(i32 noundef %2903) #12
  %2905 = load i32, ptr %2884, align 4, !tbaa !5
  %2906 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2896, ptr noundef nonnull %.str.5.sink1982, i32 noundef %2897, ptr noundef nonnull @.str.54, ptr noundef nonnull @.str.1, i32 noundef 258, ptr noundef %2900, ptr noundef %2902, ptr noundef %2904, i32 noundef %2905) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2907:                                             ; preds = %2878
  %2908 = load i32, ptr @test_count, align 4, !tbaa !5
  %2909 = add nsw i32 %2908, 1
  store i32 %2909, ptr @test_count, align 4, !tbaa !5
  %2910 = load ptr, ptr %31, align 8, !tbaa !9
  %2911 = call i32 @s2n_renegotiate_wipe(ptr noundef %2910) #12
  %2912 = icmp eq i32 %2911, -1
  br i1 %2912, label %2913, label %2937

2913:                                             ; preds = %2907
  %2914 = tail call ptr @__errno_location() #13
  %2915 = load i32, ptr %2914, align 4, !tbaa !5
  %2916 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2917 = call i32 @s2n_print_stacktrace(ptr noundef %2916) #12
  %2918 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2919 = trunc nuw i8 %2918 to i1
  br i1 %2919, label %2920, label %2924

2920:                                             ; preds = %2913
  %2921 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2922 = call i32 @fileno(ptr noundef %2921) #12
  %2923 = call i32 @isatty(i32 noundef %2922) #12
  %.not804 = icmp eq i32 %2923, 0
  br i1 %.not804, label %2924, label %2925

2924:                                             ; preds = %2920, %2913
  br label %2925

2925:                                             ; preds = %2920, %2924
  %.str.5.sink1993 = phi ptr [ @.str.5, %2924 ], [ @.str.2, %2920 ]
  store i32 %2915, ptr %2914, align 4, !tbaa !5
  %2926 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2927 = load i32, ptr @test_count, align 4, !tbaa !5
  %2928 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2929 = load i32, ptr %2928, align 4, !tbaa !5
  %2930 = call ptr @s2n_strerror(i32 noundef %2929, ptr noundef nonnull @.str.4) #12
  %2931 = load i32, ptr %2928, align 4, !tbaa !5
  %2932 = call ptr @s2n_strerror_debug(i32 noundef %2931, ptr noundef nonnull @.str.4) #12
  %2933 = load i32, ptr %2914, align 4, !tbaa !5
  %2934 = call ptr @strerror(i32 noundef %2933) #12
  %2935 = load i32, ptr %2914, align 4, !tbaa !5
  %2936 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2926, ptr noundef nonnull %.str.5.sink1993, i32 noundef %2927, ptr noundef nonnull @.str.33, ptr noundef nonnull @.str.1, i32 noundef 260, ptr noundef %2930, ptr noundef %2932, ptr noundef %2934, i32 noundef %2935) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2937:                                             ; preds = %2907
  %2938 = load i32, ptr @test_count, align 4, !tbaa !5
  %2939 = add nsw i32 %2938, 1
  store i32 %2939, ptr @test_count, align 4, !tbaa !5
  %2940 = load ptr, ptr %30, align 8, !tbaa !9
  %2941 = call i32 @s2n_renegotiate_wipe(ptr noundef %2940) #12
  %2942 = icmp eq i32 %2941, -1
  br i1 %2942, label %2943, label %2967

2943:                                             ; preds = %2937
  %2944 = tail call ptr @__errno_location() #13
  %2945 = load i32, ptr %2944, align 4, !tbaa !5
  %2946 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2947 = call i32 @s2n_print_stacktrace(ptr noundef %2946) #12
  %2948 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2949 = trunc nuw i8 %2948 to i1
  br i1 %2949, label %2950, label %2954

2950:                                             ; preds = %2943
  %2951 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2952 = call i32 @fileno(ptr noundef %2951) #12
  %2953 = call i32 @isatty(i32 noundef %2952) #12
  %.not803 = icmp eq i32 %2953, 0
  br i1 %.not803, label %2954, label %2955

2954:                                             ; preds = %2950, %2943
  br label %2955

2955:                                             ; preds = %2950, %2954
  %.str.5.sink2004 = phi ptr [ @.str.5, %2954 ], [ @.str.2, %2950 ]
  store i32 %2945, ptr %2944, align 4, !tbaa !5
  %2956 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2957 = load i32, ptr @test_count, align 4, !tbaa !5
  %2958 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2959 = load i32, ptr %2958, align 4, !tbaa !5
  %2960 = call ptr @s2n_strerror(i32 noundef %2959, ptr noundef nonnull @.str.4) #12
  %2961 = load i32, ptr %2958, align 4, !tbaa !5
  %2962 = call ptr @s2n_strerror_debug(i32 noundef %2961, ptr noundef nonnull @.str.4) #12
  %2963 = load i32, ptr %2944, align 4, !tbaa !5
  %2964 = call ptr @strerror(i32 noundef %2963) #12
  %2965 = load i32, ptr %2944, align 4, !tbaa !5
  %2966 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2956, ptr noundef nonnull %.str.5.sink2004, i32 noundef %2957, ptr noundef nonnull @.str.50, ptr noundef nonnull @.str.1, i32 noundef 261, ptr noundef %2960, ptr noundef %2962, ptr noundef %2964, i32 noundef %2965) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2967:                                             ; preds = %2937
  %2968 = load i32, ptr @test_count, align 4, !tbaa !5
  %2969 = add nsw i32 %2968, 1
  store i32 %2969, ptr @test_count, align 4, !tbaa !5
  %2970 = load ptr, ptr %31, align 8, !tbaa !9
  %2971 = call i32 @s2n_connection_set_client_auth_type(ptr noundef %2970, i32 noundef 1) #12
  %2972 = icmp eq i32 %2971, -1
  br i1 %2972, label %2973, label %2997

2973:                                             ; preds = %2967
  %2974 = tail call ptr @__errno_location() #13
  %2975 = load i32, ptr %2974, align 4, !tbaa !5
  %2976 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2977 = call i32 @s2n_print_stacktrace(ptr noundef %2976) #12
  %2978 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2979 = trunc nuw i8 %2978 to i1
  br i1 %2979, label %2980, label %2984

2980:                                             ; preds = %2973
  %2981 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2982 = call i32 @fileno(ptr noundef %2981) #12
  %2983 = call i32 @isatty(i32 noundef %2982) #12
  %.not802 = icmp eq i32 %2983, 0
  br i1 %.not802, label %2984, label %2985

2984:                                             ; preds = %2980, %2973
  br label %2985

2985:                                             ; preds = %2980, %2984
  %.str.5.sink2015 = phi ptr [ @.str.5, %2984 ], [ @.str.2, %2980 ]
  store i32 %2975, ptr %2974, align 4, !tbaa !5
  %2986 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2987 = load i32, ptr @test_count, align 4, !tbaa !5
  %2988 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2989 = load i32, ptr %2988, align 4, !tbaa !5
  %2990 = call ptr @s2n_strerror(i32 noundef %2989, ptr noundef nonnull @.str.4) #12
  %2991 = load i32, ptr %2988, align 4, !tbaa !5
  %2992 = call ptr @s2n_strerror_debug(i32 noundef %2991, ptr noundef nonnull @.str.4) #12
  %2993 = load i32, ptr %2974, align 4, !tbaa !5
  %2994 = call ptr @strerror(i32 noundef %2993) #12
  %2995 = load i32, ptr %2974, align 4, !tbaa !5
  %2996 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2986, ptr noundef nonnull %.str.5.sink2015, i32 noundef %2987, ptr noundef nonnull @.str.55, ptr noundef nonnull @.str.1, i32 noundef 263, ptr noundef %2990, ptr noundef %2992, ptr noundef %2994, i32 noundef %2995) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2997:                                             ; preds = %2967
  %2998 = load i32, ptr @test_count, align 4, !tbaa !5
  %2999 = add nsw i32 %2998, 1
  store i32 %2999, ptr @test_count, align 4, !tbaa !5
  %3000 = load ptr, ptr %30, align 8, !tbaa !9
  %3001 = call i32 @s2n_connection_set_client_auth_type(ptr noundef %3000, i32 noundef 1) #12
  %3002 = icmp eq i32 %3001, -1
  br i1 %3002, label %3003, label %3027

3003:                                             ; preds = %2997
  %3004 = tail call ptr @__errno_location() #13
  %3005 = load i32, ptr %3004, align 4, !tbaa !5
  %3006 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3007 = call i32 @s2n_print_stacktrace(ptr noundef %3006) #12
  %3008 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3009 = trunc nuw i8 %3008 to i1
  br i1 %3009, label %3010, label %3014

3010:                                             ; preds = %3003
  %3011 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3012 = call i32 @fileno(ptr noundef %3011) #12
  %3013 = call i32 @isatty(i32 noundef %3012) #12
  %.not801 = icmp eq i32 %3013, 0
  br i1 %.not801, label %3014, label %3015

3014:                                             ; preds = %3010, %3003
  br label %3015

3015:                                             ; preds = %3010, %3014
  %.str.5.sink2026 = phi ptr [ @.str.5, %3014 ], [ @.str.2, %3010 ]
  store i32 %3005, ptr %3004, 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 nonnull @.str.4) #12
  %3021 = load i32, ptr %3018, align 4, !tbaa !5
  %3022 = call ptr @s2n_strerror_debug(i32 noundef %3021, ptr noundef nonnull @.str.4) #12
  %3023 = load i32, ptr %3004, align 4, !tbaa !5
  %3024 = call ptr @strerror(i32 noundef %3023) #12
  %3025 = load i32, ptr %3004, align 4, !tbaa !5
  %3026 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3016, ptr noundef nonnull %.str.5.sink2026, i32 noundef %3017, ptr noundef nonnull @.str.56, ptr noundef nonnull @.str.1, i32 noundef 264, ptr noundef %3020, ptr noundef %3022, ptr noundef %3024, i32 noundef %3025) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3027:                                             ; preds = %2997
  %3028 = load i32, ptr @test_count, align 4, !tbaa !5
  %3029 = add nsw i32 %3028, 1
  store i32 %3029, ptr @test_count, align 4, !tbaa !5
  %3030 = load ptr, ptr %30, align 8, !tbaa !9
  %3031 = load ptr, ptr %31, align 8, !tbaa !9
  %3032 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef %3030, ptr noundef %3031) #12
  %3033 = icmp eq i32 %3032, -1
  br i1 %3033, label %3034, label %3058

3034:                                             ; preds = %3027
  %3035 = tail call ptr @__errno_location() #13
  %3036 = load i32, ptr %3035, align 4, !tbaa !5
  %3037 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3038 = call i32 @s2n_print_stacktrace(ptr noundef %3037) #12
  %3039 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3040 = trunc nuw i8 %3039 to i1
  br i1 %3040, label %3041, label %3045

3041:                                             ; preds = %3034
  %3042 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3043 = call i32 @fileno(ptr noundef %3042) #12
  %3044 = call i32 @isatty(i32 noundef %3043) #12
  %.not800 = icmp eq i32 %3044, 0
  br i1 %.not800, label %3045, label %3046

3045:                                             ; preds = %3041, %3034
  br label %3046

3046:                                             ; preds = %3041, %3045
  %.str.5.sink2037 = phi ptr [ @.str.5, %3045 ], [ @.str.2, %3041 ]
  store i32 %3036, ptr %3035, align 4, !tbaa !5
  %3047 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3048 = load i32, ptr @test_count, align 4, !tbaa !5
  %3049 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3050 = load i32, ptr %3049, align 4, !tbaa !5
  %3051 = call ptr @s2n_strerror(i32 noundef %3050, ptr noundef nonnull @.str.4) #12
  %3052 = load i32, ptr %3049, align 4, !tbaa !5
  %3053 = call ptr @s2n_strerror_debug(i32 noundef %3052, ptr noundef nonnull @.str.4) #12
  %3054 = load i32, ptr %3035, align 4, !tbaa !5
  %3055 = call ptr @strerror(i32 noundef %3054) #12
  %3056 = load i32, ptr %3035, align 4, !tbaa !5
  %3057 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3047, ptr noundef nonnull %.str.5.sink2037, i32 noundef %3048, ptr noundef nonnull @.str.32, ptr noundef nonnull @.str.1, i32 noundef 265, ptr noundef %3051, ptr noundef %3053, ptr noundef %3055, i32 noundef %3056) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3058:                                             ; preds = %3027
  %3059 = load i32, ptr @test_count, align 4, !tbaa !5
  %3060 = add nsw i32 %3059, 1
  store i32 %3060, ptr @test_count, align 4, !tbaa !5
  %3061 = load ptr, ptr %31, align 8, !tbaa !9
  %3062 = call zeroext i1 @s2n_handshake_type_check_flag(ptr noundef %3061, i32 noundef 4) #12
  br i1 %3062, label %3087, label %3063

3063:                                             ; preds = %3058
  %3064 = tail call ptr @__errno_location() #13
  %3065 = load i32, ptr %3064, align 4, !tbaa !5
  %3066 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3067 = call i32 @s2n_print_stacktrace(ptr noundef %3066) #12
  %3068 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3069 = trunc nuw i8 %3068 to i1
  br i1 %3069, label %3070, label %3074

3070:                                             ; preds = %3063
  %3071 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3072 = call i32 @fileno(ptr noundef %3071) #12
  %3073 = call i32 @isatty(i32 noundef %3072) #12
  %.not634 = icmp eq i32 %3073, 0
  br i1 %.not634, label %3074, label %3075

3074:                                             ; preds = %3070, %3063
  br label %3075

3075:                                             ; preds = %3070, %3074
  %.str.5.sink2048 = phi ptr [ @.str.5, %3074 ], [ @.str.2, %3070 ]
  store i32 %3065, ptr %3064, align 4, !tbaa !5
  %3076 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3077 = load i32, ptr @test_count, align 4, !tbaa !5
  %3078 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3079 = load i32, ptr %3078, align 4, !tbaa !5
  %3080 = call ptr @s2n_strerror(i32 noundef %3079, ptr noundef nonnull @.str.4) #12
  %3081 = load i32, ptr %3078, align 4, !tbaa !5
  %3082 = call ptr @s2n_strerror_debug(i32 noundef %3081, ptr noundef nonnull @.str.4) #12
  %3083 = load i32, ptr %3064, align 4, !tbaa !5
  %3084 = call ptr @strerror(i32 noundef %3083) #12
  %3085 = load i32, ptr %3064, align 4, !tbaa !5
  %3086 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3076, ptr noundef nonnull %.str.5.sink2048, i32 noundef %3077, ptr noundef nonnull @.str.57, ptr noundef nonnull @.str.1, i32 noundef 266, ptr noundef %3080, ptr noundef %3082, ptr noundef %3084, i32 noundef %3085) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3087:                                             ; preds = %3058
  %3088 = load i32, ptr @test_count, align 4, !tbaa !5
  %3089 = add nsw i32 %3088, 1
  store i32 %3089, ptr @test_count, align 4, !tbaa !5
  %3090 = load ptr, ptr %31, align 8, !tbaa !9
  %3091 = call zeroext i1 @s2n_handshake_type_check_flag(ptr noundef %3090, i32 noundef 4) #12
  br i1 %3091, label %3092, label %3119

3092:                                             ; preds = %3087
  %3093 = load ptr, ptr %31, align 8, !tbaa !9
  %3094 = call zeroext i1 @s2n_handshake_type_check_flag(ptr noundef %3093, i32 noundef 8) #12
  br i1 %3094, label %3095, label %3119

3095:                                             ; preds = %3092
  %3096 = tail call ptr @__errno_location() #13
  %3097 = load i32, ptr %3096, align 4, !tbaa !5
  %3098 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3099 = call i32 @s2n_print_stacktrace(ptr noundef %3098) #12
  %3100 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3101 = trunc nuw i8 %3100 to i1
  br i1 %3101, label %3102, label %3106

3102:                                             ; preds = %3095
  %3103 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3104 = call i32 @fileno(ptr noundef %3103) #12
  %3105 = call i32 @isatty(i32 noundef %3104) #12
  %.not799 = icmp eq i32 %3105, 0
  br i1 %.not799, label %3106, label %3107

3106:                                             ; preds = %3102, %3095
  br label %3107

3107:                                             ; preds = %3102, %3106
  %.str.5.sink2059 = phi ptr [ @.str.5, %3106 ], [ @.str.2, %3102 ]
  store i32 %3097, ptr %3096, align 4, !tbaa !5
  %3108 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3109 = load i32, ptr @test_count, align 4, !tbaa !5
  %3110 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3111 = load i32, ptr %3110, align 4, !tbaa !5
  %3112 = call ptr @s2n_strerror(i32 noundef %3111, ptr noundef nonnull @.str.4) #12
  %3113 = load i32, ptr %3110, align 4, !tbaa !5
  %3114 = call ptr @s2n_strerror_debug(i32 noundef %3113, ptr noundef nonnull @.str.4) #12
  %3115 = load i32, ptr %3096, align 4, !tbaa !5
  %3116 = call ptr @strerror(i32 noundef %3115) #12
  %3117 = load i32, ptr %3096, align 4, !tbaa !5
  %3118 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3108, ptr noundef nonnull %.str.5.sink2059, i32 noundef %3109, ptr noundef nonnull @.str.58, ptr noundef nonnull @.str.1, i32 noundef 267, ptr noundef %3112, ptr noundef %3114, ptr noundef %3116, i32 noundef %3117) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3119:                                             ; preds = %3087, %3092
  %3120 = load i32, ptr @test_count, align 4, !tbaa !5
  %3121 = add nsw i32 %3120, 1
  store i32 %3121, ptr @test_count, align 4, !tbaa !5
  %3122 = load ptr, ptr %30, align 8, !tbaa !9
  %3123 = call zeroext i1 @s2n_handshake_type_check_flag(ptr noundef %3122, i32 noundef 4) #12
  br i1 %3123, label %3148, label %3124

3124:                                             ; preds = %3119
  %3125 = tail call ptr @__errno_location() #13
  %3126 = load i32, ptr %3125, align 4, !tbaa !5
  %3127 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3128 = call i32 @s2n_print_stacktrace(ptr noundef %3127) #12
  %3129 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3130 = trunc nuw i8 %3129 to i1
  br i1 %3130, label %3131, label %3135

3131:                                             ; preds = %3124
  %3132 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3133 = call i32 @fileno(ptr noundef %3132) #12
  %3134 = call i32 @isatty(i32 noundef %3133) #12
  %.not635 = icmp eq i32 %3134, 0
  br i1 %.not635, label %3135, label %3136

3135:                                             ; preds = %3131, %3124
  br label %3136

3136:                                             ; preds = %3131, %3135
  %.str.5.sink2070 = phi ptr [ @.str.5, %3135 ], [ @.str.2, %3131 ]
  store i32 %3126, ptr %3125, align 4, !tbaa !5
  %3137 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3138 = load i32, ptr @test_count, align 4, !tbaa !5
  %3139 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3140 = load i32, ptr %3139, align 4, !tbaa !5
  %3141 = call ptr @s2n_strerror(i32 noundef %3140, ptr noundef nonnull @.str.4) #12
  %3142 = load i32, ptr %3139, align 4, !tbaa !5
  %3143 = call ptr @s2n_strerror_debug(i32 noundef %3142, ptr noundef nonnull @.str.4) #12
  %3144 = load i32, ptr %3125, align 4, !tbaa !5
  %3145 = call ptr @strerror(i32 noundef %3144) #12
  %3146 = load i32, ptr %3125, align 4, !tbaa !5
  %3147 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3137, ptr noundef nonnull %.str.5.sink2070, i32 noundef %3138, ptr noundef nonnull @.str.59, ptr noundef nonnull @.str.1, i32 noundef 268, ptr noundef %3141, ptr noundef %3143, ptr noundef %3145, i32 noundef %3146) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3148:                                             ; preds = %3119
  %3149 = load i32, ptr @test_count, align 4, !tbaa !5
  %3150 = add nsw i32 %3149, 1
  store i32 %3150, ptr @test_count, align 4, !tbaa !5
  %3151 = load ptr, ptr %30, align 8, !tbaa !9
  %3152 = call zeroext i1 @s2n_handshake_type_check_flag(ptr noundef %3151, i32 noundef 4) #12
  br i1 %3152, label %3153, label %3180

3153:                                             ; preds = %3148
  %3154 = load ptr, ptr %30, align 8, !tbaa !9
  %3155 = call zeroext i1 @s2n_handshake_type_check_flag(ptr noundef %3154, i32 noundef 8) #12
  br i1 %3155, label %3156, label %3180

3156:                                             ; preds = %3153
  %3157 = tail call ptr @__errno_location() #13
  %3158 = load i32, ptr %3157, align 4, !tbaa !5
  %3159 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3160 = call i32 @s2n_print_stacktrace(ptr noundef %3159) #12
  %3161 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3162 = trunc nuw i8 %3161 to i1
  br i1 %3162, label %3163, label %3167

3163:                                             ; preds = %3156
  %3164 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3165 = call i32 @fileno(ptr noundef %3164) #12
  %3166 = call i32 @isatty(i32 noundef %3165) #12
  %.not798 = icmp eq i32 %3166, 0
  br i1 %.not798, label %3167, label %3168

3167:                                             ; preds = %3163, %3156
  br label %3168

3168:                                             ; preds = %3163, %3167
  %.str.5.sink2081 = phi ptr [ @.str.5, %3167 ], [ @.str.2, %3163 ]
  store i32 %3158, ptr %3157, align 4, !tbaa !5
  %3169 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3170 = load i32, ptr @test_count, align 4, !tbaa !5
  %3171 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3172 = load i32, ptr %3171, align 4, !tbaa !5
  %3173 = call ptr @s2n_strerror(i32 noundef %3172, ptr noundef nonnull @.str.4) #12
  %3174 = load i32, ptr %3171, align 4, !tbaa !5
  %3175 = call ptr @s2n_strerror_debug(i32 noundef %3174, ptr noundef nonnull @.str.4) #12
  %3176 = load i32, ptr %3157, align 4, !tbaa !5
  %3177 = call ptr @strerror(i32 noundef %3176) #12
  %3178 = load i32, ptr %3157, align 4, !tbaa !5
  %3179 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3169, ptr noundef nonnull %.str.5.sink2081, i32 noundef %3170, ptr noundef nonnull @.str.60, ptr noundef nonnull @.str.1, i32 noundef 269, ptr noundef %3173, ptr noundef %3175, ptr noundef %3177, i32 noundef %3178) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3180:                                             ; preds = %3153, %3148
  %3181 = call i32 @s2n_io_pair_close(ptr noundef nonnull %32) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %32) #12
  %3182 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %31) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %31) #12
  %3183 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %30) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %30) #12
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %33) #12
  %3184 = call ptr @s2n_config_new() #12
  store ptr %3184, ptr %33, align 8, !tbaa !9
  %3185 = load i32, ptr @test_count, align 4, !tbaa !5
  %3186 = add nsw i32 %3185, 1
  store i32 %3186, ptr @test_count, align 4, !tbaa !5
  %3187 = icmp eq ptr %3184, null
  br i1 %3187, label %3188, label %3212

3188:                                             ; preds = %3180
  %3189 = tail call ptr @__errno_location() #13
  %3190 = load i32, ptr %3189, align 4, !tbaa !5
  %3191 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3192 = call i32 @s2n_print_stacktrace(ptr noundef %3191) #12
  %3193 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3194 = trunc nuw i8 %3193 to i1
  br i1 %3194, label %3195, label %3199

3195:                                             ; preds = %3188
  %3196 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3197 = call i32 @fileno(ptr noundef %3196) #12
  %3198 = call i32 @isatty(i32 noundef %3197) #12
  %.not797 = icmp eq i32 %3198, 0
  br i1 %.not797, label %3199, label %3200

3199:                                             ; preds = %3195, %3188
  br label %3200

3200:                                             ; preds = %3195, %3199
  %.str.5.sink2092 = phi ptr [ @.str.5, %3199 ], [ @.str.2, %3195 ]
  store i32 %3190, ptr %3189, align 4, !tbaa !5
  %3201 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3202 = load i32, ptr @test_count, align 4, !tbaa !5
  %3203 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3204 = load i32, ptr %3203, align 4, !tbaa !5
  %3205 = call ptr @s2n_strerror(i32 noundef %3204, ptr noundef nonnull @.str.4) #12
  %3206 = load i32, ptr %3203, align 4, !tbaa !5
  %3207 = call ptr @s2n_strerror_debug(i32 noundef %3206, ptr noundef nonnull @.str.4) #12
  %3208 = load i32, ptr %3189, align 4, !tbaa !5
  %3209 = call ptr @strerror(i32 noundef %3208) #12
  %3210 = load i32, ptr %3189, align 4, !tbaa !5
  %3211 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3201, ptr noundef nonnull %.str.5.sink2092, i32 noundef %3202, ptr noundef nonnull @.str.61, ptr noundef nonnull @.str.1, i32 noundef 275, ptr noundef %3205, ptr noundef %3207, ptr noundef %3209, i32 noundef %3210) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3212:                                             ; preds = %3180
  %3213 = add nsw i32 %3185, 2
  store i32 %3213, ptr @test_count, align 4, !tbaa !5
  %3214 = call i32 @s2n_config_set_unsafe_for_testing(ptr noundef nonnull %3184) #12
  %3215 = icmp eq i32 %3214, -1
  br i1 %3215, label %3216, label %3240

3216:                                             ; preds = %3212
  %3217 = tail call ptr @__errno_location() #13
  %3218 = load i32, ptr %3217, align 4, !tbaa !5
  %3219 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3220 = call i32 @s2n_print_stacktrace(ptr noundef %3219) #12
  %3221 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3222 = trunc nuw i8 %3221 to i1
  br i1 %3222, label %3223, label %3227

3223:                                             ; preds = %3216
  %3224 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3225 = call i32 @fileno(ptr noundef %3224) #12
  %3226 = call i32 @isatty(i32 noundef %3225) #12
  %.not796 = icmp eq i32 %3226, 0
  br i1 %.not796, label %3227, label %3228

3227:                                             ; preds = %3223, %3216
  br label %3228

3228:                                             ; preds = %3223, %3227
  %.str.5.sink2103 = phi ptr [ @.str.5, %3227 ], [ @.str.2, %3223 ]
  store i32 %3218, ptr %3217, align 4, !tbaa !5
  %3229 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3230 = load i32, ptr @test_count, align 4, !tbaa !5
  %3231 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3232 = load i32, ptr %3231, align 4, !tbaa !5
  %3233 = call ptr @s2n_strerror(i32 noundef %3232, ptr noundef nonnull @.str.4) #12
  %3234 = load i32, ptr %3231, align 4, !tbaa !5
  %3235 = call ptr @s2n_strerror_debug(i32 noundef %3234, ptr noundef nonnull @.str.4) #12
  %3236 = load i32, ptr %3217, align 4, !tbaa !5
  %3237 = call ptr @strerror(i32 noundef %3236) #12
  %3238 = load i32, ptr %3217, align 4, !tbaa !5
  %3239 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3229, ptr noundef nonnull %.str.5.sink2103, i32 noundef %3230, ptr noundef nonnull @.str.62, ptr noundef nonnull @.str.1, i32 noundef 276, ptr noundef %3233, ptr noundef %3235, ptr noundef %3237, i32 noundef %3238) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3240:                                             ; preds = %3212
  %3241 = load i32, ptr @test_count, align 4, !tbaa !5
  %3242 = add nsw i32 %3241, 1
  store i32 %3242, ptr @test_count, align 4, !tbaa !5
  %3243 = load ptr, ptr %33, align 8, !tbaa !9
  %3244 = load ptr, ptr %3, align 8, !tbaa !9
  %3245 = call i32 @s2n_config_add_cert_chain_and_key_to_store(ptr noundef %3243, ptr noundef %3244) #12
  %3246 = icmp eq i32 %3245, -1
  br i1 %3246, label %3247, label %3271

3247:                                             ; preds = %3240
  %3248 = tail call ptr @__errno_location() #13
  %3249 = load i32, ptr %3248, align 4, !tbaa !5
  %3250 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3251 = call i32 @s2n_print_stacktrace(ptr noundef %3250) #12
  %3252 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3253 = trunc nuw i8 %3252 to i1
  br i1 %3253, label %3254, label %3258

3254:                                             ; preds = %3247
  %3255 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3256 = call i32 @fileno(ptr noundef %3255) #12
  %3257 = call i32 @isatty(i32 noundef %3256) #12
  %.not795 = icmp eq i32 %3257, 0
  br i1 %.not795, label %3258, label %3259

3258:                                             ; preds = %3254, %3247
  br label %3259

3259:                                             ; preds = %3254, %3258
  %.str.5.sink2114 = phi ptr [ @.str.5, %3258 ], [ @.str.2, %3254 ]
  store i32 %3249, ptr %3248, align 4, !tbaa !5
  %3260 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3261 = load i32, ptr @test_count, align 4, !tbaa !5
  %3262 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3263 = load i32, ptr %3262, align 4, !tbaa !5
  %3264 = call ptr @s2n_strerror(i32 noundef %3263, ptr noundef nonnull @.str.4) #12
  %3265 = load i32, ptr %3262, align 4, !tbaa !5
  %3266 = call ptr @s2n_strerror_debug(i32 noundef %3265, ptr noundef nonnull @.str.4) #12
  %3267 = load i32, ptr %3248, align 4, !tbaa !5
  %3268 = call ptr @strerror(i32 noundef %3267) #12
  %3269 = load i32, ptr %3248, align 4, !tbaa !5
  %3270 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3260, ptr noundef nonnull %.str.5.sink2114, i32 noundef %3261, ptr noundef nonnull @.str.63, ptr noundef nonnull @.str.1, i32 noundef 277, ptr noundef %3264, ptr noundef %3266, ptr noundef %3268, i32 noundef %3269) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3271:                                             ; preds = %3240
  %3272 = load i32, ptr @test_count, align 4, !tbaa !5
  %3273 = add nsw i32 %3272, 1
  store i32 %3273, ptr @test_count, align 4, !tbaa !5
  %3274 = load ptr, ptr %33, align 8, !tbaa !9
  %3275 = call i32 @s2n_config_set_cipher_preferences(ptr noundef %3274, ptr noundef nonnull @.str.19) #12
  %3276 = icmp eq i32 %3275, -1
  br i1 %3276, label %3277, label %3301

3277:                                             ; preds = %3271
  %3278 = tail call ptr @__errno_location() #13
  %3279 = load i32, ptr %3278, align 4, !tbaa !5
  %3280 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3281 = call i32 @s2n_print_stacktrace(ptr noundef %3280) #12
  %3282 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3283 = trunc nuw i8 %3282 to i1
  br i1 %3283, label %3284, label %3288

3284:                                             ; preds = %3277
  %3285 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3286 = call i32 @fileno(ptr noundef %3285) #12
  %3287 = call i32 @isatty(i32 noundef %3286) #12
  %.not794 = icmp eq i32 %3287, 0
  br i1 %.not794, label %3288, label %3289

3288:                                             ; preds = %3284, %3277
  br label %3289

3289:                                             ; preds = %3284, %3288
  %.str.5.sink2125 = phi ptr [ @.str.5, %3288 ], [ @.str.2, %3284 ]
  store i32 %3279, ptr %3278, align 4, !tbaa !5
  %3290 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3291 = load i32, ptr @test_count, align 4, !tbaa !5
  %3292 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3293 = load i32, ptr %3292, align 4, !tbaa !5
  %3294 = call ptr @s2n_strerror(i32 noundef %3293, ptr noundef nonnull @.str.4) #12
  %3295 = load i32, ptr %3292, align 4, !tbaa !5
  %3296 = call ptr @s2n_strerror_debug(i32 noundef %3295, ptr noundef nonnull @.str.4) #12
  %3297 = load i32, ptr %3278, align 4, !tbaa !5
  %3298 = call ptr @strerror(i32 noundef %3297) #12
  %3299 = load i32, ptr %3278, align 4, !tbaa !5
  %3300 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3290, ptr noundef nonnull %.str.5.sink2125, i32 noundef %3291, ptr noundef nonnull @.str.64, ptr noundef nonnull @.str.1, i32 noundef 278, ptr noundef %3294, ptr noundef %3296, ptr noundef %3298, i32 noundef %3299) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3301:                                             ; preds = %3271
  %3302 = load i32, ptr @test_count, align 4, !tbaa !5
  %3303 = add nsw i32 %3302, 1
  store i32 %3303, ptr @test_count, align 4, !tbaa !5
  %3304 = load ptr, ptr %33, align 8, !tbaa !9
  %3305 = call i32 @s2n_config_accept_max_fragment_length(ptr noundef %3304) #12
  %3306 = icmp eq i32 %3305, -1
  br i1 %3306, label %3307, label %3331

3307:                                             ; preds = %3301
  %3308 = tail call ptr @__errno_location() #13
  %3309 = load i32, ptr %3308, align 4, !tbaa !5
  %3310 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3311 = call i32 @s2n_print_stacktrace(ptr noundef %3310) #12
  %3312 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3313 = trunc nuw i8 %3312 to i1
  br i1 %3313, label %3314, label %3318

3314:                                             ; preds = %3307
  %3315 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3316 = call i32 @fileno(ptr noundef %3315) #12
  %3317 = call i32 @isatty(i32 noundef %3316) #12
  %.not793 = icmp eq i32 %3317, 0
  br i1 %.not793, label %3318, label %3319

3318:                                             ; preds = %3314, %3307
  br label %3319

3319:                                             ; preds = %3314, %3318
  %.str.5.sink2136 = phi ptr [ @.str.5, %3318 ], [ @.str.2, %3314 ]
  store i32 %3309, ptr %3308, align 4, !tbaa !5
  %3320 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3321 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %3323, ptr noundef nonnull @.str.4) #12
  %3325 = load i32, ptr %3322, align 4, !tbaa !5
  %3326 = call ptr @s2n_strerror_debug(i32 noundef %3325, ptr noundef nonnull @.str.4) #12
  %3327 = load i32, ptr %3308, align 4, !tbaa !5
  %3328 = call ptr @strerror(i32 noundef %3327) #12
  %3329 = load i32, ptr %3308, align 4, !tbaa !5
  %3330 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3320, ptr noundef nonnull %.str.5.sink2136, i32 noundef %3321, ptr noundef nonnull @.str.65, ptr noundef nonnull @.str.1, i32 noundef 279, ptr noundef %3324, ptr noundef %3326, ptr noundef %3328, i32 noundef %3329) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3331:                                             ; preds = %3301
  %3332 = load i32, ptr @test_count, align 4, !tbaa !5
  %3333 = add nsw i32 %3332, 1
  store i32 %3333, ptr @test_count, align 4, !tbaa !5
  %3334 = load ptr, ptr %33, align 8, !tbaa !9
  %3335 = call i32 @s2n_config_send_max_fragment_length(ptr noundef %3334, i32 noundef 1) #12
  %3336 = icmp eq i32 %3335, -1
  br i1 %3336, label %3337, label %3361

3337:                                             ; preds = %3331
  %3338 = tail call ptr @__errno_location() #13
  %3339 = load i32, ptr %3338, 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 = %3337
  %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
  %.not792 = icmp eq i32 %3347, 0
  br i1 %.not792, label %3348, label %3349

3348:                                             ; preds = %3344, %3337
  br label %3349

3349:                                             ; preds = %3344, %3348
  %.str.5.sink2147 = phi ptr [ @.str.5, %3348 ], [ @.str.2, %3344 ]
  store i32 %3339, ptr %3338, align 4, !tbaa !5
  %3350 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3351 = load i32, ptr @test_count, align 4, !tbaa !5
  %3352 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3353 = load i32, ptr %3352, align 4, !tbaa !5
  %3354 = call ptr @s2n_strerror(i32 noundef %3353, ptr noundef nonnull @.str.4) #12
  %3355 = load i32, ptr %3352, align 4, !tbaa !5
  %3356 = call ptr @s2n_strerror_debug(i32 noundef %3355, ptr noundef nonnull @.str.4) #12
  %3357 = load i32, ptr %3338, align 4, !tbaa !5
  %3358 = call ptr @strerror(i32 noundef %3357) #12
  %3359 = load i32, ptr %3338, align 4, !tbaa !5
  %3360 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3350, ptr noundef nonnull %.str.5.sink2147, i32 noundef %3351, ptr noundef nonnull @.str.66, ptr noundef nonnull @.str.1, i32 noundef 280, ptr noundef %3354, ptr noundef %3356, ptr noundef %3358, i32 noundef %3359) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3361:                                             ; preds = %3331
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %34) #12
  %3362 = call ptr @s2n_config_new() #12
  store ptr %3362, ptr %34, align 8, !tbaa !9
  %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 %3390

3366:                                             ; preds = %3361
  %3367 = tail call ptr @__errno_location() #13
  %3368 = load i32, ptr %3367, align 4, !tbaa !5
  %3369 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3370 = call i32 @s2n_print_stacktrace(ptr noundef %3369) #12
  %3371 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3372 = trunc nuw i8 %3371 to i1
  br i1 %3372, label %3373, label %3377

3373:                                             ; preds = %3366
  %3374 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3375 = call i32 @fileno(ptr noundef %3374) #12
  %3376 = call i32 @isatty(i32 noundef %3375) #12
  %.not791 = icmp eq i32 %3376, 0
  br i1 %.not791, label %3377, label %3378

3377:                                             ; preds = %3373, %3366
  br label %3378

3378:                                             ; preds = %3373, %3377
  %.str.5.sink2158 = phi ptr [ @.str.5, %3377 ], [ @.str.2, %3373 ]
  store i32 %3368, ptr %3367, 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 nonnull @.str.4) #12
  %3384 = load i32, ptr %3381, align 4, !tbaa !5
  %3385 = call ptr @s2n_strerror_debug(i32 noundef %3384, ptr noundef nonnull @.str.4) #12
  %3386 = load i32, ptr %3367, align 4, !tbaa !5
  %3387 = call ptr @strerror(i32 noundef %3386) #12
  %3388 = load i32, ptr %3367, align 4, !tbaa !5
  %3389 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3379, ptr noundef nonnull %.str.5.sink2158, i32 noundef %3380, ptr noundef nonnull @.str.67, ptr noundef nonnull @.str.1, i32 noundef 283, ptr noundef %3383, ptr noundef %3385, ptr noundef %3387, i32 noundef %3388) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3390:                                             ; preds = %3361
  %3391 = add nsw i32 %3363, 2
  store i32 %3391, ptr @test_count, align 4, !tbaa !5
  %3392 = call i32 @s2n_config_set_unsafe_for_testing(ptr noundef nonnull %3362) #12
  %3393 = icmp eq i32 %3392, -1
  br i1 %3393, label %3394, label %3418

3394:                                             ; preds = %3390
  %3395 = tail call ptr @__errno_location() #13
  %3396 = load i32, ptr %3395, align 4, !tbaa !5
  %3397 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3398 = call i32 @s2n_print_stacktrace(ptr noundef %3397) #12
  %3399 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3400 = trunc nuw i8 %3399 to i1
  br i1 %3400, label %3401, label %3405

3401:                                             ; preds = %3394
  %3402 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3403 = call i32 @fileno(ptr noundef %3402) #12
  %3404 = call i32 @isatty(i32 noundef %3403) #12
  %.not790 = icmp eq i32 %3404, 0
  br i1 %.not790, label %3405, label %3406

3405:                                             ; preds = %3401, %3394
  br label %3406

3406:                                             ; preds = %3401, %3405
  %.str.5.sink2169 = phi ptr [ @.str.5, %3405 ], [ @.str.2, %3401 ]
  store i32 %3396, ptr %3395, align 4, !tbaa !5
  %3407 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3408 = load i32, ptr @test_count, align 4, !tbaa !5
  %3409 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3410 = load i32, ptr %3409, align 4, !tbaa !5
  %3411 = call ptr @s2n_strerror(i32 noundef %3410, ptr noundef nonnull @.str.4) #12
  %3412 = load i32, ptr %3409, align 4, !tbaa !5
  %3413 = call ptr @s2n_strerror_debug(i32 noundef %3412, ptr noundef nonnull @.str.4) #12
  %3414 = load i32, ptr %3395, align 4, !tbaa !5
  %3415 = call ptr @strerror(i32 noundef %3414) #12
  %3416 = load i32, ptr %3395, align 4, !tbaa !5
  %3417 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3407, ptr noundef nonnull %.str.5.sink2169, i32 noundef %3408, ptr noundef nonnull @.str.68, ptr noundef nonnull @.str.1, i32 noundef 284, ptr noundef %3411, ptr noundef %3413, ptr noundef %3415, i32 noundef %3416) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3418:                                             ; preds = %3390
  %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 %34, align 8, !tbaa !9
  %3422 = load ptr, ptr %3, align 8, !tbaa !9
  %3423 = call i32 @s2n_config_add_cert_chain_and_key_to_store(ptr noundef %3421, ptr noundef %3422) #12
  %3424 = icmp eq i32 %3423, -1
  br i1 %3424, label %3425, label %3449

3425:                                             ; preds = %3418
  %3426 = tail call ptr @__errno_location() #13
  %3427 = load i32, ptr %3426, align 4, !tbaa !5
  %3428 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3429 = call i32 @s2n_print_stacktrace(ptr noundef %3428) #12
  %3430 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3431 = trunc nuw i8 %3430 to i1
  br i1 %3431, label %3432, label %3436

3432:                                             ; preds = %3425
  %3433 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3434 = call i32 @fileno(ptr noundef %3433) #12
  %3435 = call i32 @isatty(i32 noundef %3434) #12
  %.not789 = icmp eq i32 %3435, 0
  br i1 %.not789, label %3436, label %3437

3436:                                             ; preds = %3432, %3425
  br label %3437

3437:                                             ; preds = %3432, %3436
  %.str.5.sink2180 = phi ptr [ @.str.5, %3436 ], [ @.str.2, %3432 ]
  store i32 %3427, ptr %3426, align 4, !tbaa !5
  %3438 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3439 = load i32, ptr @test_count, align 4, !tbaa !5
  %3440 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3441 = load i32, ptr %3440, align 4, !tbaa !5
  %3442 = call ptr @s2n_strerror(i32 noundef %3441, ptr noundef nonnull @.str.4) #12
  %3443 = load i32, ptr %3440, align 4, !tbaa !5
  %3444 = call ptr @s2n_strerror_debug(i32 noundef %3443, ptr noundef nonnull @.str.4) #12
  %3445 = load i32, ptr %3426, align 4, !tbaa !5
  %3446 = call ptr @strerror(i32 noundef %3445) #12
  %3447 = load i32, ptr %3426, align 4, !tbaa !5
  %3448 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3438, ptr noundef nonnull %.str.5.sink2180, i32 noundef %3439, ptr noundef nonnull @.str.69, ptr noundef nonnull @.str.1, i32 noundef 285, ptr noundef %3442, ptr noundef %3444, ptr noundef %3446, i32 noundef %3447) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3449:                                             ; preds = %3418
  %3450 = load i32, ptr @test_count, align 4, !tbaa !5
  %3451 = add nsw i32 %3450, 1
  store i32 %3451, ptr @test_count, align 4, !tbaa !5
  %3452 = load ptr, ptr %34, align 8, !tbaa !9
  %3453 = call i32 @s2n_config_set_cipher_preferences(ptr noundef %3452, ptr noundef nonnull @.str.19) #12
  %3454 = icmp eq i32 %3453, -1
  br i1 %3454, label %3455, label %3479

3455:                                             ; preds = %3449
  %3456 = tail call ptr @__errno_location() #13
  %3457 = load i32, ptr %3456, align 4, !tbaa !5
  %3458 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3459 = call i32 @s2n_print_stacktrace(ptr noundef %3458) #12
  %3460 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3461 = trunc nuw i8 %3460 to i1
  br i1 %3461, label %3462, label %3466

3462:                                             ; preds = %3455
  %3463 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3464 = call i32 @fileno(ptr noundef %3463) #12
  %3465 = call i32 @isatty(i32 noundef %3464) #12
  %.not788 = icmp eq i32 %3465, 0
  br i1 %.not788, label %3466, label %3467

3466:                                             ; preds = %3462, %3455
  br label %3467

3467:                                             ; preds = %3462, %3466
  %.str.5.sink2191 = phi ptr [ @.str.5, %3466 ], [ @.str.2, %3462 ]
  store i32 %3457, ptr %3456, align 4, !tbaa !5
  %3468 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3469 = load i32, ptr @test_count, align 4, !tbaa !5
  %3470 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3471 = load i32, ptr %3470, align 4, !tbaa !5
  %3472 = call ptr @s2n_strerror(i32 noundef %3471, ptr noundef nonnull @.str.4) #12
  %3473 = load i32, ptr %3470, align 4, !tbaa !5
  %3474 = call ptr @s2n_strerror_debug(i32 noundef %3473, ptr noundef nonnull @.str.4) #12
  %3475 = load i32, ptr %3456, align 4, !tbaa !5
  %3476 = call ptr @strerror(i32 noundef %3475) #12
  %3477 = load i32, ptr %3456, align 4, !tbaa !5
  %3478 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3468, ptr noundef nonnull %.str.5.sink2191, i32 noundef %3469, ptr noundef nonnull @.str.70, ptr noundef nonnull @.str.1, i32 noundef 286, ptr noundef %3472, ptr noundef %3474, ptr noundef %3476, i32 noundef %3477) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3479:                                             ; preds = %3449
  %3480 = load i32, ptr @test_count, align 4, !tbaa !5
  %3481 = add nsw i32 %3480, 1
  store i32 %3481, ptr @test_count, align 4, !tbaa !5
  %3482 = load ptr, ptr %34, align 8, !tbaa !9
  %3483 = call i32 @s2n_config_accept_max_fragment_length(ptr noundef %3482) #12
  %3484 = icmp eq i32 %3483, -1
  br i1 %3484, label %3485, label %3509

3485:                                             ; preds = %3479
  %3486 = tail call ptr @__errno_location() #13
  %3487 = load i32, ptr %3486, align 4, !tbaa !5
  %3488 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3489 = call i32 @s2n_print_stacktrace(ptr noundef %3488) #12
  %3490 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3491 = trunc nuw i8 %3490 to i1
  br i1 %3491, label %3492, label %3496

3492:                                             ; preds = %3485
  %3493 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3494 = call i32 @fileno(ptr noundef %3493) #12
  %3495 = call i32 @isatty(i32 noundef %3494) #12
  %.not787 = icmp eq i32 %3495, 0
  br i1 %.not787, label %3496, label %3497

3496:                                             ; preds = %3492, %3485
  br label %3497

3497:                                             ; preds = %3492, %3496
  %.str.5.sink2202 = phi ptr [ @.str.5, %3496 ], [ @.str.2, %3492 ]
  store i32 %3487, ptr %3486, align 4, !tbaa !5
  %3498 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3499 = load i32, ptr @test_count, align 4, !tbaa !5
  %3500 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3501 = load i32, ptr %3500, align 4, !tbaa !5
  %3502 = call ptr @s2n_strerror(i32 noundef %3501, ptr noundef nonnull @.str.4) #12
  %3503 = load i32, ptr %3500, align 4, !tbaa !5
  %3504 = call ptr @s2n_strerror_debug(i32 noundef %3503, ptr noundef nonnull @.str.4) #12
  %3505 = load i32, ptr %3486, align 4, !tbaa !5
  %3506 = call ptr @strerror(i32 noundef %3505) #12
  %3507 = load i32, ptr %3486, align 4, !tbaa !5
  %3508 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3498, ptr noundef nonnull %.str.5.sink2202, i32 noundef %3499, ptr noundef nonnull @.str.71, ptr noundef nonnull @.str.1, i32 noundef 287, ptr noundef %3502, ptr noundef %3504, ptr noundef %3506, i32 noundef %3507) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3509:                                             ; preds = %3479
  %3510 = load i32, ptr @test_count, align 4, !tbaa !5
  %3511 = add nsw i32 %3510, 1
  store i32 %3511, ptr @test_count, align 4, !tbaa !5
  %3512 = load ptr, ptr %34, align 8, !tbaa !9
  %3513 = call i32 @s2n_config_send_max_fragment_length(ptr noundef %3512, i32 noundef 4) #12
  %3514 = icmp eq i32 %3513, -1
  br i1 %3514, label %3515, label %3539

3515:                                             ; preds = %3509
  %3516 = tail call ptr @__errno_location() #13
  %3517 = load i32, ptr %3516, align 4, !tbaa !5
  %3518 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3519 = call i32 @s2n_print_stacktrace(ptr noundef %3518) #12
  %3520 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3521 = trunc nuw i8 %3520 to i1
  br i1 %3521, label %3522, label %3526

3522:                                             ; preds = %3515
  %3523 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3524 = call i32 @fileno(ptr noundef %3523) #12
  %3525 = call i32 @isatty(i32 noundef %3524) #12
  %.not786 = icmp eq i32 %3525, 0
  br i1 %.not786, label %3526, label %3527

3526:                                             ; preds = %3522, %3515
  br label %3527

3527:                                             ; preds = %3522, %3526
  %.str.5.sink2213 = phi ptr [ @.str.5, %3526 ], [ @.str.2, %3522 ]
  store i32 %3517, ptr %3516, align 4, !tbaa !5
  %3528 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3529 = load i32, ptr @test_count, align 4, !tbaa !5
  %3530 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3531 = load i32, ptr %3530, align 4, !tbaa !5
  %3532 = call ptr @s2n_strerror(i32 noundef %3531, ptr noundef nonnull @.str.4) #12
  %3533 = load i32, ptr %3530, align 4, !tbaa !5
  %3534 = call ptr @s2n_strerror_debug(i32 noundef %3533, ptr noundef nonnull @.str.4) #12
  %3535 = load i32, ptr %3516, align 4, !tbaa !5
  %3536 = call ptr @strerror(i32 noundef %3535) #12
  %3537 = load i32, ptr %3516, align 4, !tbaa !5
  %3538 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3528, ptr noundef nonnull %.str.5.sink2213, i32 noundef %3529, ptr noundef nonnull @.str.72, ptr noundef nonnull @.str.1, i32 noundef 288, ptr noundef %3532, ptr noundef %3534, ptr noundef %3536, i32 noundef %3537) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3539:                                             ; preds = %3509
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %35) #12
  %3540 = call ptr @s2n_connection_new(i32 noundef 0) #12
  store ptr %3540, ptr %35, align 8, !tbaa !9
  %3541 = load i32, ptr @test_count, align 4, !tbaa !5
  %3542 = add nsw i32 %3541, 1
  store i32 %3542, ptr @test_count, align 4, !tbaa !5
  %3543 = icmp eq ptr %3540, null
  br i1 %3543, label %3544, label %3568

3544:                                             ; preds = %3539
  %3545 = tail call ptr @__errno_location() #13
  %3546 = load i32, ptr %3545, align 4, !tbaa !5
  %3547 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3548 = call i32 @s2n_print_stacktrace(ptr noundef %3547) #12
  %3549 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3550 = trunc nuw i8 %3549 to i1
  br i1 %3550, label %3551, label %3555

3551:                                             ; preds = %3544
  %3552 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3553 = call i32 @fileno(ptr noundef %3552) #12
  %3554 = call i32 @isatty(i32 noundef %3553) #12
  %.not785 = icmp eq i32 %3554, 0
  br i1 %.not785, label %3555, label %3556

3555:                                             ; preds = %3551, %3544
  br label %3556

3556:                                             ; preds = %3551, %3555
  %.str.5.sink2224 = phi ptr [ @.str.5, %3555 ], [ @.str.2, %3551 ]
  store i32 %3546, ptr %3545, align 4, !tbaa !5
  %3557 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3558 = load i32, ptr @test_count, align 4, !tbaa !5
  %3559 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3560 = load i32, ptr %3559, align 4, !tbaa !5
  %3561 = call ptr @s2n_strerror(i32 noundef %3560, ptr noundef nonnull @.str.4) #12
  %3562 = load i32, ptr %3559, align 4, !tbaa !5
  %3563 = call ptr @s2n_strerror_debug(i32 noundef %3562, ptr noundef nonnull @.str.4) #12
  %3564 = load i32, ptr %3545, align 4, !tbaa !5
  %3565 = call ptr @strerror(i32 noundef %3564) #12
  %3566 = load i32, ptr %3545, align 4, !tbaa !5
  %3567 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3557, ptr noundef nonnull %.str.5.sink2224, i32 noundef %3558, ptr noundef nonnull @.str.21, ptr noundef nonnull @.str.1, i32 noundef 291, ptr noundef %3561, ptr noundef %3563, ptr noundef %3565, i32 noundef %3566) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3568:                                             ; preds = %3539
  %3569 = add nsw i32 %3541, 2
  store i32 %3569, ptr @test_count, align 4, !tbaa !5
  %3570 = call i32 @s2n_connection_set_config(ptr noundef nonnull %3540, ptr noundef nonnull %240) #12
  %3571 = icmp eq i32 %3570, -1
  br i1 %3571, label %3572, label %3596

3572:                                             ; preds = %3568
  %3573 = tail call ptr @__errno_location() #13
  %3574 = load i32, ptr %3573, align 4, !tbaa !5
  %3575 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3576 = call i32 @s2n_print_stacktrace(ptr noundef %3575) #12
  %3577 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3578 = trunc nuw i8 %3577 to i1
  br i1 %3578, label %3579, label %3583

3579:                                             ; preds = %3572
  %3580 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3581 = call i32 @fileno(ptr noundef %3580) #12
  %3582 = call i32 @isatty(i32 noundef %3581) #12
  %.not784 = icmp eq i32 %3582, 0
  br i1 %.not784, label %3583, label %3584

3583:                                             ; preds = %3579, %3572
  br label %3584

3584:                                             ; preds = %3579, %3583
  %.str.5.sink2235 = phi ptr [ @.str.5, %3583 ], [ @.str.2, %3579 ]
  store i32 %3574, ptr %3573, align 4, !tbaa !5
  %3585 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3586 = load i32, ptr @test_count, align 4, !tbaa !5
  %3587 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3588 = load i32, ptr %3587, align 4, !tbaa !5
  %3589 = call ptr @s2n_strerror(i32 noundef %3588, ptr noundef nonnull @.str.4) #12
  %3590 = load i32, ptr %3587, align 4, !tbaa !5
  %3591 = call ptr @s2n_strerror_debug(i32 noundef %3590, ptr noundef nonnull @.str.4) #12
  %3592 = load i32, ptr %3573, align 4, !tbaa !5
  %3593 = call ptr @strerror(i32 noundef %3592) #12
  %3594 = load i32, ptr %3573, align 4, !tbaa !5
  %3595 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3585, ptr noundef nonnull %.str.5.sink2235, i32 noundef %3586, ptr noundef nonnull @.str.22, ptr noundef nonnull @.str.1, i32 noundef 292, ptr noundef %3589, ptr noundef %3591, ptr noundef %3593, i32 noundef %3594) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3596:                                             ; preds = %3568
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %36) #12
  %3597 = call ptr @s2n_connection_new(i32 noundef 1) #12
  store ptr %3597, ptr %36, align 8, !tbaa !9
  %3598 = load i32, ptr @test_count, align 4, !tbaa !5
  %3599 = add nsw i32 %3598, 1
  store i32 %3599, ptr @test_count, align 4, !tbaa !5
  %3600 = icmp eq ptr %3597, null
  br i1 %3600, label %3601, label %3625

3601:                                             ; preds = %3596
  %3602 = tail call ptr @__errno_location() #13
  %3603 = load i32, ptr %3602, align 4, !tbaa !5
  %3604 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3605 = call i32 @s2n_print_stacktrace(ptr noundef %3604) #12
  %3606 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3607 = trunc nuw i8 %3606 to i1
  br i1 %3607, label %3608, label %3612

3608:                                             ; preds = %3601
  %3609 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3610 = call i32 @fileno(ptr noundef %3609) #12
  %3611 = call i32 @isatty(i32 noundef %3610) #12
  %.not783 = icmp eq i32 %3611, 0
  br i1 %.not783, label %3612, label %3613

3612:                                             ; preds = %3608, %3601
  br label %3613

3613:                                             ; preds = %3608, %3612
  %.str.5.sink2246 = phi ptr [ @.str.5, %3612 ], [ @.str.2, %3608 ]
  store i32 %3603, ptr %3602, align 4, !tbaa !5
  %3614 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3615 = load i32, ptr @test_count, align 4, !tbaa !5
  %3616 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3617 = load i32, ptr %3616, align 4, !tbaa !5
  %3618 = call ptr @s2n_strerror(i32 noundef %3617, ptr noundef nonnull @.str.4) #12
  %3619 = load i32, ptr %3616, align 4, !tbaa !5
  %3620 = call ptr @s2n_strerror_debug(i32 noundef %3619, ptr noundef nonnull @.str.4) #12
  %3621 = load i32, ptr %3602, align 4, !tbaa !5
  %3622 = call ptr @strerror(i32 noundef %3621) #12
  %3623 = load i32, ptr %3602, align 4, !tbaa !5
  %3624 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3614, ptr noundef nonnull %.str.5.sink2246, i32 noundef %3615, ptr noundef nonnull @.str.23, ptr noundef nonnull @.str.1, i32 noundef 295, ptr noundef %3618, ptr noundef %3620, ptr noundef %3622, i32 noundef %3623) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3625:                                             ; preds = %3596
  %3626 = add nsw i32 %3598, 2
  store i32 %3626, ptr @test_count, align 4, !tbaa !5
  %3627 = call i32 @s2n_connection_set_config(ptr noundef nonnull %3597, ptr noundef nonnull %240) #12
  %3628 = icmp eq i32 %3627, -1
  br i1 %3628, label %3629, label %3653

3629:                                             ; preds = %3625
  %3630 = tail call ptr @__errno_location() #13
  %3631 = load i32, ptr %3630, align 4, !tbaa !5
  %3632 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3633 = call i32 @s2n_print_stacktrace(ptr noundef %3632) #12
  %3634 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3635 = trunc nuw i8 %3634 to i1
  br i1 %3635, label %3636, label %3640

3636:                                             ; preds = %3629
  %3637 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3638 = call i32 @fileno(ptr noundef %3637) #12
  %3639 = call i32 @isatty(i32 noundef %3638) #12
  %.not782 = icmp eq i32 %3639, 0
  br i1 %.not782, label %3640, label %3641

3640:                                             ; preds = %3636, %3629
  br label %3641

3641:                                             ; preds = %3636, %3640
  %.str.5.sink2257 = phi ptr [ @.str.5, %3640 ], [ @.str.2, %3636 ]
  store i32 %3631, ptr %3630, align 4, !tbaa !5
  %3642 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3643 = load i32, ptr @test_count, align 4, !tbaa !5
  %3644 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3645 = load i32, ptr %3644, align 4, !tbaa !5
  %3646 = call ptr @s2n_strerror(i32 noundef %3645, ptr noundef nonnull @.str.4) #12
  %3647 = load i32, ptr %3644, align 4, !tbaa !5
  %3648 = call ptr @s2n_strerror_debug(i32 noundef %3647, ptr noundef nonnull @.str.4) #12
  %3649 = load i32, ptr %3630, align 4, !tbaa !5
  %3650 = call ptr @strerror(i32 noundef %3649) #12
  %3651 = load i32, ptr %3630, align 4, !tbaa !5
  %3652 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3642, ptr noundef nonnull %.str.5.sink2257, i32 noundef %3643, ptr noundef nonnull @.str.24, ptr noundef nonnull @.str.1, i32 noundef 296, ptr noundef %3646, ptr noundef %3648, ptr noundef %3650, i32 noundef %3651) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3653:                                             ; preds = %3625
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %37) #12
  store i64 0, ptr %37, align 8
  %3654 = load i32, ptr @test_count, align 4, !tbaa !5
  %3655 = add nsw i32 %3654, 1
  store i32 %3655, ptr @test_count, align 4, !tbaa !5
  %3656 = call i32 @s2n_io_pair_init_non_blocking(ptr noundef nonnull %37) #12
  %3657 = icmp eq i32 %3656, -1
  br i1 %3657, label %3658, label %3682

3658:                                             ; preds = %3653
  %3659 = tail call ptr @__errno_location() #13
  %3660 = load i32, ptr %3659, align 4, !tbaa !5
  %3661 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3662 = call i32 @s2n_print_stacktrace(ptr noundef %3661) #12
  %3663 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3664 = trunc nuw i8 %3663 to i1
  br i1 %3664, label %3665, label %3669

3665:                                             ; preds = %3658
  %3666 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3667 = call i32 @fileno(ptr noundef %3666) #12
  %3668 = call i32 @isatty(i32 noundef %3667) #12
  %.not781 = icmp eq i32 %3668, 0
  br i1 %.not781, label %3669, label %3670

3669:                                             ; preds = %3665, %3658
  br label %3670

3670:                                             ; preds = %3665, %3669
  %.str.5.sink2268 = phi ptr [ @.str.5, %3669 ], [ @.str.2, %3665 ]
  store i32 %3660, ptr %3659, align 4, !tbaa !5
  %3671 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3672 = load i32, ptr @test_count, align 4, !tbaa !5
  %3673 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3674 = load i32, ptr %3673, align 4, !tbaa !5
  %3675 = call ptr @s2n_strerror(i32 noundef %3674, ptr noundef nonnull @.str.4) #12
  %3676 = load i32, ptr %3673, align 4, !tbaa !5
  %3677 = call ptr @s2n_strerror_debug(i32 noundef %3676, ptr noundef nonnull @.str.4) #12
  %3678 = load i32, ptr %3659, align 4, !tbaa !5
  %3679 = call ptr @strerror(i32 noundef %3678) #12
  %3680 = load i32, ptr %3659, align 4, !tbaa !5
  %3681 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3671, ptr noundef nonnull %.str.5.sink2268, i32 noundef %3672, ptr noundef nonnull @.str.25, ptr noundef nonnull @.str.1, i32 noundef 299, ptr noundef %3675, ptr noundef %3677, ptr noundef %3679, i32 noundef %3680) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3682:                                             ; preds = %3653
  %3683 = load i32, ptr @test_count, align 4, !tbaa !5
  %3684 = add nsw i32 %3683, 1
  store i32 %3684, ptr @test_count, align 4, !tbaa !5
  %3685 = load ptr, ptr %36, align 8, !tbaa !9
  %3686 = call i32 @s2n_connection_set_io_pair(ptr noundef %3685, ptr noundef nonnull %37) #12
  %3687 = icmp eq i32 %3686, -1
  br i1 %3687, label %3688, label %3712

3688:                                             ; preds = %3682
  %3689 = tail call ptr @__errno_location() #13
  %3690 = load i32, ptr %3689, align 4, !tbaa !5
  %3691 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3692 = call i32 @s2n_print_stacktrace(ptr noundef %3691) #12
  %3693 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3694 = trunc nuw i8 %3693 to i1
  br i1 %3694, label %3695, label %3699

3695:                                             ; preds = %3688
  %3696 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3697 = call i32 @fileno(ptr noundef %3696) #12
  %3698 = call i32 @isatty(i32 noundef %3697) #12
  %.not780 = icmp eq i32 %3698, 0
  br i1 %.not780, label %3699, label %3700

3699:                                             ; preds = %3695, %3688
  br label %3700

3700:                                             ; preds = %3695, %3699
  %.str.5.sink2279 = phi ptr [ @.str.5, %3699 ], [ @.str.2, %3695 ]
  store i32 %3690, ptr %3689, align 4, !tbaa !5
  %3701 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3702 = load i32, ptr @test_count, align 4, !tbaa !5
  %3703 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3704 = load i32, ptr %3703, align 4, !tbaa !5
  %3705 = call ptr @s2n_strerror(i32 noundef %3704, ptr noundef nonnull @.str.4) #12
  %3706 = load i32, ptr %3703, align 4, !tbaa !5
  %3707 = call ptr @s2n_strerror_debug(i32 noundef %3706, ptr noundef nonnull @.str.4) #12
  %3708 = load i32, ptr %3689, align 4, !tbaa !5
  %3709 = call ptr @strerror(i32 noundef %3708) #12
  %3710 = load i32, ptr %3689, align 4, !tbaa !5
  %3711 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3701, ptr noundef nonnull %.str.5.sink2279, i32 noundef %3702, ptr noundef nonnull @.str.26, ptr noundef nonnull @.str.1, i32 noundef 300, ptr noundef %3705, ptr noundef %3707, ptr noundef %3709, i32 noundef %3710) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3712:                                             ; preds = %3682
  %3713 = load i32, ptr @test_count, align 4, !tbaa !5
  %3714 = add nsw i32 %3713, 1
  store i32 %3714, ptr @test_count, align 4, !tbaa !5
  %3715 = load ptr, ptr %35, align 8, !tbaa !9
  %3716 = call i32 @s2n_connection_set_io_pair(ptr noundef %3715, ptr noundef nonnull %37) #12
  %3717 = icmp eq i32 %3716, -1
  br i1 %3717, label %3718, label %3742

3718:                                             ; preds = %3712
  %3719 = tail call ptr @__errno_location() #13
  %3720 = load i32, ptr %3719, align 4, !tbaa !5
  %3721 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3722 = call i32 @s2n_print_stacktrace(ptr noundef %3721) #12
  %3723 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3724 = trunc nuw i8 %3723 to i1
  br i1 %3724, label %3725, label %3729

3725:                                             ; preds = %3718
  %3726 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3727 = call i32 @fileno(ptr noundef %3726) #12
  %3728 = call i32 @isatty(i32 noundef %3727) #12
  %.not779 = icmp eq i32 %3728, 0
  br i1 %.not779, label %3729, label %3730

3729:                                             ; preds = %3725, %3718
  br label %3730

3730:                                             ; preds = %3725, %3729
  %.str.5.sink2290 = phi ptr [ @.str.5, %3729 ], [ @.str.2, %3725 ]
  store i32 %3720, ptr %3719, align 4, !tbaa !5
  %3731 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3732 = load i32, ptr @test_count, align 4, !tbaa !5
  %3733 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3734 = load i32, ptr %3733, align 4, !tbaa !5
  %3735 = call ptr @s2n_strerror(i32 noundef %3734, ptr noundef nonnull @.str.4) #12
  %3736 = load i32, ptr %3733, align 4, !tbaa !5
  %3737 = call ptr @s2n_strerror_debug(i32 noundef %3736, ptr noundef nonnull @.str.4) #12
  %3738 = load i32, ptr %3719, align 4, !tbaa !5
  %3739 = call ptr @strerror(i32 noundef %3738) #12
  %3740 = load i32, ptr %3719, align 4, !tbaa !5
  %3741 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3731, ptr noundef nonnull %.str.5.sink2290, i32 noundef %3732, ptr noundef nonnull @.str.27, ptr noundef nonnull @.str.1, i32 noundef 301, ptr noundef %3735, ptr noundef %3737, ptr noundef %3739, i32 noundef %3740) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3742:                                             ; preds = %3712
  %3743 = load i32, ptr @test_count, align 4, !tbaa !5
  %3744 = add nsw i32 %3743, 1
  store i32 %3744, ptr @test_count, align 4, !tbaa !5
  %3745 = load ptr, ptr %35, align 8, !tbaa !9
  %3746 = load ptr, ptr %34, align 8, !tbaa !9
  %3747 = call i32 @s2n_connection_set_config(ptr noundef %3745, ptr noundef %3746) #12
  %3748 = icmp eq i32 %3747, -1
  br i1 %3748, label %3749, label %3773

3749:                                             ; preds = %3742
  %3750 = tail call ptr @__errno_location() #13
  %3751 = load i32, ptr %3750, align 4, !tbaa !5
  %3752 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3753 = call i32 @s2n_print_stacktrace(ptr noundef %3752) #12
  %3754 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3755 = trunc nuw i8 %3754 to i1
  br i1 %3755, label %3756, label %3760

3756:                                             ; preds = %3749
  %3757 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3758 = call i32 @fileno(ptr noundef %3757) #12
  %3759 = call i32 @isatty(i32 noundef %3758) #12
  %.not778 = icmp eq i32 %3759, 0
  br i1 %.not778, label %3760, label %3761

3760:                                             ; preds = %3756, %3749
  br label %3761

3761:                                             ; preds = %3756, %3760
  %.str.5.sink2301 = phi ptr [ @.str.5, %3760 ], [ @.str.2, %3756 ]
  store i32 %3751, ptr %3750, align 4, !tbaa !5
  %3762 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3763 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %3765, ptr noundef nonnull @.str.4) #12
  %3767 = load i32, ptr %3764, align 4, !tbaa !5
  %3768 = call ptr @s2n_strerror_debug(i32 noundef %3767, ptr noundef nonnull @.str.4) #12
  %3769 = load i32, ptr %3750, align 4, !tbaa !5
  %3770 = call ptr @strerror(i32 noundef %3769) #12
  %3771 = load i32, ptr %3750, align 4, !tbaa !5
  %3772 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3762, ptr noundef nonnull %.str.5.sink2301, i32 noundef %3763, ptr noundef nonnull @.str.73, ptr noundef nonnull @.str.1, i32 noundef 303, ptr noundef %3766, ptr noundef %3768, ptr noundef %3770, i32 noundef %3771) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3773:                                             ; preds = %3742
  %3774 = load i32, ptr @test_count, align 4, !tbaa !5
  %3775 = add nsw i32 %3774, 1
  store i32 %3775, ptr @test_count, align 4, !tbaa !5
  %3776 = load ptr, ptr %36, align 8, !tbaa !9
  %3777 = load ptr, ptr %34, align 8, !tbaa !9
  %3778 = call i32 @s2n_connection_set_config(ptr noundef %3776, ptr noundef %3777) #12
  %3779 = icmp eq i32 %3778, -1
  br i1 %3779, label %3780, label %3804

3780:                                             ; preds = %3773
  %3781 = tail call ptr @__errno_location() #13
  %3782 = load i32, ptr %3781, align 4, !tbaa !5
  %3783 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3784 = call i32 @s2n_print_stacktrace(ptr noundef %3783) #12
  %3785 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3786 = trunc nuw i8 %3785 to i1
  br i1 %3786, label %3787, label %3791

3787:                                             ; preds = %3780
  %3788 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3789 = call i32 @fileno(ptr noundef %3788) #12
  %3790 = call i32 @isatty(i32 noundef %3789) #12
  %.not777 = icmp eq i32 %3790, 0
  br i1 %.not777, label %3791, label %3792

3791:                                             ; preds = %3787, %3780
  br label %3792

3792:                                             ; preds = %3787, %3791
  %.str.5.sink2312 = phi ptr [ @.str.5, %3791 ], [ @.str.2, %3787 ]
  store i32 %3782, ptr %3781, align 4, !tbaa !5
  %3793 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3794 = load i32, ptr @test_count, align 4, !tbaa !5
  %3795 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3796 = load i32, ptr %3795, align 4, !tbaa !5
  %3797 = call ptr @s2n_strerror(i32 noundef %3796, ptr noundef nonnull @.str.4) #12
  %3798 = load i32, ptr %3795, align 4, !tbaa !5
  %3799 = call ptr @s2n_strerror_debug(i32 noundef %3798, ptr noundef nonnull @.str.4) #12
  %3800 = load i32, ptr %3781, align 4, !tbaa !5
  %3801 = call ptr @strerror(i32 noundef %3800) #12
  %3802 = load i32, ptr %3781, align 4, !tbaa !5
  %3803 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3793, ptr noundef nonnull %.str.5.sink2312, i32 noundef %3794, ptr noundef nonnull @.str.74, ptr noundef nonnull @.str.1, i32 noundef 304, ptr noundef %3797, ptr noundef %3799, ptr noundef %3801, i32 noundef %3802) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3804:                                             ; preds = %3773
  %3805 = load i32, ptr @test_count, align 4, !tbaa !5
  %3806 = add nsw i32 %3805, 1
  store i32 %3806, ptr @test_count, align 4, !tbaa !5
  %3807 = load ptr, ptr %35, align 8, !tbaa !9
  %3808 = load ptr, ptr %36, align 8, !tbaa !9
  %3809 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef %3807, ptr noundef %3808) #12
  %3810 = icmp eq i32 %3809, -1
  br i1 %3810, label %3811, label %3835

3811:                                             ; preds = %3804
  %3812 = tail call ptr @__errno_location() #13
  %3813 = load i32, ptr %3812, align 4, !tbaa !5
  %3814 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3815 = call i32 @s2n_print_stacktrace(ptr noundef %3814) #12
  %3816 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3817 = trunc nuw i8 %3816 to i1
  br i1 %3817, label %3818, label %3822

3818:                                             ; preds = %3811
  %3819 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3820 = call i32 @fileno(ptr noundef %3819) #12
  %3821 = call i32 @isatty(i32 noundef %3820) #12
  %.not776 = icmp eq i32 %3821, 0
  br i1 %.not776, label %3822, label %3823

3822:                                             ; preds = %3818, %3811
  br label %3823

3823:                                             ; preds = %3818, %3822
  %.str.5.sink2323 = phi ptr [ @.str.5, %3822 ], [ @.str.2, %3818 ]
  store i32 %3813, ptr %3812, align 4, !tbaa !5
  %3824 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3825 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %3827, ptr noundef nonnull @.str.4) #12
  %3829 = load i32, ptr %3826, align 4, !tbaa !5
  %3830 = call ptr @s2n_strerror_debug(i32 noundef %3829, ptr noundef nonnull @.str.4) #12
  %3831 = load i32, ptr %3812, align 4, !tbaa !5
  %3832 = call ptr @strerror(i32 noundef %3831) #12
  %3833 = load i32, ptr %3812, align 4, !tbaa !5
  %3834 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3824, ptr noundef nonnull %.str.5.sink2323, i32 noundef %3825, ptr noundef nonnull @.str.32, ptr noundef nonnull @.str.1, i32 noundef 305, ptr noundef %3828, ptr noundef %3830, ptr noundef %3832, i32 noundef %3833) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3835:                                             ; preds = %3804
  %3836 = load i32, ptr @test_count, align 4, !tbaa !5
  %3837 = add nsw i32 %3836, 1
  store i32 %3837, ptr @test_count, align 4, !tbaa !5
  %3838 = load ptr, ptr %36, align 8, !tbaa !9
  %3839 = call i32 @s2n_renegotiate_wipe(ptr noundef %3838) #12
  %3840 = icmp eq i32 %3839, -1
  br i1 %3840, label %3841, label %3865

3841:                                             ; preds = %3835
  %3842 = tail call ptr @__errno_location() #13
  %3843 = load i32, ptr %3842, align 4, !tbaa !5
  %3844 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3845 = call i32 @s2n_print_stacktrace(ptr noundef %3844) #12
  %3846 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3847 = trunc nuw i8 %3846 to i1
  br i1 %3847, label %3848, label %3852

3848:                                             ; preds = %3841
  %3849 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3850 = call i32 @fileno(ptr noundef %3849) #12
  %3851 = call i32 @isatty(i32 noundef %3850) #12
  %.not775 = icmp eq i32 %3851, 0
  br i1 %.not775, label %3852, label %3853

3852:                                             ; preds = %3848, %3841
  br label %3853

3853:                                             ; preds = %3848, %3852
  %.str.5.sink2334 = phi ptr [ @.str.5, %3852 ], [ @.str.2, %3848 ]
  store i32 %3843, ptr %3842, align 4, !tbaa !5
  %3854 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3855 = load i32, ptr @test_count, align 4, !tbaa !5
  %3856 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3857 = load i32, ptr %3856, align 4, !tbaa !5
  %3858 = call ptr @s2n_strerror(i32 noundef %3857, ptr noundef nonnull @.str.4) #12
  %3859 = load i32, ptr %3856, align 4, !tbaa !5
  %3860 = call ptr @s2n_strerror_debug(i32 noundef %3859, ptr noundef nonnull @.str.4) #12
  %3861 = load i32, ptr %3842, align 4, !tbaa !5
  %3862 = call ptr @strerror(i32 noundef %3861) #12
  %3863 = load i32, ptr %3842, align 4, !tbaa !5
  %3864 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3854, ptr noundef nonnull %.str.5.sink2334, i32 noundef %3855, ptr noundef nonnull @.str.33, ptr noundef nonnull @.str.1, i32 noundef 307, ptr noundef %3858, ptr noundef %3860, ptr noundef %3862, i32 noundef %3863) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3865:                                             ; preds = %3835
  %3866 = load i32, ptr @test_count, align 4, !tbaa !5
  %3867 = add nsw i32 %3866, 1
  store i32 %3867, ptr @test_count, align 4, !tbaa !5
  %3868 = load ptr, ptr %35, align 8, !tbaa !9
  %3869 = call i32 @s2n_renegotiate_wipe(ptr noundef %3868) #12
  %3870 = icmp eq i32 %3869, -1
  br i1 %3870, label %3871, label %3895

3871:                                             ; preds = %3865
  %3872 = tail call ptr @__errno_location() #13
  %3873 = load i32, ptr %3872, align 4, !tbaa !5
  %3874 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3875 = call i32 @s2n_print_stacktrace(ptr noundef %3874) #12
  %3876 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3877 = trunc nuw i8 %3876 to i1
  br i1 %3877, label %3878, label %3882

3878:                                             ; preds = %3871
  %3879 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3880 = call i32 @fileno(ptr noundef %3879) #12
  %3881 = call i32 @isatty(i32 noundef %3880) #12
  %.not774 = icmp eq i32 %3881, 0
  br i1 %.not774, label %3882, label %3883

3882:                                             ; preds = %3878, %3871
  br label %3883

3883:                                             ; preds = %3878, %3882
  %.str.5.sink2345 = phi ptr [ @.str.5, %3882 ], [ @.str.2, %3878 ]
  store i32 %3873, ptr %3872, 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 nonnull @.str.4) #12
  %3889 = load i32, ptr %3886, align 4, !tbaa !5
  %3890 = call ptr @s2n_strerror_debug(i32 noundef %3889, ptr noundef nonnull @.str.4) #12
  %3891 = load i32, ptr %3872, align 4, !tbaa !5
  %3892 = call ptr @strerror(i32 noundef %3891) #12
  %3893 = load i32, ptr %3872, align 4, !tbaa !5
  %3894 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3884, ptr noundef nonnull %.str.5.sink2345, i32 noundef %3885, ptr noundef nonnull @.str.50, ptr noundef nonnull @.str.1, i32 noundef 308, ptr noundef %3888, ptr noundef %3890, ptr noundef %3892, i32 noundef %3893) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3895:                                             ; preds = %3865
  %3896 = load i32, ptr @test_count, align 4, !tbaa !5
  %3897 = add nsw i32 %3896, 1
  store i32 %3897, ptr @test_count, align 4, !tbaa !5
  %3898 = load ptr, ptr %35, align 8, !tbaa !9
  %3899 = load ptr, ptr %33, align 8, !tbaa !9
  %3900 = call i32 @s2n_connection_set_config(ptr noundef %3898, ptr noundef %3899) #12
  %3901 = icmp eq i32 %3900, -1
  br i1 %3901, label %3902, label %3926

3902:                                             ; preds = %3895
  %3903 = tail call ptr @__errno_location() #13
  %3904 = load i32, ptr %3903, align 4, !tbaa !5
  %3905 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3906 = call i32 @s2n_print_stacktrace(ptr noundef %3905) #12
  %3907 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3908 = trunc nuw i8 %3907 to i1
  br i1 %3908, label %3909, label %3913

3909:                                             ; preds = %3902
  %3910 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3911 = call i32 @fileno(ptr noundef %3910) #12
  %3912 = call i32 @isatty(i32 noundef %3911) #12
  %.not773 = icmp eq i32 %3912, 0
  br i1 %.not773, label %3913, label %3914

3913:                                             ; preds = %3909, %3902
  br label %3914

3914:                                             ; preds = %3909, %3913
  %.str.5.sink2356 = phi ptr [ @.str.5, %3913 ], [ @.str.2, %3909 ]
  store i32 %3904, ptr %3903, align 4, !tbaa !5
  %3915 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3916 = load i32, ptr @test_count, align 4, !tbaa !5
  %3917 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3918 = load i32, ptr %3917, align 4, !tbaa !5
  %3919 = call ptr @s2n_strerror(i32 noundef %3918, ptr noundef nonnull @.str.4) #12
  %3920 = load i32, ptr %3917, align 4, !tbaa !5
  %3921 = call ptr @s2n_strerror_debug(i32 noundef %3920, ptr noundef nonnull @.str.4) #12
  %3922 = load i32, ptr %3903, align 4, !tbaa !5
  %3923 = call ptr @strerror(i32 noundef %3922) #12
  %3924 = load i32, ptr %3903, align 4, !tbaa !5
  %3925 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3915, ptr noundef nonnull %.str.5.sink2356, i32 noundef %3916, ptr noundef nonnull @.str.75, ptr noundef nonnull @.str.1, i32 noundef 310, ptr noundef %3919, ptr noundef %3921, ptr noundef %3923, i32 noundef %3924) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3926:                                             ; preds = %3895
  %3927 = load i32, ptr @test_count, align 4, !tbaa !5
  %3928 = add nsw i32 %3927, 1
  store i32 %3928, ptr @test_count, align 4, !tbaa !5
  %3929 = load ptr, ptr %36, align 8, !tbaa !9
  %3930 = load ptr, ptr %33, align 8, !tbaa !9
  %3931 = call i32 @s2n_connection_set_config(ptr noundef %3929, ptr noundef %3930) #12
  %3932 = icmp eq i32 %3931, -1
  br i1 %3932, label %3933, label %3957

3933:                                             ; preds = %3926
  %3934 = tail call ptr @__errno_location() #13
  %3935 = load i32, ptr %3934, align 4, !tbaa !5
  %3936 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3937 = call i32 @s2n_print_stacktrace(ptr noundef %3936) #12
  %3938 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3939 = trunc nuw i8 %3938 to i1
  br i1 %3939, label %3940, label %3944

3940:                                             ; preds = %3933
  %3941 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3942 = call i32 @fileno(ptr noundef %3941) #12
  %3943 = call i32 @isatty(i32 noundef %3942) #12
  %.not772 = icmp eq i32 %3943, 0
  br i1 %.not772, label %3944, label %3945

3944:                                             ; preds = %3940, %3933
  br label %3945

3945:                                             ; preds = %3940, %3944
  %.str.5.sink2367 = phi ptr [ @.str.5, %3944 ], [ @.str.2, %3940 ]
  store i32 %3935, ptr %3934, align 4, !tbaa !5
  %3946 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3947 = load i32, ptr @test_count, align 4, !tbaa !5
  %3948 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3949 = load i32, ptr %3948, align 4, !tbaa !5
  %3950 = call ptr @s2n_strerror(i32 noundef %3949, ptr noundef nonnull @.str.4) #12
  %3951 = load i32, ptr %3948, align 4, !tbaa !5
  %3952 = call ptr @s2n_strerror_debug(i32 noundef %3951, ptr noundef nonnull @.str.4) #12
  %3953 = load i32, ptr %3934, align 4, !tbaa !5
  %3954 = call ptr @strerror(i32 noundef %3953) #12
  %3955 = load i32, ptr %3934, align 4, !tbaa !5
  %3956 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3946, ptr noundef nonnull %.str.5.sink2367, i32 noundef %3947, ptr noundef nonnull @.str.76, ptr noundef nonnull @.str.1, i32 noundef 311, ptr noundef %3950, ptr noundef %3952, ptr noundef %3954, i32 noundef %3955) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3957:                                             ; preds = %3926
  %3958 = load i32, ptr @test_count, align 4, !tbaa !5
  %3959 = add nsw i32 %3958, 1
  store i32 %3959, ptr @test_count, align 4, !tbaa !5
  %3960 = load ptr, ptr %35, align 8, !tbaa !9
  %3961 = load ptr, ptr %36, align 8, !tbaa !9
  %3962 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef %3960, ptr noundef %3961) #12
  %3963 = icmp eq i32 %3962, -1
  br i1 %3963, label %3964, label %3988

3964:                                             ; preds = %3957
  %3965 = tail call ptr @__errno_location() #13
  %3966 = load i32, ptr %3965, align 4, !tbaa !5
  %3967 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3968 = call i32 @s2n_print_stacktrace(ptr noundef %3967) #12
  %3969 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3970 = trunc nuw i8 %3969 to i1
  br i1 %3970, label %3971, label %3975

3971:                                             ; preds = %3964
  %3972 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3973 = call i32 @fileno(ptr noundef %3972) #12
  %3974 = call i32 @isatty(i32 noundef %3973) #12
  %.not771 = icmp eq i32 %3974, 0
  br i1 %.not771, label %3975, label %3976

3975:                                             ; preds = %3971, %3964
  br label %3976

3976:                                             ; preds = %3971, %3975
  %.str.5.sink2378 = phi ptr [ @.str.5, %3975 ], [ @.str.2, %3971 ]
  store i32 %3966, ptr %3965, align 4, !tbaa !5
  %3977 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3978 = load i32, ptr @test_count, align 4, !tbaa !5
  %3979 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3980 = load i32, ptr %3979, align 4, !tbaa !5
  %3981 = call ptr @s2n_strerror(i32 noundef %3980, ptr noundef nonnull @.str.4) #12
  %3982 = load i32, ptr %3979, align 4, !tbaa !5
  %3983 = call ptr @s2n_strerror_debug(i32 noundef %3982, ptr noundef nonnull @.str.4) #12
  %3984 = load i32, ptr %3965, align 4, !tbaa !5
  %3985 = call ptr @strerror(i32 noundef %3984) #12
  %3986 = load i32, ptr %3965, align 4, !tbaa !5
  %3987 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3977, ptr noundef nonnull %.str.5.sink2378, i32 noundef %3978, ptr noundef nonnull @.str.32, ptr noundef nonnull @.str.1, i32 noundef 312, ptr noundef %3981, ptr noundef %3983, ptr noundef %3985, i32 noundef %3986) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3988:                                             ; preds = %3957
  %3989 = load i32, ptr @test_count, align 4, !tbaa !5
  %3990 = add nsw i32 %3989, 1
  store i32 %3990, ptr @test_count, align 4, !tbaa !5
  %3991 = load ptr, ptr %36, align 8, !tbaa !9
  %3992 = call i32 @s2n_renegotiate_wipe(ptr noundef %3991) #12
  %3993 = icmp eq i32 %3992, -1
  br i1 %3993, label %3994, label %4018

3994:                                             ; preds = %3988
  %3995 = tail call ptr @__errno_location() #13
  %3996 = load i32, ptr %3995, align 4, !tbaa !5
  %3997 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3998 = call i32 @s2n_print_stacktrace(ptr noundef %3997) #12
  %3999 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4000 = trunc nuw i8 %3999 to i1
  br i1 %4000, label %4001, label %4005

4001:                                             ; preds = %3994
  %4002 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4003 = call i32 @fileno(ptr noundef %4002) #12
  %4004 = call i32 @isatty(i32 noundef %4003) #12
  %.not770 = icmp eq i32 %4004, 0
  br i1 %.not770, label %4005, label %4006

4005:                                             ; preds = %4001, %3994
  br label %4006

4006:                                             ; preds = %4001, %4005
  %.str.5.sink2389 = phi ptr [ @.str.5, %4005 ], [ @.str.2, %4001 ]
  store i32 %3996, ptr %3995, align 4, !tbaa !5
  %4007 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4008 = load i32, ptr @test_count, align 4, !tbaa !5
  %4009 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4010 = load i32, ptr %4009, align 4, !tbaa !5
  %4011 = call ptr @s2n_strerror(i32 noundef %4010, ptr noundef nonnull @.str.4) #12
  %4012 = load i32, ptr %4009, align 4, !tbaa !5
  %4013 = call ptr @s2n_strerror_debug(i32 noundef %4012, ptr noundef nonnull @.str.4) #12
  %4014 = load i32, ptr %3995, align 4, !tbaa !5
  %4015 = call ptr @strerror(i32 noundef %4014) #12
  %4016 = load i32, ptr %3995, align 4, !tbaa !5
  %4017 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4007, ptr noundef nonnull %.str.5.sink2389, i32 noundef %4008, ptr noundef nonnull @.str.33, ptr noundef nonnull @.str.1, i32 noundef 314, ptr noundef %4011, ptr noundef %4013, ptr noundef %4015, i32 noundef %4016) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4018:                                             ; preds = %3988
  %4019 = load i32, ptr @test_count, align 4, !tbaa !5
  %4020 = add nsw i32 %4019, 1
  store i32 %4020, ptr @test_count, align 4, !tbaa !5
  %4021 = load ptr, ptr %35, align 8, !tbaa !9
  %4022 = call i32 @s2n_renegotiate_wipe(ptr noundef %4021) #12
  %4023 = icmp eq i32 %4022, -1
  br i1 %4023, label %4024, label %4048

4024:                                             ; preds = %4018
  %4025 = tail call ptr @__errno_location() #13
  %4026 = load i32, ptr %4025, align 4, !tbaa !5
  %4027 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4028 = call i32 @s2n_print_stacktrace(ptr noundef %4027) #12
  %4029 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4030 = trunc nuw i8 %4029 to i1
  br i1 %4030, label %4031, label %4035

4031:                                             ; preds = %4024
  %4032 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4033 = call i32 @fileno(ptr noundef %4032) #12
  %4034 = call i32 @isatty(i32 noundef %4033) #12
  %.not769 = icmp eq i32 %4034, 0
  br i1 %.not769, label %4035, label %4036

4035:                                             ; preds = %4031, %4024
  br label %4036

4036:                                             ; preds = %4031, %4035
  %.str.5.sink2400 = phi ptr [ @.str.5, %4035 ], [ @.str.2, %4031 ]
  store i32 %4026, ptr %4025, align 4, !tbaa !5
  %4037 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4038 = load i32, ptr @test_count, align 4, !tbaa !5
  %4039 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4040 = load i32, ptr %4039, align 4, !tbaa !5
  %4041 = call ptr @s2n_strerror(i32 noundef %4040, ptr noundef nonnull @.str.4) #12
  %4042 = load i32, ptr %4039, align 4, !tbaa !5
  %4043 = call ptr @s2n_strerror_debug(i32 noundef %4042, ptr noundef nonnull @.str.4) #12
  %4044 = load i32, ptr %4025, align 4, !tbaa !5
  %4045 = call ptr @strerror(i32 noundef %4044) #12
  %4046 = load i32, ptr %4025, align 4, !tbaa !5
  %4047 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4037, ptr noundef nonnull %.str.5.sink2400, i32 noundef %4038, ptr noundef nonnull @.str.50, ptr noundef nonnull @.str.1, i32 noundef 315, ptr noundef %4041, ptr noundef %4043, ptr noundef %4045, i32 noundef %4046) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4048:                                             ; preds = %4018
  %4049 = load i32, ptr @test_count, align 4, !tbaa !5
  %4050 = add nsw i32 %4049, 1
  store i32 %4050, ptr @test_count, align 4, !tbaa !5
  %4051 = load ptr, ptr %35, align 8, !tbaa !9
  %4052 = load ptr, ptr %34, align 8, !tbaa !9
  %4053 = call i32 @s2n_connection_set_config(ptr noundef %4051, ptr noundef %4052) #12
  %4054 = icmp eq i32 %4053, -1
  br i1 %4054, label %4055, label %4079

4055:                                             ; preds = %4048
  %4056 = tail call ptr @__errno_location() #13
  %4057 = load i32, ptr %4056, align 4, !tbaa !5
  %4058 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4059 = call i32 @s2n_print_stacktrace(ptr noundef %4058) #12
  %4060 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4061 = trunc nuw i8 %4060 to i1
  br i1 %4061, label %4062, label %4066

4062:                                             ; preds = %4055
  %4063 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4064 = call i32 @fileno(ptr noundef %4063) #12
  %4065 = call i32 @isatty(i32 noundef %4064) #12
  %.not768 = icmp eq i32 %4065, 0
  br i1 %.not768, label %4066, label %4067

4066:                                             ; preds = %4062, %4055
  br label %4067

4067:                                             ; preds = %4062, %4066
  %.str.5.sink2411 = phi ptr [ @.str.5, %4066 ], [ @.str.2, %4062 ]
  store i32 %4057, ptr %4056, align 4, !tbaa !5
  %4068 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4069 = load i32, ptr @test_count, align 4, !tbaa !5
  %4070 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4071 = load i32, ptr %4070, align 4, !tbaa !5
  %4072 = call ptr @s2n_strerror(i32 noundef %4071, ptr noundef nonnull @.str.4) #12
  %4073 = load i32, ptr %4070, align 4, !tbaa !5
  %4074 = call ptr @s2n_strerror_debug(i32 noundef %4073, ptr noundef nonnull @.str.4) #12
  %4075 = load i32, ptr %4056, align 4, !tbaa !5
  %4076 = call ptr @strerror(i32 noundef %4075) #12
  %4077 = load i32, ptr %4056, align 4, !tbaa !5
  %4078 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4068, ptr noundef nonnull %.str.5.sink2411, i32 noundef %4069, ptr noundef nonnull @.str.73, ptr noundef nonnull @.str.1, i32 noundef 317, ptr noundef %4072, ptr noundef %4074, ptr noundef %4076, i32 noundef %4077) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4079:                                             ; preds = %4048
  %4080 = load i32, ptr @test_count, align 4, !tbaa !5
  %4081 = add nsw i32 %4080, 1
  store i32 %4081, ptr @test_count, align 4, !tbaa !5
  %4082 = load ptr, ptr %36, align 8, !tbaa !9
  %4083 = load ptr, ptr %34, align 8, !tbaa !9
  %4084 = call i32 @s2n_connection_set_config(ptr noundef %4082, ptr noundef %4083) #12
  %4085 = icmp eq i32 %4084, -1
  br i1 %4085, label %4086, label %4110

4086:                                             ; preds = %4079
  %4087 = tail call ptr @__errno_location() #13
  %4088 = load i32, ptr %4087, align 4, !tbaa !5
  %4089 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4090 = call i32 @s2n_print_stacktrace(ptr noundef %4089) #12
  %4091 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4092 = trunc nuw i8 %4091 to i1
  br i1 %4092, label %4093, label %4097

4093:                                             ; preds = %4086
  %4094 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4095 = call i32 @fileno(ptr noundef %4094) #12
  %4096 = call i32 @isatty(i32 noundef %4095) #12
  %.not767 = icmp eq i32 %4096, 0
  br i1 %.not767, label %4097, label %4098

4097:                                             ; preds = %4093, %4086
  br label %4098

4098:                                             ; preds = %4093, %4097
  %.str.5.sink2422 = phi ptr [ @.str.5, %4097 ], [ @.str.2, %4093 ]
  store i32 %4088, ptr %4087, align 4, !tbaa !5
  %4099 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4100 = load i32, ptr @test_count, align 4, !tbaa !5
  %4101 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4102 = load i32, ptr %4101, align 4, !tbaa !5
  %4103 = call ptr @s2n_strerror(i32 noundef %4102, ptr noundef nonnull @.str.4) #12
  %4104 = load i32, ptr %4101, align 4, !tbaa !5
  %4105 = call ptr @s2n_strerror_debug(i32 noundef %4104, ptr noundef nonnull @.str.4) #12
  %4106 = load i32, ptr %4087, align 4, !tbaa !5
  %4107 = call ptr @strerror(i32 noundef %4106) #12
  %4108 = load i32, ptr %4087, align 4, !tbaa !5
  %4109 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4099, ptr noundef nonnull %.str.5.sink2422, i32 noundef %4100, ptr noundef nonnull @.str.74, ptr noundef nonnull @.str.1, i32 noundef 318, ptr noundef %4103, ptr noundef %4105, ptr noundef %4107, i32 noundef %4108) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4110:                                             ; preds = %4079
  %4111 = load i32, ptr @test_count, align 4, !tbaa !5
  %4112 = add nsw i32 %4111, 1
  store i32 %4112, ptr @test_count, align 4, !tbaa !5
  %4113 = load ptr, ptr %35, align 8, !tbaa !9
  %4114 = load ptr, ptr %36, align 8, !tbaa !9
  %4115 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef %4113, ptr noundef %4114) #12
  %4116 = icmp eq i32 %4115, -1
  br i1 %4116, label %4117, label %4141

4117:                                             ; preds = %4110
  %4118 = tail call ptr @__errno_location() #13
  %4119 = load i32, ptr %4118, 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 = %4117
  %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
  %.not766 = icmp eq i32 %4127, 0
  br i1 %.not766, label %4128, label %4129

4128:                                             ; preds = %4124, %4117
  br label %4129

4129:                                             ; preds = %4124, %4128
  %.str.5.sink2433 = phi ptr [ @.str.5, %4128 ], [ @.str.2, %4124 ]
  store i32 %4119, ptr %4118, align 4, !tbaa !5
  %4130 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4131 = load i32, ptr @test_count, align 4, !tbaa !5
  %4132 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4133 = load i32, ptr %4132, align 4, !tbaa !5
  %4134 = call ptr @s2n_strerror(i32 noundef %4133, ptr noundef nonnull @.str.4) #12
  %4135 = load i32, ptr %4132, align 4, !tbaa !5
  %4136 = call ptr @s2n_strerror_debug(i32 noundef %4135, ptr noundef nonnull @.str.4) #12
  %4137 = load i32, ptr %4118, align 4, !tbaa !5
  %4138 = call ptr @strerror(i32 noundef %4137) #12
  %4139 = load i32, ptr %4118, align 4, !tbaa !5
  %4140 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4130, ptr noundef nonnull %.str.5.sink2433, i32 noundef %4131, ptr noundef nonnull @.str.32, ptr noundef nonnull @.str.1, i32 noundef 319, ptr noundef %4134, ptr noundef %4136, ptr noundef %4138, i32 noundef %4139) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4141:                                             ; preds = %4110
  %4142 = call i32 @s2n_io_pair_close(ptr noundef nonnull %37) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %37) #12
  %4143 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %36) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %36) #12
  %4144 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %35) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %35) #12
  %4145 = call i32 @s2n_config_ptr_free(ptr noundef nonnull %34) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %34) #12
  %4146 = call i32 @s2n_config_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 %38) #12
  %4147 = call ptr @s2n_connection_new(i32 noundef 0) #12
  store ptr %4147, ptr %38, align 8, !tbaa !9
  %4148 = load i32, ptr @test_count, align 4, !tbaa !5
  %4149 = add nsw i32 %4148, 1
  store i32 %4149, ptr @test_count, align 4, !tbaa !5
  %4150 = icmp eq ptr %4147, null
  br i1 %4150, label %4151, label %4175

4151:                                             ; preds = %4141
  %4152 = tail call ptr @__errno_location() #13
  %4153 = load i32, ptr %4152, align 4, !tbaa !5
  %4154 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4155 = call i32 @s2n_print_stacktrace(ptr noundef %4154) #12
  %4156 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4157 = trunc nuw i8 %4156 to i1
  br i1 %4157, label %4158, label %4162

4158:                                             ; preds = %4151
  %4159 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4160 = call i32 @fileno(ptr noundef %4159) #12
  %4161 = call i32 @isatty(i32 noundef %4160) #12
  %.not765 = icmp eq i32 %4161, 0
  br i1 %.not765, label %4162, label %4163

4162:                                             ; preds = %4158, %4151
  br label %4163

4163:                                             ; preds = %4158, %4162
  %.str.5.sink2444 = phi ptr [ @.str.5, %4162 ], [ @.str.2, %4158 ]
  store i32 %4153, ptr %4152, align 4, !tbaa !5
  %4164 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4165 = load i32, ptr @test_count, align 4, !tbaa !5
  %4166 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4167 = load i32, ptr %4166, align 4, !tbaa !5
  %4168 = call ptr @s2n_strerror(i32 noundef %4167, ptr noundef nonnull @.str.4) #12
  %4169 = load i32, ptr %4166, align 4, !tbaa !5
  %4170 = call ptr @s2n_strerror_debug(i32 noundef %4169, ptr noundef nonnull @.str.4) #12
  %4171 = load i32, ptr %4152, align 4, !tbaa !5
  %4172 = call ptr @strerror(i32 noundef %4171) #12
  %4173 = load i32, ptr %4152, align 4, !tbaa !5
  %4174 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4164, ptr noundef nonnull %.str.5.sink2444, i32 noundef %4165, ptr noundef nonnull @.str.21, ptr noundef nonnull @.str.1, i32 noundef 325, ptr noundef %4168, ptr noundef %4170, ptr noundef %4172, i32 noundef %4173) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4175:                                             ; preds = %4141
  %4176 = add nsw i32 %4148, 2
  store i32 %4176, ptr @test_count, align 4, !tbaa !5
  %4177 = call i32 @s2n_connection_set_config(ptr noundef nonnull %4147, ptr noundef nonnull %240) #12
  %4178 = icmp eq i32 %4177, -1
  br i1 %4178, label %4179, label %4203

4179:                                             ; preds = %4175
  %4180 = tail call ptr @__errno_location() #13
  %4181 = load i32, ptr %4180, align 4, !tbaa !5
  %4182 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4183 = call i32 @s2n_print_stacktrace(ptr noundef %4182) #12
  %4184 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4185 = trunc nuw i8 %4184 to i1
  br i1 %4185, label %4186, label %4190

4186:                                             ; preds = %4179
  %4187 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4188 = call i32 @fileno(ptr noundef %4187) #12
  %4189 = call i32 @isatty(i32 noundef %4188) #12
  %.not764 = icmp eq i32 %4189, 0
  br i1 %.not764, label %4190, label %4191

4190:                                             ; preds = %4186, %4179
  br label %4191

4191:                                             ; preds = %4186, %4190
  %.str.5.sink2455 = phi ptr [ @.str.5, %4190 ], [ @.str.2, %4186 ]
  store i32 %4181, ptr %4180, align 4, !tbaa !5
  %4192 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4193 = load i32, ptr @test_count, align 4, !tbaa !5
  %4194 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4195 = load i32, ptr %4194, align 4, !tbaa !5
  %4196 = call ptr @s2n_strerror(i32 noundef %4195, ptr noundef nonnull @.str.4) #12
  %4197 = load i32, ptr %4194, align 4, !tbaa !5
  %4198 = call ptr @s2n_strerror_debug(i32 noundef %4197, ptr noundef nonnull @.str.4) #12
  %4199 = load i32, ptr %4180, align 4, !tbaa !5
  %4200 = call ptr @strerror(i32 noundef %4199) #12
  %4201 = load i32, ptr %4180, align 4, !tbaa !5
  %4202 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4192, ptr noundef nonnull %.str.5.sink2455, i32 noundef %4193, ptr noundef nonnull @.str.22, ptr noundef nonnull @.str.1, i32 noundef 326, ptr noundef %4196, ptr noundef %4198, ptr noundef %4200, i32 noundef %4201) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4203:                                             ; preds = %4175
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %39) #12
  %4204 = call ptr @s2n_connection_new(i32 noundef 1) #12
  store ptr %4204, ptr %39, align 8, !tbaa !9
  %4205 = load i32, ptr @test_count, align 4, !tbaa !5
  %4206 = add nsw i32 %4205, 1
  store i32 %4206, ptr @test_count, align 4, !tbaa !5
  %4207 = icmp eq ptr %4204, null
  br i1 %4207, label %4208, label %4232

4208:                                             ; preds = %4203
  %4209 = tail call ptr @__errno_location() #13
  %4210 = load i32, ptr %4209, align 4, !tbaa !5
  %4211 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4212 = call i32 @s2n_print_stacktrace(ptr noundef %4211) #12
  %4213 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4214 = trunc nuw i8 %4213 to i1
  br i1 %4214, label %4215, label %4219

4215:                                             ; preds = %4208
  %4216 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4217 = call i32 @fileno(ptr noundef %4216) #12
  %4218 = call i32 @isatty(i32 noundef %4217) #12
  %.not763 = icmp eq i32 %4218, 0
  br i1 %.not763, label %4219, label %4220

4219:                                             ; preds = %4215, %4208
  br label %4220

4220:                                             ; preds = %4215, %4219
  %.str.5.sink2466 = phi ptr [ @.str.5, %4219 ], [ @.str.2, %4215 ]
  store i32 %4210, ptr %4209, align 4, !tbaa !5
  %4221 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4222 = load i32, ptr @test_count, align 4, !tbaa !5
  %4223 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4224 = load i32, ptr %4223, align 4, !tbaa !5
  %4225 = call ptr @s2n_strerror(i32 noundef %4224, ptr noundef nonnull @.str.4) #12
  %4226 = load i32, ptr %4223, align 4, !tbaa !5
  %4227 = call ptr @s2n_strerror_debug(i32 noundef %4226, ptr noundef nonnull @.str.4) #12
  %4228 = load i32, ptr %4209, align 4, !tbaa !5
  %4229 = call ptr @strerror(i32 noundef %4228) #12
  %4230 = load i32, ptr %4209, align 4, !tbaa !5
  %4231 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4221, ptr noundef nonnull %.str.5.sink2466, i32 noundef %4222, ptr noundef nonnull @.str.23, ptr noundef nonnull @.str.1, i32 noundef 329, ptr noundef %4225, ptr noundef %4227, ptr noundef %4229, i32 noundef %4230) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4232:                                             ; preds = %4203
  %4233 = add nsw i32 %4205, 2
  store i32 %4233, ptr @test_count, align 4, !tbaa !5
  %4234 = call i32 @s2n_connection_set_config(ptr noundef nonnull %4204, ptr noundef nonnull %240) #12
  %4235 = icmp eq i32 %4234, -1
  br i1 %4235, label %4236, label %4260

4236:                                             ; preds = %4232
  %4237 = tail call ptr @__errno_location() #13
  %4238 = load i32, ptr %4237, align 4, !tbaa !5
  %4239 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4240 = call i32 @s2n_print_stacktrace(ptr noundef %4239) #12
  %4241 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4242 = trunc nuw i8 %4241 to i1
  br i1 %4242, label %4243, label %4247

4243:                                             ; preds = %4236
  %4244 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4245 = call i32 @fileno(ptr noundef %4244) #12
  %4246 = call i32 @isatty(i32 noundef %4245) #12
  %.not762 = icmp eq i32 %4246, 0
  br i1 %.not762, label %4247, label %4248

4247:                                             ; preds = %4243, %4236
  br label %4248

4248:                                             ; preds = %4243, %4247
  %.str.5.sink2477 = phi ptr [ @.str.5, %4247 ], [ @.str.2, %4243 ]
  store i32 %4238, ptr %4237, align 4, !tbaa !5
  %4249 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4250 = load i32, ptr @test_count, align 4, !tbaa !5
  %4251 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4252 = load i32, ptr %4251, align 4, !tbaa !5
  %4253 = call ptr @s2n_strerror(i32 noundef %4252, ptr noundef nonnull @.str.4) #12
  %4254 = load i32, ptr %4251, align 4, !tbaa !5
  %4255 = call ptr @s2n_strerror_debug(i32 noundef %4254, ptr noundef nonnull @.str.4) #12
  %4256 = load i32, ptr %4237, align 4, !tbaa !5
  %4257 = call ptr @strerror(i32 noundef %4256) #12
  %4258 = load i32, ptr %4237, align 4, !tbaa !5
  %4259 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4249, ptr noundef nonnull %.str.5.sink2477, i32 noundef %4250, ptr noundef nonnull @.str.24, ptr noundef nonnull @.str.1, i32 noundef 330, ptr noundef %4253, ptr noundef %4255, ptr noundef %4257, i32 noundef %4258) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4260:                                             ; preds = %4232
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %40) #12
  store i64 0, ptr %40, align 8
  %4261 = load i32, ptr @test_count, align 4, !tbaa !5
  %4262 = add nsw i32 %4261, 1
  store i32 %4262, ptr @test_count, align 4, !tbaa !5
  %4263 = call i32 @s2n_io_pair_init_non_blocking(ptr noundef nonnull %40) #12
  %4264 = icmp eq i32 %4263, -1
  br i1 %4264, label %4265, label %4289

4265:                                             ; preds = %4260
  %4266 = tail call ptr @__errno_location() #13
  %4267 = load i32, ptr %4266, align 4, !tbaa !5
  %4268 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4269 = call i32 @s2n_print_stacktrace(ptr noundef %4268) #12
  %4270 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4271 = trunc nuw i8 %4270 to i1
  br i1 %4271, label %4272, label %4276

4272:                                             ; preds = %4265
  %4273 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4274 = call i32 @fileno(ptr noundef %4273) #12
  %4275 = call i32 @isatty(i32 noundef %4274) #12
  %.not761 = icmp eq i32 %4275, 0
  br i1 %.not761, label %4276, label %4277

4276:                                             ; preds = %4272, %4265
  br label %4277

4277:                                             ; preds = %4272, %4276
  %.str.5.sink2488 = phi ptr [ @.str.5, %4276 ], [ @.str.2, %4272 ]
  store i32 %4267, ptr %4266, align 4, !tbaa !5
  %4278 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4279 = load i32, ptr @test_count, align 4, !tbaa !5
  %4280 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4281 = load i32, ptr %4280, align 4, !tbaa !5
  %4282 = call ptr @s2n_strerror(i32 noundef %4281, ptr noundef nonnull @.str.4) #12
  %4283 = load i32, ptr %4280, align 4, !tbaa !5
  %4284 = call ptr @s2n_strerror_debug(i32 noundef %4283, ptr noundef nonnull @.str.4) #12
  %4285 = load i32, ptr %4266, align 4, !tbaa !5
  %4286 = call ptr @strerror(i32 noundef %4285) #12
  %4287 = load i32, ptr %4266, align 4, !tbaa !5
  %4288 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4278, ptr noundef nonnull %.str.5.sink2488, i32 noundef %4279, ptr noundef nonnull @.str.25, ptr noundef nonnull @.str.1, i32 noundef 333, ptr noundef %4282, ptr noundef %4284, ptr noundef %4286, i32 noundef %4287) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4289:                                             ; preds = %4260
  %4290 = load i32, ptr @test_count, align 4, !tbaa !5
  %4291 = add nsw i32 %4290, 1
  store i32 %4291, ptr @test_count, align 4, !tbaa !5
  %4292 = load ptr, ptr %39, align 8, !tbaa !9
  %4293 = load ptr, ptr %38, align 8, !tbaa !9
  %4294 = call i32 @s2n_connections_set_io_pair(ptr noundef %4292, ptr noundef %4293, ptr noundef nonnull %40) #12
  %4295 = icmp eq i32 %4294, -1
  br i1 %4295, label %4296, label %4320

4296:                                             ; preds = %4289
  %4297 = tail call ptr @__errno_location() #13
  %4298 = load i32, ptr %4297, align 4, !tbaa !5
  %4299 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4300 = call i32 @s2n_print_stacktrace(ptr noundef %4299) #12
  %4301 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4302 = trunc nuw i8 %4301 to i1
  br i1 %4302, label %4303, label %4307

4303:                                             ; preds = %4296
  %4304 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4305 = call i32 @fileno(ptr noundef %4304) #12
  %4306 = call i32 @isatty(i32 noundef %4305) #12
  %.not760 = icmp eq i32 %4306, 0
  br i1 %.not760, label %4307, label %4308

4307:                                             ; preds = %4303, %4296
  br label %4308

4308:                                             ; preds = %4303, %4307
  %.str.5.sink2499 = phi ptr [ @.str.5, %4307 ], [ @.str.2, %4303 ]
  store i32 %4298, ptr %4297, align 4, !tbaa !5
  %4309 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4310 = load i32, ptr @test_count, align 4, !tbaa !5
  %4311 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4312 = load i32, ptr %4311, align 4, !tbaa !5
  %4313 = call ptr @s2n_strerror(i32 noundef %4312, ptr noundef nonnull @.str.4) #12
  %4314 = load i32, ptr %4311, align 4, !tbaa !5
  %4315 = call ptr @s2n_strerror_debug(i32 noundef %4314, ptr noundef nonnull @.str.4) #12
  %4316 = load i32, ptr %4297, align 4, !tbaa !5
  %4317 = call ptr @strerror(i32 noundef %4316) #12
  %4318 = load i32, ptr %4297, align 4, !tbaa !5
  %4319 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4309, ptr noundef nonnull %.str.5.sink2499, i32 noundef %4310, ptr noundef nonnull @.str.77, ptr noundef nonnull @.str.1, i32 noundef 334, ptr noundef %4313, ptr noundef %4315, ptr noundef %4317, i32 noundef %4318) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4320:                                             ; preds = %4289
  %4321 = load i32, ptr @test_count, align 4, !tbaa !5
  %4322 = add nsw i32 %4321, 1
  store i32 %4322, ptr @test_count, align 4, !tbaa !5
  %4323 = load ptr, ptr %38, align 8, !tbaa !9
  %4324 = load ptr, ptr %39, align 8, !tbaa !9
  %4325 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef %4323, ptr noundef %4324) #12
  %4326 = icmp eq i32 %4325, -1
  br i1 %4326, label %4327, label %4351

4327:                                             ; preds = %4320
  %4328 = tail call ptr @__errno_location() #13
  %4329 = load i32, ptr %4328, align 4, !tbaa !5
  %4330 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4331 = call i32 @s2n_print_stacktrace(ptr noundef %4330) #12
  %4332 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4333 = trunc nuw i8 %4332 to i1
  br i1 %4333, label %4334, label %4338

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

4338:                                             ; preds = %4334, %4327
  br label %4339

4339:                                             ; preds = %4334, %4338
  %.str.5.sink2510 = phi ptr [ @.str.5, %4338 ], [ @.str.2, %4334 ]
  store i32 %4329, ptr %4328, align 4, !tbaa !5
  %4340 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4341 = load i32, ptr @test_count, align 4, !tbaa !5
  %4342 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4343 = load i32, ptr %4342, align 4, !tbaa !5
  %4344 = call ptr @s2n_strerror(i32 noundef %4343, ptr noundef nonnull @.str.4) #12
  %4345 = load i32, ptr %4342, align 4, !tbaa !5
  %4346 = call ptr @s2n_strerror_debug(i32 noundef %4345, ptr noundef nonnull @.str.4) #12
  %4347 = load i32, ptr %4328, align 4, !tbaa !5
  %4348 = call ptr @strerror(i32 noundef %4347) #12
  %4349 = load i32, ptr %4328, align 4, !tbaa !5
  %4350 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4340, ptr noundef nonnull %.str.5.sink2510, i32 noundef %4341, ptr noundef nonnull @.str.32, ptr noundef nonnull @.str.1, i32 noundef 336, ptr noundef %4344, ptr noundef %4346, ptr noundef %4348, i32 noundef %4349) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4351:                                             ; preds = %4320
  %4352 = load ptr, ptr %38, align 8, !tbaa !9
  %4353 = getelementptr inbounds i8, ptr %4352, i64 2896
  %4354 = call i64 @s2n_client_hello_get_extension_length(ptr noundef nonnull %4353, i32 noundef 65281) #12
  %4355 = load i32, ptr @test_count, align 4, !tbaa !5
  %4356 = add nsw i32 %4355, 1
  store i32 %4356, ptr @test_count, align 4, !tbaa !5
  %4357 = icmp eq i64 %4354, 0
  br i1 %4357, label %4382, label %4358

4358:                                             ; preds = %4351
  %4359 = tail call ptr @__errno_location() #13
  %4360 = load i32, ptr %4359, align 4, !tbaa !5
  %4361 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4362 = call i32 @s2n_print_stacktrace(ptr noundef %4361) #12
  %4363 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4364 = trunc nuw i8 %4363 to i1
  br i1 %4364, label %4365, label %4369

4365:                                             ; preds = %4358
  %4366 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4367 = call i32 @fileno(ptr noundef %4366) #12
  %4368 = call i32 @isatty(i32 noundef %4367) #12
  %.not636 = icmp eq i32 %4368, 0
  br i1 %.not636, label %4369, label %4370

4369:                                             ; preds = %4365, %4358
  br label %4370

4370:                                             ; preds = %4365, %4369
  %.str.5.sink2521 = phi ptr [ @.str.5, %4369 ], [ @.str.2, %4365 ]
  store i32 %4360, ptr %4359, align 4, !tbaa !5
  %4371 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4372 = load i32, ptr @test_count, align 4, !tbaa !5
  %4373 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4374 = load i32, ptr %4373, align 4, !tbaa !5
  %4375 = call ptr @s2n_strerror(i32 noundef %4374, ptr noundef nonnull @.str.4) #12
  %4376 = load i32, ptr %4373, align 4, !tbaa !5
  %4377 = call ptr @s2n_strerror_debug(i32 noundef %4376, ptr noundef nonnull @.str.4) #12
  %4378 = load i32, ptr %4359, align 4, !tbaa !5
  %4379 = call ptr @strerror(i32 noundef %4378) #12
  %4380 = load i32, ptr %4359, align 4, !tbaa !5
  %4381 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4371, ptr noundef nonnull %.str.5.sink2521, i32 noundef %4372, ptr noundef nonnull @.str.78, ptr noundef nonnull @.str.1, i32 noundef 341, ptr noundef %4375, ptr noundef %4377, ptr noundef %4379, i32 noundef %4380) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4382:                                             ; preds = %4351
  %4383 = add nsw i32 %4355, 2
  store i32 %4383, ptr @test_count, align 4, !tbaa !5
  %4384 = load ptr, ptr %39, align 8, !tbaa !9
  %4385 = call i32 @s2n_renegotiate_wipe(ptr noundef %4384) #12
  %4386 = icmp eq i32 %4385, -1
  br i1 %4386, label %4387, label %4411

4387:                                             ; preds = %4382
  %4388 = tail call ptr @__errno_location() #13
  %4389 = load i32, ptr %4388, align 4, !tbaa !5
  %4390 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4391 = call i32 @s2n_print_stacktrace(ptr noundef %4390) #12
  %4392 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4393 = trunc nuw i8 %4392 to i1
  br i1 %4393, label %4394, label %4398

4394:                                             ; preds = %4387
  %4395 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4396 = call i32 @fileno(ptr noundef %4395) #12
  %4397 = call i32 @isatty(i32 noundef %4396) #12
  %.not758 = icmp eq i32 %4397, 0
  br i1 %.not758, label %4398, label %4399

4398:                                             ; preds = %4394, %4387
  br label %4399

4399:                                             ; preds = %4394, %4398
  %.str.5.sink2532 = phi ptr [ @.str.5, %4398 ], [ @.str.2, %4394 ]
  store i32 %4389, ptr %4388, align 4, !tbaa !5
  %4400 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4401 = load i32, ptr @test_count, align 4, !tbaa !5
  %4402 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4403 = load i32, ptr %4402, align 4, !tbaa !5
  %4404 = call ptr @s2n_strerror(i32 noundef %4403, ptr noundef nonnull @.str.4) #12
  %4405 = load i32, ptr %4402, align 4, !tbaa !5
  %4406 = call ptr @s2n_strerror_debug(i32 noundef %4405, ptr noundef nonnull @.str.4) #12
  %4407 = load i32, ptr %4388, align 4, !tbaa !5
  %4408 = call ptr @strerror(i32 noundef %4407) #12
  %4409 = load i32, ptr %4388, align 4, !tbaa !5
  %4410 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4400, ptr noundef nonnull %.str.5.sink2532, i32 noundef %4401, ptr noundef nonnull @.str.33, ptr noundef nonnull @.str.1, i32 noundef 343, ptr noundef %4404, ptr noundef %4406, ptr noundef %4408, i32 noundef %4409) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4411:                                             ; preds = %4382
  %4412 = load i32, ptr @test_count, align 4, !tbaa !5
  %4413 = add nsw i32 %4412, 1
  store i32 %4413, ptr @test_count, align 4, !tbaa !5
  %4414 = load ptr, ptr %39, align 8, !tbaa !9
  %4415 = getelementptr inbounds i8, ptr %4414, i64 2168
  %4416 = load i8, ptr %4415, align 8, !tbaa !46
  %.not637 = icmp eq i8 %4416, 0
  br i1 %.not637, label %4417, label %4441

4417:                                             ; preds = %4411
  %4418 = tail call ptr @__errno_location() #13
  %4419 = load i32, ptr %4418, align 4, !tbaa !5
  %4420 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4421 = call i32 @s2n_print_stacktrace(ptr noundef %4420) #12
  %4422 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4423 = trunc nuw i8 %4422 to i1
  br i1 %4423, label %4424, label %4428

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

4428:                                             ; preds = %4424, %4417
  br label %4429

4429:                                             ; preds = %4424, %4428
  %.str.5.sink2543 = phi ptr [ @.str.5, %4428 ], [ @.str.2, %4424 ]
  store i32 %4419, ptr %4418, align 4, !tbaa !5
  %4430 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4431 = load i32, ptr @test_count, align 4, !tbaa !5
  %4432 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4433 = load i32, ptr %4432, align 4, !tbaa !5
  %4434 = call ptr @s2n_strerror(i32 noundef %4433, ptr noundef nonnull @.str.4) #12
  %4435 = load i32, ptr %4432, align 4, !tbaa !5
  %4436 = call ptr @s2n_strerror_debug(i32 noundef %4435, ptr noundef nonnull @.str.4) #12
  %4437 = load i32, ptr %4418, align 4, !tbaa !5
  %4438 = call ptr @strerror(i32 noundef %4437) #12
  %4439 = load i32, ptr %4418, align 4, !tbaa !5
  %4440 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4430, ptr noundef nonnull %.str.5.sink2543, i32 noundef %4431, ptr noundef nonnull @.str.79, ptr noundef nonnull @.str.1, i32 noundef 344, ptr noundef %4434, ptr noundef %4436, ptr noundef %4438, i32 noundef %4439) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4441:                                             ; preds = %4411
  %4442 = add nsw i32 %4412, 2
  store i32 %4442, ptr @test_count, align 4, !tbaa !5
  %4443 = load ptr, ptr %38, align 8, !tbaa !9
  %4444 = call i32 @s2n_renegotiate_wipe(ptr noundef %4443) #12
  %4445 = icmp eq i32 %4444, -1
  br i1 %4445, label %4446, label %4470

4446:                                             ; preds = %4441
  %4447 = tail call ptr @__errno_location() #13
  %4448 = load i32, ptr %4447, align 4, !tbaa !5
  %4449 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4450 = call i32 @s2n_print_stacktrace(ptr noundef %4449) #12
  %4451 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4452 = trunc nuw i8 %4451 to i1
  br i1 %4452, label %4453, label %4457

4453:                                             ; preds = %4446
  %4454 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4455 = call i32 @fileno(ptr noundef %4454) #12
  %4456 = call i32 @isatty(i32 noundef %4455) #12
  %.not757 = icmp eq i32 %4456, 0
  br i1 %.not757, label %4457, label %4458

4457:                                             ; preds = %4453, %4446
  br label %4458

4458:                                             ; preds = %4453, %4457
  %.str.5.sink2554 = phi ptr [ @.str.5, %4457 ], [ @.str.2, %4453 ]
  store i32 %4448, ptr %4447, align 4, !tbaa !5
  %4459 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4460 = load i32, ptr @test_count, align 4, !tbaa !5
  %4461 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4462 = load i32, ptr %4461, align 4, !tbaa !5
  %4463 = call ptr @s2n_strerror(i32 noundef %4462, ptr noundef nonnull @.str.4) #12
  %4464 = load i32, ptr %4461, align 4, !tbaa !5
  %4465 = call ptr @s2n_strerror_debug(i32 noundef %4464, ptr noundef nonnull @.str.4) #12
  %4466 = load i32, ptr %4447, align 4, !tbaa !5
  %4467 = call ptr @strerror(i32 noundef %4466) #12
  %4468 = load i32, ptr %4447, align 4, !tbaa !5
  %4469 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4459, ptr noundef nonnull %.str.5.sink2554, i32 noundef %4460, ptr noundef nonnull @.str.50, ptr noundef nonnull @.str.1, i32 noundef 345, ptr noundef %4463, ptr noundef %4465, ptr noundef %4467, i32 noundef %4468) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4470:                                             ; preds = %4441
  %4471 = load i32, ptr @test_count, align 4, !tbaa !5
  %4472 = add nsw i32 %4471, 1
  store i32 %4472, ptr @test_count, align 4, !tbaa !5
  %4473 = load ptr, ptr %38, align 8, !tbaa !9
  %4474 = load ptr, ptr %39, align 8, !tbaa !9
  %4475 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef %4473, ptr noundef %4474) #12
  %4476 = icmp eq i32 %4475, -1
  br i1 %4476, label %4477, label %4501

4477:                                             ; preds = %4470
  %4478 = tail call ptr @__errno_location() #13
  %4479 = load i32, ptr %4478, align 4, !tbaa !5
  %4480 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4481 = call i32 @s2n_print_stacktrace(ptr noundef %4480) #12
  %4482 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4483 = trunc nuw i8 %4482 to i1
  br i1 %4483, label %4484, label %4488

4484:                                             ; preds = %4477
  %4485 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4486 = call i32 @fileno(ptr noundef %4485) #12
  %4487 = call i32 @isatty(i32 noundef %4486) #12
  %.not756 = icmp eq i32 %4487, 0
  br i1 %.not756, label %4488, label %4489

4488:                                             ; preds = %4484, %4477
  br label %4489

4489:                                             ; preds = %4484, %4488
  %.str.5.sink2565 = phi ptr [ @.str.5, %4488 ], [ @.str.2, %4484 ]
  store i32 %4479, ptr %4478, align 4, !tbaa !5
  %4490 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4491 = load i32, ptr @test_count, align 4, !tbaa !5
  %4492 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4493 = load i32, ptr %4492, align 4, !tbaa !5
  %4494 = call ptr @s2n_strerror(i32 noundef %4493, ptr noundef nonnull @.str.4) #12
  %4495 = load i32, ptr %4492, align 4, !tbaa !5
  %4496 = call ptr @s2n_strerror_debug(i32 noundef %4495, ptr noundef nonnull @.str.4) #12
  %4497 = load i32, ptr %4478, align 4, !tbaa !5
  %4498 = call ptr @strerror(i32 noundef %4497) #12
  %4499 = load i32, ptr %4478, align 4, !tbaa !5
  %4500 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4490, ptr noundef nonnull %.str.5.sink2565, i32 noundef %4491, ptr noundef nonnull @.str.32, ptr noundef nonnull @.str.1, i32 noundef 347, ptr noundef %4494, ptr noundef %4496, ptr noundef %4498, i32 noundef %4499) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4501:                                             ; preds = %4470
  %4502 = load ptr, ptr %38, align 8, !tbaa !9
  %4503 = getelementptr inbounds i8, ptr %4502, i64 2896
  %4504 = call i64 @s2n_client_hello_get_extension_length(ptr noundef nonnull %4503, i32 noundef 65281) #12
  %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 = icmp ugt i64 %4504, 1
  br i1 %4507, label %4532, label %4508

4508:                                             ; preds = %4501
  %4509 = tail call ptr @__errno_location() #13
  %4510 = load i32, ptr %4509, align 4, !tbaa !5
  %4511 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4512 = call i32 @s2n_print_stacktrace(ptr noundef %4511) #12
  %4513 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4514 = trunc nuw i8 %4513 to i1
  br i1 %4514, label %4515, label %4519

4515:                                             ; preds = %4508
  %4516 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4517 = call i32 @fileno(ptr noundef %4516) #12
  %4518 = call i32 @isatty(i32 noundef %4517) #12
  %.not639 = icmp eq i32 %4518, 0
  br i1 %.not639, label %4519, label %4520

4519:                                             ; preds = %4515, %4508
  br label %4520

4520:                                             ; preds = %4515, %4519
  %.str.5.sink2576 = phi ptr [ @.str.5, %4519 ], [ @.str.2, %4515 ]
  store i32 %4510, ptr %4509, align 4, !tbaa !5
  %4521 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4522 = load i32, ptr @test_count, align 4, !tbaa !5
  %4523 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4524 = load i32, ptr %4523, align 4, !tbaa !5
  %4525 = call ptr @s2n_strerror(i32 noundef %4524, ptr noundef nonnull @.str.4) #12
  %4526 = load i32, ptr %4523, align 4, !tbaa !5
  %4527 = call ptr @s2n_strerror_debug(i32 noundef %4526, ptr noundef nonnull @.str.4) #12
  %4528 = load i32, ptr %4509, align 4, !tbaa !5
  %4529 = call ptr @strerror(i32 noundef %4528) #12
  %4530 = load i32, ptr %4509, align 4, !tbaa !5
  %4531 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4521, ptr noundef nonnull %.str.5.sink2576, i32 noundef %4522, ptr noundef nonnull @.str.80, ptr noundef nonnull @.str.1, i32 noundef 352, ptr noundef %4525, ptr noundef %4527, ptr noundef %4529, i32 noundef %4530) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4532:                                             ; preds = %4501
  %4533 = call i32 @s2n_io_pair_close(ptr noundef nonnull %40) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %40) #12
  %4534 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %39) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %39) #12
  %4535 = 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 %41) #12
  %4536 = call ptr @s2n_connection_new(i32 noundef 1) #12
  store ptr %4536, ptr %41, align 8, !tbaa !9
  %4537 = load i32, ptr @test_count, align 4, !tbaa !5
  %4538 = add nsw i32 %4537, 1
  store i32 %4538, ptr @test_count, align 4, !tbaa !5
  %4539 = icmp eq ptr %4536, null
  br i1 %4539, label %4540, label %4564

4540:                                             ; preds = %4532
  %4541 = tail call ptr @__errno_location() #13
  %4542 = load i32, ptr %4541, align 4, !tbaa !5
  %4543 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4544 = call i32 @s2n_print_stacktrace(ptr noundef %4543) #12
  %4545 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4546 = trunc nuw i8 %4545 to i1
  br i1 %4546, label %4547, label %4551

4547:                                             ; preds = %4540
  %4548 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4549 = call i32 @fileno(ptr noundef %4548) #12
  %4550 = call i32 @isatty(i32 noundef %4549) #12
  %.not755 = icmp eq i32 %4550, 0
  br i1 %.not755, label %4551, label %4552

4551:                                             ; preds = %4547, %4540
  br label %4552

4552:                                             ; preds = %4547, %4551
  %.str.5.sink2587 = phi ptr [ @.str.5, %4551 ], [ @.str.2, %4547 ]
  store i32 %4542, ptr %4541, align 4, !tbaa !5
  %4553 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4554 = load i32, ptr @test_count, align 4, !tbaa !5
  %4555 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4556 = load i32, ptr %4555, align 4, !tbaa !5
  %4557 = call ptr @s2n_strerror(i32 noundef %4556, ptr noundef nonnull @.str.4) #12
  %4558 = load i32, ptr %4555, align 4, !tbaa !5
  %4559 = call ptr @s2n_strerror_debug(i32 noundef %4558, ptr noundef nonnull @.str.4) #12
  %4560 = load i32, ptr %4541, align 4, !tbaa !5
  %4561 = call ptr @strerror(i32 noundef %4560) #12
  %4562 = load i32, ptr %4541, align 4, !tbaa !5
  %4563 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4553, ptr noundef nonnull %.str.5.sink2587, i32 noundef %4554, ptr noundef nonnull @.str.23, ptr noundef nonnull @.str.1, i32 noundef 358, ptr noundef %4557, ptr noundef %4559, ptr noundef %4561, i32 noundef %4562) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4564:                                             ; preds = %4532
  %4565 = add nsw i32 %4537, 2
  store i32 %4565, ptr @test_count, align 4, !tbaa !5
  %4566 = call i32 @s2n_connection_set_config(ptr noundef nonnull %4536, ptr noundef nonnull %240) #12
  %4567 = icmp eq i32 %4566, -1
  br i1 %4567, label %4568, label %4592

4568:                                             ; preds = %4564
  %4569 = tail call ptr @__errno_location() #13
  %4570 = load i32, ptr %4569, align 4, !tbaa !5
  %4571 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4572 = call i32 @s2n_print_stacktrace(ptr noundef %4571) #12
  %4573 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4574 = trunc nuw i8 %4573 to i1
  br i1 %4574, label %4575, label %4579

4575:                                             ; preds = %4568
  %4576 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4577 = call i32 @fileno(ptr noundef %4576) #12
  %4578 = call i32 @isatty(i32 noundef %4577) #12
  %.not754 = icmp eq i32 %4578, 0
  br i1 %.not754, label %4579, label %4580

4579:                                             ; preds = %4575, %4568
  br label %4580

4580:                                             ; preds = %4575, %4579
  %.str.5.sink2598 = phi ptr [ @.str.5, %4579 ], [ @.str.2, %4575 ]
  store i32 %4570, ptr %4569, align 4, !tbaa !5
  %4581 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4582 = load i32, ptr @test_count, align 4, !tbaa !5
  %4583 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4584 = load i32, ptr %4583, align 4, !tbaa !5
  %4585 = call ptr @s2n_strerror(i32 noundef %4584, ptr noundef nonnull @.str.4) #12
  %4586 = load i32, ptr %4583, align 4, !tbaa !5
  %4587 = call ptr @s2n_strerror_debug(i32 noundef %4586, ptr noundef nonnull @.str.4) #12
  %4588 = load i32, ptr %4569, align 4, !tbaa !5
  %4589 = call ptr @strerror(i32 noundef %4588) #12
  %4590 = load i32, ptr %4569, align 4, !tbaa !5
  %4591 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4581, ptr noundef nonnull %.str.5.sink2598, i32 noundef %4582, ptr noundef nonnull @.str.24, ptr noundef nonnull @.str.1, i32 noundef 359, ptr noundef %4585, ptr noundef %4587, ptr noundef %4589, i32 noundef %4590) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4592:                                             ; preds = %4564
  %4593 = load ptr, ptr %41, align 8, !tbaa !9
  %4594 = getelementptr inbounds i8, ptr %4593, i64 220
  store i8 33, ptr %4594, align 4, !tbaa !47
  %4595 = load i32, ptr @test_count, align 4, !tbaa !5
  %4596 = add nsw i32 %4595, 1
  store i32 %4596, ptr @test_count, align 4, !tbaa !5
  %4597 = load i32, ptr %4593, align 8
  %4598 = and i32 %4597, 8
  %.not640 = icmp eq i32 %4598, 0
  br i1 %.not640, label %4623, label %4599

4599:                                             ; preds = %4592
  %4600 = tail call ptr @__errno_location() #13
  %4601 = load i32, ptr %4600, align 4, !tbaa !5
  %4602 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4603 = call i32 @s2n_print_stacktrace(ptr noundef %4602) #12
  %4604 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4605 = trunc nuw i8 %4604 to i1
  br i1 %4605, label %4606, label %4610

4606:                                             ; preds = %4599
  %4607 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4608 = call i32 @fileno(ptr noundef %4607) #12
  %4609 = call i32 @isatty(i32 noundef %4608) #12
  %.not753 = icmp eq i32 %4609, 0
  br i1 %.not753, label %4610, label %4611

4610:                                             ; preds = %4606, %4599
  br label %4611

4611:                                             ; preds = %4606, %4610
  %.str.5.sink2609 = phi ptr [ @.str.5, %4610 ], [ @.str.2, %4606 ]
  store i32 %4601, ptr %4600, align 4, !tbaa !5
  %4612 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4613 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %4615, ptr noundef nonnull @.str.4) #12
  %4617 = load i32, ptr %4614, align 4, !tbaa !5
  %4618 = call ptr @s2n_strerror_debug(i32 noundef %4617, ptr noundef nonnull @.str.4) #12
  %4619 = load i32, ptr %4600, align 4, !tbaa !5
  %4620 = call ptr @strerror(i32 noundef %4619) #12
  %4621 = load i32, ptr %4600, align 4, !tbaa !5
  %4622 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4612, ptr noundef nonnull %.str.5.sink2609, i32 noundef %4613, ptr noundef nonnull @.str.81, ptr noundef nonnull @.str.1, i32 noundef 362, ptr noundef %4616, ptr noundef %4618, ptr noundef %4620, i32 noundef %4621) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4623:                                             ; preds = %4592
  %4624 = add nsw i32 %4595, 2
  store i32 %4624, ptr @test_count, align 4, !tbaa !5
  %4625 = call i32 @s2n_renegotiate_wipe(ptr noundef nonnull %4593) #12
  %4626 = icmp eq i32 %4625, -1
  br i1 %4626, label %4651, label %4627

4627:                                             ; preds = %4623
  %4628 = tail call ptr @__errno_location() #13
  %4629 = load i32, ptr %4628, align 4, !tbaa !5
  %4630 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4631 = call i32 @s2n_print_stacktrace(ptr noundef %4630) #12
  %4632 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4633 = trunc nuw i8 %4632 to i1
  br i1 %4633, label %4634, label %4638

4634:                                             ; preds = %4627
  %4635 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4636 = call i32 @fileno(ptr noundef %4635) #12
  %4637 = call i32 @isatty(i32 noundef %4636) #12
  %.not641 = icmp eq i32 %4637, 0
  br i1 %.not641, label %4638, label %4639

4638:                                             ; preds = %4634, %4627
  br label %4639

4639:                                             ; preds = %4634, %4638
  %.str.5.sink2620 = phi ptr [ @.str.5, %4638 ], [ @.str.2, %4634 ]
  store i32 %4629, ptr %4628, align 4, !tbaa !5
  %4640 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4641 = load i32, ptr @test_count, align 4, !tbaa !5
  %4642 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4643 = load i32, ptr %4642, align 4, !tbaa !5
  %4644 = call ptr @s2n_strerror(i32 noundef %4643, ptr noundef nonnull @.str.4) #12
  %4645 = load i32, ptr %4642, align 4, !tbaa !5
  %4646 = call ptr @s2n_strerror_debug(i32 noundef %4645, ptr noundef nonnull @.str.4) #12
  %4647 = load i32, ptr %4628, align 4, !tbaa !5
  %4648 = call ptr @strerror(i32 noundef %4647) #12
  %4649 = load i32, ptr %4628, align 4, !tbaa !5
  %4650 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4640, ptr noundef nonnull %.str.5.sink2620, i32 noundef %4641, ptr noundef nonnull @.str.82, ptr noundef nonnull @.str.1, i32 noundef 363, ptr noundef %4644, ptr noundef %4646, ptr noundef %4648, i32 noundef %4649) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4651:                                             ; preds = %4623
  %4652 = load i32, ptr @test_count, align 4, !tbaa !5
  %4653 = add nsw i32 %4652, 1
  store i32 %4653, ptr @test_count, align 4, !tbaa !5
  %4654 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4655 = load i32, ptr %4654, align 4, !tbaa !5
  %4656 = icmp eq i32 %4655, 335544398
  br i1 %4656, label %4680, label %4657

4657:                                             ; preds = %4651
  %4658 = tail call ptr @__errno_location() #13
  %4659 = load i32, ptr %4658, align 4, !tbaa !5
  %4660 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4661 = call i32 @s2n_print_stacktrace(ptr noundef %4660) #12
  %4662 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4663 = trunc nuw i8 %4662 to i1
  br i1 %4663, label %4664, label %4668

4664:                                             ; preds = %4657
  %4665 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4666 = call i32 @fileno(ptr noundef %4665) #12
  %4667 = call i32 @isatty(i32 noundef %4666) #12
  %.not642 = icmp eq i32 %4667, 0
  br i1 %.not642, label %4668, label %4669

4668:                                             ; preds = %4664, %4657
  br label %4669

4669:                                             ; preds = %4664, %4668
  %.str.5.sink2631 = phi ptr [ @.str.5, %4668 ], [ @.str.2, %4664 ]
  store i32 %4659, ptr %4658, align 4, !tbaa !5
  %4670 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4671 = load i32, ptr @test_count, align 4, !tbaa !5
  %4672 = load i32, ptr %4654, align 4, !tbaa !5
  %4673 = call ptr @s2n_strerror(i32 noundef %4672, ptr noundef nonnull @.str.4) #12
  %4674 = load i32, ptr %4654, align 4, !tbaa !5
  %4675 = call ptr @s2n_strerror_debug(i32 noundef %4674, ptr noundef nonnull @.str.4) #12
  %4676 = load i32, ptr %4658, align 4, !tbaa !5
  %4677 = call ptr @strerror(i32 noundef %4676) #12
  %4678 = load i32, ptr %4658, align 4, !tbaa !5
  %4679 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4670, ptr noundef nonnull %.str.5.sink2631, i32 noundef %4671, ptr noundef nonnull @.str.83, ptr noundef nonnull @.str.1, i32 noundef 363, ptr noundef %4673, ptr noundef %4675, ptr noundef %4677, i32 noundef %4678) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4680:                                             ; preds = %4651
  %4681 = add nsw i32 %4652, 2
  store i32 %4681, ptr @test_count, align 4, !tbaa !5
  %4682 = call ptr @s2n_strerror_debug(i32 noundef 335544398, ptr noundef nonnull @.str.4) #12
  %4683 = icmp eq ptr %4682, null
  br i1 %4683, label %4684, label %4707

4684:                                             ; preds = %4680
  %4685 = tail call ptr @__errno_location() #13
  %4686 = load i32, ptr %4685, align 4, !tbaa !5
  %4687 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4688 = call i32 @s2n_print_stacktrace(ptr noundef %4687) #12
  %4689 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4690 = trunc nuw i8 %4689 to i1
  br i1 %4690, label %4691, label %4695

4691:                                             ; preds = %4684
  %4692 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4693 = call i32 @fileno(ptr noundef %4692) #12
  %4694 = call i32 @isatty(i32 noundef %4693) #12
  %.not752 = icmp eq i32 %4694, 0
  br i1 %.not752, label %4695, label %4696

4695:                                             ; preds = %4691, %4684
  br label %4696

4696:                                             ; preds = %4691, %4695
  %.str.5.sink2640 = phi ptr [ @.str.5, %4695 ], [ @.str.2, %4691 ]
  store i32 %4686, ptr %4685, align 4, !tbaa !5
  %4697 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4698 = load i32, ptr @test_count, align 4, !tbaa !5
  %4699 = load i32, ptr %4654, align 4, !tbaa !5
  %4700 = call ptr @s2n_strerror(i32 noundef %4699, ptr noundef nonnull @.str.4) #12
  %4701 = load i32, ptr %4654, align 4, !tbaa !5
  %4702 = call ptr @s2n_strerror_debug(i32 noundef %4701, ptr noundef nonnull @.str.4) #12
  %4703 = load i32, ptr %4685, align 4, !tbaa !5
  %4704 = call ptr @strerror(i32 noundef %4703) #12
  %4705 = load i32, ptr %4685, align 4, !tbaa !5
  %4706 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4697, ptr noundef nonnull %.str.5.sink2640, i32 noundef %4698, ptr noundef nonnull @.str.84, ptr noundef nonnull @.str.1, i32 noundef 363, ptr noundef %4700, ptr noundef %4702, ptr noundef %4704, i32 noundef %4705) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4707:                                             ; preds = %4680
  store i32 0, ptr %4654, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  %4708 = tail call ptr @__errno_location() #13
  store i32 0, ptr %4708, align 4, !tbaa !5
  %4709 = load ptr, ptr %41, align 8, !tbaa !9
  %4710 = load i32, ptr %4709, align 8
  %4711 = or i32 %4710, 8
  store i32 %4711, ptr %4709, align 8
  %4712 = load i32, ptr @test_count, align 4, !tbaa !5
  %4713 = add nsw i32 %4712, 1
  store i32 %4713, ptr @test_count, align 4, !tbaa !5
  %4714 = load ptr, ptr %41, align 8, !tbaa !9
  %4715 = call i32 @s2n_renegotiate_wipe(ptr noundef %4714) #12
  %4716 = icmp eq i32 %4715, -1
  br i1 %4716, label %4717, label %4739

4717:                                             ; preds = %4707
  %4718 = load i32, ptr %4708, align 4, !tbaa !5
  %4719 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4720 = call i32 @s2n_print_stacktrace(ptr noundef %4719) #12
  %4721 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4722 = trunc nuw i8 %4721 to i1
  br i1 %4722, label %4723, label %4727

4723:                                             ; preds = %4717
  %4724 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4725 = call i32 @fileno(ptr noundef %4724) #12
  %4726 = call i32 @isatty(i32 noundef %4725) #12
  %.not751 = icmp eq i32 %4726, 0
  br i1 %.not751, label %4727, label %4728

4727:                                             ; preds = %4723, %4717
  br label %4728

4728:                                             ; preds = %4723, %4727
  %.str.5.sink2649 = phi ptr [ @.str.5, %4727 ], [ @.str.2, %4723 ]
  store i32 %4718, ptr %4708, align 4, !tbaa !5
  %4729 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4730 = load i32, ptr @test_count, align 4, !tbaa !5
  %4731 = load i32, ptr %4654, align 4, !tbaa !5
  %4732 = call ptr @s2n_strerror(i32 noundef %4731, ptr noundef nonnull @.str.4) #12
  %4733 = load i32, ptr %4654, align 4, !tbaa !5
  %4734 = call ptr @s2n_strerror_debug(i32 noundef %4733, ptr noundef nonnull @.str.4) #12
  %4735 = load i32, ptr %4708, align 4, !tbaa !5
  %4736 = call ptr @strerror(i32 noundef %4735) #12
  %4737 = load i32, ptr %4708, align 4, !tbaa !5
  %4738 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4729, ptr noundef nonnull %.str.5.sink2649, i32 noundef %4730, ptr noundef nonnull @.str.33, ptr noundef nonnull @.str.1, i32 noundef 365, ptr noundef %4732, ptr noundef %4734, ptr noundef %4736, i32 noundef %4737) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4739:                                             ; preds = %4707
  %4740 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %41) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %41) #12
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %42) #12
  %4741 = call ptr @s2n_connection_new(i32 noundef 1) #12
  store ptr %4741, ptr %42, align 8, !tbaa !9
  %4742 = load i32, ptr @test_count, align 4, !tbaa !5
  %4743 = add nsw i32 %4742, 1
  store i32 %4743, ptr @test_count, align 4, !tbaa !5
  %4744 = icmp eq ptr %4741, null
  br i1 %4744, label %4745, label %4767

4745:                                             ; preds = %4739
  %4746 = load i32, ptr %4708, align 4, !tbaa !5
  %4747 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4748 = call i32 @s2n_print_stacktrace(ptr noundef %4747) #12
  %4749 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4750 = trunc nuw i8 %4749 to i1
  br i1 %4750, label %4751, label %4755

4751:                                             ; preds = %4745
  %4752 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4753 = call i32 @fileno(ptr noundef %4752) #12
  %4754 = call i32 @isatty(i32 noundef %4753) #12
  %.not750 = icmp eq i32 %4754, 0
  br i1 %.not750, label %4755, label %4756

4755:                                             ; preds = %4751, %4745
  br label %4756

4756:                                             ; preds = %4751, %4755
  %.str.5.sink2658 = phi ptr [ @.str.5, %4755 ], [ @.str.2, %4751 ]
  store i32 %4746, ptr %4708, align 4, !tbaa !5
  %4757 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4758 = load i32, ptr @test_count, align 4, !tbaa !5
  %4759 = load i32, ptr %4654, align 4, !tbaa !5
  %4760 = call ptr @s2n_strerror(i32 noundef %4759, ptr noundef nonnull @.str.4) #12
  %4761 = load i32, ptr %4654, align 4, !tbaa !5
  %4762 = call ptr @s2n_strerror_debug(i32 noundef %4761, ptr noundef nonnull @.str.4) #12
  %4763 = load i32, ptr %4708, align 4, !tbaa !5
  %4764 = call ptr @strerror(i32 noundef %4763) #12
  %4765 = load i32, ptr %4708, align 4, !tbaa !5
  %4766 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4757, ptr noundef nonnull %.str.5.sink2658, i32 noundef %4758, ptr noundef nonnull @.str.23, ptr noundef nonnull @.str.1, i32 noundef 371, ptr noundef %4760, ptr noundef %4762, ptr noundef %4764, i32 noundef %4765) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4767:                                             ; preds = %4739
  %4768 = add nsw i32 %4742, 2
  store i32 %4768, ptr @test_count, align 4, !tbaa !5
  %4769 = call i32 @s2n_connection_set_config(ptr noundef nonnull %4741, ptr noundef nonnull %240) #12
  %4770 = icmp eq i32 %4769, -1
  br i1 %4770, label %4771, label %4793

4771:                                             ; preds = %4767
  %4772 = load i32, ptr %4708, align 4, !tbaa !5
  %4773 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4774 = call i32 @s2n_print_stacktrace(ptr noundef %4773) #12
  %4775 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4776 = trunc nuw i8 %4775 to i1
  br i1 %4776, label %4777, label %4781

4777:                                             ; preds = %4771
  %4778 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4779 = call i32 @fileno(ptr noundef %4778) #12
  %4780 = call i32 @isatty(i32 noundef %4779) #12
  %.not749 = icmp eq i32 %4780, 0
  br i1 %.not749, label %4781, label %4782

4781:                                             ; preds = %4777, %4771
  br label %4782

4782:                                             ; preds = %4777, %4781
  %.str.5.sink2667 = phi ptr [ @.str.5, %4781 ], [ @.str.2, %4777 ]
  store i32 %4772, ptr %4708, align 4, !tbaa !5
  %4783 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4784 = load i32, ptr @test_count, align 4, !tbaa !5
  %4785 = load i32, ptr %4654, align 4, !tbaa !5
  %4786 = call ptr @s2n_strerror(i32 noundef %4785, ptr noundef nonnull @.str.4) #12
  %4787 = load i32, ptr %4654, align 4, !tbaa !5
  %4788 = call ptr @s2n_strerror_debug(i32 noundef %4787, ptr noundef nonnull @.str.4) #12
  %4789 = load i32, ptr %4708, align 4, !tbaa !5
  %4790 = call ptr @strerror(i32 noundef %4789) #12
  %4791 = load i32, ptr %4708, align 4, !tbaa !5
  %4792 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4783, ptr noundef nonnull %.str.5.sink2667, i32 noundef %4784, ptr noundef nonnull @.str.24, ptr noundef nonnull @.str.1, i32 noundef 372, ptr noundef %4786, ptr noundef %4788, ptr noundef %4790, i32 noundef %4791) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4793:                                             ; preds = %4767
  %4794 = load ptr, ptr %42, align 8, !tbaa !9
  %4795 = load i32, ptr %4794, align 8
  %4796 = or i32 %4795, 8
  store i32 %4796, ptr %4794, align 8
  %4797 = load i32, ptr @test_count, align 4, !tbaa !5
  %4798 = add nsw i32 %4797, 1
  store i32 %4798, ptr @test_count, align 4, !tbaa !5
  %4799 = load ptr, ptr %42, align 8, !tbaa !9
  %4800 = getelementptr inbounds i8, ptr %4799, i64 220
  %4801 = load i8, ptr %4800, align 4, !tbaa !47
  %4802 = icmp ugt i8 %4801, 33
  br i1 %4802, label %4825, label %4803

4803:                                             ; preds = %4793
  %4804 = load i32, ptr %4708, align 4, !tbaa !5
  %4805 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4806 = call i32 @s2n_print_stacktrace(ptr noundef %4805) #12
  %4807 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4808 = trunc nuw i8 %4807 to i1
  br i1 %4808, label %4809, label %4813

4809:                                             ; preds = %4803
  %4810 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4811 = call i32 @fileno(ptr noundef %4810) #12
  %4812 = call i32 @isatty(i32 noundef %4811) #12
  %.not643 = icmp eq i32 %4812, 0
  br i1 %.not643, label %4813, label %4814

4813:                                             ; preds = %4809, %4803
  br label %4814

4814:                                             ; preds = %4809, %4813
  %.str.5.sink2676 = phi ptr [ @.str.5, %4813 ], [ @.str.2, %4809 ]
  store i32 %4804, ptr %4708, align 4, !tbaa !5
  %4815 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4816 = load i32, ptr @test_count, align 4, !tbaa !5
  %4817 = load i32, ptr %4654, align 4, !tbaa !5
  %4818 = call ptr @s2n_strerror(i32 noundef %4817, ptr noundef nonnull @.str.4) #12
  %4819 = load i32, ptr %4654, align 4, !tbaa !5
  %4820 = call ptr @s2n_strerror_debug(i32 noundef %4819, ptr noundef nonnull @.str.4) #12
  %4821 = load i32, ptr %4708, align 4, !tbaa !5
  %4822 = call ptr @strerror(i32 noundef %4821) #12
  %4823 = load i32, ptr %4708, align 4, !tbaa !5
  %4824 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4815, ptr noundef nonnull %.str.5.sink2676, i32 noundef %4816, ptr noundef nonnull @.str.85, ptr noundef nonnull @.str.1, i32 noundef 375, ptr noundef %4818, ptr noundef %4820, ptr noundef %4822, i32 noundef %4823) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4825:                                             ; preds = %4793
  %4826 = add nsw i32 %4797, 2
  store i32 %4826, ptr @test_count, align 4, !tbaa !5
  %4827 = call i32 @s2n_renegotiate_wipe(ptr noundef nonnull %4799) #12
  %4828 = icmp eq i32 %4827, -1
  br i1 %4828, label %4851, label %4829

4829:                                             ; preds = %4825
  %4830 = load i32, ptr %4708, align 4, !tbaa !5
  %4831 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4832 = call i32 @s2n_print_stacktrace(ptr noundef %4831) #12
  %4833 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4834 = trunc nuw i8 %4833 to i1
  br i1 %4834, label %4835, label %4839

4835:                                             ; preds = %4829
  %4836 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4837 = call i32 @fileno(ptr noundef %4836) #12
  %4838 = call i32 @isatty(i32 noundef %4837) #12
  %.not644 = icmp eq i32 %4838, 0
  br i1 %.not644, label %4839, label %4840

4839:                                             ; preds = %4835, %4829
  br label %4840

4840:                                             ; preds = %4835, %4839
  %.str.5.sink2685 = phi ptr [ @.str.5, %4839 ], [ @.str.2, %4835 ]
  store i32 %4830, ptr %4708, align 4, !tbaa !5
  %4841 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4842 = load i32, ptr @test_count, align 4, !tbaa !5
  %4843 = load i32, ptr %4654, align 4, !tbaa !5
  %4844 = call ptr @s2n_strerror(i32 noundef %4843, ptr noundef nonnull @.str.4) #12
  %4845 = load i32, ptr %4654, align 4, !tbaa !5
  %4846 = call ptr @s2n_strerror_debug(i32 noundef %4845, ptr noundef nonnull @.str.4) #12
  %4847 = load i32, ptr %4708, align 4, !tbaa !5
  %4848 = call ptr @strerror(i32 noundef %4847) #12
  %4849 = load i32, ptr %4708, align 4, !tbaa !5
  %4850 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4841, ptr noundef nonnull %.str.5.sink2685, i32 noundef %4842, ptr noundef nonnull @.str.82, ptr noundef nonnull @.str.1, i32 noundef 376, ptr noundef %4844, ptr noundef %4846, ptr noundef %4848, i32 noundef %4849) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4851:                                             ; preds = %4825
  %4852 = load i32, ptr @test_count, align 4, !tbaa !5
  %4853 = add nsw i32 %4852, 1
  store i32 %4853, ptr @test_count, align 4, !tbaa !5
  %4854 = load i32, ptr %4654, align 4, !tbaa !5
  %4855 = icmp eq i32 %4854, 335544384
  br i1 %4855, label %4878, label %4856

4856:                                             ; preds = %4851
  %4857 = load i32, ptr %4708, align 4, !tbaa !5
  %4858 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4859 = call i32 @s2n_print_stacktrace(ptr noundef %4858) #12
  %4860 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4861 = trunc nuw i8 %4860 to i1
  br i1 %4861, label %4862, label %4866

4862:                                             ; preds = %4856
  %4863 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4864 = call i32 @fileno(ptr noundef %4863) #12
  %4865 = call i32 @isatty(i32 noundef %4864) #12
  %.not645 = icmp eq i32 %4865, 0
  br i1 %.not645, label %4866, label %4867

4866:                                             ; preds = %4862, %4856
  br label %4867

4867:                                             ; preds = %4862, %4866
  %.str.5.sink2694 = phi ptr [ @.str.5, %4866 ], [ @.str.2, %4862 ]
  store i32 %4857, ptr %4708, align 4, !tbaa !5
  %4868 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4869 = load i32, ptr @test_count, align 4, !tbaa !5
  %4870 = load i32, ptr %4654, align 4, !tbaa !5
  %4871 = call ptr @s2n_strerror(i32 noundef %4870, ptr noundef nonnull @.str.4) #12
  %4872 = load i32, ptr %4654, align 4, !tbaa !5
  %4873 = call ptr @s2n_strerror_debug(i32 noundef %4872, ptr noundef nonnull @.str.4) #12
  %4874 = load i32, ptr %4708, align 4, !tbaa !5
  %4875 = call ptr @strerror(i32 noundef %4874) #12
  %4876 = load i32, ptr %4708, align 4, !tbaa !5
  %4877 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4868, ptr noundef nonnull %.str.5.sink2694, i32 noundef %4869, ptr noundef nonnull @.str.86, ptr noundef nonnull @.str.1, i32 noundef 376, ptr noundef %4871, ptr noundef %4873, ptr noundef %4875, i32 noundef %4876) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4878:                                             ; preds = %4851
  %4879 = add nsw i32 %4852, 2
  store i32 %4879, ptr @test_count, align 4, !tbaa !5
  %4880 = call ptr @s2n_strerror_debug(i32 noundef 335544384, ptr noundef nonnull @.str.4) #12
  %4881 = icmp eq ptr %4880, null
  br i1 %4881, label %4882, label %4904

4882:                                             ; preds = %4878
  %4883 = load i32, ptr %4708, align 4, !tbaa !5
  %4884 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4885 = call i32 @s2n_print_stacktrace(ptr noundef %4884) #12
  %4886 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4887 = trunc nuw i8 %4886 to i1
  br i1 %4887, label %4888, label %4892

4888:                                             ; preds = %4882
  %4889 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4890 = call i32 @fileno(ptr noundef %4889) #12
  %4891 = call i32 @isatty(i32 noundef %4890) #12
  %.not748 = icmp eq i32 %4891, 0
  br i1 %.not748, label %4892, label %4893

4892:                                             ; preds = %4888, %4882
  br label %4893

4893:                                             ; preds = %4888, %4892
  %.str.5.sink2703 = phi ptr [ @.str.5, %4892 ], [ @.str.2, %4888 ]
  store i32 %4883, ptr %4708, align 4, !tbaa !5
  %4894 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4895 = load i32, ptr @test_count, align 4, !tbaa !5
  %4896 = load i32, ptr %4654, align 4, !tbaa !5
  %4897 = call ptr @s2n_strerror(i32 noundef %4896, ptr noundef nonnull @.str.4) #12
  %4898 = load i32, ptr %4654, align 4, !tbaa !5
  %4899 = call ptr @s2n_strerror_debug(i32 noundef %4898, ptr noundef nonnull @.str.4) #12
  %4900 = load i32, ptr %4708, align 4, !tbaa !5
  %4901 = call ptr @strerror(i32 noundef %4900) #12
  %4902 = load i32, ptr %4708, align 4, !tbaa !5
  %4903 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4894, ptr noundef nonnull %.str.5.sink2703, i32 noundef %4895, ptr noundef nonnull @.str.84, ptr noundef nonnull @.str.1, i32 noundef 376, ptr noundef %4897, ptr noundef %4899, ptr noundef %4901, i32 noundef %4902) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4904:                                             ; preds = %4878
  store i32 0, ptr %4654, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %4708, align 4, !tbaa !5
  %4905 = load ptr, ptr %42, align 8, !tbaa !9
  %4906 = getelementptr inbounds i8, ptr %4905, i64 220
  store i8 33, ptr %4906, align 4, !tbaa !47
  %4907 = load i32, ptr @test_count, align 4, !tbaa !5
  %4908 = add nsw i32 %4907, 1
  store i32 %4908, ptr @test_count, align 4, !tbaa !5
  %4909 = call i32 @s2n_renegotiate_wipe(ptr noundef %4905) #12
  %4910 = icmp eq i32 %4909, -1
  br i1 %4910, label %4911, label %4933

4911:                                             ; preds = %4904
  %4912 = load i32, ptr %4708, align 4, !tbaa !5
  %4913 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4914 = call i32 @s2n_print_stacktrace(ptr noundef %4913) #12
  %4915 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4916 = trunc nuw i8 %4915 to i1
  br i1 %4916, label %4917, label %4921

4917:                                             ; preds = %4911
  %4918 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4919 = call i32 @fileno(ptr noundef %4918) #12
  %4920 = call i32 @isatty(i32 noundef %4919) #12
  %.not747 = icmp eq i32 %4920, 0
  br i1 %.not747, label %4921, label %4922

4921:                                             ; preds = %4917, %4911
  br label %4922

4922:                                             ; preds = %4917, %4921
  %.str.5.sink2712 = phi ptr [ @.str.5, %4921 ], [ @.str.2, %4917 ]
  store i32 %4912, ptr %4708, align 4, !tbaa !5
  %4923 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4924 = load i32, ptr @test_count, align 4, !tbaa !5
  %4925 = load i32, ptr %4654, align 4, !tbaa !5
  %4926 = call ptr @s2n_strerror(i32 noundef %4925, ptr noundef nonnull @.str.4) #12
  %4927 = load i32, ptr %4654, align 4, !tbaa !5
  %4928 = call ptr @s2n_strerror_debug(i32 noundef %4927, ptr noundef nonnull @.str.4) #12
  %4929 = load i32, ptr %4708, align 4, !tbaa !5
  %4930 = call ptr @strerror(i32 noundef %4929) #12
  %4931 = load i32, ptr %4708, align 4, !tbaa !5
  %4932 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4923, ptr noundef nonnull %.str.5.sink2712, i32 noundef %4924, ptr noundef nonnull @.str.33, ptr noundef nonnull @.str.1, i32 noundef 378, ptr noundef %4926, ptr noundef %4928, ptr noundef %4930, i32 noundef %4931) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4933:                                             ; preds = %4904
  %4934 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %42) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %42) #12
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %43) #12
  %4935 = call ptr @s2n_connection_new(i32 noundef 0) #12
  store ptr %4935, ptr %43, align 8, !tbaa !9
  %4936 = load i32, ptr @test_count, align 4, !tbaa !5
  %4937 = add nsw i32 %4936, 1
  store i32 %4937, ptr @test_count, align 4, !tbaa !5
  %4938 = icmp eq ptr %4935, null
  br i1 %4938, label %4939, label %4961

4939:                                             ; preds = %4933
  %4940 = load i32, ptr %4708, align 4, !tbaa !5
  %4941 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4942 = call i32 @s2n_print_stacktrace(ptr noundef %4941) #12
  %4943 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4944 = trunc nuw i8 %4943 to i1
  br i1 %4944, label %4945, label %4949

4945:                                             ; preds = %4939
  %4946 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4947 = call i32 @fileno(ptr noundef %4946) #12
  %4948 = call i32 @isatty(i32 noundef %4947) #12
  %.not746 = icmp eq i32 %4948, 0
  br i1 %.not746, label %4949, label %4950

4949:                                             ; preds = %4945, %4939
  br label %4950

4950:                                             ; preds = %4945, %4949
  %.str.5.sink2721 = phi ptr [ @.str.5, %4949 ], [ @.str.2, %4945 ]
  store i32 %4940, ptr %4708, align 4, !tbaa !5
  %4951 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4952 = load i32, ptr @test_count, align 4, !tbaa !5
  %4953 = load i32, ptr %4654, align 4, !tbaa !5
  %4954 = call ptr @s2n_strerror(i32 noundef %4953, ptr noundef nonnull @.str.4) #12
  %4955 = load i32, ptr %4654, align 4, !tbaa !5
  %4956 = call ptr @s2n_strerror_debug(i32 noundef %4955, ptr noundef nonnull @.str.4) #12
  %4957 = load i32, ptr %4708, align 4, !tbaa !5
  %4958 = call ptr @strerror(i32 noundef %4957) #12
  %4959 = load i32, ptr %4708, align 4, !tbaa !5
  %4960 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4951, ptr noundef nonnull %.str.5.sink2721, i32 noundef %4952, ptr noundef nonnull @.str.21, ptr noundef nonnull @.str.1, i32 noundef 384, ptr noundef %4954, ptr noundef %4956, ptr noundef %4958, i32 noundef %4959) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4961:                                             ; preds = %4933
  %4962 = add nsw i32 %4936, 2
  store i32 %4962, ptr @test_count, align 4, !tbaa !5
  %4963 = call i32 @s2n_connection_set_config(ptr noundef nonnull %4935, ptr noundef nonnull %240) #12
  %4964 = icmp eq i32 %4963, -1
  br i1 %4964, label %4965, label %4987

4965:                                             ; preds = %4961
  %4966 = load i32, ptr %4708, align 4, !tbaa !5
  %4967 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4968 = call i32 @s2n_print_stacktrace(ptr noundef %4967) #12
  %4969 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4970 = trunc nuw i8 %4969 to i1
  br i1 %4970, label %4971, label %4975

4971:                                             ; preds = %4965
  %4972 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4973 = call i32 @fileno(ptr noundef %4972) #12
  %4974 = call i32 @isatty(i32 noundef %4973) #12
  %.not745 = icmp eq i32 %4974, 0
  br i1 %.not745, label %4975, label %4976

4975:                                             ; preds = %4971, %4965
  br label %4976

4976:                                             ; preds = %4971, %4975
  %.str.5.sink2730 = phi ptr [ @.str.5, %4975 ], [ @.str.2, %4971 ]
  store i32 %4966, ptr %4708, align 4, !tbaa !5
  %4977 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4978 = load i32, ptr @test_count, align 4, !tbaa !5
  %4979 = load i32, ptr %4654, align 4, !tbaa !5
  %4980 = call ptr @s2n_strerror(i32 noundef %4979, ptr noundef nonnull @.str.4) #12
  %4981 = load i32, ptr %4654, align 4, !tbaa !5
  %4982 = call ptr @s2n_strerror_debug(i32 noundef %4981, ptr noundef nonnull @.str.4) #12
  %4983 = load i32, ptr %4708, align 4, !tbaa !5
  %4984 = call ptr @strerror(i32 noundef %4983) #12
  %4985 = load i32, ptr %4708, align 4, !tbaa !5
  %4986 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4977, ptr noundef nonnull %.str.5.sink2730, i32 noundef %4978, ptr noundef nonnull @.str.22, ptr noundef nonnull @.str.1, i32 noundef 385, ptr noundef %4980, ptr noundef %4982, ptr noundef %4984, i32 noundef %4985) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4987:                                             ; preds = %4961
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %44) #12
  %4988 = call ptr @s2n_connection_new(i32 noundef 1) #12
  store ptr %4988, ptr %44, align 8, !tbaa !9
  %4989 = load i32, ptr @test_count, align 4, !tbaa !5
  %4990 = add nsw i32 %4989, 1
  store i32 %4990, ptr @test_count, align 4, !tbaa !5
  %4991 = icmp eq ptr %4988, null
  br i1 %4991, label %4992, label %5014

4992:                                             ; preds = %4987
  %4993 = load i32, ptr %4708, align 4, !tbaa !5
  %4994 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4995 = call i32 @s2n_print_stacktrace(ptr noundef %4994) #12
  %4996 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4997 = trunc nuw i8 %4996 to i1
  br i1 %4997, label %4998, label %5002

4998:                                             ; preds = %4992
  %4999 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5000 = call i32 @fileno(ptr noundef %4999) #12
  %5001 = call i32 @isatty(i32 noundef %5000) #12
  %.not744 = icmp eq i32 %5001, 0
  br i1 %.not744, label %5002, label %5003

5002:                                             ; preds = %4998, %4992
  br label %5003

5003:                                             ; preds = %4998, %5002
  %.str.5.sink2739 = phi ptr [ @.str.5, %5002 ], [ @.str.2, %4998 ]
  store i32 %4993, ptr %4708, align 4, !tbaa !5
  %5004 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5005 = load i32, ptr @test_count, align 4, !tbaa !5
  %5006 = load i32, ptr %4654, align 4, !tbaa !5
  %5007 = call ptr @s2n_strerror(i32 noundef %5006, ptr noundef nonnull @.str.4) #12
  %5008 = load i32, ptr %4654, align 4, !tbaa !5
  %5009 = call ptr @s2n_strerror_debug(i32 noundef %5008, ptr noundef nonnull @.str.4) #12
  %5010 = load i32, ptr %4708, align 4, !tbaa !5
  %5011 = call ptr @strerror(i32 noundef %5010) #12
  %5012 = load i32, ptr %4708, align 4, !tbaa !5
  %5013 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5004, ptr noundef nonnull %.str.5.sink2739, i32 noundef %5005, ptr noundef nonnull @.str.23, ptr noundef nonnull @.str.1, i32 noundef 388, ptr noundef %5007, ptr noundef %5009, ptr noundef %5011, i32 noundef %5012) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5014:                                             ; preds = %4987
  %5015 = add nsw i32 %4989, 2
  store i32 %5015, ptr @test_count, align 4, !tbaa !5
  %5016 = call i32 @s2n_connection_set_config(ptr noundef nonnull %4988, ptr noundef nonnull %240) #12
  %5017 = icmp eq i32 %5016, -1
  br i1 %5017, label %5018, label %5040

5018:                                             ; preds = %5014
  %5019 = load i32, ptr %4708, align 4, !tbaa !5
  %5020 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5021 = call i32 @s2n_print_stacktrace(ptr noundef %5020) #12
  %5022 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5023 = trunc nuw i8 %5022 to i1
  br i1 %5023, label %5024, label %5028

5024:                                             ; preds = %5018
  %5025 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5026 = call i32 @fileno(ptr noundef %5025) #12
  %5027 = call i32 @isatty(i32 noundef %5026) #12
  %.not743 = icmp eq i32 %5027, 0
  br i1 %.not743, label %5028, label %5029

5028:                                             ; preds = %5024, %5018
  br label %5029

5029:                                             ; preds = %5024, %5028
  %.str.5.sink2748 = phi ptr [ @.str.5, %5028 ], [ @.str.2, %5024 ]
  store i32 %5019, ptr %4708, align 4, !tbaa !5
  %5030 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5031 = load i32, ptr @test_count, align 4, !tbaa !5
  %5032 = load i32, ptr %4654, align 4, !tbaa !5
  %5033 = call ptr @s2n_strerror(i32 noundef %5032, ptr noundef nonnull @.str.4) #12
  %5034 = load i32, ptr %4654, align 4, !tbaa !5
  %5035 = call ptr @s2n_strerror_debug(i32 noundef %5034, ptr noundef nonnull @.str.4) #12
  %5036 = load i32, ptr %4708, align 4, !tbaa !5
  %5037 = call ptr @strerror(i32 noundef %5036) #12
  %5038 = load i32, ptr %4708, align 4, !tbaa !5
  %5039 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5030, ptr noundef nonnull %.str.5.sink2748, i32 noundef %5031, ptr noundef nonnull @.str.24, ptr noundef nonnull @.str.1, i32 noundef 389, ptr noundef %5033, ptr noundef %5035, ptr noundef %5037, i32 noundef %5038) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5040:                                             ; preds = %5014
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %45) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %45, i8 0, i64 40, i1 false)
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %46) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %46, i8 0, i64 40, i1 false)
  %5041 = load i32, ptr @test_count, align 4, !tbaa !5
  %5042 = add nsw i32 %5041, 1
  store i32 %5042, ptr @test_count, align 4, !tbaa !5
  %5043 = call i32 @s2n_stuffer_growable_alloc(ptr noundef nonnull %45, i32 noundef 0) #12
  %5044 = icmp eq i32 %5043, -1
  br i1 %5044, label %5045, label %5067

5045:                                             ; preds = %5040
  %5046 = load i32, ptr %4708, align 4, !tbaa !5
  %5047 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5048 = call i32 @s2n_print_stacktrace(ptr noundef %5047) #12
  %5049 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5050 = trunc nuw i8 %5049 to i1
  br i1 %5050, label %5051, label %5055

5051:                                             ; preds = %5045
  %5052 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5053 = call i32 @fileno(ptr noundef %5052) #12
  %5054 = call i32 @isatty(i32 noundef %5053) #12
  %.not742 = icmp eq i32 %5054, 0
  br i1 %.not742, label %5055, label %5056

5055:                                             ; preds = %5051, %5045
  br label %5056

5056:                                             ; preds = %5051, %5055
  %.str.5.sink2757 = phi ptr [ @.str.5, %5055 ], [ @.str.2, %5051 ]
  store i32 %5046, ptr %4708, align 4, !tbaa !5
  %5057 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5058 = load i32, ptr @test_count, align 4, !tbaa !5
  %5059 = load i32, ptr %4654, align 4, !tbaa !5
  %5060 = call ptr @s2n_strerror(i32 noundef %5059, ptr noundef nonnull @.str.4) #12
  %5061 = load i32, ptr %4654, align 4, !tbaa !5
  %5062 = call ptr @s2n_strerror_debug(i32 noundef %5061, ptr noundef nonnull @.str.4) #12
  %5063 = load i32, ptr %4708, align 4, !tbaa !5
  %5064 = call ptr @strerror(i32 noundef %5063) #12
  %5065 = load i32, ptr %4708, align 4, !tbaa !5
  %5066 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5057, ptr noundef nonnull %.str.5.sink2757, i32 noundef %5058, ptr noundef nonnull @.str.37, ptr noundef nonnull @.str.1, i32 noundef 393, ptr noundef %5060, ptr noundef %5062, ptr noundef %5064, i32 noundef %5065) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5067:                                             ; preds = %5040
  %5068 = load i32, ptr @test_count, align 4, !tbaa !5
  %5069 = add nsw i32 %5068, 1
  store i32 %5069, ptr @test_count, align 4, !tbaa !5
  %5070 = call i32 @s2n_stuffer_growable_alloc(ptr noundef nonnull %46, i32 noundef 0) #12
  %5071 = icmp eq i32 %5070, -1
  br i1 %5071, label %5072, label %5094

5072:                                             ; preds = %5067
  %5073 = load i32, ptr %4708, align 4, !tbaa !5
  %5074 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5075 = call i32 @s2n_print_stacktrace(ptr noundef %5074) #12
  %5076 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5077 = trunc nuw i8 %5076 to i1
  br i1 %5077, label %5078, label %5082

5078:                                             ; preds = %5072
  %5079 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5080 = call i32 @fileno(ptr noundef %5079) #12
  %5081 = call i32 @isatty(i32 noundef %5080) #12
  %.not741 = icmp eq i32 %5081, 0
  br i1 %.not741, label %5082, label %5083

5082:                                             ; preds = %5078, %5072
  br label %5083

5083:                                             ; preds = %5078, %5082
  %.str.5.sink2766 = phi ptr [ @.str.5, %5082 ], [ @.str.2, %5078 ]
  store i32 %5073, ptr %4708, align 4, !tbaa !5
  %5084 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5085 = load i32, ptr @test_count, align 4, !tbaa !5
  %5086 = load i32, ptr %4654, align 4, !tbaa !5
  %5087 = call ptr @s2n_strerror(i32 noundef %5086, ptr noundef nonnull @.str.4) #12
  %5088 = load i32, ptr %4654, align 4, !tbaa !5
  %5089 = call ptr @s2n_strerror_debug(i32 noundef %5088, ptr noundef nonnull @.str.4) #12
  %5090 = load i32, ptr %4708, align 4, !tbaa !5
  %5091 = call ptr @strerror(i32 noundef %5090) #12
  %5092 = load i32, ptr %4708, align 4, !tbaa !5
  %5093 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5084, ptr noundef nonnull %.str.5.sink2766, i32 noundef %5085, ptr noundef nonnull @.str.38, ptr noundef nonnull @.str.1, i32 noundef 394, ptr noundef %5087, ptr noundef %5089, ptr noundef %5091, i32 noundef %5092) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5094:                                             ; preds = %5067
  %5095 = load i32, ptr @test_count, align 4, !tbaa !5
  %5096 = add nsw i32 %5095, 1
  store i32 %5096, ptr @test_count, align 4, !tbaa !5
  %5097 = load ptr, ptr %44, align 8, !tbaa !9
  %5098 = call i32 @s2n_connection_set_io_stuffers(ptr noundef nonnull %45, ptr noundef nonnull %46, ptr noundef %5097) #12
  %5099 = icmp eq i32 %5098, -1
  br i1 %5099, label %5100, label %5122

5100:                                             ; preds = %5094
  %5101 = load i32, ptr %4708, align 4, !tbaa !5
  %5102 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5103 = call i32 @s2n_print_stacktrace(ptr noundef %5102) #12
  %5104 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5105 = trunc nuw i8 %5104 to i1
  br i1 %5105, label %5106, label %5110

5106:                                             ; preds = %5100
  %5107 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5108 = call i32 @fileno(ptr noundef %5107) #12
  %5109 = call i32 @isatty(i32 noundef %5108) #12
  %.not740 = icmp eq i32 %5109, 0
  br i1 %.not740, label %5110, label %5111

5110:                                             ; preds = %5106, %5100
  br label %5111

5111:                                             ; preds = %5106, %5110
  %.str.5.sink2775 = phi ptr [ @.str.5, %5110 ], [ @.str.2, %5106 ]
  store i32 %5101, ptr %4708, align 4, !tbaa !5
  %5112 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5113 = load i32, ptr @test_count, align 4, !tbaa !5
  %5114 = load i32, ptr %4654, align 4, !tbaa !5
  %5115 = call ptr @s2n_strerror(i32 noundef %5114, ptr noundef nonnull @.str.4) #12
  %5116 = load i32, ptr %4654, align 4, !tbaa !5
  %5117 = call ptr @s2n_strerror_debug(i32 noundef %5116, ptr noundef nonnull @.str.4) #12
  %5118 = load i32, ptr %4708, align 4, !tbaa !5
  %5119 = call ptr @strerror(i32 noundef %5118) #12
  %5120 = load i32, ptr %4708, align 4, !tbaa !5
  %5121 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5112, ptr noundef nonnull %.str.5.sink2775, i32 noundef %5113, ptr noundef nonnull @.str.39, ptr noundef nonnull @.str.1, i32 noundef 395, ptr noundef %5115, ptr noundef %5117, ptr noundef %5119, i32 noundef %5120) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5122:                                             ; preds = %5094
  %5123 = load i32, ptr @test_count, align 4, !tbaa !5
  %5124 = add nsw i32 %5123, 1
  store i32 %5124, ptr @test_count, align 4, !tbaa !5
  %5125 = load ptr, ptr %43, align 8, !tbaa !9
  %5126 = call i32 @s2n_connection_set_io_stuffers(ptr noundef nonnull %46, ptr noundef nonnull %45, ptr noundef %5125) #12
  %5127 = icmp eq i32 %5126, -1
  br i1 %5127, label %5128, label %5150

5128:                                             ; preds = %5122
  %5129 = load i32, ptr %4708, align 4, !tbaa !5
  %5130 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5131 = call i32 @s2n_print_stacktrace(ptr noundef %5130) #12
  %5132 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5133 = trunc nuw i8 %5132 to i1
  br i1 %5133, label %5134, label %5138

5134:                                             ; preds = %5128
  %5135 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5136 = call i32 @fileno(ptr noundef %5135) #12
  %5137 = call i32 @isatty(i32 noundef %5136) #12
  %.not739 = icmp eq i32 %5137, 0
  br i1 %.not739, label %5138, label %5139

5138:                                             ; preds = %5134, %5128
  br label %5139

5139:                                             ; preds = %5134, %5138
  %.str.5.sink2784 = phi ptr [ @.str.5, %5138 ], [ @.str.2, %5134 ]
  store i32 %5129, ptr %4708, align 4, !tbaa !5
  %5140 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5141 = load i32, ptr @test_count, align 4, !tbaa !5
  %5142 = load i32, ptr %4654, align 4, !tbaa !5
  %5143 = call ptr @s2n_strerror(i32 noundef %5142, ptr noundef nonnull @.str.4) #12
  %5144 = load i32, ptr %4654, align 4, !tbaa !5
  %5145 = call ptr @s2n_strerror_debug(i32 noundef %5144, ptr noundef nonnull @.str.4) #12
  %5146 = load i32, ptr %4708, align 4, !tbaa !5
  %5147 = call ptr @strerror(i32 noundef %5146) #12
  %5148 = load i32, ptr %4708, align 4, !tbaa !5
  %5149 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5140, ptr noundef nonnull %.str.5.sink2784, i32 noundef %5141, ptr noundef nonnull @.str.40, ptr noundef nonnull @.str.1, i32 noundef 396, ptr noundef %5143, ptr noundef %5145, ptr noundef %5147, i32 noundef %5148) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5150:                                             ; preds = %5122
  %5151 = load i32, ptr @test_count, align 4, !tbaa !5
  %5152 = add nsw i32 %5151, 1
  store i32 %5152, ptr @test_count, align 4, !tbaa !5
  %5153 = load ptr, ptr %43, align 8, !tbaa !9
  %5154 = load ptr, ptr %44, align 8, !tbaa !9
  %5155 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef %5153, ptr noundef %5154) #12
  %5156 = icmp eq i32 %5155, -1
  br i1 %5156, label %5157, label %5179

5157:                                             ; preds = %5150
  %5158 = load i32, ptr %4708, align 4, !tbaa !5
  %5159 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5160 = call i32 @s2n_print_stacktrace(ptr noundef %5159) #12
  %5161 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5162 = trunc nuw i8 %5161 to i1
  br i1 %5162, label %5163, label %5167

5163:                                             ; preds = %5157
  %5164 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5165 = call i32 @fileno(ptr noundef %5164) #12
  %5166 = call i32 @isatty(i32 noundef %5165) #12
  %.not738 = icmp eq i32 %5166, 0
  br i1 %.not738, label %5167, label %5168

5167:                                             ; preds = %5163, %5157
  br label %5168

5168:                                             ; preds = %5163, %5167
  %.str.5.sink2793 = phi ptr [ @.str.5, %5167 ], [ @.str.2, %5163 ]
  store i32 %5158, ptr %4708, align 4, !tbaa !5
  %5169 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5170 = load i32, ptr @test_count, align 4, !tbaa !5
  %5171 = load i32, ptr %4654, align 4, !tbaa !5
  %5172 = call ptr @s2n_strerror(i32 noundef %5171, ptr noundef nonnull @.str.4) #12
  %5173 = load i32, ptr %4654, align 4, !tbaa !5
  %5174 = call ptr @s2n_strerror_debug(i32 noundef %5173, ptr noundef nonnull @.str.4) #12
  %5175 = load i32, ptr %4708, align 4, !tbaa !5
  %5176 = call ptr @strerror(i32 noundef %5175) #12
  %5177 = load i32, ptr %4708, align 4, !tbaa !5
  %5178 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5169, ptr noundef nonnull %.str.5.sink2793, i32 noundef %5170, ptr noundef nonnull @.str.32, ptr noundef nonnull @.str.1, i32 noundef 398, ptr noundef %5172, ptr noundef %5174, ptr noundef %5176, i32 noundef %5177) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5179:                                             ; preds = %5150
  %5180 = load ptr, ptr %44, align 8, !tbaa !9
  %5181 = getelementptr inbounds i8, ptr %5180, i64 2208
  %5182 = load i16, ptr %5181, align 8, !tbaa !45
  %5183 = lshr i16 %5182, 1
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %47) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %47, i8 0, i64 40, i1 false)
  %5184 = load i32, ptr @test_count, align 4, !tbaa !5
  %5185 = add nsw i32 %5184, 1
  store i32 %5185, ptr @test_count, align 4, !tbaa !5
  %5186 = zext nneg i16 %5183 to i32
  %5187 = call i32 @s2n_stuffer_alloc(ptr noundef nonnull %47, i32 noundef %5186) #12
  %5188 = icmp eq i32 %5187, -1
  br i1 %5188, label %5189, label %5211

5189:                                             ; preds = %5179
  %5190 = load i32, ptr %4708, align 4, !tbaa !5
  %5191 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5192 = call i32 @s2n_print_stacktrace(ptr noundef %5191) #12
  %5193 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5194 = trunc nuw i8 %5193 to i1
  br i1 %5194, label %5195, label %5199

5195:                                             ; preds = %5189
  %5196 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5197 = call i32 @fileno(ptr noundef %5196) #12
  %5198 = call i32 @isatty(i32 noundef %5197) #12
  %.not737 = icmp eq i32 %5198, 0
  br i1 %.not737, label %5199, label %5200

5199:                                             ; preds = %5195, %5189
  br label %5200

5200:                                             ; preds = %5195, %5199
  %.str.5.sink2802 = phi ptr [ @.str.5, %5199 ], [ @.str.2, %5195 ]
  store i32 %5190, ptr %4708, align 4, !tbaa !5
  %5201 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5202 = load i32, ptr @test_count, align 4, !tbaa !5
  %5203 = load i32, ptr %4654, align 4, !tbaa !5
  %5204 = call ptr @s2n_strerror(i32 noundef %5203, ptr noundef nonnull @.str.4) #12
  %5205 = load i32, ptr %4654, align 4, !tbaa !5
  %5206 = call ptr @s2n_strerror_debug(i32 noundef %5205, ptr noundef nonnull @.str.4) #12
  %5207 = load i32, ptr %4708, align 4, !tbaa !5
  %5208 = call ptr @strerror(i32 noundef %5207) #12
  %5209 = load i32, ptr %4708, align 4, !tbaa !5
  %5210 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5201, ptr noundef nonnull %.str.5.sink2802, i32 noundef %5202, ptr noundef nonnull @.str.87, ptr noundef nonnull @.str.1, i32 noundef 403, ptr noundef %5204, ptr noundef %5206, ptr noundef %5208, i32 noundef %5209) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5211:                                             ; preds = %5179
  %5212 = load i32, ptr @test_count, align 4, !tbaa !5
  %5213 = add nsw i32 %5212, 1
  store i32 %5213, ptr @test_count, align 4, !tbaa !5
  %5214 = load ptr, ptr %44, align 8, !tbaa !9
  %5215 = call i32 @s2n_connection_set_send_io_stuffer(ptr noundef nonnull %47, ptr noundef %5214) #12
  %5216 = icmp eq i32 %5215, -1
  br i1 %5216, label %5217, label %5239

5217:                                             ; preds = %5211
  %5218 = load i32, ptr %4708, align 4, !tbaa !5
  %5219 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5220 = call i32 @s2n_print_stacktrace(ptr noundef %5219) #12
  %5221 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5222 = trunc nuw i8 %5221 to i1
  br i1 %5222, label %5223, label %5227

5223:                                             ; preds = %5217
  %5224 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5225 = call i32 @fileno(ptr noundef %5224) #12
  %5226 = call i32 @isatty(i32 noundef %5225) #12
  %.not736 = icmp eq i32 %5226, 0
  br i1 %.not736, label %5227, label %5228

5227:                                             ; preds = %5223, %5217
  br label %5228

5228:                                             ; preds = %5223, %5227
  %.str.5.sink2811 = phi ptr [ @.str.5, %5227 ], [ @.str.2, %5223 ]
  store i32 %5218, ptr %4708, align 4, !tbaa !5
  %5229 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5230 = load i32, ptr @test_count, align 4, !tbaa !5
  %5231 = load i32, ptr %4654, align 4, !tbaa !5
  %5232 = call ptr @s2n_strerror(i32 noundef %5231, ptr noundef nonnull @.str.4) #12
  %5233 = load i32, ptr %4654, align 4, !tbaa !5
  %5234 = call ptr @s2n_strerror_debug(i32 noundef %5233, ptr noundef nonnull @.str.4) #12
  %5235 = load i32, ptr %4708, align 4, !tbaa !5
  %5236 = call ptr @strerror(i32 noundef %5235) #12
  %5237 = load i32, ptr %4708, align 4, !tbaa !5
  %5238 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5229, ptr noundef nonnull %.str.5.sink2811, i32 noundef %5230, ptr noundef nonnull @.str.88, ptr noundef nonnull @.str.1, i32 noundef 404, ptr noundef %5232, ptr noundef %5234, ptr noundef %5236, i32 noundef %5237) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5239:                                             ; preds = %5211
  %5240 = load i32, ptr @test_count, align 4, !tbaa !5
  %5241 = add nsw i32 %5240, 1
  store i32 %5241, ptr @test_count, align 4, !tbaa !5
  %5242 = load ptr, ptr %44, align 8, !tbaa !9
  %5243 = call i64 @s2n_send(ptr noundef %5242, ptr noundef nonnull %8, i64 noundef 16384, ptr noundef nonnull %9) #12
  %5244 = icmp eq i64 %5243, -1
  br i1 %5244, label %5267, label %5245

5245:                                             ; preds = %5239
  %5246 = load i32, ptr %4708, align 4, !tbaa !5
  %5247 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5248 = call i32 @s2n_print_stacktrace(ptr noundef %5247) #12
  %5249 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5250 = trunc nuw i8 %5249 to i1
  br i1 %5250, label %5251, label %5255

5251:                                             ; preds = %5245
  %5252 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5253 = call i32 @fileno(ptr noundef %5252) #12
  %5254 = call i32 @isatty(i32 noundef %5253) #12
  %.not646 = icmp eq i32 %5254, 0
  br i1 %.not646, label %5255, label %5256

5255:                                             ; preds = %5251, %5245
  br label %5256

5256:                                             ; preds = %5251, %5255
  %.str.5.sink2820 = phi ptr [ @.str.5, %5255 ], [ @.str.2, %5251 ]
  store i32 %5246, ptr %4708, align 4, !tbaa !5
  %5257 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5258 = load i32, ptr @test_count, align 4, !tbaa !5
  %5259 = load i32, ptr %4654, align 4, !tbaa !5
  %5260 = call ptr @s2n_strerror(i32 noundef %5259, ptr noundef nonnull @.str.4) #12
  %5261 = load i32, ptr %4654, align 4, !tbaa !5
  %5262 = call ptr @s2n_strerror_debug(i32 noundef %5261, ptr noundef nonnull @.str.4) #12
  %5263 = load i32, ptr %4708, align 4, !tbaa !5
  %5264 = call ptr @strerror(i32 noundef %5263) #12
  %5265 = load i32, ptr %4708, align 4, !tbaa !5
  %5266 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5257, ptr noundef nonnull %.str.5.sink2820, i32 noundef %5258, ptr noundef nonnull @.str.89, ptr noundef nonnull @.str.1, i32 noundef 406, ptr noundef %5260, ptr noundef %5262, ptr noundef %5264, i32 noundef %5265) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5267:                                             ; preds = %5239
  %5268 = load i32, ptr @test_count, align 4, !tbaa !5
  %5269 = add nsw i32 %5268, 1
  store i32 %5269, ptr @test_count, align 4, !tbaa !5
  %5270 = load i32, ptr %4654, align 4, !tbaa !5
  %5271 = icmp eq i32 %5270, 201326592
  br i1 %5271, label %5294, label %5272

5272:                                             ; preds = %5267
  %5273 = load i32, ptr %4708, align 4, !tbaa !5
  %5274 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5275 = call i32 @s2n_print_stacktrace(ptr noundef %5274) #12
  %5276 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5277 = trunc nuw i8 %5276 to i1
  br i1 %5277, label %5278, label %5282

5278:                                             ; preds = %5272
  %5279 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5280 = call i32 @fileno(ptr noundef %5279) #12
  %5281 = call i32 @isatty(i32 noundef %5280) #12
  %.not647 = icmp eq i32 %5281, 0
  br i1 %.not647, label %5282, label %5283

5282:                                             ; preds = %5278, %5272
  br label %5283

5283:                                             ; preds = %5278, %5282
  %.str.5.sink2829 = phi ptr [ @.str.5, %5282 ], [ @.str.2, %5278 ]
  store i32 %5273, ptr %4708, align 4, !tbaa !5
  %5284 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5285 = load i32, ptr @test_count, align 4, !tbaa !5
  %5286 = load i32, ptr %4654, align 4, !tbaa !5
  %5287 = call ptr @s2n_strerror(i32 noundef %5286, ptr noundef nonnull @.str.4) #12
  %5288 = load i32, ptr %4654, align 4, !tbaa !5
  %5289 = call ptr @s2n_strerror_debug(i32 noundef %5288, ptr noundef nonnull @.str.4) #12
  %5290 = load i32, ptr %4708, align 4, !tbaa !5
  %5291 = call ptr @strerror(i32 noundef %5290) #12
  %5292 = load i32, ptr %4708, align 4, !tbaa !5
  %5293 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5284, ptr noundef nonnull %.str.5.sink2829, i32 noundef %5285, ptr noundef nonnull @.str.90, ptr noundef nonnull @.str.1, i32 noundef 406, ptr noundef %5287, ptr noundef %5289, ptr noundef %5291, i32 noundef %5292) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5294:                                             ; preds = %5267
  %5295 = add nsw i32 %5268, 2
  store i32 %5295, ptr @test_count, align 4, !tbaa !5
  %5296 = call ptr @s2n_strerror_debug(i32 noundef 201326592, ptr noundef nonnull @.str.4) #12
  %5297 = icmp eq ptr %5296, null
  br i1 %5297, label %5298, label %5320

5298:                                             ; preds = %5294
  %5299 = load i32, ptr %4708, align 4, !tbaa !5
  %5300 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5301 = call i32 @s2n_print_stacktrace(ptr noundef %5300) #12
  %5302 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5303 = trunc nuw i8 %5302 to i1
  br i1 %5303, label %5304, label %5308

5304:                                             ; preds = %5298
  %5305 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5306 = call i32 @fileno(ptr noundef %5305) #12
  %5307 = call i32 @isatty(i32 noundef %5306) #12
  %.not735 = icmp eq i32 %5307, 0
  br i1 %.not735, label %5308, label %5309

5308:                                             ; preds = %5304, %5298
  br label %5309

5309:                                             ; preds = %5304, %5308
  %.str.5.sink2838 = phi ptr [ @.str.5, %5308 ], [ @.str.2, %5304 ]
  store i32 %5299, ptr %4708, align 4, !tbaa !5
  %5310 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5311 = load i32, ptr @test_count, align 4, !tbaa !5
  %5312 = load i32, ptr %4654, align 4, !tbaa !5
  %5313 = call ptr @s2n_strerror(i32 noundef %5312, ptr noundef nonnull @.str.4) #12
  %5314 = load i32, ptr %4654, align 4, !tbaa !5
  %5315 = call ptr @s2n_strerror_debug(i32 noundef %5314, ptr noundef nonnull @.str.4) #12
  %5316 = load i32, ptr %4708, align 4, !tbaa !5
  %5317 = call ptr @strerror(i32 noundef %5316) #12
  %5318 = load i32, ptr %4708, align 4, !tbaa !5
  %5319 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5310, ptr noundef nonnull %.str.5.sink2838, i32 noundef %5311, ptr noundef nonnull @.str.84, ptr noundef nonnull @.str.1, i32 noundef 406, ptr noundef %5313, ptr noundef %5315, ptr noundef %5317, i32 noundef %5318) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5320:                                             ; preds = %5294
  store i32 0, ptr %4654, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %4708, align 4, !tbaa !5
  %5321 = load i32, ptr @test_count, align 4, !tbaa !5
  %5322 = add nsw i32 %5321, 1
  store i32 %5322, ptr @test_count, align 4, !tbaa !5
  %5323 = load i32, ptr %9, align 4, !tbaa !5
  %5324 = icmp eq i32 %5323, 2
  br i1 %5324, label %5347, label %5325

5325:                                             ; preds = %5320
  %5326 = load i32, ptr %4708, align 4, !tbaa !5
  %5327 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5328 = call i32 @s2n_print_stacktrace(ptr noundef %5327) #12
  %5329 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5330 = trunc nuw i8 %5329 to i1
  br i1 %5330, label %5331, label %5335

5331:                                             ; preds = %5325
  %5332 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5333 = call i32 @fileno(ptr noundef %5332) #12
  %5334 = call i32 @isatty(i32 noundef %5333) #12
  %.not648 = icmp eq i32 %5334, 0
  br i1 %.not648, label %5335, label %5336

5335:                                             ; preds = %5331, %5325
  br label %5336

5336:                                             ; preds = %5331, %5335
  %.str.5.sink2847 = phi ptr [ @.str.5, %5335 ], [ @.str.2, %5331 ]
  store i32 %5326, ptr %4708, align 4, !tbaa !5
  %5337 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5338 = load i32, ptr @test_count, align 4, !tbaa !5
  %5339 = load i32, ptr %4654, align 4, !tbaa !5
  %5340 = call ptr @s2n_strerror(i32 noundef %5339, ptr noundef nonnull @.str.4) #12
  %5341 = load i32, ptr %4654, align 4, !tbaa !5
  %5342 = call ptr @s2n_strerror_debug(i32 noundef %5341, ptr noundef nonnull @.str.4) #12
  %5343 = load i32, ptr %4708, align 4, !tbaa !5
  %5344 = call ptr @strerror(i32 noundef %5343) #12
  %5345 = load i32, ptr %4708, align 4, !tbaa !5
  %5346 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5337, ptr noundef nonnull %.str.5.sink2847, i32 noundef %5338, ptr noundef nonnull @.str.91, ptr noundef nonnull @.str.1, i32 noundef 407, ptr noundef %5340, ptr noundef %5342, ptr noundef %5344, i32 noundef %5345) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5347:                                             ; preds = %5320
  %5348 = add nsw i32 %5321, 2
  store i32 %5348, ptr @test_count, align 4, !tbaa !5
  %5349 = load ptr, ptr %44, align 8, !tbaa !9
  %5350 = call i32 @s2n_renegotiate_wipe(ptr noundef %5349) #12
  %5351 = icmp eq i32 %5350, -1
  br i1 %5351, label %5374, label %5352

5352:                                             ; preds = %5347
  %5353 = load i32, ptr %4708, align 4, !tbaa !5
  %5354 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5355 = call i32 @s2n_print_stacktrace(ptr noundef %5354) #12
  %5356 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5357 = trunc nuw i8 %5356 to i1
  br i1 %5357, label %5358, label %5362

5358:                                             ; preds = %5352
  %5359 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5360 = call i32 @fileno(ptr noundef %5359) #12
  %5361 = call i32 @isatty(i32 noundef %5360) #12
  %.not649 = icmp eq i32 %5361, 0
  br i1 %.not649, label %5362, label %5363

5362:                                             ; preds = %5358, %5352
  br label %5363

5363:                                             ; preds = %5358, %5362
  %.str.5.sink2856 = phi ptr [ @.str.5, %5362 ], [ @.str.2, %5358 ]
  store i32 %5353, ptr %4708, align 4, !tbaa !5
  %5364 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5365 = load i32, ptr @test_count, align 4, !tbaa !5
  %5366 = load i32, ptr %4654, align 4, !tbaa !5
  %5367 = call ptr @s2n_strerror(i32 noundef %5366, ptr noundef nonnull @.str.4) #12
  %5368 = load i32, ptr %4654, align 4, !tbaa !5
  %5369 = call ptr @s2n_strerror_debug(i32 noundef %5368, ptr noundef nonnull @.str.4) #12
  %5370 = load i32, ptr %4708, align 4, !tbaa !5
  %5371 = call ptr @strerror(i32 noundef %5370) #12
  %5372 = load i32, ptr %4708, align 4, !tbaa !5
  %5373 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5364, ptr noundef nonnull %.str.5.sink2856, i32 noundef %5365, ptr noundef nonnull @.str.82, ptr noundef nonnull @.str.1, i32 noundef 409, ptr noundef %5367, ptr noundef %5369, ptr noundef %5371, i32 noundef %5372) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5374:                                             ; preds = %5347
  %5375 = load i32, ptr @test_count, align 4, !tbaa !5
  %5376 = add nsw i32 %5375, 1
  store i32 %5376, ptr @test_count, align 4, !tbaa !5
  %5377 = load i32, ptr %4654, align 4, !tbaa !5
  %5378 = icmp eq i32 %5377, 469762112
  br i1 %5378, label %5401, label %5379

5379:                                             ; preds = %5374
  %5380 = load i32, ptr %4708, align 4, !tbaa !5
  %5381 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5382 = call i32 @s2n_print_stacktrace(ptr noundef %5381) #12
  %5383 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5384 = trunc nuw i8 %5383 to i1
  br i1 %5384, label %5385, label %5389

5385:                                             ; preds = %5379
  %5386 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5387 = call i32 @fileno(ptr noundef %5386) #12
  %5388 = call i32 @isatty(i32 noundef %5387) #12
  %.not650 = icmp eq i32 %5388, 0
  br i1 %.not650, label %5389, label %5390

5389:                                             ; preds = %5385, %5379
  br label %5390

5390:                                             ; preds = %5385, %5389
  %.str.5.sink2865 = phi ptr [ @.str.5, %5389 ], [ @.str.2, %5385 ]
  store i32 %5380, ptr %4708, align 4, !tbaa !5
  %5391 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5392 = load i32, ptr @test_count, align 4, !tbaa !5
  %5393 = load i32, ptr %4654, align 4, !tbaa !5
  %5394 = call ptr @s2n_strerror(i32 noundef %5393, ptr noundef nonnull @.str.4) #12
  %5395 = load i32, ptr %4654, align 4, !tbaa !5
  %5396 = call ptr @s2n_strerror_debug(i32 noundef %5395, ptr noundef nonnull @.str.4) #12
  %5397 = load i32, ptr %4708, align 4, !tbaa !5
  %5398 = call ptr @strerror(i32 noundef %5397) #12
  %5399 = load i32, ptr %4708, align 4, !tbaa !5
  %5400 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5391, ptr noundef nonnull %.str.5.sink2865, i32 noundef %5392, ptr noundef nonnull @.str.92, ptr noundef nonnull @.str.1, i32 noundef 409, ptr noundef %5394, ptr noundef %5396, ptr noundef %5398, i32 noundef %5399) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5401:                                             ; preds = %5374
  %5402 = add nsw i32 %5375, 2
  store i32 %5402, ptr @test_count, align 4, !tbaa !5
  %5403 = call ptr @s2n_strerror_debug(i32 noundef 469762112, ptr noundef nonnull @.str.4) #12
  %5404 = icmp eq ptr %5403, null
  br i1 %5404, label %5405, label %5427

5405:                                             ; preds = %5401
  %5406 = load i32, ptr %4708, align 4, !tbaa !5
  %5407 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5408 = call i32 @s2n_print_stacktrace(ptr noundef %5407) #12
  %5409 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5410 = trunc nuw i8 %5409 to i1
  br i1 %5410, label %5411, label %5415

5411:                                             ; preds = %5405
  %5412 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5413 = call i32 @fileno(ptr noundef %5412) #12
  %5414 = call i32 @isatty(i32 noundef %5413) #12
  %.not734 = icmp eq i32 %5414, 0
  br i1 %.not734, label %5415, label %5416

5415:                                             ; preds = %5411, %5405
  br label %5416

5416:                                             ; preds = %5411, %5415
  %.str.5.sink2874 = phi ptr [ @.str.5, %5415 ], [ @.str.2, %5411 ]
  store i32 %5406, ptr %4708, align 4, !tbaa !5
  %5417 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5418 = load i32, ptr @test_count, align 4, !tbaa !5
  %5419 = load i32, ptr %4654, align 4, !tbaa !5
  %5420 = call ptr @s2n_strerror(i32 noundef %5419, ptr noundef nonnull @.str.4) #12
  %5421 = load i32, ptr %4654, align 4, !tbaa !5
  %5422 = call ptr @s2n_strerror_debug(i32 noundef %5421, ptr noundef nonnull @.str.4) #12
  %5423 = load i32, ptr %4708, align 4, !tbaa !5
  %5424 = call ptr @strerror(i32 noundef %5423) #12
  %5425 = load i32, ptr %4708, align 4, !tbaa !5
  %5426 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5417, ptr noundef nonnull %.str.5.sink2874, i32 noundef %5418, ptr noundef nonnull @.str.84, ptr noundef nonnull @.str.1, i32 noundef 409, ptr noundef %5420, ptr noundef %5422, ptr noundef %5424, i32 noundef %5425) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5427:                                             ; preds = %5401
  store i32 0, ptr %4654, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %4708, align 4, !tbaa !5
  %5428 = load i32, ptr @test_count, align 4, !tbaa !5
  %5429 = add nsw i32 %5428, 1
  store i32 %5429, ptr @test_count, align 4, !tbaa !5
  %5430 = load ptr, ptr %44, align 8, !tbaa !9
  %5431 = call i32 @s2n_connection_set_send_io_stuffer(ptr noundef nonnull %46, ptr noundef %5430) #12
  %5432 = icmp eq i32 %5431, -1
  br i1 %5432, label %5433, label %5455

5433:                                             ; preds = %5427
  %5434 = load i32, ptr %4708, align 4, !tbaa !5
  %5435 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5436 = call i32 @s2n_print_stacktrace(ptr noundef %5435) #12
  %5437 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5438 = trunc nuw i8 %5437 to i1
  br i1 %5438, label %5439, label %5443

5439:                                             ; preds = %5433
  %5440 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5441 = call i32 @fileno(ptr noundef %5440) #12
  %5442 = call i32 @isatty(i32 noundef %5441) #12
  %.not733 = icmp eq i32 %5442, 0
  br i1 %.not733, label %5443, label %5444

5443:                                             ; preds = %5439, %5433
  br label %5444

5444:                                             ; preds = %5439, %5443
  %.str.5.sink2883 = phi ptr [ @.str.5, %5443 ], [ @.str.2, %5439 ]
  store i32 %5434, ptr %4708, align 4, !tbaa !5
  %5445 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5446 = load i32, ptr @test_count, align 4, !tbaa !5
  %5447 = load i32, ptr %4654, align 4, !tbaa !5
  %5448 = call ptr @s2n_strerror(i32 noundef %5447, ptr noundef nonnull @.str.4) #12
  %5449 = load i32, ptr %4654, align 4, !tbaa !5
  %5450 = call ptr @s2n_strerror_debug(i32 noundef %5449, ptr noundef nonnull @.str.4) #12
  %5451 = load i32, ptr %4708, align 4, !tbaa !5
  %5452 = call ptr @strerror(i32 noundef %5451) #12
  %5453 = load i32, ptr %4708, align 4, !tbaa !5
  %5454 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5445, ptr noundef nonnull %.str.5.sink2883, i32 noundef %5446, ptr noundef nonnull @.str.93, ptr noundef nonnull @.str.1, i32 noundef 412, ptr noundef %5448, ptr noundef %5450, ptr noundef %5452, i32 noundef %5453) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5455:                                             ; preds = %5427
  %5456 = load i32, ptr @test_count, align 4, !tbaa !5
  %5457 = add nsw i32 %5456, 1
  store i32 %5457, ptr @test_count, align 4, !tbaa !5
  %5458 = load ptr, ptr %44, align 8, !tbaa !9
  %5459 = call i64 @s2n_send(ptr noundef %5458, ptr noundef nonnull %8, i64 noundef 16384, ptr noundef nonnull %9) #12
  %5460 = icmp eq i64 %5459, 16384
  br i1 %5460, label %5483, label %5461

5461:                                             ; preds = %5455
  %5462 = load i32, ptr %4708, align 4, !tbaa !5
  %5463 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5464 = call i32 @s2n_print_stacktrace(ptr noundef %5463) #12
  %5465 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5466 = trunc nuw i8 %5465 to i1
  br i1 %5466, label %5467, label %5471

5467:                                             ; preds = %5461
  %5468 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5469 = call i32 @fileno(ptr noundef %5468) #12
  %5470 = call i32 @isatty(i32 noundef %5469) #12
  %.not651 = icmp eq i32 %5470, 0
  br i1 %.not651, label %5471, label %5472

5471:                                             ; preds = %5467, %5461
  br label %5472

5472:                                             ; preds = %5467, %5471
  %.str.5.sink2892 = phi ptr [ @.str.5, %5471 ], [ @.str.2, %5467 ]
  store i32 %5462, ptr %4708, align 4, !tbaa !5
  %5473 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5474 = load i32, ptr @test_count, align 4, !tbaa !5
  %5475 = load i32, ptr %4654, align 4, !tbaa !5
  %5476 = call ptr @s2n_strerror(i32 noundef %5475, ptr noundef nonnull @.str.4) #12
  %5477 = load i32, ptr %4654, align 4, !tbaa !5
  %5478 = call ptr @s2n_strerror_debug(i32 noundef %5477, ptr noundef nonnull @.str.4) #12
  %5479 = load i32, ptr %4708, align 4, !tbaa !5
  %5480 = call ptr @strerror(i32 noundef %5479) #12
  %5481 = load i32, ptr %4708, align 4, !tbaa !5
  %5482 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5473, ptr noundef nonnull %.str.5.sink2892, i32 noundef %5474, ptr noundef nonnull @.str.94, ptr noundef nonnull @.str.1, i32 noundef 413, ptr noundef %5476, ptr noundef %5478, ptr noundef %5480, i32 noundef %5481) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5483:                                             ; preds = %5455
  %5484 = load i32, ptr @test_count, align 4, !tbaa !5
  %5485 = add nsw i32 %5484, 1
  store i32 %5485, ptr @test_count, align 4, !tbaa !5
  %5486 = load ptr, ptr %44, align 8, !tbaa !9
  %5487 = call i32 @s2n_renegotiate_wipe(ptr noundef %5486) #12
  %5488 = icmp eq i32 %5487, -1
  br i1 %5488, label %5489, label %5511

5489:                                             ; preds = %5483
  %5490 = load i32, ptr %4708, align 4, !tbaa !5
  %5491 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5492 = call i32 @s2n_print_stacktrace(ptr noundef %5491) #12
  %5493 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5494 = trunc nuw i8 %5493 to i1
  br i1 %5494, label %5495, label %5499

5495:                                             ; preds = %5489
  %5496 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5497 = call i32 @fileno(ptr noundef %5496) #12
  %5498 = call i32 @isatty(i32 noundef %5497) #12
  %.not732 = icmp eq i32 %5498, 0
  br i1 %.not732, label %5499, label %5500

5499:                                             ; preds = %5495, %5489
  br label %5500

5500:                                             ; preds = %5495, %5499
  %.str.5.sink2901 = phi ptr [ @.str.5, %5499 ], [ @.str.2, %5495 ]
  store i32 %5490, ptr %4708, align 4, !tbaa !5
  %5501 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5502 = load i32, ptr @test_count, align 4, !tbaa !5
  %5503 = load i32, ptr %4654, align 4, !tbaa !5
  %5504 = call ptr @s2n_strerror(i32 noundef %5503, ptr noundef nonnull @.str.4) #12
  %5505 = load i32, ptr %4654, align 4, !tbaa !5
  %5506 = call ptr @s2n_strerror_debug(i32 noundef %5505, ptr noundef nonnull @.str.4) #12
  %5507 = load i32, ptr %4708, align 4, !tbaa !5
  %5508 = call ptr @strerror(i32 noundef %5507) #12
  %5509 = load i32, ptr %4708, align 4, !tbaa !5
  %5510 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5501, ptr noundef nonnull %.str.5.sink2901, i32 noundef %5502, ptr noundef nonnull @.str.33, ptr noundef nonnull @.str.1, i32 noundef 415, ptr noundef %5504, ptr noundef %5506, ptr noundef %5508, i32 noundef %5509) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5511:                                             ; preds = %5483
  %5512 = call i32 @s2n_stuffer_free(ptr noundef nonnull %47) #12
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %47) #12
  %5513 = call i32 @s2n_stuffer_free(ptr noundef nonnull %46) #12
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %46) #12
  %5514 = call i32 @s2n_stuffer_free(ptr noundef nonnull %45) #12
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %45) #12
  %5515 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %44) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %44) #12
  %5516 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %43) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %43) #12
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %48) #12
  %5517 = call ptr @s2n_connection_new(i32 noundef 0) #12
  store ptr %5517, ptr %48, align 8, !tbaa !9
  %5518 = load i32, ptr @test_count, align 4, !tbaa !5
  %5519 = add nsw i32 %5518, 1
  store i32 %5519, ptr @test_count, align 4, !tbaa !5
  %5520 = icmp eq ptr %5517, null
  br i1 %5520, label %5521, label %5543

5521:                                             ; preds = %5511
  %5522 = load i32, ptr %4708, align 4, !tbaa !5
  %5523 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5524 = call i32 @s2n_print_stacktrace(ptr noundef %5523) #12
  %5525 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5526 = trunc nuw i8 %5525 to i1
  br i1 %5526, label %5527, label %5531

5527:                                             ; preds = %5521
  %5528 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5529 = call i32 @fileno(ptr noundef %5528) #12
  %5530 = call i32 @isatty(i32 noundef %5529) #12
  %.not731 = icmp eq i32 %5530, 0
  br i1 %.not731, label %5531, label %5532

5531:                                             ; preds = %5527, %5521
  br label %5532

5532:                                             ; preds = %5527, %5531
  %.str.5.sink2910 = phi ptr [ @.str.5, %5531 ], [ @.str.2, %5527 ]
  store i32 %5522, ptr %4708, align 4, !tbaa !5
  %5533 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5534 = load i32, ptr @test_count, align 4, !tbaa !5
  %5535 = load i32, ptr %4654, align 4, !tbaa !5
  %5536 = call ptr @s2n_strerror(i32 noundef %5535, ptr noundef nonnull @.str.4) #12
  %5537 = load i32, ptr %4654, align 4, !tbaa !5
  %5538 = call ptr @s2n_strerror_debug(i32 noundef %5537, ptr noundef nonnull @.str.4) #12
  %5539 = load i32, ptr %4708, align 4, !tbaa !5
  %5540 = call ptr @strerror(i32 noundef %5539) #12
  %5541 = load i32, ptr %4708, align 4, !tbaa !5
  %5542 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5533, ptr noundef nonnull %.str.5.sink2910, i32 noundef %5534, ptr noundef nonnull @.str.21, ptr noundef nonnull @.str.1, i32 noundef 421, ptr noundef %5536, ptr noundef %5538, ptr noundef %5540, i32 noundef %5541) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5543:                                             ; preds = %5511
  %5544 = add nsw i32 %5518, 2
  store i32 %5544, ptr @test_count, align 4, !tbaa !5
  %5545 = call i32 @s2n_connection_set_config(ptr noundef nonnull %5517, ptr noundef nonnull %240) #12
  %5546 = icmp eq i32 %5545, -1
  br i1 %5546, label %5547, label %5569

5547:                                             ; preds = %5543
  %5548 = load i32, ptr %4708, align 4, !tbaa !5
  %5549 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5550 = call i32 @s2n_print_stacktrace(ptr noundef %5549) #12
  %5551 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5552 = trunc nuw i8 %5551 to i1
  br i1 %5552, label %5553, label %5557

5553:                                             ; preds = %5547
  %5554 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5555 = call i32 @fileno(ptr noundef %5554) #12
  %5556 = call i32 @isatty(i32 noundef %5555) #12
  %.not730 = icmp eq i32 %5556, 0
  br i1 %.not730, label %5557, label %5558

5557:                                             ; preds = %5553, %5547
  br label %5558

5558:                                             ; preds = %5553, %5557
  %.str.5.sink2919 = phi ptr [ @.str.5, %5557 ], [ @.str.2, %5553 ]
  store i32 %5548, ptr %4708, align 4, !tbaa !5
  %5559 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5560 = load i32, ptr @test_count, align 4, !tbaa !5
  %5561 = load i32, ptr %4654, align 4, !tbaa !5
  %5562 = call ptr @s2n_strerror(i32 noundef %5561, ptr noundef nonnull @.str.4) #12
  %5563 = load i32, ptr %4654, align 4, !tbaa !5
  %5564 = call ptr @s2n_strerror_debug(i32 noundef %5563, ptr noundef nonnull @.str.4) #12
  %5565 = load i32, ptr %4708, align 4, !tbaa !5
  %5566 = call ptr @strerror(i32 noundef %5565) #12
  %5567 = load i32, ptr %4708, align 4, !tbaa !5
  %5568 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5559, ptr noundef nonnull %.str.5.sink2919, i32 noundef %5560, ptr noundef nonnull @.str.22, ptr noundef nonnull @.str.1, i32 noundef 422, ptr noundef %5562, ptr noundef %5564, ptr noundef %5566, i32 noundef %5567) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5569:                                             ; preds = %5543
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %49) #12
  %5570 = call ptr @s2n_connection_new(i32 noundef 1) #12
  store ptr %5570, ptr %49, align 8, !tbaa !9
  %5571 = load i32, ptr @test_count, align 4, !tbaa !5
  %5572 = add nsw i32 %5571, 1
  store i32 %5572, ptr @test_count, align 4, !tbaa !5
  %5573 = icmp eq ptr %5570, null
  br i1 %5573, label %5574, label %5596

5574:                                             ; preds = %5569
  %5575 = load i32, ptr %4708, align 4, !tbaa !5
  %5576 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5577 = call i32 @s2n_print_stacktrace(ptr noundef %5576) #12
  %5578 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5579 = trunc nuw i8 %5578 to i1
  br i1 %5579, label %5580, label %5584

5580:                                             ; preds = %5574
  %5581 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5582 = call i32 @fileno(ptr noundef %5581) #12
  %5583 = call i32 @isatty(i32 noundef %5582) #12
  %.not729 = icmp eq i32 %5583, 0
  br i1 %.not729, label %5584, label %5585

5584:                                             ; preds = %5580, %5574
  br label %5585

5585:                                             ; preds = %5580, %5584
  %.str.5.sink2928 = phi ptr [ @.str.5, %5584 ], [ @.str.2, %5580 ]
  store i32 %5575, ptr %4708, align 4, !tbaa !5
  %5586 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5587 = load i32, ptr @test_count, align 4, !tbaa !5
  %5588 = load i32, ptr %4654, align 4, !tbaa !5
  %5589 = call ptr @s2n_strerror(i32 noundef %5588, ptr noundef nonnull @.str.4) #12
  %5590 = load i32, ptr %4654, align 4, !tbaa !5
  %5591 = call ptr @s2n_strerror_debug(i32 noundef %5590, ptr noundef nonnull @.str.4) #12
  %5592 = load i32, ptr %4708, align 4, !tbaa !5
  %5593 = call ptr @strerror(i32 noundef %5592) #12
  %5594 = load i32, ptr %4708, align 4, !tbaa !5
  %5595 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5586, ptr noundef nonnull %.str.5.sink2928, i32 noundef %5587, ptr noundef nonnull @.str.23, ptr noundef nonnull @.str.1, i32 noundef 425, ptr noundef %5589, ptr noundef %5591, ptr noundef %5593, i32 noundef %5594) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5596:                                             ; preds = %5569
  %5597 = add nsw i32 %5571, 2
  store i32 %5597, ptr @test_count, align 4, !tbaa !5
  %5598 = call i32 @s2n_connection_set_config(ptr noundef nonnull %5570, ptr noundef nonnull %240) #12
  %5599 = icmp eq i32 %5598, -1
  br i1 %5599, label %5600, label %5622

5600:                                             ; preds = %5596
  %5601 = load i32, ptr %4708, align 4, !tbaa !5
  %5602 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5603 = call i32 @s2n_print_stacktrace(ptr noundef %5602) #12
  %5604 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5605 = trunc nuw i8 %5604 to i1
  br i1 %5605, label %5606, label %5610

5606:                                             ; preds = %5600
  %5607 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5608 = call i32 @fileno(ptr noundef %5607) #12
  %5609 = call i32 @isatty(i32 noundef %5608) #12
  %.not728 = icmp eq i32 %5609, 0
  br i1 %.not728, label %5610, label %5611

5610:                                             ; preds = %5606, %5600
  br label %5611

5611:                                             ; preds = %5606, %5610
  %.str.5.sink2937 = phi ptr [ @.str.5, %5610 ], [ @.str.2, %5606 ]
  store i32 %5601, ptr %4708, align 4, !tbaa !5
  %5612 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5613 = load i32, ptr @test_count, align 4, !tbaa !5
  %5614 = load i32, ptr %4654, align 4, !tbaa !5
  %5615 = call ptr @s2n_strerror(i32 noundef %5614, ptr noundef nonnull @.str.4) #12
  %5616 = load i32, ptr %4654, align 4, !tbaa !5
  %5617 = call ptr @s2n_strerror_debug(i32 noundef %5616, ptr noundef nonnull @.str.4) #12
  %5618 = load i32, ptr %4708, align 4, !tbaa !5
  %5619 = call ptr @strerror(i32 noundef %5618) #12
  %5620 = load i32, ptr %4708, align 4, !tbaa !5
  %5621 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5612, ptr noundef nonnull %.str.5.sink2937, i32 noundef %5613, ptr noundef nonnull @.str.24, ptr noundef nonnull @.str.1, i32 noundef 426, ptr noundef %5615, ptr noundef %5617, ptr noundef %5619, i32 noundef %5620) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5622:                                             ; preds = %5596
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %50) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %50, i8 0, i64 40, i1 false)
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %51) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %51, i8 0, i64 40, i1 false)
  %5623 = load i32, ptr @test_count, align 4, !tbaa !5
  %5624 = add nsw i32 %5623, 1
  store i32 %5624, ptr @test_count, align 4, !tbaa !5
  %5625 = call i32 @s2n_stuffer_growable_alloc(ptr noundef nonnull %50, i32 noundef 0) #12
  %5626 = icmp eq i32 %5625, -1
  br i1 %5626, label %5627, label %5649

5627:                                             ; preds = %5622
  %5628 = load i32, ptr %4708, align 4, !tbaa !5
  %5629 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5630 = call i32 @s2n_print_stacktrace(ptr noundef %5629) #12
  %5631 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5632 = trunc nuw i8 %5631 to i1
  br i1 %5632, label %5633, label %5637

5633:                                             ; preds = %5627
  %5634 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5635 = call i32 @fileno(ptr noundef %5634) #12
  %5636 = call i32 @isatty(i32 noundef %5635) #12
  %.not727 = icmp eq i32 %5636, 0
  br i1 %.not727, label %5637, label %5638

5637:                                             ; preds = %5633, %5627
  br label %5638

5638:                                             ; preds = %5633, %5637
  %.str.5.sink2946 = phi ptr [ @.str.5, %5637 ], [ @.str.2, %5633 ]
  store i32 %5628, ptr %4708, align 4, !tbaa !5
  %5639 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5640 = load i32, ptr @test_count, align 4, !tbaa !5
  %5641 = load i32, ptr %4654, align 4, !tbaa !5
  %5642 = call ptr @s2n_strerror(i32 noundef %5641, ptr noundef nonnull @.str.4) #12
  %5643 = load i32, ptr %4654, align 4, !tbaa !5
  %5644 = call ptr @s2n_strerror_debug(i32 noundef %5643, ptr noundef nonnull @.str.4) #12
  %5645 = load i32, ptr %4708, align 4, !tbaa !5
  %5646 = call ptr @strerror(i32 noundef %5645) #12
  %5647 = load i32, ptr %4708, align 4, !tbaa !5
  %5648 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5639, ptr noundef nonnull %.str.5.sink2946, i32 noundef %5640, ptr noundef nonnull @.str.37, ptr noundef nonnull @.str.1, i32 noundef 430, ptr noundef %5642, ptr noundef %5644, ptr noundef %5646, i32 noundef %5647) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5649:                                             ; preds = %5622
  %5650 = load i32, ptr @test_count, align 4, !tbaa !5
  %5651 = add nsw i32 %5650, 1
  store i32 %5651, ptr @test_count, align 4, !tbaa !5
  %5652 = call i32 @s2n_stuffer_growable_alloc(ptr noundef nonnull %51, i32 noundef 0) #12
  %5653 = icmp eq i32 %5652, -1
  br i1 %5653, label %5654, label %5676

5654:                                             ; preds = %5649
  %5655 = load i32, ptr %4708, align 4, !tbaa !5
  %5656 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5657 = call i32 @s2n_print_stacktrace(ptr noundef %5656) #12
  %5658 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5659 = trunc nuw i8 %5658 to i1
  br i1 %5659, label %5660, label %5664

5660:                                             ; preds = %5654
  %5661 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5662 = call i32 @fileno(ptr noundef %5661) #12
  %5663 = call i32 @isatty(i32 noundef %5662) #12
  %.not726 = icmp eq i32 %5663, 0
  br i1 %.not726, label %5664, label %5665

5664:                                             ; preds = %5660, %5654
  br label %5665

5665:                                             ; preds = %5660, %5664
  %.str.5.sink2955 = phi ptr [ @.str.5, %5664 ], [ @.str.2, %5660 ]
  store i32 %5655, ptr %4708, align 4, !tbaa !5
  %5666 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5667 = load i32, ptr @test_count, align 4, !tbaa !5
  %5668 = load i32, ptr %4654, align 4, !tbaa !5
  %5669 = call ptr @s2n_strerror(i32 noundef %5668, ptr noundef nonnull @.str.4) #12
  %5670 = load i32, ptr %4654, align 4, !tbaa !5
  %5671 = call ptr @s2n_strerror_debug(i32 noundef %5670, ptr noundef nonnull @.str.4) #12
  %5672 = load i32, ptr %4708, align 4, !tbaa !5
  %5673 = call ptr @strerror(i32 noundef %5672) #12
  %5674 = load i32, ptr %4708, align 4, !tbaa !5
  %5675 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5666, ptr noundef nonnull %.str.5.sink2955, i32 noundef %5667, ptr noundef nonnull @.str.38, ptr noundef nonnull @.str.1, i32 noundef 431, ptr noundef %5669, ptr noundef %5671, ptr noundef %5673, i32 noundef %5674) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5676:                                             ; preds = %5649
  %5677 = load i32, ptr @test_count, align 4, !tbaa !5
  %5678 = add nsw i32 %5677, 1
  store i32 %5678, ptr @test_count, align 4, !tbaa !5
  %5679 = load ptr, ptr %49, align 8, !tbaa !9
  %5680 = call i32 @s2n_connection_set_io_stuffers(ptr noundef nonnull %50, ptr noundef nonnull %51, ptr noundef %5679) #12
  %5681 = icmp eq i32 %5680, -1
  br i1 %5681, label %5682, label %5704

5682:                                             ; preds = %5676
  %5683 = load i32, ptr %4708, align 4, !tbaa !5
  %5684 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5685 = call i32 @s2n_print_stacktrace(ptr noundef %5684) #12
  %5686 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5687 = trunc nuw i8 %5686 to i1
  br i1 %5687, label %5688, label %5692

5688:                                             ; preds = %5682
  %5689 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5690 = call i32 @fileno(ptr noundef %5689) #12
  %5691 = call i32 @isatty(i32 noundef %5690) #12
  %.not725 = icmp eq i32 %5691, 0
  br i1 %.not725, label %5692, label %5693

5692:                                             ; preds = %5688, %5682
  br label %5693

5693:                                             ; preds = %5688, %5692
  %.str.5.sink2964 = phi ptr [ @.str.5, %5692 ], [ @.str.2, %5688 ]
  store i32 %5683, ptr %4708, align 4, !tbaa !5
  %5694 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5695 = load i32, ptr @test_count, align 4, !tbaa !5
  %5696 = load i32, ptr %4654, align 4, !tbaa !5
  %5697 = call ptr @s2n_strerror(i32 noundef %5696, ptr noundef nonnull @.str.4) #12
  %5698 = load i32, ptr %4654, align 4, !tbaa !5
  %5699 = call ptr @s2n_strerror_debug(i32 noundef %5698, ptr noundef nonnull @.str.4) #12
  %5700 = load i32, ptr %4708, align 4, !tbaa !5
  %5701 = call ptr @strerror(i32 noundef %5700) #12
  %5702 = load i32, ptr %4708, align 4, !tbaa !5
  %5703 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5694, ptr noundef nonnull %.str.5.sink2964, i32 noundef %5695, ptr noundef nonnull @.str.39, ptr noundef nonnull @.str.1, i32 noundef 432, ptr noundef %5697, ptr noundef %5699, ptr noundef %5701, i32 noundef %5702) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5704:                                             ; preds = %5676
  %5705 = load i32, ptr @test_count, align 4, !tbaa !5
  %5706 = add nsw i32 %5705, 1
  store i32 %5706, ptr @test_count, align 4, !tbaa !5
  %5707 = load ptr, ptr %48, align 8, !tbaa !9
  %5708 = call i32 @s2n_connection_set_io_stuffers(ptr noundef nonnull %51, ptr noundef nonnull %50, ptr noundef %5707) #12
  %5709 = icmp eq i32 %5708, -1
  br i1 %5709, label %5710, label %5732

5710:                                             ; preds = %5704
  %5711 = load i32, ptr %4708, align 4, !tbaa !5
  %5712 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5713 = call i32 @s2n_print_stacktrace(ptr noundef %5712) #12
  %5714 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5715 = trunc nuw i8 %5714 to i1
  br i1 %5715, label %5716, label %5720

5716:                                             ; preds = %5710
  %5717 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5718 = call i32 @fileno(ptr noundef %5717) #12
  %5719 = call i32 @isatty(i32 noundef %5718) #12
  %.not724 = icmp eq i32 %5719, 0
  br i1 %.not724, label %5720, label %5721

5720:                                             ; preds = %5716, %5710
  br label %5721

5721:                                             ; preds = %5716, %5720
  %.str.5.sink2973 = phi ptr [ @.str.5, %5720 ], [ @.str.2, %5716 ]
  store i32 %5711, ptr %4708, align 4, !tbaa !5
  %5722 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5723 = load i32, ptr @test_count, align 4, !tbaa !5
  %5724 = load i32, ptr %4654, align 4, !tbaa !5
  %5725 = call ptr @s2n_strerror(i32 noundef %5724, ptr noundef nonnull @.str.4) #12
  %5726 = load i32, ptr %4654, align 4, !tbaa !5
  %5727 = call ptr @s2n_strerror_debug(i32 noundef %5726, ptr noundef nonnull @.str.4) #12
  %5728 = load i32, ptr %4708, align 4, !tbaa !5
  %5729 = call ptr @strerror(i32 noundef %5728) #12
  %5730 = load i32, ptr %4708, align 4, !tbaa !5
  %5731 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5722, ptr noundef nonnull %.str.5.sink2973, i32 noundef %5723, ptr noundef nonnull @.str.40, ptr noundef nonnull @.str.1, i32 noundef 433, ptr noundef %5725, ptr noundef %5727, ptr noundef %5729, i32 noundef %5730) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5732:                                             ; preds = %5704
  %5733 = load i32, ptr @test_count, align 4, !tbaa !5
  %5734 = add nsw i32 %5733, 1
  store i32 %5734, ptr @test_count, align 4, !tbaa !5
  %5735 = load ptr, ptr %48, align 8, !tbaa !9
  %5736 = load ptr, ptr %49, align 8, !tbaa !9
  %5737 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef %5735, ptr noundef %5736) #12
  %5738 = icmp eq i32 %5737, -1
  br i1 %5738, label %5739, label %5761

5739:                                             ; preds = %5732
  %5740 = load i32, ptr %4708, align 4, !tbaa !5
  %5741 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5742 = call i32 @s2n_print_stacktrace(ptr noundef %5741) #12
  %5743 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5744 = trunc nuw i8 %5743 to i1
  br i1 %5744, label %5745, label %5749

5745:                                             ; preds = %5739
  %5746 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5747 = call i32 @fileno(ptr noundef %5746) #12
  %5748 = call i32 @isatty(i32 noundef %5747) #12
  %.not723 = icmp eq i32 %5748, 0
  br i1 %.not723, label %5749, label %5750

5749:                                             ; preds = %5745, %5739
  br label %5750

5750:                                             ; preds = %5745, %5749
  %.str.5.sink2982 = phi ptr [ @.str.5, %5749 ], [ @.str.2, %5745 ]
  store i32 %5740, ptr %4708, align 4, !tbaa !5
  %5751 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5752 = load i32, ptr @test_count, align 4, !tbaa !5
  %5753 = load i32, ptr %4654, align 4, !tbaa !5
  %5754 = call ptr @s2n_strerror(i32 noundef %5753, ptr noundef nonnull @.str.4) #12
  %5755 = load i32, ptr %4654, align 4, !tbaa !5
  %5756 = call ptr @s2n_strerror_debug(i32 noundef %5755, ptr noundef nonnull @.str.4) #12
  %5757 = load i32, ptr %4708, align 4, !tbaa !5
  %5758 = call ptr @strerror(i32 noundef %5757) #12
  %5759 = load i32, ptr %4708, align 4, !tbaa !5
  %5760 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5751, ptr noundef nonnull %.str.5.sink2982, i32 noundef %5752, ptr noundef nonnull @.str.32, ptr noundef nonnull @.str.1, i32 noundef 435, ptr noundef %5754, ptr noundef %5756, ptr noundef %5758, i32 noundef %5759) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5761:                                             ; preds = %5732
  call void @llvm.lifetime.start.p0(i64 16384, ptr nonnull %52) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 16 dereferenceable(16384) %52, i8 0, i64 16384, i1 false)
  %5762 = load i32, ptr @test_count, align 4, !tbaa !5
  %5763 = add nsw i32 %5762, 1
  store i32 %5763, ptr @test_count, align 4, !tbaa !5
  %5764 = load ptr, ptr %48, align 8, !tbaa !9
  %5765 = call i64 @s2n_send(ptr noundef %5764, ptr noundef nonnull %7, i64 noundef 20, ptr noundef nonnull %9) #12
  %5766 = icmp eq i64 %5765, 20
  br i1 %5766, label %5789, label %5767

5767:                                             ; preds = %5761
  %5768 = load i32, ptr %4708, align 4, !tbaa !5
  %5769 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5770 = call i32 @s2n_print_stacktrace(ptr noundef %5769) #12
  %5771 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5772 = trunc nuw i8 %5771 to i1
  br i1 %5772, label %5773, label %5777

5773:                                             ; preds = %5767
  %5774 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5775 = call i32 @fileno(ptr noundef %5774) #12
  %5776 = call i32 @isatty(i32 noundef %5775) #12
  %.not652 = icmp eq i32 %5776, 0
  br i1 %.not652, label %5777, label %5778

5777:                                             ; preds = %5773, %5767
  br label %5778

5778:                                             ; preds = %5773, %5777
  %.str.5.sink2991 = phi ptr [ @.str.5, %5777 ], [ @.str.2, %5773 ]
  store i32 %5768, ptr %4708, align 4, !tbaa !5
  %5779 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5780 = load i32, ptr @test_count, align 4, !tbaa !5
  %5781 = load i32, ptr %4654, align 4, !tbaa !5
  %5782 = call ptr @s2n_strerror(i32 noundef %5781, ptr noundef nonnull @.str.4) #12
  %5783 = load i32, ptr %4654, align 4, !tbaa !5
  %5784 = call ptr @s2n_strerror_debug(i32 noundef %5783, ptr noundef nonnull @.str.4) #12
  %5785 = load i32, ptr %4708, align 4, !tbaa !5
  %5786 = call ptr @strerror(i32 noundef %5785) #12
  %5787 = load i32, ptr %4708, align 4, !tbaa !5
  %5788 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5779, ptr noundef nonnull %.str.5.sink2991, i32 noundef %5780, ptr noundef nonnull @.str.34, ptr noundef nonnull @.str.1, i32 noundef 440, ptr noundef %5782, ptr noundef %5784, ptr noundef %5786, i32 noundef %5787) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5789:                                             ; preds = %5761
  %5790 = load i32, ptr @test_count, align 4, !tbaa !5
  %5791 = add nsw i32 %5790, 1
  store i32 %5791, ptr @test_count, align 4, !tbaa !5
  %5792 = load ptr, ptr %49, align 8, !tbaa !9
  %5793 = call i64 @s2n_recv(ptr noundef %5792, ptr noundef nonnull %52, i64 noundef 10, ptr noundef nonnull %9) #12
  %5794 = icmp eq i64 %5793, 10
  br i1 %5794, label %5817, label %5795

5795:                                             ; preds = %5789
  %5796 = load i32, ptr %4708, align 4, !tbaa !5
  %5797 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5798 = call i32 @s2n_print_stacktrace(ptr noundef %5797) #12
  %5799 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5800 = trunc nuw i8 %5799 to i1
  br i1 %5800, label %5801, label %5805

5801:                                             ; preds = %5795
  %5802 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5803 = call i32 @fileno(ptr noundef %5802) #12
  %5804 = call i32 @isatty(i32 noundef %5803) #12
  %.not653 = icmp eq i32 %5804, 0
  br i1 %.not653, label %5805, label %5806

5805:                                             ; preds = %5801, %5795
  br label %5806

5806:                                             ; preds = %5801, %5805
  %.str.5.sink3000 = phi ptr [ @.str.5, %5805 ], [ @.str.2, %5801 ]
  store i32 %5796, ptr %4708, align 4, !tbaa !5
  %5807 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5808 = load i32, ptr @test_count, align 4, !tbaa !5
  %5809 = load i32, ptr %4654, align 4, !tbaa !5
  %5810 = call ptr @s2n_strerror(i32 noundef %5809, ptr noundef nonnull @.str.4) #12
  %5811 = load i32, ptr %4654, align 4, !tbaa !5
  %5812 = call ptr @s2n_strerror_debug(i32 noundef %5811, ptr noundef nonnull @.str.4) #12
  %5813 = load i32, ptr %4708, align 4, !tbaa !5
  %5814 = call ptr @strerror(i32 noundef %5813) #12
  %5815 = load i32, ptr %4708, align 4, !tbaa !5
  %5816 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5807, ptr noundef nonnull %.str.5.sink3000, i32 noundef %5808, ptr noundef nonnull @.str.95, ptr noundef nonnull @.str.1, i32 noundef 441, ptr noundef %5810, ptr noundef %5812, ptr noundef %5814, i32 noundef %5815) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5817:                                             ; preds = %5789
  %5818 = load i32, ptr @test_count, align 4, !tbaa !5
  %5819 = add nsw i32 %5818, 1
  store i32 %5819, ptr @test_count, align 4, !tbaa !5
  %bcmp654 = call i32 @bcmp(ptr noundef nonnull dereferenceable(10) %7, ptr noundef nonnull dereferenceable(10) %52, i64 10)
  %5820 = icmp eq i32 %bcmp654, 0
  br i1 %5820, label %5843, label %5821

5821:                                             ; preds = %5817
  %5822 = load i32, ptr %4708, align 4, !tbaa !5
  %5823 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5824 = call i32 @s2n_print_stacktrace(ptr noundef %5823) #12
  %5825 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5826 = trunc nuw i8 %5825 to i1
  br i1 %5826, label %5827, label %5831

5827:                                             ; preds = %5821
  %5828 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5829 = call i32 @fileno(ptr noundef %5828) #12
  %5830 = call i32 @isatty(i32 noundef %5829) #12
  %.not655 = icmp eq i32 %5830, 0
  br i1 %.not655, label %5831, label %5832

5831:                                             ; preds = %5827, %5821
  br label %5832

5832:                                             ; preds = %5827, %5831
  %.str.5.sink3009 = phi ptr [ @.str.5, %5831 ], [ @.str.2, %5827 ]
  store i32 %5822, ptr %4708, align 4, !tbaa !5
  %5833 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5834 = load i32, ptr @test_count, align 4, !tbaa !5
  %5835 = load i32, ptr %4654, align 4, !tbaa !5
  %5836 = call ptr @s2n_strerror(i32 noundef %5835, ptr noundef nonnull @.str.4) #12
  %5837 = load i32, ptr %4654, align 4, !tbaa !5
  %5838 = call ptr @s2n_strerror_debug(i32 noundef %5837, ptr noundef nonnull @.str.4) #12
  %5839 = load i32, ptr %4708, align 4, !tbaa !5
  %5840 = call ptr @strerror(i32 noundef %5839) #12
  %5841 = load i32, ptr %4708, align 4, !tbaa !5
  %5842 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5833, ptr noundef nonnull %.str.5.sink3009, i32 noundef %5834, ptr noundef nonnull @.str.96, ptr noundef nonnull @.str.1, i32 noundef 442, ptr noundef %5836, ptr noundef %5838, ptr noundef %5840, i32 noundef %5841) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5843:                                             ; preds = %5817
  %5844 = add nsw i32 %5818, 2
  store i32 %5844, ptr @test_count, align 4, !tbaa !5
  %5845 = load ptr, ptr %49, align 8, !tbaa !9
  %5846 = call i32 @s2n_peek(ptr noundef %5845) #12
  %.not656 = icmp eq i32 %5846, 0
  br i1 %.not656, label %5847, label %5869

5847:                                             ; preds = %5843
  %5848 = load i32, ptr %4708, align 4, !tbaa !5
  %5849 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5850 = call i32 @s2n_print_stacktrace(ptr noundef %5849) #12
  %5851 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5852 = trunc nuw i8 %5851 to i1
  br i1 %5852, label %5853, label %5857

5853:                                             ; preds = %5847
  %5854 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5855 = call i32 @fileno(ptr noundef %5854) #12
  %5856 = call i32 @isatty(i32 noundef %5855) #12
  %.not657 = icmp eq i32 %5856, 0
  br i1 %.not657, label %5857, label %5858

5857:                                             ; preds = %5853, %5847
  br label %5858

5858:                                             ; preds = %5853, %5857
  %.str.5.sink3018 = phi ptr [ @.str.5, %5857 ], [ @.str.2, %5853 ]
  store i32 %5848, ptr %4708, align 4, !tbaa !5
  %5859 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5860 = load i32, ptr @test_count, align 4, !tbaa !5
  %5861 = load i32, ptr %4654, align 4, !tbaa !5
  %5862 = call ptr @s2n_strerror(i32 noundef %5861, ptr noundef nonnull @.str.4) #12
  %5863 = load i32, ptr %4654, align 4, !tbaa !5
  %5864 = call ptr @s2n_strerror_debug(i32 noundef %5863, ptr noundef nonnull @.str.4) #12
  %5865 = load i32, ptr %4708, align 4, !tbaa !5
  %5866 = call ptr @strerror(i32 noundef %5865) #12
  %5867 = load i32, ptr %4708, align 4, !tbaa !5
  %5868 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5859, ptr noundef nonnull %.str.5.sink3018, i32 noundef %5860, ptr noundef nonnull @.str.97, ptr noundef nonnull @.str.1, i32 noundef 443, ptr noundef %5862, ptr noundef %5864, ptr noundef %5866, i32 noundef %5867) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5869:                                             ; preds = %5843
  %5870 = load i32, ptr @test_count, align 4, !tbaa !5
  %5871 = add nsw i32 %5870, 1
  store i32 %5871, ptr @test_count, align 4, !tbaa !5
  %5872 = load ptr, ptr %49, align 8, !tbaa !9
  %5873 = call i32 @s2n_renegotiate_wipe(ptr noundef %5872) #12
  %5874 = icmp eq i32 %5873, -1
  br i1 %5874, label %5897, label %5875

5875:                                             ; preds = %5869
  %5876 = load i32, ptr %4708, 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
  %.not658 = icmp eq i32 %5884, 0
  br i1 %.not658, label %5885, label %5886

5885:                                             ; preds = %5881, %5875
  br label %5886

5886:                                             ; preds = %5881, %5885
  %.str.5.sink3027 = phi ptr [ @.str.5, %5885 ], [ @.str.2, %5881 ]
  store i32 %5876, ptr %4708, 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 %4654, align 4, !tbaa !5
  %5890 = call ptr @s2n_strerror(i32 noundef %5889, ptr noundef nonnull @.str.4) #12
  %5891 = load i32, ptr %4654, align 4, !tbaa !5
  %5892 = call ptr @s2n_strerror_debug(i32 noundef %5891, ptr noundef nonnull @.str.4) #12
  %5893 = load i32, ptr %4708, align 4, !tbaa !5
  %5894 = call ptr @strerror(i32 noundef %5893) #12
  %5895 = load i32, ptr %4708, align 4, !tbaa !5
  %5896 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5887, ptr noundef nonnull %.str.5.sink3027, i32 noundef %5888, ptr noundef nonnull @.str.82, ptr noundef nonnull @.str.1, i32 noundef 445, ptr noundef %5890, ptr noundef %5892, ptr noundef %5894, i32 noundef %5895) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5897:                                             ; preds = %5869
  %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 = load i32, ptr %4654, align 4, !tbaa !5
  %5901 = icmp eq i32 %5900, 469762112
  br i1 %5901, label %5924, label %5902

5902:                                             ; preds = %5897
  %5903 = load i32, ptr %4708, 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
  %.not659 = icmp eq i32 %5911, 0
  br i1 %.not659, label %5912, label %5913

5912:                                             ; preds = %5908, %5902
  br label %5913

5913:                                             ; preds = %5908, %5912
  %.str.5.sink3036 = phi ptr [ @.str.5, %5912 ], [ @.str.2, %5908 ]
  store i32 %5903, ptr %4708, 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 %4654, align 4, !tbaa !5
  %5917 = call ptr @s2n_strerror(i32 noundef %5916, ptr noundef nonnull @.str.4) #12
  %5918 = load i32, ptr %4654, align 4, !tbaa !5
  %5919 = call ptr @s2n_strerror_debug(i32 noundef %5918, ptr noundef nonnull @.str.4) #12
  %5920 = load i32, ptr %4708, align 4, !tbaa !5
  %5921 = call ptr @strerror(i32 noundef %5920) #12
  %5922 = load i32, ptr %4708, align 4, !tbaa !5
  %5923 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5914, ptr noundef nonnull %.str.5.sink3036, i32 noundef %5915, ptr noundef nonnull @.str.92, ptr noundef nonnull @.str.1, i32 noundef 445, 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 = add nsw i32 %5898, 2
  store i32 %5925, ptr @test_count, align 4, !tbaa !5
  %5926 = call ptr @s2n_strerror_debug(i32 noundef 469762112, ptr noundef nonnull @.str.4) #12
  %5927 = icmp eq ptr %5926, null
  br i1 %5927, label %5928, label %5950

5928:                                             ; preds = %5924
  %5929 = load i32, ptr %4708, align 4, !tbaa !5
  %5930 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5931 = call i32 @s2n_print_stacktrace(ptr noundef %5930) #12
  %5932 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5933 = trunc nuw i8 %5932 to i1
  br i1 %5933, label %5934, label %5938

5934:                                             ; preds = %5928
  %5935 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5936 = call i32 @fileno(ptr noundef %5935) #12
  %5937 = call i32 @isatty(i32 noundef %5936) #12
  %.not722 = icmp eq i32 %5937, 0
  br i1 %.not722, label %5938, label %5939

5938:                                             ; preds = %5934, %5928
  br label %5939

5939:                                             ; preds = %5934, %5938
  %.str.5.sink3045 = phi ptr [ @.str.5, %5938 ], [ @.str.2, %5934 ]
  store i32 %5929, ptr %4708, align 4, !tbaa !5
  %5940 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5941 = load i32, ptr @test_count, align 4, !tbaa !5
  %5942 = load i32, ptr %4654, align 4, !tbaa !5
  %5943 = call ptr @s2n_strerror(i32 noundef %5942, ptr noundef nonnull @.str.4) #12
  %5944 = load i32, ptr %4654, align 4, !tbaa !5
  %5945 = call ptr @s2n_strerror_debug(i32 noundef %5944, ptr noundef nonnull @.str.4) #12
  %5946 = load i32, ptr %4708, align 4, !tbaa !5
  %5947 = call ptr @strerror(i32 noundef %5946) #12
  %5948 = load i32, ptr %4708, align 4, !tbaa !5
  %5949 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5940, ptr noundef nonnull %.str.5.sink3045, i32 noundef %5941, ptr noundef nonnull @.str.84, ptr noundef nonnull @.str.1, i32 noundef 445, ptr noundef %5943, ptr noundef %5945, ptr noundef %5947, i32 noundef %5948) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5950:                                             ; preds = %5924
  store i32 0, ptr %4654, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %4708, align 4, !tbaa !5
  %5951 = load i32, ptr @test_count, align 4, !tbaa !5
  %5952 = add nsw i32 %5951, 1
  store i32 %5952, ptr @test_count, align 4, !tbaa !5
  %5953 = load ptr, ptr %49, align 8, !tbaa !9
  %5954 = call i64 @s2n_recv(ptr noundef %5953, ptr noundef nonnull %52, i64 noundef 10, ptr noundef nonnull %9) #12
  %5955 = icmp eq i64 %5954, 10
  br i1 %5955, label %5978, label %5956

5956:                                             ; preds = %5950
  %5957 = load i32, ptr %4708, 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
  %.not660 = icmp eq i32 %5965, 0
  br i1 %.not660, label %5966, label %5967

5966:                                             ; preds = %5962, %5956
  br label %5967

5967:                                             ; preds = %5962, %5966
  %.str.5.sink3054 = phi ptr [ @.str.5, %5966 ], [ @.str.2, %5962 ]
  store i32 %5957, ptr %4708, 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 %4654, align 4, !tbaa !5
  %5971 = call ptr @s2n_strerror(i32 noundef %5970, ptr noundef nonnull @.str.4) #12
  %5972 = load i32, ptr %4654, align 4, !tbaa !5
  %5973 = call ptr @s2n_strerror_debug(i32 noundef %5972, ptr noundef nonnull @.str.4) #12
  %5974 = load i32, ptr %4708, align 4, !tbaa !5
  %5975 = call ptr @strerror(i32 noundef %5974) #12
  %5976 = load i32, ptr %4708, align 4, !tbaa !5
  %5977 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5968, ptr noundef nonnull %.str.5.sink3054, i32 noundef %5969, ptr noundef nonnull @.str.98, ptr noundef nonnull @.str.1, i32 noundef 449, ptr noundef %5971, ptr noundef %5973, ptr noundef %5975, i32 noundef %5976) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5978:                                             ; preds = %5950
  %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 = getelementptr inbounds i8, ptr %7, i64 10
  %bcmp661 = call i32 @bcmp(ptr noundef nonnull dereferenceable(10) %5981, ptr noundef nonnull dereferenceable(10) %52, i64 10)
  %5982 = icmp eq i32 %bcmp661, 0
  br i1 %5982, label %6005, label %5983

5983:                                             ; preds = %5978
  %5984 = load i32, ptr %4708, 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
  %.not662 = icmp eq i32 %5992, 0
  br i1 %.not662, label %5993, label %5994

5993:                                             ; preds = %5989, %5983
  br label %5994

5994:                                             ; preds = %5989, %5993
  %.str.5.sink3063 = phi ptr [ @.str.5, %5993 ], [ @.str.2, %5989 ]
  store i32 %5984, ptr %4708, 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 %4654, align 4, !tbaa !5
  %5998 = call ptr @s2n_strerror(i32 noundef %5997, ptr noundef nonnull @.str.4) #12
  %5999 = load i32, ptr %4654, align 4, !tbaa !5
  %6000 = call ptr @s2n_strerror_debug(i32 noundef %5999, ptr noundef nonnull @.str.4) #12
  %6001 = load i32, ptr %4708, align 4, !tbaa !5
  %6002 = call ptr @strerror(i32 noundef %6001) #12
  %6003 = load i32, ptr %4708, align 4, !tbaa !5
  %6004 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5995, ptr noundef nonnull %.str.5.sink3063, i32 noundef %5996, ptr noundef nonnull @.str.99, ptr noundef nonnull @.str.1, i32 noundef 450, 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 = add nsw i32 %5979, 2
  store i32 %6006, ptr @test_count, align 4, !tbaa !5
  %6007 = load ptr, ptr %49, align 8, !tbaa !9
  %6008 = call i32 @s2n_peek(ptr noundef %6007) #12
  %6009 = icmp eq i32 %6008, 0
  br i1 %6009, label %6032, label %6010

6010:                                             ; preds = %6005
  %6011 = load i32, ptr %4708, 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
  %.not663 = icmp eq i32 %6019, 0
  br i1 %.not663, label %6020, label %6021

6020:                                             ; preds = %6016, %6010
  br label %6021

6021:                                             ; preds = %6016, %6020
  %.str.5.sink3072 = phi ptr [ @.str.5, %6020 ], [ @.str.2, %6016 ]
  store i32 %6011, ptr %4708, 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 %4654, align 4, !tbaa !5
  %6025 = call ptr @s2n_strerror(i32 noundef %6024, ptr noundef nonnull @.str.4) #12
  %6026 = load i32, ptr %4654, align 4, !tbaa !5
  %6027 = call ptr @s2n_strerror_debug(i32 noundef %6026, ptr noundef nonnull @.str.4) #12
  %6028 = load i32, ptr %4708, align 4, !tbaa !5
  %6029 = call ptr @strerror(i32 noundef %6028) #12
  %6030 = load i32, ptr %4708, align 4, !tbaa !5
  %6031 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6022, ptr noundef nonnull %.str.5.sink3072, i32 noundef %6023, ptr noundef nonnull @.str.100, ptr noundef nonnull @.str.1, i32 noundef 451, 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 = load i32, ptr @test_count, align 4, !tbaa !5
  %6034 = add nsw i32 %6033, 1
  store i32 %6034, ptr @test_count, align 4, !tbaa !5
  %6035 = load ptr, ptr %49, align 8, !tbaa !9
  %6036 = call i32 @s2n_renegotiate_wipe(ptr noundef %6035) #12
  %6037 = icmp eq i32 %6036, -1
  br i1 %6037, label %6038, label %6060

6038:                                             ; preds = %6032
  %6039 = load i32, ptr %4708, align 4, !tbaa !5
  %6040 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6041 = call i32 @s2n_print_stacktrace(ptr noundef %6040) #12
  %6042 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6043 = trunc nuw i8 %6042 to i1
  br i1 %6043, label %6044, label %6048

6044:                                             ; preds = %6038
  %6045 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6046 = call i32 @fileno(ptr noundef %6045) #12
  %6047 = call i32 @isatty(i32 noundef %6046) #12
  %.not721 = icmp eq i32 %6047, 0
  br i1 %.not721, label %6048, label %6049

6048:                                             ; preds = %6044, %6038
  br label %6049

6049:                                             ; preds = %6044, %6048
  %.str.5.sink3081 = phi ptr [ @.str.5, %6048 ], [ @.str.2, %6044 ]
  store i32 %6039, ptr %4708, align 4, !tbaa !5
  %6050 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6051 = load i32, ptr @test_count, align 4, !tbaa !5
  %6052 = load i32, ptr %4654, align 4, !tbaa !5
  %6053 = call ptr @s2n_strerror(i32 noundef %6052, ptr noundef nonnull @.str.4) #12
  %6054 = load i32, ptr %4654, align 4, !tbaa !5
  %6055 = call ptr @s2n_strerror_debug(i32 noundef %6054, ptr noundef nonnull @.str.4) #12
  %6056 = load i32, ptr %4708, align 4, !tbaa !5
  %6057 = call ptr @strerror(i32 noundef %6056) #12
  %6058 = load i32, ptr %4708, align 4, !tbaa !5
  %6059 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6050, ptr noundef nonnull %.str.5.sink3081, i32 noundef %6051, ptr noundef nonnull @.str.33, ptr noundef nonnull @.str.1, i32 noundef 453, ptr noundef %6053, ptr noundef %6055, ptr noundef %6057, i32 noundef %6058) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6060:                                             ; preds = %6032
  call void @llvm.lifetime.end.p0(i64 16384, ptr nonnull %52) #12
  %6061 = call i32 @s2n_stuffer_free(ptr noundef nonnull %51) #12
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %51) #12
  %6062 = call i32 @s2n_stuffer_free(ptr noundef nonnull %50) #12
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %50) #12
  %6063 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %49) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %49) #12
  %6064 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %48) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %48) #12
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %53) #12
  %6065 = call ptr @s2n_connection_new(i32 noundef 0) #12
  store ptr %6065, ptr %53, align 8, !tbaa !9
  %6066 = load i32, ptr @test_count, align 4, !tbaa !5
  %6067 = add nsw i32 %6066, 1
  store i32 %6067, ptr @test_count, align 4, !tbaa !5
  %6068 = icmp eq ptr %6065, null
  br i1 %6068, label %6069, label %6091

6069:                                             ; preds = %6060
  %6070 = load i32, ptr %4708, align 4, !tbaa !5
  %6071 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6072 = call i32 @s2n_print_stacktrace(ptr noundef %6071) #12
  %6073 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6074 = trunc nuw i8 %6073 to i1
  br i1 %6074, label %6075, label %6079

6075:                                             ; preds = %6069
  %6076 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6077 = call i32 @fileno(ptr noundef %6076) #12
  %6078 = call i32 @isatty(i32 noundef %6077) #12
  %.not720 = icmp eq i32 %6078, 0
  br i1 %.not720, label %6079, label %6080

6079:                                             ; preds = %6075, %6069
  br label %6080

6080:                                             ; preds = %6075, %6079
  %.str.5.sink3090 = phi ptr [ @.str.5, %6079 ], [ @.str.2, %6075 ]
  store i32 %6070, ptr %4708, align 4, !tbaa !5
  %6081 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6082 = load i32, ptr @test_count, align 4, !tbaa !5
  %6083 = load i32, ptr %4654, align 4, !tbaa !5
  %6084 = call ptr @s2n_strerror(i32 noundef %6083, ptr noundef nonnull @.str.4) #12
  %6085 = load i32, ptr %4654, align 4, !tbaa !5
  %6086 = call ptr @s2n_strerror_debug(i32 noundef %6085, ptr noundef nonnull @.str.4) #12
  %6087 = load i32, ptr %4708, align 4, !tbaa !5
  %6088 = call ptr @strerror(i32 noundef %6087) #12
  %6089 = load i32, ptr %4708, align 4, !tbaa !5
  %6090 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6081, ptr noundef nonnull %.str.5.sink3090, i32 noundef %6082, ptr noundef nonnull @.str.101, ptr noundef nonnull @.str.1, i32 noundef 459, ptr noundef %6084, ptr noundef %6086, ptr noundef %6088, i32 noundef %6089) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6091:                                             ; preds = %6060
  %6092 = add nsw i32 %6066, 2
  store i32 %6092, ptr @test_count, align 4, !tbaa !5
  %6093 = load ptr, ptr %6, align 8, !tbaa !9
  %6094 = call i32 @s2n_connection_set_config(ptr noundef nonnull %6065, ptr noundef %6093) #12
  %6095 = icmp eq i32 %6094, -1
  br i1 %6095, label %6096, label %6118

6096:                                             ; preds = %6091
  %6097 = load i32, ptr %4708, align 4, !tbaa !5
  %6098 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6099 = call i32 @s2n_print_stacktrace(ptr noundef %6098) #12
  %6100 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6101 = trunc nuw i8 %6100 to i1
  br i1 %6101, label %6102, label %6106

6102:                                             ; preds = %6096
  %6103 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6104 = call i32 @fileno(ptr noundef %6103) #12
  %6105 = call i32 @isatty(i32 noundef %6104) #12
  %.not719 = icmp eq i32 %6105, 0
  br i1 %.not719, label %6106, label %6107

6106:                                             ; preds = %6102, %6096
  br label %6107

6107:                                             ; preds = %6102, %6106
  %.str.5.sink3099 = phi ptr [ @.str.5, %6106 ], [ @.str.2, %6102 ]
  store i32 %6097, ptr %4708, align 4, !tbaa !5
  %6108 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6109 = load i32, ptr @test_count, align 4, !tbaa !5
  %6110 = load i32, ptr %4654, align 4, !tbaa !5
  %6111 = call ptr @s2n_strerror(i32 noundef %6110, ptr noundef nonnull @.str.4) #12
  %6112 = load i32, ptr %4654, align 4, !tbaa !5
  %6113 = call ptr @s2n_strerror_debug(i32 noundef %6112, ptr noundef nonnull @.str.4) #12
  %6114 = load i32, ptr %4708, align 4, !tbaa !5
  %6115 = call ptr @strerror(i32 noundef %6114) #12
  %6116 = load i32, ptr %4708, align 4, !tbaa !5
  %6117 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6108, ptr noundef nonnull %.str.5.sink3099, i32 noundef %6109, ptr noundef nonnull @.str.102, ptr noundef nonnull @.str.1, i32 noundef 460, ptr noundef %6111, ptr noundef %6113, ptr noundef %6115, i32 noundef %6116) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6118:                                             ; preds = %6091
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %54) #12
  %6119 = call ptr @s2n_connection_new(i32 noundef 1) #12
  store ptr %6119, ptr %54, align 8, !tbaa !9
  %6120 = load i32, ptr @test_count, align 4, !tbaa !5
  %6121 = add nsw i32 %6120, 1
  store i32 %6121, ptr @test_count, align 4, !tbaa !5
  %6122 = icmp eq ptr %6119, null
  br i1 %6122, label %6123, label %6145

6123:                                             ; preds = %6118
  %6124 = load i32, ptr %4708, align 4, !tbaa !5
  %6125 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6126 = call i32 @s2n_print_stacktrace(ptr noundef %6125) #12
  %6127 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6128 = trunc nuw i8 %6127 to i1
  br i1 %6128, label %6129, label %6133

6129:                                             ; preds = %6123
  %6130 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6131 = call i32 @fileno(ptr noundef %6130) #12
  %6132 = call i32 @isatty(i32 noundef %6131) #12
  %.not718 = icmp eq i32 %6132, 0
  br i1 %.not718, label %6133, label %6134

6133:                                             ; preds = %6129, %6123
  br label %6134

6134:                                             ; preds = %6129, %6133
  %.str.5.sink3108 = phi ptr [ @.str.5, %6133 ], [ @.str.2, %6129 ]
  store i32 %6124, ptr %4708, align 4, !tbaa !5
  %6135 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6136 = load i32, ptr @test_count, align 4, !tbaa !5
  %6137 = load i32, ptr %4654, align 4, !tbaa !5
  %6138 = call ptr @s2n_strerror(i32 noundef %6137, ptr noundef nonnull @.str.4) #12
  %6139 = load i32, ptr %4654, align 4, !tbaa !5
  %6140 = call ptr @s2n_strerror_debug(i32 noundef %6139, ptr noundef nonnull @.str.4) #12
  %6141 = load i32, ptr %4708, align 4, !tbaa !5
  %6142 = call ptr @strerror(i32 noundef %6141) #12
  %6143 = load i32, ptr %4708, align 4, !tbaa !5
  %6144 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6135, ptr noundef nonnull %.str.5.sink3108, i32 noundef %6136, ptr noundef nonnull @.str.103, ptr noundef nonnull @.str.1, i32 noundef 463, ptr noundef %6138, ptr noundef %6140, ptr noundef %6142, i32 noundef %6143) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6145:                                             ; preds = %6118
  %6146 = add nsw i32 %6120, 2
  store i32 %6146, ptr @test_count, align 4, !tbaa !5
  %6147 = call i32 @s2n_connection_set_config(ptr noundef nonnull %6119, ptr noundef %6093) #12
  %6148 = icmp eq i32 %6147, -1
  br i1 %6148, label %6149, label %6171

6149:                                             ; preds = %6145
  %6150 = load i32, ptr %4708, align 4, !tbaa !5
  %6151 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6152 = call i32 @s2n_print_stacktrace(ptr noundef %6151) #12
  %6153 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6154 = trunc nuw i8 %6153 to i1
  br i1 %6154, label %6155, label %6159

6155:                                             ; preds = %6149
  %6156 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6157 = call i32 @fileno(ptr noundef %6156) #12
  %6158 = call i32 @isatty(i32 noundef %6157) #12
  %.not717 = icmp eq i32 %6158, 0
  br i1 %.not717, label %6159, label %6160

6159:                                             ; preds = %6155, %6149
  br label %6160

6160:                                             ; preds = %6155, %6159
  %.str.5.sink3117 = phi ptr [ @.str.5, %6159 ], [ @.str.2, %6155 ]
  store i32 %6150, ptr %4708, align 4, !tbaa !5
  %6161 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6162 = load i32, ptr @test_count, align 4, !tbaa !5
  %6163 = load i32, ptr %4654, align 4, !tbaa !5
  %6164 = call ptr @s2n_strerror(i32 noundef %6163, ptr noundef nonnull @.str.4) #12
  %6165 = load i32, ptr %4654, align 4, !tbaa !5
  %6166 = call ptr @s2n_strerror_debug(i32 noundef %6165, ptr noundef nonnull @.str.4) #12
  %6167 = load i32, ptr %4708, align 4, !tbaa !5
  %6168 = call ptr @strerror(i32 noundef %6167) #12
  %6169 = load i32, ptr %4708, align 4, !tbaa !5
  %6170 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6161, ptr noundef nonnull %.str.5.sink3117, i32 noundef %6162, ptr noundef nonnull @.str.104, ptr noundef nonnull @.str.1, i32 noundef 464, ptr noundef %6164, ptr noundef %6166, ptr noundef %6168, i32 noundef %6169) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6171:                                             ; preds = %6145
  %6172 = load i32, ptr @test_count, align 4, !tbaa !5
  %6173 = add nsw i32 %6172, 1
  store i32 %6173, ptr @test_count, align 4, !tbaa !5
  %6174 = load ptr, ptr %54, align 8, !tbaa !9
  %6175 = call i32 @s2n_connection_set_recv_buffering(ptr noundef %6174, i1 noundef zeroext true) #12
  %6176 = icmp eq i32 %6175, -1
  br i1 %6176, label %6177, label %6199

6177:                                             ; preds = %6171
  %6178 = load i32, ptr %4708, align 4, !tbaa !5
  %6179 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6180 = call i32 @s2n_print_stacktrace(ptr noundef %6179) #12
  %6181 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6182 = trunc nuw i8 %6181 to i1
  br i1 %6182, label %6183, label %6187

6183:                                             ; preds = %6177
  %6184 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6185 = call i32 @fileno(ptr noundef %6184) #12
  %6186 = call i32 @isatty(i32 noundef %6185) #12
  %.not716 = icmp eq i32 %6186, 0
  br i1 %.not716, label %6187, label %6188

6187:                                             ; preds = %6183, %6177
  br label %6188

6188:                                             ; preds = %6183, %6187
  %.str.5.sink3126 = phi ptr [ @.str.5, %6187 ], [ @.str.2, %6183 ]
  store i32 %6178, ptr %4708, align 4, !tbaa !5
  %6189 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6190 = load i32, ptr @test_count, align 4, !tbaa !5
  %6191 = load i32, ptr %4654, align 4, !tbaa !5
  %6192 = call ptr @s2n_strerror(i32 noundef %6191, ptr noundef nonnull @.str.4) #12
  %6193 = load i32, ptr %4654, align 4, !tbaa !5
  %6194 = call ptr @s2n_strerror_debug(i32 noundef %6193, ptr noundef nonnull @.str.4) #12
  %6195 = load i32, ptr %4708, align 4, !tbaa !5
  %6196 = call ptr @strerror(i32 noundef %6195) #12
  %6197 = load i32, ptr %4708, align 4, !tbaa !5
  %6198 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6189, ptr noundef nonnull %.str.5.sink3126, i32 noundef %6190, ptr noundef nonnull @.str.105, ptr noundef nonnull @.str.1, i32 noundef 465, ptr noundef %6192, ptr noundef %6194, ptr noundef %6196, i32 noundef %6197) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6199:                                             ; preds = %6171
  call void @llvm.lifetime.start.p0(i64 80, ptr nonnull %55) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(80) %55, i8 0, i64 80, i1 false)
  %6200 = load i32, ptr @test_count, align 4, !tbaa !5
  %6201 = add nsw i32 %6200, 1
  store i32 %6201, ptr @test_count, align 4, !tbaa !5
  %6202 = call i32 @s2n_io_stuffer_pair_init(ptr noundef nonnull %55) #12
  %6203 = call zeroext i1 @s2n_result_is_ok(i32 %6202)
  br i1 %6203, label %6226, label %6204

6204:                                             ; preds = %6199
  %6205 = load i32, ptr %4708, align 4, !tbaa !5
  %6206 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6207 = call i32 @s2n_print_stacktrace(ptr noundef %6206) #12
  %6208 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6209 = trunc nuw i8 %6208 to i1
  br i1 %6209, label %6210, label %6214

6210:                                             ; preds = %6204
  %6211 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6212 = call i32 @fileno(ptr noundef %6211) #12
  %6213 = call i32 @isatty(i32 noundef %6212) #12
  %.not664 = icmp eq i32 %6213, 0
  br i1 %.not664, label %6214, label %6215

6214:                                             ; preds = %6210, %6204
  br label %6215

6215:                                             ; preds = %6210, %6214
  %.str.5.sink3135 = phi ptr [ @.str.5, %6214 ], [ @.str.2, %6210 ]
  store i32 %6205, ptr %4708, align 4, !tbaa !5
  %6216 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6217 = load i32, ptr @test_count, align 4, !tbaa !5
  %6218 = load i32, ptr %4654, align 4, !tbaa !5
  %6219 = call ptr @s2n_strerror(i32 noundef %6218, ptr noundef nonnull @.str.4) #12
  %6220 = load i32, ptr %4654, align 4, !tbaa !5
  %6221 = call ptr @s2n_strerror_debug(i32 noundef %6220, ptr noundef nonnull @.str.4) #12
  %6222 = load i32, ptr %4708, align 4, !tbaa !5
  %6223 = call ptr @strerror(i32 noundef %6222) #12
  %6224 = load i32, ptr %4708, align 4, !tbaa !5
  %6225 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6216, ptr noundef nonnull %.str.5.sink3135, i32 noundef %6217, ptr noundef nonnull @.str.106, ptr noundef nonnull @.str.1, i32 noundef 468, ptr noundef %6219, ptr noundef %6221, ptr noundef %6223, i32 noundef %6224) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6226:                                             ; preds = %6199
  %6227 = load i32, ptr @test_count, align 4, !tbaa !5
  %6228 = add nsw i32 %6227, 1
  store i32 %6228, ptr @test_count, align 4, !tbaa !5
  %6229 = load ptr, ptr %54, align 8, !tbaa !9
  %6230 = load ptr, ptr %53, align 8, !tbaa !9
  %6231 = call i32 @s2n_connections_set_io_stuffer_pair(ptr noundef %6229, ptr noundef %6230, ptr noundef nonnull %55) #12
  %6232 = call zeroext i1 @s2n_result_is_ok(i32 %6231)
  br i1 %6232, label %6255, label %6233

6233:                                             ; preds = %6226
  %6234 = load i32, ptr %4708, align 4, !tbaa !5
  %6235 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6236 = call i32 @s2n_print_stacktrace(ptr noundef %6235) #12
  %6237 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6238 = trunc nuw i8 %6237 to i1
  br i1 %6238, label %6239, label %6243

6239:                                             ; preds = %6233
  %6240 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6241 = call i32 @fileno(ptr noundef %6240) #12
  %6242 = call i32 @isatty(i32 noundef %6241) #12
  %.not665 = icmp eq i32 %6242, 0
  br i1 %.not665, label %6243, label %6244

6243:                                             ; preds = %6239, %6233
  br label %6244

6244:                                             ; preds = %6239, %6243
  %.str.5.sink3144 = phi ptr [ @.str.5, %6243 ], [ @.str.2, %6239 ]
  store i32 %6234, ptr %4708, align 4, !tbaa !5
  %6245 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6246 = load i32, ptr @test_count, align 4, !tbaa !5
  %6247 = load i32, ptr %4654, align 4, !tbaa !5
  %6248 = call ptr @s2n_strerror(i32 noundef %6247, ptr noundef nonnull @.str.4) #12
  %6249 = load i32, ptr %4654, align 4, !tbaa !5
  %6250 = call ptr @s2n_strerror_debug(i32 noundef %6249, ptr noundef nonnull @.str.4) #12
  %6251 = load i32, ptr %4708, align 4, !tbaa !5
  %6252 = call ptr @strerror(i32 noundef %6251) #12
  %6253 = load i32, ptr %4708, align 4, !tbaa !5
  %6254 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6245, ptr noundef nonnull %.str.5.sink3144, i32 noundef %6246, ptr noundef nonnull @.str.107, ptr noundef nonnull @.str.1, i32 noundef 469, ptr noundef %6248, ptr noundef %6250, ptr noundef %6252, i32 noundef %6253) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6255:                                             ; preds = %6226
  %6256 = load i32, ptr @test_count, align 4, !tbaa !5
  %6257 = add nsw i32 %6256, 1
  store i32 %6257, ptr @test_count, align 4, !tbaa !5
  %6258 = load ptr, ptr %53, align 8, !tbaa !9
  %6259 = load ptr, ptr %54, align 8, !tbaa !9
  %6260 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef %6258, ptr noundef %6259) #12
  %6261 = icmp eq i32 %6260, -1
  br i1 %6261, label %6262, label %6284

6262:                                             ; preds = %6255
  %6263 = load i32, ptr %4708, align 4, !tbaa !5
  %6264 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6265 = call i32 @s2n_print_stacktrace(ptr noundef %6264) #12
  %6266 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6267 = trunc nuw i8 %6266 to i1
  br i1 %6267, label %6268, label %6272

6268:                                             ; preds = %6262
  %6269 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6270 = call i32 @fileno(ptr noundef %6269) #12
  %6271 = call i32 @isatty(i32 noundef %6270) #12
  %.not715 = icmp eq i32 %6271, 0
  br i1 %.not715, label %6272, label %6273

6272:                                             ; preds = %6268, %6262
  br label %6273

6273:                                             ; preds = %6268, %6272
  %.str.5.sink3153 = phi ptr [ @.str.5, %6272 ], [ @.str.2, %6268 ]
  store i32 %6263, ptr %4708, align 4, !tbaa !5
  %6274 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6275 = load i32, ptr @test_count, align 4, !tbaa !5
  %6276 = load i32, ptr %4654, align 4, !tbaa !5
  %6277 = call ptr @s2n_strerror(i32 noundef %6276, ptr noundef nonnull @.str.4) #12
  %6278 = load i32, ptr %4654, align 4, !tbaa !5
  %6279 = call ptr @s2n_strerror_debug(i32 noundef %6278, ptr noundef nonnull @.str.4) #12
  %6280 = load i32, ptr %4708, align 4, !tbaa !5
  %6281 = call ptr @strerror(i32 noundef %6280) #12
  %6282 = load i32, ptr %4708, align 4, !tbaa !5
  %6283 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6274, ptr noundef nonnull %.str.5.sink3153, i32 noundef %6275, ptr noundef nonnull @.str.108, ptr noundef nonnull @.str.1, i32 noundef 471, ptr noundef %6277, ptr noundef %6279, ptr noundef %6281, i32 noundef %6282) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6284:                                             ; preds = %6255
  call void @llvm.lifetime.start.p0(i64 20, ptr nonnull %56) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 16 dereferenceable(20) %56, i8 0, i64 20, i1 false)
  %6285 = load i32, ptr @test_count, align 4, !tbaa !5
  %6286 = add nsw i32 %6285, 1
  store i32 %6286, ptr @test_count, align 4, !tbaa !5
  %6287 = load ptr, ptr %53, align 8, !tbaa !9
  %6288 = call i64 @s2n_send(ptr noundef %6287, ptr noundef nonnull %7, i64 noundef 20, ptr noundef nonnull %9) #12
  %6289 = icmp eq i64 %6288, 20
  br i1 %6289, label %6312, label %6290

6290:                                             ; preds = %6284
  %6291 = load i32, ptr %4708, align 4, !tbaa !5
  %6292 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6293 = call i32 @s2n_print_stacktrace(ptr noundef %6292) #12
  %6294 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6295 = trunc nuw i8 %6294 to i1
  br i1 %6295, label %6296, label %6300

6296:                                             ; preds = %6290
  %6297 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6298 = call i32 @fileno(ptr noundef %6297) #12
  %6299 = call i32 @isatty(i32 noundef %6298) #12
  %.not666 = icmp eq i32 %6299, 0
  br i1 %.not666, label %6300, label %6301

6300:                                             ; preds = %6296, %6290
  br label %6301

6301:                                             ; preds = %6296, %6300
  %.str.5.sink3162 = phi ptr [ @.str.5, %6300 ], [ @.str.2, %6296 ]
  store i32 %6291, ptr %4708, align 4, !tbaa !5
  %6302 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6303 = load i32, ptr @test_count, align 4, !tbaa !5
  %6304 = load i32, ptr %4654, align 4, !tbaa !5
  %6305 = call ptr @s2n_strerror(i32 noundef %6304, ptr noundef nonnull @.str.4) #12
  %6306 = load i32, ptr %4654, align 4, !tbaa !5
  %6307 = call ptr @s2n_strerror_debug(i32 noundef %6306, ptr noundef nonnull @.str.4) #12
  %6308 = load i32, ptr %4708, align 4, !tbaa !5
  %6309 = call ptr @strerror(i32 noundef %6308) #12
  %6310 = load i32, ptr %4708, align 4, !tbaa !5
  %6311 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6302, ptr noundef nonnull %.str.5.sink3162, i32 noundef %6303, ptr noundef nonnull @.str.109, ptr noundef nonnull @.str.1, i32 noundef 478, ptr noundef %6305, ptr noundef %6307, ptr noundef %6309, i32 noundef %6310) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6312:                                             ; preds = %6284
  %6313 = load i32, ptr @test_count, align 4, !tbaa !5
  %6314 = add nsw i32 %6313, 1
  store i32 %6314, ptr @test_count, align 4, !tbaa !5
  %6315 = load ptr, ptr %53, align 8, !tbaa !9
  %6316 = call i64 @s2n_send(ptr noundef %6315, ptr noundef nonnull %7, i64 noundef 20, ptr noundef nonnull %9) #12
  %6317 = icmp eq i64 %6316, 20
  br i1 %6317, label %6340, label %6318

6318:                                             ; preds = %6312
  %6319 = load i32, ptr %4708, align 4, !tbaa !5
  %6320 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6321 = call i32 @s2n_print_stacktrace(ptr noundef %6320) #12
  %6322 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6323 = trunc nuw i8 %6322 to i1
  br i1 %6323, label %6324, label %6328

6324:                                             ; preds = %6318
  %6325 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6326 = call i32 @fileno(ptr noundef %6325) #12
  %6327 = call i32 @isatty(i32 noundef %6326) #12
  %.not667 = icmp eq i32 %6327, 0
  br i1 %.not667, label %6328, label %6329

6328:                                             ; preds = %6324, %6318
  br label %6329

6329:                                             ; preds = %6324, %6328
  %.str.5.sink3171 = phi ptr [ @.str.5, %6328 ], [ @.str.2, %6324 ]
  store i32 %6319, ptr %4708, align 4, !tbaa !5
  %6330 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6331 = load i32, ptr @test_count, align 4, !tbaa !5
  %6332 = load i32, ptr %4654, align 4, !tbaa !5
  %6333 = call ptr @s2n_strerror(i32 noundef %6332, ptr noundef nonnull @.str.4) #12
  %6334 = load i32, ptr %4654, align 4, !tbaa !5
  %6335 = call ptr @s2n_strerror_debug(i32 noundef %6334, ptr noundef nonnull @.str.4) #12
  %6336 = load i32, ptr %4708, align 4, !tbaa !5
  %6337 = call ptr @strerror(i32 noundef %6336) #12
  %6338 = load i32, ptr %4708, align 4, !tbaa !5
  %6339 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6330, ptr noundef nonnull %.str.5.sink3171, i32 noundef %6331, ptr noundef nonnull @.str.109, ptr noundef nonnull @.str.1, i32 noundef 479, ptr noundef %6333, ptr noundef %6335, ptr noundef %6337, i32 noundef %6338) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6340:                                             ; preds = %6312
  %6341 = load i32, ptr @test_count, align 4, !tbaa !5
  %6342 = add nsw i32 %6341, 1
  store i32 %6342, ptr @test_count, align 4, !tbaa !5
  %6343 = load ptr, ptr %54, align 8, !tbaa !9
  %6344 = call i64 @s2n_recv(ptr noundef %6343, ptr noundef nonnull %56, i64 noundef 20, ptr noundef nonnull %9) #12
  %6345 = icmp eq i64 %6344, 20
  br i1 %6345, label %6368, label %6346

6346:                                             ; preds = %6340
  %6347 = load i32, ptr %4708, align 4, !tbaa !5
  %6348 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6349 = call i32 @s2n_print_stacktrace(ptr noundef %6348) #12
  %6350 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6351 = trunc nuw i8 %6350 to i1
  br i1 %6351, label %6352, label %6356

6352:                                             ; preds = %6346
  %6353 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6354 = call i32 @fileno(ptr noundef %6353) #12
  %6355 = call i32 @isatty(i32 noundef %6354) #12
  %.not668 = icmp eq i32 %6355, 0
  br i1 %.not668, label %6356, label %6357

6356:                                             ; preds = %6352, %6346
  br label %6357

6357:                                             ; preds = %6352, %6356
  %.str.5.sink3180 = phi ptr [ @.str.5, %6356 ], [ @.str.2, %6352 ]
  store i32 %6347, ptr %4708, align 4, !tbaa !5
  %6358 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6359 = load i32, ptr @test_count, align 4, !tbaa !5
  %6360 = load i32, ptr %4654, align 4, !tbaa !5
  %6361 = call ptr @s2n_strerror(i32 noundef %6360, ptr noundef nonnull @.str.4) #12
  %6362 = load i32, ptr %4654, align 4, !tbaa !5
  %6363 = call ptr @s2n_strerror_debug(i32 noundef %6362, ptr noundef nonnull @.str.4) #12
  %6364 = load i32, ptr %4708, align 4, !tbaa !5
  %6365 = call ptr @strerror(i32 noundef %6364) #12
  %6366 = load i32, ptr %4708, align 4, !tbaa !5
  %6367 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6358, ptr noundef nonnull %.str.5.sink3180, i32 noundef %6359, ptr noundef nonnull @.str.110, ptr noundef nonnull @.str.1, i32 noundef 480, ptr noundef %6361, ptr noundef %6363, ptr noundef %6365, i32 noundef %6366) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6368:                                             ; preds = %6340
  %6369 = load i32, ptr @test_count, align 4, !tbaa !5
  %6370 = add nsw i32 %6369, 1
  store i32 %6370, ptr @test_count, align 4, !tbaa !5
  %6371 = load ptr, ptr %54, align 8, !tbaa !9
  %6372 = call i32 @s2n_peek(ptr noundef %6371) #12
  %6373 = icmp eq i32 %6372, 0
  br i1 %6373, label %6396, label %6374

6374:                                             ; preds = %6368
  %6375 = load i32, ptr %4708, align 4, !tbaa !5
  %6376 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6377 = call i32 @s2n_print_stacktrace(ptr noundef %6376) #12
  %6378 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6379 = trunc nuw i8 %6378 to i1
  br i1 %6379, label %6380, label %6384

6380:                                             ; preds = %6374
  %6381 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6382 = call i32 @fileno(ptr noundef %6381) #12
  %6383 = call i32 @isatty(i32 noundef %6382) #12
  %.not669 = icmp eq i32 %6383, 0
  br i1 %.not669, label %6384, label %6385

6384:                                             ; preds = %6380, %6374
  br label %6385

6385:                                             ; preds = %6380, %6384
  %.str.5.sink3189 = phi ptr [ @.str.5, %6384 ], [ @.str.2, %6380 ]
  store i32 %6375, ptr %4708, align 4, !tbaa !5
  %6386 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6387 = load i32, ptr @test_count, align 4, !tbaa !5
  %6388 = load i32, ptr %4654, align 4, !tbaa !5
  %6389 = call ptr @s2n_strerror(i32 noundef %6388, ptr noundef nonnull @.str.4) #12
  %6390 = load i32, ptr %4654, align 4, !tbaa !5
  %6391 = call ptr @s2n_strerror_debug(i32 noundef %6390, ptr noundef nonnull @.str.4) #12
  %6392 = load i32, ptr %4708, align 4, !tbaa !5
  %6393 = call ptr @strerror(i32 noundef %6392) #12
  %6394 = load i32, ptr %4708, align 4, !tbaa !5
  %6395 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6386, ptr noundef nonnull %.str.5.sink3189, i32 noundef %6387, ptr noundef nonnull @.str.111, ptr noundef nonnull @.str.1, i32 noundef 481, ptr noundef %6389, ptr noundef %6391, ptr noundef %6393, i32 noundef %6394) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6396:                                             ; preds = %6368
  %6397 = load i32, ptr @test_count, align 4, !tbaa !5
  %6398 = add nsw i32 %6397, 1
  store i32 %6398, ptr @test_count, align 4, !tbaa !5
  %6399 = load ptr, ptr %54, align 8, !tbaa !9
  %6400 = getelementptr inbounds i8, ptr %6399, i64 1844
  %6401 = load i32, ptr %6400, align 4, !tbaa !48
  %6402 = getelementptr inbounds i8, ptr %6399, i64 1840
  %6403 = load i32, ptr %6402, align 8, !tbaa !49
  %.not670 = icmp eq i32 %6401, %6403
  br i1 %.not670, label %6404, label %6426

6404:                                             ; preds = %6396
  %6405 = load i32, ptr %4708, align 4, !tbaa !5
  %6406 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6407 = call i32 @s2n_print_stacktrace(ptr noundef %6406) #12
  %6408 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6409 = trunc nuw i8 %6408 to i1
  br i1 %6409, label %6410, label %6414

6410:                                             ; preds = %6404
  %6411 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6412 = call i32 @fileno(ptr noundef %6411) #12
  %6413 = call i32 @isatty(i32 noundef %6412) #12
  %.not671 = icmp eq i32 %6413, 0
  br i1 %.not671, label %6414, label %6415

6414:                                             ; preds = %6410, %6404
  br label %6415

6415:                                             ; preds = %6410, %6414
  %.str.5.sink3198 = phi ptr [ @.str.5, %6414 ], [ @.str.2, %6410 ]
  store i32 %6405, ptr %4708, align 4, !tbaa !5
  %6416 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6417 = load i32, ptr @test_count, align 4, !tbaa !5
  %6418 = load i32, ptr %4654, align 4, !tbaa !5
  %6419 = call ptr @s2n_strerror(i32 noundef %6418, ptr noundef nonnull @.str.4) #12
  %6420 = load i32, ptr %4654, align 4, !tbaa !5
  %6421 = call ptr @s2n_strerror_debug(i32 noundef %6420, ptr noundef nonnull @.str.4) #12
  %6422 = load i32, ptr %4708, align 4, !tbaa !5
  %6423 = call ptr @strerror(i32 noundef %6422) #12
  %6424 = load i32, ptr %4708, align 4, !tbaa !5
  %6425 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6416, ptr noundef nonnull %.str.5.sink3198, i32 noundef %6417, ptr noundef nonnull @.str.112, ptr noundef nonnull @.str.1, i32 noundef 482, ptr noundef %6419, ptr noundef %6421, ptr noundef %6423, i32 noundef %6424) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6426:                                             ; preds = %6396
  %6427 = add nsw i32 %6397, 2
  store i32 %6427, ptr @test_count, align 4, !tbaa !5
  %6428 = call i32 @s2n_renegotiate_wipe(ptr noundef nonnull %6399) #12
  %6429 = icmp eq i32 %6428, -1
  br i1 %6429, label %6430, label %6452

6430:                                             ; preds = %6426
  %6431 = load i32, ptr %4708, align 4, !tbaa !5
  %6432 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6433 = call i32 @s2n_print_stacktrace(ptr noundef %6432) #12
  %6434 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6435 = trunc nuw i8 %6434 to i1
  br i1 %6435, label %6436, label %6440

6436:                                             ; preds = %6430
  %6437 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6438 = call i32 @fileno(ptr noundef %6437) #12
  %6439 = call i32 @isatty(i32 noundef %6438) #12
  %.not714 = icmp eq i32 %6439, 0
  br i1 %.not714, label %6440, label %6441

6440:                                             ; preds = %6436, %6430
  br label %6441

6441:                                             ; preds = %6436, %6440
  %.str.5.sink3207 = phi ptr [ @.str.5, %6440 ], [ @.str.2, %6436 ]
  store i32 %6431, ptr %4708, align 4, !tbaa !5
  %6442 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6443 = load i32, ptr @test_count, align 4, !tbaa !5
  %6444 = load i32, ptr %4654, align 4, !tbaa !5
  %6445 = call ptr @s2n_strerror(i32 noundef %6444, ptr noundef nonnull @.str.4) #12
  %6446 = load i32, ptr %4654, align 4, !tbaa !5
  %6447 = call ptr @s2n_strerror_debug(i32 noundef %6446, ptr noundef nonnull @.str.4) #12
  %6448 = load i32, ptr %4708, align 4, !tbaa !5
  %6449 = call ptr @strerror(i32 noundef %6448) #12
  %6450 = load i32, ptr %4708, align 4, !tbaa !5
  %6451 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6442, ptr noundef nonnull %.str.5.sink3207, i32 noundef %6443, ptr noundef nonnull @.str.113, ptr noundef nonnull @.str.1, i32 noundef 484, ptr noundef %6445, ptr noundef %6447, ptr noundef %6449, i32 noundef %6450) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6452:                                             ; preds = %6426
  %6453 = load i32, ptr @test_count, align 4, !tbaa !5
  %6454 = add nsw i32 %6453, 1
  store i32 %6454, ptr @test_count, align 4, !tbaa !5
  %6455 = load ptr, ptr %54, align 8, !tbaa !9
  %6456 = call i64 @s2n_recv(ptr noundef %6455, ptr noundef nonnull %56, i64 noundef 20, ptr noundef nonnull %9) #12
  %6457 = icmp eq i64 %6456, 20
  br i1 %6457, label %6480, label %6458

6458:                                             ; preds = %6452
  %6459 = load i32, ptr %4708, align 4, !tbaa !5
  %6460 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6461 = call i32 @s2n_print_stacktrace(ptr noundef %6460) #12
  %6462 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6463 = trunc nuw i8 %6462 to i1
  br i1 %6463, label %6464, label %6468

6464:                                             ; preds = %6458
  %6465 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6466 = call i32 @fileno(ptr noundef %6465) #12
  %6467 = call i32 @isatty(i32 noundef %6466) #12
  %.not672 = icmp eq i32 %6467, 0
  br i1 %.not672, label %6468, label %6469

6468:                                             ; preds = %6464, %6458
  br label %6469

6469:                                             ; preds = %6464, %6468
  %.str.5.sink3216 = phi ptr [ @.str.5, %6468 ], [ @.str.2, %6464 ]
  store i32 %6459, ptr %4708, align 4, !tbaa !5
  %6470 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6471 = load i32, ptr @test_count, align 4, !tbaa !5
  %6472 = load i32, ptr %4654, align 4, !tbaa !5
  %6473 = call ptr @s2n_strerror(i32 noundef %6472, ptr noundef nonnull @.str.4) #12
  %6474 = load i32, ptr %4654, align 4, !tbaa !5
  %6475 = call ptr @s2n_strerror_debug(i32 noundef %6474, ptr noundef nonnull @.str.4) #12
  %6476 = load i32, ptr %4708, align 4, !tbaa !5
  %6477 = call ptr @strerror(i32 noundef %6476) #12
  %6478 = load i32, ptr %4708, align 4, !tbaa !5
  %6479 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6470, ptr noundef nonnull %.str.5.sink3216, i32 noundef %6471, ptr noundef nonnull @.str.110, ptr noundef nonnull @.str.1, i32 noundef 487, ptr noundef %6473, ptr noundef %6475, ptr noundef %6477, i32 noundef %6478) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6480:                                             ; preds = %6452
  %6481 = load i32, ptr @test_count, align 4, !tbaa !5
  %6482 = add nsw i32 %6481, 1
  store i32 %6482, ptr @test_count, align 4, !tbaa !5
  %bcmp673 = call i32 @bcmp(ptr noundef nonnull dereferenceable(20) %56, ptr noundef nonnull dereferenceable(20) %7, i64 20)
  %6483 = icmp eq i32 %bcmp673, 0
  br i1 %6483, label %6506, label %6484

6484:                                             ; preds = %6480
  %6485 = load i32, ptr %4708, align 4, !tbaa !5
  %6486 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6487 = call i32 @s2n_print_stacktrace(ptr noundef %6486) #12
  %6488 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6489 = trunc nuw i8 %6488 to i1
  br i1 %6489, label %6490, label %6494

6490:                                             ; preds = %6484
  %6491 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6492 = call i32 @fileno(ptr noundef %6491) #12
  %6493 = call i32 @isatty(i32 noundef %6492) #12
  %.not674 = icmp eq i32 %6493, 0
  br i1 %.not674, label %6494, label %6495

6494:                                             ; preds = %6490, %6484
  br label %6495

6495:                                             ; preds = %6490, %6494
  %.str.5.sink3225 = phi ptr [ @.str.5, %6494 ], [ @.str.2, %6490 ]
  store i32 %6485, ptr %4708, align 4, !tbaa !5
  %6496 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6497 = load i32, ptr @test_count, align 4, !tbaa !5
  %6498 = load i32, ptr %4654, align 4, !tbaa !5
  %6499 = call ptr @s2n_strerror(i32 noundef %6498, ptr noundef nonnull @.str.4) #12
  %6500 = load i32, ptr %4654, align 4, !tbaa !5
  %6501 = call ptr @s2n_strerror_debug(i32 noundef %6500, ptr noundef nonnull @.str.4) #12
  %6502 = load i32, ptr %4708, align 4, !tbaa !5
  %6503 = call ptr @strerror(i32 noundef %6502) #12
  %6504 = load i32, ptr %4708, align 4, !tbaa !5
  %6505 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6496, ptr noundef nonnull %.str.5.sink3225, i32 noundef %6497, ptr noundef nonnull @.str.36, ptr noundef nonnull @.str.1, i32 noundef 488, ptr noundef %6499, ptr noundef %6501, ptr noundef %6503, i32 noundef %6504) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6506:                                             ; preds = %6480
  call void @llvm.lifetime.end.p0(i64 20, ptr nonnull %56) #12
  %6507 = call i32 @s2n_io_stuffer_pair_free(ptr noundef nonnull %55) #12
  call void @llvm.lifetime.end.p0(i64 80, ptr nonnull %55) #12
  %6508 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %54) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %54) #12
  %6509 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %53) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %53) #12
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %57) #12
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %57, ptr noundef nonnull align 8 dereferenceable(24) @__const.main.one_cipher_preference, i64 24, i1 false)
  call void @llvm.lifetime.start.p0(i64 64, ptr nonnull %58) #12
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(64) %58, ptr noundef nonnull align 8 dereferenceable(64) @security_policy_test_all, i64 64, i1 false), !tbaa.struct !50
  %6510 = getelementptr inbounds i8, ptr %58, i64 8
  store ptr %57, ptr %6510, align 8, !tbaa !52
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %59) #12
  %6511 = call ptr @s2n_config_new() #12
  store ptr %6511, ptr %59, align 8, !tbaa !9
  %6512 = load i32, ptr @test_count, align 4, !tbaa !5
  %6513 = add nsw i32 %6512, 1
  store i32 %6513, ptr @test_count, align 4, !tbaa !5
  %6514 = icmp eq ptr %6511, null
  br i1 %6514, label %6515, label %6537

6515:                                             ; preds = %6506
  %6516 = load i32, ptr %4708, align 4, !tbaa !5
  %6517 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6518 = call i32 @s2n_print_stacktrace(ptr noundef %6517) #12
  %6519 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6520 = trunc nuw i8 %6519 to i1
  br i1 %6520, label %6521, label %6525

6521:                                             ; preds = %6515
  %6522 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6523 = call i32 @fileno(ptr noundef %6522) #12
  %6524 = call i32 @isatty(i32 noundef %6523) #12
  %.not713 = icmp eq i32 %6524, 0
  br i1 %.not713, label %6525, label %6526

6525:                                             ; preds = %6521, %6515
  br label %6526

6526:                                             ; preds = %6521, %6525
  %.str.5.sink3234 = phi ptr [ @.str.5, %6525 ], [ @.str.2, %6521 ]
  store i32 %6516, ptr %4708, align 4, !tbaa !5
  %6527 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6528 = load i32, ptr @test_count, align 4, !tbaa !5
  %6529 = load i32, ptr %4654, align 4, !tbaa !5
  %6530 = call ptr @s2n_strerror(i32 noundef %6529, ptr noundef nonnull @.str.4) #12
  %6531 = load i32, ptr %4654, align 4, !tbaa !5
  %6532 = call ptr @s2n_strerror_debug(i32 noundef %6531, ptr noundef nonnull @.str.4) #12
  %6533 = load i32, ptr %4708, align 4, !tbaa !5
  %6534 = call ptr @strerror(i32 noundef %6533) #12
  %6535 = load i32, ptr %4708, align 4, !tbaa !5
  %6536 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6527, ptr noundef nonnull %.str.5.sink3234, i32 noundef %6528, ptr noundef nonnull @.str.114, ptr noundef nonnull @.str.1, i32 noundef 503, ptr noundef %6530, ptr noundef %6532, ptr noundef %6534, i32 noundef %6535) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6537:                                             ; preds = %6506
  %6538 = add nsw i32 %6512, 2
  store i32 %6538, ptr @test_count, align 4, !tbaa !5
  %6539 = load ptr, ptr %3, align 8, !tbaa !9
  %6540 = call i32 @s2n_config_add_cert_chain_and_key_to_store(ptr noundef nonnull %6511, ptr noundef %6539) #12
  %6541 = icmp eq i32 %6540, -1
  br i1 %6541, label %6542, label %6564

6542:                                             ; preds = %6537
  %6543 = load i32, ptr %4708, align 4, !tbaa !5
  %6544 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6545 = call i32 @s2n_print_stacktrace(ptr noundef %6544) #12
  %6546 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6547 = trunc nuw i8 %6546 to i1
  br i1 %6547, label %6548, label %6552

6548:                                             ; preds = %6542
  %6549 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6550 = call i32 @fileno(ptr noundef %6549) #12
  %6551 = call i32 @isatty(i32 noundef %6550) #12
  %.not712 = icmp eq i32 %6551, 0
  br i1 %.not712, label %6552, label %6553

6552:                                             ; preds = %6548, %6542
  br label %6553

6553:                                             ; preds = %6548, %6552
  %.str.5.sink3243 = phi ptr [ @.str.5, %6552 ], [ @.str.2, %6548 ]
  store i32 %6543, ptr %4708, align 4, !tbaa !5
  %6554 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6555 = load i32, ptr @test_count, align 4, !tbaa !5
  %6556 = load i32, ptr %4654, align 4, !tbaa !5
  %6557 = call ptr @s2n_strerror(i32 noundef %6556, ptr noundef nonnull @.str.4) #12
  %6558 = load i32, ptr %4654, align 4, !tbaa !5
  %6559 = call ptr @s2n_strerror_debug(i32 noundef %6558, ptr noundef nonnull @.str.4) #12
  %6560 = load i32, ptr %4708, align 4, !tbaa !5
  %6561 = call ptr @strerror(i32 noundef %6560) #12
  %6562 = load i32, ptr %4708, align 4, !tbaa !5
  %6563 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6554, ptr noundef nonnull %.str.5.sink3243, i32 noundef %6555, ptr noundef nonnull @.str.115, ptr noundef nonnull @.str.1, i32 noundef 504, ptr noundef %6557, ptr noundef %6559, ptr noundef %6561, i32 noundef %6562) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6564:                                             ; preds = %6537
  %6565 = load i32, ptr @test_count, align 4, !tbaa !5
  %6566 = add nsw i32 %6565, 1
  store i32 %6566, ptr @test_count, align 4, !tbaa !5
  %6567 = load ptr, ptr %4, align 8, !tbaa !9
  %6568 = call i32 @s2n_config_add_cert_chain_and_key_to_store(ptr noundef nonnull %6511, ptr noundef %6567) #12
  %6569 = icmp eq i32 %6568, -1
  br i1 %6569, label %6570, label %6592

6570:                                             ; preds = %6564
  %6571 = load i32, ptr %4708, align 4, !tbaa !5
  %6572 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6573 = call i32 @s2n_print_stacktrace(ptr noundef %6572) #12
  %6574 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6575 = trunc nuw i8 %6574 to i1
  br i1 %6575, label %6576, label %6580

6576:                                             ; preds = %6570
  %6577 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6578 = call i32 @fileno(ptr noundef %6577) #12
  %6579 = call i32 @isatty(i32 noundef %6578) #12
  %.not711 = icmp eq i32 %6579, 0
  br i1 %.not711, label %6580, label %6581

6580:                                             ; preds = %6576, %6570
  br label %6581

6581:                                             ; preds = %6576, %6580
  %.str.5.sink3252 = phi ptr [ @.str.5, %6580 ], [ @.str.2, %6576 ]
  store i32 %6571, ptr %4708, align 4, !tbaa !5
  %6582 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6583 = load i32, ptr @test_count, align 4, !tbaa !5
  %6584 = load i32, ptr %4654, align 4, !tbaa !5
  %6585 = call ptr @s2n_strerror(i32 noundef %6584, ptr noundef nonnull @.str.4) #12
  %6586 = load i32, ptr %4654, align 4, !tbaa !5
  %6587 = call ptr @s2n_strerror_debug(i32 noundef %6586, ptr noundef nonnull @.str.4) #12
  %6588 = load i32, ptr %4708, align 4, !tbaa !5
  %6589 = call ptr @strerror(i32 noundef %6588) #12
  %6590 = load i32, ptr %4708, align 4, !tbaa !5
  %6591 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6582, ptr noundef nonnull %.str.5.sink3252, i32 noundef %6583, ptr noundef nonnull @.str.116, ptr noundef nonnull @.str.1, i32 noundef 505, ptr noundef %6585, ptr noundef %6587, ptr noundef %6589, i32 noundef %6590) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6592:                                             ; preds = %6564
  %6593 = load i32, ptr @test_count, align 4, !tbaa !5
  %6594 = add nsw i32 %6593, 1
  store i32 %6594, ptr @test_count, align 4, !tbaa !5
  %6595 = call i32 @s2n_config_add_dhparams(ptr noundef nonnull %6511, ptr noundef nonnull %5) #12
  %6596 = icmp eq i32 %6595, -1
  br i1 %6596, label %6597, label %6619

6597:                                             ; preds = %6592
  %6598 = load i32, ptr %4708, align 4, !tbaa !5
  %6599 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6600 = call i32 @s2n_print_stacktrace(ptr noundef %6599) #12
  %6601 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6602 = trunc nuw i8 %6601 to i1
  br i1 %6602, label %6603, label %6607

6603:                                             ; preds = %6597
  %6604 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6605 = call i32 @fileno(ptr noundef %6604) #12
  %6606 = call i32 @isatty(i32 noundef %6605) #12
  %.not710 = icmp eq i32 %6606, 0
  br i1 %.not710, label %6607, label %6608

6607:                                             ; preds = %6603, %6597
  br label %6608

6608:                                             ; preds = %6603, %6607
  %.str.5.sink3261 = phi ptr [ @.str.5, %6607 ], [ @.str.2, %6603 ]
  store i32 %6598, ptr %4708, align 4, !tbaa !5
  %6609 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6610 = load i32, ptr @test_count, align 4, !tbaa !5
  %6611 = load i32, ptr %4654, align 4, !tbaa !5
  %6612 = call ptr @s2n_strerror(i32 noundef %6611, ptr noundef nonnull @.str.4) #12
  %6613 = load i32, ptr %4654, align 4, !tbaa !5
  %6614 = call ptr @s2n_strerror_debug(i32 noundef %6613, ptr noundef nonnull @.str.4) #12
  %6615 = load i32, ptr %4708, align 4, !tbaa !5
  %6616 = call ptr @strerror(i32 noundef %6615) #12
  %6617 = load i32, ptr %4708, align 4, !tbaa !5
  %6618 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6609, ptr noundef nonnull %.str.5.sink3261, i32 noundef %6610, ptr noundef nonnull @.str.117, ptr noundef nonnull @.str.1, i32 noundef 506, ptr noundef %6612, ptr noundef %6614, ptr noundef %6616, i32 noundef %6617) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6619:                                             ; preds = %6592
  %6620 = load i32, ptr @test_count, align 4, !tbaa !5
  %6621 = add nsw i32 %6620, 1
  store i32 %6621, ptr @test_count, align 4, !tbaa !5
  %6622 = call i32 @s2n_config_accept_max_fragment_length(ptr noundef nonnull %6511) #12
  %6623 = icmp eq i32 %6622, -1
  br i1 %6623, label %6624, label %6646

6624:                                             ; preds = %6619
  %6625 = load i32, ptr %4708, align 4, !tbaa !5
  %6626 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6627 = call i32 @s2n_print_stacktrace(ptr noundef %6626) #12
  %6628 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6629 = trunc nuw i8 %6628 to i1
  br i1 %6629, label %6630, label %6634

6630:                                             ; preds = %6624
  %6631 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6632 = call i32 @fileno(ptr noundef %6631) #12
  %6633 = call i32 @isatty(i32 noundef %6632) #12
  %.not709 = icmp eq i32 %6633, 0
  br i1 %.not709, label %6634, label %6635

6634:                                             ; preds = %6630, %6624
  br label %6635

6635:                                             ; preds = %6630, %6634
  %.str.5.sink3270 = phi ptr [ @.str.5, %6634 ], [ @.str.2, %6630 ]
  store i32 %6625, ptr %4708, align 4, !tbaa !5
  %6636 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6637 = load i32, ptr @test_count, align 4, !tbaa !5
  %6638 = load i32, ptr %4654, align 4, !tbaa !5
  %6639 = call ptr @s2n_strerror(i32 noundef %6638, ptr noundef nonnull @.str.4) #12
  %6640 = load i32, ptr %4654, align 4, !tbaa !5
  %6641 = call ptr @s2n_strerror_debug(i32 noundef %6640, ptr noundef nonnull @.str.4) #12
  %6642 = load i32, ptr %4708, align 4, !tbaa !5
  %6643 = call ptr @strerror(i32 noundef %6642) #12
  %6644 = load i32, ptr %4708, align 4, !tbaa !5
  %6645 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6636, ptr noundef nonnull %.str.5.sink3270, i32 noundef %6637, ptr noundef nonnull @.str.118, ptr noundef nonnull @.str.1, i32 noundef 507, ptr noundef %6639, ptr noundef %6641, ptr noundef %6643, i32 noundef %6644) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6646:                                             ; preds = %6619
  %6647 = getelementptr inbounds i8, ptr %6511, i64 96
  store ptr %58, ptr %6647, align 8, !tbaa !54
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %60) #12
  %6648 = call ptr @s2n_config_new() #12
  store ptr %6648, ptr %60, align 8, !tbaa !9
  %6649 = load i32, ptr @test_count, align 4, !tbaa !5
  %6650 = add nsw i32 %6649, 1
  store i32 %6650, ptr @test_count, align 4, !tbaa !5
  %6651 = icmp eq ptr %6648, null
  br i1 %6651, label %6652, label %6674

6652:                                             ; preds = %6646
  %6653 = load i32, ptr %4708, 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
  %.not708 = icmp eq i32 %6661, 0
  br i1 %.not708, label %6662, label %6663

6662:                                             ; preds = %6658, %6652
  br label %6663

6663:                                             ; preds = %6658, %6662
  %.str.5.sink3279 = phi ptr [ @.str.5, %6662 ], [ @.str.2, %6658 ]
  store i32 %6653, ptr %4708, 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 %4654, align 4, !tbaa !5
  %6667 = call ptr @s2n_strerror(i32 noundef %6666, ptr noundef nonnull @.str.4) #12
  %6668 = load i32, ptr %4654, align 4, !tbaa !5
  %6669 = call ptr @s2n_strerror_debug(i32 noundef %6668, ptr noundef nonnull @.str.4) #12
  %6670 = load i32, ptr %4708, align 4, !tbaa !5
  %6671 = call ptr @strerror(i32 noundef %6670) #12
  %6672 = load i32, ptr %4708, align 4, !tbaa !5
  %6673 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6664, ptr noundef nonnull %.str.5.sink3279, i32 noundef %6665, ptr noundef nonnull @.str.119, ptr noundef nonnull @.str.1, i32 noundef 512, ptr noundef %6667, ptr noundef %6669, ptr noundef %6671, i32 noundef %6672) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6674:                                             ; preds = %6646
  %6675 = add nsw i32 %6649, 2
  store i32 %6675, ptr @test_count, align 4, !tbaa !5
  %6676 = call i32 @s2n_config_set_unsafe_for_testing(ptr noundef nonnull %6648) #12
  %6677 = icmp eq i32 %6676, -1
  br i1 %6677, label %6678, label %6700

6678:                                             ; preds = %6674
  %6679 = load i32, ptr %4708, align 4, !tbaa !5
  %6680 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6681 = call i32 @s2n_print_stacktrace(ptr noundef %6680) #12
  %6682 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6683 = trunc nuw i8 %6682 to i1
  br i1 %6683, label %6684, label %6688

6684:                                             ; preds = %6678
  %6685 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6686 = call i32 @fileno(ptr noundef %6685) #12
  %6687 = call i32 @isatty(i32 noundef %6686) #12
  %.not707 = icmp eq i32 %6687, 0
  br i1 %.not707, label %6688, label %6689

6688:                                             ; preds = %6684, %6678
  br label %6689

6689:                                             ; preds = %6684, %6688
  %.str.5.sink3288 = phi ptr [ @.str.5, %6688 ], [ @.str.2, %6684 ]
  store i32 %6679, ptr %4708, align 4, !tbaa !5
  %6690 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6691 = load i32, ptr @test_count, align 4, !tbaa !5
  %6692 = load i32, ptr %4654, align 4, !tbaa !5
  %6693 = call ptr @s2n_strerror(i32 noundef %6692, ptr noundef nonnull @.str.4) #12
  %6694 = load i32, ptr %4654, align 4, !tbaa !5
  %6695 = call ptr @s2n_strerror_debug(i32 noundef %6694, ptr noundef nonnull @.str.4) #12
  %6696 = load i32, ptr %4708, align 4, !tbaa !5
  %6697 = call ptr @strerror(i32 noundef %6696) #12
  %6698 = load i32, ptr %4708, align 4, !tbaa !5
  %6699 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6690, ptr noundef nonnull %.str.5.sink3288, i32 noundef %6691, ptr noundef nonnull @.str.120, ptr noundef nonnull @.str.1, i32 noundef 513, ptr noundef %6693, ptr noundef %6695, ptr noundef %6697, i32 noundef %6698) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6700:                                             ; preds = %6674
  %6701 = load i32, ptr @test_count, align 4, !tbaa !5
  %6702 = add nsw i32 %6701, 1
  store i32 %6702, ptr @test_count, align 4, !tbaa !5
  %6703 = call i32 @s2n_config_set_cipher_preferences(ptr noundef nonnull %6648, ptr noundef nonnull @.str.121) #12
  %6704 = icmp eq i32 %6703, -1
  br i1 %6704, label %6705, label %6727

6705:                                             ; preds = %6700
  %6706 = load i32, ptr %4708, 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
  %.not706 = icmp eq i32 %6714, 0
  br i1 %.not706, label %6715, label %6716

6715:                                             ; preds = %6711, %6705
  br label %6716

6716:                                             ; preds = %6711, %6715
  %.str.5.sink3297 = phi ptr [ @.str.5, %6715 ], [ @.str.2, %6711 ]
  store i32 %6706, ptr %4708, 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 %4654, align 4, !tbaa !5
  %6720 = call ptr @s2n_strerror(i32 noundef %6719, ptr noundef nonnull @.str.4) #12
  %6721 = load i32, ptr %4654, align 4, !tbaa !5
  %6722 = call ptr @s2n_strerror_debug(i32 noundef %6721, ptr noundef nonnull @.str.4) #12
  %6723 = load i32, ptr %4708, align 4, !tbaa !5
  %6724 = call ptr @strerror(i32 noundef %6723) #12
  %6725 = load i32, ptr %4708, align 4, !tbaa !5
  %6726 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6717, ptr noundef nonnull %.str.5.sink3297, i32 noundef %6718, ptr noundef nonnull @.str.122, ptr noundef nonnull @.str.1, i32 noundef 514, ptr noundef %6720, ptr noundef %6722, ptr noundef %6724, i32 noundef %6725) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6727:                                             ; preds = %6700
  %6728 = call zeroext i1 @s2n_hash_is_available(i32 noundef 1) #12
  %spec.select = select i1 %6728, i8 30, i8 31
  call void @llvm.lifetime.start.p0(i64 48000, ptr nonnull %61) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 16 dereferenceable(48000) %61, i8 0, i64 48000, i1 false)
  %test_count.promoted = load i32, ptr @test_count, align 4, !tbaa !5
  %6729 = load ptr, ptr getelementptr inbounds (i8, ptr @dhe_test_cases, i64 8), align 8, !tbaa !58
  %6730 = load i8, ptr %6729, align 8
  %6731 = and i8 %6730, 1
  %.not704 = icmp eq i8 %6731, 0
  %6732 = load i8, ptr @dhe_test_cases, align 16
  %6733 = icmp ult i8 %6732, %spec.select
  %or.cond = select i1 %.not704, i1 true, i1 %6733
  br i1 %or.cond, label %6736, label %6734

6734:                                             ; preds = %6727
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 16 dereferenceable(24) %61, ptr noundef nonnull align 16 dereferenceable(24) @dhe_test_cases, i64 24, i1 false), !tbaa.struct !60
  %6735 = add nsw i32 %test_count.promoted, 1
  store i32 %6735, ptr @test_count, align 4, !tbaa !5
  br label %6736

6736:                                             ; preds = %6734, %6727
  %6737 = phi i32 [ %6735, %6734 ], [ %test_count.promoted, %6727 ]
  %.1.sroa.phi = phi ptr [ %.1.sroa.gep919, %6734 ], [ %61, %6727 ]
  %.1 = phi i64 [ 1, %6734 ], [ 0, %6727 ]
  %6738 = load ptr, ptr getelementptr inbounds (i8, ptr @dhe_test_cases, i64 32), align 16, !tbaa !58
  %6739 = load i8, ptr %6738, align 8
  %6740 = and i8 %6739, 1
  %.not704.1 = icmp eq i8 %6740, 0
  %6741 = load i8, ptr getelementptr inbounds (i8, ptr @dhe_test_cases, i64 24), align 8
  %6742 = icmp ult i8 %6741, %spec.select
  %or.cond3308 = select i1 %.not704.1, i1 true, i1 %6742
  br i1 %or.cond3308, label %6746, label %6743

6743:                                             ; preds = %6736
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %.1.sroa.phi, ptr noundef nonnull align 8 dereferenceable(24) getelementptr inbounds (i8, ptr @dhe_test_cases, i64 24), i64 24, i1 false), !tbaa.struct !60
  %6744 = add nuw nsw i64 %.1, 1
  %6745 = add nsw i32 %6737, 1
  store i32 %6745, ptr @test_count, align 4, !tbaa !5
  br label %6746

6746:                                             ; preds = %6743, %6736
  %6747 = phi i32 [ %6745, %6743 ], [ %6737, %6736 ]
  %.1.1 = phi i64 [ %6744, %6743 ], [ %.1, %6736 ]
  %6748 = load ptr, ptr getelementptr inbounds (i8, ptr @dhe_test_cases, i64 56), align 8, !tbaa !58
  %6749 = load i8, ptr %6748, align 8
  %6750 = and i8 %6749, 1
  %.not704.2 = icmp eq i8 %6750, 0
  %6751 = load i8, ptr getelementptr inbounds (i8, ptr @dhe_test_cases, i64 48), align 16
  %6752 = icmp ult i8 %6751, %spec.select
  %or.cond3310 = select i1 %.not704.2, i1 true, i1 %6752
  br i1 %or.cond3310, label %6757, label %6753

6753:                                             ; preds = %6746
  %6754 = getelementptr inbounds [2000 x %struct.s2n_reneg_test_case], ptr %61, i64 0, i64 %.1.1
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %6754, ptr noundef nonnull align 16 dereferenceable(24) getelementptr inbounds (i8, ptr @dhe_test_cases, i64 48), i64 24, i1 false), !tbaa.struct !60
  %6755 = add nuw nsw i64 %.1.1, 1
  %6756 = add nsw i32 %6747, 1
  store i32 %6756, ptr @test_count, align 4, !tbaa !5
  br label %6757

6757:                                             ; preds = %6753, %6746
  %6758 = phi i32 [ %6756, %6753 ], [ %6747, %6746 ]
  %.1.2 = phi i64 [ %6755, %6753 ], [ %.1.1, %6746 ]
  %6759 = load ptr, ptr getelementptr inbounds (i8, ptr @dhe_test_cases, i64 80), align 16, !tbaa !58
  %6760 = load i8, ptr %6759, align 8
  %6761 = and i8 %6760, 1
  %.not704.3 = icmp eq i8 %6761, 0
  %6762 = load i8, ptr getelementptr inbounds (i8, ptr @dhe_test_cases, i64 72), align 8
  %6763 = icmp ult i8 %6762, %spec.select
  %or.cond3312 = select i1 %.not704.3, i1 true, i1 %6763
  br i1 %or.cond3312, label %6768, label %6764

6764:                                             ; preds = %6757
  %6765 = getelementptr inbounds [2000 x %struct.s2n_reneg_test_case], ptr %61, i64 0, i64 %.1.2
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %6765, ptr noundef nonnull align 8 dereferenceable(24) getelementptr inbounds (i8, ptr @dhe_test_cases, i64 72), i64 24, i1 false), !tbaa.struct !60
  %6766 = add nuw nsw i64 %.1.2, 1
  %6767 = add nsw i32 %6758, 1
  store i32 %6767, ptr @test_count, align 4, !tbaa !5
  br label %6768

6768:                                             ; preds = %6764, %6757
  %6769 = phi i32 [ %6767, %6764 ], [ %6758, %6757 ]
  %.1.3 = phi i64 [ %6766, %6764 ], [ %.1.2, %6757 ]
  %6770 = load ptr, ptr getelementptr inbounds (i8, ptr @dhe_test_cases, i64 104), align 8, !tbaa !58
  %6771 = load i8, ptr %6770, align 8
  %6772 = and i8 %6771, 1
  %.not704.4 = icmp eq i8 %6772, 0
  %6773 = load i8, ptr getelementptr inbounds (i8, ptr @dhe_test_cases, i64 96), align 16
  %6774 = icmp ult i8 %6773, %spec.select
  %or.cond3314 = select i1 %.not704.4, i1 true, i1 %6774
  br i1 %or.cond3314, label %6779, label %6775

6775:                                             ; preds = %6768
  %6776 = getelementptr inbounds [2000 x %struct.s2n_reneg_test_case], ptr %61, i64 0, i64 %.1.3
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %6776, ptr noundef nonnull align 16 dereferenceable(24) getelementptr inbounds (i8, ptr @dhe_test_cases, i64 96), i64 24, i1 false), !tbaa.struct !60
  %6777 = add nuw nsw i64 %.1.3, 1
  %6778 = add nsw i32 %6769, 1
  store i32 %6778, ptr @test_count, align 4, !tbaa !5
  br label %6779

6779:                                             ; preds = %6775, %6768
  %6780 = phi i32 [ %6778, %6775 ], [ %6769, %6768 ]
  %.1.4 = phi i64 [ %6777, %6775 ], [ %.1.3, %6768 ]
  %6781 = load ptr, ptr getelementptr inbounds (i8, ptr @dhe_test_cases, i64 128), align 16, !tbaa !58
  %6782 = load i8, ptr %6781, align 8
  %6783 = and i8 %6782, 1
  %.not704.5 = icmp eq i8 %6783, 0
  %6784 = load i8, ptr getelementptr inbounds (i8, ptr @dhe_test_cases, i64 120), align 8
  %6785 = icmp ult i8 %6784, %spec.select
  %or.cond3316 = select i1 %.not704.5, i1 true, i1 %6785
  br i1 %or.cond3316, label %6789, label %.thread

.thread:                                          ; preds = %6779
  %6786 = getelementptr inbounds [2000 x %struct.s2n_reneg_test_case], ptr %61, i64 0, i64 %.1.4
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %6786, ptr noundef nonnull align 8 dereferenceable(24) getelementptr inbounds (i8, ptr @dhe_test_cases, i64 120), i64 24, i1 false), !tbaa.struct !60
  %6787 = add nuw nsw i64 %.1.4, 1
  %6788 = add nsw i32 %6780, 2
  store i32 %6788, ptr @test_count, align 4, !tbaa !5
  br label %.preheader885

6789:                                             ; preds = %6779
  %6790 = add nsw i32 %6780, 1
  store i32 %6790, ptr @test_count, align 4, !tbaa !5
  %.not675 = icmp eq i64 %.1.4, 0
  br i1 %.not675, label %6791, label %.preheader885

6791:                                             ; preds = %6789
  %6792 = load i32, ptr %4708, align 4, !tbaa !5
  %6793 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6794 = call i32 @s2n_print_stacktrace(ptr noundef %6793) #12
  %6795 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6796 = trunc nuw i8 %6795 to i1
  br i1 %6796, label %6797, label %6801

6797:                                             ; preds = %6791
  %6798 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6799 = call i32 @fileno(ptr noundef %6798) #12
  %6800 = call i32 @isatty(i32 noundef %6799) #12
  %.not676 = icmp eq i32 %6800, 0
  br i1 %.not676, label %6801, label %6802

6801:                                             ; preds = %6797, %6791
  br label %6802

6802:                                             ; preds = %6797, %6801
  %.str.5.sink3317 = phi ptr [ @.str.5, %6801 ], [ @.str.2, %6797 ]
  store i32 %6792, ptr %4708, align 4, !tbaa !5
  %6803 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6804 = load i32, ptr @test_count, align 4, !tbaa !5
  %6805 = load i32, ptr %4654, align 4, !tbaa !5
  %6806 = call ptr @s2n_strerror(i32 noundef %6805, ptr noundef nonnull @.str.4) #12
  %6807 = load i32, ptr %4654, align 4, !tbaa !5
  %6808 = call ptr @s2n_strerror_debug(i32 noundef %6807, ptr noundef nonnull @.str.4) #12
  %6809 = load i32, ptr %4708, align 4, !tbaa !5
  %6810 = call ptr @strerror(i32 noundef %6809) #12
  %6811 = load i32, ptr %4708, align 4, !tbaa !5
  %6812 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6803, ptr noundef nonnull %.str.5.sink3317, i32 noundef %6804, ptr noundef nonnull @.str.124, ptr noundef nonnull @.str.1, i32 noundef 542, ptr noundef %6806, ptr noundef %6808, ptr noundef %6810, i32 noundef %6811) #14
  call void @exit(i32 noundef 1) #15
  unreachable

.preheader885:                                    ; preds = %.thread, %6789
  %6813 = phi i32 [ %6788, %.thread ], [ %6790, %6789 ]
  %.1.5925 = phi i64 [ %6787, %.thread ], [ %.1.4, %6789 ]
  %6814 = load ptr, ptr getelementptr inbounds (i8, ptr @security_policy_test_all, i64 8), align 8, !tbaa !52
  %6815 = getelementptr inbounds i8, ptr %6814, i64 8
  %.pre = load i16, ptr %6814, align 8, !tbaa !61
  %.not913 = icmp eq i16 %.pre, 0
  br i1 %.not913, label %._crit_edge, label %.lr.ph

.preheader:                                       ; preds = %6962, %._crit_edge.2, %._crit_edge
  %.3.lcssa.lcssa = phi i64 [ %.3.lcssa, %._crit_edge ], [ %.3.lcssa.2, %._crit_edge.2 ], [ %.5.3, %6962 ]
  %.not914 = icmp eq i64 %.3.lcssa.lcssa, 0
  br i1 %.not914, label %._crit_edge912, label %.lr.ph911

.lr.ph911:                                        ; preds = %.preheader
  %6816 = getelementptr inbounds i8, ptr %57, i64 8
  br label %7043

._crit_edge:                                      ; preds = %7034, %.preheader885
  %6817 = phi i16 [ %.pre, %.preheader885 ], [ %7035, %7034 ]
  %6818 = phi i16 [ 0, %.preheader885 ], [ %7035, %7034 ]
  %test_count.promoted896903 = phi i32 [ %6813, %.preheader885 ], [ %test_count.promoted896904, %7034 ]
  %.3.lcssa = phi i64 [ %.1.5925, %.preheader885 ], [ %.5, %7034 ]
  %6819 = add nuw nsw i8 %spec.select, 1
  %exitcond.not = icmp eq i8 %6819, 34
  br i1 %exitcond.not, label %.preheader, label %.preheader885.1, !llvm.loop !63

.preheader885.1:                                  ; preds = %._crit_edge
  %.not913.1 = icmp eq i16 %6818, 0
  br i1 %.not913.1, label %._crit_edge.1, label %.lr.ph.1

.lr.ph.1:                                         ; preds = %.preheader885.1, %6862
  %6820 = phi i16 [ %6863, %6862 ], [ %6817, %.preheader885.1 ]
  %test_count.promoted896905.1 = phi i32 [ %test_count.promoted896904.1, %6862 ], [ %test_count.promoted896903, %.preheader885.1 ]
  %.3901.1 = phi i64 [ %.5.1, %6862 ], [ %.3.lcssa, %.preheader885.1 ]
  %.0605900.1 = phi i64 [ %6864, %6862 ], [ 0, %.preheader885.1 ]
  %.lcssa898899.1 = phi i32 [ %.lcssa897.1, %6862 ], [ %test_count.promoted896903, %.preheader885.1 ]
  %6821 = load ptr, ptr %6815, align 8, !tbaa !65
  %6822 = getelementptr inbounds ptr, ptr %6821, i64 %.0605900.1
  %6823 = load ptr, ptr %6822, align 8, !tbaa !9
  %6824 = load i8, ptr %6823, align 8
  %6825 = and i8 %6824, 1
  %.not702.1 = icmp eq i8 %6825, 0
  br i1 %.not702.1, label %6862, label %6826

6826:                                             ; preds = %.lr.ph.1
  %6827 = getelementptr inbounds i8, ptr %6823, i64 100
  %6828 = load i8, ptr %6827, align 4, !tbaa !66
  %6829 = icmp ult i8 %6819, %6828
  br i1 %6829, label %6862, label %6830

6830:                                             ; preds = %6826
  %6831 = getelementptr inbounds i8, ptr %6823, i64 32
  %6832 = load ptr, ptr %6831, align 8, !tbaa !68
  %6833 = icmp eq ptr %6832, @s2n_dhe
  br i1 %6833, label %6862, label %.preheader884.preheader.1

.preheader884.preheader.1:                        ; preds = %6830
  %6834 = getelementptr inbounds [2000 x %struct.s2n_reneg_test_case], ptr %61, i64 0, i64 %.3901.1
  store i8 %6819, ptr %6834, align 8, !tbaa !51
  %.sroa.261.0..sroa_idx.13538 = getelementptr inbounds i8, ptr %6834, i64 8
  store ptr %6823, ptr %.sroa.261.0..sroa_idx.13538, align 8, !tbaa !9
  %.sroa.3.0..sroa_idx.13539 = getelementptr inbounds i8, ptr %6834, i64 16
  store i8 0, ptr %.sroa.3.0..sroa_idx.13539, align 8, !tbaa !51
  %6835 = add i64 %.3901.1, 1
  %6836 = icmp ult i64 %6835, 2000
  br i1 %6836, label %.preheader884.1.1, label %.split.loop.exit933

.preheader884.1.1:                                ; preds = %.preheader884.preheader.1
  %6837 = getelementptr inbounds [2000 x %struct.s2n_reneg_test_case], ptr %61, i64 0, i64 %6835
  %6838 = load ptr, ptr %6815, align 8, !tbaa !65
  %6839 = getelementptr inbounds ptr, ptr %6838, i64 %.0605900.1
  %6840 = load ptr, ptr %6839, align 8, !tbaa !9
  store i8 %6819, ptr %6837, align 8, !tbaa !51
  %.sroa.261.0..sroa_idx.1.1 = getelementptr inbounds i8, ptr %6837, i64 8
  store ptr %6840, ptr %.sroa.261.0..sroa_idx.1.1, align 8, !tbaa !9
  %.sroa.3.0..sroa_idx.1.1 = getelementptr inbounds i8, ptr %6837, i64 16
  store i8 1, ptr %.sroa.3.0..sroa_idx.1.1, align 8, !tbaa !51
  %6841 = add nsw i64 %.3901.1, 2
  %6842 = icmp ult i64 %6841, 2000
  br i1 %6842, label %.preheader884.2.1, label %.split.loop.exit931

.preheader884.2.1:                                ; preds = %.preheader884.1.1
  %6843 = getelementptr inbounds [2000 x %struct.s2n_reneg_test_case], ptr %61, i64 0, i64 %6841
  %6844 = load ptr, ptr %6815, align 8, !tbaa !65
  %6845 = getelementptr inbounds ptr, ptr %6844, i64 %.0605900.1
  %6846 = load ptr, ptr %6845, align 8, !tbaa !9
  store i8 %6819, ptr %6843, align 8, !tbaa !51
  %.sroa.261.0..sroa_idx.2.1 = getelementptr inbounds i8, ptr %6843, i64 8
  store ptr %6846, ptr %.sroa.261.0..sroa_idx.2.1, align 8, !tbaa !9
  %.sroa.3.0..sroa_idx.2.1 = getelementptr inbounds i8, ptr %6843, i64 16
  store i8 2, ptr %.sroa.3.0..sroa_idx.2.1, align 8, !tbaa !51
  %6847 = add nsw i64 %.3901.1, 3
  %6848 = icmp ult i64 %6847, 2000
  br i1 %6848, label %.preheader884.3.1, label %.split.loop.exit929

.preheader884.3.1:                                ; preds = %.preheader884.2.1
  %6849 = getelementptr inbounds [2000 x %struct.s2n_reneg_test_case], ptr %61, i64 0, i64 %6847
  %6850 = load ptr, ptr %6815, align 8, !tbaa !65
  %6851 = getelementptr inbounds ptr, ptr %6850, i64 %.0605900.1
  %6852 = load ptr, ptr %6851, align 8, !tbaa !9
  store i8 %6819, ptr %6849, align 8, !tbaa !51
  %.sroa.261.0..sroa_idx.3.1 = getelementptr inbounds i8, ptr %6849, i64 8
  store ptr %6852, ptr %.sroa.261.0..sroa_idx.3.1, align 8, !tbaa !9
  %.sroa.3.0..sroa_idx.3.1 = getelementptr inbounds i8, ptr %6849, i64 16
  store i8 3, ptr %.sroa.3.0..sroa_idx.3.1, align 8, !tbaa !51
  %6853 = add nsw i64 %.3901.1, 4
  %6854 = icmp ult i64 %6853, 2000
  br i1 %6854, label %.preheader884.4.1, label %.split.loop.exit927

.preheader884.4.1:                                ; preds = %.preheader884.3.1
  %6855 = getelementptr inbounds [2000 x %struct.s2n_reneg_test_case], ptr %61, i64 0, i64 %6853
  %6856 = load ptr, ptr %6815, align 8, !tbaa !65
  %6857 = getelementptr inbounds ptr, ptr %6856, i64 %.0605900.1
  %6858 = load ptr, ptr %6857, align 8, !tbaa !9
  store i8 %6819, ptr %6855, align 8, !tbaa !51
  %.sroa.261.0..sroa_idx.4.1 = getelementptr inbounds i8, ptr %6855, i64 8
  store ptr %6858, ptr %.sroa.261.0..sroa_idx.4.1, align 8, !tbaa !9
  %.sroa.3.0..sroa_idx.4.1 = getelementptr inbounds i8, ptr %6855, i64 16
  store i8 4, ptr %.sroa.3.0..sroa_idx.4.1, align 8, !tbaa !51
  %6859 = add nsw i64 %.3901.1, 5
  %6860 = add nsw i32 %.lcssa898899.1, 5
  %6861 = icmp ult i64 %6859, 2000
  br i1 %6861, label %.loopexit.1, label %.split.loop.exit

.loopexit.1:                                      ; preds = %.preheader884.4.1
  store i32 %6860, ptr @test_count, align 4, !tbaa !5
  %.pre922.1 = load i16, ptr %6814, align 8, !tbaa !61
  br label %6862

6862:                                             ; preds = %.loopexit.1, %6830, %6826, %.lr.ph.1
  %6863 = phi i16 [ %6820, %.lr.ph.1 ], [ %6820, %6826 ], [ %6820, %6830 ], [ %.pre922.1, %.loopexit.1 ]
  %test_count.promoted896904.1 = phi i32 [ %test_count.promoted896905.1, %.lr.ph.1 ], [ %test_count.promoted896905.1, %6826 ], [ %test_count.promoted896905.1, %6830 ], [ %6860, %.loopexit.1 ]
  %.lcssa897.1 = phi i32 [ %.lcssa898899.1, %.lr.ph.1 ], [ %.lcssa898899.1, %6826 ], [ %.lcssa898899.1, %6830 ], [ %6860, %.loopexit.1 ]
  %.5.1 = phi i64 [ %.3901.1, %.lr.ph.1 ], [ %.3901.1, %6826 ], [ %.3901.1, %6830 ], [ %6859, %.loopexit.1 ]
  %6864 = add nuw nsw i64 %.0605900.1, 1
  %6865 = zext i16 %6863 to i64
  %6866 = icmp ult i64 %6864, %6865
  br i1 %6866, label %.lr.ph.1, label %._crit_edge.1, !llvm.loop !69

._crit_edge.1:                                    ; preds = %6862, %.preheader885.1
  %6867 = phi i16 [ %6817, %.preheader885.1 ], [ %6863, %6862 ]
  %6868 = phi i16 [ 0, %.preheader885.1 ], [ %6863, %6862 ]
  %test_count.promoted896903.1 = phi i32 [ %test_count.promoted896903, %.preheader885.1 ], [ %test_count.promoted896904.1, %6862 ]
  %.3.lcssa.1 = phi i64 [ %.3.lcssa, %.preheader885.1 ], [ %.5.1, %6862 ]
  %6869 = add nuw nsw i8 %spec.select, 2
  %.not913.2 = icmp eq i16 %6868, 0
  br i1 %.not913.2, label %._crit_edge.2, label %.lr.ph.2

.lr.ph.2:                                         ; preds = %._crit_edge.1, %6912
  %6870 = phi i16 [ %6913, %6912 ], [ %6867, %._crit_edge.1 ]
  %test_count.promoted896905.2 = phi i32 [ %test_count.promoted896904.2, %6912 ], [ %test_count.promoted896903.1, %._crit_edge.1 ]
  %.3901.2 = phi i64 [ %.5.2, %6912 ], [ %.3.lcssa.1, %._crit_edge.1 ]
  %.0605900.2 = phi i64 [ %6914, %6912 ], [ 0, %._crit_edge.1 ]
  %.lcssa898899.2 = phi i32 [ %.lcssa897.2, %6912 ], [ %test_count.promoted896903.1, %._crit_edge.1 ]
  %6871 = load ptr, ptr %6815, align 8, !tbaa !65
  %6872 = getelementptr inbounds ptr, ptr %6871, i64 %.0605900.2
  %6873 = load ptr, ptr %6872, align 8, !tbaa !9
  %6874 = load i8, ptr %6873, align 8
  %6875 = and i8 %6874, 1
  %.not702.2 = icmp eq i8 %6875, 0
  br i1 %.not702.2, label %6912, label %6876

6876:                                             ; preds = %.lr.ph.2
  %6877 = getelementptr inbounds i8, ptr %6873, i64 100
  %6878 = load i8, ptr %6877, align 4, !tbaa !66
  %6879 = icmp ult i8 %6869, %6878
  br i1 %6879, label %6912, label %6880

6880:                                             ; preds = %6876
  %6881 = getelementptr inbounds i8, ptr %6873, i64 32
  %6882 = load ptr, ptr %6881, align 8, !tbaa !68
  %6883 = icmp eq ptr %6882, @s2n_dhe
  br i1 %6883, label %6912, label %.preheader884.preheader.2

.preheader884.preheader.2:                        ; preds = %6880
  %6884 = getelementptr inbounds [2000 x %struct.s2n_reneg_test_case], ptr %61, i64 0, i64 %.3901.2
  store i8 %6869, ptr %6884, align 8, !tbaa !51
  %.sroa.261.0..sroa_idx.23540 = getelementptr inbounds i8, ptr %6884, i64 8
  store ptr %6873, ptr %.sroa.261.0..sroa_idx.23540, align 8, !tbaa !9
  %.sroa.3.0..sroa_idx.23541 = getelementptr inbounds i8, ptr %6884, i64 16
  store i8 0, ptr %.sroa.3.0..sroa_idx.23541, align 8, !tbaa !51
  %6885 = add i64 %.3901.2, 1
  %6886 = icmp ult i64 %6885, 2000
  br i1 %6886, label %.preheader884.1.2, label %.split.loop.exit933

.preheader884.1.2:                                ; preds = %.preheader884.preheader.2
  %6887 = getelementptr inbounds [2000 x %struct.s2n_reneg_test_case], ptr %61, i64 0, i64 %6885
  %6888 = load ptr, ptr %6815, align 8, !tbaa !65
  %6889 = getelementptr inbounds ptr, ptr %6888, i64 %.0605900.2
  %6890 = load ptr, ptr %6889, align 8, !tbaa !9
  store i8 %6869, ptr %6887, align 8, !tbaa !51
  %.sroa.261.0..sroa_idx.1.2 = getelementptr inbounds i8, ptr %6887, i64 8
  store ptr %6890, ptr %.sroa.261.0..sroa_idx.1.2, align 8, !tbaa !9
  %.sroa.3.0..sroa_idx.1.2 = getelementptr inbounds i8, ptr %6887, i64 16
  store i8 1, ptr %.sroa.3.0..sroa_idx.1.2, align 8, !tbaa !51
  %6891 = add nsw i64 %.3901.2, 2
  %6892 = icmp ult i64 %6891, 2000
  br i1 %6892, label %.preheader884.2.2, label %.split.loop.exit931

.preheader884.2.2:                                ; preds = %.preheader884.1.2
  %6893 = getelementptr inbounds [2000 x %struct.s2n_reneg_test_case], ptr %61, i64 0, i64 %6891
  %6894 = load ptr, ptr %6815, align 8, !tbaa !65
  %6895 = getelementptr inbounds ptr, ptr %6894, i64 %.0605900.2
  %6896 = load ptr, ptr %6895, align 8, !tbaa !9
  store i8 %6869, ptr %6893, align 8, !tbaa !51
  %.sroa.261.0..sroa_idx.2.2 = getelementptr inbounds i8, ptr %6893, i64 8
  store ptr %6896, ptr %.sroa.261.0..sroa_idx.2.2, align 8, !tbaa !9
  %.sroa.3.0..sroa_idx.2.2 = getelementptr inbounds i8, ptr %6893, i64 16
  store i8 2, ptr %.sroa.3.0..sroa_idx.2.2, align 8, !tbaa !51
  %6897 = add nsw i64 %.3901.2, 3
  %6898 = icmp ult i64 %6897, 2000
  br i1 %6898, label %.preheader884.3.2, label %.split.loop.exit929

.preheader884.3.2:                                ; preds = %.preheader884.2.2
  %6899 = getelementptr inbounds [2000 x %struct.s2n_reneg_test_case], ptr %61, i64 0, i64 %6897
  %6900 = load ptr, ptr %6815, align 8, !tbaa !65
  %6901 = getelementptr inbounds ptr, ptr %6900, i64 %.0605900.2
  %6902 = load ptr, ptr %6901, align 8, !tbaa !9
  store i8 %6869, ptr %6899, align 8, !tbaa !51
  %.sroa.261.0..sroa_idx.3.2 = getelementptr inbounds i8, ptr %6899, i64 8
  store ptr %6902, ptr %.sroa.261.0..sroa_idx.3.2, align 8, !tbaa !9
  %.sroa.3.0..sroa_idx.3.2 = getelementptr inbounds i8, ptr %6899, i64 16
  store i8 3, ptr %.sroa.3.0..sroa_idx.3.2, align 8, !tbaa !51
  %6903 = add nsw i64 %.3901.2, 4
  %6904 = icmp ult i64 %6903, 2000
  br i1 %6904, label %.preheader884.4.2, label %.split.loop.exit927

.preheader884.4.2:                                ; preds = %.preheader884.3.2
  %6905 = getelementptr inbounds [2000 x %struct.s2n_reneg_test_case], ptr %61, i64 0, i64 %6903
  %6906 = load ptr, ptr %6815, align 8, !tbaa !65
  %6907 = getelementptr inbounds ptr, ptr %6906, i64 %.0605900.2
  %6908 = load ptr, ptr %6907, align 8, !tbaa !9
  store i8 %6869, ptr %6905, align 8, !tbaa !51
  %.sroa.261.0..sroa_idx.4.2 = getelementptr inbounds i8, ptr %6905, i64 8
  store ptr %6908, ptr %.sroa.261.0..sroa_idx.4.2, align 8, !tbaa !9
  %.sroa.3.0..sroa_idx.4.2 = getelementptr inbounds i8, ptr %6905, i64 16
  store i8 4, ptr %.sroa.3.0..sroa_idx.4.2, align 8, !tbaa !51
  %6909 = add nsw i64 %.3901.2, 5
  %6910 = add nsw i32 %.lcssa898899.2, 5
  %6911 = icmp ult i64 %6909, 2000
  br i1 %6911, label %.loopexit.2, label %.split.loop.exit

.loopexit.2:                                      ; preds = %.preheader884.4.2
  store i32 %6910, ptr @test_count, align 4, !tbaa !5
  %.pre922.2 = load i16, ptr %6814, align 8, !tbaa !61
  br label %6912

6912:                                             ; preds = %.loopexit.2, %6880, %6876, %.lr.ph.2
  %6913 = phi i16 [ %6870, %.lr.ph.2 ], [ %6870, %6876 ], [ %6870, %6880 ], [ %.pre922.2, %.loopexit.2 ]
  %test_count.promoted896904.2 = phi i32 [ %test_count.promoted896905.2, %.lr.ph.2 ], [ %test_count.promoted896905.2, %6876 ], [ %test_count.promoted896905.2, %6880 ], [ %6910, %.loopexit.2 ]
  %.lcssa897.2 = phi i32 [ %.lcssa898899.2, %.lr.ph.2 ], [ %.lcssa898899.2, %6876 ], [ %.lcssa898899.2, %6880 ], [ %6910, %.loopexit.2 ]
  %.5.2 = phi i64 [ %.3901.2, %.lr.ph.2 ], [ %.3901.2, %6876 ], [ %.3901.2, %6880 ], [ %6909, %.loopexit.2 ]
  %6914 = add nuw nsw i64 %.0605900.2, 1
  %6915 = zext i16 %6913 to i64
  %6916 = icmp ult i64 %6914, %6915
  br i1 %6916, label %.lr.ph.2, label %._crit_edge.2, !llvm.loop !69

._crit_edge.2:                                    ; preds = %6912, %._crit_edge.1
  %6917 = phi i16 [ %6867, %._crit_edge.1 ], [ %6913, %6912 ]
  %6918 = phi i16 [ 0, %._crit_edge.1 ], [ %6913, %6912 ]
  %test_count.promoted896903.2 = phi i32 [ %test_count.promoted896903.1, %._crit_edge.1 ], [ %test_count.promoted896904.2, %6912 ]
  %.3.lcssa.2 = phi i64 [ %.3.lcssa.1, %._crit_edge.1 ], [ %.5.2, %6912 ]
  %6919 = add nuw nsw i8 %spec.select, 3
  %exitcond.not.2 = icmp eq i8 %6919, 34
  %.not913.3 = icmp eq i16 %6918, 0
  %or.cond3602 = or i1 %exitcond.not.2, %.not913.3
  br i1 %or.cond3602, label %.preheader, label %.lr.ph.3, !llvm.loop !63

.lr.ph.3:                                         ; preds = %._crit_edge.2, %6962
  %6920 = phi i16 [ %6963, %6962 ], [ %6917, %._crit_edge.2 ]
  %test_count.promoted896905.3 = phi i32 [ %test_count.promoted896904.3, %6962 ], [ %test_count.promoted896903.2, %._crit_edge.2 ]
  %.3901.3 = phi i64 [ %.5.3, %6962 ], [ %.3.lcssa.2, %._crit_edge.2 ]
  %.0605900.3 = phi i64 [ %6964, %6962 ], [ 0, %._crit_edge.2 ]
  %.lcssa898899.3 = phi i32 [ %.lcssa897.3, %6962 ], [ %test_count.promoted896903.2, %._crit_edge.2 ]
  %6921 = load ptr, ptr %6815, align 8, !tbaa !65
  %6922 = getelementptr inbounds ptr, ptr %6921, i64 %.0605900.3
  %6923 = load ptr, ptr %6922, align 8, !tbaa !9
  %6924 = load i8, ptr %6923, align 8
  %6925 = and i8 %6924, 1
  %.not702.3 = icmp eq i8 %6925, 0
  br i1 %.not702.3, label %6962, label %6926

6926:                                             ; preds = %.lr.ph.3
  %6927 = getelementptr inbounds i8, ptr %6923, i64 100
  %6928 = load i8, ptr %6927, align 4, !tbaa !66
  %6929 = icmp ult i8 %6919, %6928
  br i1 %6929, label %6962, label %6930

6930:                                             ; preds = %6926
  %6931 = getelementptr inbounds i8, ptr %6923, i64 32
  %6932 = load ptr, ptr %6931, align 8, !tbaa !68
  %6933 = icmp eq ptr %6932, @s2n_dhe
  br i1 %6933, label %6962, label %.preheader884.preheader.3

.preheader884.preheader.3:                        ; preds = %6930
  %6934 = getelementptr inbounds [2000 x %struct.s2n_reneg_test_case], ptr %61, i64 0, i64 %.3901.3
  store i8 %6919, ptr %6934, align 8, !tbaa !51
  %.sroa.261.0..sroa_idx.33542 = getelementptr inbounds i8, ptr %6934, i64 8
  store ptr %6923, ptr %.sroa.261.0..sroa_idx.33542, align 8, !tbaa !9
  %.sroa.3.0..sroa_idx.33543 = getelementptr inbounds i8, ptr %6934, i64 16
  store i8 0, ptr %.sroa.3.0..sroa_idx.33543, align 8, !tbaa !51
  %6935 = add i64 %.3901.3, 1
  %6936 = icmp ult i64 %6935, 2000
  br i1 %6936, label %.preheader884.1.3, label %.split.loop.exit933

.preheader884.1.3:                                ; preds = %.preheader884.preheader.3
  %6937 = getelementptr inbounds [2000 x %struct.s2n_reneg_test_case], ptr %61, i64 0, i64 %6935
  %6938 = load ptr, ptr %6815, align 8, !tbaa !65
  %6939 = getelementptr inbounds ptr, ptr %6938, i64 %.0605900.3
  %6940 = load ptr, ptr %6939, align 8, !tbaa !9
  store i8 %6919, ptr %6937, align 8, !tbaa !51
  %.sroa.261.0..sroa_idx.1.3 = getelementptr inbounds i8, ptr %6937, i64 8
  store ptr %6940, ptr %.sroa.261.0..sroa_idx.1.3, align 8, !tbaa !9
  %.sroa.3.0..sroa_idx.1.3 = getelementptr inbounds i8, ptr %6937, i64 16
  store i8 1, ptr %.sroa.3.0..sroa_idx.1.3, align 8, !tbaa !51
  %6941 = add nsw i64 %.3901.3, 2
  %6942 = icmp ult i64 %6941, 2000
  br i1 %6942, label %.preheader884.2.3, label %.split.loop.exit931

.preheader884.2.3:                                ; preds = %.preheader884.1.3
  %6943 = getelementptr inbounds [2000 x %struct.s2n_reneg_test_case], ptr %61, i64 0, i64 %6941
  %6944 = load ptr, ptr %6815, align 8, !tbaa !65
  %6945 = getelementptr inbounds ptr, ptr %6944, i64 %.0605900.3
  %6946 = load ptr, ptr %6945, align 8, !tbaa !9
  store i8 %6919, ptr %6943, align 8, !tbaa !51
  %.sroa.261.0..sroa_idx.2.3 = getelementptr inbounds i8, ptr %6943, i64 8
  store ptr %6946, ptr %.sroa.261.0..sroa_idx.2.3, align 8, !tbaa !9
  %.sroa.3.0..sroa_idx.2.3 = getelementptr inbounds i8, ptr %6943, i64 16
  store i8 2, ptr %.sroa.3.0..sroa_idx.2.3, align 8, !tbaa !51
  %6947 = add nsw i64 %.3901.3, 3
  %6948 = icmp ult i64 %6947, 2000
  br i1 %6948, label %.preheader884.3.3, label %.split.loop.exit929

.preheader884.3.3:                                ; preds = %.preheader884.2.3
  %6949 = getelementptr inbounds [2000 x %struct.s2n_reneg_test_case], ptr %61, i64 0, i64 %6947
  %6950 = load ptr, ptr %6815, align 8, !tbaa !65
  %6951 = getelementptr inbounds ptr, ptr %6950, i64 %.0605900.3
  %6952 = load ptr, ptr %6951, align 8, !tbaa !9
  store i8 %6919, ptr %6949, align 8, !tbaa !51
  %.sroa.261.0..sroa_idx.3.3 = getelementptr inbounds i8, ptr %6949, i64 8
  store ptr %6952, ptr %.sroa.261.0..sroa_idx.3.3, align 8, !tbaa !9
  %.sroa.3.0..sroa_idx.3.3 = getelementptr inbounds i8, ptr %6949, i64 16
  store i8 3, ptr %.sroa.3.0..sroa_idx.3.3, align 8, !tbaa !51
  %6953 = add nsw i64 %.3901.3, 4
  %6954 = icmp ult i64 %6953, 2000
  br i1 %6954, label %.preheader884.4.3, label %.split.loop.exit927

.preheader884.4.3:                                ; preds = %.preheader884.3.3
  %6955 = getelementptr inbounds [2000 x %struct.s2n_reneg_test_case], ptr %61, i64 0, i64 %6953
  %6956 = load ptr, ptr %6815, align 8, !tbaa !65
  %6957 = getelementptr inbounds ptr, ptr %6956, i64 %.0605900.3
  %6958 = load ptr, ptr %6957, align 8, !tbaa !9
  store i8 %6919, ptr %6955, align 8, !tbaa !51
  %.sroa.261.0..sroa_idx.4.3 = getelementptr inbounds i8, ptr %6955, i64 8
  store ptr %6958, ptr %.sroa.261.0..sroa_idx.4.3, align 8, !tbaa !9
  %.sroa.3.0..sroa_idx.4.3 = getelementptr inbounds i8, ptr %6955, i64 16
  store i8 4, ptr %.sroa.3.0..sroa_idx.4.3, align 8, !tbaa !51
  %6959 = add nsw i64 %.3901.3, 5
  %6960 = add nsw i32 %.lcssa898899.3, 5
  %6961 = icmp ult i64 %6959, 2000
  br i1 %6961, label %.loopexit.3, label %.split.loop.exit

.loopexit.3:                                      ; preds = %.preheader884.4.3
  store i32 %6960, ptr @test_count, align 4, !tbaa !5
  %.pre922.3 = load i16, ptr %6814, align 8, !tbaa !61
  br label %6962

6962:                                             ; preds = %.loopexit.3, %6930, %6926, %.lr.ph.3
  %6963 = phi i16 [ %6920, %.lr.ph.3 ], [ %6920, %6926 ], [ %6920, %6930 ], [ %.pre922.3, %.loopexit.3 ]
  %test_count.promoted896904.3 = phi i32 [ %test_count.promoted896905.3, %.lr.ph.3 ], [ %test_count.promoted896905.3, %6926 ], [ %test_count.promoted896905.3, %6930 ], [ %6960, %.loopexit.3 ]
  %.lcssa897.3 = phi i32 [ %.lcssa898899.3, %.lr.ph.3 ], [ %.lcssa898899.3, %6926 ], [ %.lcssa898899.3, %6930 ], [ %6960, %.loopexit.3 ]
  %.5.3 = phi i64 [ %.3901.3, %.lr.ph.3 ], [ %.3901.3, %6926 ], [ %.3901.3, %6930 ], [ %6959, %.loopexit.3 ]
  %6964 = add nuw nsw i64 %.0605900.3, 1
  %6965 = zext i16 %6963 to i64
  %6966 = icmp ult i64 %6964, %6965
  br i1 %6966, label %.lr.ph.3, label %.preheader, !llvm.loop !69

.lr.ph:                                           ; preds = %.preheader885, %7034
  %6967 = phi i16 [ %7035, %7034 ], [ %.pre, %.preheader885 ]
  %test_count.promoted896905 = phi i32 [ %test_count.promoted896904, %7034 ], [ %6813, %.preheader885 ]
  %.3901 = phi i64 [ %.5, %7034 ], [ %.1.5925, %.preheader885 ]
  %.0605900 = phi i64 [ %7036, %7034 ], [ 0, %.preheader885 ]
  %.lcssa898899 = phi i32 [ %.lcssa897, %7034 ], [ %6813, %.preheader885 ]
  %6968 = load ptr, ptr %6815, align 8, !tbaa !65
  %6969 = getelementptr inbounds ptr, ptr %6968, i64 %.0605900
  %6970 = load ptr, ptr %6969, align 8, !tbaa !9
  %6971 = load i8, ptr %6970, align 8
  %6972 = and i8 %6971, 1
  %.not702 = icmp eq i8 %6972, 0
  br i1 %.not702, label %7034, label %6973

6973:                                             ; preds = %.lr.ph
  %6974 = getelementptr inbounds i8, ptr %6970, i64 100
  %6975 = load i8, ptr %6974, align 4, !tbaa !66
  %6976 = icmp ult i8 %spec.select, %6975
  br i1 %6976, label %7034, label %6977

6977:                                             ; preds = %6973
  %6978 = getelementptr inbounds i8, ptr %6970, i64 32
  %6979 = load ptr, ptr %6978, align 8, !tbaa !68
  %6980 = icmp eq ptr %6979, @s2n_dhe
  br i1 %6980, label %7034, label %.preheader884.preheader

.preheader884.preheader:                          ; preds = %6977
  %6981 = getelementptr inbounds [2000 x %struct.s2n_reneg_test_case], ptr %61, i64 0, i64 %.3901
  store i8 %spec.select, ptr %6981, align 8, !tbaa !51
  %.sroa.261.0..sroa_idx = getelementptr inbounds i8, ptr %6981, i64 8
  store ptr %6970, ptr %.sroa.261.0..sroa_idx, align 8, !tbaa !9
  %.sroa.3.0..sroa_idx = getelementptr inbounds i8, ptr %6981, i64 16
  store i8 0, ptr %.sroa.3.0..sroa_idx, align 8, !tbaa !51
  %6982 = add i64 %.3901, 1
  %6983 = icmp ult i64 %6982, 2000
  br i1 %6983, label %.preheader884.1, label %.split.loop.exit933

.preheader884.1:                                  ; preds = %.preheader884.preheader
  %6984 = getelementptr inbounds [2000 x %struct.s2n_reneg_test_case], ptr %61, i64 0, i64 %6982
  %6985 = load ptr, ptr %6815, align 8, !tbaa !65
  %6986 = getelementptr inbounds ptr, ptr %6985, i64 %.0605900
  %6987 = load ptr, ptr %6986, align 8, !tbaa !9
  store i8 %spec.select, ptr %6984, align 8, !tbaa !51
  %.sroa.261.0..sroa_idx.1 = getelementptr inbounds i8, ptr %6984, i64 8
  store ptr %6987, ptr %.sroa.261.0..sroa_idx.1, align 8, !tbaa !9
  %.sroa.3.0..sroa_idx.1 = getelementptr inbounds i8, ptr %6984, i64 16
  store i8 1, ptr %.sroa.3.0..sroa_idx.1, align 8, !tbaa !51
  %6988 = add nsw i64 %.3901, 2
  %6989 = icmp ult i64 %6988, 2000
  br i1 %6989, label %.preheader884.2, label %.split.loop.exit931

.preheader884.2:                                  ; preds = %.preheader884.1
  %6990 = getelementptr inbounds [2000 x %struct.s2n_reneg_test_case], ptr %61, i64 0, i64 %6988
  %6991 = load ptr, ptr %6815, align 8, !tbaa !65
  %6992 = getelementptr inbounds ptr, ptr %6991, i64 %.0605900
  %6993 = load ptr, ptr %6992, align 8, !tbaa !9
  store i8 %spec.select, ptr %6990, align 8, !tbaa !51
  %.sroa.261.0..sroa_idx.2 = getelementptr inbounds i8, ptr %6990, i64 8
  store ptr %6993, ptr %.sroa.261.0..sroa_idx.2, align 8, !tbaa !9
  %.sroa.3.0..sroa_idx.2 = getelementptr inbounds i8, ptr %6990, i64 16
  store i8 2, ptr %.sroa.3.0..sroa_idx.2, align 8, !tbaa !51
  %6994 = add nsw i64 %.3901, 3
  %6995 = icmp ult i64 %6994, 2000
  br i1 %6995, label %.preheader884.3, label %.split.loop.exit929

.preheader884.3:                                  ; preds = %.preheader884.2
  %6996 = getelementptr inbounds [2000 x %struct.s2n_reneg_test_case], ptr %61, i64 0, i64 %6994
  %6997 = load ptr, ptr %6815, align 8, !tbaa !65
  %6998 = getelementptr inbounds ptr, ptr %6997, i64 %.0605900
  %6999 = load ptr, ptr %6998, align 8, !tbaa !9
  store i8 %spec.select, ptr %6996, align 8, !tbaa !51
  %.sroa.261.0..sroa_idx.3 = getelementptr inbounds i8, ptr %6996, i64 8
  store ptr %6999, ptr %.sroa.261.0..sroa_idx.3, align 8, !tbaa !9
  %.sroa.3.0..sroa_idx.3 = getelementptr inbounds i8, ptr %6996, i64 16
  store i8 3, ptr %.sroa.3.0..sroa_idx.3, align 8, !tbaa !51
  %7000 = add nsw i64 %.3901, 4
  %7001 = icmp ult i64 %7000, 2000
  br i1 %7001, label %.preheader884.4, label %.split.loop.exit927

.preheader884.4:                                  ; preds = %.preheader884.3
  %7002 = getelementptr inbounds [2000 x %struct.s2n_reneg_test_case], ptr %61, i64 0, i64 %7000
  %7003 = load ptr, ptr %6815, align 8, !tbaa !65
  %7004 = getelementptr inbounds ptr, ptr %7003, i64 %.0605900
  %7005 = load ptr, ptr %7004, align 8, !tbaa !9
  store i8 %spec.select, ptr %7002, align 8, !tbaa !51
  %.sroa.261.0..sroa_idx.4 = getelementptr inbounds i8, ptr %7002, i64 8
  store ptr %7005, ptr %.sroa.261.0..sroa_idx.4, align 8, !tbaa !9
  %.sroa.3.0..sroa_idx.4 = getelementptr inbounds i8, ptr %7002, i64 16
  store i8 4, ptr %.sroa.3.0..sroa_idx.4, align 8, !tbaa !51
  %7006 = add nsw i64 %.3901, 5
  %7007 = add nsw i32 %.lcssa898899, 5
  %7008 = icmp ult i64 %7006, 2000
  br i1 %7008, label %.loopexit, label %.split.loop.exit

.loopexit:                                        ; preds = %.preheader884.4
  store i32 %7007, ptr @test_count, align 4, !tbaa !5
  %.pre922 = load i16, ptr %6814, align 8, !tbaa !61
  br label %7034

.split.loop.exit927:                              ; preds = %.preheader884.3.3, %.preheader884.3.2, %.preheader884.3.1, %.preheader884.3
  %.lcssa898899.lcssa3534 = phi i32 [ %.lcssa898899, %.preheader884.3 ], [ %.lcssa898899.1, %.preheader884.3.1 ], [ %.lcssa898899.2, %.preheader884.3.2 ], [ %.lcssa898899.3, %.preheader884.3.3 ]
  %7009 = add nsw i32 %.lcssa898899.lcssa3534, 4
  br label %.split.loop.exit

.split.loop.exit929:                              ; preds = %.preheader884.2.3, %.preheader884.2.2, %.preheader884.2.1, %.preheader884.2
  %.lcssa898899.lcssa3533 = phi i32 [ %.lcssa898899, %.preheader884.2 ], [ %.lcssa898899.1, %.preheader884.2.1 ], [ %.lcssa898899.2, %.preheader884.2.2 ], [ %.lcssa898899.3, %.preheader884.2.3 ]
  %7010 = add nsw i32 %.lcssa898899.lcssa3533, 3
  br label %.split.loop.exit

.split.loop.exit931:                              ; preds = %.preheader884.1.3, %.preheader884.1.2, %.preheader884.1.1, %.preheader884.1
  %.lcssa898899.lcssa3532 = phi i32 [ %.lcssa898899, %.preheader884.1 ], [ %.lcssa898899.1, %.preheader884.1.1 ], [ %.lcssa898899.2, %.preheader884.1.2 ], [ %.lcssa898899.3, %.preheader884.1.3 ]
  %7011 = add nsw i32 %.lcssa898899.lcssa3532, 2
  br label %.split.loop.exit

.split.loop.exit933:                              ; preds = %.preheader884.preheader.3, %.preheader884.preheader.2, %.preheader884.preheader.1, %.preheader884.preheader
  %.lcssa898899.lcssa = phi i32 [ %.lcssa898899, %.preheader884.preheader ], [ %.lcssa898899.1, %.preheader884.preheader.1 ], [ %.lcssa898899.2, %.preheader884.preheader.2 ], [ %.lcssa898899.3, %.preheader884.preheader.3 ]
  %7012 = add nsw i32 %.lcssa898899.lcssa, 1
  br label %.split.loop.exit

.split.loop.exit:                                 ; preds = %.preheader884.4, %.preheader884.4.1, %.preheader884.4.2, %.preheader884.4.3, %.split.loop.exit933, %.split.loop.exit931, %.split.loop.exit929, %.split.loop.exit927
  %.lcssa = phi i32 [ %7009, %.split.loop.exit927 ], [ %7010, %.split.loop.exit929 ], [ %7011, %.split.loop.exit931 ], [ %7012, %.split.loop.exit933 ], [ %7007, %.preheader884.4 ], [ %6860, %.preheader884.4.1 ], [ %6910, %.preheader884.4.2 ], [ %6960, %.preheader884.4.3 ]
  store i32 %.lcssa, ptr @test_count, align 4, !tbaa !5
  %7013 = load i32, ptr %4708, align 4, !tbaa !5
  %7014 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7015 = call i32 @s2n_print_stacktrace(ptr noundef %7014) #12
  %7016 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7017 = trunc nuw i8 %7016 to i1
  br i1 %7017, label %7018, label %7022

7018:                                             ; preds = %.split.loop.exit
  %7019 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7020 = call i32 @fileno(ptr noundef %7019) #12
  %7021 = call i32 @isatty(i32 noundef %7020) #12
  %.not703 = icmp eq i32 %7021, 0
  br i1 %.not703, label %7022, label %7023

7022:                                             ; preds = %7018, %.split.loop.exit
  br label %7023

7023:                                             ; preds = %7018, %7022
  %.str.5.sink3326 = phi ptr [ @.str.5, %7022 ], [ @.str.2, %7018 ]
  store i32 %7013, ptr %4708, align 4, !tbaa !5
  %7024 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7025 = load i32, ptr @test_count, align 4, !tbaa !5
  %7026 = load i32, ptr %4654, align 4, !tbaa !5
  %7027 = call ptr @s2n_strerror(i32 noundef %7026, ptr noundef nonnull @.str.4) #12
  %7028 = load i32, ptr %4654, align 4, !tbaa !5
  %7029 = call ptr @s2n_strerror_debug(i32 noundef %7028, ptr noundef nonnull @.str.4) #12
  %7030 = load i32, ptr %4708, align 4, !tbaa !5
  %7031 = call ptr @strerror(i32 noundef %7030) #12
  %7032 = load i32, ptr %4708, align 4, !tbaa !5
  %7033 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7024, ptr noundef nonnull %.str.5.sink3326, i32 noundef %7025, ptr noundef nonnull @.str.123, ptr noundef nonnull @.str.1, i32 noundef 569, ptr noundef %7027, ptr noundef %7029, ptr noundef %7031, i32 noundef %7032) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7034:                                             ; preds = %.loopexit, %6977, %6973, %.lr.ph
  %7035 = phi i16 [ %6967, %.lr.ph ], [ %6967, %6973 ], [ %6967, %6977 ], [ %.pre922, %.loopexit ]
  %test_count.promoted896904 = phi i32 [ %test_count.promoted896905, %.lr.ph ], [ %test_count.promoted896905, %6973 ], [ %test_count.promoted896905, %6977 ], [ %7007, %.loopexit ]
  %.lcssa897 = phi i32 [ %.lcssa898899, %.lr.ph ], [ %.lcssa898899, %6973 ], [ %.lcssa898899, %6977 ], [ %7007, %.loopexit ]
  %.5 = phi i64 [ %.3901, %.lr.ph ], [ %.3901, %6973 ], [ %.3901, %6977 ], [ %7006, %.loopexit ]
  %7036 = add nuw nsw i64 %.0605900, 1
  %7037 = zext i16 %7035 to i64
  %7038 = icmp ult i64 %7036, %7037
  br i1 %7038, label %.lr.ph, label %._crit_edge, !llvm.loop !69

._crit_edge912:                                   ; preds = %7578, %.preheader
  call void @llvm.lifetime.end.p0(i64 48000, ptr nonnull %61) #12
  %7039 = call i32 @s2n_config_ptr_free(ptr noundef nonnull %60) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %60) #12
  %7040 = call i32 @s2n_config_ptr_free(ptr noundef nonnull %59) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %59) #12
  call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %58) #12
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %57) #12
  %7041 = call i32 @s2n_cleanup() #12
  %7042 = icmp eq i32 %7041, -1
  br i1 %7042, label %7583, label %7605

7043:                                             ; preds = %.lr.ph911, %7578
  %.0607910 = phi i64 [ 0, %.lr.ph911 ], [ %7582, %7578 ]
  call void @llvm.lifetime.start.p0(i64 20, ptr nonnull %62) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 16 dereferenceable(20) %62, i8 0, i64 20, i1 false)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %63) #12
  %7044 = call ptr @s2n_connection_new(i32 noundef 0) #12
  store ptr %7044, ptr %63, align 8, !tbaa !9
  %7045 = load i32, ptr @test_count, align 4, !tbaa !5
  %7046 = add nsw i32 %7045, 1
  store i32 %7046, ptr @test_count, align 4, !tbaa !5
  %7047 = icmp eq ptr %7044, null
  br i1 %7047, label %7048, label %7070

7048:                                             ; preds = %7043
  %7049 = load i32, ptr %4708, align 4, !tbaa !5
  %7050 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7051 = call i32 @s2n_print_stacktrace(ptr noundef %7050) #12
  %7052 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7053 = trunc nuw i8 %7052 to i1
  br i1 %7053, label %7054, label %7058

7054:                                             ; preds = %7048
  %7055 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7056 = call i32 @fileno(ptr noundef %7055) #12
  %7057 = call i32 @isatty(i32 noundef %7056) #12
  %.not701 = icmp eq i32 %7057, 0
  br i1 %.not701, label %7058, label %7059

7058:                                             ; preds = %7054, %7048
  br label %7059

7059:                                             ; preds = %7054, %7058
  %.str.5.sink3335 = phi ptr [ @.str.5, %7058 ], [ @.str.2, %7054 ]
  store i32 %7049, ptr %4708, align 4, !tbaa !5
  %7060 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7061 = load i32, ptr @test_count, align 4, !tbaa !5
  %7062 = load i32, ptr %4654, align 4, !tbaa !5
  %7063 = call ptr @s2n_strerror(i32 noundef %7062, ptr noundef nonnull @.str.4) #12
  %7064 = load i32, ptr %4654, align 4, !tbaa !5
  %7065 = call ptr @s2n_strerror_debug(i32 noundef %7064, ptr noundef nonnull @.str.4) #12
  %7066 = load i32, ptr %4708, align 4, !tbaa !5
  %7067 = call ptr @strerror(i32 noundef %7066) #12
  %7068 = load i32, ptr %4708, align 4, !tbaa !5
  %7069 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7060, ptr noundef nonnull %.str.5.sink3335, i32 noundef %7061, ptr noundef nonnull @.str.21, ptr noundef nonnull @.str.1, i32 noundef 578, ptr noundef %7063, ptr noundef %7065, ptr noundef %7067, i32 noundef %7068) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7070:                                             ; preds = %7043
  %7071 = add nsw i32 %7045, 2
  store i32 %7071, ptr @test_count, align 4, !tbaa !5
  %7072 = call i32 @s2n_connection_set_config(ptr noundef nonnull %7044, ptr noundef nonnull %6511) #12
  %7073 = icmp eq i32 %7072, -1
  br i1 %7073, label %7074, label %7096

7074:                                             ; preds = %7070
  %7075 = load i32, ptr %4708, align 4, !tbaa !5
  %7076 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7077 = call i32 @s2n_print_stacktrace(ptr noundef %7076) #12
  %7078 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7079 = trunc nuw i8 %7078 to i1
  br i1 %7079, label %7080, label %7084

7080:                                             ; preds = %7074
  %7081 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7082 = call i32 @fileno(ptr noundef %7081) #12
  %7083 = call i32 @isatty(i32 noundef %7082) #12
  %.not700 = icmp eq i32 %7083, 0
  br i1 %.not700, label %7084, label %7085

7084:                                             ; preds = %7080, %7074
  br label %7085

7085:                                             ; preds = %7080, %7084
  %.str.5.sink3344 = phi ptr [ @.str.5, %7084 ], [ @.str.2, %7080 ]
  store i32 %7075, ptr %4708, align 4, !tbaa !5
  %7086 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7087 = load i32, ptr @test_count, align 4, !tbaa !5
  %7088 = load i32, ptr %4654, align 4, !tbaa !5
  %7089 = call ptr @s2n_strerror(i32 noundef %7088, ptr noundef nonnull @.str.4) #12
  %7090 = load i32, ptr %4654, align 4, !tbaa !5
  %7091 = call ptr @s2n_strerror_debug(i32 noundef %7090, ptr noundef nonnull @.str.4) #12
  %7092 = load i32, ptr %4708, align 4, !tbaa !5
  %7093 = call ptr @strerror(i32 noundef %7092) #12
  %7094 = load i32, ptr %4708, align 4, !tbaa !5
  %7095 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7086, ptr noundef nonnull %.str.5.sink3344, i32 noundef %7087, ptr noundef nonnull @.str.125, ptr noundef nonnull @.str.1, i32 noundef 579, ptr noundef %7089, ptr noundef %7091, ptr noundef %7093, i32 noundef %7094) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7096:                                             ; preds = %7070
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %64) #12
  %7097 = call ptr @s2n_connection_new(i32 noundef 1) #12
  store ptr %7097, ptr %64, align 8, !tbaa !9
  %7098 = load i32, ptr @test_count, align 4, !tbaa !5
  %7099 = add nsw i32 %7098, 1
  store i32 %7099, ptr @test_count, align 4, !tbaa !5
  %7100 = icmp eq ptr %7097, null
  br i1 %7100, label %7101, label %7123

7101:                                             ; preds = %7096
  %7102 = load i32, ptr %4708, align 4, !tbaa !5
  %7103 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7104 = call i32 @s2n_print_stacktrace(ptr noundef %7103) #12
  %7105 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7106 = trunc nuw i8 %7105 to i1
  br i1 %7106, label %7107, label %7111

7107:                                             ; preds = %7101
  %7108 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7109 = call i32 @fileno(ptr noundef %7108) #12
  %7110 = call i32 @isatty(i32 noundef %7109) #12
  %.not699 = icmp eq i32 %7110, 0
  br i1 %.not699, label %7111, label %7112

7111:                                             ; preds = %7107, %7101
  br label %7112

7112:                                             ; preds = %7107, %7111
  %.str.5.sink3353 = phi ptr [ @.str.5, %7111 ], [ @.str.2, %7107 ]
  store i32 %7102, ptr %4708, align 4, !tbaa !5
  %7113 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7114 = load i32, ptr @test_count, align 4, !tbaa !5
  %7115 = load i32, ptr %4654, align 4, !tbaa !5
  %7116 = call ptr @s2n_strerror(i32 noundef %7115, ptr noundef nonnull @.str.4) #12
  %7117 = load i32, ptr %4654, align 4, !tbaa !5
  %7118 = call ptr @s2n_strerror_debug(i32 noundef %7117, ptr noundef nonnull @.str.4) #12
  %7119 = load i32, ptr %4708, align 4, !tbaa !5
  %7120 = call ptr @strerror(i32 noundef %7119) #12
  %7121 = load i32, ptr %4708, align 4, !tbaa !5
  %7122 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7113, ptr noundef nonnull %.str.5.sink3353, i32 noundef %7114, ptr noundef nonnull @.str.23, ptr noundef nonnull @.str.1, i32 noundef 582, ptr noundef %7116, ptr noundef %7118, ptr noundef %7120, i32 noundef %7121) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7123:                                             ; preds = %7096
  %7124 = add nsw i32 %7098, 2
  store i32 %7124, ptr @test_count, align 4, !tbaa !5
  %7125 = call i32 @s2n_connection_set_config(ptr noundef nonnull %7097, ptr noundef nonnull %6648) #12
  %7126 = icmp eq i32 %7125, -1
  br i1 %7126, label %7127, label %7149

7127:                                             ; preds = %7123
  %7128 = load i32, ptr %4708, align 4, !tbaa !5
  %7129 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7130 = call i32 @s2n_print_stacktrace(ptr noundef %7129) #12
  %7131 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7132 = trunc nuw i8 %7131 to i1
  br i1 %7132, label %7133, label %7137

7133:                                             ; preds = %7127
  %7134 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7135 = call i32 @fileno(ptr noundef %7134) #12
  %7136 = call i32 @isatty(i32 noundef %7135) #12
  %.not698 = icmp eq i32 %7136, 0
  br i1 %.not698, label %7137, label %7138

7137:                                             ; preds = %7133, %7127
  br label %7138

7138:                                             ; preds = %7133, %7137
  %.str.5.sink3362 = phi ptr [ @.str.5, %7137 ], [ @.str.2, %7133 ]
  store i32 %7128, ptr %4708, align 4, !tbaa !5
  %7139 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7140 = load i32, ptr @test_count, align 4, !tbaa !5
  %7141 = load i32, ptr %4654, align 4, !tbaa !5
  %7142 = call ptr @s2n_strerror(i32 noundef %7141, ptr noundef nonnull @.str.4) #12
  %7143 = load i32, ptr %4654, align 4, !tbaa !5
  %7144 = call ptr @s2n_strerror_debug(i32 noundef %7143, ptr noundef nonnull @.str.4) #12
  %7145 = load i32, ptr %4708, align 4, !tbaa !5
  %7146 = call ptr @strerror(i32 noundef %7145) #12
  %7147 = load i32, ptr %4708, align 4, !tbaa !5
  %7148 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7139, ptr noundef nonnull %.str.5.sink3362, i32 noundef %7140, ptr noundef nonnull @.str.126, ptr noundef nonnull @.str.1, i32 noundef 583, ptr noundef %7142, ptr noundef %7144, ptr noundef %7146, i32 noundef %7147) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7149:                                             ; preds = %7123
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %65) #12
  store i64 0, ptr %65, align 8
  %7150 = load i32, ptr @test_count, align 4, !tbaa !5
  %7151 = add nsw i32 %7150, 1
  store i32 %7151, ptr @test_count, align 4, !tbaa !5
  %7152 = call i32 @s2n_io_pair_init_non_blocking(ptr noundef nonnull %65) #12
  %7153 = icmp eq i32 %7152, -1
  br i1 %7153, label %7154, label %7176

7154:                                             ; preds = %7149
  %7155 = load i32, ptr %4708, align 4, !tbaa !5
  %7156 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7157 = call i32 @s2n_print_stacktrace(ptr noundef %7156) #12
  %7158 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7159 = trunc nuw i8 %7158 to i1
  br i1 %7159, label %7160, label %7164

7160:                                             ; preds = %7154
  %7161 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7162 = call i32 @fileno(ptr noundef %7161) #12
  %7163 = call i32 @isatty(i32 noundef %7162) #12
  %.not697 = icmp eq i32 %7163, 0
  br i1 %.not697, label %7164, label %7165

7164:                                             ; preds = %7160, %7154
  br label %7165

7165:                                             ; preds = %7160, %7164
  %.str.5.sink3371 = phi ptr [ @.str.5, %7164 ], [ @.str.2, %7160 ]
  store i32 %7155, ptr %4708, align 4, !tbaa !5
  %7166 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7167 = load i32, ptr @test_count, align 4, !tbaa !5
  %7168 = load i32, ptr %4654, align 4, !tbaa !5
  %7169 = call ptr @s2n_strerror(i32 noundef %7168, ptr noundef nonnull @.str.4) #12
  %7170 = load i32, ptr %4654, align 4, !tbaa !5
  %7171 = call ptr @s2n_strerror_debug(i32 noundef %7170, ptr noundef nonnull @.str.4) #12
  %7172 = load i32, ptr %4708, align 4, !tbaa !5
  %7173 = call ptr @strerror(i32 noundef %7172) #12
  %7174 = load i32, ptr %4708, align 4, !tbaa !5
  %7175 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7166, ptr noundef nonnull %.str.5.sink3371, i32 noundef %7167, ptr noundef nonnull @.str.25, ptr noundef nonnull @.str.1, i32 noundef 586, ptr noundef %7169, ptr noundef %7171, ptr noundef %7173, i32 noundef %7174) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7176:                                             ; preds = %7149
  %7177 = load i32, ptr @test_count, align 4, !tbaa !5
  %7178 = add nsw i32 %7177, 1
  store i32 %7178, ptr @test_count, align 4, !tbaa !5
  %7179 = load ptr, ptr %64, align 8, !tbaa !9
  %7180 = call i32 @s2n_connection_set_io_pair(ptr noundef %7179, ptr noundef nonnull %65) #12
  %7181 = icmp eq i32 %7180, -1
  br i1 %7181, label %7182, label %7204

7182:                                             ; preds = %7176
  %7183 = load i32, ptr %4708, align 4, !tbaa !5
  %7184 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7185 = call i32 @s2n_print_stacktrace(ptr noundef %7184) #12
  %7186 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7187 = trunc nuw i8 %7186 to i1
  br i1 %7187, label %7188, label %7192

7188:                                             ; preds = %7182
  %7189 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7190 = call i32 @fileno(ptr noundef %7189) #12
  %7191 = call i32 @isatty(i32 noundef %7190) #12
  %.not696 = icmp eq i32 %7191, 0
  br i1 %.not696, label %7192, label %7193

7192:                                             ; preds = %7188, %7182
  br label %7193

7193:                                             ; preds = %7188, %7192
  %.str.5.sink3380 = phi ptr [ @.str.5, %7192 ], [ @.str.2, %7188 ]
  store i32 %7183, ptr %4708, align 4, !tbaa !5
  %7194 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7195 = load i32, ptr @test_count, align 4, !tbaa !5
  %7196 = load i32, ptr %4654, align 4, !tbaa !5
  %7197 = call ptr @s2n_strerror(i32 noundef %7196, ptr noundef nonnull @.str.4) #12
  %7198 = load i32, ptr %4654, align 4, !tbaa !5
  %7199 = call ptr @s2n_strerror_debug(i32 noundef %7198, ptr noundef nonnull @.str.4) #12
  %7200 = load i32, ptr %4708, align 4, !tbaa !5
  %7201 = call ptr @strerror(i32 noundef %7200) #12
  %7202 = load i32, ptr %4708, align 4, !tbaa !5
  %7203 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7194, ptr noundef nonnull %.str.5.sink3380, i32 noundef %7195, ptr noundef nonnull @.str.26, ptr noundef nonnull @.str.1, i32 noundef 587, ptr noundef %7197, ptr noundef %7199, ptr noundef %7201, i32 noundef %7202) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7204:                                             ; preds = %7176
  %7205 = load i32, ptr @test_count, align 4, !tbaa !5
  %7206 = add nsw i32 %7205, 1
  store i32 %7206, ptr @test_count, align 4, !tbaa !5
  %7207 = load ptr, ptr %63, align 8, !tbaa !9
  %7208 = call i32 @s2n_connection_set_io_pair(ptr noundef %7207, ptr noundef nonnull %65) #12
  %7209 = icmp eq i32 %7208, -1
  br i1 %7209, label %7210, label %7232

7210:                                             ; preds = %7204
  %7211 = load i32, ptr %4708, align 4, !tbaa !5
  %7212 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7213 = call i32 @s2n_print_stacktrace(ptr noundef %7212) #12
  %7214 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7215 = trunc nuw i8 %7214 to i1
  br i1 %7215, label %7216, label %7220

7216:                                             ; preds = %7210
  %7217 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7218 = call i32 @fileno(ptr noundef %7217) #12
  %7219 = call i32 @isatty(i32 noundef %7218) #12
  %.not695 = icmp eq i32 %7219, 0
  br i1 %.not695, label %7220, label %7221

7220:                                             ; preds = %7216, %7210
  br label %7221

7221:                                             ; preds = %7216, %7220
  %.str.5.sink3389 = phi ptr [ @.str.5, %7220 ], [ @.str.2, %7216 ]
  store i32 %7211, ptr %4708, align 4, !tbaa !5
  %7222 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7223 = load i32, ptr @test_count, align 4, !tbaa !5
  %7224 = load i32, ptr %4654, align 4, !tbaa !5
  %7225 = call ptr @s2n_strerror(i32 noundef %7224, ptr noundef nonnull @.str.4) #12
  %7226 = load i32, ptr %4654, align 4, !tbaa !5
  %7227 = call ptr @s2n_strerror_debug(i32 noundef %7226, ptr noundef nonnull @.str.4) #12
  %7228 = load i32, ptr %4708, align 4, !tbaa !5
  %7229 = call ptr @strerror(i32 noundef %7228) #12
  %7230 = load i32, ptr %4708, align 4, !tbaa !5
  %7231 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7222, ptr noundef nonnull %.str.5.sink3389, i32 noundef %7223, ptr noundef nonnull @.str.27, ptr noundef nonnull @.str.1, i32 noundef 588, ptr noundef %7225, ptr noundef %7227, ptr noundef %7229, i32 noundef %7230) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7232:                                             ; preds = %7204
  %7233 = getelementptr inbounds [2000 x %struct.s2n_reneg_test_case], ptr %61, i64 0, i64 %.0607910
  %7234 = load i8, ptr %7233, align 8, !tbaa !70
  %7235 = load ptr, ptr %63, align 8, !tbaa !9
  %7236 = getelementptr inbounds i8, ptr %7235, i64 219
  store i8 %7234, ptr %7236, align 1, !tbaa !71
  %7237 = load i32, ptr @test_count, align 4, !tbaa !5
  %7238 = add nsw i32 %7237, 1
  store i32 %7238, ptr @test_count, align 4, !tbaa !5
  %7239 = getelementptr inbounds i8, ptr %7233, i64 16
  %7240 = load i8, ptr %7239, align 8, !tbaa !72
  %7241 = zext i8 %7240 to i32
  %7242 = call i32 @s2n_config_send_max_fragment_length(ptr noundef nonnull %6648, i32 noundef %7241) #12
  %7243 = icmp eq i32 %7242, -1
  br i1 %7243, label %7244, label %7266

7244:                                             ; preds = %7232
  %7245 = load i32, ptr %4708, align 4, !tbaa !5
  %7246 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7247 = call i32 @s2n_print_stacktrace(ptr noundef %7246) #12
  %7248 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7249 = trunc nuw i8 %7248 to i1
  br i1 %7249, label %7250, label %7254

7250:                                             ; preds = %7244
  %7251 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7252 = call i32 @fileno(ptr noundef %7251) #12
  %7253 = call i32 @isatty(i32 noundef %7252) #12
  %.not694 = icmp eq i32 %7253, 0
  br i1 %.not694, label %7254, label %7255

7254:                                             ; preds = %7250, %7244
  br label %7255

7255:                                             ; preds = %7250, %7254
  %.str.5.sink3398 = phi ptr [ @.str.5, %7254 ], [ @.str.2, %7250 ]
  store i32 %7245, ptr %4708, align 4, !tbaa !5
  %7256 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7257 = load i32, ptr @test_count, align 4, !tbaa !5
  %7258 = load i32, ptr %4654, align 4, !tbaa !5
  %7259 = call ptr @s2n_strerror(i32 noundef %7258, ptr noundef nonnull @.str.4) #12
  %7260 = load i32, ptr %4654, align 4, !tbaa !5
  %7261 = call ptr @s2n_strerror_debug(i32 noundef %7260, ptr noundef nonnull @.str.4) #12
  %7262 = load i32, ptr %4708, align 4, !tbaa !5
  %7263 = call ptr @strerror(i32 noundef %7262) #12
  %7264 = load i32, ptr %4708, align 4, !tbaa !5
  %7265 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7256, ptr noundef nonnull %.str.5.sink3398, i32 noundef %7257, ptr noundef nonnull @.str.127, ptr noundef nonnull @.str.1, i32 noundef 592, ptr noundef %7259, ptr noundef %7261, ptr noundef %7263, i32 noundef %7264) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7266:                                             ; preds = %7232
  %7267 = getelementptr inbounds i8, ptr %7233, i64 8
  store ptr %7267, ptr %6816, align 8, !tbaa !65
  %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 %63, align 8, !tbaa !9
  %7271 = load ptr, ptr %64, align 8, !tbaa !9
  %7272 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef %7270, ptr noundef %7271) #12
  %7273 = icmp eq i32 %7272, -1
  br i1 %7273, label %7274, label %7296

7274:                                             ; preds = %7266
  %7275 = load i32, ptr %4708, align 4, !tbaa !5
  %7276 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7277 = call i32 @s2n_print_stacktrace(ptr noundef %7276) #12
  %7278 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7279 = trunc nuw i8 %7278 to i1
  br i1 %7279, label %7280, label %7284

7280:                                             ; preds = %7274
  %7281 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7282 = call i32 @fileno(ptr noundef %7281) #12
  %7283 = call i32 @isatty(i32 noundef %7282) #12
  %.not693 = icmp eq i32 %7283, 0
  br i1 %.not693, label %7284, label %7285

7284:                                             ; preds = %7280, %7274
  br label %7285

7285:                                             ; preds = %7280, %7284
  %.str.5.sink3407 = phi ptr [ @.str.5, %7284 ], [ @.str.2, %7280 ]
  store i32 %7275, ptr %4708, align 4, !tbaa !5
  %7286 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7287 = load i32, ptr @test_count, align 4, !tbaa !5
  %7288 = load i32, ptr %4654, align 4, !tbaa !5
  %7289 = call ptr @s2n_strerror(i32 noundef %7288, ptr noundef nonnull @.str.4) #12
  %7290 = load i32, ptr %4654, align 4, !tbaa !5
  %7291 = call ptr @s2n_strerror_debug(i32 noundef %7290, ptr noundef nonnull @.str.4) #12
  %7292 = load i32, ptr %4708, align 4, !tbaa !5
  %7293 = call ptr @strerror(i32 noundef %7292) #12
  %7294 = load i32, ptr %4708, align 4, !tbaa !5
  %7295 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7286, ptr noundef nonnull %.str.5.sink3407, i32 noundef %7287, ptr noundef nonnull @.str.32, ptr noundef nonnull @.str.1, i32 noundef 595, ptr noundef %7289, ptr noundef %7291, ptr noundef %7293, i32 noundef %7294) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7296:                                             ; preds = %7266
  %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 = load ptr, ptr %64, align 8, !tbaa !9
  %7300 = getelementptr inbounds i8, ptr %7299, i64 220
  %7301 = load i8, ptr %7300, align 4, !tbaa !47
  %7302 = load i8, ptr %7233, align 8, !tbaa !70
  %7303 = icmp eq i8 %7301, %7302
  br i1 %7303, label %7326, label %7304

7304:                                             ; preds = %7296
  %7305 = load i32, ptr %4708, align 4, !tbaa !5
  %7306 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7307 = call i32 @s2n_print_stacktrace(ptr noundef %7306) #12
  %7308 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7309 = trunc nuw i8 %7308 to i1
  br i1 %7309, label %7310, label %7314

7310:                                             ; preds = %7304
  %7311 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7312 = call i32 @fileno(ptr noundef %7311) #12
  %7313 = call i32 @isatty(i32 noundef %7312) #12
  %.not682 = icmp eq i32 %7313, 0
  br i1 %.not682, label %7314, label %7315

7314:                                             ; preds = %7310, %7304
  br label %7315

7315:                                             ; preds = %7310, %7314
  %.str.5.sink3416 = phi ptr [ @.str.5, %7314 ], [ @.str.2, %7310 ]
  store i32 %7305, ptr %4708, align 4, !tbaa !5
  %7316 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7317 = load i32, ptr @test_count, align 4, !tbaa !5
  %7318 = load i32, ptr %4654, align 4, !tbaa !5
  %7319 = call ptr @s2n_strerror(i32 noundef %7318, ptr noundef nonnull @.str.4) #12
  %7320 = load i32, ptr %4654, align 4, !tbaa !5
  %7321 = call ptr @s2n_strerror_debug(i32 noundef %7320, ptr noundef nonnull @.str.4) #12
  %7322 = load i32, ptr %4708, align 4, !tbaa !5
  %7323 = call ptr @strerror(i32 noundef %7322) #12
  %7324 = load i32, ptr %4708, align 4, !tbaa !5
  %7325 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7316, ptr noundef nonnull %.str.5.sink3416, i32 noundef %7317, ptr noundef nonnull @.str.128, ptr noundef nonnull @.str.1, i32 noundef 598, ptr noundef %7319, ptr noundef %7321, ptr noundef %7323, i32 noundef %7324) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7326:                                             ; preds = %7296
  %7327 = add nsw i32 %7297, 2
  store i32 %7327, ptr @test_count, align 4, !tbaa !5
  %7328 = getelementptr inbounds i8, ptr %7299, i64 2208
  %7329 = load i16, ptr %7328, align 8, !tbaa !45
  %7330 = load i8, ptr %7239, align 8, !tbaa !72
  %7331 = zext i8 %7330 to i64
  %7332 = getelementptr inbounds [5 x i16], ptr @mfl_code_to_length, i64 0, i64 %7331
  %7333 = load i16, ptr %7332, align 2, !tbaa !73
  %7334 = icmp eq i16 %7329, %7333
  br i1 %7334, label %7357, label %7335

7335:                                             ; preds = %7326
  %7336 = load i32, ptr %4708, align 4, !tbaa !5
  %7337 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7338 = call i32 @s2n_print_stacktrace(ptr noundef %7337) #12
  %7339 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7340 = trunc nuw i8 %7339 to i1
  br i1 %7340, label %7341, label %7345

7341:                                             ; preds = %7335
  %7342 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7343 = call i32 @fileno(ptr noundef %7342) #12
  %7344 = call i32 @isatty(i32 noundef %7343) #12
  %.not683 = icmp eq i32 %7344, 0
  br i1 %.not683, label %7345, label %7346

7345:                                             ; preds = %7341, %7335
  br label %7346

7346:                                             ; preds = %7341, %7345
  %.str.5.sink3425 = phi ptr [ @.str.5, %7345 ], [ @.str.2, %7341 ]
  store i32 %7336, ptr %4708, align 4, !tbaa !5
  %7347 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7348 = load i32, ptr @test_count, align 4, !tbaa !5
  %7349 = load i32, ptr %4654, align 4, !tbaa !5
  %7350 = call ptr @s2n_strerror(i32 noundef %7349, ptr noundef nonnull @.str.4) #12
  %7351 = load i32, ptr %4654, align 4, !tbaa !5
  %7352 = call ptr @s2n_strerror_debug(i32 noundef %7351, ptr noundef nonnull @.str.4) #12
  %7353 = load i32, ptr %4708, align 4, !tbaa !5
  %7354 = call ptr @strerror(i32 noundef %7353) #12
  %7355 = load i32, ptr %4708, align 4, !tbaa !5
  %7356 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7347, ptr noundef nonnull %.str.5.sink3425, i32 noundef %7348, ptr noundef nonnull @.str.129, ptr noundef nonnull @.str.1, i32 noundef 599, ptr noundef %7350, ptr noundef %7352, ptr noundef %7354, i32 noundef %7355) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7357:                                             ; preds = %7326
  %7358 = icmp ugt i8 %7301, 30
  %7359 = add nsw i32 %7297, 3
  store i32 %7359, ptr @test_count, align 4, !tbaa !5
  %7360 = getelementptr inbounds i8, ptr %7299, i64 232
  %7361 = load ptr, ptr %7360, align 8, !tbaa !74
  %7362 = load ptr, ptr %7361, align 8, !tbaa !75
  %7363 = load ptr, ptr %7267, align 8, !tbaa !58
  br i1 %7358, label %7364, label %7388

7364:                                             ; preds = %7357
  %7365 = icmp eq ptr %7362, %7363
  br i1 %7365, label %7414, label %7366

7366:                                             ; preds = %7364
  %7367 = load i32, ptr %4708, align 4, !tbaa !5
  %7368 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7369 = call i32 @s2n_print_stacktrace(ptr noundef %7368) #12
  %7370 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7371 = trunc nuw i8 %7370 to i1
  br i1 %7371, label %7372, label %7376

7372:                                             ; preds = %7366
  %7373 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7374 = call i32 @fileno(ptr noundef %7373) #12
  %7375 = call i32 @isatty(i32 noundef %7374) #12
  %.not685 = icmp eq i32 %7375, 0
  br i1 %.not685, label %7376, label %7377

7376:                                             ; preds = %7372, %7366
  br label %7377

7377:                                             ; preds = %7372, %7376
  %.str.5.sink3434 = phi ptr [ @.str.5, %7376 ], [ @.str.2, %7372 ]
  store i32 %7367, ptr %4708, align 4, !tbaa !5
  %7378 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7379 = load i32, ptr @test_count, align 4, !tbaa !5
  %7380 = load i32, ptr %4654, align 4, !tbaa !5
  %7381 = call ptr @s2n_strerror(i32 noundef %7380, ptr noundef nonnull @.str.4) #12
  %7382 = load i32, ptr %4654, align 4, !tbaa !5
  %7383 = call ptr @s2n_strerror_debug(i32 noundef %7382, ptr noundef nonnull @.str.4) #12
  %7384 = load i32, ptr %4708, align 4, !tbaa !5
  %7385 = call ptr @strerror(i32 noundef %7384) #12
  %7386 = load i32, ptr %4708, align 4, !tbaa !5
  %7387 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7378, ptr noundef nonnull %.str.5.sink3434, i32 noundef %7379, ptr noundef nonnull @.str.130, ptr noundef nonnull @.str.1, i32 noundef 601, ptr noundef %7381, ptr noundef %7383, ptr noundef %7385, i32 noundef %7386) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7388:                                             ; preds = %7357
  %7389 = getelementptr inbounds i8, ptr %7363, i64 88
  %7390 = load ptr, ptr %7389, align 8, !tbaa !80
  %7391 = icmp eq ptr %7362, %7390
  br i1 %7391, label %7414, label %7392

7392:                                             ; preds = %7388
  %7393 = load i32, ptr %4708, align 4, !tbaa !5
  %7394 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7395 = call i32 @s2n_print_stacktrace(ptr noundef %7394) #12
  %7396 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7397 = trunc nuw i8 %7396 to i1
  br i1 %7397, label %7398, label %7402

7398:                                             ; preds = %7392
  %7399 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7400 = call i32 @fileno(ptr noundef %7399) #12
  %7401 = call i32 @isatty(i32 noundef %7400) #12
  %.not684 = icmp eq i32 %7401, 0
  br i1 %.not684, label %7402, label %7403

7402:                                             ; preds = %7398, %7392
  br label %7403

7403:                                             ; preds = %7398, %7402
  %.str.5.sink3443 = phi ptr [ @.str.5, %7402 ], [ @.str.2, %7398 ]
  store i32 %7393, ptr %4708, align 4, !tbaa !5
  %7404 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7405 = load i32, ptr @test_count, align 4, !tbaa !5
  %7406 = load i32, ptr %4654, align 4, !tbaa !5
  %7407 = call ptr @s2n_strerror(i32 noundef %7406, ptr noundef nonnull @.str.4) #12
  %7408 = load i32, ptr %4654, align 4, !tbaa !5
  %7409 = call ptr @s2n_strerror_debug(i32 noundef %7408, ptr noundef nonnull @.str.4) #12
  %7410 = load i32, ptr %4708, align 4, !tbaa !5
  %7411 = call ptr @strerror(i32 noundef %7410) #12
  %7412 = load i32, ptr %4708, align 4, !tbaa !5
  %7413 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7404, ptr noundef nonnull %.str.5.sink3443, i32 noundef %7405, ptr noundef nonnull @.str.131, ptr noundef nonnull @.str.1, i32 noundef 603, ptr noundef %7407, ptr noundef %7409, ptr noundef %7411, i32 noundef %7412) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7414:                                             ; preds = %7364, %7388
  %7415 = add nsw i32 %7297, 4
  store i32 %7415, ptr @test_count, align 4, !tbaa !5
  %7416 = call i32 @s2n_renegotiate_wipe(ptr noundef nonnull %7299) #12
  %7417 = icmp eq i32 %7416, -1
  br i1 %7417, label %7418, label %7440

7418:                                             ; preds = %7414
  %7419 = load i32, ptr %4708, align 4, !tbaa !5
  %7420 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7421 = call i32 @s2n_print_stacktrace(ptr noundef %7420) #12
  %7422 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7423 = trunc nuw i8 %7422 to i1
  br i1 %7423, label %7424, label %7428

7424:                                             ; preds = %7418
  %7425 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7426 = call i32 @fileno(ptr noundef %7425) #12
  %7427 = call i32 @isatty(i32 noundef %7426) #12
  %.not692 = icmp eq i32 %7427, 0
  br i1 %.not692, label %7428, label %7429

7428:                                             ; preds = %7424, %7418
  br label %7429

7429:                                             ; preds = %7424, %7428
  %.str.5.sink3452 = phi ptr [ @.str.5, %7428 ], [ @.str.2, %7424 ]
  store i32 %7419, ptr %4708, align 4, !tbaa !5
  %7430 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7431 = load i32, ptr @test_count, align 4, !tbaa !5
  %7432 = load i32, ptr %4654, align 4, !tbaa !5
  %7433 = call ptr @s2n_strerror(i32 noundef %7432, ptr noundef nonnull @.str.4) #12
  %7434 = load i32, ptr %4654, align 4, !tbaa !5
  %7435 = call ptr @s2n_strerror_debug(i32 noundef %7434, ptr noundef nonnull @.str.4) #12
  %7436 = load i32, ptr %4708, align 4, !tbaa !5
  %7437 = call ptr @strerror(i32 noundef %7436) #12
  %7438 = load i32, ptr %4708, align 4, !tbaa !5
  %7439 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7430, ptr noundef nonnull %.str.5.sink3452, i32 noundef %7431, ptr noundef nonnull @.str.33, ptr noundef nonnull @.str.1, i32 noundef 606, ptr noundef %7433, ptr noundef %7435, ptr noundef %7437, i32 noundef %7438) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7440:                                             ; preds = %7414
  %7441 = load i32, ptr @test_count, align 4, !tbaa !5
  %7442 = add nsw i32 %7441, 1
  store i32 %7442, ptr @test_count, align 4, !tbaa !5
  %7443 = load ptr, ptr %63, align 8, !tbaa !9
  %7444 = call i64 @s2n_send(ptr noundef %7443, ptr noundef nonnull %7, i64 noundef 20, ptr noundef nonnull %9) #12
  %7445 = icmp eq i64 %7444, 20
  br i1 %7445, label %7468, label %7446

7446:                                             ; preds = %7440
  %7447 = load i32, ptr %4708, align 4, !tbaa !5
  %7448 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7449 = call i32 @s2n_print_stacktrace(ptr noundef %7448) #12
  %7450 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7451 = trunc nuw i8 %7450 to i1
  br i1 %7451, label %7452, label %7456

7452:                                             ; preds = %7446
  %7453 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7454 = call i32 @fileno(ptr noundef %7453) #12
  %7455 = call i32 @isatty(i32 noundef %7454) #12
  %.not686 = icmp eq i32 %7455, 0
  br i1 %.not686, label %7456, label %7457

7456:                                             ; preds = %7452, %7446
  br label %7457

7457:                                             ; preds = %7452, %7456
  %.str.5.sink3461 = phi ptr [ @.str.5, %7456 ], [ @.str.2, %7452 ]
  store i32 %7447, ptr %4708, align 4, !tbaa !5
  %7458 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7459 = load i32, ptr @test_count, align 4, !tbaa !5
  %7460 = load i32, ptr %4654, align 4, !tbaa !5
  %7461 = call ptr @s2n_strerror(i32 noundef %7460, ptr noundef nonnull @.str.4) #12
  %7462 = load i32, ptr %4654, align 4, !tbaa !5
  %7463 = call ptr @s2n_strerror_debug(i32 noundef %7462, ptr noundef nonnull @.str.4) #12
  %7464 = load i32, ptr %4708, align 4, !tbaa !5
  %7465 = call ptr @strerror(i32 noundef %7464) #12
  %7466 = load i32, ptr %4708, align 4, !tbaa !5
  %7467 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7458, ptr noundef nonnull %.str.5.sink3461, i32 noundef %7459, ptr noundef nonnull @.str.34, ptr noundef nonnull @.str.1, i32 noundef 609, ptr noundef %7461, ptr noundef %7463, ptr noundef %7465, i32 noundef %7466) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7468:                                             ; preds = %7440
  %7469 = load i32, ptr @test_count, align 4, !tbaa !5
  %7470 = add nsw i32 %7469, 1
  store i32 %7470, ptr @test_count, align 4, !tbaa !5
  %7471 = load ptr, ptr %64, align 8, !tbaa !9
  %7472 = call i64 @s2n_recv(ptr noundef %7471, ptr noundef nonnull %62, i64 noundef 20, ptr noundef nonnull %9) #12
  %7473 = icmp eq i64 %7472, 20
  br i1 %7473, label %7496, label %7474

7474:                                             ; preds = %7468
  %7475 = load i32, ptr %4708, align 4, !tbaa !5
  %7476 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7477 = call i32 @s2n_print_stacktrace(ptr noundef %7476) #12
  %7478 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7479 = trunc nuw i8 %7478 to i1
  br i1 %7479, label %7480, label %7484

7480:                                             ; preds = %7474
  %7481 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7482 = call i32 @fileno(ptr noundef %7481) #12
  %7483 = call i32 @isatty(i32 noundef %7482) #12
  %.not687 = icmp eq i32 %7483, 0
  br i1 %.not687, label %7484, label %7485

7484:                                             ; preds = %7480, %7474
  br label %7485

7485:                                             ; preds = %7480, %7484
  %.str.5.sink3470 = phi ptr [ @.str.5, %7484 ], [ @.str.2, %7480 ]
  store i32 %7475, ptr %4708, align 4, !tbaa !5
  %7486 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7487 = load i32, ptr @test_count, align 4, !tbaa !5
  %7488 = load i32, ptr %4654, align 4, !tbaa !5
  %7489 = call ptr @s2n_strerror(i32 noundef %7488, ptr noundef nonnull @.str.4) #12
  %7490 = load i32, ptr %4654, align 4, !tbaa !5
  %7491 = call ptr @s2n_strerror_debug(i32 noundef %7490, ptr noundef nonnull @.str.4) #12
  %7492 = load i32, ptr %4708, align 4, !tbaa !5
  %7493 = call ptr @strerror(i32 noundef %7492) #12
  %7494 = load i32, ptr %4708, align 4, !tbaa !5
  %7495 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7486, ptr noundef nonnull %.str.5.sink3470, i32 noundef %7487, ptr noundef nonnull @.str.35, ptr noundef nonnull @.str.1, i32 noundef 610, ptr noundef %7489, ptr noundef %7491, ptr noundef %7493, i32 noundef %7494) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7496:                                             ; preds = %7468
  %7497 = load i32, ptr @test_count, align 4, !tbaa !5
  %7498 = add nsw i32 %7497, 1
  store i32 %7498, ptr @test_count, align 4, !tbaa !5
  %bcmp688 = call i32 @bcmp(ptr noundef nonnull dereferenceable(20) %62, ptr noundef nonnull dereferenceable(20) %7, i64 20)
  %7499 = icmp eq i32 %bcmp688, 0
  br i1 %7499, label %7522, label %7500

7500:                                             ; preds = %7496
  %7501 = load i32, ptr %4708, align 4, !tbaa !5
  %7502 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7503 = call i32 @s2n_print_stacktrace(ptr noundef %7502) #12
  %7504 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7505 = trunc nuw i8 %7504 to i1
  br i1 %7505, label %7506, label %7510

7506:                                             ; preds = %7500
  %7507 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7508 = call i32 @fileno(ptr noundef %7507) #12
  %7509 = call i32 @isatty(i32 noundef %7508) #12
  %.not689 = icmp eq i32 %7509, 0
  br i1 %.not689, label %7510, label %7511

7510:                                             ; preds = %7506, %7500
  br label %7511

7511:                                             ; preds = %7506, %7510
  %.str.5.sink3479 = phi ptr [ @.str.5, %7510 ], [ @.str.2, %7506 ]
  store i32 %7501, ptr %4708, align 4, !tbaa !5
  %7512 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7513 = load i32, ptr @test_count, align 4, !tbaa !5
  %7514 = load i32, ptr %4654, align 4, !tbaa !5
  %7515 = call ptr @s2n_strerror(i32 noundef %7514, ptr noundef nonnull @.str.4) #12
  %7516 = load i32, ptr %4654, align 4, !tbaa !5
  %7517 = call ptr @s2n_strerror_debug(i32 noundef %7516, ptr noundef nonnull @.str.4) #12
  %7518 = load i32, ptr %4708, align 4, !tbaa !5
  %7519 = call ptr @strerror(i32 noundef %7518) #12
  %7520 = load i32, ptr %4708, align 4, !tbaa !5
  %7521 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7512, ptr noundef nonnull %.str.5.sink3479, i32 noundef %7513, ptr noundef nonnull @.str.36, ptr noundef nonnull @.str.1, i32 noundef 611, ptr noundef %7515, ptr noundef %7517, ptr noundef %7519, i32 noundef %7520) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7522:                                             ; preds = %7496
  %7523 = add nsw i32 %7497, 2
  store i32 %7523, ptr @test_count, align 4, !tbaa !5
  %7524 = load ptr, ptr %63, align 8, !tbaa !9
  %7525 = call i32 @s2n_renegotiate_wipe(ptr noundef %7524) #12
  %7526 = icmp eq i32 %7525, -1
  br i1 %7526, label %7527, label %7549

7527:                                             ; preds = %7522
  %7528 = load i32, ptr %4708, align 4, !tbaa !5
  %7529 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7530 = call i32 @s2n_print_stacktrace(ptr noundef %7529) #12
  %7531 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7532 = trunc nuw i8 %7531 to i1
  br i1 %7532, label %7533, label %7537

7533:                                             ; preds = %7527
  %7534 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7535 = call i32 @fileno(ptr noundef %7534) #12
  %7536 = call i32 @isatty(i32 noundef %7535) #12
  %.not691 = icmp eq i32 %7536, 0
  br i1 %.not691, label %7537, label %7538

7537:                                             ; preds = %7533, %7527
  br label %7538

7538:                                             ; preds = %7533, %7537
  %.str.5.sink3488 = phi ptr [ @.str.5, %7537 ], [ @.str.2, %7533 ]
  store i32 %7528, ptr %4708, align 4, !tbaa !5
  %7539 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7540 = load i32, ptr @test_count, align 4, !tbaa !5
  %7541 = load i32, ptr %4654, align 4, !tbaa !5
  %7542 = call ptr @s2n_strerror(i32 noundef %7541, ptr noundef nonnull @.str.4) #12
  %7543 = load i32, ptr %4654, align 4, !tbaa !5
  %7544 = call ptr @s2n_strerror_debug(i32 noundef %7543, ptr noundef nonnull @.str.4) #12
  %7545 = load i32, ptr %4708, align 4, !tbaa !5
  %7546 = call ptr @strerror(i32 noundef %7545) #12
  %7547 = load i32, ptr %4708, align 4, !tbaa !5
  %7548 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7539, ptr noundef nonnull %.str.5.sink3488, i32 noundef %7540, ptr noundef nonnull @.str.50, ptr noundef nonnull @.str.1, i32 noundef 614, ptr noundef %7542, ptr noundef %7544, ptr noundef %7546, i32 noundef %7547) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7549:                                             ; preds = %7522
  %7550 = load i32, ptr @test_count, align 4, !tbaa !5
  %7551 = add nsw i32 %7550, 1
  store i32 %7551, ptr @test_count, align 4, !tbaa !5
  %7552 = load ptr, ptr %63, align 8, !tbaa !9
  %7553 = load ptr, ptr %64, align 8, !tbaa !9
  %7554 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef %7552, ptr noundef %7553) #12
  %7555 = icmp eq i32 %7554, -1
  br i1 %7555, label %7556, label %7578

7556:                                             ; preds = %7549
  %7557 = load i32, ptr %4708, align 4, !tbaa !5
  %7558 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7559 = call i32 @s2n_print_stacktrace(ptr noundef %7558) #12
  %7560 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7561 = trunc nuw i8 %7560 to i1
  br i1 %7561, label %7562, label %7566

7562:                                             ; preds = %7556
  %7563 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7564 = call i32 @fileno(ptr noundef %7563) #12
  %7565 = call i32 @isatty(i32 noundef %7564) #12
  %.not690 = icmp eq i32 %7565, 0
  br i1 %.not690, label %7566, label %7567

7566:                                             ; preds = %7562, %7556
  br label %7567

7567:                                             ; preds = %7562, %7566
  %.str.5.sink3497 = phi ptr [ @.str.5, %7566 ], [ @.str.2, %7562 ]
  store i32 %7557, ptr %4708, align 4, !tbaa !5
  %7568 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7569 = load i32, ptr @test_count, align 4, !tbaa !5
  %7570 = load i32, ptr %4654, align 4, !tbaa !5
  %7571 = call ptr @s2n_strerror(i32 noundef %7570, ptr noundef nonnull @.str.4) #12
  %7572 = load i32, ptr %4654, align 4, !tbaa !5
  %7573 = call ptr @s2n_strerror_debug(i32 noundef %7572, ptr noundef nonnull @.str.4) #12
  %7574 = load i32, ptr %4708, align 4, !tbaa !5
  %7575 = call ptr @strerror(i32 noundef %7574) #12
  %7576 = load i32, ptr %4708, align 4, !tbaa !5
  %7577 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7568, ptr noundef nonnull %.str.5.sink3497, i32 noundef %7569, ptr noundef nonnull @.str.32, ptr noundef nonnull @.str.1, i32 noundef 615, ptr noundef %7571, ptr noundef %7573, ptr noundef %7575, i32 noundef %7576) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7578:                                             ; preds = %7549
  %7579 = call i32 @s2n_io_pair_close(ptr noundef nonnull %65) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %65) #12
  %7580 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %64) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %64) #12
  %7581 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %63) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %63) #12
  call void @llvm.lifetime.end.p0(i64 20, ptr nonnull %62) #12
  %7582 = add nuw i64 %.0607910, 1
  %exitcond918.not = icmp eq i64 %7582, %.3.lcssa.lcssa
  br i1 %exitcond918.not, label %._crit_edge912, label %7043, !llvm.loop !81

7583:                                             ; preds = %._crit_edge912
  %7584 = load i32, ptr %4708, align 4, !tbaa !5
  %7585 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7586 = call i32 @s2n_print_stacktrace(ptr noundef %7585) #12
  %7587 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7588 = trunc nuw i8 %7587 to i1
  br i1 %7588, label %7589, label %7593

7589:                                             ; preds = %7583
  %7590 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7591 = call i32 @fileno(ptr noundef %7590) #12
  %7592 = call i32 @isatty(i32 noundef %7591) #12
  %.not681 = icmp eq i32 %7592, 0
  br i1 %.not681, label %7593, label %7594

7593:                                             ; preds = %7589, %7583
  br label %7594

7594:                                             ; preds = %7589, %7593
  %.str.5.sink3506 = phi ptr [ @.str.5, %7593 ], [ @.str.2, %7589 ]
  store i32 %7584, ptr %4708, align 4, !tbaa !5
  %7595 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7596 = load i32, ptr @test_count, align 4, !tbaa !5
  %7597 = load i32, ptr %4654, align 4, !tbaa !5
  %7598 = call ptr @s2n_strerror(i32 noundef %7597, ptr noundef nonnull @.str.4) #12
  %7599 = load i32, ptr %4654, align 4, !tbaa !5
  %7600 = call ptr @s2n_strerror_debug(i32 noundef %7599, ptr noundef nonnull @.str.4) #12
  %7601 = load i32, ptr %4708, align 4, !tbaa !5
  %7602 = call ptr @strerror(i32 noundef %7601) #12
  %7603 = load i32, ptr %4708, align 4, !tbaa !5
  %7604 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7595, ptr noundef nonnull %.str.5.sink3506, i32 noundef %7596, ptr noundef nonnull @.str.132, ptr noundef nonnull @.str.1, i32 noundef 619, ptr noundef %7598, ptr noundef %7600, ptr noundef %7602, i32 noundef %7603) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7605:                                             ; preds = %._crit_edge912
  %7606 = call i32 @s2n_in_unit_test_set(i1 noundef zeroext false) #12
  %7607 = icmp eq i32 %7606, -1
  br i1 %7607, label %7608, label %7630

7608:                                             ; preds = %7605
  %7609 = load i32, ptr %4708, align 4, !tbaa !5
  %7610 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7611 = call i32 @s2n_print_stacktrace(ptr noundef %7610) #12
  %7612 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7613 = trunc nuw i8 %7612 to i1
  br i1 %7613, label %7614, label %7618

7614:                                             ; preds = %7608
  %7615 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7616 = call i32 @fileno(ptr noundef %7615) #12
  %7617 = call i32 @isatty(i32 noundef %7616) #12
  %.not680 = icmp eq i32 %7617, 0
  br i1 %.not680, label %7618, label %7619

7618:                                             ; preds = %7614, %7608
  br label %7619

7619:                                             ; preds = %7614, %7618
  %.str.5.sink3515 = phi ptr [ @.str.5, %7618 ], [ @.str.2, %7614 ]
  store i32 %7609, ptr %4708, align 4, !tbaa !5
  %7620 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7621 = load i32, ptr @test_count, align 4, !tbaa !5
  %7622 = load i32, ptr %4654, align 4, !tbaa !5
  %7623 = call ptr @s2n_strerror(i32 noundef %7622, ptr noundef nonnull @.str.4) #12
  %7624 = load i32, ptr %4654, align 4, !tbaa !5
  %7625 = call ptr @s2n_strerror_debug(i32 noundef %7624, ptr noundef nonnull @.str.4) #12
  %7626 = load i32, ptr %4708, align 4, !tbaa !5
  %7627 = call ptr @strerror(i32 noundef %7626) #12
  %7628 = load i32, ptr %4708, align 4, !tbaa !5
  %7629 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7620, ptr noundef nonnull %.str.5.sink3515, i32 noundef %7621, ptr noundef nonnull @.str.133, ptr noundef nonnull @.str.1, i32 noundef 619, ptr noundef %7623, ptr noundef %7625, ptr noundef %7627, i32 noundef %7628) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7630:                                             ; preds = %7605
  %7631 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7632 = trunc nuw i8 %7631 to i1
  br i1 %7632, label %7633, label %7644

7633:                                             ; preds = %7630
  %7634 = load ptr, ptr @stdout, align 8, !tbaa !9
  %7635 = call i32 @fileno(ptr noundef %7634) #12
  %7636 = call i32 @isatty(i32 noundef %7635) #12
  %.not677 = icmp eq i32 %7636, 0
  br i1 %.not677, label %7644, label %7637

7637:                                             ; preds = %7633
  %7638 = load i32, ptr @test_count, align 4, !tbaa !5
  %.not679 = icmp eq i32 %7638, 0
  %7639 = load ptr, ptr @stdout, align 8, !tbaa !9
  br i1 %.not679, label %7642, label %7640

7640:                                             ; preds = %7637
  %7641 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7639, ptr noundef nonnull @.str.134, i32 noundef %7638) #12
  br label %7651

7642:                                             ; preds = %7637
  %7643 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7639, ptr noundef nonnull @.str.135) #12
  br label %7651

7644:                                             ; preds = %7633, %7630
  %7645 = load i32, ptr @test_count, align 4, !tbaa !5
  %.not678 = icmp eq i32 %7645, 0
  %7646 = load ptr, ptr @stdout, align 8, !tbaa !9
  br i1 %.not678, label %7649, label %7647

7647:                                             ; preds = %7644
  %7648 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7646, ptr noundef nonnull @.str.136, i32 noundef %7645) #12
  br label %7651

7649:                                             ; preds = %7644
  %7650 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7646, ptr noundef nonnull @.str.137) #12
  br label %7651

7651:                                             ; preds = %7647, %7649, %7640, %7642
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %9) #12
  call void @llvm.lifetime.end.p0(i64 16384, ptr nonnull %8) #12
  call void @llvm.lifetime.end.p0(i64 20, ptr nonnull %7) #12
  %7652 = call i32 @s2n_config_ptr_free(ptr noundef nonnull %6) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %6) #12
  call void @llvm.lifetime.end.p0(i64 12000, ptr nonnull %5) #12
  %7653 = call i32 @s2n_cert_chain_and_key_ptr_free(ptr noundef nonnull %4) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %4) #12
  %7654 = call i32 @s2n_cert_chain_and_key_ptr_free(ptr noundef nonnull %3) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %3) #12
  ret i32 0
}

; Function Attrs: nofree nounwind
declare noundef i32 @fprintf(ptr nocapture noundef, ptr nocapture noundef readonly, ...) local_unnamed_addr #1

; Function Attrs: nofree nounwind
declare noundef i32 @fflush(ptr nocapture noundef) local_unnamed_addr #1

declare i32 @s2n_in_unit_test_set(i1 noundef zeroext) local_unnamed_addr #2

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

; Function Attrs: mustprogress nofree nosync nounwind willreturn memory(none)
declare ptr @__errno_location() local_unnamed_addr #4

declare i32 @s2n_print_stacktrace(ptr noundef) local_unnamed_addr #2

; Function Attrs: nounwind
declare i32 @isatty(i32 noundef) local_unnamed_addr #5

; Function Attrs: nofree nounwind
declare noundef i32 @fileno(ptr nocapture noundef) local_unnamed_addr #1

declare ptr @s2n_strerror(i32 noundef, ptr noundef) local_unnamed_addr #2

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

declare ptr @s2n_strerror_debug(i32 noundef, ptr noundef) local_unnamed_addr #2

; Function Attrs: nounwind
declare ptr @strerror(i32 noundef) local_unnamed_addr #5

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

; Function Attrs: noreturn nounwind
declare void @exit(i32 noundef) local_unnamed_addr #7

declare i32 @s2n_enable_atexit() local_unnamed_addr #2

declare i32 @s2n_init() local_unnamed_addr #2

declare i32 @s2n_cert_chain_and_key_ptr_free(ptr noundef) local_unnamed_addr #2

declare i32 @s2n_test_cert_chain_and_key_new(ptr noundef, ptr noundef, ptr noundef) local_unnamed_addr #2

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

declare i32 @s2n_read_test_pem(ptr noundef, ptr noundef, i64 noundef) local_unnamed_addr #2

declare ptr @s2n_config_new() local_unnamed_addr #2

declare i32 @s2n_config_ptr_free(ptr noundef) local_unnamed_addr #2

declare i32 @s2n_config_set_unsafe_for_testing(ptr noundef) local_unnamed_addr #2

declare i32 @s2n_config_add_cert_chain_and_key_to_store(ptr noundef, ptr noundef) local_unnamed_addr #2

declare i32 @s2n_config_set_cipher_preferences(ptr noundef, 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) #9

declare ptr @s2n_connection_new(i32 noundef) local_unnamed_addr #2

declare i32 @s2n_connection_ptr_free(ptr noundef) local_unnamed_addr #2

declare i32 @s2n_connection_set_config(ptr noundef, ptr noundef) local_unnamed_addr #2

declare i32 @s2n_io_pair_close(ptr noundef) local_unnamed_addr #2

declare i32 @s2n_io_pair_init_non_blocking(ptr noundef) local_unnamed_addr #2

declare i32 @s2n_connection_set_io_pair(ptr noundef, ptr noundef) local_unnamed_addr #2

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

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

declare i32 @s2n_negotiate_test_server_and_client(ptr noundef, ptr noundef) local_unnamed_addr #2

declare i32 @s2n_renegotiate_wipe(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_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_connection_set_io_stuffers(ptr noundef, ptr noundef, ptr noundef) local_unnamed_addr #2

declare i32 @s2n_connection_prefer_low_latency(ptr noundef) local_unnamed_addr #2

declare i32 @s2n_stuffer_wipe(ptr noundef) local_unnamed_addr #2

declare i32 @s2n_connection_set_client_auth_type(ptr noundef, i32 noundef) local_unnamed_addr #2

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

declare i32 @s2n_config_accept_max_fragment_length(ptr noundef) local_unnamed_addr #2

declare i32 @s2n_config_send_max_fragment_length(ptr noundef, i32 noundef) local_unnamed_addr #2

declare i32 @s2n_connections_set_io_pair(ptr noundef, ptr noundef, ptr noundef) local_unnamed_addr #2

declare i64 @s2n_client_hello_get_extension_length(ptr noundef, i32 noundef) local_unnamed_addr #2

declare void @s2n_debug_info_reset() local_unnamed_addr #2

declare i32 @s2n_stuffer_alloc(ptr noundef, i32 noundef) local_unnamed_addr #2

declare i32 @s2n_connection_set_send_io_stuffer(ptr noundef, ptr noundef) local_unnamed_addr #2

declare i32 @s2n_peek(ptr noundef) local_unnamed_addr #2

declare i32 @s2n_connection_set_recv_buffering(ptr noundef, i1 noundef zeroext) local_unnamed_addr #2

declare i32 @s2n_io_stuffer_pair_free(ptr noundef) local_unnamed_addr #2

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

declare i32 @s2n_io_stuffer_pair_init(ptr noundef) local_unnamed_addr #2

declare i32 @s2n_connections_set_io_stuffer_pair(ptr noundef, ptr noundef, ptr noundef) local_unnamed_addr #2

declare i32 @s2n_config_add_dhparams(ptr noundef, ptr noundef) local_unnamed_addr #2

declare zeroext i1 @s2n_hash_is_available(i32 noundef) local_unnamed_addr #2

declare i32 @s2n_cleanup() local_unnamed_addr #2

; Function Attrs: nofree nounwind willreturn memory(argmem: read)
declare i32 @bcmp(ptr nocapture, ptr nocapture, i64) local_unnamed_addr #11

attributes #0 = { nounwind uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #1 = { nofree nounwind "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #2 = { "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #3 = { mustprogress nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) }
attributes #4 = { mustprogress nofree nosync nounwind willreturn memory(none) "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #5 = { nounwind "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #6 = { mustprogress nocallback nofree nosync nounwind speculatable willreturn memory(none) }
attributes #7 = { noreturn nounwind "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #8 = { mustprogress nocallback nofree nounwind willreturn memory(argmem: write) }
attributes #9 = { mustprogress nocallback nofree nounwind willreturn memory(argmem: readwrite) }
attributes #10 = { inlinehint nounwind uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #11 = { nofree nounwind willreturn memory(argmem: read) }
attributes #12 = { nounwind }
attributes #13 = { nounwind willreturn memory(none) }
attributes #14 = { cold nounwind }
attributes #15 = { noreturn nounwind }

!llvm.module.flags = !{!0, !1, !2, !3}
!llvm.ident = !{!4}

!0 = !{i32 1, !"wchar_size", i32 4}
!1 = !{i32 8, !"PIC Level", i32 2}
!2 = !{i32 7, !"PIE Level", i32 2}
!3 = !{i32 7, !"uwtable", i32 2}
!4 = !{!"clang version 19.1.0 (git@github.com:llvm/llvm-project.git a4bf6cd7cfb1a1421ba92bca9d017b49936c55e4)"}
!5 = !{!6, !6, i64 0}
!6 = !{!"int", !7, i64 0}
!7 = !{!"omnipotent char", !8, i64 0}
!8 = !{!"Simple C/C++ TBAA"}
!9 = !{!10, !10, i64 0}
!10 = !{!"any pointer", !7, i64 0}
!11 = !{!12, !12, i64 0}
!12 = !{!"_Bool", !7, i64 0}
!13 = !{i8 0, i8 2}
!14 = !{}
!15 = !{!16, !10, i64 48}
!16 = !{!"s2n_connection", !6, i64 0, !6, i64 0, !6, i64 0, !6, i64 0, !6, i64 0, !6, i64 0, !6, i64 0, !6, i64 0, !6, i64 1, !6, i64 1, !6, i64 1, !6, i64 1, !6, i64 1, !6, i64 1, !6, i64 1, !6, i64 1, !6, i64 2, !6, i64 2, !6, i64 2, !6, i64 2, !6, i64 2, !6, i64 2, !6, i64 2, !10, i64 8, !10, i64 16, !10, i64 24, !10, i64 32, !10, i64 40, !10, i64 48, !10, i64 56, !10, i64 64, !10, i64 72, !7, i64 80, !7, i64 102, !7, i64 124, !6, i64 148, !6, i64 152, !17, i64 160, !18, i64 168, !18, i64 176, !7, i64 184, !7, i64 216, !7, i64 217, !7, i64 218, !7, i64 219, !7, i64 220, !7, i64 221, !7, i64 222, !10, i64 224, !10, i64 232, !19, i64 240, !10, i64 632, !10, i64 640, !20, i64 648, !26, i64 1144, !29, i64 1688, !10, i64 1752, !7, i64 1760, !6, i64 1764, !7, i64 1768, !32, i64 1776, !32, i64 1816, !32, i64 1856, !32, i64 1896, !6, i64 1936, !18, i64 1944, !7, i64 1952, !32, i64 1960, !7, i64 2000, !7, i64 2001, !7, i64 2002, !12, i64 2003, !33, i64 2004, !33, i64 2008, !34, i64 2016, !31, i64 2208, !6, i64 2212, !31, i64 2216, !18, i64 2224, !7, i64 2232, !18, i64 2240, !18, i64 2248, !18, i64 2256, !33, i64 2264, !33, i64 2268, !7, i64 2272, !7, i64 2528, !6, i64 2784, !25, i64 2792, !6, i64 2816, !25, i64 2824, !25, i64 2848, !25, i64 2872, !36, i64 2896, !38, i64 3704, !10, i64 3760, !10, i64 3768, !7, i64 3776, !6, i64 3780, !25, i64 3784, !6, i64 3808, !40, i64 3816, !7, i64 3848, !32, i64 3992, !25, i64 4032, !25, i64 4056, !12, i64 4080, !12, i64 4081, !12, i64 4082, !31, i64 4084, !31, i64 4086, !6, i64 4088, !6, i64 4092, !25, i64 4096, !6, i64 4120, !41, i64 4128, !33, i64 4176, !7, i64 4180, !7, i64 4181}
!17 = !{!"s2n_timer", !18, i64 0}
!18 = !{!"long", !7, i64 0}
!19 = !{!"s2n_secrets", !7, i64 0, !6, i64 388}
!20 = !{!"s2n_kex_parameters", !21, i64 0, !22, i64 8, !7, i64 24, !22, i64 56, !23, i64 72, !23, i64 184, !7, i64 296, !24, i64 360, !25, i64 448, !25, i64 472}
!21 = !{!"s2n_dh_params", !10, i64 0}
!22 = !{!"s2n_ecc_evp_params", !10, i64 0, !10, i64 8}
!23 = !{!"s2n_kem_group_params", !10, i64 0, !24, i64 8, !22, i64 96}
!24 = !{!"s2n_kem_params", !10, i64 0, !25, i64 8, !25, i64 32, !25, i64 56, !12, i64 80}
!25 = !{!"s2n_blob", !10, i64 0, !6, i64 8, !6, i64 12, !6, i64 16}
!26 = !{!"s2n_handshake_parameters", !27, i64 0, !27, i64 48, !25, i64 96, !6, i64 120, !28, i64 124, !10, i64 384, !10, i64 392, !10, i64 400, !7, i64 408, !7, i64 440, !7, i64 472, !7, i64 473, !7, i64 474, !7, i64 506}
!27 = !{!"s2n_pkey", !10, i64 0, !10, i64 8, !10, i64 16, !10, i64 24, !10, i64 32, !10, i64 40}
!28 = !{!"s2n_sig_scheme_list", !7, i64 0, !7, i64 256}
!29 = !{!"s2n_psk_parameters", !6, i64 0, !30, i64 8, !31, i64 40, !31, i64 42, !10, i64 48, !6, i64 56}
!30 = !{!"s2n_array", !25, i64 0, !6, i64 24, !6, i64 28}
!31 = !{!"short", !7, i64 0}
!32 = !{!"s2n_stuffer", !25, i64 0, !6, i64 24, !6, i64 28, !6, i64 32, !6, i64 36, !6, i64 36, !6, i64 36}
!33 = !{!"", !6, i64 0}
!34 = !{!"s2n_handshake", !32, i64 0, !10, i64 40, !7, i64 48, !7, i64 56, !7, i64 104, !7, i64 152, !6, i64 156, !6, i64 160, !6, i64 164, !6, i64 168, !35, i64 176, !6, i64 184, !6, i64 184, !6, i64 184, !6, i64 184, !6, i64 188}
!35 = !{!"s2n_offered_early_data", !10, i64 0}
!36 = !{!"s2n_client_hello", !25, i64 0, !37, i64 24, !25, i64 728, !25, i64 752, !25, i64 776, !7, i64 800, !7, i64 801, !6, i64 802, !6, i64 802, !6, i64 802, !6, i64 802, !6, i64 802, !6, i64 802, !6, i64 802}
!37 = !{!"", !7, i64 0, !25, i64 672, !31, i64 696}
!38 = !{!"s2n_x509_validator", !10, i64 0, !10, i64 8, !7, i64 16, !7, i64 17, !31, i64 18, !10, i64 24, !6, i64 32, !10, i64 40, !39, i64 48, !12, i64 52}
!39 = !{!"s2n_cert_validation_info", !6, i64 0, !6, i64 0}
!40 = !{!"s2n_ticket_fields", !25, i64 0, !6, i64 24}
!41 = !{!"s2n_post_handshake", !32, i64 0, !7, i64 40}
!42 = !{!16, !10, i64 56}
!43 = !{!32, !6, i64 28}
!44 = !{!32, !6, i64 24}
!45 = !{!16, !31, i64 2208}
!46 = !{!16, !7, i64 2168}
!47 = !{!16, !7, i64 220}
!48 = !{!16, !6, i64 1844}
!49 = !{!16, !6, i64 1840}
!50 = !{i64 0, i64 1, !51, 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, !51}
!51 = !{!7, !7, i64 0}
!52 = !{!53, !10, i64 8}
!53 = !{!"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}
!54 = !{!55, !10, i64 96}
!55 = !{!"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, !56, i64 24, !25, i64 56, !10, i64 80, !10, i64 88, !10, i64 96, !10, i64 104, !10, i64 112, !10, i64 120, !6, i64 128, !6, i64 132, !10, i64 136, !18, i64 144, !10, i64 152, !18, i64 160, !18, i64 168, !10, i64 176, !10, i64 184, !10, i64 192, !10, i64 200, !10, i64 208, !10, i64 216, !6, i64 224, !7, i64 228, !6, i64 232, !6, i64 236, !10, i64 240, !10, i64 248, !10, i64 256, !10, i64 264, !10, i64 272, !10, i64 280, !10, i64 288, !7, i64 296, !7, i64 297, !57, i64 304, !31, i64 320, !10, i64 328, !10, i64 336, !10, i64 344, !10, i64 352, !10, i64 360, !10, i64 368, !10, i64 376, !10, i64 384, !6, i64 392, !6, i64 396, !6, i64 400, !10, i64 408, !6, i64 416, !6, i64 420, !10, i64 424, !10, i64 432, !6, i64 440, !25, i64 448}
!56 = !{!"certs_by_type", !7, i64 0}
!57 = !{!"s2n_x509_trust_store", !10, i64 0, !6, i64 8}
!58 = !{!59, !10, i64 8}
!59 = !{!"s2n_reneg_test_case", !7, i64 0, !10, i64 8, !7, i64 16}
!60 = !{i64 0, i64 1, !51, i64 8, i64 8, !9, i64 16, i64 1, !51}
!61 = !{!62, !31, i64 0}
!62 = !{!"s2n_cipher_preferences", !31, i64 0, !10, i64 8, !12, i64 16}
!63 = distinct !{!63, !64}
!64 = !{!"llvm.loop.mustprogress"}
!65 = !{!62, !10, i64 8}
!66 = !{!67, !7, i64 100}
!67 = !{!"s2n_cipher_suite", !6, i64 0, !10, i64 8, !10, i64 16, !7, i64 24, !10, i64 32, !6, i64 40, !10, i64 48, !7, i64 56, !7, i64 72, !10, i64 80, !10, i64 88, !6, i64 96, !7, i64 100}
!68 = !{!67, !10, i64 32}
!69 = distinct !{!69, !64}
!70 = !{!59, !7, i64 0}
!71 = !{!16, !7, i64 219}
!72 = !{!59, !7, i64 16}
!73 = !{!31, !31, i64 0}
!74 = !{!16, !10, i64 232}
!75 = !{!76, !10, i64 0}
!76 = !{!"s2n_crypto_parameters", !10, i64 0, !77, i64 8, !77, i64 16, !78, i64 24, !78, i64 456, !7, i64 888, !7, i64 904, !7, i64 920, !7, i64 928}
!77 = !{!"s2n_session_key", !10, i64 0}
!78 = !{!"s2n_hmac_state", !6, i64 0, !31, i64 4, !6, i64 8, !31, i64 12, !7, i64 14, !79, i64 16, !79, i64 72, !79, i64 128, !79, i64 184, !7, i64 240, !7, i64 368}
!79 = !{!"s2n_hash_state", !10, i64 0, !6, i64 8, !7, i64 12, !18, i64 16, !7, i64 24}
!80 = !{!67, !10, i64 88}
!81 = distinct !{!81, !64}


; Effective O3 passes: CorrelatedValuePropagationPass,DSEPass,EarlyCSEPass,GVNPass,GlobalOptPass,IPSCCPPass,IndVarSimplifyPass,InferAlignmentPass,InferFunctionAttrsPass,InstCombinePass,InstSimplifyPass,JumpThreadingPass,LCSSAPass,LICMPass,LoopInstSimplifyPass,LoopRotatePass,LoopSimplifyPass,LoopUnrollPass,PostOrderFunctionAttrsPass,SCCPPass,SROAPass,SimplifyCFGPass,TailCallElimPass