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

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

%struct.s2n_cipher_suite = type { i8, ptr, ptr, [2 x i8], ptr, i32, ptr, [2 x ptr], i8, ptr, ptr, i32, i8 }
%struct.s2n_signature_scheme = type { i16, ptr, i32, i32, i8, i8, i16, ptr }
%struct.s2n_result = type { i32 }
%struct.s2n_connection = type { i32, ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr, [22 x i8], [22 x i8], [22 x i8], i32, i32, %struct.s2n_timer, i64, i64, [32 x i8], i8, i8, i8, i8, i8, i8, i8, ptr, ptr, %struct.s2n_secrets, ptr, ptr, %struct.s2n_kex_parameters, %struct.s2n_handshake_parameters, %struct.s2n_psk_parameters, ptr, i8, i32, [5 x i8], %struct.s2n_stuffer, %struct.s2n_stuffer, %struct.s2n_stuffer, %struct.s2n_stuffer, i32, i64, [2 x i8], %struct.s2n_stuffer, i8, i8, i8, i8, %struct.s2n_atomic_flag, %struct.s2n_atomic_flag, %struct.s2n_handshake, i16, i32, i16, i64, i8, i64, i64, i64, %struct.s2n_atomic_flag, %struct.s2n_atomic_flag, [256 x i8], [256 x i8], i32, %struct.s2n_blob, i32, %struct.s2n_blob, %struct.s2n_blob, %struct.s2n_blob, %struct.s2n_client_hello, %struct.s2n_x509_validator, ptr, ptr, i8, i32, %struct.s2n_blob, i32, %struct.s2n_ticket_fields, [138 x i8], %struct.s2n_stuffer, %struct.s2n_blob, %struct.s2n_blob, i8, i8, i8, i16, i16, i32, i32, %struct.s2n_blob, i32, %struct.s2n_post_handshake, %struct.s2n_atomic_flag, i8, i8 }
%struct.s2n_timer = type { i64 }
%struct.s2n_secrets = type { %union.anon, i32 }
%union.anon = type { %struct.s2n_tls13_secrets }
%struct.s2n_tls13_secrets = type { [48 x i8], [48 x i8], [48 x i8], [48 x i8], [48 x i8], [48 x i8], [48 x i8], [48 x i8], i32 }
%struct.s2n_kex_parameters = type { %struct.s2n_dh_params, %struct.s2n_ecc_evp_params, [4 x ptr], %struct.s2n_ecc_evp_params, %struct.s2n_kem_group_params, %struct.s2n_kem_group_params, [8 x ptr], %struct.s2n_kem_params, %struct.s2n_blob, %struct.s2n_blob }
%struct.s2n_dh_params = type { ptr }
%struct.s2n_ecc_evp_params = type { ptr, ptr }
%struct.s2n_kem_group_params = type { ptr, %struct.s2n_kem_params, %struct.s2n_ecc_evp_params }
%struct.s2n_kem_params = type { ptr, %struct.s2n_blob, %struct.s2n_blob, %struct.s2n_blob, i8 }
%struct.s2n_handshake_parameters = type { %struct.s2n_pkey, %struct.s2n_pkey, %struct.s2n_blob, i32, %struct.s2n_sig_scheme_list, ptr, ptr, ptr, [4 x ptr], [4 x ptr], i8, i8, [32 x i8], [32 x i8] }
%struct.s2n_pkey = type { ptr, ptr, ptr, ptr, ptr, ptr }
%struct.s2n_sig_scheme_list = type { [128 x i16], i8 }
%struct.s2n_psk_parameters = type { i32, %struct.s2n_array, i16, i16, ptr, i32 }
%struct.s2n_array = type { %struct.s2n_blob, i32, i32 }
%struct.s2n_handshake = type { %struct.s2n_stuffer, ptr, [8 x i8], [48 x i8], [48 x i8], i8, i32, i32, i32, i32, %struct.s2n_offered_early_data, i8, i32 }
%struct.s2n_offered_early_data = type { ptr }
%struct.s2n_client_hello = type { %struct.s2n_blob, %struct.s2n_parsed_extensions_list, %struct.s2n_blob, %struct.s2n_blob, %struct.s2n_blob, i8, i8, i8 }
%struct.s2n_parsed_extensions_list = type { [21 x %struct.s2n_parsed_extension], %struct.s2n_blob, i16 }
%struct.s2n_parsed_extension = type { %struct.s2n_blob, i16, i16, i8 }
%struct.s2n_x509_validator = type { ptr, ptr, i8, i8, i16, ptr, i32, ptr, %struct.s2n_cert_validation_info, i8 }
%struct.s2n_cert_validation_info = type { i8, [3 x i8] }
%struct.s2n_ticket_fields = type { %struct.s2n_blob, i32 }
%struct.s2n_stuffer = type { %struct.s2n_blob, i32, i32, i32, i8 }
%struct.s2n_blob = type { ptr, i32, i32, i8 }
%struct.s2n_post_handshake = type { %struct.s2n_stuffer, [4 x i8] }
%struct.s2n_atomic_flag = type { i32 }
%struct.s2n_crypto_parameters = type { ptr, %struct.s2n_session_key, %struct.s2n_session_key, %struct.s2n_hmac_state, %struct.s2n_hmac_state, [16 x i8], [16 x i8], [8 x i8], [8 x i8] }
%struct.s2n_session_key = type { ptr }
%struct.s2n_hmac_state = type { i32, i16, i32, i16, i8, %struct.s2n_hash_state, %struct.s2n_hash_state, %struct.s2n_hash_state, %struct.s2n_hash_state, [128 x i8], [64 x i8] }
%struct.s2n_hash_state = type { ptr, i32, i8, i64, %union.anon.0 }
%union.anon.0 = type { %struct.s2n_hash_evp_digest }
%struct.s2n_hash_evp_digest = type { %struct.s2n_evp_digest, %struct.s2n_evp_digest }
%struct.s2n_evp_digest = type { ptr, ptr }

@s2n_use_color_in_output = external dso_local global i8, align 1
@test_count = external dso_local global i32, align 4
@stdout = external global ptr, align 8
@.str = external hidden unnamed_addr constant [19 x i8], align 1
@.str.1 = external hidden unnamed_addr constant [82 x i8], align 1
@stderr = external global ptr, align 8
@.str.2 = external hidden unnamed_addr constant [101 x i8], align 1
@.str.3 = external hidden unnamed_addr constant [52 x i8], align 1
@s2n_errno = external thread_local global i32, align 4
@.str.4 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.5 = external hidden unnamed_addr constant [90 x i8], align 1
@.str.6 = external hidden unnamed_addr constant [48 x i8], align 1
@.str.7 = external hidden unnamed_addr constant [39 x i8], align 1
@.str.8 = external hidden unnamed_addr constant [56 x i8], align 1
@.str.9 = external hidden unnamed_addr constant [32 x i8], align 1
@.str.10 = external hidden unnamed_addr constant [31 x i8], align 1
@.str.11 = external hidden unnamed_addr constant [146 x i8], align 1
@.str.12 = external hidden unnamed_addr constant [34 x i8], align 1
@.str.13 = external hidden unnamed_addr constant [33 x i8], align 1
@.str.14 = external hidden unnamed_addr constant [152 x i8], align 1
@.str.15 = external hidden unnamed_addr constant [104 x i8], align 1
@.str.16 = external hidden unnamed_addr constant [108 x i8], align 1
@.str.17 = external hidden unnamed_addr constant [105 x i8], align 1
@.str.18 = external hidden unnamed_addr constant [107 x i8], align 1
@.str.19 = external hidden unnamed_addr constant [77 x i8], align 1
@s2n_dhe_rsa_with_3des_ede_cbc_sha = external global %struct.s2n_cipher_suite, align 8
@.str.20 = external hidden unnamed_addr constant [102 x i8], align 1
@.str.21 = external hidden unnamed_addr constant [35 x i8], align 1
@.str.22 = external hidden unnamed_addr constant [70 x i8], align 1
@s2n_ecdhe_ecdsa_with_aes_128_cbc_sha = external global %struct.s2n_cipher_suite, align 8
@.str.23 = external hidden unnamed_addr constant [105 x i8], align 1
@s2n_tls13_aes_128_gcm_sha256 = external global %struct.s2n_cipher_suite, align 8
@.str.24 = external hidden unnamed_addr constant [100 x i8], align 1
@.str.25 = external hidden unnamed_addr constant [77 x i8], align 1
@.str.26 = external hidden unnamed_addr constant [105 x i8], align 1
@.str.27 = external hidden unnamed_addr constant [81 x i8], align 1
@.str.28 = external hidden unnamed_addr constant [79 x i8], align 1
@.str.29 = external hidden unnamed_addr constant [108 x i8], align 1
@.str.30 = external hidden unnamed_addr constant [78 x i8], align 1
@.str.31 = external hidden unnamed_addr constant [54 x i8], align 1
@s2n_rsa_pkcs1_md5_sha1 = external constant %struct.s2n_signature_scheme, align 8
@.str.32 = external hidden unnamed_addr constant [89 x i8], align 1
@s2n_rsa_pss_pss_sha256 = external constant %struct.s2n_signature_scheme, align 8
@.str.33 = external hidden unnamed_addr constant [89 x i8], align 1
@s2n_rsa_pss_rsae_sha256 = external constant %struct.s2n_signature_scheme, align 8
@.str.34 = external hidden unnamed_addr constant [90 x i8], align 1
@s2n_ecdsa_sha384 = external constant %struct.s2n_signature_scheme, align 8
@.str.35 = external hidden unnamed_addr constant [83 x i8], align 1
@.str.36 = external hidden unnamed_addr constant [92 x i8], align 1
@.str.37 = external hidden unnamed_addr constant [93 x i8], align 1
@.str.38 = external hidden unnamed_addr constant [92 x i8], align 1
@.str.39 = external hidden unnamed_addr constant [86 x i8], align 1
@.str.40 = external hidden unnamed_addr constant [34 x i8], align 1
@.str.41 = external hidden unnamed_addr constant [33 x i8], align 1
@.str.42 = external hidden unnamed_addr constant [168 x i8], align 1
@.str.43 = external hidden unnamed_addr constant [141 x i8], align 1
@.str.44 = external hidden unnamed_addr constant [84 x i8], align 1
@.str.45 = external hidden unnamed_addr constant [91 x i8], align 1
@s2n_ecdsa_sha256 = external constant %struct.s2n_signature_scheme, align 8
@.str.46 = external hidden unnamed_addr constant [88 x i8], align 1
@.str.47 = external hidden unnamed_addr constant [100 x i8], align 1
@.str.48 = external hidden unnamed_addr constant [88 x i8], align 1
@.str.49 = external hidden unnamed_addr constant [91 x i8], align 1
@.str.50 = external hidden unnamed_addr constant [79 x i8], align 1
@.str.51 = external hidden unnamed_addr constant [90 x i8], align 1
@.str.52 = external hidden unnamed_addr constant [46 x i8], align 1
@.str.53 = external hidden unnamed_addr constant [84 x i8], align 1
@.str.54 = external hidden unnamed_addr constant [99 x i8], align 1
@.str.55 = external hidden unnamed_addr constant [100 x i8], align 1
@.str.56 = external hidden unnamed_addr constant [86 x i8], align 1
@.str.57 = external hidden unnamed_addr constant [93 x i8], align 1
@.str.58 = external hidden unnamed_addr constant [61 x i8], align 1
@s2n_rsa_with_aes_128_cbc_sha = external global %struct.s2n_cipher_suite, align 8
@.str.59 = external hidden unnamed_addr constant [85 x i8], align 1
@.str.60 = external hidden unnamed_addr constant [89 x i8], align 1
@.str.61 = external hidden unnamed_addr constant [84 x i8], align 1
@.str.62 = external hidden unnamed_addr constant [86 x i8], align 1
@.str.63 = external hidden unnamed_addr constant [82 x i8], align 1
@.str.64 = external hidden unnamed_addr constant [86 x i8], align 1
@.str.65 = external hidden unnamed_addr constant [87 x i8], align 1
@.str.66 = external hidden unnamed_addr constant [82 x i8], align 1
@.str.67 = external hidden unnamed_addr constant [48 x i8], align 1
@.str.68 = external hidden unnamed_addr constant [79 x i8], align 1
@.str.69 = external hidden unnamed_addr constant [52 x i8], align 1
@.str.70 = external hidden unnamed_addr constant [50 x i8], align 1
@.str.71 = external hidden unnamed_addr constant [44 x i8], align 1
@.str.72 = external hidden unnamed_addr constant [124 x i8], align 1
@.str.73 = external hidden unnamed_addr constant [124 x i8], align 1
@.str.74 = external hidden unnamed_addr constant [125 x i8], align 1
@.str.75 = external hidden unnamed_addr constant [118 x i8], align 1
@.str.76 = external hidden unnamed_addr constant [127 x i8], align 1
@.str.77 = external hidden unnamed_addr constant [127 x i8], align 1
@.str.78 = external hidden unnamed_addr constant [128 x i8], align 1
@.str.79 = external hidden unnamed_addr constant [121 x i8], align 1
@.str.80 = external hidden unnamed_addr constant [119 x i8], align 1
@.str.81 = external hidden unnamed_addr constant [119 x i8], align 1
@.str.82 = external hidden unnamed_addr constant [120 x i8], align 1
@.str.83 = external hidden unnamed_addr constant [113 x i8], align 1
@.str.84 = external hidden unnamed_addr constant [131 x i8], align 1
@.str.85 = external hidden unnamed_addr constant [132 x i8], align 1
@.str.86 = external hidden unnamed_addr constant [126 x i8], align 1
@.str.87 = external hidden unnamed_addr constant [127 x i8], align 1
@.str.88 = external hidden unnamed_addr constant [135 x i8], align 1
@.str.89 = external hidden unnamed_addr constant [132 x i8], align 1
@.str.90 = external hidden unnamed_addr constant [130 x i8], align 1
@.str.91 = external hidden unnamed_addr constant [127 x i8], align 1
@.str.92 = external hidden unnamed_addr constant [130 x i8], align 1
@.str.93 = external hidden unnamed_addr constant [122 x i8], align 1
@.str.94 = external hidden unnamed_addr constant [61 x i8], align 1
@.str.95 = external hidden unnamed_addr constant [65 x i8], align 1
@.str.96 = external hidden unnamed_addr constant [63 x i8], align 1
@.str.97 = external hidden unnamed_addr constant [62 x i8], align 1
@.str.98 = external hidden unnamed_addr constant [61 x i8], align 1
@.str.99 = external hidden unnamed_addr constant [72 x i8], align 1
@.str.100 = external hidden unnamed_addr constant [76 x i8], align 1
@.str.101 = external hidden unnamed_addr constant [74 x i8], align 1
@.str.102 = external hidden unnamed_addr constant [42 x i8], align 1
@.str.103 = external hidden unnamed_addr constant [52 x i8], align 1
@.str.104 = external hidden unnamed_addr constant [30 x i8], align 1
@.str.105 = external hidden unnamed_addr constant [36 x i8], align 1
@.str.106 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.107 = external hidden unnamed_addr constant [25 x i8], align 1

; Function Attrs: nounwind uwtable
define dso_local i32 @main(i32 noundef %0, ptr noundef %1) #0 {
  %3 = alloca i32, align 4
  %4 = alloca i32, align 4
  %5 = alloca ptr, align 8
  %6 = alloca i32, align 4
  %7 = alloca i32, align 4
  %8 = alloca i32, align 4
  %9 = alloca i32, align 4
  %10 = alloca ptr, align 8
  %11 = alloca i32, align 4
  %12 = alloca ptr, align 8
  %13 = alloca i32, align 4
  %14 = alloca ptr, align 8
  %15 = alloca ptr, align 8
  %16 = alloca i32, align 4
  %17 = alloca ptr, align 8
  %18 = alloca i32, align 4
  %19 = alloca ptr, align 8
  %20 = alloca i32, align 4
  %21 = alloca i32, align 4
  %22 = alloca ptr, align 8
  %23 = alloca ptr, align 8
  %24 = alloca ptr, align 8
  %25 = alloca i32, align 4
  %26 = alloca i32, align 4
  %27 = alloca i32, align 4
  %28 = alloca i32, align 4
  %29 = alloca i32, align 4
  %30 = alloca i32, align 4
  %31 = alloca i32, align 4
  %32 = alloca i32, align 4
  %33 = alloca 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 i32, align 4
  %40 = alloca i32, align 4
  %41 = alloca i32, align 4
  %42 = alloca i32, align 4
  %43 = alloca i32, align 4
  %44 = alloca i32, align 4
  %45 = alloca i32, align 4
  %46 = alloca i32, align 4
  %47 = alloca i32, align 4
  %48 = alloca i32, align 4
  %49 = alloca i32, align 4
  %50 = alloca i32, align 4
  %51 = alloca i32, align 4
  %52 = alloca i32, align 4
  %53 = alloca 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 ptr, align 8
  %60 = alloca i32, align 4
  %61 = alloca i32, align 4
  %62 = alloca i32, align 4
  %63 = alloca i32, align 4
  %64 = alloca i32, align 4
  %65 = alloca i32, align 4
  %66 = alloca i32, align 4
  %67 = alloca i32, align 4
  %68 = alloca i32, align 4
  %69 = alloca i32, align 4
  %70 = alloca i32, align 4
  %71 = alloca i32, align 4
  %72 = alloca i32, align 4
  %73 = alloca i32, align 4
  %74 = alloca i32, align 4
  %75 = alloca i32, align 4
  %76 = alloca i32, align 4
  %77 = alloca i32, align 4
  %78 = alloca i32, align 4
  %79 = alloca i32, align 4
  %80 = alloca i32, align 4
  %81 = alloca i32, align 4
  %82 = alloca i32, align 4
  %83 = alloca i32, align 4
  %84 = alloca i32, align 4
  %85 = alloca i32, align 4
  %86 = alloca i32, align 4
  %87 = alloca i32, align 4
  %88 = alloca i32, align 4
  %89 = alloca i32, align 4
  %90 = alloca i32, align 4
  %91 = alloca i32, align 4
  %92 = alloca i32, align 4
  %93 = alloca i32, align 4
  %94 = alloca i32, align 4
  %95 = alloca i32, align 4
  %96 = alloca i32, align 4
  %97 = alloca i32, align 4
  %98 = alloca i32, align 4
  %99 = alloca i32, align 4
  %100 = alloca i32, align 4
  %101 = alloca i32, align 4
  %102 = alloca i32, align 4
  %103 = alloca i32, align 4
  %104 = alloca i32, align 4
  %105 = alloca i32, align 4
  %106 = alloca i32, align 4
  %107 = alloca i32, align 4
  %108 = alloca i32, align 4
  %109 = alloca i32, align 4
  %110 = alloca i32, align 4
  %111 = alloca i32, align 4
  %112 = alloca i32, align 4
  %113 = alloca i32, align 4
  %114 = alloca i32, align 4
  %115 = alloca ptr, align 8
  %116 = alloca ptr, align 8
  %117 = alloca i32, align 4
  %118 = alloca ptr, align 8
  %119 = alloca i32, align 4
  %120 = alloca i32, align 4
  %121 = alloca i32, align 4
  %122 = alloca i32, align 4
  %123 = alloca i32, align 4
  %124 = alloca i32, align 4
  %125 = alloca i32, align 4
  %126 = alloca i32, align 4
  %127 = alloca i32, align 4
  %128 = alloca i32, align 4
  %129 = alloca i32, align 4
  %130 = alloca i32, align 4
  %131 = alloca i32, align 4
  %132 = alloca %struct.s2n_result, align 4
  %133 = alloca i32, align 4
  %134 = alloca i32, align 4
  %135 = alloca i32, align 4
  %136 = alloca i32, align 4
  %137 = alloca i32, align 4
  %138 = alloca i32, align 4
  %139 = alloca i32, align 4
  %140 = alloca i32, align 4
  %141 = alloca 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 ptr, align 8
  %154 = alloca i32, align 4
  %155 = alloca i32, align 4
  %156 = alloca i32, align 4
  %157 = alloca i32, align 4
  %158 = alloca i32, align 4
  %159 = alloca i32, align 4
  %160 = alloca i32, align 4
  %161 = alloca i32, align 4
  %162 = alloca i32, align 4
  %163 = alloca i32, align 4
  %164 = alloca i32, align 4
  %165 = alloca i32, align 4
  %166 = alloca i32, align 4
  %167 = alloca i32, align 4
  %168 = alloca i32, align 4
  %169 = alloca i32, align 4
  %170 = alloca i32, align 4
  %171 = alloca i32, align 4
  %172 = alloca i32, align 4
  %173 = alloca i32, align 4
  %174 = alloca i32, align 4
  %175 = alloca i32, align 4
  %176 = alloca i32, align 4
  %177 = alloca i32, align 4
  %178 = alloca i32, align 4
  %179 = alloca i32, align 4
  %180 = alloca ptr, align 8
  %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 i32, align 4
  %196 = alloca i32, align 4
  %197 = alloca i32, align 4
  %198 = alloca i32, align 4
  %199 = alloca i32, align 4
  %200 = alloca i32, align 4
  %201 = alloca i32, align 4
  %202 = alloca i32, align 4
  %203 = alloca i32, align 4
  %204 = alloca i32, align 4
  %205 = alloca i32, align 4
  %206 = alloca ptr, align 8
  %207 = alloca ptr, align 8
  %208 = alloca i32, align 4
  %209 = alloca %struct.s2n_signature_scheme, 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 i32, align 4
  %217 = alloca i32, align 4
  %218 = alloca i32, align 4
  %219 = alloca i32, align 4
  %220 = alloca i32, align 4
  %221 = alloca i32, align 4
  %222 = alloca i32, align 4
  %223 = alloca i32, align 4
  %224 = alloca i32, align 4
  %225 = alloca i32, align 4
  %226 = alloca i32, align 4
  %227 = alloca i32, align 4
  %228 = alloca i32, align 4
  %229 = alloca i32, align 4
  %230 = alloca i32, align 4
  %231 = alloca i32, align 4
  %232 = alloca i32, align 4
  %233 = alloca i32, align 4
  %234 = alloca i32, align 4
  %235 = alloca i32, align 4
  %236 = alloca i32, align 4
  %237 = alloca i32, align 4
  %238 = alloca i32, align 4
  %239 = alloca ptr, align 8
  %240 = alloca i32, align 4
  %241 = alloca i32, align 4
  %242 = alloca i32, align 4
  %243 = alloca i32, align 4
  %244 = alloca i32, align 4
  %245 = alloca i32, align 4
  %246 = alloca i32, align 4
  %247 = alloca i32, align 4
  %248 = alloca i32, align 4
  %249 = alloca i32, align 4
  %250 = alloca i32, align 4
  %251 = alloca i32, align 4
  %252 = alloca i32, align 4
  %253 = alloca i32, align 4
  %254 = alloca i32, align 4
  %255 = alloca i32, align 4
  %256 = alloca i32, align 4
  %257 = alloca i32, align 4
  %258 = alloca i32, align 4
  %259 = alloca i32, align 4
  %260 = alloca i32, align 4
  %261 = alloca i32, align 4
  %262 = alloca i32, align 4
  %263 = alloca i32, align 4
  %264 = alloca i32, align 4
  %265 = alloca i32, align 4
  %266 = alloca i32, align 4
  %267 = alloca i32, align 4
  %268 = alloca i32, align 4
  %269 = alloca i32, align 4
  %270 = alloca i32, align 4
  %271 = alloca i32, align 4
  %272 = alloca i32, align 4
  %273 = alloca i32, align 4
  %274 = alloca i32, align 4
  %275 = alloca i32, align 4
  %276 = alloca i32, align 4
  %277 = alloca i32, align 4
  %278 = alloca i32, align 4
  %279 = alloca i32, align 4
  %280 = alloca i32, align 4
  %281 = alloca i32, align 4
  %282 = alloca i32, align 4
  %283 = alloca i32, align 4
  %284 = alloca i32, align 4
  %285 = alloca i32, align 4
  %286 = alloca i32, align 4
  %287 = alloca i32, align 4
  %288 = alloca i32, align 4
  %289 = alloca i32, align 4
  %290 = alloca i32, align 4
  %291 = alloca i32, align 4
  %292 = alloca i32, align 4
  %293 = alloca i32, align 4
  %294 = alloca i32, align 4
  %295 = alloca i32, align 4
  %296 = alloca i32, align 4
  %297 = alloca i32, align 4
  %298 = alloca i32, align 4
  %299 = alloca i32, align 4
  %300 = alloca i32, align 4
  %301 = alloca i32, align 4
  %302 = alloca i32, align 4
  %303 = alloca i32, align 4
  %304 = alloca i32, align 4
  %305 = alloca i32, align 4
  %306 = alloca i32, align 4
  %307 = alloca i32, align 4
  %308 = alloca i32, align 4
  %309 = alloca i32, align 4
  %310 = alloca i32, align 4
  %311 = alloca i32, align 4
  %312 = alloca i32, align 4
  %313 = alloca i32, align 4
  %314 = alloca i32, align 4
  %315 = alloca i32, align 4
  %316 = alloca i32, align 4
  %317 = alloca i32, align 4
  %318 = alloca i32, align 4
  %319 = alloca i32, align 4
  %320 = alloca i32, align 4
  %321 = alloca i32, align 4
  %322 = alloca i32, align 4
  %323 = alloca i32, align 4
  %324 = alloca i32, align 4
  %325 = alloca i32, align 4
  %326 = alloca i32, align 4
  %327 = alloca i32, align 4
  %328 = alloca i32, align 4
  %329 = alloca i32, align 4
  %330 = alloca i32, align 4
  %331 = alloca i32, align 4
  %332 = alloca i32, align 4
  %333 = alloca i32, align 4
  %334 = alloca i32, align 4
  %335 = alloca i32, align 4
  %336 = alloca i32, align 4
  %337 = alloca i32, align 4
  %338 = alloca i32, align 4
  %339 = alloca i32, align 4
  %340 = alloca i32, align 4
  %341 = alloca i32, align 4
  %342 = alloca i32, align 4
  %343 = alloca i32, align 4
  %344 = alloca i32, align 4
  %345 = alloca i32, align 4
  %346 = alloca i32, align 4
  %347 = alloca i32, align 4
  %348 = alloca i32, align 4
  %349 = alloca i32, align 4
  %350 = alloca i32, align 4
  %351 = alloca i32, align 4
  %352 = alloca i32, align 4
  %353 = alloca i32, align 4
  %354 = alloca i32, align 4
  %355 = alloca i32, align 4
  %356 = alloca i32, align 4
  %357 = alloca i32, align 4
  %358 = alloca i32, align 4
  %359 = alloca i32, align 4
  %360 = alloca i32, align 4
  %361 = alloca i32, align 4
  %362 = alloca i32, align 4
  %363 = alloca i32, align 4
  %364 = alloca i32, align 4
  %365 = alloca i32, align 4
  %366 = alloca i32, align 4
  %367 = alloca i32, align 4
  %368 = alloca i32, align 4
  %369 = alloca i32, align 4
  %370 = alloca i32, align 4
  %371 = alloca i32, align 4
  %372 = alloca i32, align 4
  %373 = alloca i32, align 4
  %374 = alloca i32, align 4
  %375 = alloca i32, align 4
  %376 = alloca i32, align 4
  %377 = alloca i32, align 4
  %378 = alloca i32, align 4
  %379 = alloca i32, align 4
  %380 = alloca i32, align 4
  %381 = alloca i32, align 4
  %382 = alloca i32, align 4
  %383 = alloca i32, align 4
  %384 = alloca i32, align 4
  %385 = alloca i32, align 4
  %386 = alloca i32, align 4
  %387 = alloca i32, align 4
  %388 = alloca i32, align 4
  %389 = alloca i32, align 4
  %390 = alloca i32, align 4
  %391 = alloca i32, align 4
  %392 = alloca i32, align 4
  %393 = alloca i32, align 4
  %394 = alloca i32, align 4
  %395 = alloca i32, align 4
  %396 = alloca i32, align 4
  %397 = alloca i32, align 4
  %398 = alloca i32, align 4
  %399 = alloca i32, align 4
  %400 = alloca i32, align 4
  %401 = alloca i32, align 4
  %402 = alloca i32, align 4
  %403 = alloca i32, align 4
  %404 = alloca i32, align 4
  %405 = alloca i32, align 4
  %406 = alloca i32, align 4
  %407 = alloca i32, align 4
  %408 = alloca i32, align 4
  %409 = alloca i32, align 4
  %410 = alloca i32, align 4
  %411 = alloca i32, align 4
  %412 = alloca i32, align 4
  %413 = alloca i32, align 4
  %414 = alloca i32, align 4
  %415 = alloca i32, align 4
  %416 = alloca i32, align 4
  %417 = alloca i32, align 4
  store i32 0, ptr %3, align 4
  store i32 %0, ptr %4, align 4, !tbaa !5
  store ptr %1, ptr %5, align 8, !tbaa !9
  br label %418

418:                                              ; preds = %2
  br label %419

419:                                              ; preds = %418
  store i32 0, ptr @test_count, align 4, !tbaa !5
  %420 = load ptr, ptr @stdout, align 8, !tbaa !9
  %421 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %420, ptr noundef @.str, ptr noundef @.str.1) #8
  %422 = load ptr, ptr @stdout, align 8, !tbaa !9
  %423 = call i32 @fflush(ptr noundef %422)
  br label %424

424:                                              ; preds = %419
  %425 = call i32 @s2n_in_unit_test_set(i1 noundef zeroext true)
  %426 = icmp eq i32 %425, -1
  br i1 %426, label %427, label %478

427:                                              ; preds = %424
  br label %428

428:                                              ; preds = %427
  br label %429

429:                                              ; preds = %428
  call void @llvm.lifetime.start.p0(i64 4, ptr %6) #8
  %430 = call ptr @__errno_location() #9
  %431 = load i32, ptr %430, align 4, !tbaa !5
  store i32 %431, ptr %6, align 4, !tbaa !5
  %432 = load ptr, ptr @stderr, align 8, !tbaa !9
  %433 = call i32 @s2n_print_stacktrace(ptr noundef %432)
  %434 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %435 = trunc i8 %434 to i1
  br i1 %435, label %436, label %458

436:                                              ; preds = %429
  %437 = load ptr, ptr @stderr, align 8, !tbaa !9
  %438 = call i32 @fileno(ptr noundef %437) #8
  %439 = call i32 @isatty(i32 noundef %438) #8
  %440 = icmp ne i32 %439, 0
  br i1 %440, label %441, label %458

441:                                              ; preds = %436
  %442 = load i32, ptr %6, align 4, !tbaa !5
  %443 = call ptr @__errno_location() #9
  store i32 %442, ptr %443, align 4, !tbaa !5
  %444 = load ptr, ptr @stderr, align 8, !tbaa !9
  %445 = load i32, ptr @test_count, align 4, !tbaa !5
  %446 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %447 = load i32, ptr %446, align 4, !tbaa !5
  %448 = call ptr @s2n_strerror(i32 noundef %447, ptr noundef @.str.4)
  %449 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %450 = load i32, ptr %449, align 4, !tbaa !5
  %451 = call ptr @s2n_strerror_debug(i32 noundef %450, ptr noundef @.str.4)
  %452 = call ptr @__errno_location() #9
  %453 = load i32, ptr %452, align 4, !tbaa !5
  %454 = call ptr @strerror(i32 noundef %453) #8
  %455 = call ptr @__errno_location() #9
  %456 = load i32, ptr %455, align 4, !tbaa !5
  %457 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %444, ptr noundef @.str.2, i32 noundef %445, ptr noundef @.str.3, ptr noundef @.str.1, i32 noundef 65, ptr noundef %448, ptr noundef %451, ptr noundef %454, i32 noundef %456) #8
  br label %475

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

475:                                              ; preds = %458, %441
  call void @llvm.lifetime.end.p0(i64 4, ptr %6) #8
  br label %476

476:                                              ; preds = %475
  call void @exit(i32 noundef 1) #10
  unreachable

477:                                              ; No predecessors!
  br label %478

478:                                              ; preds = %477, %424
  br label %479

479:                                              ; preds = %478
  br label %480

480:                                              ; preds = %479
  %481 = load i32, ptr @test_count, align 4, !tbaa !5
  %482 = add nsw i32 %481, 1
  store i32 %482, ptr @test_count, align 4, !tbaa !5
  %483 = call i32 @s2n_enable_atexit()
  %484 = icmp eq i32 %483, -1
  br i1 %484, label %485, label %536

485:                                              ; preds = %480
  br label %486

486:                                              ; preds = %485
  br label %487

487:                                              ; preds = %486
  call void @llvm.lifetime.start.p0(i64 4, ptr %7) #8
  %488 = call ptr @__errno_location() #9
  %489 = load i32, ptr %488, align 4, !tbaa !5
  store i32 %489, ptr %7, align 4, !tbaa !5
  %490 = load ptr, ptr @stderr, align 8, !tbaa !9
  %491 = call i32 @s2n_print_stacktrace(ptr noundef %490)
  %492 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %493 = trunc i8 %492 to i1
  br i1 %493, label %494, label %516

494:                                              ; preds = %487
  %495 = load ptr, ptr @stderr, align 8, !tbaa !9
  %496 = call i32 @fileno(ptr noundef %495) #8
  %497 = call i32 @isatty(i32 noundef %496) #8
  %498 = icmp ne i32 %497, 0
  br i1 %498, label %499, label %516

499:                                              ; preds = %494
  %500 = load i32, ptr %7, align 4, !tbaa !5
  %501 = call ptr @__errno_location() #9
  store i32 %500, ptr %501, align 4, !tbaa !5
  %502 = load ptr, ptr @stderr, align 8, !tbaa !9
  %503 = load i32, ptr @test_count, align 4, !tbaa !5
  %504 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %505 = load i32, ptr %504, align 4, !tbaa !5
  %506 = call ptr @s2n_strerror(i32 noundef %505, ptr noundef @.str.4)
  %507 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %508 = load i32, ptr %507, align 4, !tbaa !5
  %509 = call ptr @s2n_strerror_debug(i32 noundef %508, ptr noundef @.str.4)
  %510 = call ptr @__errno_location() #9
  %511 = load i32, ptr %510, align 4, !tbaa !5
  %512 = call ptr @strerror(i32 noundef %511) #8
  %513 = call ptr @__errno_location() #9
  %514 = load i32, ptr %513, align 4, !tbaa !5
  %515 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %502, ptr noundef @.str.2, i32 noundef %503, ptr noundef @.str.6, ptr noundef @.str.1, i32 noundef 65, ptr noundef %506, ptr noundef %509, ptr noundef %512, i32 noundef %514) #8
  br label %533

516:                                              ; preds = %494, %487
  %517 = load i32, ptr %7, align 4, !tbaa !5
  %518 = call ptr @__errno_location() #9
  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() #9
  %528 = load i32, ptr %527, align 4, !tbaa !5
  %529 = call ptr @strerror(i32 noundef %528) #8
  %530 = call ptr @__errno_location() #9
  %531 = load i32, ptr %530, align 4, !tbaa !5
  %532 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %519, ptr noundef @.str.5, i32 noundef %520, ptr noundef @.str.6, ptr noundef @.str.1, i32 noundef 65, ptr noundef %523, ptr noundef %526, ptr noundef %529, i32 noundef %531) #8
  br label %533

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

534:                                              ; preds = %533
  call void @exit(i32 noundef 1) #10
  unreachable

535:                                              ; No predecessors!
  br label %536

536:                                              ; preds = %535, %480
  br label %537

537:                                              ; preds = %536
  br label %538

538:                                              ; preds = %537
  br label %539

539:                                              ; preds = %538
  %540 = call i32 @s2n_init()
  %541 = icmp eq i32 %540, -1
  br i1 %541, label %542, label %593

542:                                              ; preds = %539
  br label %543

543:                                              ; preds = %542
  br label %544

544:                                              ; preds = %543
  call void @llvm.lifetime.start.p0(i64 4, ptr %8) #8
  %545 = call ptr @__errno_location() #9
  %546 = load i32, ptr %545, align 4, !tbaa !5
  store i32 %546, ptr %8, align 4, !tbaa !5
  %547 = load ptr, ptr @stderr, align 8, !tbaa !9
  %548 = call i32 @s2n_print_stacktrace(ptr noundef %547)
  %549 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %550 = trunc i8 %549 to i1
  br i1 %550, label %551, label %573

551:                                              ; preds = %544
  %552 = load ptr, ptr @stderr, align 8, !tbaa !9
  %553 = call i32 @fileno(ptr noundef %552) #8
  %554 = call i32 @isatty(i32 noundef %553) #8
  %555 = icmp ne i32 %554, 0
  br i1 %555, label %556, label %573

556:                                              ; preds = %551
  %557 = load i32, ptr %8, align 4, !tbaa !5
  %558 = call ptr @__errno_location() #9
  store i32 %557, ptr %558, align 4, !tbaa !5
  %559 = load ptr, ptr @stderr, align 8, !tbaa !9
  %560 = load i32, ptr @test_count, align 4, !tbaa !5
  %561 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %562 = load i32, ptr %561, align 4, !tbaa !5
  %563 = call ptr @s2n_strerror(i32 noundef %562, ptr noundef @.str.4)
  %564 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %565 = load i32, ptr %564, align 4, !tbaa !5
  %566 = call ptr @s2n_strerror_debug(i32 noundef %565, ptr noundef @.str.4)
  %567 = call ptr @__errno_location() #9
  %568 = load i32, ptr %567, align 4, !tbaa !5
  %569 = call ptr @strerror(i32 noundef %568) #8
  %570 = call ptr @__errno_location() #9
  %571 = load i32, ptr %570, align 4, !tbaa !5
  %572 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %559, ptr noundef @.str.2, i32 noundef %560, ptr noundef @.str.7, ptr noundef @.str.1, i32 noundef 65, ptr noundef %563, ptr noundef %566, ptr noundef %569, i32 noundef %571) #8
  br label %590

573:                                              ; preds = %551, %544
  %574 = load i32, ptr %8, align 4, !tbaa !5
  %575 = call ptr @__errno_location() #9
  store i32 %574, ptr %575, align 4, !tbaa !5
  %576 = load ptr, ptr @stderr, align 8, !tbaa !9
  %577 = load i32, ptr @test_count, align 4, !tbaa !5
  %578 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %579 = load i32, ptr %578, align 4, !tbaa !5
  %580 = call ptr @s2n_strerror(i32 noundef %579, ptr noundef @.str.4)
  %581 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %582 = load i32, ptr %581, align 4, !tbaa !5
  %583 = call ptr @s2n_strerror_debug(i32 noundef %582, ptr noundef @.str.4)
  %584 = call ptr @__errno_location() #9
  %585 = load i32, ptr %584, align 4, !tbaa !5
  %586 = call ptr @strerror(i32 noundef %585) #8
  %587 = call ptr @__errno_location() #9
  %588 = load i32, ptr %587, align 4, !tbaa !5
  %589 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %576, ptr noundef @.str.5, i32 noundef %577, ptr noundef @.str.7, ptr noundef @.str.1, i32 noundef 65, ptr noundef %580, ptr noundef %583, ptr noundef %586, i32 noundef %588) #8
  br label %590

590:                                              ; preds = %573, %556
  call void @llvm.lifetime.end.p0(i64 4, ptr %8) #8
  br label %591

591:                                              ; preds = %590
  call void @exit(i32 noundef 1) #10
  unreachable

592:                                              ; No predecessors!
  br label %593

593:                                              ; preds = %592, %539
  br label %594

594:                                              ; preds = %593
  br label %595

595:                                              ; preds = %594
  br label %596

596:                                              ; preds = %595
  %597 = load i32, ptr @test_count, align 4, !tbaa !5
  %598 = add nsw i32 %597, 1
  store i32 %598, ptr @test_count, align 4, !tbaa !5
  %599 = call i32 (...) @s2n_disable_tls13_in_test()
  %600 = icmp eq i32 %599, -1
  br i1 %600, label %601, label %652

601:                                              ; preds = %596
  br label %602

602:                                              ; preds = %601
  br label %603

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

610:                                              ; preds = %603
  %611 = load ptr, ptr @stderr, align 8, !tbaa !9
  %612 = call i32 @fileno(ptr noundef %611) #8
  %613 = call i32 @isatty(i32 noundef %612) #8
  %614 = icmp ne i32 %613, 0
  br i1 %614, label %615, label %632

615:                                              ; preds = %610
  %616 = load i32, ptr %9, align 4, !tbaa !5
  %617 = call ptr @__errno_location() #9
  store i32 %616, ptr %617, align 4, !tbaa !5
  %618 = load ptr, ptr @stderr, align 8, !tbaa !9
  %619 = load i32, ptr @test_count, align 4, !tbaa !5
  %620 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %621 = load i32, ptr %620, align 4, !tbaa !5
  %622 = call ptr @s2n_strerror(i32 noundef %621, ptr noundef @.str.4)
  %623 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %624 = load i32, ptr %623, align 4, !tbaa !5
  %625 = call ptr @s2n_strerror_debug(i32 noundef %624, ptr noundef @.str.4)
  %626 = call ptr @__errno_location() #9
  %627 = load i32, ptr %626, align 4, !tbaa !5
  %628 = call ptr @strerror(i32 noundef %627) #8
  %629 = call ptr @__errno_location() #9
  %630 = load i32, ptr %629, align 4, !tbaa !5
  %631 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %618, ptr noundef @.str.2, i32 noundef %619, ptr noundef @.str.8, ptr noundef @.str.1, i32 noundef 66, ptr noundef %622, ptr noundef %625, ptr noundef %628, i32 noundef %630) #8
  br label %649

632:                                              ; preds = %610, %603
  %633 = load i32, ptr %9, align 4, !tbaa !5
  %634 = call ptr @__errno_location() #9
  store i32 %633, ptr %634, 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 @.str.4)
  %640 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %641 = load i32, ptr %640, align 4, !tbaa !5
  %642 = call ptr @s2n_strerror_debug(i32 noundef %641, ptr noundef @.str.4)
  %643 = call ptr @__errno_location() #9
  %644 = load i32, ptr %643, align 4, !tbaa !5
  %645 = call ptr @strerror(i32 noundef %644) #8
  %646 = call ptr @__errno_location() #9
  %647 = load i32, ptr %646, align 4, !tbaa !5
  %648 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %635, ptr noundef @.str.5, i32 noundef %636, ptr noundef @.str.8, ptr noundef @.str.1, i32 noundef 66, ptr noundef %639, ptr noundef %642, ptr noundef %645, i32 noundef %647) #8
  br label %649

649:                                              ; preds = %632, %615
  call void @llvm.lifetime.end.p0(i64 4, ptr %9) #8
  br label %650

650:                                              ; preds = %649
  call void @exit(i32 noundef 1) #10
  unreachable

651:                                              ; No predecessors!
  br label %652

652:                                              ; preds = %651, %596
  br label %653

653:                                              ; preds = %652
  call void @llvm.lifetime.start.p0(i64 8, ptr %10) #8
  store ptr null, ptr %10, align 8, !tbaa !9
  br label %654

654:                                              ; preds = %653
  %655 = load i32, ptr @test_count, align 4, !tbaa !5
  %656 = add nsw i32 %655, 1
  store i32 %656, ptr @test_count, align 4, !tbaa !5
  %657 = call i32 @s2n_test_cert_chain_and_key_new(ptr noundef %10, ptr noundef @.str.9, ptr noundef @.str.10)
  %658 = icmp eq i32 %657, -1
  br i1 %658, label %659, label %712

659:                                              ; preds = %654
  br label %660

660:                                              ; preds = %659
  br label %661

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

668:                                              ; preds = %661
  %669 = load ptr, ptr @stderr, align 8, !tbaa !9
  %670 = call i32 @fileno(ptr noundef %669) #8
  %671 = call i32 @isatty(i32 noundef %670) #8
  %672 = icmp ne i32 %671, 0
  br i1 %672, label %673, label %690

673:                                              ; preds = %668
  %674 = load i32, ptr %11, align 4, !tbaa !5
  %675 = call ptr @__errno_location() #9
  store i32 %674, ptr %675, align 4, !tbaa !5
  %676 = load ptr, ptr @stderr, align 8, !tbaa !9
  %677 = load i32, ptr @test_count, align 4, !tbaa !5
  %678 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %679 = load i32, ptr %678, align 4, !tbaa !5
  %680 = call ptr @s2n_strerror(i32 noundef %679, ptr noundef @.str.4)
  %681 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %682 = load i32, ptr %681, align 4, !tbaa !5
  %683 = call ptr @s2n_strerror_debug(i32 noundef %682, ptr noundef @.str.4)
  %684 = call ptr @__errno_location() #9
  %685 = load i32, ptr %684, align 4, !tbaa !5
  %686 = call ptr @strerror(i32 noundef %685) #8
  %687 = call ptr @__errno_location() #9
  %688 = load i32, ptr %687, align 4, !tbaa !5
  %689 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %676, ptr noundef @.str.2, i32 noundef %677, ptr noundef @.str.11, ptr noundef @.str.1, i32 noundef 70, ptr noundef %680, ptr noundef %683, ptr noundef %686, i32 noundef %688) #8
  br label %707

690:                                              ; preds = %668, %661
  %691 = load i32, ptr %11, align 4, !tbaa !5
  %692 = call ptr @__errno_location() #9
  store i32 %691, ptr %692, align 4, !tbaa !5
  %693 = load ptr, ptr @stderr, align 8, !tbaa !9
  %694 = load i32, ptr @test_count, align 4, !tbaa !5
  %695 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %696 = load i32, ptr %695, align 4, !tbaa !5
  %697 = call ptr @s2n_strerror(i32 noundef %696, ptr noundef @.str.4)
  %698 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %699 = load i32, ptr %698, align 4, !tbaa !5
  %700 = call ptr @s2n_strerror_debug(i32 noundef %699, ptr noundef @.str.4)
  %701 = call ptr @__errno_location() #9
  %702 = load i32, ptr %701, align 4, !tbaa !5
  %703 = call ptr @strerror(i32 noundef %702) #8
  %704 = call ptr @__errno_location() #9
  %705 = load i32, ptr %704, align 4, !tbaa !5
  %706 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %693, ptr noundef @.str.5, i32 noundef %694, ptr noundef @.str.11, ptr noundef @.str.1, i32 noundef 70, ptr noundef %697, ptr noundef %700, ptr noundef %703, i32 noundef %705) #8
  br label %707

707:                                              ; preds = %690, %673
  call void @llvm.lifetime.end.p0(i64 4, ptr %11) #8
  br label %708

708:                                              ; preds = %707
  br label %709

709:                                              ; preds = %708
  call void @exit(i32 noundef 1) #10
  unreachable

710:                                              ; No predecessors!
  br label %711

711:                                              ; preds = %710
  br label %712

712:                                              ; preds = %711, %654
  br label %713

713:                                              ; preds = %712
  br label %714

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

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

720:                                              ; preds = %715
  br label %721

721:                                              ; preds = %720
  br label %722

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

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

734:                                              ; preds = %729
  %735 = load i32, ptr %13, align 4, !tbaa !5
  %736 = call ptr @__errno_location() #9
  store i32 %735, ptr %736, align 4, !tbaa !5
  %737 = load ptr, ptr @stderr, align 8, !tbaa !9
  %738 = load i32, ptr @test_count, align 4, !tbaa !5
  %739 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %740 = load i32, ptr %739, align 4, !tbaa !5
  %741 = call ptr @s2n_strerror(i32 noundef %740, ptr noundef @.str.4)
  %742 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %743 = load i32, ptr %742, align 4, !tbaa !5
  %744 = call ptr @s2n_strerror_debug(i32 noundef %743, ptr noundef @.str.4)
  %745 = call ptr @__errno_location() #9
  %746 = load i32, ptr %745, align 4, !tbaa !5
  %747 = call ptr @strerror(i32 noundef %746) #8
  %748 = call ptr @__errno_location() #9
  %749 = load i32, ptr %748, align 4, !tbaa !5
  %750 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %737, ptr noundef @.str.2, i32 noundef %738, ptr noundef @.str.14, ptr noundef @.str.1, i32 noundef 74, ptr noundef %741, ptr noundef %744, ptr noundef %747, i32 noundef %749) #8
  br label %768

751:                                              ; preds = %729, %722
  %752 = load i32, ptr %13, align 4, !tbaa !5
  %753 = call ptr @__errno_location() #9
  store i32 %752, ptr %753, align 4, !tbaa !5
  %754 = load ptr, ptr @stderr, align 8, !tbaa !9
  %755 = load i32, ptr @test_count, align 4, !tbaa !5
  %756 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %757 = load i32, ptr %756, align 4, !tbaa !5
  %758 = call ptr @s2n_strerror(i32 noundef %757, ptr noundef @.str.4)
  %759 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %760 = load i32, ptr %759, align 4, !tbaa !5
  %761 = call ptr @s2n_strerror_debug(i32 noundef %760, ptr noundef @.str.4)
  %762 = call ptr @__errno_location() #9
  %763 = load i32, ptr %762, align 4, !tbaa !5
  %764 = call ptr @strerror(i32 noundef %763) #8
  %765 = call ptr @__errno_location() #9
  %766 = load i32, ptr %765, align 4, !tbaa !5
  %767 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %754, ptr noundef @.str.5, i32 noundef %755, ptr noundef @.str.14, ptr noundef @.str.1, i32 noundef 74, ptr noundef %758, ptr noundef %761, ptr noundef %764, i32 noundef %766) #8
  br label %768

768:                                              ; preds = %751, %734
  call void @llvm.lifetime.end.p0(i64 4, ptr %13) #8
  br label %769

769:                                              ; preds = %768
  br label %770

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

771:                                              ; No predecessors!
  br label %772

772:                                              ; preds = %771
  br label %773

773:                                              ; preds = %772, %715
  br label %774

774:                                              ; preds = %773
  br label %775

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

778:                                              ; preds = %775
  %779 = load i32, ptr @test_count, align 4, !tbaa !5
  %780 = add nsw i32 %779, 1
  store i32 %780, ptr @test_count, align 4, !tbaa !5
  %781 = load ptr, ptr %15, align 8, !tbaa !9
  %782 = load ptr, ptr %10, align 8, !tbaa !9
  %783 = call i32 @s2n_config_add_cert_chain_and_key_to_store(ptr noundef %781, ptr noundef %782)
  %784 = icmp eq i32 %783, -1
  br i1 %784, label %785, label %838

785:                                              ; preds = %778
  br label %786

786:                                              ; preds = %785
  br label %787

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

794:                                              ; preds = %787
  %795 = load ptr, ptr @stderr, align 8, !tbaa !9
  %796 = call i32 @fileno(ptr noundef %795) #8
  %797 = call i32 @isatty(i32 noundef %796) #8
  %798 = icmp ne i32 %797, 0
  br i1 %798, label %799, label %816

799:                                              ; preds = %794
  %800 = load i32, ptr %16, align 4, !tbaa !5
  %801 = call ptr @__errno_location() #9
  store i32 %800, ptr %801, align 4, !tbaa !5
  %802 = load ptr, ptr @stderr, align 8, !tbaa !9
  %803 = load i32, ptr @test_count, align 4, !tbaa !5
  %804 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %805 = load i32, ptr %804, align 4, !tbaa !5
  %806 = call ptr @s2n_strerror(i32 noundef %805, ptr noundef @.str.4)
  %807 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %808 = load i32, ptr %807, align 4, !tbaa !5
  %809 = call ptr @s2n_strerror_debug(i32 noundef %808, ptr noundef @.str.4)
  %810 = call ptr @__errno_location() #9
  %811 = load i32, ptr %810, align 4, !tbaa !5
  %812 = call ptr @strerror(i32 noundef %811) #8
  %813 = call ptr @__errno_location() #9
  %814 = load i32, ptr %813, align 4, !tbaa !5
  %815 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %802, ptr noundef @.str.2, i32 noundef %803, ptr noundef @.str.15, ptr noundef @.str.1, i32 noundef 79, ptr noundef %806, ptr noundef %809, ptr noundef %812, i32 noundef %814) #8
  br label %833

816:                                              ; preds = %794, %787
  %817 = load i32, ptr %16, align 4, !tbaa !5
  %818 = call ptr @__errno_location() #9
  store i32 %817, ptr %818, align 4, !tbaa !5
  %819 = load ptr, ptr @stderr, align 8, !tbaa !9
  %820 = load i32, ptr @test_count, align 4, !tbaa !5
  %821 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %822 = load i32, ptr %821, align 4, !tbaa !5
  %823 = call ptr @s2n_strerror(i32 noundef %822, ptr noundef @.str.4)
  %824 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %825 = load i32, ptr %824, align 4, !tbaa !5
  %826 = call ptr @s2n_strerror_debug(i32 noundef %825, ptr noundef @.str.4)
  %827 = call ptr @__errno_location() #9
  %828 = load i32, ptr %827, align 4, !tbaa !5
  %829 = call ptr @strerror(i32 noundef %828) #8
  %830 = call ptr @__errno_location() #9
  %831 = load i32, ptr %830, align 4, !tbaa !5
  %832 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %819, ptr noundef @.str.5, i32 noundef %820, ptr noundef @.str.15, ptr noundef @.str.1, i32 noundef 79, ptr noundef %823, ptr noundef %826, ptr noundef %829, i32 noundef %831) #8
  br label %833

833:                                              ; preds = %816, %799
  call void @llvm.lifetime.end.p0(i64 4, ptr %16) #8
  br label %834

834:                                              ; preds = %833
  br label %835

835:                                              ; preds = %834
  call void @exit(i32 noundef 1) #10
  unreachable

836:                                              ; No predecessors!
  br label %837

837:                                              ; preds = %836
  br label %838

838:                                              ; preds = %837, %778
  br label %839

839:                                              ; preds = %838
  br label %840

840:                                              ; preds = %839
  call void @llvm.lifetime.start.p0(i64 8, ptr %17) #8
  %841 = call ptr @s2n_config_new()
  store ptr %841, ptr %17, align 8, !tbaa !9
  br label %842

842:                                              ; preds = %840
  %843 = load i32, ptr @test_count, align 4, !tbaa !5
  %844 = add nsw i32 %843, 1
  store i32 %844, ptr @test_count, align 4, !tbaa !5
  %845 = load ptr, ptr %17, align 8, !tbaa !9
  %846 = load ptr, ptr %12, align 8, !tbaa !9
  %847 = call i32 @s2n_config_add_cert_chain_and_key_to_store(ptr noundef %845, ptr noundef %846)
  %848 = icmp eq i32 %847, -1
  br i1 %848, label %849, label %902

849:                                              ; preds = %842
  br label %850

850:                                              ; preds = %849
  br label %851

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

858:                                              ; preds = %851
  %859 = load ptr, ptr @stderr, align 8, !tbaa !9
  %860 = call i32 @fileno(ptr noundef %859) #8
  %861 = call i32 @isatty(i32 noundef %860) #8
  %862 = icmp ne i32 %861, 0
  br i1 %862, label %863, label %880

863:                                              ; preds = %858
  %864 = load i32, ptr %18, align 4, !tbaa !5
  %865 = call ptr @__errno_location() #9
  store i32 %864, ptr %865, align 4, !tbaa !5
  %866 = load ptr, ptr @stderr, align 8, !tbaa !9
  %867 = load i32, ptr @test_count, align 4, !tbaa !5
  %868 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %869 = load i32, ptr %868, align 4, !tbaa !5
  %870 = call ptr @s2n_strerror(i32 noundef %869, ptr noundef @.str.4)
  %871 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %872 = load i32, ptr %871, align 4, !tbaa !5
  %873 = call ptr @s2n_strerror_debug(i32 noundef %872, ptr noundef @.str.4)
  %874 = call ptr @__errno_location() #9
  %875 = load i32, ptr %874, align 4, !tbaa !5
  %876 = call ptr @strerror(i32 noundef %875) #8
  %877 = call ptr @__errno_location() #9
  %878 = load i32, ptr %877, align 4, !tbaa !5
  %879 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %866, ptr noundef @.str.2, i32 noundef %867, ptr noundef @.str.16, ptr noundef @.str.1, i32 noundef 82, ptr noundef %870, ptr noundef %873, ptr noundef %876, i32 noundef %878) #8
  br label %897

880:                                              ; preds = %858, %851
  %881 = load i32, ptr %18, align 4, !tbaa !5
  %882 = call ptr @__errno_location() #9
  store i32 %881, ptr %882, align 4, !tbaa !5
  %883 = load ptr, ptr @stderr, align 8, !tbaa !9
  %884 = load i32, ptr @test_count, align 4, !tbaa !5
  %885 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %886 = load i32, ptr %885, align 4, !tbaa !5
  %887 = call ptr @s2n_strerror(i32 noundef %886, ptr noundef @.str.4)
  %888 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %889 = load i32, ptr %888, align 4, !tbaa !5
  %890 = call ptr @s2n_strerror_debug(i32 noundef %889, ptr noundef @.str.4)
  %891 = call ptr @__errno_location() #9
  %892 = load i32, ptr %891, align 4, !tbaa !5
  %893 = call ptr @strerror(i32 noundef %892) #8
  %894 = call ptr @__errno_location() #9
  %895 = load i32, ptr %894, align 4, !tbaa !5
  %896 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %883, ptr noundef @.str.5, i32 noundef %884, ptr noundef @.str.16, ptr noundef @.str.1, i32 noundef 82, ptr noundef %887, ptr noundef %890, ptr noundef %893, i32 noundef %895) #8
  br label %897

897:                                              ; preds = %880, %863
  call void @llvm.lifetime.end.p0(i64 4, ptr %18) #8
  br label %898

898:                                              ; preds = %897
  br label %899

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

900:                                              ; No predecessors!
  br label %901

901:                                              ; preds = %900
  br label %902

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

903:                                              ; preds = %902
  br label %904

904:                                              ; preds = %903
  call void @llvm.lifetime.start.p0(i64 8, ptr %19) #8
  %905 = call ptr @s2n_config_new()
  store ptr %905, ptr %19, align 8, !tbaa !9
  br label %906

906:                                              ; preds = %904
  %907 = load i32, ptr @test_count, align 4, !tbaa !5
  %908 = add nsw i32 %907, 1
  store i32 %908, ptr @test_count, align 4, !tbaa !5
  %909 = load ptr, ptr %19, align 8, !tbaa !9
  %910 = load ptr, ptr %10, align 8, !tbaa !9
  %911 = call i32 @s2n_config_add_cert_chain_and_key_to_store(ptr noundef %909, ptr noundef %910)
  %912 = icmp eq i32 %911, -1
  br i1 %912, label %913, label %966

913:                                              ; preds = %906
  br label %914

914:                                              ; preds = %913
  br label %915

915:                                              ; preds = %914
  call void @llvm.lifetime.start.p0(i64 4, ptr %20) #8
  %916 = call ptr @__errno_location() #9
  %917 = load i32, ptr %916, align 4, !tbaa !5
  store i32 %917, ptr %20, align 4, !tbaa !5
  %918 = load ptr, ptr @stderr, align 8, !tbaa !9
  %919 = call i32 @s2n_print_stacktrace(ptr noundef %918)
  %920 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %921 = trunc i8 %920 to i1
  br i1 %921, label %922, label %944

922:                                              ; preds = %915
  %923 = load ptr, ptr @stderr, align 8, !tbaa !9
  %924 = call i32 @fileno(ptr noundef %923) #8
  %925 = call i32 @isatty(i32 noundef %924) #8
  %926 = icmp ne i32 %925, 0
  br i1 %926, label %927, label %944

927:                                              ; preds = %922
  %928 = load i32, ptr %20, align 4, !tbaa !5
  %929 = call ptr @__errno_location() #9
  store i32 %928, ptr %929, align 4, !tbaa !5
  %930 = load ptr, ptr @stderr, align 8, !tbaa !9
  %931 = load i32, ptr @test_count, align 4, !tbaa !5
  %932 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %933 = load i32, ptr %932, align 4, !tbaa !5
  %934 = call ptr @s2n_strerror(i32 noundef %933, ptr noundef @.str.4)
  %935 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %936 = load i32, ptr %935, align 4, !tbaa !5
  %937 = call ptr @s2n_strerror_debug(i32 noundef %936, ptr noundef @.str.4)
  %938 = call ptr @__errno_location() #9
  %939 = load i32, ptr %938, align 4, !tbaa !5
  %940 = call ptr @strerror(i32 noundef %939) #8
  %941 = call ptr @__errno_location() #9
  %942 = load i32, ptr %941, align 4, !tbaa !5
  %943 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %930, ptr noundef @.str.2, i32 noundef %931, ptr noundef @.str.17, ptr noundef @.str.1, i32 noundef 85, ptr noundef %934, ptr noundef %937, ptr noundef %940, i32 noundef %942) #8
  br label %961

944:                                              ; preds = %922, %915
  %945 = load i32, ptr %20, align 4, !tbaa !5
  %946 = call ptr @__errno_location() #9
  store i32 %945, ptr %946, align 4, !tbaa !5
  %947 = load ptr, ptr @stderr, align 8, !tbaa !9
  %948 = load i32, ptr @test_count, align 4, !tbaa !5
  %949 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %950 = load i32, ptr %949, align 4, !tbaa !5
  %951 = call ptr @s2n_strerror(i32 noundef %950, ptr noundef @.str.4)
  %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_debug(i32 noundef %953, ptr noundef @.str.4)
  %955 = call ptr @__errno_location() #9
  %956 = load i32, ptr %955, align 4, !tbaa !5
  %957 = call ptr @strerror(i32 noundef %956) #8
  %958 = call ptr @__errno_location() #9
  %959 = load i32, ptr %958, align 4, !tbaa !5
  %960 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %947, ptr noundef @.str.5, i32 noundef %948, ptr noundef @.str.17, ptr noundef @.str.1, i32 noundef 85, ptr noundef %951, ptr noundef %954, ptr noundef %957, i32 noundef %959) #8
  br label %961

961:                                              ; preds = %944, %927
  call void @llvm.lifetime.end.p0(i64 4, ptr %20) #8
  br label %962

962:                                              ; preds = %961
  br label %963

963:                                              ; preds = %962
  call void @exit(i32 noundef 1) #10
  unreachable

964:                                              ; No predecessors!
  br label %965

965:                                              ; preds = %964
  br label %966

966:                                              ; preds = %965, %906
  br label %967

967:                                              ; preds = %966
  br label %968

968:                                              ; preds = %967
  br label %969

969:                                              ; preds = %968
  %970 = load i32, ptr @test_count, align 4, !tbaa !5
  %971 = add nsw i32 %970, 1
  store i32 %971, ptr @test_count, align 4, !tbaa !5
  %972 = load ptr, ptr %19, align 8, !tbaa !9
  %973 = load ptr, ptr %12, align 8, !tbaa !9
  %974 = call i32 @s2n_config_add_cert_chain_and_key_to_store(ptr noundef %972, ptr noundef %973)
  %975 = icmp eq i32 %974, -1
  br i1 %975, label %976, label %1029

976:                                              ; preds = %969
  br label %977

977:                                              ; preds = %976
  br label %978

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

985:                                              ; preds = %978
  %986 = load ptr, ptr @stderr, align 8, !tbaa !9
  %987 = call i32 @fileno(ptr noundef %986) #8
  %988 = call i32 @isatty(i32 noundef %987) #8
  %989 = icmp ne i32 %988, 0
  br i1 %989, label %990, label %1007

990:                                              ; preds = %985
  %991 = load i32, ptr %21, align 4, !tbaa !5
  %992 = call ptr @__errno_location() #9
  store i32 %991, ptr %992, align 4, !tbaa !5
  %993 = load ptr, ptr @stderr, align 8, !tbaa !9
  %994 = load i32, ptr @test_count, align 4, !tbaa !5
  %995 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %996 = load i32, ptr %995, align 4, !tbaa !5
  %997 = call ptr @s2n_strerror(i32 noundef %996, ptr noundef @.str.4)
  %998 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %999 = load i32, ptr %998, align 4, !tbaa !5
  %1000 = call ptr @s2n_strerror_debug(i32 noundef %999, ptr noundef @.str.4)
  %1001 = call ptr @__errno_location() #9
  %1002 = load i32, ptr %1001, align 4, !tbaa !5
  %1003 = call ptr @strerror(i32 noundef %1002) #8
  %1004 = call ptr @__errno_location() #9
  %1005 = load i32, ptr %1004, align 4, !tbaa !5
  %1006 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %993, ptr noundef @.str.2, i32 noundef %994, ptr noundef @.str.18, ptr noundef @.str.1, i32 noundef 86, ptr noundef %997, ptr noundef %1000, ptr noundef %1003, i32 noundef %1005) #8
  br label %1024

1007:                                             ; preds = %985, %978
  %1008 = load i32, ptr %21, align 4, !tbaa !5
  %1009 = call ptr @__errno_location() #9
  store i32 %1008, ptr %1009, align 4, !tbaa !5
  %1010 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1011 = load i32, ptr @test_count, align 4, !tbaa !5
  %1012 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1013 = load i32, ptr %1012, align 4, !tbaa !5
  %1014 = call ptr @s2n_strerror(i32 noundef %1013, ptr noundef @.str.4)
  %1015 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1016 = load i32, ptr %1015, align 4, !tbaa !5
  %1017 = call ptr @s2n_strerror_debug(i32 noundef %1016, ptr noundef @.str.4)
  %1018 = call ptr @__errno_location() #9
  %1019 = load i32, ptr %1018, align 4, !tbaa !5
  %1020 = call ptr @strerror(i32 noundef %1019) #8
  %1021 = call ptr @__errno_location() #9
  %1022 = load i32, ptr %1021, align 4, !tbaa !5
  %1023 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1010, ptr noundef @.str.5, i32 noundef %1011, ptr noundef @.str.18, ptr noundef @.str.1, i32 noundef 86, ptr noundef %1014, ptr noundef %1017, ptr noundef %1020, i32 noundef %1022) #8
  br label %1024

1024:                                             ; preds = %1007, %990
  call void @llvm.lifetime.end.p0(i64 4, ptr %21) #8
  br label %1025

1025:                                             ; preds = %1024
  br label %1026

1026:                                             ; preds = %1025
  call void @exit(i32 noundef 1) #10
  unreachable

1027:                                             ; No predecessors!
  br label %1028

1028:                                             ; preds = %1027
  br label %1029

1029:                                             ; preds = %1028, %969
  br label %1030

1030:                                             ; preds = %1029
  br label %1031

1031:                                             ; preds = %1030
  call void @llvm.lifetime.start.p0(i64 8, ptr %22) #8
  store ptr null, ptr %22, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %23) #8
  %1032 = call ptr @s2n_config_new()
  store ptr %1032, ptr %23, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %24) #8
  %1033 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %1033, ptr %24, align 8, !tbaa !9
  br label %1034

1034:                                             ; preds = %1031
  %1035 = load i32, ptr @test_count, align 4, !tbaa !5
  %1036 = add nsw i32 %1035, 1
  store i32 %1036, ptr @test_count, align 4, !tbaa !5
  %1037 = load ptr, ptr %24, align 8, !tbaa !9
  %1038 = load ptr, ptr %14, align 8, !tbaa !9
  %1039 = call i32 @s2n_connection_set_config(ptr noundef %1037, ptr noundef %1038)
  %1040 = icmp eq i32 %1039, -1
  br i1 %1040, label %1041, label %1094

1041:                                             ; preds = %1034
  br label %1042

1042:                                             ; preds = %1041
  br label %1043

1043:                                             ; preds = %1042
  call void @llvm.lifetime.start.p0(i64 4, ptr %25) #8
  %1044 = call ptr @__errno_location() #9
  %1045 = load i32, ptr %1044, align 4, !tbaa !5
  store i32 %1045, ptr %25, align 4, !tbaa !5
  %1046 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1047 = call i32 @s2n_print_stacktrace(ptr noundef %1046)
  %1048 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1049 = trunc i8 %1048 to i1
  br i1 %1049, label %1050, label %1072

1050:                                             ; preds = %1043
  %1051 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1052 = call i32 @fileno(ptr noundef %1051) #8
  %1053 = call i32 @isatty(i32 noundef %1052) #8
  %1054 = icmp ne i32 %1053, 0
  br i1 %1054, label %1055, label %1072

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

1072:                                             ; preds = %1050, %1043
  %1073 = load i32, ptr %25, align 4, !tbaa !5
  %1074 = call ptr @__errno_location() #9
  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() #9
  %1084 = load i32, ptr %1083, align 4, !tbaa !5
  %1085 = call ptr @strerror(i32 noundef %1084) #8
  %1086 = call ptr @__errno_location() #9
  %1087 = load i32, ptr %1086, align 4, !tbaa !5
  %1088 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1075, ptr noundef @.str.5, i32 noundef %1076, ptr noundef @.str.19, ptr noundef @.str.1, i32 noundef 105, ptr noundef %1079, ptr noundef %1082, ptr noundef %1085, i32 noundef %1087) #8
  br label %1089

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

1090:                                             ; preds = %1089
  br label %1091

1091:                                             ; preds = %1090
  call void @exit(i32 noundef 1) #10
  unreachable

1092:                                             ; No predecessors!
  br label %1093

1093:                                             ; preds = %1092
  br label %1094

1094:                                             ; preds = %1093, %1034
  br label %1095

1095:                                             ; preds = %1094
  br label %1096

1096:                                             ; preds = %1095
  br label %1097

1097:                                             ; preds = %1096
  br label %1098

1098:                                             ; preds = %1097
  %1099 = load i32, ptr @test_count, align 4, !tbaa !5
  %1100 = add nsw i32 %1099, 1
  store i32 %1100, ptr @test_count, align 4, !tbaa !5
  %1101 = load ptr, ptr %24, align 8, !tbaa !9
  %1102 = call i32 @s2n_is_cipher_suite_valid_for_auth(ptr noundef %1101, ptr noundef @s2n_dhe_rsa_with_3des_ede_cbc_sha)
  %1103 = icmp eq i32 %1102, -1
  br i1 %1103, label %1157, label %1104

1104:                                             ; preds = %1098
  br label %1105

1105:                                             ; preds = %1104
  br label %1106

1106:                                             ; preds = %1105
  call void @llvm.lifetime.start.p0(i64 4, ptr %26) #8
  %1107 = call ptr @__errno_location() #9
  %1108 = load i32, ptr %1107, align 4, !tbaa !5
  store i32 %1108, ptr %26, align 4, !tbaa !5
  %1109 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1110 = call i32 @s2n_print_stacktrace(ptr noundef %1109)
  %1111 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1112 = trunc i8 %1111 to i1
  br i1 %1112, label %1113, label %1135

1113:                                             ; preds = %1106
  %1114 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1115 = call i32 @fileno(ptr noundef %1114) #8
  %1116 = call i32 @isatty(i32 noundef %1115) #8
  %1117 = icmp ne i32 %1116, 0
  br i1 %1117, label %1118, label %1135

1118:                                             ; preds = %1113
  %1119 = load i32, ptr %26, align 4, !tbaa !5
  %1120 = call ptr @__errno_location() #9
  store i32 %1119, ptr %1120, align 4, !tbaa !5
  %1121 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1122 = load i32, ptr @test_count, align 4, !tbaa !5
  %1123 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1124 = load i32, ptr %1123, align 4, !tbaa !5
  %1125 = call ptr @s2n_strerror(i32 noundef %1124, ptr noundef @.str.4)
  %1126 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1127 = load i32, ptr %1126, align 4, !tbaa !5
  %1128 = call ptr @s2n_strerror_debug(i32 noundef %1127, ptr noundef @.str.4)
  %1129 = call ptr @__errno_location() #9
  %1130 = load i32, ptr %1129, align 4, !tbaa !5
  %1131 = call ptr @strerror(i32 noundef %1130) #8
  %1132 = call ptr @__errno_location() #9
  %1133 = load i32, ptr %1132, align 4, !tbaa !5
  %1134 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1121, ptr noundef @.str.2, i32 noundef %1122, ptr noundef @.str.20, ptr noundef @.str.1, i32 noundef 106, ptr noundef %1125, ptr noundef %1128, ptr noundef %1131, i32 noundef %1133) #8
  br label %1152

1135:                                             ; preds = %1113, %1106
  %1136 = load i32, ptr %26, align 4, !tbaa !5
  %1137 = call ptr @__errno_location() #9
  store i32 %1136, ptr %1137, align 4, !tbaa !5
  %1138 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1139 = load i32, ptr @test_count, align 4, !tbaa !5
  %1140 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1141 = load i32, ptr %1140, align 4, !tbaa !5
  %1142 = call ptr @s2n_strerror(i32 noundef %1141, ptr noundef @.str.4)
  %1143 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1144 = load i32, ptr %1143, align 4, !tbaa !5
  %1145 = call ptr @s2n_strerror_debug(i32 noundef %1144, ptr noundef @.str.4)
  %1146 = call ptr @__errno_location() #9
  %1147 = load i32, ptr %1146, align 4, !tbaa !5
  %1148 = call ptr @strerror(i32 noundef %1147) #8
  %1149 = call ptr @__errno_location() #9
  %1150 = load i32, ptr %1149, align 4, !tbaa !5
  %1151 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1138, ptr noundef @.str.5, i32 noundef %1139, ptr noundef @.str.20, ptr noundef @.str.1, i32 noundef 106, ptr noundef %1142, ptr noundef %1145, ptr noundef %1148, i32 noundef %1150) #8
  br label %1152

1152:                                             ; preds = %1135, %1118
  call void @llvm.lifetime.end.p0(i64 4, ptr %26) #8
  br label %1153

1153:                                             ; preds = %1152
  br label %1154

1154:                                             ; preds = %1153
  call void @exit(i32 noundef 1) #10
  unreachable

1155:                                             ; No predecessors!
  br label %1156

1156:                                             ; preds = %1155
  br label %1157

1157:                                             ; preds = %1156, %1098
  br label %1158

1158:                                             ; preds = %1157
  br label %1159

1159:                                             ; preds = %1158
  br label %1160

1160:                                             ; preds = %1159
  %1161 = load i32, ptr @test_count, align 4, !tbaa !5
  %1162 = add nsw i32 %1161, 1
  store i32 %1162, 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 = icmp eq i32 %1164, 0
  br i1 %1165, label %1166, label %1219

1166:                                             ; preds = %1160
  br label %1167

1167:                                             ; preds = %1166
  br label %1168

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

1175:                                             ; preds = %1168
  %1176 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1177 = call i32 @fileno(ptr noundef %1176) #8
  %1178 = call i32 @isatty(i32 noundef %1177) #8
  %1179 = icmp ne i32 %1178, 0
  br i1 %1179, label %1180, label %1197

1180:                                             ; preds = %1175
  %1181 = load i32, ptr %27, align 4, !tbaa !5
  %1182 = call ptr @__errno_location() #9
  store i32 %1181, ptr %1182, align 4, !tbaa !5
  %1183 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1184 = load i32, ptr @test_count, align 4, !tbaa !5
  %1185 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1186 = load i32, ptr %1185, align 4, !tbaa !5
  %1187 = call ptr @s2n_strerror(i32 noundef %1186, ptr noundef @.str.4)
  %1188 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1189 = load i32, ptr %1188, align 4, !tbaa !5
  %1190 = call ptr @s2n_strerror_debug(i32 noundef %1189, ptr noundef @.str.4)
  %1191 = call ptr @__errno_location() #9
  %1192 = load i32, ptr %1191, align 4, !tbaa !5
  %1193 = call ptr @strerror(i32 noundef %1192) #8
  %1194 = call ptr @__errno_location() #9
  %1195 = load i32, ptr %1194, align 4, !tbaa !5
  %1196 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1183, ptr noundef @.str.2, i32 noundef %1184, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 106, ptr noundef %1187, ptr noundef %1190, ptr noundef %1193, i32 noundef %1195) #8
  br label %1214

1197:                                             ; preds = %1175, %1168
  %1198 = load i32, ptr %27, align 4, !tbaa !5
  %1199 = call ptr @__errno_location() #9
  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() #9
  %1209 = load i32, ptr %1208, align 4, !tbaa !5
  %1210 = call ptr @strerror(i32 noundef %1209) #8
  %1211 = call ptr @__errno_location() #9
  %1212 = load i32, ptr %1211, align 4, !tbaa !5
  %1213 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1200, ptr noundef @.str.5, i32 noundef %1201, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 106, ptr noundef %1204, ptr noundef %1207, ptr noundef %1210, i32 noundef %1212) #8
  br label %1214

1214:                                             ; preds = %1197, %1180
  call void @llvm.lifetime.end.p0(i64 4, ptr %27) #8
  br label %1215

1215:                                             ; preds = %1214
  br label %1216

1216:                                             ; preds = %1215
  call void @exit(i32 noundef 1) #10
  unreachable

1217:                                             ; No predecessors!
  br label %1218

1218:                                             ; preds = %1217
  br label %1219

1219:                                             ; preds = %1218, %1160
  br label %1220

1220:                                             ; preds = %1219
  br label %1221

1221:                                             ; preds = %1220
  br label %1222

1222:                                             ; preds = %1221
  %1223 = load i32, ptr @test_count, align 4, !tbaa !5
  %1224 = add nsw i32 %1223, 1
  store i32 %1224, ptr @test_count, align 4, !tbaa !5
  %1225 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1226 = load i32, ptr %1225, align 4, !tbaa !5
  %1227 = call ptr @s2n_strerror_debug(i32 noundef %1226, ptr noundef @.str.4)
  %1228 = icmp eq ptr %1227, null
  br i1 %1228, label %1229, label %1282

1229:                                             ; preds = %1222
  br label %1230

1230:                                             ; preds = %1229
  br label %1231

1231:                                             ; preds = %1230
  call void @llvm.lifetime.start.p0(i64 4, ptr %28) #8
  %1232 = call ptr @__errno_location() #9
  %1233 = load i32, ptr %1232, align 4, !tbaa !5
  store i32 %1233, ptr %28, align 4, !tbaa !5
  %1234 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1235 = call i32 @s2n_print_stacktrace(ptr noundef %1234)
  %1236 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1237 = trunc i8 %1236 to i1
  br i1 %1237, label %1238, label %1260

1238:                                             ; preds = %1231
  %1239 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1240 = call i32 @fileno(ptr noundef %1239) #8
  %1241 = call i32 @isatty(i32 noundef %1240) #8
  %1242 = icmp ne i32 %1241, 0
  br i1 %1242, label %1243, label %1260

1243:                                             ; preds = %1238
  %1244 = load i32, ptr %28, align 4, !tbaa !5
  %1245 = call ptr @__errno_location() #9
  store i32 %1244, ptr %1245, align 4, !tbaa !5
  %1246 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1247 = load i32, ptr @test_count, align 4, !tbaa !5
  %1248 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1249 = load i32, ptr %1248, align 4, !tbaa !5
  %1250 = call ptr @s2n_strerror(i32 noundef %1249, ptr noundef @.str.4)
  %1251 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1252 = load i32, ptr %1251, align 4, !tbaa !5
  %1253 = call ptr @s2n_strerror_debug(i32 noundef %1252, ptr noundef @.str.4)
  %1254 = call ptr @__errno_location() #9
  %1255 = load i32, ptr %1254, align 4, !tbaa !5
  %1256 = call ptr @strerror(i32 noundef %1255) #8
  %1257 = call ptr @__errno_location() #9
  %1258 = load i32, ptr %1257, align 4, !tbaa !5
  %1259 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1246, ptr noundef @.str.2, i32 noundef %1247, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 106, ptr noundef %1250, ptr noundef %1253, ptr noundef %1256, i32 noundef %1258) #8
  br label %1277

1260:                                             ; preds = %1238, %1231
  %1261 = load i32, ptr %28, align 4, !tbaa !5
  %1262 = call ptr @__errno_location() #9
  store i32 %1261, ptr %1262, align 4, !tbaa !5
  %1263 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1264 = load i32, ptr @test_count, align 4, !tbaa !5
  %1265 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1266 = load i32, ptr %1265, align 4, !tbaa !5
  %1267 = call ptr @s2n_strerror(i32 noundef %1266, ptr noundef @.str.4)
  %1268 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1269 = load i32, ptr %1268, align 4, !tbaa !5
  %1270 = call ptr @s2n_strerror_debug(i32 noundef %1269, ptr noundef @.str.4)
  %1271 = call ptr @__errno_location() #9
  %1272 = load i32, ptr %1271, align 4, !tbaa !5
  %1273 = call ptr @strerror(i32 noundef %1272) #8
  %1274 = call ptr @__errno_location() #9
  %1275 = load i32, ptr %1274, align 4, !tbaa !5
  %1276 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1263, ptr noundef @.str.5, i32 noundef %1264, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 106, ptr noundef %1267, ptr noundef %1270, ptr noundef %1273, i32 noundef %1275) #8
  br label %1277

1277:                                             ; preds = %1260, %1243
  call void @llvm.lifetime.end.p0(i64 4, ptr %28) #8
  br label %1278

1278:                                             ; preds = %1277
  br label %1279

1279:                                             ; preds = %1278
  call void @exit(i32 noundef 1) #10
  unreachable

1280:                                             ; No predecessors!
  br label %1281

1281:                                             ; preds = %1280
  br label %1282

1282:                                             ; preds = %1281, %1222
  br label %1283

1283:                                             ; preds = %1282
  br label %1284

1284:                                             ; preds = %1283
  br label %1285

1285:                                             ; preds = %1284
  %1286 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %1286, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %1287 = call ptr @__errno_location() #9
  store i32 0, ptr %1287, align 4, !tbaa !5
  br label %1288

1288:                                             ; preds = %1285
  br label %1289

1289:                                             ; preds = %1288
  br label %1290

1290:                                             ; preds = %1289
  br label %1291

1291:                                             ; preds = %1290
  br label %1292

1292:                                             ; preds = %1291
  br label %1293

1293:                                             ; preds = %1292
  %1294 = load i32, ptr @test_count, align 4, !tbaa !5
  %1295 = add nsw i32 %1294, 1
  store i32 %1295, ptr @test_count, align 4, !tbaa !5
  %1296 = load ptr, ptr %24, align 8, !tbaa !9
  %1297 = call i32 @s2n_is_cipher_suite_valid_for_auth(ptr noundef %1296, ptr noundef @s2n_ecdhe_ecdsa_with_aes_128_cbc_sha)
  %1298 = icmp eq i32 %1297, -1
  br i1 %1298, label %1352, label %1299

1299:                                             ; preds = %1293
  br label %1300

1300:                                             ; preds = %1299
  br label %1301

1301:                                             ; preds = %1300
  call void @llvm.lifetime.start.p0(i64 4, ptr %29) #8
  %1302 = call ptr @__errno_location() #9
  %1303 = load i32, ptr %1302, align 4, !tbaa !5
  store i32 %1303, ptr %29, align 4, !tbaa !5
  %1304 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1305 = call i32 @s2n_print_stacktrace(ptr noundef %1304)
  %1306 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1307 = trunc i8 %1306 to i1
  br i1 %1307, label %1308, label %1330

1308:                                             ; preds = %1301
  %1309 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1310 = call i32 @fileno(ptr noundef %1309) #8
  %1311 = call i32 @isatty(i32 noundef %1310) #8
  %1312 = icmp ne i32 %1311, 0
  br i1 %1312, label %1313, label %1330

1313:                                             ; preds = %1308
  %1314 = load i32, ptr %29, align 4, !tbaa !5
  %1315 = call ptr @__errno_location() #9
  store i32 %1314, ptr %1315, align 4, !tbaa !5
  %1316 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1317 = load i32, ptr @test_count, align 4, !tbaa !5
  %1318 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1319 = load i32, ptr %1318, align 4, !tbaa !5
  %1320 = call ptr @s2n_strerror(i32 noundef %1319, ptr noundef @.str.4)
  %1321 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1322 = load i32, ptr %1321, align 4, !tbaa !5
  %1323 = call ptr @s2n_strerror_debug(i32 noundef %1322, ptr noundef @.str.4)
  %1324 = call ptr @__errno_location() #9
  %1325 = load i32, ptr %1324, align 4, !tbaa !5
  %1326 = call ptr @strerror(i32 noundef %1325) #8
  %1327 = call ptr @__errno_location() #9
  %1328 = load i32, ptr %1327, align 4, !tbaa !5
  %1329 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1316, ptr noundef @.str.2, i32 noundef %1317, ptr noundef @.str.23, ptr noundef @.str.1, i32 noundef 107, ptr noundef %1320, ptr noundef %1323, ptr noundef %1326, i32 noundef %1328) #8
  br label %1347

1330:                                             ; preds = %1308, %1301
  %1331 = load i32, ptr %29, align 4, !tbaa !5
  %1332 = call ptr @__errno_location() #9
  store i32 %1331, ptr %1332, align 4, !tbaa !5
  %1333 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1334 = load i32, ptr @test_count, align 4, !tbaa !5
  %1335 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1336 = load i32, ptr %1335, align 4, !tbaa !5
  %1337 = call ptr @s2n_strerror(i32 noundef %1336, ptr noundef @.str.4)
  %1338 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1339 = load i32, ptr %1338, align 4, !tbaa !5
  %1340 = call ptr @s2n_strerror_debug(i32 noundef %1339, ptr noundef @.str.4)
  %1341 = call ptr @__errno_location() #9
  %1342 = load i32, ptr %1341, align 4, !tbaa !5
  %1343 = call ptr @strerror(i32 noundef %1342) #8
  %1344 = call ptr @__errno_location() #9
  %1345 = load i32, ptr %1344, align 4, !tbaa !5
  %1346 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1333, ptr noundef @.str.5, i32 noundef %1334, ptr noundef @.str.23, ptr noundef @.str.1, i32 noundef 107, ptr noundef %1337, ptr noundef %1340, ptr noundef %1343, i32 noundef %1345) #8
  br label %1347

1347:                                             ; preds = %1330, %1313
  call void @llvm.lifetime.end.p0(i64 4, ptr %29) #8
  br label %1348

1348:                                             ; preds = %1347
  br label %1349

1349:                                             ; preds = %1348
  call void @exit(i32 noundef 1) #10
  unreachable

1350:                                             ; No predecessors!
  br label %1351

1351:                                             ; preds = %1350
  br label %1352

1352:                                             ; preds = %1351, %1293
  br label %1353

1353:                                             ; preds = %1352
  br label %1354

1354:                                             ; preds = %1353
  br label %1355

1355:                                             ; preds = %1354
  %1356 = load i32, ptr @test_count, align 4, !tbaa !5
  %1357 = add nsw i32 %1356, 1
  store i32 %1357, ptr @test_count, align 4, !tbaa !5
  %1358 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1359 = load i32, ptr %1358, align 4, !tbaa !5
  %1360 = icmp eq i32 %1359, 0
  br i1 %1360, label %1361, label %1414

1361:                                             ; preds = %1355
  br label %1362

1362:                                             ; preds = %1361
  br label %1363

1363:                                             ; preds = %1362
  call void @llvm.lifetime.start.p0(i64 4, ptr %30) #8
  %1364 = call ptr @__errno_location() #9
  %1365 = load i32, ptr %1364, align 4, !tbaa !5
  store i32 %1365, ptr %30, align 4, !tbaa !5
  %1366 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1367 = call i32 @s2n_print_stacktrace(ptr noundef %1366)
  %1368 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1369 = trunc i8 %1368 to i1
  br i1 %1369, label %1370, label %1392

1370:                                             ; preds = %1363
  %1371 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1372 = call i32 @fileno(ptr noundef %1371) #8
  %1373 = call i32 @isatty(i32 noundef %1372) #8
  %1374 = icmp ne i32 %1373, 0
  br i1 %1374, label %1375, label %1392

1375:                                             ; preds = %1370
  %1376 = load i32, ptr %30, align 4, !tbaa !5
  %1377 = call ptr @__errno_location() #9
  store i32 %1376, ptr %1377, align 4, !tbaa !5
  %1378 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1379 = load i32, ptr @test_count, align 4, !tbaa !5
  %1380 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1381 = load i32, ptr %1380, align 4, !tbaa !5
  %1382 = call ptr @s2n_strerror(i32 noundef %1381, ptr noundef @.str.4)
  %1383 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1384 = load i32, ptr %1383, align 4, !tbaa !5
  %1385 = call ptr @s2n_strerror_debug(i32 noundef %1384, ptr noundef @.str.4)
  %1386 = call ptr @__errno_location() #9
  %1387 = load i32, ptr %1386, align 4, !tbaa !5
  %1388 = call ptr @strerror(i32 noundef %1387) #8
  %1389 = call ptr @__errno_location() #9
  %1390 = load i32, ptr %1389, align 4, !tbaa !5
  %1391 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1378, ptr noundef @.str.2, i32 noundef %1379, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 107, ptr noundef %1382, ptr noundef %1385, ptr noundef %1388, i32 noundef %1390) #8
  br label %1409

1392:                                             ; preds = %1370, %1363
  %1393 = load i32, ptr %30, align 4, !tbaa !5
  %1394 = call ptr @__errno_location() #9
  store i32 %1393, ptr %1394, align 4, !tbaa !5
  %1395 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1396 = load i32, ptr @test_count, align 4, !tbaa !5
  %1397 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1398 = load i32, ptr %1397, align 4, !tbaa !5
  %1399 = call ptr @s2n_strerror(i32 noundef %1398, ptr noundef @.str.4)
  %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_debug(i32 noundef %1401, ptr noundef @.str.4)
  %1403 = call ptr @__errno_location() #9
  %1404 = load i32, ptr %1403, align 4, !tbaa !5
  %1405 = call ptr @strerror(i32 noundef %1404) #8
  %1406 = call ptr @__errno_location() #9
  %1407 = load i32, ptr %1406, align 4, !tbaa !5
  %1408 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1395, ptr noundef @.str.5, i32 noundef %1396, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 107, ptr noundef %1399, ptr noundef %1402, ptr noundef %1405, i32 noundef %1407) #8
  br label %1409

1409:                                             ; preds = %1392, %1375
  call void @llvm.lifetime.end.p0(i64 4, ptr %30) #8
  br label %1410

1410:                                             ; preds = %1409
  br label %1411

1411:                                             ; preds = %1410
  call void @exit(i32 noundef 1) #10
  unreachable

1412:                                             ; No predecessors!
  br label %1413

1413:                                             ; preds = %1412
  br label %1414

1414:                                             ; preds = %1413, %1355
  br label %1415

1415:                                             ; preds = %1414
  br label %1416

1416:                                             ; preds = %1415
  br label %1417

1417:                                             ; preds = %1416
  %1418 = load i32, ptr @test_count, align 4, !tbaa !5
  %1419 = add nsw i32 %1418, 1
  store i32 %1419, ptr @test_count, align 4, !tbaa !5
  %1420 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1421 = load i32, ptr %1420, align 4, !tbaa !5
  %1422 = call ptr @s2n_strerror_debug(i32 noundef %1421, ptr noundef @.str.4)
  %1423 = icmp eq ptr %1422, null
  br i1 %1423, label %1424, label %1477

1424:                                             ; preds = %1417
  br label %1425

1425:                                             ; preds = %1424
  br label %1426

1426:                                             ; preds = %1425
  call void @llvm.lifetime.start.p0(i64 4, ptr %31) #8
  %1427 = call ptr @__errno_location() #9
  %1428 = load i32, ptr %1427, align 4, !tbaa !5
  store i32 %1428, ptr %31, align 4, !tbaa !5
  %1429 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1430 = call i32 @s2n_print_stacktrace(ptr noundef %1429)
  %1431 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1432 = trunc i8 %1431 to i1
  br i1 %1432, label %1433, label %1455

1433:                                             ; preds = %1426
  %1434 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1435 = call i32 @fileno(ptr noundef %1434) #8
  %1436 = call i32 @isatty(i32 noundef %1435) #8
  %1437 = icmp ne i32 %1436, 0
  br i1 %1437, label %1438, label %1455

1438:                                             ; preds = %1433
  %1439 = load i32, ptr %31, align 4, !tbaa !5
  %1440 = call ptr @__errno_location() #9
  store i32 %1439, ptr %1440, align 4, !tbaa !5
  %1441 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1442 = load i32, ptr @test_count, align 4, !tbaa !5
  %1443 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1444 = load i32, ptr %1443, align 4, !tbaa !5
  %1445 = call ptr @s2n_strerror(i32 noundef %1444, ptr noundef @.str.4)
  %1446 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1447 = load i32, ptr %1446, align 4, !tbaa !5
  %1448 = call ptr @s2n_strerror_debug(i32 noundef %1447, ptr noundef @.str.4)
  %1449 = call ptr @__errno_location() #9
  %1450 = load i32, ptr %1449, align 4, !tbaa !5
  %1451 = call ptr @strerror(i32 noundef %1450) #8
  %1452 = call ptr @__errno_location() #9
  %1453 = load i32, ptr %1452, align 4, !tbaa !5
  %1454 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1441, ptr noundef @.str.2, i32 noundef %1442, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 107, ptr noundef %1445, ptr noundef %1448, ptr noundef %1451, i32 noundef %1453) #8
  br label %1472

1455:                                             ; preds = %1433, %1426
  %1456 = load i32, ptr %31, align 4, !tbaa !5
  %1457 = call ptr @__errno_location() #9
  store i32 %1456, ptr %1457, align 4, !tbaa !5
  %1458 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1459 = load i32, ptr @test_count, align 4, !tbaa !5
  %1460 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1461 = load i32, ptr %1460, align 4, !tbaa !5
  %1462 = call ptr @s2n_strerror(i32 noundef %1461, ptr noundef @.str.4)
  %1463 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1464 = load i32, ptr %1463, align 4, !tbaa !5
  %1465 = call ptr @s2n_strerror_debug(i32 noundef %1464, ptr noundef @.str.4)
  %1466 = call ptr @__errno_location() #9
  %1467 = load i32, ptr %1466, align 4, !tbaa !5
  %1468 = call ptr @strerror(i32 noundef %1467) #8
  %1469 = call ptr @__errno_location() #9
  %1470 = load i32, ptr %1469, align 4, !tbaa !5
  %1471 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1458, ptr noundef @.str.5, i32 noundef %1459, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 107, ptr noundef %1462, ptr noundef %1465, ptr noundef %1468, i32 noundef %1470) #8
  br label %1472

1472:                                             ; preds = %1455, %1438
  call void @llvm.lifetime.end.p0(i64 4, ptr %31) #8
  br label %1473

1473:                                             ; preds = %1472
  br label %1474

1474:                                             ; preds = %1473
  call void @exit(i32 noundef 1) #10
  unreachable

1475:                                             ; No predecessors!
  br label %1476

1476:                                             ; preds = %1475
  br label %1477

1477:                                             ; preds = %1476, %1417
  br label %1478

1478:                                             ; preds = %1477
  br label %1479

1479:                                             ; preds = %1478
  br label %1480

1480:                                             ; preds = %1479
  %1481 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %1481, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %1482 = call ptr @__errno_location() #9
  store i32 0, ptr %1482, align 4, !tbaa !5
  br label %1483

1483:                                             ; preds = %1480
  br label %1484

1484:                                             ; preds = %1483
  br label %1485

1485:                                             ; preds = %1484
  br label %1486

1486:                                             ; preds = %1485
  br label %1487

1487:                                             ; preds = %1486
  %1488 = 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 %24, align 8, !tbaa !9
  %1491 = call i32 @s2n_is_cipher_suite_valid_for_auth(ptr noundef %1490, ptr noundef @s2n_tls13_aes_128_gcm_sha256)
  %1492 = icmp eq i32 %1491, -1
  br i1 %1492, label %1493, label %1546

1493:                                             ; preds = %1487
  br label %1494

1494:                                             ; preds = %1493
  br label %1495

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

1502:                                             ; preds = %1495
  %1503 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1504 = call i32 @fileno(ptr noundef %1503) #8
  %1505 = call i32 @isatty(i32 noundef %1504) #8
  %1506 = icmp ne i32 %1505, 0
  br i1 %1506, label %1507, label %1524

1507:                                             ; preds = %1502
  %1508 = load i32, ptr %32, align 4, !tbaa !5
  %1509 = call ptr @__errno_location() #9
  store i32 %1508, ptr %1509, align 4, !tbaa !5
  %1510 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1511 = load i32, ptr @test_count, align 4, !tbaa !5
  %1512 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1513 = load i32, ptr %1512, align 4, !tbaa !5
  %1514 = call ptr @s2n_strerror(i32 noundef %1513, ptr noundef @.str.4)
  %1515 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1516 = load i32, ptr %1515, align 4, !tbaa !5
  %1517 = call ptr @s2n_strerror_debug(i32 noundef %1516, ptr noundef @.str.4)
  %1518 = call ptr @__errno_location() #9
  %1519 = load i32, ptr %1518, align 4, !tbaa !5
  %1520 = call ptr @strerror(i32 noundef %1519) #8
  %1521 = call ptr @__errno_location() #9
  %1522 = load i32, ptr %1521, align 4, !tbaa !5
  %1523 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1510, ptr noundef @.str.2, i32 noundef %1511, ptr noundef @.str.24, ptr noundef @.str.1, i32 noundef 108, ptr noundef %1514, ptr noundef %1517, ptr noundef %1520, i32 noundef %1522) #8
  br label %1541

1524:                                             ; preds = %1502, %1495
  %1525 = load i32, ptr %32, align 4, !tbaa !5
  %1526 = call ptr @__errno_location() #9
  store i32 %1525, ptr %1526, align 4, !tbaa !5
  %1527 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1528 = load i32, ptr @test_count, align 4, !tbaa !5
  %1529 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1530 = load i32, ptr %1529, align 4, !tbaa !5
  %1531 = call ptr @s2n_strerror(i32 noundef %1530, ptr noundef @.str.4)
  %1532 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1533 = load i32, ptr %1532, align 4, !tbaa !5
  %1534 = call ptr @s2n_strerror_debug(i32 noundef %1533, ptr noundef @.str.4)
  %1535 = call ptr @__errno_location() #9
  %1536 = load i32, ptr %1535, align 4, !tbaa !5
  %1537 = call ptr @strerror(i32 noundef %1536) #8
  %1538 = call ptr @__errno_location() #9
  %1539 = load i32, ptr %1538, align 4, !tbaa !5
  %1540 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1527, ptr noundef @.str.5, i32 noundef %1528, ptr noundef @.str.24, ptr noundef @.str.1, i32 noundef 108, ptr noundef %1531, ptr noundef %1534, ptr noundef %1537, i32 noundef %1539) #8
  br label %1541

1541:                                             ; preds = %1524, %1507
  call void @llvm.lifetime.end.p0(i64 4, ptr %32) #8
  br label %1542

1542:                                             ; preds = %1541
  br label %1543

1543:                                             ; preds = %1542
  call void @exit(i32 noundef 1) #10
  unreachable

1544:                                             ; No predecessors!
  br label %1545

1545:                                             ; preds = %1544
  br label %1546

1546:                                             ; preds = %1545, %1487
  br label %1547

1547:                                             ; preds = %1546
  br label %1548

1548:                                             ; preds = %1547
  br label %1549

1549:                                             ; preds = %1548
  %1550 = load i32, ptr @test_count, align 4, !tbaa !5
  %1551 = add nsw i32 %1550, 1
  store i32 %1551, ptr @test_count, align 4, !tbaa !5
  %1552 = load ptr, ptr %24, align 8, !tbaa !9
  %1553 = load ptr, ptr %15, align 8, !tbaa !9
  %1554 = call i32 @s2n_connection_set_config(ptr noundef %1552, ptr noundef %1553)
  %1555 = icmp eq i32 %1554, -1
  br i1 %1555, label %1556, label %1609

1556:                                             ; preds = %1549
  br label %1557

1557:                                             ; preds = %1556
  br label %1558

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

1565:                                             ; preds = %1558
  %1566 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1567 = call i32 @fileno(ptr noundef %1566) #8
  %1568 = call i32 @isatty(i32 noundef %1567) #8
  %1569 = icmp ne i32 %1568, 0
  br i1 %1569, label %1570, label %1587

1570:                                             ; preds = %1565
  %1571 = load i32, ptr %33, align 4, !tbaa !5
  %1572 = call ptr @__errno_location() #9
  store i32 %1571, ptr %1572, align 4, !tbaa !5
  %1573 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1574 = load i32, ptr @test_count, align 4, !tbaa !5
  %1575 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1576 = load i32, ptr %1575, align 4, !tbaa !5
  %1577 = call ptr @s2n_strerror(i32 noundef %1576, ptr noundef @.str.4)
  %1578 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1579 = load i32, ptr %1578, align 4, !tbaa !5
  %1580 = call ptr @s2n_strerror_debug(i32 noundef %1579, ptr noundef @.str.4)
  %1581 = call ptr @__errno_location() #9
  %1582 = load i32, ptr %1581, align 4, !tbaa !5
  %1583 = call ptr @strerror(i32 noundef %1582) #8
  %1584 = call ptr @__errno_location() #9
  %1585 = load i32, ptr %1584, align 4, !tbaa !5
  %1586 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1573, ptr noundef @.str.2, i32 noundef %1574, ptr noundef @.str.25, ptr noundef @.str.1, i32 noundef 111, ptr noundef %1577, ptr noundef %1580, ptr noundef %1583, i32 noundef %1585) #8
  br label %1604

1587:                                             ; preds = %1565, %1558
  %1588 = load i32, ptr %33, align 4, !tbaa !5
  %1589 = call ptr @__errno_location() #9
  store i32 %1588, ptr %1589, align 4, !tbaa !5
  %1590 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1591 = load i32, ptr @test_count, align 4, !tbaa !5
  %1592 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1593 = load i32, ptr %1592, align 4, !tbaa !5
  %1594 = call ptr @s2n_strerror(i32 noundef %1593, ptr noundef @.str.4)
  %1595 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1596 = load i32, ptr %1595, align 4, !tbaa !5
  %1597 = call ptr @s2n_strerror_debug(i32 noundef %1596, ptr noundef @.str.4)
  %1598 = call ptr @__errno_location() #9
  %1599 = load i32, ptr %1598, align 4, !tbaa !5
  %1600 = call ptr @strerror(i32 noundef %1599) #8
  %1601 = call ptr @__errno_location() #9
  %1602 = load i32, ptr %1601, align 4, !tbaa !5
  %1603 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1590, ptr noundef @.str.5, i32 noundef %1591, ptr noundef @.str.25, ptr noundef @.str.1, i32 noundef 111, ptr noundef %1594, ptr noundef %1597, ptr noundef %1600, i32 noundef %1602) #8
  br label %1604

1604:                                             ; preds = %1587, %1570
  call void @llvm.lifetime.end.p0(i64 4, ptr %33) #8
  br label %1605

1605:                                             ; preds = %1604
  br label %1606

1606:                                             ; preds = %1605
  call void @exit(i32 noundef 1) #10
  unreachable

1607:                                             ; No predecessors!
  br label %1608

1608:                                             ; preds = %1607
  br label %1609

1609:                                             ; preds = %1608, %1549
  br label %1610

1610:                                             ; preds = %1609
  br label %1611

1611:                                             ; preds = %1610
  br label %1612

1612:                                             ; preds = %1611
  %1613 = load i32, ptr @test_count, align 4, !tbaa !5
  %1614 = add nsw i32 %1613, 1
  store i32 %1614, ptr @test_count, align 4, !tbaa !5
  %1615 = load ptr, ptr %24, align 8, !tbaa !9
  %1616 = call i32 @s2n_is_cipher_suite_valid_for_auth(ptr noundef %1615, ptr noundef @s2n_dhe_rsa_with_3des_ede_cbc_sha)
  %1617 = icmp eq i32 %1616, -1
  br i1 %1617, label %1618, label %1671

1618:                                             ; preds = %1612
  br label %1619

1619:                                             ; preds = %1618
  br label %1620

1620:                                             ; preds = %1619
  call void @llvm.lifetime.start.p0(i64 4, ptr %34) #8
  %1621 = call ptr @__errno_location() #9
  %1622 = load i32, ptr %1621, align 4, !tbaa !5
  store i32 %1622, ptr %34, align 4, !tbaa !5
  %1623 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1624 = call i32 @s2n_print_stacktrace(ptr noundef %1623)
  %1625 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1626 = trunc i8 %1625 to i1
  br i1 %1626, label %1627, label %1649

1627:                                             ; preds = %1620
  %1628 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1629 = call i32 @fileno(ptr noundef %1628) #8
  %1630 = call i32 @isatty(i32 noundef %1629) #8
  %1631 = icmp ne i32 %1630, 0
  br i1 %1631, label %1632, label %1649

1632:                                             ; preds = %1627
  %1633 = load i32, ptr %34, align 4, !tbaa !5
  %1634 = call ptr @__errno_location() #9
  store i32 %1633, ptr %1634, 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 @.str.4)
  %1640 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1641 = load i32, ptr %1640, align 4, !tbaa !5
  %1642 = call ptr @s2n_strerror_debug(i32 noundef %1641, ptr noundef @.str.4)
  %1643 = call ptr @__errno_location() #9
  %1644 = load i32, ptr %1643, align 4, !tbaa !5
  %1645 = call ptr @strerror(i32 noundef %1644) #8
  %1646 = call ptr @__errno_location() #9
  %1647 = load i32, ptr %1646, align 4, !tbaa !5
  %1648 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1635, ptr noundef @.str.2, i32 noundef %1636, ptr noundef @.str.26, ptr noundef @.str.1, i32 noundef 112, ptr noundef %1639, ptr noundef %1642, ptr noundef %1645, i32 noundef %1647) #8
  br label %1666

1649:                                             ; preds = %1627, %1620
  %1650 = load i32, ptr %34, align 4, !tbaa !5
  %1651 = call ptr @__errno_location() #9
  store i32 %1650, ptr %1651, align 4, !tbaa !5
  %1652 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1653 = load i32, ptr @test_count, align 4, !tbaa !5
  %1654 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1655 = load i32, ptr %1654, align 4, !tbaa !5
  %1656 = call ptr @s2n_strerror(i32 noundef %1655, ptr noundef @.str.4)
  %1657 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1658 = load i32, ptr %1657, align 4, !tbaa !5
  %1659 = call ptr @s2n_strerror_debug(i32 noundef %1658, ptr noundef @.str.4)
  %1660 = call ptr @__errno_location() #9
  %1661 = load i32, ptr %1660, align 4, !tbaa !5
  %1662 = call ptr @strerror(i32 noundef %1661) #8
  %1663 = call ptr @__errno_location() #9
  %1664 = load i32, ptr %1663, align 4, !tbaa !5
  %1665 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1652, ptr noundef @.str.5, i32 noundef %1653, ptr noundef @.str.26, ptr noundef @.str.1, i32 noundef 112, ptr noundef %1656, ptr noundef %1659, ptr noundef %1662, i32 noundef %1664) #8
  br label %1666

1666:                                             ; preds = %1649, %1632
  call void @llvm.lifetime.end.p0(i64 4, ptr %34) #8
  br label %1667

1667:                                             ; preds = %1666
  br label %1668

1668:                                             ; preds = %1667
  call void @exit(i32 noundef 1) #10
  unreachable

1669:                                             ; No predecessors!
  br label %1670

1670:                                             ; preds = %1669
  br label %1671

1671:                                             ; preds = %1670, %1612
  br label %1672

1672:                                             ; preds = %1671
  br label %1673

1673:                                             ; preds = %1672
  br label %1674

1674:                                             ; preds = %1673
  br label %1675

1675:                                             ; preds = %1674
  %1676 = load i32, ptr @test_count, align 4, !tbaa !5
  %1677 = add nsw i32 %1676, 1
  store i32 %1677, ptr @test_count, align 4, !tbaa !5
  %1678 = load ptr, ptr %24, align 8, !tbaa !9
  %1679 = call i32 @s2n_is_cipher_suite_valid_for_auth(ptr noundef %1678, ptr noundef @s2n_ecdhe_ecdsa_with_aes_128_cbc_sha)
  %1680 = icmp eq i32 %1679, -1
  br i1 %1680, label %1734, label %1681

1681:                                             ; preds = %1675
  br label %1682

1682:                                             ; preds = %1681
  br label %1683

1683:                                             ; preds = %1682
  call void @llvm.lifetime.start.p0(i64 4, ptr %35) #8
  %1684 = call ptr @__errno_location() #9
  %1685 = load i32, ptr %1684, align 4, !tbaa !5
  store i32 %1685, ptr %35, align 4, !tbaa !5
  %1686 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1687 = call i32 @s2n_print_stacktrace(ptr noundef %1686)
  %1688 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1689 = trunc i8 %1688 to i1
  br i1 %1689, label %1690, label %1712

1690:                                             ; preds = %1683
  %1691 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1692 = call i32 @fileno(ptr noundef %1691) #8
  %1693 = call i32 @isatty(i32 noundef %1692) #8
  %1694 = icmp ne i32 %1693, 0
  br i1 %1694, label %1695, label %1712

1695:                                             ; preds = %1690
  %1696 = load i32, ptr %35, align 4, !tbaa !5
  %1697 = call ptr @__errno_location() #9
  store i32 %1696, ptr %1697, align 4, !tbaa !5
  %1698 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1699 = load i32, ptr @test_count, align 4, !tbaa !5
  %1700 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1701 = load i32, ptr %1700, align 4, !tbaa !5
  %1702 = call ptr @s2n_strerror(i32 noundef %1701, ptr noundef @.str.4)
  %1703 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1704 = load i32, ptr %1703, align 4, !tbaa !5
  %1705 = call ptr @s2n_strerror_debug(i32 noundef %1704, ptr noundef @.str.4)
  %1706 = call ptr @__errno_location() #9
  %1707 = load i32, ptr %1706, align 4, !tbaa !5
  %1708 = call ptr @strerror(i32 noundef %1707) #8
  %1709 = call ptr @__errno_location() #9
  %1710 = load i32, ptr %1709, align 4, !tbaa !5
  %1711 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1698, ptr noundef @.str.2, i32 noundef %1699, ptr noundef @.str.23, ptr noundef @.str.1, i32 noundef 113, ptr noundef %1702, ptr noundef %1705, ptr noundef %1708, i32 noundef %1710) #8
  br label %1729

1712:                                             ; preds = %1690, %1683
  %1713 = load i32, ptr %35, align 4, !tbaa !5
  %1714 = call ptr @__errno_location() #9
  store i32 %1713, ptr %1714, align 4, !tbaa !5
  %1715 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1716 = load i32, ptr @test_count, align 4, !tbaa !5
  %1717 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1718 = load i32, ptr %1717, align 4, !tbaa !5
  %1719 = call ptr @s2n_strerror(i32 noundef %1718, ptr noundef @.str.4)
  %1720 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1721 = load i32, ptr %1720, align 4, !tbaa !5
  %1722 = call ptr @s2n_strerror_debug(i32 noundef %1721, ptr noundef @.str.4)
  %1723 = call ptr @__errno_location() #9
  %1724 = load i32, ptr %1723, align 4, !tbaa !5
  %1725 = call ptr @strerror(i32 noundef %1724) #8
  %1726 = call ptr @__errno_location() #9
  %1727 = load i32, ptr %1726, align 4, !tbaa !5
  %1728 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1715, ptr noundef @.str.5, i32 noundef %1716, ptr noundef @.str.23, ptr noundef @.str.1, i32 noundef 113, ptr noundef %1719, ptr noundef %1722, ptr noundef %1725, i32 noundef %1727) #8
  br label %1729

1729:                                             ; preds = %1712, %1695
  call void @llvm.lifetime.end.p0(i64 4, ptr %35) #8
  br label %1730

1730:                                             ; preds = %1729
  br label %1731

1731:                                             ; preds = %1730
  call void @exit(i32 noundef 1) #10
  unreachable

1732:                                             ; No predecessors!
  br label %1733

1733:                                             ; preds = %1732
  br label %1734

1734:                                             ; preds = %1733, %1675
  br label %1735

1735:                                             ; preds = %1734
  br label %1736

1736:                                             ; preds = %1735
  br label %1737

1737:                                             ; preds = %1736
  %1738 = load i32, ptr @test_count, align 4, !tbaa !5
  %1739 = add nsw i32 %1738, 1
  store i32 %1739, ptr @test_count, align 4, !tbaa !5
  %1740 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1741 = load i32, ptr %1740, align 4, !tbaa !5
  %1742 = icmp eq i32 %1741, 0
  br i1 %1742, label %1743, label %1796

1743:                                             ; preds = %1737
  br label %1744

1744:                                             ; preds = %1743
  br label %1745

1745:                                             ; preds = %1744
  call void @llvm.lifetime.start.p0(i64 4, ptr %36) #8
  %1746 = call ptr @__errno_location() #9
  %1747 = load i32, ptr %1746, align 4, !tbaa !5
  store i32 %1747, ptr %36, align 4, !tbaa !5
  %1748 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1749 = call i32 @s2n_print_stacktrace(ptr noundef %1748)
  %1750 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1751 = trunc i8 %1750 to i1
  br i1 %1751, label %1752, label %1774

1752:                                             ; preds = %1745
  %1753 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1754 = call i32 @fileno(ptr noundef %1753) #8
  %1755 = call i32 @isatty(i32 noundef %1754) #8
  %1756 = icmp ne i32 %1755, 0
  br i1 %1756, label %1757, label %1774

1757:                                             ; preds = %1752
  %1758 = load i32, ptr %36, align 4, !tbaa !5
  %1759 = call ptr @__errno_location() #9
  store i32 %1758, ptr %1759, 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 @.str.4)
  %1765 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1766 = load i32, ptr %1765, align 4, !tbaa !5
  %1767 = call ptr @s2n_strerror_debug(i32 noundef %1766, ptr noundef @.str.4)
  %1768 = call ptr @__errno_location() #9
  %1769 = load i32, ptr %1768, align 4, !tbaa !5
  %1770 = call ptr @strerror(i32 noundef %1769) #8
  %1771 = call ptr @__errno_location() #9
  %1772 = load i32, ptr %1771, align 4, !tbaa !5
  %1773 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1760, ptr noundef @.str.2, i32 noundef %1761, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 113, ptr noundef %1764, ptr noundef %1767, ptr noundef %1770, i32 noundef %1772) #8
  br label %1791

1774:                                             ; preds = %1752, %1745
  %1775 = load i32, ptr %36, align 4, !tbaa !5
  %1776 = call ptr @__errno_location() #9
  store i32 %1775, ptr %1776, align 4, !tbaa !5
  %1777 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1778 = load i32, ptr @test_count, align 4, !tbaa !5
  %1779 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1780 = load i32, ptr %1779, align 4, !tbaa !5
  %1781 = call ptr @s2n_strerror(i32 noundef %1780, ptr noundef @.str.4)
  %1782 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1783 = load i32, ptr %1782, align 4, !tbaa !5
  %1784 = call ptr @s2n_strerror_debug(i32 noundef %1783, ptr noundef @.str.4)
  %1785 = call ptr @__errno_location() #9
  %1786 = load i32, ptr %1785, align 4, !tbaa !5
  %1787 = call ptr @strerror(i32 noundef %1786) #8
  %1788 = call ptr @__errno_location() #9
  %1789 = load i32, ptr %1788, align 4, !tbaa !5
  %1790 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1777, ptr noundef @.str.5, i32 noundef %1778, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 113, ptr noundef %1781, ptr noundef %1784, ptr noundef %1787, i32 noundef %1789) #8
  br label %1791

1791:                                             ; preds = %1774, %1757
  call void @llvm.lifetime.end.p0(i64 4, ptr %36) #8
  br label %1792

1792:                                             ; preds = %1791
  br label %1793

1793:                                             ; preds = %1792
  call void @exit(i32 noundef 1) #10
  unreachable

1794:                                             ; No predecessors!
  br label %1795

1795:                                             ; preds = %1794
  br label %1796

1796:                                             ; preds = %1795, %1737
  br label %1797

1797:                                             ; preds = %1796
  br label %1798

1798:                                             ; preds = %1797
  br label %1799

1799:                                             ; preds = %1798
  %1800 = load i32, ptr @test_count, align 4, !tbaa !5
  %1801 = add nsw i32 %1800, 1
  store i32 %1801, ptr @test_count, align 4, !tbaa !5
  %1802 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1803 = load i32, ptr %1802, align 4, !tbaa !5
  %1804 = call ptr @s2n_strerror_debug(i32 noundef %1803, ptr noundef @.str.4)
  %1805 = icmp eq ptr %1804, null
  br i1 %1805, label %1806, label %1859

1806:                                             ; preds = %1799
  br label %1807

1807:                                             ; preds = %1806
  br label %1808

1808:                                             ; preds = %1807
  call void @llvm.lifetime.start.p0(i64 4, ptr %37) #8
  %1809 = call ptr @__errno_location() #9
  %1810 = load i32, ptr %1809, align 4, !tbaa !5
  store i32 %1810, ptr %37, align 4, !tbaa !5
  %1811 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1812 = call i32 @s2n_print_stacktrace(ptr noundef %1811)
  %1813 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1814 = trunc i8 %1813 to i1
  br i1 %1814, label %1815, label %1837

1815:                                             ; preds = %1808
  %1816 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1817 = call i32 @fileno(ptr noundef %1816) #8
  %1818 = call i32 @isatty(i32 noundef %1817) #8
  %1819 = icmp ne i32 %1818, 0
  br i1 %1819, label %1820, label %1837

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

1837:                                             ; preds = %1815, %1808
  %1838 = load i32, ptr %37, align 4, !tbaa !5
  %1839 = call ptr @__errno_location() #9
  store i32 %1838, ptr %1839, align 4, !tbaa !5
  %1840 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1841 = load i32, ptr @test_count, align 4, !tbaa !5
  %1842 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1843 = load i32, ptr %1842, align 4, !tbaa !5
  %1844 = call ptr @s2n_strerror(i32 noundef %1843, ptr noundef @.str.4)
  %1845 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1846 = load i32, ptr %1845, align 4, !tbaa !5
  %1847 = call ptr @s2n_strerror_debug(i32 noundef %1846, ptr noundef @.str.4)
  %1848 = call ptr @__errno_location() #9
  %1849 = load i32, ptr %1848, align 4, !tbaa !5
  %1850 = call ptr @strerror(i32 noundef %1849) #8
  %1851 = call ptr @__errno_location() #9
  %1852 = load i32, ptr %1851, align 4, !tbaa !5
  %1853 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1840, ptr noundef @.str.5, i32 noundef %1841, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 113, ptr noundef %1844, ptr noundef %1847, ptr noundef %1850, i32 noundef %1852) #8
  br label %1854

1854:                                             ; preds = %1837, %1820
  call void @llvm.lifetime.end.p0(i64 4, ptr %37) #8
  br label %1855

1855:                                             ; preds = %1854
  br label %1856

1856:                                             ; preds = %1855
  call void @exit(i32 noundef 1) #10
  unreachable

1857:                                             ; No predecessors!
  br label %1858

1858:                                             ; preds = %1857
  br label %1859

1859:                                             ; preds = %1858, %1799
  br label %1860

1860:                                             ; preds = %1859
  br label %1861

1861:                                             ; preds = %1860
  br label %1862

1862:                                             ; preds = %1861
  %1863 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %1863, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %1864 = call ptr @__errno_location() #9
  store i32 0, ptr %1864, align 4, !tbaa !5
  br label %1865

1865:                                             ; preds = %1862
  br label %1866

1866:                                             ; preds = %1865
  br label %1867

1867:                                             ; preds = %1866
  br label %1868

1868:                                             ; preds = %1867
  br label %1869

1869:                                             ; preds = %1868
  %1870 = load i32, ptr @test_count, align 4, !tbaa !5
  %1871 = add nsw i32 %1870, 1
  store i32 %1871, ptr @test_count, align 4, !tbaa !5
  %1872 = load ptr, ptr %24, align 8, !tbaa !9
  %1873 = call i32 @s2n_is_cipher_suite_valid_for_auth(ptr noundef %1872, ptr noundef @s2n_tls13_aes_128_gcm_sha256)
  %1874 = icmp eq i32 %1873, -1
  br i1 %1874, label %1875, label %1928

1875:                                             ; preds = %1869
  br label %1876

1876:                                             ; preds = %1875
  br label %1877

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

1884:                                             ; preds = %1877
  %1885 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1886 = call i32 @fileno(ptr noundef %1885) #8
  %1887 = call i32 @isatty(i32 noundef %1886) #8
  %1888 = icmp ne i32 %1887, 0
  br i1 %1888, label %1889, label %1906

1889:                                             ; preds = %1884
  %1890 = load i32, ptr %38, align 4, !tbaa !5
  %1891 = call ptr @__errno_location() #9
  store i32 %1890, ptr %1891, align 4, !tbaa !5
  %1892 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1893 = load i32, ptr @test_count, align 4, !tbaa !5
  %1894 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1895 = load i32, ptr %1894, align 4, !tbaa !5
  %1896 = call ptr @s2n_strerror(i32 noundef %1895, ptr noundef @.str.4)
  %1897 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1898 = load i32, ptr %1897, align 4, !tbaa !5
  %1899 = call ptr @s2n_strerror_debug(i32 noundef %1898, ptr noundef @.str.4)
  %1900 = call ptr @__errno_location() #9
  %1901 = load i32, ptr %1900, align 4, !tbaa !5
  %1902 = call ptr @strerror(i32 noundef %1901) #8
  %1903 = call ptr @__errno_location() #9
  %1904 = load i32, ptr %1903, align 4, !tbaa !5
  %1905 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1892, ptr noundef @.str.2, i32 noundef %1893, ptr noundef @.str.24, ptr noundef @.str.1, i32 noundef 114, ptr noundef %1896, ptr noundef %1899, ptr noundef %1902, i32 noundef %1904) #8
  br label %1923

1906:                                             ; preds = %1884, %1877
  %1907 = load i32, ptr %38, align 4, !tbaa !5
  %1908 = call ptr @__errno_location() #9
  store i32 %1907, ptr %1908, align 4, !tbaa !5
  %1909 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1910 = load i32, ptr @test_count, align 4, !tbaa !5
  %1911 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1912 = load i32, ptr %1911, align 4, !tbaa !5
  %1913 = call ptr @s2n_strerror(i32 noundef %1912, ptr noundef @.str.4)
  %1914 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1915 = load i32, ptr %1914, align 4, !tbaa !5
  %1916 = call ptr @s2n_strerror_debug(i32 noundef %1915, ptr noundef @.str.4)
  %1917 = call ptr @__errno_location() #9
  %1918 = load i32, ptr %1917, align 4, !tbaa !5
  %1919 = call ptr @strerror(i32 noundef %1918) #8
  %1920 = call ptr @__errno_location() #9
  %1921 = load i32, ptr %1920, align 4, !tbaa !5
  %1922 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1909, ptr noundef @.str.5, i32 noundef %1910, ptr noundef @.str.24, ptr noundef @.str.1, i32 noundef 114, ptr noundef %1913, ptr noundef %1916, ptr noundef %1919, i32 noundef %1921) #8
  br label %1923

1923:                                             ; preds = %1906, %1889
  call void @llvm.lifetime.end.p0(i64 4, ptr %38) #8
  br label %1924

1924:                                             ; preds = %1923
  br label %1925

1925:                                             ; preds = %1924
  call void @exit(i32 noundef 1) #10
  unreachable

1926:                                             ; No predecessors!
  br label %1927

1927:                                             ; preds = %1926
  br label %1928

1928:                                             ; preds = %1927, %1869
  br label %1929

1929:                                             ; preds = %1928
  br label %1930

1930:                                             ; preds = %1929
  br label %1931

1931:                                             ; preds = %1930
  %1932 = load i32, ptr @test_count, align 4, !tbaa !5
  %1933 = add nsw i32 %1932, 1
  store i32 %1933, ptr @test_count, align 4, !tbaa !5
  %1934 = load ptr, ptr %24, align 8, !tbaa !9
  %1935 = load ptr, ptr %23, align 8, !tbaa !9
  %1936 = call i32 @s2n_connection_set_config(ptr noundef %1934, ptr noundef %1935)
  %1937 = icmp eq i32 %1936, -1
  br i1 %1937, label %1938, label %1991

1938:                                             ; preds = %1931
  br label %1939

1939:                                             ; preds = %1938
  br label %1940

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

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

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

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

1986:                                             ; preds = %1969, %1952
  call void @llvm.lifetime.end.p0(i64 4, ptr %39) #8
  br label %1987

1987:                                             ; preds = %1986
  br label %1988

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

1989:                                             ; No predecessors!
  br label %1990

1990:                                             ; preds = %1989
  br label %1991

1991:                                             ; preds = %1990, %1931
  br label %1992

1992:                                             ; preds = %1991
  br label %1993

1993:                                             ; preds = %1992
  %1994 = call zeroext i1 (...) @s2n_is_rsa_pss_certs_supported()
  br i1 %1994, label %1995, label %2058

1995:                                             ; preds = %1993
  br label %1996

1996:                                             ; preds = %1995
  %1997 = load i32, ptr @test_count, align 4, !tbaa !5
  %1998 = add nsw i32 %1997, 1
  store i32 %1998, ptr @test_count, align 4, !tbaa !5
  %1999 = load ptr, ptr %24, align 8, !tbaa !9
  %2000 = call i32 @s2n_is_cipher_suite_valid_for_auth(ptr noundef %1999, ptr noundef @s2n_dhe_rsa_with_3des_ede_cbc_sha)
  %2001 = icmp eq i32 %2000, -1
  br i1 %2001, label %2002, label %2055

2002:                                             ; preds = %1996
  br label %2003

2003:                                             ; preds = %2002
  br label %2004

2004:                                             ; preds = %2003
  call void @llvm.lifetime.start.p0(i64 4, ptr %40) #8
  %2005 = call ptr @__errno_location() #9
  %2006 = load i32, ptr %2005, align 4, !tbaa !5
  store i32 %2006, ptr %40, align 4, !tbaa !5
  %2007 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2008 = call i32 @s2n_print_stacktrace(ptr noundef %2007)
  %2009 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2010 = trunc i8 %2009 to i1
  br i1 %2010, label %2011, label %2033

2011:                                             ; preds = %2004
  %2012 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2013 = call i32 @fileno(ptr noundef %2012) #8
  %2014 = call i32 @isatty(i32 noundef %2013) #8
  %2015 = icmp ne i32 %2014, 0
  br i1 %2015, label %2016, label %2033

2016:                                             ; preds = %2011
  %2017 = load i32, ptr %40, align 4, !tbaa !5
  %2018 = call ptr @__errno_location() #9
  store i32 %2017, ptr %2018, align 4, !tbaa !5
  %2019 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2020 = load i32, ptr @test_count, align 4, !tbaa !5
  %2021 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2022 = load i32, ptr %2021, align 4, !tbaa !5
  %2023 = call ptr @s2n_strerror(i32 noundef %2022, ptr noundef @.str.4)
  %2024 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2025 = load i32, ptr %2024, align 4, !tbaa !5
  %2026 = call ptr @s2n_strerror_debug(i32 noundef %2025, ptr noundef @.str.4)
  %2027 = call ptr @__errno_location() #9
  %2028 = load i32, ptr %2027, align 4, !tbaa !5
  %2029 = call ptr @strerror(i32 noundef %2028) #8
  %2030 = call ptr @__errno_location() #9
  %2031 = load i32, ptr %2030, align 4, !tbaa !5
  %2032 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2019, ptr noundef @.str.2, i32 noundef %2020, ptr noundef @.str.26, ptr noundef @.str.1, i32 noundef 118, ptr noundef %2023, ptr noundef %2026, ptr noundef %2029, i32 noundef %2031) #8
  br label %2050

2033:                                             ; preds = %2011, %2004
  %2034 = load i32, ptr %40, align 4, !tbaa !5
  %2035 = call ptr @__errno_location() #9
  store i32 %2034, ptr %2035, align 4, !tbaa !5
  %2036 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2037 = load i32, ptr @test_count, align 4, !tbaa !5
  %2038 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2039 = load i32, ptr %2038, align 4, !tbaa !5
  %2040 = call ptr @s2n_strerror(i32 noundef %2039, ptr noundef @.str.4)
  %2041 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2042 = load i32, ptr %2041, align 4, !tbaa !5
  %2043 = call ptr @s2n_strerror_debug(i32 noundef %2042, ptr noundef @.str.4)
  %2044 = call ptr @__errno_location() #9
  %2045 = load i32, ptr %2044, align 4, !tbaa !5
  %2046 = call ptr @strerror(i32 noundef %2045) #8
  %2047 = call ptr @__errno_location() #9
  %2048 = load i32, ptr %2047, align 4, !tbaa !5
  %2049 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2036, ptr noundef @.str.5, i32 noundef %2037, ptr noundef @.str.26, ptr noundef @.str.1, i32 noundef 118, ptr noundef %2040, ptr noundef %2043, ptr noundef %2046, i32 noundef %2048) #8
  br label %2050

2050:                                             ; preds = %2033, %2016
  call void @llvm.lifetime.end.p0(i64 4, ptr %40) #8
  br label %2051

2051:                                             ; preds = %2050
  br label %2052

2052:                                             ; preds = %2051
  call void @exit(i32 noundef 1) #10
  unreachable

2053:                                             ; No predecessors!
  br label %2054

2054:                                             ; preds = %2053
  br label %2055

2055:                                             ; preds = %2054, %1996
  br label %2056

2056:                                             ; preds = %2055
  br label %2057

2057:                                             ; preds = %2056
  br label %2254

2058:                                             ; preds = %1993
  br label %2059

2059:                                             ; preds = %2058
  br label %2060

2060:                                             ; preds = %2059
  %2061 = load i32, ptr @test_count, align 4, !tbaa !5
  %2062 = add nsw i32 %2061, 1
  store i32 %2062, ptr @test_count, align 4, !tbaa !5
  %2063 = load ptr, ptr %24, align 8, !tbaa !9
  %2064 = call i32 @s2n_is_cipher_suite_valid_for_auth(ptr noundef %2063, ptr noundef @s2n_dhe_rsa_with_3des_ede_cbc_sha)
  %2065 = icmp eq i32 %2064, -1
  br i1 %2065, label %2119, label %2066

2066:                                             ; preds = %2060
  br label %2067

2067:                                             ; preds = %2066
  br label %2068

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

2075:                                             ; preds = %2068
  %2076 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2077 = call i32 @fileno(ptr noundef %2076) #8
  %2078 = call i32 @isatty(i32 noundef %2077) #8
  %2079 = icmp ne i32 %2078, 0
  br i1 %2079, label %2080, label %2097

2080:                                             ; preds = %2075
  %2081 = load i32, ptr %41, align 4, !tbaa !5
  %2082 = call ptr @__errno_location() #9
  store i32 %2081, ptr %2082, align 4, !tbaa !5
  %2083 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2084 = load i32, ptr @test_count, align 4, !tbaa !5
  %2085 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2086 = load i32, ptr %2085, align 4, !tbaa !5
  %2087 = call ptr @s2n_strerror(i32 noundef %2086, ptr noundef @.str.4)
  %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_debug(i32 noundef %2089, ptr noundef @.str.4)
  %2091 = call ptr @__errno_location() #9
  %2092 = load i32, ptr %2091, align 4, !tbaa !5
  %2093 = call ptr @strerror(i32 noundef %2092) #8
  %2094 = call ptr @__errno_location() #9
  %2095 = load i32, ptr %2094, align 4, !tbaa !5
  %2096 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2083, ptr noundef @.str.2, i32 noundef %2084, ptr noundef @.str.20, ptr noundef @.str.1, i32 noundef 118, ptr noundef %2087, ptr noundef %2090, ptr noundef %2093, i32 noundef %2095) #8
  br label %2114

2097:                                             ; preds = %2075, %2068
  %2098 = load i32, ptr %41, align 4, !tbaa !5
  %2099 = call ptr @__errno_location() #9
  store i32 %2098, ptr %2099, align 4, !tbaa !5
  %2100 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2101 = load i32, ptr @test_count, align 4, !tbaa !5
  %2102 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2103 = load i32, ptr %2102, align 4, !tbaa !5
  %2104 = call ptr @s2n_strerror(i32 noundef %2103, ptr noundef @.str.4)
  %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_debug(i32 noundef %2106, ptr noundef @.str.4)
  %2108 = call ptr @__errno_location() #9
  %2109 = load i32, ptr %2108, align 4, !tbaa !5
  %2110 = call ptr @strerror(i32 noundef %2109) #8
  %2111 = call ptr @__errno_location() #9
  %2112 = load i32, ptr %2111, align 4, !tbaa !5
  %2113 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2100, ptr noundef @.str.5, i32 noundef %2101, ptr noundef @.str.20, ptr noundef @.str.1, i32 noundef 118, ptr noundef %2104, ptr noundef %2107, ptr noundef %2110, i32 noundef %2112) #8
  br label %2114

2114:                                             ; preds = %2097, %2080
  call void @llvm.lifetime.end.p0(i64 4, ptr %41) #8
  br label %2115

2115:                                             ; preds = %2114
  br label %2116

2116:                                             ; preds = %2115
  call void @exit(i32 noundef 1) #10
  unreachable

2117:                                             ; No predecessors!
  br label %2118

2118:                                             ; preds = %2117
  br label %2119

2119:                                             ; preds = %2118, %2060
  br label %2120

2120:                                             ; preds = %2119
  br label %2121

2121:                                             ; preds = %2120
  br label %2122

2122:                                             ; preds = %2121
  %2123 = load i32, ptr @test_count, align 4, !tbaa !5
  %2124 = add nsw i32 %2123, 1
  store i32 %2124, ptr @test_count, align 4, !tbaa !5
  %2125 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2126 = load i32, ptr %2125, align 4, !tbaa !5
  %2127 = icmp eq i32 %2126, 0
  br i1 %2127, label %2128, label %2181

2128:                                             ; preds = %2122
  br label %2129

2129:                                             ; preds = %2128
  br label %2130

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

2137:                                             ; preds = %2130
  %2138 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2139 = call i32 @fileno(ptr noundef %2138) #8
  %2140 = call i32 @isatty(i32 noundef %2139) #8
  %2141 = icmp ne i32 %2140, 0
  br i1 %2141, label %2142, label %2159

2142:                                             ; preds = %2137
  %2143 = load i32, ptr %42, align 4, !tbaa !5
  %2144 = call ptr @__errno_location() #9
  store i32 %2143, ptr %2144, align 4, !tbaa !5
  %2145 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2146 = load i32, ptr @test_count, align 4, !tbaa !5
  %2147 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2148 = load i32, ptr %2147, align 4, !tbaa !5
  %2149 = call ptr @s2n_strerror(i32 noundef %2148, ptr noundef @.str.4)
  %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_debug(i32 noundef %2151, ptr noundef @.str.4)
  %2153 = call ptr @__errno_location() #9
  %2154 = load i32, ptr %2153, align 4, !tbaa !5
  %2155 = call ptr @strerror(i32 noundef %2154) #8
  %2156 = call ptr @__errno_location() #9
  %2157 = load i32, ptr %2156, align 4, !tbaa !5
  %2158 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2145, ptr noundef @.str.2, i32 noundef %2146, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 118, ptr noundef %2149, ptr noundef %2152, ptr noundef %2155, i32 noundef %2157) #8
  br label %2176

2159:                                             ; preds = %2137, %2130
  %2160 = load i32, ptr %42, align 4, !tbaa !5
  %2161 = call ptr @__errno_location() #9
  store i32 %2160, ptr %2161, align 4, !tbaa !5
  %2162 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2163 = load i32, ptr @test_count, align 4, !tbaa !5
  %2164 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2165 = load i32, ptr %2164, align 4, !tbaa !5
  %2166 = call ptr @s2n_strerror(i32 noundef %2165, ptr noundef @.str.4)
  %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_debug(i32 noundef %2168, ptr noundef @.str.4)
  %2170 = call ptr @__errno_location() #9
  %2171 = load i32, ptr %2170, align 4, !tbaa !5
  %2172 = call ptr @strerror(i32 noundef %2171) #8
  %2173 = call ptr @__errno_location() #9
  %2174 = load i32, ptr %2173, align 4, !tbaa !5
  %2175 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2162, ptr noundef @.str.5, i32 noundef %2163, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 118, ptr noundef %2166, ptr noundef %2169, ptr noundef %2172, i32 noundef %2174) #8
  br label %2176

2176:                                             ; preds = %2159, %2142
  call void @llvm.lifetime.end.p0(i64 4, ptr %42) #8
  br label %2177

2177:                                             ; preds = %2176
  br label %2178

2178:                                             ; preds = %2177
  call void @exit(i32 noundef 1) #10
  unreachable

2179:                                             ; No predecessors!
  br label %2180

2180:                                             ; preds = %2179
  br label %2181

2181:                                             ; preds = %2180, %2122
  br label %2182

2182:                                             ; preds = %2181
  br label %2183

2183:                                             ; preds = %2182
  br label %2184

2184:                                             ; preds = %2183
  %2185 = load i32, ptr @test_count, align 4, !tbaa !5
  %2186 = add nsw i32 %2185, 1
  store i32 %2186, ptr @test_count, align 4, !tbaa !5
  %2187 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2188 = load i32, ptr %2187, align 4, !tbaa !5
  %2189 = call ptr @s2n_strerror_debug(i32 noundef %2188, ptr noundef @.str.4)
  %2190 = icmp eq ptr %2189, null
  br i1 %2190, label %2191, label %2244

2191:                                             ; preds = %2184
  br label %2192

2192:                                             ; preds = %2191
  br label %2193

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

2200:                                             ; preds = %2193
  %2201 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2202 = call i32 @fileno(ptr noundef %2201) #8
  %2203 = call i32 @isatty(i32 noundef %2202) #8
  %2204 = icmp ne i32 %2203, 0
  br i1 %2204, label %2205, label %2222

2205:                                             ; preds = %2200
  %2206 = load i32, ptr %43, align 4, !tbaa !5
  %2207 = call ptr @__errno_location() #9
  store i32 %2206, ptr %2207, align 4, !tbaa !5
  %2208 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2209 = load i32, ptr @test_count, align 4, !tbaa !5
  %2210 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2211 = load i32, ptr %2210, align 4, !tbaa !5
  %2212 = call ptr @s2n_strerror(i32 noundef %2211, ptr noundef @.str.4)
  %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_debug(i32 noundef %2214, ptr noundef @.str.4)
  %2216 = call ptr @__errno_location() #9
  %2217 = load i32, ptr %2216, align 4, !tbaa !5
  %2218 = call ptr @strerror(i32 noundef %2217) #8
  %2219 = call ptr @__errno_location() #9
  %2220 = load i32, ptr %2219, align 4, !tbaa !5
  %2221 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2208, ptr noundef @.str.2, i32 noundef %2209, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 118, ptr noundef %2212, ptr noundef %2215, ptr noundef %2218, i32 noundef %2220) #8
  br label %2239

2222:                                             ; preds = %2200, %2193
  %2223 = load i32, ptr %43, align 4, !tbaa !5
  %2224 = call ptr @__errno_location() #9
  store i32 %2223, ptr %2224, align 4, !tbaa !5
  %2225 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2226 = load i32, ptr @test_count, align 4, !tbaa !5
  %2227 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2228 = load i32, ptr %2227, align 4, !tbaa !5
  %2229 = call ptr @s2n_strerror(i32 noundef %2228, ptr noundef @.str.4)
  %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_debug(i32 noundef %2231, ptr noundef @.str.4)
  %2233 = call ptr @__errno_location() #9
  %2234 = load i32, ptr %2233, align 4, !tbaa !5
  %2235 = call ptr @strerror(i32 noundef %2234) #8
  %2236 = call ptr @__errno_location() #9
  %2237 = load i32, ptr %2236, align 4, !tbaa !5
  %2238 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2225, ptr noundef @.str.5, i32 noundef %2226, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 118, ptr noundef %2229, ptr noundef %2232, ptr noundef %2235, i32 noundef %2237) #8
  br label %2239

2239:                                             ; preds = %2222, %2205
  call void @llvm.lifetime.end.p0(i64 4, ptr %43) #8
  br label %2240

2240:                                             ; preds = %2239
  br label %2241

2241:                                             ; preds = %2240
  call void @exit(i32 noundef 1) #10
  unreachable

2242:                                             ; No predecessors!
  br label %2243

2243:                                             ; preds = %2242
  br label %2244

2244:                                             ; preds = %2243, %2184
  br label %2245

2245:                                             ; preds = %2244
  br label %2246

2246:                                             ; preds = %2245
  br label %2247

2247:                                             ; preds = %2246
  %2248 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %2248, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %2249 = call ptr @__errno_location() #9
  store i32 0, ptr %2249, align 4, !tbaa !5
  br label %2250

2250:                                             ; preds = %2247
  br label %2251

2251:                                             ; preds = %2250
  br label %2252

2252:                                             ; preds = %2251
  br label %2253

2253:                                             ; preds = %2252
  br label %2254

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

2255:                                             ; preds = %2254
  br label %2256

2256:                                             ; preds = %2255
  %2257 = load i32, ptr @test_count, align 4, !tbaa !5
  %2258 = add nsw i32 %2257, 1
  store i32 %2258, ptr @test_count, align 4, !tbaa !5
  %2259 = load ptr, ptr %24, align 8, !tbaa !9
  %2260 = call i32 @s2n_is_cipher_suite_valid_for_auth(ptr noundef %2259, ptr noundef @s2n_ecdhe_ecdsa_with_aes_128_cbc_sha)
  %2261 = icmp eq i32 %2260, -1
  br i1 %2261, label %2315, label %2262

2262:                                             ; preds = %2256
  br label %2263

2263:                                             ; preds = %2262
  br label %2264

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

2271:                                             ; preds = %2264
  %2272 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2273 = call i32 @fileno(ptr noundef %2272) #8
  %2274 = call i32 @isatty(i32 noundef %2273) #8
  %2275 = icmp ne i32 %2274, 0
  br i1 %2275, label %2276, label %2293

2276:                                             ; preds = %2271
  %2277 = load i32, ptr %44, align 4, !tbaa !5
  %2278 = call ptr @__errno_location() #9
  store i32 %2277, ptr %2278, align 4, !tbaa !5
  %2279 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2280 = load i32, ptr @test_count, align 4, !tbaa !5
  %2281 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2282 = load i32, ptr %2281, align 4, !tbaa !5
  %2283 = call ptr @s2n_strerror(i32 noundef %2282, ptr noundef @.str.4)
  %2284 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2285 = load i32, ptr %2284, align 4, !tbaa !5
  %2286 = call ptr @s2n_strerror_debug(i32 noundef %2285, ptr noundef @.str.4)
  %2287 = call ptr @__errno_location() #9
  %2288 = load i32, ptr %2287, align 4, !tbaa !5
  %2289 = call ptr @strerror(i32 noundef %2288) #8
  %2290 = call ptr @__errno_location() #9
  %2291 = load i32, ptr %2290, align 4, !tbaa !5
  %2292 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2279, ptr noundef @.str.2, i32 noundef %2280, ptr noundef @.str.23, ptr noundef @.str.1, i32 noundef 119, ptr noundef %2283, ptr noundef %2286, ptr noundef %2289, i32 noundef %2291) #8
  br label %2310

2293:                                             ; preds = %2271, %2264
  %2294 = load i32, ptr %44, align 4, !tbaa !5
  %2295 = call ptr @__errno_location() #9
  store i32 %2294, ptr %2295, align 4, !tbaa !5
  %2296 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2297 = load i32, ptr @test_count, align 4, !tbaa !5
  %2298 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2299 = load i32, ptr %2298, align 4, !tbaa !5
  %2300 = call ptr @s2n_strerror(i32 noundef %2299, ptr noundef @.str.4)
  %2301 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2302 = load i32, ptr %2301, align 4, !tbaa !5
  %2303 = call ptr @s2n_strerror_debug(i32 noundef %2302, ptr noundef @.str.4)
  %2304 = call ptr @__errno_location() #9
  %2305 = load i32, ptr %2304, align 4, !tbaa !5
  %2306 = call ptr @strerror(i32 noundef %2305) #8
  %2307 = call ptr @__errno_location() #9
  %2308 = load i32, ptr %2307, align 4, !tbaa !5
  %2309 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2296, ptr noundef @.str.5, i32 noundef %2297, ptr noundef @.str.23, ptr noundef @.str.1, i32 noundef 119, ptr noundef %2300, ptr noundef %2303, ptr noundef %2306, i32 noundef %2308) #8
  br label %2310

2310:                                             ; preds = %2293, %2276
  call void @llvm.lifetime.end.p0(i64 4, ptr %44) #8
  br label %2311

2311:                                             ; preds = %2310
  br label %2312

2312:                                             ; preds = %2311
  call void @exit(i32 noundef 1) #10
  unreachable

2313:                                             ; No predecessors!
  br label %2314

2314:                                             ; preds = %2313
  br label %2315

2315:                                             ; preds = %2314, %2256
  br label %2316

2316:                                             ; preds = %2315
  br label %2317

2317:                                             ; preds = %2316
  br label %2318

2318:                                             ; preds = %2317
  %2319 = load i32, ptr @test_count, align 4, !tbaa !5
  %2320 = add nsw i32 %2319, 1
  store i32 %2320, ptr @test_count, align 4, !tbaa !5
  %2321 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2322 = load i32, ptr %2321, align 4, !tbaa !5
  %2323 = icmp eq i32 %2322, 0
  br i1 %2323, label %2324, label %2377

2324:                                             ; preds = %2318
  br label %2325

2325:                                             ; preds = %2324
  br label %2326

2326:                                             ; preds = %2325
  call void @llvm.lifetime.start.p0(i64 4, ptr %45) #8
  %2327 = call ptr @__errno_location() #9
  %2328 = load i32, ptr %2327, align 4, !tbaa !5
  store i32 %2328, ptr %45, align 4, !tbaa !5
  %2329 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2330 = call i32 @s2n_print_stacktrace(ptr noundef %2329)
  %2331 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2332 = trunc i8 %2331 to i1
  br i1 %2332, label %2333, label %2355

2333:                                             ; preds = %2326
  %2334 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2335 = call i32 @fileno(ptr noundef %2334) #8
  %2336 = call i32 @isatty(i32 noundef %2335) #8
  %2337 = icmp ne i32 %2336, 0
  br i1 %2337, label %2338, label %2355

2338:                                             ; preds = %2333
  %2339 = load i32, ptr %45, align 4, !tbaa !5
  %2340 = call ptr @__errno_location() #9
  store i32 %2339, ptr %2340, align 4, !tbaa !5
  %2341 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2342 = load i32, ptr @test_count, align 4, !tbaa !5
  %2343 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2344 = load i32, ptr %2343, align 4, !tbaa !5
  %2345 = call ptr @s2n_strerror(i32 noundef %2344, ptr noundef @.str.4)
  %2346 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2347 = load i32, ptr %2346, align 4, !tbaa !5
  %2348 = call ptr @s2n_strerror_debug(i32 noundef %2347, ptr noundef @.str.4)
  %2349 = call ptr @__errno_location() #9
  %2350 = load i32, ptr %2349, align 4, !tbaa !5
  %2351 = call ptr @strerror(i32 noundef %2350) #8
  %2352 = call ptr @__errno_location() #9
  %2353 = load i32, ptr %2352, align 4, !tbaa !5
  %2354 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2341, ptr noundef @.str.2, i32 noundef %2342, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 119, ptr noundef %2345, ptr noundef %2348, ptr noundef %2351, i32 noundef %2353) #8
  br label %2372

2355:                                             ; preds = %2333, %2326
  %2356 = load i32, ptr %45, align 4, !tbaa !5
  %2357 = call ptr @__errno_location() #9
  store i32 %2356, ptr %2357, align 4, !tbaa !5
  %2358 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2359 = load i32, ptr @test_count, align 4, !tbaa !5
  %2360 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2361 = load i32, ptr %2360, align 4, !tbaa !5
  %2362 = call ptr @s2n_strerror(i32 noundef %2361, ptr noundef @.str.4)
  %2363 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2364 = load i32, ptr %2363, align 4, !tbaa !5
  %2365 = call ptr @s2n_strerror_debug(i32 noundef %2364, ptr noundef @.str.4)
  %2366 = call ptr @__errno_location() #9
  %2367 = load i32, ptr %2366, align 4, !tbaa !5
  %2368 = call ptr @strerror(i32 noundef %2367) #8
  %2369 = call ptr @__errno_location() #9
  %2370 = load i32, ptr %2369, align 4, !tbaa !5
  %2371 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2358, ptr noundef @.str.5, i32 noundef %2359, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 119, ptr noundef %2362, ptr noundef %2365, ptr noundef %2368, i32 noundef %2370) #8
  br label %2372

2372:                                             ; preds = %2355, %2338
  call void @llvm.lifetime.end.p0(i64 4, ptr %45) #8
  br label %2373

2373:                                             ; preds = %2372
  br label %2374

2374:                                             ; preds = %2373
  call void @exit(i32 noundef 1) #10
  unreachable

2375:                                             ; No predecessors!
  br label %2376

2376:                                             ; preds = %2375
  br label %2377

2377:                                             ; preds = %2376, %2318
  br label %2378

2378:                                             ; preds = %2377
  br label %2379

2379:                                             ; preds = %2378
  br label %2380

2380:                                             ; preds = %2379
  %2381 = load i32, ptr @test_count, align 4, !tbaa !5
  %2382 = add nsw i32 %2381, 1
  store i32 %2382, ptr @test_count, align 4, !tbaa !5
  %2383 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2384 = load i32, ptr %2383, align 4, !tbaa !5
  %2385 = call ptr @s2n_strerror_debug(i32 noundef %2384, ptr noundef @.str.4)
  %2386 = icmp eq ptr %2385, null
  br i1 %2386, label %2387, label %2440

2387:                                             ; preds = %2380
  br label %2388

2388:                                             ; preds = %2387
  br label %2389

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

2396:                                             ; preds = %2389
  %2397 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2398 = call i32 @fileno(ptr noundef %2397) #8
  %2399 = call i32 @isatty(i32 noundef %2398) #8
  %2400 = icmp ne i32 %2399, 0
  br i1 %2400, label %2401, label %2418

2401:                                             ; preds = %2396
  %2402 = load i32, ptr %46, align 4, !tbaa !5
  %2403 = call ptr @__errno_location() #9
  store i32 %2402, ptr %2403, align 4, !tbaa !5
  %2404 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2405 = load i32, ptr @test_count, align 4, !tbaa !5
  %2406 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2407 = load i32, ptr %2406, align 4, !tbaa !5
  %2408 = call ptr @s2n_strerror(i32 noundef %2407, ptr noundef @.str.4)
  %2409 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2410 = load i32, ptr %2409, align 4, !tbaa !5
  %2411 = call ptr @s2n_strerror_debug(i32 noundef %2410, ptr noundef @.str.4)
  %2412 = call ptr @__errno_location() #9
  %2413 = load i32, ptr %2412, align 4, !tbaa !5
  %2414 = call ptr @strerror(i32 noundef %2413) #8
  %2415 = call ptr @__errno_location() #9
  %2416 = load i32, ptr %2415, align 4, !tbaa !5
  %2417 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2404, ptr noundef @.str.2, i32 noundef %2405, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 119, ptr noundef %2408, ptr noundef %2411, ptr noundef %2414, i32 noundef %2416) #8
  br label %2435

2418:                                             ; preds = %2396, %2389
  %2419 = load i32, ptr %46, align 4, !tbaa !5
  %2420 = call ptr @__errno_location() #9
  store i32 %2419, ptr %2420, align 4, !tbaa !5
  %2421 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2422 = load i32, ptr @test_count, align 4, !tbaa !5
  %2423 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2424 = load i32, ptr %2423, align 4, !tbaa !5
  %2425 = call ptr @s2n_strerror(i32 noundef %2424, ptr noundef @.str.4)
  %2426 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2427 = load i32, ptr %2426, align 4, !tbaa !5
  %2428 = call ptr @s2n_strerror_debug(i32 noundef %2427, ptr noundef @.str.4)
  %2429 = call ptr @__errno_location() #9
  %2430 = load i32, ptr %2429, align 4, !tbaa !5
  %2431 = call ptr @strerror(i32 noundef %2430) #8
  %2432 = call ptr @__errno_location() #9
  %2433 = load i32, ptr %2432, align 4, !tbaa !5
  %2434 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2421, ptr noundef @.str.5, i32 noundef %2422, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 119, ptr noundef %2425, ptr noundef %2428, ptr noundef %2431, i32 noundef %2433) #8
  br label %2435

2435:                                             ; preds = %2418, %2401
  call void @llvm.lifetime.end.p0(i64 4, ptr %46) #8
  br label %2436

2436:                                             ; preds = %2435
  br label %2437

2437:                                             ; preds = %2436
  call void @exit(i32 noundef 1) #10
  unreachable

2438:                                             ; No predecessors!
  br label %2439

2439:                                             ; preds = %2438
  br label %2440

2440:                                             ; preds = %2439, %2380
  br label %2441

2441:                                             ; preds = %2440
  br label %2442

2442:                                             ; preds = %2441
  br label %2443

2443:                                             ; preds = %2442
  %2444 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %2444, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %2445 = call ptr @__errno_location() #9
  store i32 0, ptr %2445, align 4, !tbaa !5
  br label %2446

2446:                                             ; preds = %2443
  br label %2447

2447:                                             ; preds = %2446
  br label %2448

2448:                                             ; preds = %2447
  br label %2449

2449:                                             ; preds = %2448
  br label %2450

2450:                                             ; preds = %2449
  %2451 = load i32, ptr @test_count, align 4, !tbaa !5
  %2452 = add nsw i32 %2451, 1
  store i32 %2452, ptr @test_count, align 4, !tbaa !5
  %2453 = load ptr, ptr %24, align 8, !tbaa !9
  %2454 = call i32 @s2n_is_cipher_suite_valid_for_auth(ptr noundef %2453, ptr noundef @s2n_tls13_aes_128_gcm_sha256)
  %2455 = icmp eq i32 %2454, -1
  br i1 %2455, label %2456, label %2509

2456:                                             ; preds = %2450
  br label %2457

2457:                                             ; preds = %2456
  br label %2458

2458:                                             ; preds = %2457
  call void @llvm.lifetime.start.p0(i64 4, ptr %47) #8
  %2459 = call ptr @__errno_location() #9
  %2460 = load i32, ptr %2459, align 4, !tbaa !5
  store i32 %2460, ptr %47, align 4, !tbaa !5
  %2461 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2462 = call i32 @s2n_print_stacktrace(ptr noundef %2461)
  %2463 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2464 = trunc i8 %2463 to i1
  br i1 %2464, label %2465, label %2487

2465:                                             ; preds = %2458
  %2466 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2467 = call i32 @fileno(ptr noundef %2466) #8
  %2468 = call i32 @isatty(i32 noundef %2467) #8
  %2469 = icmp ne i32 %2468, 0
  br i1 %2469, label %2470, label %2487

2470:                                             ; preds = %2465
  %2471 = load i32, ptr %47, align 4, !tbaa !5
  %2472 = call ptr @__errno_location() #9
  store i32 %2471, ptr %2472, align 4, !tbaa !5
  %2473 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2474 = load i32, ptr @test_count, align 4, !tbaa !5
  %2475 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2476 = load i32, ptr %2475, align 4, !tbaa !5
  %2477 = call ptr @s2n_strerror(i32 noundef %2476, ptr noundef @.str.4)
  %2478 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2479 = load i32, ptr %2478, align 4, !tbaa !5
  %2480 = call ptr @s2n_strerror_debug(i32 noundef %2479, ptr noundef @.str.4)
  %2481 = call ptr @__errno_location() #9
  %2482 = load i32, ptr %2481, align 4, !tbaa !5
  %2483 = call ptr @strerror(i32 noundef %2482) #8
  %2484 = call ptr @__errno_location() #9
  %2485 = load i32, ptr %2484, align 4, !tbaa !5
  %2486 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2473, ptr noundef @.str.2, i32 noundef %2474, ptr noundef @.str.24, ptr noundef @.str.1, i32 noundef 120, ptr noundef %2477, ptr noundef %2480, ptr noundef %2483, i32 noundef %2485) #8
  br label %2504

2487:                                             ; preds = %2465, %2458
  %2488 = load i32, ptr %47, align 4, !tbaa !5
  %2489 = call ptr @__errno_location() #9
  store i32 %2488, ptr %2489, align 4, !tbaa !5
  %2490 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2491 = load i32, ptr @test_count, align 4, !tbaa !5
  %2492 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2493 = load i32, ptr %2492, align 4, !tbaa !5
  %2494 = call ptr @s2n_strerror(i32 noundef %2493, ptr noundef @.str.4)
  %2495 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2496 = load i32, ptr %2495, align 4, !tbaa !5
  %2497 = call ptr @s2n_strerror_debug(i32 noundef %2496, ptr noundef @.str.4)
  %2498 = call ptr @__errno_location() #9
  %2499 = load i32, ptr %2498, align 4, !tbaa !5
  %2500 = call ptr @strerror(i32 noundef %2499) #8
  %2501 = call ptr @__errno_location() #9
  %2502 = load i32, ptr %2501, align 4, !tbaa !5
  %2503 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2490, ptr noundef @.str.5, i32 noundef %2491, ptr noundef @.str.24, ptr noundef @.str.1, i32 noundef 120, ptr noundef %2494, ptr noundef %2497, ptr noundef %2500, i32 noundef %2502) #8
  br label %2504

2504:                                             ; preds = %2487, %2470
  call void @llvm.lifetime.end.p0(i64 4, ptr %47) #8
  br label %2505

2505:                                             ; preds = %2504
  br label %2506

2506:                                             ; preds = %2505
  call void @exit(i32 noundef 1) #10
  unreachable

2507:                                             ; No predecessors!
  br label %2508

2508:                                             ; preds = %2507
  br label %2509

2509:                                             ; preds = %2508, %2450
  br label %2510

2510:                                             ; preds = %2509
  br label %2511

2511:                                             ; preds = %2510
  br label %2512

2512:                                             ; preds = %2511
  %2513 = load i32, ptr @test_count, align 4, !tbaa !5
  %2514 = add nsw i32 %2513, 1
  store i32 %2514, ptr @test_count, align 4, !tbaa !5
  %2515 = load ptr, ptr %24, align 8, !tbaa !9
  %2516 = load ptr, ptr %17, align 8, !tbaa !9
  %2517 = call i32 @s2n_connection_set_config(ptr noundef %2515, ptr noundef %2516)
  %2518 = icmp eq i32 %2517, -1
  br i1 %2518, label %2519, label %2572

2519:                                             ; preds = %2512
  br label %2520

2520:                                             ; preds = %2519
  br label %2521

2521:                                             ; preds = %2520
  call void @llvm.lifetime.start.p0(i64 4, ptr %48) #8
  %2522 = call ptr @__errno_location() #9
  %2523 = load i32, ptr %2522, align 4, !tbaa !5
  store i32 %2523, ptr %48, align 4, !tbaa !5
  %2524 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2525 = call i32 @s2n_print_stacktrace(ptr noundef %2524)
  %2526 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2527 = trunc i8 %2526 to i1
  br i1 %2527, label %2528, label %2550

2528:                                             ; preds = %2521
  %2529 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2530 = call i32 @fileno(ptr noundef %2529) #8
  %2531 = call i32 @isatty(i32 noundef %2530) #8
  %2532 = icmp ne i32 %2531, 0
  br i1 %2532, label %2533, label %2550

2533:                                             ; preds = %2528
  %2534 = load i32, ptr %48, align 4, !tbaa !5
  %2535 = call ptr @__errno_location() #9
  store i32 %2534, ptr %2535, align 4, !tbaa !5
  %2536 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2537 = load i32, ptr @test_count, align 4, !tbaa !5
  %2538 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2539 = load i32, ptr %2538, align 4, !tbaa !5
  %2540 = call ptr @s2n_strerror(i32 noundef %2539, ptr noundef @.str.4)
  %2541 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2542 = load i32, ptr %2541, align 4, !tbaa !5
  %2543 = call ptr @s2n_strerror_debug(i32 noundef %2542, ptr noundef @.str.4)
  %2544 = call ptr @__errno_location() #9
  %2545 = load i32, ptr %2544, align 4, !tbaa !5
  %2546 = call ptr @strerror(i32 noundef %2545) #8
  %2547 = call ptr @__errno_location() #9
  %2548 = load i32, ptr %2547, align 4, !tbaa !5
  %2549 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2536, ptr noundef @.str.2, i32 noundef %2537, ptr noundef @.str.28, ptr noundef @.str.1, i32 noundef 123, ptr noundef %2540, ptr noundef %2543, ptr noundef %2546, i32 noundef %2548) #8
  br label %2567

2550:                                             ; preds = %2528, %2521
  %2551 = load i32, ptr %48, align 4, !tbaa !5
  %2552 = call ptr @__errno_location() #9
  store i32 %2551, ptr %2552, align 4, !tbaa !5
  %2553 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2554 = load i32, ptr @test_count, align 4, !tbaa !5
  %2555 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2556 = load i32, ptr %2555, align 4, !tbaa !5
  %2557 = call ptr @s2n_strerror(i32 noundef %2556, ptr noundef @.str.4)
  %2558 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2559 = load i32, ptr %2558, align 4, !tbaa !5
  %2560 = call ptr @s2n_strerror_debug(i32 noundef %2559, ptr noundef @.str.4)
  %2561 = call ptr @__errno_location() #9
  %2562 = load i32, ptr %2561, align 4, !tbaa !5
  %2563 = call ptr @strerror(i32 noundef %2562) #8
  %2564 = call ptr @__errno_location() #9
  %2565 = load i32, ptr %2564, align 4, !tbaa !5
  %2566 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2553, ptr noundef @.str.5, i32 noundef %2554, ptr noundef @.str.28, ptr noundef @.str.1, i32 noundef 123, ptr noundef %2557, ptr noundef %2560, ptr noundef %2563, i32 noundef %2565) #8
  br label %2567

2567:                                             ; preds = %2550, %2533
  call void @llvm.lifetime.end.p0(i64 4, ptr %48) #8
  br label %2568

2568:                                             ; preds = %2567
  br label %2569

2569:                                             ; preds = %2568
  call void @exit(i32 noundef 1) #10
  unreachable

2570:                                             ; No predecessors!
  br label %2571

2571:                                             ; preds = %2570
  br label %2572

2572:                                             ; preds = %2571, %2512
  br label %2573

2573:                                             ; preds = %2572
  br label %2574

2574:                                             ; preds = %2573
  br label %2575

2575:                                             ; preds = %2574
  br label %2576

2576:                                             ; preds = %2575
  %2577 = load i32, ptr @test_count, align 4, !tbaa !5
  %2578 = add nsw i32 %2577, 1
  store i32 %2578, ptr @test_count, align 4, !tbaa !5
  %2579 = load ptr, ptr %24, align 8, !tbaa !9
  %2580 = call i32 @s2n_is_cipher_suite_valid_for_auth(ptr noundef %2579, ptr noundef @s2n_dhe_rsa_with_3des_ede_cbc_sha)
  %2581 = icmp eq i32 %2580, -1
  br i1 %2581, label %2635, label %2582

2582:                                             ; preds = %2576
  br label %2583

2583:                                             ; preds = %2582
  br label %2584

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

2591:                                             ; preds = %2584
  %2592 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2593 = call i32 @fileno(ptr noundef %2592) #8
  %2594 = call i32 @isatty(i32 noundef %2593) #8
  %2595 = icmp ne i32 %2594, 0
  br i1 %2595, label %2596, label %2613

2596:                                             ; preds = %2591
  %2597 = load i32, ptr %49, align 4, !tbaa !5
  %2598 = call ptr @__errno_location() #9
  store i32 %2597, ptr %2598, align 4, !tbaa !5
  %2599 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2600 = load i32, ptr @test_count, align 4, !tbaa !5
  %2601 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2602 = load i32, ptr %2601, align 4, !tbaa !5
  %2603 = call ptr @s2n_strerror(i32 noundef %2602, ptr noundef @.str.4)
  %2604 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2605 = load i32, ptr %2604, align 4, !tbaa !5
  %2606 = call ptr @s2n_strerror_debug(i32 noundef %2605, ptr noundef @.str.4)
  %2607 = call ptr @__errno_location() #9
  %2608 = load i32, ptr %2607, align 4, !tbaa !5
  %2609 = call ptr @strerror(i32 noundef %2608) #8
  %2610 = call ptr @__errno_location() #9
  %2611 = load i32, ptr %2610, align 4, !tbaa !5
  %2612 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2599, ptr noundef @.str.2, i32 noundef %2600, ptr noundef @.str.20, ptr noundef @.str.1, i32 noundef 124, ptr noundef %2603, ptr noundef %2606, ptr noundef %2609, i32 noundef %2611) #8
  br label %2630

2613:                                             ; preds = %2591, %2584
  %2614 = load i32, ptr %49, align 4, !tbaa !5
  %2615 = call ptr @__errno_location() #9
  store i32 %2614, ptr %2615, align 4, !tbaa !5
  %2616 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2617 = load i32, ptr @test_count, align 4, !tbaa !5
  %2618 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2619 = load i32, ptr %2618, align 4, !tbaa !5
  %2620 = call ptr @s2n_strerror(i32 noundef %2619, ptr noundef @.str.4)
  %2621 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2622 = load i32, ptr %2621, align 4, !tbaa !5
  %2623 = call ptr @s2n_strerror_debug(i32 noundef %2622, ptr noundef @.str.4)
  %2624 = call ptr @__errno_location() #9
  %2625 = load i32, ptr %2624, align 4, !tbaa !5
  %2626 = call ptr @strerror(i32 noundef %2625) #8
  %2627 = call ptr @__errno_location() #9
  %2628 = load i32, ptr %2627, align 4, !tbaa !5
  %2629 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2616, ptr noundef @.str.5, i32 noundef %2617, ptr noundef @.str.20, ptr noundef @.str.1, i32 noundef 124, ptr noundef %2620, ptr noundef %2623, ptr noundef %2626, i32 noundef %2628) #8
  br label %2630

2630:                                             ; preds = %2613, %2596
  call void @llvm.lifetime.end.p0(i64 4, ptr %49) #8
  br label %2631

2631:                                             ; preds = %2630
  br label %2632

2632:                                             ; preds = %2631
  call void @exit(i32 noundef 1) #10
  unreachable

2633:                                             ; No predecessors!
  br label %2634

2634:                                             ; preds = %2633
  br label %2635

2635:                                             ; preds = %2634, %2576
  br label %2636

2636:                                             ; preds = %2635
  br label %2637

2637:                                             ; preds = %2636
  br label %2638

2638:                                             ; preds = %2637
  %2639 = load i32, ptr @test_count, align 4, !tbaa !5
  %2640 = add nsw i32 %2639, 1
  store i32 %2640, ptr @test_count, align 4, !tbaa !5
  %2641 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2642 = load i32, ptr %2641, align 4, !tbaa !5
  %2643 = icmp eq i32 %2642, 0
  br i1 %2643, label %2644, label %2697

2644:                                             ; preds = %2638
  br label %2645

2645:                                             ; preds = %2644
  br label %2646

2646:                                             ; preds = %2645
  call void @llvm.lifetime.start.p0(i64 4, ptr %50) #8
  %2647 = call ptr @__errno_location() #9
  %2648 = load i32, ptr %2647, align 4, !tbaa !5
  store i32 %2648, ptr %50, align 4, !tbaa !5
  %2649 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2650 = call i32 @s2n_print_stacktrace(ptr noundef %2649)
  %2651 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2652 = trunc i8 %2651 to i1
  br i1 %2652, label %2653, label %2675

2653:                                             ; preds = %2646
  %2654 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2655 = call i32 @fileno(ptr noundef %2654) #8
  %2656 = call i32 @isatty(i32 noundef %2655) #8
  %2657 = icmp ne i32 %2656, 0
  br i1 %2657, label %2658, label %2675

2658:                                             ; preds = %2653
  %2659 = load i32, ptr %50, align 4, !tbaa !5
  %2660 = call ptr @__errno_location() #9
  store i32 %2659, ptr %2660, align 4, !tbaa !5
  %2661 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2662 = load i32, ptr @test_count, align 4, !tbaa !5
  %2663 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2664 = load i32, ptr %2663, align 4, !tbaa !5
  %2665 = call ptr @s2n_strerror(i32 noundef %2664, ptr noundef @.str.4)
  %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_debug(i32 noundef %2667, ptr noundef @.str.4)
  %2669 = call ptr @__errno_location() #9
  %2670 = load i32, ptr %2669, align 4, !tbaa !5
  %2671 = call ptr @strerror(i32 noundef %2670) #8
  %2672 = call ptr @__errno_location() #9
  %2673 = load i32, ptr %2672, align 4, !tbaa !5
  %2674 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2661, ptr noundef @.str.2, i32 noundef %2662, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 124, ptr noundef %2665, ptr noundef %2668, ptr noundef %2671, i32 noundef %2673) #8
  br label %2692

2675:                                             ; preds = %2653, %2646
  %2676 = load i32, ptr %50, align 4, !tbaa !5
  %2677 = call ptr @__errno_location() #9
  store i32 %2676, ptr %2677, align 4, !tbaa !5
  %2678 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2679 = load i32, ptr @test_count, align 4, !tbaa !5
  %2680 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2681 = load i32, ptr %2680, align 4, !tbaa !5
  %2682 = call ptr @s2n_strerror(i32 noundef %2681, ptr noundef @.str.4)
  %2683 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2684 = load i32, ptr %2683, align 4, !tbaa !5
  %2685 = call ptr @s2n_strerror_debug(i32 noundef %2684, ptr noundef @.str.4)
  %2686 = call ptr @__errno_location() #9
  %2687 = load i32, ptr %2686, align 4, !tbaa !5
  %2688 = call ptr @strerror(i32 noundef %2687) #8
  %2689 = call ptr @__errno_location() #9
  %2690 = load i32, ptr %2689, align 4, !tbaa !5
  %2691 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2678, ptr noundef @.str.5, i32 noundef %2679, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 124, ptr noundef %2682, ptr noundef %2685, ptr noundef %2688, i32 noundef %2690) #8
  br label %2692

2692:                                             ; preds = %2675, %2658
  call void @llvm.lifetime.end.p0(i64 4, ptr %50) #8
  br label %2693

2693:                                             ; preds = %2692
  br label %2694

2694:                                             ; preds = %2693
  call void @exit(i32 noundef 1) #10
  unreachable

2695:                                             ; No predecessors!
  br label %2696

2696:                                             ; preds = %2695
  br label %2697

2697:                                             ; preds = %2696, %2638
  br label %2698

2698:                                             ; preds = %2697
  br label %2699

2699:                                             ; preds = %2698
  br label %2700

2700:                                             ; preds = %2699
  %2701 = load i32, ptr @test_count, align 4, !tbaa !5
  %2702 = add nsw i32 %2701, 1
  store i32 %2702, ptr @test_count, align 4, !tbaa !5
  %2703 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2704 = load i32, ptr %2703, align 4, !tbaa !5
  %2705 = call ptr @s2n_strerror_debug(i32 noundef %2704, ptr noundef @.str.4)
  %2706 = icmp eq ptr %2705, null
  br i1 %2706, label %2707, label %2760

2707:                                             ; preds = %2700
  br label %2708

2708:                                             ; preds = %2707
  br label %2709

2709:                                             ; preds = %2708
  call void @llvm.lifetime.start.p0(i64 4, ptr %51) #8
  %2710 = call ptr @__errno_location() #9
  %2711 = load i32, ptr %2710, align 4, !tbaa !5
  store i32 %2711, ptr %51, align 4, !tbaa !5
  %2712 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2713 = call i32 @s2n_print_stacktrace(ptr noundef %2712)
  %2714 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2715 = trunc i8 %2714 to i1
  br i1 %2715, label %2716, label %2738

2716:                                             ; preds = %2709
  %2717 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2718 = call i32 @fileno(ptr noundef %2717) #8
  %2719 = call i32 @isatty(i32 noundef %2718) #8
  %2720 = icmp ne i32 %2719, 0
  br i1 %2720, label %2721, label %2738

2721:                                             ; preds = %2716
  %2722 = load i32, ptr %51, align 4, !tbaa !5
  %2723 = call ptr @__errno_location() #9
  store i32 %2722, ptr %2723, align 4, !tbaa !5
  %2724 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2725 = load i32, ptr @test_count, align 4, !tbaa !5
  %2726 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2727 = load i32, ptr %2726, align 4, !tbaa !5
  %2728 = call ptr @s2n_strerror(i32 noundef %2727, ptr noundef @.str.4)
  %2729 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2730 = load i32, ptr %2729, align 4, !tbaa !5
  %2731 = call ptr @s2n_strerror_debug(i32 noundef %2730, ptr noundef @.str.4)
  %2732 = call ptr @__errno_location() #9
  %2733 = load i32, ptr %2732, align 4, !tbaa !5
  %2734 = call ptr @strerror(i32 noundef %2733) #8
  %2735 = call ptr @__errno_location() #9
  %2736 = load i32, ptr %2735, align 4, !tbaa !5
  %2737 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2724, ptr noundef @.str.2, i32 noundef %2725, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 124, ptr noundef %2728, ptr noundef %2731, ptr noundef %2734, i32 noundef %2736) #8
  br label %2755

2738:                                             ; preds = %2716, %2709
  %2739 = load i32, ptr %51, align 4, !tbaa !5
  %2740 = call ptr @__errno_location() #9
  store i32 %2739, ptr %2740, align 4, !tbaa !5
  %2741 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2742 = load i32, ptr @test_count, align 4, !tbaa !5
  %2743 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2744 = load i32, ptr %2743, align 4, !tbaa !5
  %2745 = call ptr @s2n_strerror(i32 noundef %2744, ptr noundef @.str.4)
  %2746 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2747 = load i32, ptr %2746, align 4, !tbaa !5
  %2748 = call ptr @s2n_strerror_debug(i32 noundef %2747, ptr noundef @.str.4)
  %2749 = call ptr @__errno_location() #9
  %2750 = load i32, ptr %2749, align 4, !tbaa !5
  %2751 = call ptr @strerror(i32 noundef %2750) #8
  %2752 = call ptr @__errno_location() #9
  %2753 = load i32, ptr %2752, align 4, !tbaa !5
  %2754 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2741, ptr noundef @.str.5, i32 noundef %2742, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 124, ptr noundef %2745, ptr noundef %2748, ptr noundef %2751, i32 noundef %2753) #8
  br label %2755

2755:                                             ; preds = %2738, %2721
  call void @llvm.lifetime.end.p0(i64 4, ptr %51) #8
  br label %2756

2756:                                             ; preds = %2755
  br label %2757

2757:                                             ; preds = %2756
  call void @exit(i32 noundef 1) #10
  unreachable

2758:                                             ; No predecessors!
  br label %2759

2759:                                             ; preds = %2758
  br label %2760

2760:                                             ; preds = %2759, %2700
  br label %2761

2761:                                             ; preds = %2760
  br label %2762

2762:                                             ; preds = %2761
  br label %2763

2763:                                             ; preds = %2762
  %2764 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %2764, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %2765 = call ptr @__errno_location() #9
  store i32 0, ptr %2765, align 4, !tbaa !5
  br label %2766

2766:                                             ; preds = %2763
  br label %2767

2767:                                             ; preds = %2766
  br label %2768

2768:                                             ; preds = %2767
  br label %2769

2769:                                             ; preds = %2768
  br label %2770

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

2776:                                             ; preds = %2770
  br label %2777

2777:                                             ; preds = %2776
  br label %2778

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

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

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

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

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

2825:                                             ; preds = %2824
  br label %2826

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

2827:                                             ; No predecessors!
  br label %2828

2828:                                             ; preds = %2827
  br label %2829

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

2830:                                             ; preds = %2829
  br label %2831

2831:                                             ; preds = %2830
  br label %2832

2832:                                             ; preds = %2831
  %2833 = load i32, ptr @test_count, align 4, !tbaa !5
  %2834 = add nsw i32 %2833, 1
  store i32 %2834, ptr @test_count, align 4, !tbaa !5
  %2835 = load ptr, ptr %24, align 8, !tbaa !9
  %2836 = call i32 @s2n_is_cipher_suite_valid_for_auth(ptr noundef %2835, ptr noundef @s2n_tls13_aes_128_gcm_sha256)
  %2837 = icmp eq i32 %2836, -1
  br i1 %2837, label %2838, label %2891

2838:                                             ; preds = %2832
  br label %2839

2839:                                             ; preds = %2838
  br label %2840

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

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

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

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

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

2887:                                             ; preds = %2886
  br label %2888

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

2889:                                             ; No predecessors!
  br label %2890

2890:                                             ; preds = %2889
  br label %2891

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

2892:                                             ; preds = %2891
  br label %2893

2893:                                             ; preds = %2892
  br label %2894

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

2901:                                             ; preds = %2894
  br label %2902

2902:                                             ; preds = %2901
  br label %2903

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

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

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

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

2949:                                             ; preds = %2932, %2915
  call void @llvm.lifetime.end.p0(i64 4, ptr %54) #8
  br label %2950

2950:                                             ; preds = %2949
  br label %2951

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

2952:                                             ; No predecessors!
  br label %2953

2953:                                             ; preds = %2952
  br label %2954

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

2955:                                             ; preds = %2954
  br label %2956

2956:                                             ; preds = %2955
  br label %2957

2957:                                             ; preds = %2956
  %2958 = load i32, ptr @test_count, align 4, !tbaa !5
  %2959 = add nsw i32 %2958, 1
  store i32 %2959, ptr @test_count, align 4, !tbaa !5
  %2960 = load ptr, ptr %24, align 8, !tbaa !9
  %2961 = call i32 @s2n_is_cipher_suite_valid_for_auth(ptr noundef %2960, ptr noundef @s2n_dhe_rsa_with_3des_ede_cbc_sha)
  %2962 = icmp eq i32 %2961, -1
  br i1 %2962, label %2963, label %3016

2963:                                             ; preds = %2957
  br label %2964

2964:                                             ; preds = %2963
  br label %2965

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

2972:                                             ; preds = %2965
  %2973 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2974 = call i32 @fileno(ptr noundef %2973) #8
  %2975 = call i32 @isatty(i32 noundef %2974) #8
  %2976 = icmp ne i32 %2975, 0
  br i1 %2976, label %2977, label %2994

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

2994:                                             ; preds = %2972, %2965
  %2995 = load i32, ptr %55, align 4, !tbaa !5
  %2996 = call ptr @__errno_location() #9
  store i32 %2995, ptr %2996, align 4, !tbaa !5
  %2997 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2998 = load i32, ptr @test_count, align 4, !tbaa !5
  %2999 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3000 = load i32, ptr %2999, align 4, !tbaa !5
  %3001 = call ptr @s2n_strerror(i32 noundef %3000, ptr noundef @.str.4)
  %3002 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3003 = load i32, ptr %3002, align 4, !tbaa !5
  %3004 = call ptr @s2n_strerror_debug(i32 noundef %3003, ptr noundef @.str.4)
  %3005 = call ptr @__errno_location() #9
  %3006 = load i32, ptr %3005, align 4, !tbaa !5
  %3007 = call ptr @strerror(i32 noundef %3006) #8
  %3008 = call ptr @__errno_location() #9
  %3009 = load i32, ptr %3008, align 4, !tbaa !5
  %3010 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2997, ptr noundef @.str.5, i32 noundef %2998, ptr noundef @.str.26, ptr noundef @.str.1, i32 noundef 130, ptr noundef %3001, ptr noundef %3004, ptr noundef %3007, i32 noundef %3009) #8
  br label %3011

3011:                                             ; preds = %2994, %2977
  call void @llvm.lifetime.end.p0(i64 4, ptr %55) #8
  br label %3012

3012:                                             ; preds = %3011
  br label %3013

3013:                                             ; preds = %3012
  call void @exit(i32 noundef 1) #10
  unreachable

3014:                                             ; No predecessors!
  br label %3015

3015:                                             ; preds = %3014
  br label %3016

3016:                                             ; preds = %3015, %2957
  br label %3017

3017:                                             ; preds = %3016
  br label %3018

3018:                                             ; preds = %3017
  br label %3019

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

3025:                                             ; preds = %3019
  br label %3026

3026:                                             ; preds = %3025
  br label %3027

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

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

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

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

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

3074:                                             ; preds = %3073
  br label %3075

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

3076:                                             ; No predecessors!
  br label %3077

3077:                                             ; preds = %3076
  br label %3078

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

3079:                                             ; preds = %3078
  br label %3080

3080:                                             ; preds = %3079
  br label %3081

3081:                                             ; preds = %3080
  %3082 = load i32, ptr @test_count, align 4, !tbaa !5
  %3083 = add nsw i32 %3082, 1
  store i32 %3083, ptr @test_count, align 4, !tbaa !5
  %3084 = load ptr, ptr %24, align 8, !tbaa !9
  %3085 = call i32 @s2n_is_cipher_suite_valid_for_auth(ptr noundef %3084, ptr noundef @s2n_tls13_aes_128_gcm_sha256)
  %3086 = icmp eq i32 %3085, -1
  br i1 %3086, label %3087, label %3140

3087:                                             ; preds = %3081
  br label %3088

3088:                                             ; preds = %3087
  br label %3089

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

3096:                                             ; preds = %3089
  %3097 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3098 = call i32 @fileno(ptr noundef %3097) #8
  %3099 = call i32 @isatty(i32 noundef %3098) #8
  %3100 = icmp ne i32 %3099, 0
  br i1 %3100, label %3101, label %3118

3101:                                             ; preds = %3096
  %3102 = load i32, ptr %57, align 4, !tbaa !5
  %3103 = call ptr @__errno_location() #9
  store i32 %3102, ptr %3103, align 4, !tbaa !5
  %3104 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3105 = load i32, ptr @test_count, align 4, !tbaa !5
  %3106 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3107 = load i32, ptr %3106, align 4, !tbaa !5
  %3108 = call ptr @s2n_strerror(i32 noundef %3107, ptr noundef @.str.4)
  %3109 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3110 = load i32, ptr %3109, align 4, !tbaa !5
  %3111 = call ptr @s2n_strerror_debug(i32 noundef %3110, ptr noundef @.str.4)
  %3112 = call ptr @__errno_location() #9
  %3113 = load i32, ptr %3112, align 4, !tbaa !5
  %3114 = call ptr @strerror(i32 noundef %3113) #8
  %3115 = call ptr @__errno_location() #9
  %3116 = load i32, ptr %3115, align 4, !tbaa !5
  %3117 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3104, ptr noundef @.str.2, i32 noundef %3105, ptr noundef @.str.24, ptr noundef @.str.1, i32 noundef 132, ptr noundef %3108, ptr noundef %3111, ptr noundef %3114, i32 noundef %3116) #8
  br label %3135

3118:                                             ; preds = %3096, %3089
  %3119 = load i32, ptr %57, align 4, !tbaa !5
  %3120 = call ptr @__errno_location() #9
  store i32 %3119, ptr %3120, align 4, !tbaa !5
  %3121 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3122 = load i32, ptr @test_count, align 4, !tbaa !5
  %3123 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3124 = load i32, ptr %3123, align 4, !tbaa !5
  %3125 = call ptr @s2n_strerror(i32 noundef %3124, ptr noundef @.str.4)
  %3126 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3127 = load i32, ptr %3126, align 4, !tbaa !5
  %3128 = call ptr @s2n_strerror_debug(i32 noundef %3127, ptr noundef @.str.4)
  %3129 = call ptr @__errno_location() #9
  %3130 = load i32, ptr %3129, align 4, !tbaa !5
  %3131 = call ptr @strerror(i32 noundef %3130) #8
  %3132 = call ptr @__errno_location() #9
  %3133 = load i32, ptr %3132, align 4, !tbaa !5
  %3134 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3121, ptr noundef @.str.5, i32 noundef %3122, ptr noundef @.str.24, ptr noundef @.str.1, i32 noundef 132, ptr noundef %3125, ptr noundef %3128, ptr noundef %3131, i32 noundef %3133) #8
  br label %3135

3135:                                             ; preds = %3118, %3101
  call void @llvm.lifetime.end.p0(i64 4, ptr %57) #8
  br label %3136

3136:                                             ; preds = %3135
  br label %3137

3137:                                             ; preds = %3136
  call void @exit(i32 noundef 1) #10
  unreachable

3138:                                             ; No predecessors!
  br label %3139

3139:                                             ; preds = %3138
  br label %3140

3140:                                             ; preds = %3139, %3081
  br label %3141

3141:                                             ; preds = %3140
  br label %3142

3142:                                             ; preds = %3141
  br label %3143

3143:                                             ; preds = %3142
  %3144 = load i32, ptr @test_count, align 4, !tbaa !5
  %3145 = add nsw i32 %3144, 1
  store i32 %3145, ptr @test_count, align 4, !tbaa !5
  %3146 = load ptr, ptr %24, align 8, !tbaa !9
  %3147 = call i32 @s2n_connection_free(ptr noundef %3146)
  %3148 = icmp eq i32 %3147, -1
  br i1 %3148, label %3149, label %3202

3149:                                             ; preds = %3143
  br label %3150

3150:                                             ; preds = %3149
  br label %3151

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

3158:                                             ; preds = %3151
  %3159 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3160 = call i32 @fileno(ptr noundef %3159) #8
  %3161 = call i32 @isatty(i32 noundef %3160) #8
  %3162 = icmp ne i32 %3161, 0
  br i1 %3162, label %3163, label %3180

3163:                                             ; preds = %3158
  %3164 = load i32, ptr %58, align 4, !tbaa !5
  %3165 = call ptr @__errno_location() #9
  store i32 %3164, ptr %3165, align 4, !tbaa !5
  %3166 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3167 = load i32, ptr @test_count, align 4, !tbaa !5
  %3168 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3169 = load i32, ptr %3168, align 4, !tbaa !5
  %3170 = call ptr @s2n_strerror(i32 noundef %3169, ptr noundef @.str.4)
  %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_debug(i32 noundef %3172, ptr noundef @.str.4)
  %3174 = call ptr @__errno_location() #9
  %3175 = load i32, ptr %3174, align 4, !tbaa !5
  %3176 = call ptr @strerror(i32 noundef %3175) #8
  %3177 = call ptr @__errno_location() #9
  %3178 = load i32, ptr %3177, align 4, !tbaa !5
  %3179 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3166, ptr noundef @.str.2, i32 noundef %3167, ptr noundef @.str.31, ptr noundef @.str.1, i32 noundef 135, ptr noundef %3170, ptr noundef %3173, ptr noundef %3176, i32 noundef %3178) #8
  br label %3197

3180:                                             ; preds = %3158, %3151
  %3181 = load i32, ptr %58, align 4, !tbaa !5
  %3182 = call ptr @__errno_location() #9
  store i32 %3181, ptr %3182, align 4, !tbaa !5
  %3183 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3184 = load i32, ptr @test_count, align 4, !tbaa !5
  %3185 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3186 = load i32, ptr %3185, align 4, !tbaa !5
  %3187 = call ptr @s2n_strerror(i32 noundef %3186, ptr noundef @.str.4)
  %3188 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3189 = load i32, ptr %3188, align 4, !tbaa !5
  %3190 = call ptr @s2n_strerror_debug(i32 noundef %3189, ptr noundef @.str.4)
  %3191 = call ptr @__errno_location() #9
  %3192 = load i32, ptr %3191, align 4, !tbaa !5
  %3193 = call ptr @strerror(i32 noundef %3192) #8
  %3194 = call ptr @__errno_location() #9
  %3195 = load i32, ptr %3194, align 4, !tbaa !5
  %3196 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3183, ptr noundef @.str.5, i32 noundef %3184, ptr noundef @.str.31, ptr noundef @.str.1, i32 noundef 135, ptr noundef %3187, ptr noundef %3190, ptr noundef %3193, i32 noundef %3195) #8
  br label %3197

3197:                                             ; preds = %3180, %3163
  call void @llvm.lifetime.end.p0(i64 4, ptr %58) #8
  br label %3198

3198:                                             ; preds = %3197
  br label %3199

3199:                                             ; preds = %3198
  call void @exit(i32 noundef 1) #10
  unreachable

3200:                                             ; No predecessors!
  br label %3201

3201:                                             ; preds = %3200
  br label %3202

3202:                                             ; preds = %3201, %3143
  br label %3203

3203:                                             ; preds = %3202
  br label %3204

3204:                                             ; preds = %3203
  call void @llvm.lifetime.end.p0(i64 8, ptr %24) #8
  call void @llvm.lifetime.start.p0(i64 8, ptr %59) #8
  %3205 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %3205, ptr %59, align 8, !tbaa !9
  %3206 = load ptr, ptr %59, align 8, !tbaa !9
  %3207 = getelementptr inbounds %struct.s2n_connection, ptr %3206, i32 0, i32 27
  %3208 = load ptr, ptr %3207, align 8, !tbaa !15
  %3209 = getelementptr inbounds %struct.s2n_crypto_parameters, ptr %3208, i32 0, i32 0
  store ptr @s2n_tls13_aes_128_gcm_sha256, ptr %3209, align 8, !tbaa !42
  br label %3210

3210:                                             ; preds = %3204
  %3211 = load i32, ptr @test_count, align 4, !tbaa !5
  %3212 = add nsw i32 %3211, 1
  store i32 %3212, ptr @test_count, align 4, !tbaa !5
  %3213 = load ptr, ptr %59, align 8, !tbaa !9
  %3214 = load ptr, ptr %14, align 8, !tbaa !9
  %3215 = call i32 @s2n_connection_set_config(ptr noundef %3213, ptr noundef %3214)
  %3216 = icmp eq i32 %3215, -1
  br i1 %3216, label %3217, label %3270

3217:                                             ; preds = %3210
  br label %3218

3218:                                             ; preds = %3217
  br label %3219

3219:                                             ; preds = %3218
  call void @llvm.lifetime.start.p0(i64 4, ptr %60) #8
  %3220 = call ptr @__errno_location() #9
  %3221 = load i32, ptr %3220, align 4, !tbaa !5
  store i32 %3221, ptr %60, align 4, !tbaa !5
  %3222 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3223 = call i32 @s2n_print_stacktrace(ptr noundef %3222)
  %3224 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3225 = trunc i8 %3224 to i1
  br i1 %3225, label %3226, label %3248

3226:                                             ; preds = %3219
  %3227 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3228 = call i32 @fileno(ptr noundef %3227) #8
  %3229 = call i32 @isatty(i32 noundef %3228) #8
  %3230 = icmp ne i32 %3229, 0
  br i1 %3230, label %3231, label %3248

3231:                                             ; preds = %3226
  %3232 = load i32, ptr %60, align 4, !tbaa !5
  %3233 = call ptr @__errno_location() #9
  store i32 %3232, ptr %3233, align 4, !tbaa !5
  %3234 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3235 = load i32, ptr @test_count, align 4, !tbaa !5
  %3236 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3237 = load i32, ptr %3236, align 4, !tbaa !5
  %3238 = call ptr @s2n_strerror(i32 noundef %3237, ptr noundef @.str.4)
  %3239 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3240 = load i32, ptr %3239, align 4, !tbaa !5
  %3241 = call ptr @s2n_strerror_debug(i32 noundef %3240, ptr noundef @.str.4)
  %3242 = call ptr @__errno_location() #9
  %3243 = load i32, ptr %3242, align 4, !tbaa !5
  %3244 = call ptr @strerror(i32 noundef %3243) #8
  %3245 = call ptr @__errno_location() #9
  %3246 = load i32, ptr %3245, align 4, !tbaa !5
  %3247 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3234, ptr noundef @.str.2, i32 noundef %3235, ptr noundef @.str.19, ptr noundef @.str.1, i32 noundef 147, ptr noundef %3238, ptr noundef %3241, ptr noundef %3244, i32 noundef %3246) #8
  br label %3265

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

3265:                                             ; preds = %3248, %3231
  call void @llvm.lifetime.end.p0(i64 4, ptr %60) #8
  br label %3266

3266:                                             ; preds = %3265
  br label %3267

3267:                                             ; preds = %3266
  call void @exit(i32 noundef 1) #10
  unreachable

3268:                                             ; No predecessors!
  br label %3269

3269:                                             ; preds = %3268
  br label %3270

3270:                                             ; preds = %3269, %3210
  br label %3271

3271:                                             ; preds = %3270
  br label %3272

3272:                                             ; preds = %3271
  br label %3273

3273:                                             ; preds = %3272
  br label %3274

3274:                                             ; preds = %3273
  %3275 = load i32, ptr @test_count, align 4, !tbaa !5
  %3276 = add nsw i32 %3275, 1
  store i32 %3276, ptr @test_count, align 4, !tbaa !5
  %3277 = load ptr, ptr %59, align 8, !tbaa !9
  %3278 = call i32 @s2n_is_sig_scheme_valid_for_auth(ptr noundef %3277, ptr noundef @s2n_rsa_pkcs1_md5_sha1)
  %3279 = icmp eq i32 %3278, -1
  br i1 %3279, label %3333, label %3280

3280:                                             ; preds = %3274
  br label %3281

3281:                                             ; preds = %3280
  br label %3282

3282:                                             ; preds = %3281
  call void @llvm.lifetime.start.p0(i64 4, ptr %61) #8
  %3283 = call ptr @__errno_location() #9
  %3284 = load i32, ptr %3283, align 4, !tbaa !5
  store i32 %3284, ptr %61, align 4, !tbaa !5
  %3285 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3286 = call i32 @s2n_print_stacktrace(ptr noundef %3285)
  %3287 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3288 = trunc i8 %3287 to i1
  br i1 %3288, label %3289, label %3311

3289:                                             ; preds = %3282
  %3290 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3291 = call i32 @fileno(ptr noundef %3290) #8
  %3292 = call i32 @isatty(i32 noundef %3291) #8
  %3293 = icmp ne i32 %3292, 0
  br i1 %3293, label %3294, label %3311

3294:                                             ; preds = %3289
  %3295 = load i32, ptr %61, align 4, !tbaa !5
  %3296 = call ptr @__errno_location() #9
  store i32 %3295, ptr %3296, align 4, !tbaa !5
  %3297 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3298 = load i32, ptr @test_count, align 4, !tbaa !5
  %3299 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3300 = load i32, ptr %3299, align 4, !tbaa !5
  %3301 = call ptr @s2n_strerror(i32 noundef %3300, ptr noundef @.str.4)
  %3302 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3303 = load i32, ptr %3302, align 4, !tbaa !5
  %3304 = call ptr @s2n_strerror_debug(i32 noundef %3303, ptr noundef @.str.4)
  %3305 = call ptr @__errno_location() #9
  %3306 = load i32, ptr %3305, align 4, !tbaa !5
  %3307 = call ptr @strerror(i32 noundef %3306) #8
  %3308 = call ptr @__errno_location() #9
  %3309 = load i32, ptr %3308, align 4, !tbaa !5
  %3310 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3297, ptr noundef @.str.2, i32 noundef %3298, ptr noundef @.str.32, ptr noundef @.str.1, i32 noundef 148, ptr noundef %3301, ptr noundef %3304, ptr noundef %3307, i32 noundef %3309) #8
  br label %3328

3311:                                             ; preds = %3289, %3282
  %3312 = load i32, ptr %61, align 4, !tbaa !5
  %3313 = call ptr @__errno_location() #9
  store i32 %3312, ptr %3313, align 4, !tbaa !5
  %3314 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3315 = load i32, ptr @test_count, align 4, !tbaa !5
  %3316 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3317 = load i32, ptr %3316, align 4, !tbaa !5
  %3318 = call ptr @s2n_strerror(i32 noundef %3317, ptr noundef @.str.4)
  %3319 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3320 = load i32, ptr %3319, align 4, !tbaa !5
  %3321 = call ptr @s2n_strerror_debug(i32 noundef %3320, ptr noundef @.str.4)
  %3322 = call ptr @__errno_location() #9
  %3323 = load i32, ptr %3322, align 4, !tbaa !5
  %3324 = call ptr @strerror(i32 noundef %3323) #8
  %3325 = call ptr @__errno_location() #9
  %3326 = load i32, ptr %3325, align 4, !tbaa !5
  %3327 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3314, ptr noundef @.str.5, i32 noundef %3315, ptr noundef @.str.32, ptr noundef @.str.1, i32 noundef 148, ptr noundef %3318, ptr noundef %3321, ptr noundef %3324, i32 noundef %3326) #8
  br label %3328

3328:                                             ; preds = %3311, %3294
  call void @llvm.lifetime.end.p0(i64 4, ptr %61) #8
  br label %3329

3329:                                             ; preds = %3328
  br label %3330

3330:                                             ; preds = %3329
  call void @exit(i32 noundef 1) #10
  unreachable

3331:                                             ; No predecessors!
  br label %3332

3332:                                             ; preds = %3331
  br label %3333

3333:                                             ; preds = %3332, %3274
  br label %3334

3334:                                             ; preds = %3333
  br label %3335

3335:                                             ; preds = %3334
  br label %3336

3336:                                             ; preds = %3335
  %3337 = load i32, ptr @test_count, align 4, !tbaa !5
  %3338 = add nsw i32 %3337, 1
  store i32 %3338, ptr @test_count, align 4, !tbaa !5
  %3339 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3340 = load i32, ptr %3339, align 4, !tbaa !5
  %3341 = icmp eq i32 %3340, 0
  br i1 %3341, label %3342, label %3395

3342:                                             ; preds = %3336
  br label %3343

3343:                                             ; preds = %3342
  br label %3344

3344:                                             ; preds = %3343
  call void @llvm.lifetime.start.p0(i64 4, ptr %62) #8
  %3345 = call ptr @__errno_location() #9
  %3346 = load i32, ptr %3345, align 4, !tbaa !5
  store i32 %3346, ptr %62, align 4, !tbaa !5
  %3347 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3348 = call i32 @s2n_print_stacktrace(ptr noundef %3347)
  %3349 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3350 = trunc i8 %3349 to i1
  br i1 %3350, label %3351, label %3373

3351:                                             ; preds = %3344
  %3352 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3353 = call i32 @fileno(ptr noundef %3352) #8
  %3354 = call i32 @isatty(i32 noundef %3353) #8
  %3355 = icmp ne i32 %3354, 0
  br i1 %3355, label %3356, label %3373

3356:                                             ; preds = %3351
  %3357 = load i32, ptr %62, align 4, !tbaa !5
  %3358 = call ptr @__errno_location() #9
  store i32 %3357, ptr %3358, align 4, !tbaa !5
  %3359 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3360 = load i32, ptr @test_count, align 4, !tbaa !5
  %3361 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3362 = load i32, ptr %3361, align 4, !tbaa !5
  %3363 = call ptr @s2n_strerror(i32 noundef %3362, ptr noundef @.str.4)
  %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_debug(i32 noundef %3365, ptr noundef @.str.4)
  %3367 = call ptr @__errno_location() #9
  %3368 = load i32, ptr %3367, align 4, !tbaa !5
  %3369 = call ptr @strerror(i32 noundef %3368) #8
  %3370 = call ptr @__errno_location() #9
  %3371 = load i32, ptr %3370, align 4, !tbaa !5
  %3372 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3359, ptr noundef @.str.2, i32 noundef %3360, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 148, ptr noundef %3363, ptr noundef %3366, ptr noundef %3369, i32 noundef %3371) #8
  br label %3390

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

3390:                                             ; preds = %3373, %3356
  call void @llvm.lifetime.end.p0(i64 4, ptr %62) #8
  br label %3391

3391:                                             ; preds = %3390
  br label %3392

3392:                                             ; preds = %3391
  call void @exit(i32 noundef 1) #10
  unreachable

3393:                                             ; No predecessors!
  br label %3394

3394:                                             ; preds = %3393
  br label %3395

3395:                                             ; preds = %3394, %3336
  br label %3396

3396:                                             ; preds = %3395
  br label %3397

3397:                                             ; preds = %3396
  br label %3398

3398:                                             ; preds = %3397
  %3399 = load i32, ptr @test_count, align 4, !tbaa !5
  %3400 = add nsw i32 %3399, 1
  store i32 %3400, ptr @test_count, align 4, !tbaa !5
  %3401 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3402 = load i32, ptr %3401, align 4, !tbaa !5
  %3403 = call ptr @s2n_strerror_debug(i32 noundef %3402, ptr noundef @.str.4)
  %3404 = icmp eq ptr %3403, null
  br i1 %3404, label %3405, label %3458

3405:                                             ; preds = %3398
  br label %3406

3406:                                             ; preds = %3405
  br label %3407

3407:                                             ; preds = %3406
  call void @llvm.lifetime.start.p0(i64 4, ptr %63) #8
  %3408 = call ptr @__errno_location() #9
  %3409 = load i32, ptr %3408, align 4, !tbaa !5
  store i32 %3409, ptr %63, align 4, !tbaa !5
  %3410 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3411 = call i32 @s2n_print_stacktrace(ptr noundef %3410)
  %3412 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3413 = trunc i8 %3412 to i1
  br i1 %3413, label %3414, label %3436

3414:                                             ; preds = %3407
  %3415 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3416 = call i32 @fileno(ptr noundef %3415) #8
  %3417 = call i32 @isatty(i32 noundef %3416) #8
  %3418 = icmp ne i32 %3417, 0
  br i1 %3418, label %3419, label %3436

3419:                                             ; preds = %3414
  %3420 = load i32, ptr %63, align 4, !tbaa !5
  %3421 = call ptr @__errno_location() #9
  store i32 %3420, ptr %3421, align 4, !tbaa !5
  %3422 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3423 = load i32, ptr @test_count, align 4, !tbaa !5
  %3424 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3425 = load i32, ptr %3424, align 4, !tbaa !5
  %3426 = call ptr @s2n_strerror(i32 noundef %3425, ptr noundef @.str.4)
  %3427 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3428 = load i32, ptr %3427, align 4, !tbaa !5
  %3429 = call ptr @s2n_strerror_debug(i32 noundef %3428, ptr noundef @.str.4)
  %3430 = call ptr @__errno_location() #9
  %3431 = load i32, ptr %3430, align 4, !tbaa !5
  %3432 = call ptr @strerror(i32 noundef %3431) #8
  %3433 = call ptr @__errno_location() #9
  %3434 = load i32, ptr %3433, align 4, !tbaa !5
  %3435 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3422, ptr noundef @.str.2, i32 noundef %3423, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 148, ptr noundef %3426, ptr noundef %3429, ptr noundef %3432, i32 noundef %3434) #8
  br label %3453

3436:                                             ; preds = %3414, %3407
  %3437 = load i32, ptr %63, align 4, !tbaa !5
  %3438 = call ptr @__errno_location() #9
  store i32 %3437, ptr %3438, align 4, !tbaa !5
  %3439 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3440 = load i32, ptr @test_count, align 4, !tbaa !5
  %3441 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3442 = load i32, ptr %3441, align 4, !tbaa !5
  %3443 = call ptr @s2n_strerror(i32 noundef %3442, ptr noundef @.str.4)
  %3444 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3445 = load i32, ptr %3444, align 4, !tbaa !5
  %3446 = call ptr @s2n_strerror_debug(i32 noundef %3445, ptr noundef @.str.4)
  %3447 = call ptr @__errno_location() #9
  %3448 = load i32, ptr %3447, align 4, !tbaa !5
  %3449 = call ptr @strerror(i32 noundef %3448) #8
  %3450 = call ptr @__errno_location() #9
  %3451 = load i32, ptr %3450, align 4, !tbaa !5
  %3452 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3439, ptr noundef @.str.5, i32 noundef %3440, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 148, ptr noundef %3443, ptr noundef %3446, ptr noundef %3449, i32 noundef %3451) #8
  br label %3453

3453:                                             ; preds = %3436, %3419
  call void @llvm.lifetime.end.p0(i64 4, ptr %63) #8
  br label %3454

3454:                                             ; preds = %3453
  br label %3455

3455:                                             ; preds = %3454
  call void @exit(i32 noundef 1) #10
  unreachable

3456:                                             ; No predecessors!
  br label %3457

3457:                                             ; preds = %3456
  br label %3458

3458:                                             ; preds = %3457, %3398
  br label %3459

3459:                                             ; preds = %3458
  br label %3460

3460:                                             ; preds = %3459
  br label %3461

3461:                                             ; preds = %3460
  %3462 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %3462, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %3463 = call ptr @__errno_location() #9
  store i32 0, ptr %3463, align 4, !tbaa !5
  br label %3464

3464:                                             ; preds = %3461
  br label %3465

3465:                                             ; preds = %3464
  br label %3466

3466:                                             ; preds = %3465
  br label %3467

3467:                                             ; preds = %3466
  br label %3468

3468:                                             ; preds = %3467
  br label %3469

3469:                                             ; preds = %3468
  %3470 = load i32, ptr @test_count, align 4, !tbaa !5
  %3471 = add nsw i32 %3470, 1
  store i32 %3471, ptr @test_count, align 4, !tbaa !5
  %3472 = load ptr, ptr %59, align 8, !tbaa !9
  %3473 = call i32 @s2n_is_sig_scheme_valid_for_auth(ptr noundef %3472, ptr noundef @s2n_rsa_pss_pss_sha256)
  %3474 = icmp eq i32 %3473, -1
  br i1 %3474, label %3528, label %3475

3475:                                             ; preds = %3469
  br label %3476

3476:                                             ; preds = %3475
  br label %3477

3477:                                             ; preds = %3476
  call void @llvm.lifetime.start.p0(i64 4, ptr %64) #8
  %3478 = call ptr @__errno_location() #9
  %3479 = load i32, ptr %3478, align 4, !tbaa !5
  store i32 %3479, ptr %64, align 4, !tbaa !5
  %3480 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3481 = call i32 @s2n_print_stacktrace(ptr noundef %3480)
  %3482 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3483 = trunc i8 %3482 to i1
  br i1 %3483, label %3484, label %3506

3484:                                             ; preds = %3477
  %3485 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3486 = call i32 @fileno(ptr noundef %3485) #8
  %3487 = call i32 @isatty(i32 noundef %3486) #8
  %3488 = icmp ne i32 %3487, 0
  br i1 %3488, label %3489, label %3506

3489:                                             ; preds = %3484
  %3490 = load i32, ptr %64, align 4, !tbaa !5
  %3491 = call ptr @__errno_location() #9
  store i32 %3490, ptr %3491, align 4, !tbaa !5
  %3492 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3493 = load i32, ptr @test_count, align 4, !tbaa !5
  %3494 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3495 = load i32, ptr %3494, align 4, !tbaa !5
  %3496 = call ptr @s2n_strerror(i32 noundef %3495, ptr noundef @.str.4)
  %3497 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3498 = load i32, ptr %3497, align 4, !tbaa !5
  %3499 = call ptr @s2n_strerror_debug(i32 noundef %3498, ptr noundef @.str.4)
  %3500 = call ptr @__errno_location() #9
  %3501 = load i32, ptr %3500, align 4, !tbaa !5
  %3502 = call ptr @strerror(i32 noundef %3501) #8
  %3503 = call ptr @__errno_location() #9
  %3504 = load i32, ptr %3503, align 4, !tbaa !5
  %3505 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3492, ptr noundef @.str.2, i32 noundef %3493, ptr noundef @.str.33, ptr noundef @.str.1, i32 noundef 149, ptr noundef %3496, ptr noundef %3499, ptr noundef %3502, i32 noundef %3504) #8
  br label %3523

3506:                                             ; preds = %3484, %3477
  %3507 = load i32, ptr %64, align 4, !tbaa !5
  %3508 = call ptr @__errno_location() #9
  store i32 %3507, ptr %3508, align 4, !tbaa !5
  %3509 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3510 = load i32, ptr @test_count, align 4, !tbaa !5
  %3511 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3512 = load i32, ptr %3511, align 4, !tbaa !5
  %3513 = call ptr @s2n_strerror(i32 noundef %3512, ptr noundef @.str.4)
  %3514 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3515 = load i32, ptr %3514, align 4, !tbaa !5
  %3516 = call ptr @s2n_strerror_debug(i32 noundef %3515, ptr noundef @.str.4)
  %3517 = call ptr @__errno_location() #9
  %3518 = load i32, ptr %3517, align 4, !tbaa !5
  %3519 = call ptr @strerror(i32 noundef %3518) #8
  %3520 = call ptr @__errno_location() #9
  %3521 = load i32, ptr %3520, align 4, !tbaa !5
  %3522 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3509, ptr noundef @.str.5, i32 noundef %3510, ptr noundef @.str.33, ptr noundef @.str.1, i32 noundef 149, ptr noundef %3513, ptr noundef %3516, ptr noundef %3519, i32 noundef %3521) #8
  br label %3523

3523:                                             ; preds = %3506, %3489
  call void @llvm.lifetime.end.p0(i64 4, ptr %64) #8
  br label %3524

3524:                                             ; preds = %3523
  br label %3525

3525:                                             ; preds = %3524
  call void @exit(i32 noundef 1) #10
  unreachable

3526:                                             ; No predecessors!
  br label %3527

3527:                                             ; preds = %3526
  br label %3528

3528:                                             ; preds = %3527, %3469
  br label %3529

3529:                                             ; preds = %3528
  br label %3530

3530:                                             ; preds = %3529
  br label %3531

3531:                                             ; preds = %3530
  %3532 = load i32, ptr @test_count, align 4, !tbaa !5
  %3533 = add nsw i32 %3532, 1
  store i32 %3533, ptr @test_count, align 4, !tbaa !5
  %3534 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3535 = load i32, ptr %3534, align 4, !tbaa !5
  %3536 = icmp eq i32 %3535, 0
  br i1 %3536, label %3537, label %3590

3537:                                             ; preds = %3531
  br label %3538

3538:                                             ; preds = %3537
  br label %3539

3539:                                             ; preds = %3538
  call void @llvm.lifetime.start.p0(i64 4, ptr %65) #8
  %3540 = call ptr @__errno_location() #9
  %3541 = load i32, ptr %3540, align 4, !tbaa !5
  store i32 %3541, ptr %65, align 4, !tbaa !5
  %3542 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3543 = call i32 @s2n_print_stacktrace(ptr noundef %3542)
  %3544 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3545 = trunc i8 %3544 to i1
  br i1 %3545, label %3546, label %3568

3546:                                             ; preds = %3539
  %3547 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3548 = call i32 @fileno(ptr noundef %3547) #8
  %3549 = call i32 @isatty(i32 noundef %3548) #8
  %3550 = icmp ne i32 %3549, 0
  br i1 %3550, label %3551, label %3568

3551:                                             ; preds = %3546
  %3552 = load i32, ptr %65, align 4, !tbaa !5
  %3553 = call ptr @__errno_location() #9
  store i32 %3552, ptr %3553, align 4, !tbaa !5
  %3554 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3555 = load i32, ptr @test_count, align 4, !tbaa !5
  %3556 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3557 = load i32, ptr %3556, align 4, !tbaa !5
  %3558 = call ptr @s2n_strerror(i32 noundef %3557, ptr noundef @.str.4)
  %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_debug(i32 noundef %3560, ptr noundef @.str.4)
  %3562 = call ptr @__errno_location() #9
  %3563 = load i32, ptr %3562, align 4, !tbaa !5
  %3564 = call ptr @strerror(i32 noundef %3563) #8
  %3565 = call ptr @__errno_location() #9
  %3566 = load i32, ptr %3565, align 4, !tbaa !5
  %3567 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3554, ptr noundef @.str.2, i32 noundef %3555, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 149, ptr noundef %3558, ptr noundef %3561, ptr noundef %3564, i32 noundef %3566) #8
  br label %3585

3568:                                             ; preds = %3546, %3539
  %3569 = load i32, ptr %65, align 4, !tbaa !5
  %3570 = call ptr @__errno_location() #9
  store i32 %3569, ptr %3570, align 4, !tbaa !5
  %3571 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3572 = load i32, ptr @test_count, align 4, !tbaa !5
  %3573 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3574 = load i32, ptr %3573, align 4, !tbaa !5
  %3575 = call ptr @s2n_strerror(i32 noundef %3574, ptr noundef @.str.4)
  %3576 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3577 = load i32, ptr %3576, align 4, !tbaa !5
  %3578 = call ptr @s2n_strerror_debug(i32 noundef %3577, ptr noundef @.str.4)
  %3579 = call ptr @__errno_location() #9
  %3580 = load i32, ptr %3579, align 4, !tbaa !5
  %3581 = call ptr @strerror(i32 noundef %3580) #8
  %3582 = call ptr @__errno_location() #9
  %3583 = load i32, ptr %3582, align 4, !tbaa !5
  %3584 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3571, ptr noundef @.str.5, i32 noundef %3572, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 149, ptr noundef %3575, ptr noundef %3578, ptr noundef %3581, i32 noundef %3583) #8
  br label %3585

3585:                                             ; preds = %3568, %3551
  call void @llvm.lifetime.end.p0(i64 4, ptr %65) #8
  br label %3586

3586:                                             ; preds = %3585
  br label %3587

3587:                                             ; preds = %3586
  call void @exit(i32 noundef 1) #10
  unreachable

3588:                                             ; No predecessors!
  br label %3589

3589:                                             ; preds = %3588
  br label %3590

3590:                                             ; preds = %3589, %3531
  br label %3591

3591:                                             ; preds = %3590
  br label %3592

3592:                                             ; preds = %3591
  br label %3593

3593:                                             ; preds = %3592
  %3594 = load i32, ptr @test_count, align 4, !tbaa !5
  %3595 = add nsw i32 %3594, 1
  store i32 %3595, ptr @test_count, align 4, !tbaa !5
  %3596 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3597 = load i32, ptr %3596, align 4, !tbaa !5
  %3598 = call ptr @s2n_strerror_debug(i32 noundef %3597, ptr noundef @.str.4)
  %3599 = icmp eq ptr %3598, null
  br i1 %3599, label %3600, label %3653

3600:                                             ; preds = %3593
  br label %3601

3601:                                             ; preds = %3600
  br label %3602

3602:                                             ; preds = %3601
  call void @llvm.lifetime.start.p0(i64 4, ptr %66) #8
  %3603 = call ptr @__errno_location() #9
  %3604 = load i32, ptr %3603, align 4, !tbaa !5
  store i32 %3604, ptr %66, align 4, !tbaa !5
  %3605 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3606 = call i32 @s2n_print_stacktrace(ptr noundef %3605)
  %3607 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3608 = trunc i8 %3607 to i1
  br i1 %3608, label %3609, label %3631

3609:                                             ; preds = %3602
  %3610 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3611 = call i32 @fileno(ptr noundef %3610) #8
  %3612 = call i32 @isatty(i32 noundef %3611) #8
  %3613 = icmp ne i32 %3612, 0
  br i1 %3613, label %3614, label %3631

3614:                                             ; preds = %3609
  %3615 = load i32, ptr %66, align 4, !tbaa !5
  %3616 = call ptr @__errno_location() #9
  store i32 %3615, ptr %3616, align 4, !tbaa !5
  %3617 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3618 = load i32, ptr @test_count, align 4, !tbaa !5
  %3619 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3620 = load i32, ptr %3619, align 4, !tbaa !5
  %3621 = call ptr @s2n_strerror(i32 noundef %3620, ptr noundef @.str.4)
  %3622 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3623 = load i32, ptr %3622, align 4, !tbaa !5
  %3624 = call ptr @s2n_strerror_debug(i32 noundef %3623, ptr noundef @.str.4)
  %3625 = call ptr @__errno_location() #9
  %3626 = load i32, ptr %3625, align 4, !tbaa !5
  %3627 = call ptr @strerror(i32 noundef %3626) #8
  %3628 = call ptr @__errno_location() #9
  %3629 = load i32, ptr %3628, align 4, !tbaa !5
  %3630 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3617, ptr noundef @.str.2, i32 noundef %3618, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 149, ptr noundef %3621, ptr noundef %3624, ptr noundef %3627, i32 noundef %3629) #8
  br label %3648

3631:                                             ; preds = %3609, %3602
  %3632 = load i32, ptr %66, align 4, !tbaa !5
  %3633 = call ptr @__errno_location() #9
  store i32 %3632, ptr %3633, align 4, !tbaa !5
  %3634 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3635 = load i32, ptr @test_count, align 4, !tbaa !5
  %3636 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3637 = load i32, ptr %3636, align 4, !tbaa !5
  %3638 = call ptr @s2n_strerror(i32 noundef %3637, ptr noundef @.str.4)
  %3639 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3640 = load i32, ptr %3639, align 4, !tbaa !5
  %3641 = call ptr @s2n_strerror_debug(i32 noundef %3640, ptr noundef @.str.4)
  %3642 = call ptr @__errno_location() #9
  %3643 = load i32, ptr %3642, align 4, !tbaa !5
  %3644 = call ptr @strerror(i32 noundef %3643) #8
  %3645 = call ptr @__errno_location() #9
  %3646 = load i32, ptr %3645, align 4, !tbaa !5
  %3647 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3634, ptr noundef @.str.5, i32 noundef %3635, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 149, ptr noundef %3638, ptr noundef %3641, ptr noundef %3644, i32 noundef %3646) #8
  br label %3648

3648:                                             ; preds = %3631, %3614
  call void @llvm.lifetime.end.p0(i64 4, ptr %66) #8
  br label %3649

3649:                                             ; preds = %3648
  br label %3650

3650:                                             ; preds = %3649
  call void @exit(i32 noundef 1) #10
  unreachable

3651:                                             ; No predecessors!
  br label %3652

3652:                                             ; preds = %3651
  br label %3653

3653:                                             ; preds = %3652, %3593
  br label %3654

3654:                                             ; preds = %3653
  br label %3655

3655:                                             ; preds = %3654
  br label %3656

3656:                                             ; preds = %3655
  %3657 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %3657, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %3658 = call ptr @__errno_location() #9
  store i32 0, ptr %3658, align 4, !tbaa !5
  br label %3659

3659:                                             ; preds = %3656
  br label %3660

3660:                                             ; preds = %3659
  br label %3661

3661:                                             ; preds = %3660
  br label %3662

3662:                                             ; preds = %3661
  br label %3663

3663:                                             ; preds = %3662
  br label %3664

3664:                                             ; preds = %3663
  %3665 = load i32, ptr @test_count, align 4, !tbaa !5
  %3666 = add nsw i32 %3665, 1
  store i32 %3666, ptr @test_count, align 4, !tbaa !5
  %3667 = load ptr, ptr %59, align 8, !tbaa !9
  %3668 = call i32 @s2n_is_sig_scheme_valid_for_auth(ptr noundef %3667, ptr noundef @s2n_rsa_pss_rsae_sha256)
  %3669 = icmp eq i32 %3668, -1
  br i1 %3669, label %3723, label %3670

3670:                                             ; preds = %3664
  br label %3671

3671:                                             ; preds = %3670
  br label %3672

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

3679:                                             ; preds = %3672
  %3680 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3681 = call i32 @fileno(ptr noundef %3680) #8
  %3682 = call i32 @isatty(i32 noundef %3681) #8
  %3683 = icmp ne i32 %3682, 0
  br i1 %3683, label %3684, label %3701

3684:                                             ; preds = %3679
  %3685 = load i32, ptr %67, align 4, !tbaa !5
  %3686 = call ptr @__errno_location() #9
  store i32 %3685, ptr %3686, align 4, !tbaa !5
  %3687 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3688 = load i32, ptr @test_count, align 4, !tbaa !5
  %3689 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3690 = load i32, ptr %3689, align 4, !tbaa !5
  %3691 = call ptr @s2n_strerror(i32 noundef %3690, ptr noundef @.str.4)
  %3692 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3693 = load i32, ptr %3692, align 4, !tbaa !5
  %3694 = call ptr @s2n_strerror_debug(i32 noundef %3693, ptr noundef @.str.4)
  %3695 = call ptr @__errno_location() #9
  %3696 = load i32, ptr %3695, align 4, !tbaa !5
  %3697 = call ptr @strerror(i32 noundef %3696) #8
  %3698 = call ptr @__errno_location() #9
  %3699 = load i32, ptr %3698, align 4, !tbaa !5
  %3700 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3687, ptr noundef @.str.2, i32 noundef %3688, ptr noundef @.str.34, ptr noundef @.str.1, i32 noundef 150, ptr noundef %3691, ptr noundef %3694, ptr noundef %3697, i32 noundef %3699) #8
  br label %3718

3701:                                             ; preds = %3679, %3672
  %3702 = load i32, ptr %67, align 4, !tbaa !5
  %3703 = call ptr @__errno_location() #9
  store i32 %3702, ptr %3703, align 4, !tbaa !5
  %3704 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3705 = load i32, ptr @test_count, align 4, !tbaa !5
  %3706 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3707 = load i32, ptr %3706, align 4, !tbaa !5
  %3708 = call ptr @s2n_strerror(i32 noundef %3707, ptr noundef @.str.4)
  %3709 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3710 = load i32, ptr %3709, align 4, !tbaa !5
  %3711 = call ptr @s2n_strerror_debug(i32 noundef %3710, ptr noundef @.str.4)
  %3712 = call ptr @__errno_location() #9
  %3713 = load i32, ptr %3712, align 4, !tbaa !5
  %3714 = call ptr @strerror(i32 noundef %3713) #8
  %3715 = call ptr @__errno_location() #9
  %3716 = load i32, ptr %3715, align 4, !tbaa !5
  %3717 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3704, ptr noundef @.str.5, i32 noundef %3705, ptr noundef @.str.34, ptr noundef @.str.1, i32 noundef 150, ptr noundef %3708, ptr noundef %3711, ptr noundef %3714, i32 noundef %3716) #8
  br label %3718

3718:                                             ; preds = %3701, %3684
  call void @llvm.lifetime.end.p0(i64 4, ptr %67) #8
  br label %3719

3719:                                             ; preds = %3718
  br label %3720

3720:                                             ; preds = %3719
  call void @exit(i32 noundef 1) #10
  unreachable

3721:                                             ; No predecessors!
  br label %3722

3722:                                             ; preds = %3721
  br label %3723

3723:                                             ; preds = %3722, %3664
  br label %3724

3724:                                             ; preds = %3723
  br label %3725

3725:                                             ; preds = %3724
  br label %3726

3726:                                             ; preds = %3725
  %3727 = load i32, ptr @test_count, align 4, !tbaa !5
  %3728 = add nsw i32 %3727, 1
  store i32 %3728, ptr @test_count, align 4, !tbaa !5
  %3729 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3730 = load i32, ptr %3729, align 4, !tbaa !5
  %3731 = icmp eq i32 %3730, 0
  br i1 %3731, label %3732, label %3785

3732:                                             ; preds = %3726
  br label %3733

3733:                                             ; preds = %3732
  br label %3734

3734:                                             ; preds = %3733
  call void @llvm.lifetime.start.p0(i64 4, ptr %68) #8
  %3735 = call ptr @__errno_location() #9
  %3736 = load i32, ptr %3735, align 4, !tbaa !5
  store i32 %3736, ptr %68, align 4, !tbaa !5
  %3737 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3738 = call i32 @s2n_print_stacktrace(ptr noundef %3737)
  %3739 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3740 = trunc i8 %3739 to i1
  br i1 %3740, label %3741, label %3763

3741:                                             ; preds = %3734
  %3742 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3743 = call i32 @fileno(ptr noundef %3742) #8
  %3744 = call i32 @isatty(i32 noundef %3743) #8
  %3745 = icmp ne i32 %3744, 0
  br i1 %3745, label %3746, label %3763

3746:                                             ; preds = %3741
  %3747 = load i32, ptr %68, align 4, !tbaa !5
  %3748 = call ptr @__errno_location() #9
  store i32 %3747, ptr %3748, align 4, !tbaa !5
  %3749 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3750 = load i32, ptr @test_count, align 4, !tbaa !5
  %3751 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3752 = load i32, ptr %3751, align 4, !tbaa !5
  %3753 = call ptr @s2n_strerror(i32 noundef %3752, ptr noundef @.str.4)
  %3754 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3755 = load i32, ptr %3754, align 4, !tbaa !5
  %3756 = call ptr @s2n_strerror_debug(i32 noundef %3755, ptr noundef @.str.4)
  %3757 = call ptr @__errno_location() #9
  %3758 = load i32, ptr %3757, align 4, !tbaa !5
  %3759 = call ptr @strerror(i32 noundef %3758) #8
  %3760 = call ptr @__errno_location() #9
  %3761 = load i32, ptr %3760, align 4, !tbaa !5
  %3762 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3749, ptr noundef @.str.2, i32 noundef %3750, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 150, ptr noundef %3753, ptr noundef %3756, ptr noundef %3759, i32 noundef %3761) #8
  br label %3780

3763:                                             ; preds = %3741, %3734
  %3764 = load i32, ptr %68, align 4, !tbaa !5
  %3765 = call ptr @__errno_location() #9
  store i32 %3764, ptr %3765, align 4, !tbaa !5
  %3766 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3767 = load i32, ptr @test_count, align 4, !tbaa !5
  %3768 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3769 = load i32, ptr %3768, align 4, !tbaa !5
  %3770 = call ptr @s2n_strerror(i32 noundef %3769, ptr noundef @.str.4)
  %3771 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3772 = load i32, ptr %3771, align 4, !tbaa !5
  %3773 = call ptr @s2n_strerror_debug(i32 noundef %3772, ptr noundef @.str.4)
  %3774 = call ptr @__errno_location() #9
  %3775 = load i32, ptr %3774, align 4, !tbaa !5
  %3776 = call ptr @strerror(i32 noundef %3775) #8
  %3777 = call ptr @__errno_location() #9
  %3778 = load i32, ptr %3777, align 4, !tbaa !5
  %3779 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3766, ptr noundef @.str.5, i32 noundef %3767, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 150, ptr noundef %3770, ptr noundef %3773, ptr noundef %3776, i32 noundef %3778) #8
  br label %3780

3780:                                             ; preds = %3763, %3746
  call void @llvm.lifetime.end.p0(i64 4, ptr %68) #8
  br label %3781

3781:                                             ; preds = %3780
  br label %3782

3782:                                             ; preds = %3781
  call void @exit(i32 noundef 1) #10
  unreachable

3783:                                             ; No predecessors!
  br label %3784

3784:                                             ; preds = %3783
  br label %3785

3785:                                             ; preds = %3784, %3726
  br label %3786

3786:                                             ; preds = %3785
  br label %3787

3787:                                             ; preds = %3786
  br label %3788

3788:                                             ; preds = %3787
  %3789 = load i32, ptr @test_count, align 4, !tbaa !5
  %3790 = add nsw i32 %3789, 1
  store i32 %3790, ptr @test_count, align 4, !tbaa !5
  %3791 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3792 = load i32, ptr %3791, align 4, !tbaa !5
  %3793 = call ptr @s2n_strerror_debug(i32 noundef %3792, ptr noundef @.str.4)
  %3794 = icmp eq ptr %3793, null
  br i1 %3794, label %3795, label %3848

3795:                                             ; preds = %3788
  br label %3796

3796:                                             ; preds = %3795
  br label %3797

3797:                                             ; preds = %3796
  call void @llvm.lifetime.start.p0(i64 4, ptr %69) #8
  %3798 = call ptr @__errno_location() #9
  %3799 = load i32, ptr %3798, align 4, !tbaa !5
  store i32 %3799, ptr %69, align 4, !tbaa !5
  %3800 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3801 = call i32 @s2n_print_stacktrace(ptr noundef %3800)
  %3802 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3803 = trunc i8 %3802 to i1
  br i1 %3803, label %3804, label %3826

3804:                                             ; preds = %3797
  %3805 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3806 = call i32 @fileno(ptr noundef %3805) #8
  %3807 = call i32 @isatty(i32 noundef %3806) #8
  %3808 = icmp ne i32 %3807, 0
  br i1 %3808, label %3809, label %3826

3809:                                             ; preds = %3804
  %3810 = load i32, ptr %69, align 4, !tbaa !5
  %3811 = call ptr @__errno_location() #9
  store i32 %3810, ptr %3811, align 4, !tbaa !5
  %3812 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3813 = load i32, ptr @test_count, align 4, !tbaa !5
  %3814 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3815 = load i32, ptr %3814, align 4, !tbaa !5
  %3816 = call ptr @s2n_strerror(i32 noundef %3815, ptr noundef @.str.4)
  %3817 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3818 = load i32, ptr %3817, align 4, !tbaa !5
  %3819 = call ptr @s2n_strerror_debug(i32 noundef %3818, ptr noundef @.str.4)
  %3820 = call ptr @__errno_location() #9
  %3821 = load i32, ptr %3820, align 4, !tbaa !5
  %3822 = call ptr @strerror(i32 noundef %3821) #8
  %3823 = call ptr @__errno_location() #9
  %3824 = load i32, ptr %3823, align 4, !tbaa !5
  %3825 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3812, ptr noundef @.str.2, i32 noundef %3813, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 150, ptr noundef %3816, ptr noundef %3819, ptr noundef %3822, i32 noundef %3824) #8
  br label %3843

3826:                                             ; preds = %3804, %3797
  %3827 = load i32, ptr %69, align 4, !tbaa !5
  %3828 = call ptr @__errno_location() #9
  store i32 %3827, ptr %3828, align 4, !tbaa !5
  %3829 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3830 = load i32, ptr @test_count, align 4, !tbaa !5
  %3831 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3832 = load i32, ptr %3831, align 4, !tbaa !5
  %3833 = call ptr @s2n_strerror(i32 noundef %3832, ptr noundef @.str.4)
  %3834 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3835 = load i32, ptr %3834, align 4, !tbaa !5
  %3836 = call ptr @s2n_strerror_debug(i32 noundef %3835, ptr noundef @.str.4)
  %3837 = call ptr @__errno_location() #9
  %3838 = load i32, ptr %3837, align 4, !tbaa !5
  %3839 = call ptr @strerror(i32 noundef %3838) #8
  %3840 = call ptr @__errno_location() #9
  %3841 = load i32, ptr %3840, align 4, !tbaa !5
  %3842 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3829, ptr noundef @.str.5, i32 noundef %3830, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 150, ptr noundef %3833, ptr noundef %3836, ptr noundef %3839, i32 noundef %3841) #8
  br label %3843

3843:                                             ; preds = %3826, %3809
  call void @llvm.lifetime.end.p0(i64 4, ptr %69) #8
  br label %3844

3844:                                             ; preds = %3843
  br label %3845

3845:                                             ; preds = %3844
  call void @exit(i32 noundef 1) #10
  unreachable

3846:                                             ; No predecessors!
  br label %3847

3847:                                             ; preds = %3846
  br label %3848

3848:                                             ; preds = %3847, %3788
  br label %3849

3849:                                             ; preds = %3848
  br label %3850

3850:                                             ; preds = %3849
  br label %3851

3851:                                             ; preds = %3850
  %3852 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %3852, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %3853 = call ptr @__errno_location() #9
  store i32 0, ptr %3853, align 4, !tbaa !5
  br label %3854

3854:                                             ; preds = %3851
  br label %3855

3855:                                             ; preds = %3854
  br label %3856

3856:                                             ; preds = %3855
  br label %3857

3857:                                             ; preds = %3856
  br label %3858

3858:                                             ; preds = %3857
  br label %3859

3859:                                             ; preds = %3858
  %3860 = load i32, ptr @test_count, align 4, !tbaa !5
  %3861 = add nsw i32 %3860, 1
  store i32 %3861, ptr @test_count, align 4, !tbaa !5
  %3862 = load ptr, ptr %59, align 8, !tbaa !9
  %3863 = call i32 @s2n_is_sig_scheme_valid_for_auth(ptr noundef %3862, ptr noundef @s2n_ecdsa_sha384)
  %3864 = icmp eq i32 %3863, -1
  br i1 %3864, label %3918, label %3865

3865:                                             ; preds = %3859
  br label %3866

3866:                                             ; preds = %3865
  br label %3867

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

3874:                                             ; preds = %3867
  %3875 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3876 = call i32 @fileno(ptr noundef %3875) #8
  %3877 = call i32 @isatty(i32 noundef %3876) #8
  %3878 = icmp ne i32 %3877, 0
  br i1 %3878, label %3879, label %3896

3879:                                             ; preds = %3874
  %3880 = load i32, ptr %70, align 4, !tbaa !5
  %3881 = call ptr @__errno_location() #9
  store i32 %3880, ptr %3881, align 4, !tbaa !5
  %3882 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3883 = load i32, ptr @test_count, align 4, !tbaa !5
  %3884 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3885 = load i32, ptr %3884, align 4, !tbaa !5
  %3886 = call ptr @s2n_strerror(i32 noundef %3885, ptr noundef @.str.4)
  %3887 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3888 = load i32, ptr %3887, align 4, !tbaa !5
  %3889 = call ptr @s2n_strerror_debug(i32 noundef %3888, ptr noundef @.str.4)
  %3890 = call ptr @__errno_location() #9
  %3891 = load i32, ptr %3890, align 4, !tbaa !5
  %3892 = call ptr @strerror(i32 noundef %3891) #8
  %3893 = call ptr @__errno_location() #9
  %3894 = load i32, ptr %3893, align 4, !tbaa !5
  %3895 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3882, ptr noundef @.str.2, i32 noundef %3883, ptr noundef @.str.35, ptr noundef @.str.1, i32 noundef 151, ptr noundef %3886, ptr noundef %3889, ptr noundef %3892, i32 noundef %3894) #8
  br label %3913

3896:                                             ; preds = %3874, %3867
  %3897 = load i32, ptr %70, align 4, !tbaa !5
  %3898 = call ptr @__errno_location() #9
  store i32 %3897, ptr %3898, align 4, !tbaa !5
  %3899 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3900 = load i32, ptr @test_count, align 4, !tbaa !5
  %3901 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3902 = load i32, ptr %3901, align 4, !tbaa !5
  %3903 = call ptr @s2n_strerror(i32 noundef %3902, ptr noundef @.str.4)
  %3904 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3905 = load i32, ptr %3904, align 4, !tbaa !5
  %3906 = call ptr @s2n_strerror_debug(i32 noundef %3905, ptr noundef @.str.4)
  %3907 = call ptr @__errno_location() #9
  %3908 = load i32, ptr %3907, align 4, !tbaa !5
  %3909 = call ptr @strerror(i32 noundef %3908) #8
  %3910 = call ptr @__errno_location() #9
  %3911 = load i32, ptr %3910, align 4, !tbaa !5
  %3912 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3899, ptr noundef @.str.5, i32 noundef %3900, ptr noundef @.str.35, ptr noundef @.str.1, i32 noundef 151, ptr noundef %3903, ptr noundef %3906, ptr noundef %3909, i32 noundef %3911) #8
  br label %3913

3913:                                             ; preds = %3896, %3879
  call void @llvm.lifetime.end.p0(i64 4, ptr %70) #8
  br label %3914

3914:                                             ; preds = %3913
  br label %3915

3915:                                             ; preds = %3914
  call void @exit(i32 noundef 1) #10
  unreachable

3916:                                             ; No predecessors!
  br label %3917

3917:                                             ; preds = %3916
  br label %3918

3918:                                             ; preds = %3917, %3859
  br label %3919

3919:                                             ; preds = %3918
  br label %3920

3920:                                             ; preds = %3919
  br label %3921

3921:                                             ; preds = %3920
  %3922 = load i32, ptr @test_count, align 4, !tbaa !5
  %3923 = add nsw i32 %3922, 1
  store i32 %3923, ptr @test_count, align 4, !tbaa !5
  %3924 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3925 = load i32, ptr %3924, align 4, !tbaa !5
  %3926 = icmp eq i32 %3925, 0
  br i1 %3926, label %3927, label %3980

3927:                                             ; preds = %3921
  br label %3928

3928:                                             ; preds = %3927
  br label %3929

3929:                                             ; preds = %3928
  call void @llvm.lifetime.start.p0(i64 4, ptr %71) #8
  %3930 = call ptr @__errno_location() #9
  %3931 = load i32, ptr %3930, align 4, !tbaa !5
  store i32 %3931, ptr %71, align 4, !tbaa !5
  %3932 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3933 = call i32 @s2n_print_stacktrace(ptr noundef %3932)
  %3934 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3935 = trunc i8 %3934 to i1
  br i1 %3935, label %3936, label %3958

3936:                                             ; preds = %3929
  %3937 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3938 = call i32 @fileno(ptr noundef %3937) #8
  %3939 = call i32 @isatty(i32 noundef %3938) #8
  %3940 = icmp ne i32 %3939, 0
  br i1 %3940, label %3941, label %3958

3941:                                             ; preds = %3936
  %3942 = load i32, ptr %71, align 4, !tbaa !5
  %3943 = call ptr @__errno_location() #9
  store i32 %3942, ptr %3943, align 4, !tbaa !5
  %3944 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3945 = load i32, ptr @test_count, align 4, !tbaa !5
  %3946 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3947 = load i32, ptr %3946, align 4, !tbaa !5
  %3948 = call ptr @s2n_strerror(i32 noundef %3947, ptr noundef @.str.4)
  %3949 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3950 = load i32, ptr %3949, align 4, !tbaa !5
  %3951 = call ptr @s2n_strerror_debug(i32 noundef %3950, ptr noundef @.str.4)
  %3952 = call ptr @__errno_location() #9
  %3953 = load i32, ptr %3952, align 4, !tbaa !5
  %3954 = call ptr @strerror(i32 noundef %3953) #8
  %3955 = call ptr @__errno_location() #9
  %3956 = load i32, ptr %3955, align 4, !tbaa !5
  %3957 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3944, ptr noundef @.str.2, i32 noundef %3945, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 151, ptr noundef %3948, ptr noundef %3951, ptr noundef %3954, i32 noundef %3956) #8
  br label %3975

3958:                                             ; preds = %3936, %3929
  %3959 = load i32, ptr %71, align 4, !tbaa !5
  %3960 = call ptr @__errno_location() #9
  store i32 %3959, ptr %3960, align 4, !tbaa !5
  %3961 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3962 = load i32, ptr @test_count, align 4, !tbaa !5
  %3963 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3964 = load i32, ptr %3963, align 4, !tbaa !5
  %3965 = call ptr @s2n_strerror(i32 noundef %3964, ptr noundef @.str.4)
  %3966 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3967 = load i32, ptr %3966, align 4, !tbaa !5
  %3968 = call ptr @s2n_strerror_debug(i32 noundef %3967, ptr noundef @.str.4)
  %3969 = call ptr @__errno_location() #9
  %3970 = load i32, ptr %3969, align 4, !tbaa !5
  %3971 = call ptr @strerror(i32 noundef %3970) #8
  %3972 = call ptr @__errno_location() #9
  %3973 = load i32, ptr %3972, align 4, !tbaa !5
  %3974 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3961, ptr noundef @.str.5, i32 noundef %3962, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 151, ptr noundef %3965, ptr noundef %3968, ptr noundef %3971, i32 noundef %3973) #8
  br label %3975

3975:                                             ; preds = %3958, %3941
  call void @llvm.lifetime.end.p0(i64 4, ptr %71) #8
  br label %3976

3976:                                             ; preds = %3975
  br label %3977

3977:                                             ; preds = %3976
  call void @exit(i32 noundef 1) #10
  unreachable

3978:                                             ; No predecessors!
  br label %3979

3979:                                             ; preds = %3978
  br label %3980

3980:                                             ; preds = %3979, %3921
  br label %3981

3981:                                             ; preds = %3980
  br label %3982

3982:                                             ; preds = %3981
  br label %3983

3983:                                             ; preds = %3982
  %3984 = load i32, ptr @test_count, align 4, !tbaa !5
  %3985 = add nsw i32 %3984, 1
  store i32 %3985, ptr @test_count, align 4, !tbaa !5
  %3986 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3987 = load i32, ptr %3986, align 4, !tbaa !5
  %3988 = call ptr @s2n_strerror_debug(i32 noundef %3987, ptr noundef @.str.4)
  %3989 = icmp eq ptr %3988, null
  br i1 %3989, label %3990, label %4043

3990:                                             ; preds = %3983
  br label %3991

3991:                                             ; preds = %3990
  br label %3992

3992:                                             ; preds = %3991
  call void @llvm.lifetime.start.p0(i64 4, ptr %72) #8
  %3993 = call ptr @__errno_location() #9
  %3994 = load i32, ptr %3993, align 4, !tbaa !5
  store i32 %3994, ptr %72, align 4, !tbaa !5
  %3995 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3996 = call i32 @s2n_print_stacktrace(ptr noundef %3995)
  %3997 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3998 = trunc i8 %3997 to i1
  br i1 %3998, label %3999, label %4021

3999:                                             ; preds = %3992
  %4000 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4001 = call i32 @fileno(ptr noundef %4000) #8
  %4002 = call i32 @isatty(i32 noundef %4001) #8
  %4003 = icmp ne i32 %4002, 0
  br i1 %4003, label %4004, label %4021

4004:                                             ; preds = %3999
  %4005 = load i32, ptr %72, align 4, !tbaa !5
  %4006 = call ptr @__errno_location() #9
  store i32 %4005, ptr %4006, 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 @.str.4)
  %4012 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4013 = load i32, ptr %4012, align 4, !tbaa !5
  %4014 = call ptr @s2n_strerror_debug(i32 noundef %4013, ptr noundef @.str.4)
  %4015 = call ptr @__errno_location() #9
  %4016 = load i32, ptr %4015, align 4, !tbaa !5
  %4017 = call ptr @strerror(i32 noundef %4016) #8
  %4018 = call ptr @__errno_location() #9
  %4019 = load i32, ptr %4018, align 4, !tbaa !5
  %4020 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4007, ptr noundef @.str.2, i32 noundef %4008, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 151, ptr noundef %4011, ptr noundef %4014, ptr noundef %4017, i32 noundef %4019) #8
  br label %4038

4021:                                             ; preds = %3999, %3992
  %4022 = load i32, ptr %72, align 4, !tbaa !5
  %4023 = call ptr @__errno_location() #9
  store i32 %4022, ptr %4023, align 4, !tbaa !5
  %4024 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4025 = load i32, ptr @test_count, align 4, !tbaa !5
  %4026 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4027 = load i32, ptr %4026, align 4, !tbaa !5
  %4028 = call ptr @s2n_strerror(i32 noundef %4027, ptr noundef @.str.4)
  %4029 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4030 = load i32, ptr %4029, align 4, !tbaa !5
  %4031 = call ptr @s2n_strerror_debug(i32 noundef %4030, ptr noundef @.str.4)
  %4032 = call ptr @__errno_location() #9
  %4033 = load i32, ptr %4032, align 4, !tbaa !5
  %4034 = call ptr @strerror(i32 noundef %4033) #8
  %4035 = call ptr @__errno_location() #9
  %4036 = load i32, ptr %4035, align 4, !tbaa !5
  %4037 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4024, ptr noundef @.str.5, i32 noundef %4025, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 151, ptr noundef %4028, ptr noundef %4031, ptr noundef %4034, i32 noundef %4036) #8
  br label %4038

4038:                                             ; preds = %4021, %4004
  call void @llvm.lifetime.end.p0(i64 4, ptr %72) #8
  br label %4039

4039:                                             ; preds = %4038
  br label %4040

4040:                                             ; preds = %4039
  call void @exit(i32 noundef 1) #10
  unreachable

4041:                                             ; No predecessors!
  br label %4042

4042:                                             ; preds = %4041
  br label %4043

4043:                                             ; preds = %4042, %3983
  br label %4044

4044:                                             ; preds = %4043
  br label %4045

4045:                                             ; preds = %4044
  br label %4046

4046:                                             ; preds = %4045
  %4047 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %4047, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %4048 = call ptr @__errno_location() #9
  store i32 0, ptr %4048, align 4, !tbaa !5
  br label %4049

4049:                                             ; preds = %4046
  br label %4050

4050:                                             ; preds = %4049
  br label %4051

4051:                                             ; preds = %4050
  br label %4052

4052:                                             ; preds = %4051
  br label %4053

4053:                                             ; preds = %4052
  %4054 = load i32, ptr @test_count, align 4, !tbaa !5
  %4055 = add nsw i32 %4054, 1
  store i32 %4055, ptr @test_count, align 4, !tbaa !5
  %4056 = load ptr, ptr %59, align 8, !tbaa !9
  %4057 = load ptr, ptr %15, align 8, !tbaa !9
  %4058 = call i32 @s2n_connection_set_config(ptr noundef %4056, ptr noundef %4057)
  %4059 = icmp eq i32 %4058, -1
  br i1 %4059, label %4060, label %4113

4060:                                             ; preds = %4053
  br label %4061

4061:                                             ; preds = %4060
  br label %4062

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

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

4074:                                             ; preds = %4069
  %4075 = load i32, ptr %73, align 4, !tbaa !5
  %4076 = call ptr @__errno_location() #9
  store i32 %4075, ptr %4076, align 4, !tbaa !5
  %4077 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4078 = load i32, ptr @test_count, align 4, !tbaa !5
  %4079 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4080 = load i32, ptr %4079, align 4, !tbaa !5
  %4081 = call ptr @s2n_strerror(i32 noundef %4080, ptr noundef @.str.4)
  %4082 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4083 = load i32, ptr %4082, align 4, !tbaa !5
  %4084 = call ptr @s2n_strerror_debug(i32 noundef %4083, ptr noundef @.str.4)
  %4085 = call ptr @__errno_location() #9
  %4086 = load i32, ptr %4085, align 4, !tbaa !5
  %4087 = call ptr @strerror(i32 noundef %4086) #8
  %4088 = call ptr @__errno_location() #9
  %4089 = load i32, ptr %4088, align 4, !tbaa !5
  %4090 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4077, ptr noundef @.str.2, i32 noundef %4078, ptr noundef @.str.25, ptr noundef @.str.1, i32 noundef 154, ptr noundef %4081, ptr noundef %4084, ptr noundef %4087, i32 noundef %4089) #8
  br label %4108

4091:                                             ; preds = %4069, %4062
  %4092 = load i32, ptr %73, align 4, !tbaa !5
  %4093 = call ptr @__errno_location() #9
  store i32 %4092, ptr %4093, align 4, !tbaa !5
  %4094 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4095 = load i32, ptr @test_count, align 4, !tbaa !5
  %4096 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4097 = load i32, ptr %4096, align 4, !tbaa !5
  %4098 = call ptr @s2n_strerror(i32 noundef %4097, ptr noundef @.str.4)
  %4099 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4100 = load i32, ptr %4099, align 4, !tbaa !5
  %4101 = call ptr @s2n_strerror_debug(i32 noundef %4100, ptr noundef @.str.4)
  %4102 = call ptr @__errno_location() #9
  %4103 = load i32, ptr %4102, align 4, !tbaa !5
  %4104 = call ptr @strerror(i32 noundef %4103) #8
  %4105 = call ptr @__errno_location() #9
  %4106 = load i32, ptr %4105, align 4, !tbaa !5
  %4107 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4094, ptr noundef @.str.5, i32 noundef %4095, ptr noundef @.str.25, ptr noundef @.str.1, i32 noundef 154, ptr noundef %4098, ptr noundef %4101, ptr noundef %4104, i32 noundef %4106) #8
  br label %4108

4108:                                             ; preds = %4091, %4074
  call void @llvm.lifetime.end.p0(i64 4, ptr %73) #8
  br label %4109

4109:                                             ; preds = %4108
  br label %4110

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

4111:                                             ; No predecessors!
  br label %4112

4112:                                             ; preds = %4111
  br label %4113

4113:                                             ; preds = %4112, %4053
  br label %4114

4114:                                             ; preds = %4113
  br label %4115

4115:                                             ; preds = %4114
  br label %4116

4116:                                             ; preds = %4115
  %4117 = load i32, ptr @test_count, align 4, !tbaa !5
  %4118 = add nsw i32 %4117, 1
  store i32 %4118, ptr @test_count, align 4, !tbaa !5
  %4119 = load ptr, ptr %59, align 8, !tbaa !9
  %4120 = call i32 @s2n_is_sig_scheme_valid_for_auth(ptr noundef %4119, ptr noundef @s2n_rsa_pkcs1_md5_sha1)
  %4121 = icmp eq i32 %4120, -1
  br i1 %4121, label %4122, label %4175

4122:                                             ; preds = %4116
  br label %4123

4123:                                             ; preds = %4122
  br label %4124

4124:                                             ; preds = %4123
  call void @llvm.lifetime.start.p0(i64 4, ptr %74) #8
  %4125 = call ptr @__errno_location() #9
  %4126 = load i32, ptr %4125, align 4, !tbaa !5
  store i32 %4126, ptr %74, align 4, !tbaa !5
  %4127 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4128 = call i32 @s2n_print_stacktrace(ptr noundef %4127)
  %4129 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4130 = trunc i8 %4129 to i1
  br i1 %4130, label %4131, label %4153

4131:                                             ; preds = %4124
  %4132 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4133 = call i32 @fileno(ptr noundef %4132) #8
  %4134 = call i32 @isatty(i32 noundef %4133) #8
  %4135 = icmp ne i32 %4134, 0
  br i1 %4135, label %4136, label %4153

4136:                                             ; preds = %4131
  %4137 = load i32, ptr %74, align 4, !tbaa !5
  %4138 = call ptr @__errno_location() #9
  store i32 %4137, ptr %4138, align 4, !tbaa !5
  %4139 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4140 = load i32, ptr @test_count, align 4, !tbaa !5
  %4141 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4142 = load i32, ptr %4141, align 4, !tbaa !5
  %4143 = call ptr @s2n_strerror(i32 noundef %4142, ptr noundef @.str.4)
  %4144 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4145 = load i32, ptr %4144, align 4, !tbaa !5
  %4146 = call ptr @s2n_strerror_debug(i32 noundef %4145, ptr noundef @.str.4)
  %4147 = call ptr @__errno_location() #9
  %4148 = load i32, ptr %4147, align 4, !tbaa !5
  %4149 = call ptr @strerror(i32 noundef %4148) #8
  %4150 = call ptr @__errno_location() #9
  %4151 = load i32, ptr %4150, align 4, !tbaa !5
  %4152 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4139, ptr noundef @.str.2, i32 noundef %4140, ptr noundef @.str.36, ptr noundef @.str.1, i32 noundef 155, ptr noundef %4143, ptr noundef %4146, ptr noundef %4149, i32 noundef %4151) #8
  br label %4170

4153:                                             ; preds = %4131, %4124
  %4154 = load i32, ptr %74, align 4, !tbaa !5
  %4155 = call ptr @__errno_location() #9
  store i32 %4154, ptr %4155, align 4, !tbaa !5
  %4156 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4157 = load i32, ptr @test_count, align 4, !tbaa !5
  %4158 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4159 = load i32, ptr %4158, align 4, !tbaa !5
  %4160 = call ptr @s2n_strerror(i32 noundef %4159, ptr noundef @.str.4)
  %4161 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4162 = load i32, ptr %4161, align 4, !tbaa !5
  %4163 = call ptr @s2n_strerror_debug(i32 noundef %4162, ptr noundef @.str.4)
  %4164 = call ptr @__errno_location() #9
  %4165 = load i32, ptr %4164, align 4, !tbaa !5
  %4166 = call ptr @strerror(i32 noundef %4165) #8
  %4167 = call ptr @__errno_location() #9
  %4168 = load i32, ptr %4167, align 4, !tbaa !5
  %4169 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4156, ptr noundef @.str.5, i32 noundef %4157, ptr noundef @.str.36, ptr noundef @.str.1, i32 noundef 155, ptr noundef %4160, ptr noundef %4163, ptr noundef %4166, i32 noundef %4168) #8
  br label %4170

4170:                                             ; preds = %4153, %4136
  call void @llvm.lifetime.end.p0(i64 4, ptr %74) #8
  br label %4171

4171:                                             ; preds = %4170
  br label %4172

4172:                                             ; preds = %4171
  call void @exit(i32 noundef 1) #10
  unreachable

4173:                                             ; No predecessors!
  br label %4174

4174:                                             ; preds = %4173
  br label %4175

4175:                                             ; preds = %4174, %4116
  br label %4176

4176:                                             ; preds = %4175
  br label %4177

4177:                                             ; preds = %4176
  br label %4178

4178:                                             ; preds = %4177
  br label %4179

4179:                                             ; preds = %4178
  %4180 = load i32, ptr @test_count, align 4, !tbaa !5
  %4181 = add nsw i32 %4180, 1
  store i32 %4181, ptr @test_count, align 4, !tbaa !5
  %4182 = load ptr, ptr %59, align 8, !tbaa !9
  %4183 = call i32 @s2n_is_sig_scheme_valid_for_auth(ptr noundef %4182, ptr noundef @s2n_rsa_pss_pss_sha256)
  %4184 = icmp eq i32 %4183, -1
  br i1 %4184, label %4238, label %4185

4185:                                             ; preds = %4179
  br label %4186

4186:                                             ; preds = %4185
  br label %4187

4187:                                             ; preds = %4186
  call void @llvm.lifetime.start.p0(i64 4, ptr %75) #8
  %4188 = call ptr @__errno_location() #9
  %4189 = load i32, ptr %4188, align 4, !tbaa !5
  store i32 %4189, ptr %75, align 4, !tbaa !5
  %4190 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4191 = call i32 @s2n_print_stacktrace(ptr noundef %4190)
  %4192 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4193 = trunc i8 %4192 to i1
  br i1 %4193, label %4194, label %4216

4194:                                             ; preds = %4187
  %4195 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4196 = call i32 @fileno(ptr noundef %4195) #8
  %4197 = call i32 @isatty(i32 noundef %4196) #8
  %4198 = icmp ne i32 %4197, 0
  br i1 %4198, label %4199, label %4216

4199:                                             ; preds = %4194
  %4200 = load i32, ptr %75, align 4, !tbaa !5
  %4201 = call ptr @__errno_location() #9
  store i32 %4200, ptr %4201, align 4, !tbaa !5
  %4202 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4203 = load i32, ptr @test_count, align 4, !tbaa !5
  %4204 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4205 = load i32, ptr %4204, align 4, !tbaa !5
  %4206 = call ptr @s2n_strerror(i32 noundef %4205, ptr noundef @.str.4)
  %4207 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4208 = load i32, ptr %4207, align 4, !tbaa !5
  %4209 = call ptr @s2n_strerror_debug(i32 noundef %4208, ptr noundef @.str.4)
  %4210 = call ptr @__errno_location() #9
  %4211 = load i32, ptr %4210, align 4, !tbaa !5
  %4212 = call ptr @strerror(i32 noundef %4211) #8
  %4213 = call ptr @__errno_location() #9
  %4214 = load i32, ptr %4213, align 4, !tbaa !5
  %4215 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4202, ptr noundef @.str.2, i32 noundef %4203, ptr noundef @.str.33, ptr noundef @.str.1, i32 noundef 156, ptr noundef %4206, ptr noundef %4209, ptr noundef %4212, i32 noundef %4214) #8
  br label %4233

4216:                                             ; preds = %4194, %4187
  %4217 = load i32, ptr %75, align 4, !tbaa !5
  %4218 = call ptr @__errno_location() #9
  store i32 %4217, ptr %4218, align 4, !tbaa !5
  %4219 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4220 = load i32, ptr @test_count, align 4, !tbaa !5
  %4221 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4222 = load i32, ptr %4221, align 4, !tbaa !5
  %4223 = call ptr @s2n_strerror(i32 noundef %4222, ptr noundef @.str.4)
  %4224 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4225 = load i32, ptr %4224, align 4, !tbaa !5
  %4226 = call ptr @s2n_strerror_debug(i32 noundef %4225, ptr noundef @.str.4)
  %4227 = call ptr @__errno_location() #9
  %4228 = load i32, ptr %4227, align 4, !tbaa !5
  %4229 = call ptr @strerror(i32 noundef %4228) #8
  %4230 = call ptr @__errno_location() #9
  %4231 = load i32, ptr %4230, align 4, !tbaa !5
  %4232 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4219, ptr noundef @.str.5, i32 noundef %4220, ptr noundef @.str.33, ptr noundef @.str.1, i32 noundef 156, ptr noundef %4223, ptr noundef %4226, ptr noundef %4229, i32 noundef %4231) #8
  br label %4233

4233:                                             ; preds = %4216, %4199
  call void @llvm.lifetime.end.p0(i64 4, ptr %75) #8
  br label %4234

4234:                                             ; preds = %4233
  br label %4235

4235:                                             ; preds = %4234
  call void @exit(i32 noundef 1) #10
  unreachable

4236:                                             ; No predecessors!
  br label %4237

4237:                                             ; preds = %4236
  br label %4238

4238:                                             ; preds = %4237, %4179
  br label %4239

4239:                                             ; preds = %4238
  br label %4240

4240:                                             ; preds = %4239
  br label %4241

4241:                                             ; preds = %4240
  %4242 = load i32, ptr @test_count, align 4, !tbaa !5
  %4243 = add nsw i32 %4242, 1
  store i32 %4243, ptr @test_count, align 4, !tbaa !5
  %4244 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4245 = load i32, ptr %4244, align 4, !tbaa !5
  %4246 = icmp eq i32 %4245, 0
  br i1 %4246, label %4247, label %4300

4247:                                             ; preds = %4241
  br label %4248

4248:                                             ; preds = %4247
  br label %4249

4249:                                             ; preds = %4248
  call void @llvm.lifetime.start.p0(i64 4, ptr %76) #8
  %4250 = call ptr @__errno_location() #9
  %4251 = load i32, ptr %4250, align 4, !tbaa !5
  store i32 %4251, ptr %76, align 4, !tbaa !5
  %4252 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4253 = call i32 @s2n_print_stacktrace(ptr noundef %4252)
  %4254 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4255 = trunc i8 %4254 to i1
  br i1 %4255, label %4256, label %4278

4256:                                             ; preds = %4249
  %4257 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4258 = call i32 @fileno(ptr noundef %4257) #8
  %4259 = call i32 @isatty(i32 noundef %4258) #8
  %4260 = icmp ne i32 %4259, 0
  br i1 %4260, label %4261, label %4278

4261:                                             ; preds = %4256
  %4262 = load i32, ptr %76, align 4, !tbaa !5
  %4263 = call ptr @__errno_location() #9
  store i32 %4262, ptr %4263, align 4, !tbaa !5
  %4264 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4265 = load i32, ptr @test_count, align 4, !tbaa !5
  %4266 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4267 = load i32, ptr %4266, align 4, !tbaa !5
  %4268 = call ptr @s2n_strerror(i32 noundef %4267, ptr noundef @.str.4)
  %4269 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4270 = load i32, ptr %4269, align 4, !tbaa !5
  %4271 = call ptr @s2n_strerror_debug(i32 noundef %4270, ptr noundef @.str.4)
  %4272 = call ptr @__errno_location() #9
  %4273 = load i32, ptr %4272, align 4, !tbaa !5
  %4274 = call ptr @strerror(i32 noundef %4273) #8
  %4275 = call ptr @__errno_location() #9
  %4276 = load i32, ptr %4275, align 4, !tbaa !5
  %4277 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4264, ptr noundef @.str.2, i32 noundef %4265, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 156, ptr noundef %4268, ptr noundef %4271, ptr noundef %4274, i32 noundef %4276) #8
  br label %4295

4278:                                             ; preds = %4256, %4249
  %4279 = load i32, ptr %76, align 4, !tbaa !5
  %4280 = call ptr @__errno_location() #9
  store i32 %4279, ptr %4280, align 4, !tbaa !5
  %4281 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4282 = load i32, ptr @test_count, align 4, !tbaa !5
  %4283 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4284 = load i32, ptr %4283, align 4, !tbaa !5
  %4285 = call ptr @s2n_strerror(i32 noundef %4284, ptr noundef @.str.4)
  %4286 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4287 = load i32, ptr %4286, align 4, !tbaa !5
  %4288 = call ptr @s2n_strerror_debug(i32 noundef %4287, ptr noundef @.str.4)
  %4289 = call ptr @__errno_location() #9
  %4290 = load i32, ptr %4289, align 4, !tbaa !5
  %4291 = call ptr @strerror(i32 noundef %4290) #8
  %4292 = call ptr @__errno_location() #9
  %4293 = load i32, ptr %4292, align 4, !tbaa !5
  %4294 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4281, ptr noundef @.str.5, i32 noundef %4282, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 156, ptr noundef %4285, ptr noundef %4288, ptr noundef %4291, i32 noundef %4293) #8
  br label %4295

4295:                                             ; preds = %4278, %4261
  call void @llvm.lifetime.end.p0(i64 4, ptr %76) #8
  br label %4296

4296:                                             ; preds = %4295
  br label %4297

4297:                                             ; preds = %4296
  call void @exit(i32 noundef 1) #10
  unreachable

4298:                                             ; No predecessors!
  br label %4299

4299:                                             ; preds = %4298
  br label %4300

4300:                                             ; preds = %4299, %4241
  br label %4301

4301:                                             ; preds = %4300
  br label %4302

4302:                                             ; preds = %4301
  br label %4303

4303:                                             ; preds = %4302
  %4304 = load i32, ptr @test_count, align 4, !tbaa !5
  %4305 = add nsw i32 %4304, 1
  store i32 %4305, ptr @test_count, align 4, !tbaa !5
  %4306 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4307 = load i32, ptr %4306, align 4, !tbaa !5
  %4308 = call ptr @s2n_strerror_debug(i32 noundef %4307, ptr noundef @.str.4)
  %4309 = icmp eq ptr %4308, null
  br i1 %4309, label %4310, label %4363

4310:                                             ; preds = %4303
  br label %4311

4311:                                             ; preds = %4310
  br label %4312

4312:                                             ; preds = %4311
  call void @llvm.lifetime.start.p0(i64 4, ptr %77) #8
  %4313 = call ptr @__errno_location() #9
  %4314 = load i32, ptr %4313, align 4, !tbaa !5
  store i32 %4314, ptr %77, align 4, !tbaa !5
  %4315 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4316 = call i32 @s2n_print_stacktrace(ptr noundef %4315)
  %4317 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4318 = trunc i8 %4317 to i1
  br i1 %4318, label %4319, label %4341

4319:                                             ; preds = %4312
  %4320 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4321 = call i32 @fileno(ptr noundef %4320) #8
  %4322 = call i32 @isatty(i32 noundef %4321) #8
  %4323 = icmp ne i32 %4322, 0
  br i1 %4323, label %4324, label %4341

4324:                                             ; preds = %4319
  %4325 = load i32, ptr %77, align 4, !tbaa !5
  %4326 = call ptr @__errno_location() #9
  store i32 %4325, ptr %4326, align 4, !tbaa !5
  %4327 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4328 = load i32, ptr @test_count, align 4, !tbaa !5
  %4329 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4330 = load i32, ptr %4329, align 4, !tbaa !5
  %4331 = call ptr @s2n_strerror(i32 noundef %4330, ptr noundef @.str.4)
  %4332 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4333 = load i32, ptr %4332, align 4, !tbaa !5
  %4334 = call ptr @s2n_strerror_debug(i32 noundef %4333, ptr noundef @.str.4)
  %4335 = call ptr @__errno_location() #9
  %4336 = load i32, ptr %4335, align 4, !tbaa !5
  %4337 = call ptr @strerror(i32 noundef %4336) #8
  %4338 = call ptr @__errno_location() #9
  %4339 = load i32, ptr %4338, align 4, !tbaa !5
  %4340 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4327, ptr noundef @.str.2, i32 noundef %4328, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 156, ptr noundef %4331, ptr noundef %4334, ptr noundef %4337, i32 noundef %4339) #8
  br label %4358

4341:                                             ; preds = %4319, %4312
  %4342 = load i32, ptr %77, align 4, !tbaa !5
  %4343 = call ptr @__errno_location() #9
  store i32 %4342, ptr %4343, align 4, !tbaa !5
  %4344 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4345 = load i32, ptr @test_count, align 4, !tbaa !5
  %4346 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4347 = load i32, ptr %4346, align 4, !tbaa !5
  %4348 = call ptr @s2n_strerror(i32 noundef %4347, ptr noundef @.str.4)
  %4349 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4350 = load i32, ptr %4349, align 4, !tbaa !5
  %4351 = call ptr @s2n_strerror_debug(i32 noundef %4350, ptr noundef @.str.4)
  %4352 = call ptr @__errno_location() #9
  %4353 = load i32, ptr %4352, align 4, !tbaa !5
  %4354 = call ptr @strerror(i32 noundef %4353) #8
  %4355 = call ptr @__errno_location() #9
  %4356 = load i32, ptr %4355, align 4, !tbaa !5
  %4357 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4344, ptr noundef @.str.5, i32 noundef %4345, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 156, ptr noundef %4348, ptr noundef %4351, ptr noundef %4354, i32 noundef %4356) #8
  br label %4358

4358:                                             ; preds = %4341, %4324
  call void @llvm.lifetime.end.p0(i64 4, ptr %77) #8
  br label %4359

4359:                                             ; preds = %4358
  br label %4360

4360:                                             ; preds = %4359
  call void @exit(i32 noundef 1) #10
  unreachable

4361:                                             ; No predecessors!
  br label %4362

4362:                                             ; preds = %4361
  br label %4363

4363:                                             ; preds = %4362, %4303
  br label %4364

4364:                                             ; preds = %4363
  br label %4365

4365:                                             ; preds = %4364
  br label %4366

4366:                                             ; preds = %4365
  %4367 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %4367, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %4368 = call ptr @__errno_location() #9
  store i32 0, ptr %4368, align 4, !tbaa !5
  br label %4369

4369:                                             ; preds = %4366
  br label %4370

4370:                                             ; preds = %4369
  br label %4371

4371:                                             ; preds = %4370
  br label %4372

4372:                                             ; preds = %4371
  br label %4373

4373:                                             ; preds = %4372
  %4374 = load i32, ptr @test_count, align 4, !tbaa !5
  %4375 = add nsw i32 %4374, 1
  store i32 %4375, ptr @test_count, align 4, !tbaa !5
  %4376 = load ptr, ptr %59, align 8, !tbaa !9
  %4377 = call i32 @s2n_is_sig_scheme_valid_for_auth(ptr noundef %4376, ptr noundef @s2n_rsa_pss_rsae_sha256)
  %4378 = icmp eq i32 %4377, -1
  br i1 %4378, label %4379, label %4432

4379:                                             ; preds = %4373
  br label %4380

4380:                                             ; preds = %4379
  br label %4381

4381:                                             ; preds = %4380
  call void @llvm.lifetime.start.p0(i64 4, ptr %78) #8
  %4382 = call ptr @__errno_location() #9
  %4383 = load i32, ptr %4382, align 4, !tbaa !5
  store i32 %4383, ptr %78, align 4, !tbaa !5
  %4384 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4385 = call i32 @s2n_print_stacktrace(ptr noundef %4384)
  %4386 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4387 = trunc i8 %4386 to i1
  br i1 %4387, label %4388, label %4410

4388:                                             ; preds = %4381
  %4389 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4390 = call i32 @fileno(ptr noundef %4389) #8
  %4391 = call i32 @isatty(i32 noundef %4390) #8
  %4392 = icmp ne i32 %4391, 0
  br i1 %4392, label %4393, label %4410

4393:                                             ; preds = %4388
  %4394 = load i32, ptr %78, align 4, !tbaa !5
  %4395 = call ptr @__errno_location() #9
  store i32 %4394, ptr %4395, align 4, !tbaa !5
  %4396 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4397 = load i32, ptr @test_count, align 4, !tbaa !5
  %4398 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4399 = load i32, ptr %4398, align 4, !tbaa !5
  %4400 = call ptr @s2n_strerror(i32 noundef %4399, ptr noundef @.str.4)
  %4401 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4402 = load i32, ptr %4401, align 4, !tbaa !5
  %4403 = call ptr @s2n_strerror_debug(i32 noundef %4402, ptr noundef @.str.4)
  %4404 = call ptr @__errno_location() #9
  %4405 = load i32, ptr %4404, align 4, !tbaa !5
  %4406 = call ptr @strerror(i32 noundef %4405) #8
  %4407 = call ptr @__errno_location() #9
  %4408 = load i32, ptr %4407, align 4, !tbaa !5
  %4409 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4396, ptr noundef @.str.2, i32 noundef %4397, ptr noundef @.str.37, ptr noundef @.str.1, i32 noundef 157, ptr noundef %4400, ptr noundef %4403, ptr noundef %4406, i32 noundef %4408) #8
  br label %4427

4410:                                             ; preds = %4388, %4381
  %4411 = load i32, ptr %78, align 4, !tbaa !5
  %4412 = call ptr @__errno_location() #9
  store i32 %4411, ptr %4412, align 4, !tbaa !5
  %4413 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4414 = load i32, ptr @test_count, align 4, !tbaa !5
  %4415 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4416 = load i32, ptr %4415, align 4, !tbaa !5
  %4417 = call ptr @s2n_strerror(i32 noundef %4416, ptr noundef @.str.4)
  %4418 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4419 = load i32, ptr %4418, align 4, !tbaa !5
  %4420 = call ptr @s2n_strerror_debug(i32 noundef %4419, ptr noundef @.str.4)
  %4421 = call ptr @__errno_location() #9
  %4422 = load i32, ptr %4421, align 4, !tbaa !5
  %4423 = call ptr @strerror(i32 noundef %4422) #8
  %4424 = call ptr @__errno_location() #9
  %4425 = load i32, ptr %4424, align 4, !tbaa !5
  %4426 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4413, ptr noundef @.str.5, i32 noundef %4414, ptr noundef @.str.37, ptr noundef @.str.1, i32 noundef 157, ptr noundef %4417, ptr noundef %4420, ptr noundef %4423, i32 noundef %4425) #8
  br label %4427

4427:                                             ; preds = %4410, %4393
  call void @llvm.lifetime.end.p0(i64 4, ptr %78) #8
  br label %4428

4428:                                             ; preds = %4427
  br label %4429

4429:                                             ; preds = %4428
  call void @exit(i32 noundef 1) #10
  unreachable

4430:                                             ; No predecessors!
  br label %4431

4431:                                             ; preds = %4430
  br label %4432

4432:                                             ; preds = %4431, %4373
  br label %4433

4433:                                             ; preds = %4432
  br label %4434

4434:                                             ; preds = %4433
  br label %4435

4435:                                             ; preds = %4434
  br label %4436

4436:                                             ; preds = %4435
  %4437 = load i32, ptr @test_count, align 4, !tbaa !5
  %4438 = add nsw i32 %4437, 1
  store i32 %4438, ptr @test_count, align 4, !tbaa !5
  %4439 = load ptr, ptr %59, align 8, !tbaa !9
  %4440 = call i32 @s2n_is_sig_scheme_valid_for_auth(ptr noundef %4439, ptr noundef @s2n_ecdsa_sha384)
  %4441 = icmp eq i32 %4440, -1
  br i1 %4441, label %4495, label %4442

4442:                                             ; preds = %4436
  br label %4443

4443:                                             ; preds = %4442
  br label %4444

4444:                                             ; preds = %4443
  call void @llvm.lifetime.start.p0(i64 4, ptr %79) #8
  %4445 = call ptr @__errno_location() #9
  %4446 = load i32, ptr %4445, align 4, !tbaa !5
  store i32 %4446, ptr %79, align 4, !tbaa !5
  %4447 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4448 = call i32 @s2n_print_stacktrace(ptr noundef %4447)
  %4449 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4450 = trunc i8 %4449 to i1
  br i1 %4450, label %4451, label %4473

4451:                                             ; preds = %4444
  %4452 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4453 = call i32 @fileno(ptr noundef %4452) #8
  %4454 = call i32 @isatty(i32 noundef %4453) #8
  %4455 = icmp ne i32 %4454, 0
  br i1 %4455, label %4456, label %4473

4456:                                             ; preds = %4451
  %4457 = load i32, ptr %79, align 4, !tbaa !5
  %4458 = call ptr @__errno_location() #9
  store i32 %4457, ptr %4458, 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 @.str.4)
  %4464 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4465 = load i32, ptr %4464, align 4, !tbaa !5
  %4466 = call ptr @s2n_strerror_debug(i32 noundef %4465, ptr noundef @.str.4)
  %4467 = call ptr @__errno_location() #9
  %4468 = load i32, ptr %4467, align 4, !tbaa !5
  %4469 = call ptr @strerror(i32 noundef %4468) #8
  %4470 = call ptr @__errno_location() #9
  %4471 = load i32, ptr %4470, align 4, !tbaa !5
  %4472 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4459, ptr noundef @.str.2, i32 noundef %4460, ptr noundef @.str.35, ptr noundef @.str.1, i32 noundef 158, ptr noundef %4463, ptr noundef %4466, ptr noundef %4469, i32 noundef %4471) #8
  br label %4490

4473:                                             ; preds = %4451, %4444
  %4474 = load i32, ptr %79, align 4, !tbaa !5
  %4475 = call ptr @__errno_location() #9
  store i32 %4474, ptr %4475, align 4, !tbaa !5
  %4476 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4477 = load i32, ptr @test_count, align 4, !tbaa !5
  %4478 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4479 = load i32, ptr %4478, align 4, !tbaa !5
  %4480 = call ptr @s2n_strerror(i32 noundef %4479, ptr noundef @.str.4)
  %4481 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4482 = load i32, ptr %4481, align 4, !tbaa !5
  %4483 = call ptr @s2n_strerror_debug(i32 noundef %4482, ptr noundef @.str.4)
  %4484 = call ptr @__errno_location() #9
  %4485 = load i32, ptr %4484, align 4, !tbaa !5
  %4486 = call ptr @strerror(i32 noundef %4485) #8
  %4487 = call ptr @__errno_location() #9
  %4488 = load i32, ptr %4487, align 4, !tbaa !5
  %4489 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4476, ptr noundef @.str.5, i32 noundef %4477, ptr noundef @.str.35, ptr noundef @.str.1, i32 noundef 158, ptr noundef %4480, ptr noundef %4483, ptr noundef %4486, i32 noundef %4488) #8
  br label %4490

4490:                                             ; preds = %4473, %4456
  call void @llvm.lifetime.end.p0(i64 4, ptr %79) #8
  br label %4491

4491:                                             ; preds = %4490
  br label %4492

4492:                                             ; preds = %4491
  call void @exit(i32 noundef 1) #10
  unreachable

4493:                                             ; No predecessors!
  br label %4494

4494:                                             ; preds = %4493
  br label %4495

4495:                                             ; preds = %4494, %4436
  br label %4496

4496:                                             ; preds = %4495
  br label %4497

4497:                                             ; preds = %4496
  br label %4498

4498:                                             ; preds = %4497
  %4499 = load i32, ptr @test_count, align 4, !tbaa !5
  %4500 = add nsw i32 %4499, 1
  store i32 %4500, ptr @test_count, align 4, !tbaa !5
  %4501 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4502 = load i32, ptr %4501, align 4, !tbaa !5
  %4503 = icmp eq i32 %4502, 0
  br i1 %4503, label %4504, label %4557

4504:                                             ; preds = %4498
  br label %4505

4505:                                             ; preds = %4504
  br label %4506

4506:                                             ; preds = %4505
  call void @llvm.lifetime.start.p0(i64 4, ptr %80) #8
  %4507 = call ptr @__errno_location() #9
  %4508 = load i32, ptr %4507, align 4, !tbaa !5
  store i32 %4508, ptr %80, align 4, !tbaa !5
  %4509 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4510 = call i32 @s2n_print_stacktrace(ptr noundef %4509)
  %4511 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4512 = trunc i8 %4511 to i1
  br i1 %4512, label %4513, label %4535

4513:                                             ; preds = %4506
  %4514 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4515 = call i32 @fileno(ptr noundef %4514) #8
  %4516 = call i32 @isatty(i32 noundef %4515) #8
  %4517 = icmp ne i32 %4516, 0
  br i1 %4517, label %4518, label %4535

4518:                                             ; preds = %4513
  %4519 = load i32, ptr %80, align 4, !tbaa !5
  %4520 = call ptr @__errno_location() #9
  store i32 %4519, ptr %4520, 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 @.str.4)
  %4526 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4527 = load i32, ptr %4526, align 4, !tbaa !5
  %4528 = call ptr @s2n_strerror_debug(i32 noundef %4527, ptr noundef @.str.4)
  %4529 = call ptr @__errno_location() #9
  %4530 = load i32, ptr %4529, align 4, !tbaa !5
  %4531 = call ptr @strerror(i32 noundef %4530) #8
  %4532 = call ptr @__errno_location() #9
  %4533 = load i32, ptr %4532, align 4, !tbaa !5
  %4534 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4521, ptr noundef @.str.2, i32 noundef %4522, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 158, ptr noundef %4525, ptr noundef %4528, ptr noundef %4531, i32 noundef %4533) #8
  br label %4552

4535:                                             ; preds = %4513, %4506
  %4536 = load i32, ptr %80, align 4, !tbaa !5
  %4537 = call ptr @__errno_location() #9
  store i32 %4536, ptr %4537, align 4, !tbaa !5
  %4538 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4539 = load i32, ptr @test_count, align 4, !tbaa !5
  %4540 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4541 = load i32, ptr %4540, align 4, !tbaa !5
  %4542 = call ptr @s2n_strerror(i32 noundef %4541, ptr noundef @.str.4)
  %4543 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4544 = load i32, ptr %4543, align 4, !tbaa !5
  %4545 = call ptr @s2n_strerror_debug(i32 noundef %4544, ptr noundef @.str.4)
  %4546 = call ptr @__errno_location() #9
  %4547 = load i32, ptr %4546, align 4, !tbaa !5
  %4548 = call ptr @strerror(i32 noundef %4547) #8
  %4549 = call ptr @__errno_location() #9
  %4550 = load i32, ptr %4549, align 4, !tbaa !5
  %4551 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4538, ptr noundef @.str.5, i32 noundef %4539, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 158, ptr noundef %4542, ptr noundef %4545, ptr noundef %4548, i32 noundef %4550) #8
  br label %4552

4552:                                             ; preds = %4535, %4518
  call void @llvm.lifetime.end.p0(i64 4, ptr %80) #8
  br label %4553

4553:                                             ; preds = %4552
  br label %4554

4554:                                             ; preds = %4553
  call void @exit(i32 noundef 1) #10
  unreachable

4555:                                             ; No predecessors!
  br label %4556

4556:                                             ; preds = %4555
  br label %4557

4557:                                             ; preds = %4556, %4498
  br label %4558

4558:                                             ; preds = %4557
  br label %4559

4559:                                             ; preds = %4558
  br label %4560

4560:                                             ; preds = %4559
  %4561 = load i32, ptr @test_count, align 4, !tbaa !5
  %4562 = add nsw i32 %4561, 1
  store i32 %4562, ptr @test_count, align 4, !tbaa !5
  %4563 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4564 = load i32, ptr %4563, align 4, !tbaa !5
  %4565 = call ptr @s2n_strerror_debug(i32 noundef %4564, ptr noundef @.str.4)
  %4566 = icmp eq ptr %4565, null
  br i1 %4566, label %4567, label %4620

4567:                                             ; preds = %4560
  br label %4568

4568:                                             ; preds = %4567
  br label %4569

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

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

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

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

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

4616:                                             ; preds = %4615
  br label %4617

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

4618:                                             ; No predecessors!
  br label %4619

4619:                                             ; preds = %4618
  br label %4620

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

4621:                                             ; preds = %4620
  br label %4622

4622:                                             ; preds = %4621
  br label %4623

4623:                                             ; preds = %4622
  %4624 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %4624, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %4625 = call ptr @__errno_location() #9
  store i32 0, ptr %4625, align 4, !tbaa !5
  br label %4626

4626:                                             ; preds = %4623
  br label %4627

4627:                                             ; preds = %4626
  br label %4628

4628:                                             ; preds = %4627
  br label %4629

4629:                                             ; preds = %4628
  br label %4630

4630:                                             ; preds = %4629
  %4631 = load i32, ptr @test_count, align 4, !tbaa !5
  %4632 = add nsw i32 %4631, 1
  store i32 %4632, ptr @test_count, align 4, !tbaa !5
  %4633 = load ptr, ptr %59, align 8, !tbaa !9
  %4634 = load ptr, ptr %23, align 8, !tbaa !9
  %4635 = call i32 @s2n_connection_set_config(ptr noundef %4633, ptr noundef %4634)
  %4636 = icmp eq i32 %4635, -1
  br i1 %4636, label %4637, label %4690

4637:                                             ; preds = %4630
  br label %4638

4638:                                             ; preds = %4637
  br label %4639

4639:                                             ; preds = %4638
  call void @llvm.lifetime.start.p0(i64 4, ptr %82) #8
  %4640 = call ptr @__errno_location() #9
  %4641 = load i32, ptr %4640, align 4, !tbaa !5
  store i32 %4641, ptr %82, align 4, !tbaa !5
  %4642 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4643 = call i32 @s2n_print_stacktrace(ptr noundef %4642)
  %4644 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4645 = trunc i8 %4644 to i1
  br i1 %4645, label %4646, label %4668

4646:                                             ; preds = %4639
  %4647 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4648 = call i32 @fileno(ptr noundef %4647) #8
  %4649 = call i32 @isatty(i32 noundef %4648) #8
  %4650 = icmp ne i32 %4649, 0
  br i1 %4650, label %4651, label %4668

4651:                                             ; preds = %4646
  %4652 = load i32, ptr %82, align 4, !tbaa !5
  %4653 = call ptr @__errno_location() #9
  store i32 %4652, ptr %4653, align 4, !tbaa !5
  %4654 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4655 = load i32, ptr @test_count, align 4, !tbaa !5
  %4656 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4657 = load i32, ptr %4656, align 4, !tbaa !5
  %4658 = call ptr @s2n_strerror(i32 noundef %4657, ptr noundef @.str.4)
  %4659 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4660 = load i32, ptr %4659, align 4, !tbaa !5
  %4661 = call ptr @s2n_strerror_debug(i32 noundef %4660, ptr noundef @.str.4)
  %4662 = call ptr @__errno_location() #9
  %4663 = load i32, ptr %4662, align 4, !tbaa !5
  %4664 = call ptr @strerror(i32 noundef %4663) #8
  %4665 = call ptr @__errno_location() #9
  %4666 = load i32, ptr %4665, align 4, !tbaa !5
  %4667 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4654, ptr noundef @.str.2, i32 noundef %4655, ptr noundef @.str.27, ptr noundef @.str.1, i32 noundef 161, ptr noundef %4658, ptr noundef %4661, ptr noundef %4664, i32 noundef %4666) #8
  br label %4685

4668:                                             ; preds = %4646, %4639
  %4669 = load i32, ptr %82, align 4, !tbaa !5
  %4670 = call ptr @__errno_location() #9
  store i32 %4669, ptr %4670, align 4, !tbaa !5
  %4671 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4672 = load i32, ptr @test_count, align 4, !tbaa !5
  %4673 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4674 = load i32, ptr %4673, align 4, !tbaa !5
  %4675 = call ptr @s2n_strerror(i32 noundef %4674, ptr noundef @.str.4)
  %4676 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4677 = load i32, ptr %4676, align 4, !tbaa !5
  %4678 = call ptr @s2n_strerror_debug(i32 noundef %4677, ptr noundef @.str.4)
  %4679 = call ptr @__errno_location() #9
  %4680 = load i32, ptr %4679, align 4, !tbaa !5
  %4681 = call ptr @strerror(i32 noundef %4680) #8
  %4682 = call ptr @__errno_location() #9
  %4683 = load i32, ptr %4682, align 4, !tbaa !5
  %4684 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4671, ptr noundef @.str.5, i32 noundef %4672, ptr noundef @.str.27, ptr noundef @.str.1, i32 noundef 161, ptr noundef %4675, ptr noundef %4678, ptr noundef %4681, i32 noundef %4683) #8
  br label %4685

4685:                                             ; preds = %4668, %4651
  call void @llvm.lifetime.end.p0(i64 4, ptr %82) #8
  br label %4686

4686:                                             ; preds = %4685
  br label %4687

4687:                                             ; preds = %4686
  call void @exit(i32 noundef 1) #10
  unreachable

4688:                                             ; No predecessors!
  br label %4689

4689:                                             ; preds = %4688
  br label %4690

4690:                                             ; preds = %4689, %4630
  br label %4691

4691:                                             ; preds = %4690
  br label %4692

4692:                                             ; preds = %4691
  br label %4693

4693:                                             ; preds = %4692
  br label %4694

4694:                                             ; preds = %4693
  %4695 = load i32, ptr @test_count, align 4, !tbaa !5
  %4696 = add nsw i32 %4695, 1
  store i32 %4696, ptr @test_count, align 4, !tbaa !5
  %4697 = load ptr, ptr %59, align 8, !tbaa !9
  %4698 = call i32 @s2n_is_sig_scheme_valid_for_auth(ptr noundef %4697, ptr noundef @s2n_rsa_pkcs1_md5_sha1)
  %4699 = icmp eq i32 %4698, -1
  br i1 %4699, label %4753, label %4700

4700:                                             ; preds = %4694
  br label %4701

4701:                                             ; preds = %4700
  br label %4702

4702:                                             ; preds = %4701
  call void @llvm.lifetime.start.p0(i64 4, ptr %83) #8
  %4703 = call ptr @__errno_location() #9
  %4704 = load i32, ptr %4703, align 4, !tbaa !5
  store i32 %4704, ptr %83, align 4, !tbaa !5
  %4705 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4706 = call i32 @s2n_print_stacktrace(ptr noundef %4705)
  %4707 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4708 = trunc i8 %4707 to i1
  br i1 %4708, label %4709, label %4731

4709:                                             ; preds = %4702
  %4710 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4711 = call i32 @fileno(ptr noundef %4710) #8
  %4712 = call i32 @isatty(i32 noundef %4711) #8
  %4713 = icmp ne i32 %4712, 0
  br i1 %4713, label %4714, label %4731

4714:                                             ; preds = %4709
  %4715 = load i32, ptr %83, align 4, !tbaa !5
  %4716 = call ptr @__errno_location() #9
  store i32 %4715, ptr %4716, align 4, !tbaa !5
  %4717 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4718 = load i32, ptr @test_count, align 4, !tbaa !5
  %4719 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4720 = load i32, ptr %4719, align 4, !tbaa !5
  %4721 = call ptr @s2n_strerror(i32 noundef %4720, ptr noundef @.str.4)
  %4722 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4723 = load i32, ptr %4722, align 4, !tbaa !5
  %4724 = call ptr @s2n_strerror_debug(i32 noundef %4723, ptr noundef @.str.4)
  %4725 = call ptr @__errno_location() #9
  %4726 = load i32, ptr %4725, align 4, !tbaa !5
  %4727 = call ptr @strerror(i32 noundef %4726) #8
  %4728 = call ptr @__errno_location() #9
  %4729 = load i32, ptr %4728, align 4, !tbaa !5
  %4730 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4717, ptr noundef @.str.2, i32 noundef %4718, ptr noundef @.str.32, ptr noundef @.str.1, i32 noundef 162, ptr noundef %4721, ptr noundef %4724, ptr noundef %4727, i32 noundef %4729) #8
  br label %4748

4731:                                             ; preds = %4709, %4702
  %4732 = load i32, ptr %83, align 4, !tbaa !5
  %4733 = call ptr @__errno_location() #9
  store i32 %4732, ptr %4733, align 4, !tbaa !5
  %4734 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4735 = load i32, ptr @test_count, align 4, !tbaa !5
  %4736 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4737 = load i32, ptr %4736, align 4, !tbaa !5
  %4738 = call ptr @s2n_strerror(i32 noundef %4737, ptr noundef @.str.4)
  %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_debug(i32 noundef %4740, ptr noundef @.str.4)
  %4742 = call ptr @__errno_location() #9
  %4743 = load i32, ptr %4742, align 4, !tbaa !5
  %4744 = call ptr @strerror(i32 noundef %4743) #8
  %4745 = call ptr @__errno_location() #9
  %4746 = load i32, ptr %4745, align 4, !tbaa !5
  %4747 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4734, ptr noundef @.str.5, i32 noundef %4735, ptr noundef @.str.32, ptr noundef @.str.1, i32 noundef 162, ptr noundef %4738, ptr noundef %4741, ptr noundef %4744, i32 noundef %4746) #8
  br label %4748

4748:                                             ; preds = %4731, %4714
  call void @llvm.lifetime.end.p0(i64 4, ptr %83) #8
  br label %4749

4749:                                             ; preds = %4748
  br label %4750

4750:                                             ; preds = %4749
  call void @exit(i32 noundef 1) #10
  unreachable

4751:                                             ; No predecessors!
  br label %4752

4752:                                             ; preds = %4751
  br label %4753

4753:                                             ; preds = %4752, %4694
  br label %4754

4754:                                             ; preds = %4753
  br label %4755

4755:                                             ; preds = %4754
  br label %4756

4756:                                             ; preds = %4755
  %4757 = load i32, ptr @test_count, align 4, !tbaa !5
  %4758 = add nsw i32 %4757, 1
  store i32 %4758, ptr @test_count, align 4, !tbaa !5
  %4759 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4760 = load i32, ptr %4759, align 4, !tbaa !5
  %4761 = icmp eq i32 %4760, 0
  br i1 %4761, label %4762, label %4815

4762:                                             ; preds = %4756
  br label %4763

4763:                                             ; preds = %4762
  br label %4764

4764:                                             ; preds = %4763
  call void @llvm.lifetime.start.p0(i64 4, ptr %84) #8
  %4765 = call ptr @__errno_location() #9
  %4766 = load i32, ptr %4765, align 4, !tbaa !5
  store i32 %4766, ptr %84, align 4, !tbaa !5
  %4767 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4768 = call i32 @s2n_print_stacktrace(ptr noundef %4767)
  %4769 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4770 = trunc i8 %4769 to i1
  br i1 %4770, label %4771, label %4793

4771:                                             ; preds = %4764
  %4772 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4773 = call i32 @fileno(ptr noundef %4772) #8
  %4774 = call i32 @isatty(i32 noundef %4773) #8
  %4775 = icmp ne i32 %4774, 0
  br i1 %4775, label %4776, label %4793

4776:                                             ; preds = %4771
  %4777 = load i32, ptr %84, align 4, !tbaa !5
  %4778 = call ptr @__errno_location() #9
  store i32 %4777, ptr %4778, align 4, !tbaa !5
  %4779 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4780 = load i32, ptr @test_count, align 4, !tbaa !5
  %4781 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4782 = load i32, ptr %4781, align 4, !tbaa !5
  %4783 = call ptr @s2n_strerror(i32 noundef %4782, ptr noundef @.str.4)
  %4784 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4785 = load i32, ptr %4784, align 4, !tbaa !5
  %4786 = call ptr @s2n_strerror_debug(i32 noundef %4785, ptr noundef @.str.4)
  %4787 = call ptr @__errno_location() #9
  %4788 = load i32, ptr %4787, align 4, !tbaa !5
  %4789 = call ptr @strerror(i32 noundef %4788) #8
  %4790 = call ptr @__errno_location() #9
  %4791 = load i32, ptr %4790, align 4, !tbaa !5
  %4792 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4779, ptr noundef @.str.2, i32 noundef %4780, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 162, ptr noundef %4783, ptr noundef %4786, ptr noundef %4789, i32 noundef %4791) #8
  br label %4810

4793:                                             ; preds = %4771, %4764
  %4794 = load i32, ptr %84, align 4, !tbaa !5
  %4795 = call ptr @__errno_location() #9
  store i32 %4794, ptr %4795, align 4, !tbaa !5
  %4796 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4797 = load i32, ptr @test_count, align 4, !tbaa !5
  %4798 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4799 = load i32, ptr %4798, align 4, !tbaa !5
  %4800 = call ptr @s2n_strerror(i32 noundef %4799, ptr noundef @.str.4)
  %4801 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4802 = load i32, ptr %4801, align 4, !tbaa !5
  %4803 = call ptr @s2n_strerror_debug(i32 noundef %4802, ptr noundef @.str.4)
  %4804 = call ptr @__errno_location() #9
  %4805 = load i32, ptr %4804, align 4, !tbaa !5
  %4806 = call ptr @strerror(i32 noundef %4805) #8
  %4807 = call ptr @__errno_location() #9
  %4808 = load i32, ptr %4807, align 4, !tbaa !5
  %4809 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4796, ptr noundef @.str.5, i32 noundef %4797, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 162, ptr noundef %4800, ptr noundef %4803, ptr noundef %4806, i32 noundef %4808) #8
  br label %4810

4810:                                             ; preds = %4793, %4776
  call void @llvm.lifetime.end.p0(i64 4, ptr %84) #8
  br label %4811

4811:                                             ; preds = %4810
  br label %4812

4812:                                             ; preds = %4811
  call void @exit(i32 noundef 1) #10
  unreachable

4813:                                             ; No predecessors!
  br label %4814

4814:                                             ; preds = %4813
  br label %4815

4815:                                             ; preds = %4814, %4756
  br label %4816

4816:                                             ; preds = %4815
  br label %4817

4817:                                             ; preds = %4816
  br label %4818

4818:                                             ; preds = %4817
  %4819 = load i32, ptr @test_count, align 4, !tbaa !5
  %4820 = add nsw i32 %4819, 1
  store i32 %4820, ptr @test_count, align 4, !tbaa !5
  %4821 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4822 = load i32, ptr %4821, align 4, !tbaa !5
  %4823 = call ptr @s2n_strerror_debug(i32 noundef %4822, ptr noundef @.str.4)
  %4824 = icmp eq ptr %4823, null
  br i1 %4824, label %4825, label %4878

4825:                                             ; preds = %4818
  br label %4826

4826:                                             ; preds = %4825
  br label %4827

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

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

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

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

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

4874:                                             ; preds = %4873
  br label %4875

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

4876:                                             ; No predecessors!
  br label %4877

4877:                                             ; preds = %4876
  br label %4878

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

4879:                                             ; preds = %4878
  br label %4880

4880:                                             ; preds = %4879
  br label %4881

4881:                                             ; preds = %4880
  %4882 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %4882, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %4883 = call ptr @__errno_location() #9
  store i32 0, ptr %4883, align 4, !tbaa !5
  br label %4884

4884:                                             ; preds = %4881
  br label %4885

4885:                                             ; preds = %4884
  br label %4886

4886:                                             ; preds = %4885
  br label %4887

4887:                                             ; preds = %4886
  %4888 = call zeroext i1 (...) @s2n_is_rsa_pss_certs_supported()
  br i1 %4888, label %4889, label %4952

4889:                                             ; preds = %4887
  br label %4890

4890:                                             ; preds = %4889
  %4891 = load i32, ptr @test_count, align 4, !tbaa !5
  %4892 = add nsw i32 %4891, 1
  store i32 %4892, ptr @test_count, align 4, !tbaa !5
  %4893 = load ptr, ptr %59, align 8, !tbaa !9
  %4894 = call i32 @s2n_is_sig_scheme_valid_for_auth(ptr noundef %4893, ptr noundef @s2n_rsa_pss_pss_sha256)
  %4895 = icmp eq i32 %4894, -1
  br i1 %4895, label %4896, label %4949

4896:                                             ; preds = %4890
  br label %4897

4897:                                             ; preds = %4896
  br label %4898

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

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

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

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

4944:                                             ; preds = %4927, %4910
  call void @llvm.lifetime.end.p0(i64 4, ptr %86) #8
  br label %4945

4945:                                             ; preds = %4944
  br label %4946

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

4947:                                             ; No predecessors!
  br label %4948

4948:                                             ; preds = %4947
  br label %4949

4949:                                             ; preds = %4948, %4890
  br label %4950

4950:                                             ; preds = %4949
  br label %4951

4951:                                             ; preds = %4950
  br label %5148

4952:                                             ; preds = %4887
  br label %4953

4953:                                             ; preds = %4952
  br label %4954

4954:                                             ; preds = %4953
  %4955 = load i32, ptr @test_count, align 4, !tbaa !5
  %4956 = add nsw i32 %4955, 1
  store i32 %4956, ptr @test_count, align 4, !tbaa !5
  %4957 = load ptr, ptr %59, align 8, !tbaa !9
  %4958 = call i32 @s2n_is_sig_scheme_valid_for_auth(ptr noundef %4957, ptr noundef @s2n_rsa_pss_pss_sha256)
  %4959 = icmp eq i32 %4958, -1
  br i1 %4959, label %5013, label %4960

4960:                                             ; preds = %4954
  br label %4961

4961:                                             ; preds = %4960
  br label %4962

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

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

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

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

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

5009:                                             ; preds = %5008
  br label %5010

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

5011:                                             ; No predecessors!
  br label %5012

5012:                                             ; preds = %5011
  br label %5013

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

5014:                                             ; preds = %5013
  br label %5015

5015:                                             ; preds = %5014
  br label %5016

5016:                                             ; preds = %5015
  %5017 = load i32, ptr @test_count, align 4, !tbaa !5
  %5018 = add nsw i32 %5017, 1
  store i32 %5018, ptr @test_count, align 4, !tbaa !5
  %5019 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5020 = load i32, ptr %5019, align 4, !tbaa !5
  %5021 = icmp eq i32 %5020, 0
  br i1 %5021, label %5022, label %5075

5022:                                             ; preds = %5016
  br label %5023

5023:                                             ; preds = %5022
  br label %5024

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

5031:                                             ; preds = %5024
  %5032 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5033 = call i32 @fileno(ptr noundef %5032) #8
  %5034 = call i32 @isatty(i32 noundef %5033) #8
  %5035 = icmp ne i32 %5034, 0
  br i1 %5035, label %5036, label %5053

5036:                                             ; preds = %5031
  %5037 = load i32, ptr %88, align 4, !tbaa !5
  %5038 = call ptr @__errno_location() #9
  store i32 %5037, ptr %5038, align 4, !tbaa !5
  %5039 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5040 = load i32, ptr @test_count, align 4, !tbaa !5
  %5041 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5042 = load i32, ptr %5041, align 4, !tbaa !5
  %5043 = call ptr @s2n_strerror(i32 noundef %5042, ptr noundef @.str.4)
  %5044 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5045 = load i32, ptr %5044, align 4, !tbaa !5
  %5046 = call ptr @s2n_strerror_debug(i32 noundef %5045, ptr noundef @.str.4)
  %5047 = call ptr @__errno_location() #9
  %5048 = load i32, ptr %5047, align 4, !tbaa !5
  %5049 = call ptr @strerror(i32 noundef %5048) #8
  %5050 = call ptr @__errno_location() #9
  %5051 = load i32, ptr %5050, align 4, !tbaa !5
  %5052 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5039, ptr noundef @.str.2, i32 noundef %5040, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 163, ptr noundef %5043, ptr noundef %5046, ptr noundef %5049, i32 noundef %5051) #8
  br label %5070

5053:                                             ; preds = %5031, %5024
  %5054 = load i32, ptr %88, align 4, !tbaa !5
  %5055 = call ptr @__errno_location() #9
  store i32 %5054, ptr %5055, align 4, !tbaa !5
  %5056 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5057 = load i32, ptr @test_count, align 4, !tbaa !5
  %5058 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5059 = load i32, ptr %5058, align 4, !tbaa !5
  %5060 = call ptr @s2n_strerror(i32 noundef %5059, ptr noundef @.str.4)
  %5061 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5062 = load i32, ptr %5061, align 4, !tbaa !5
  %5063 = call ptr @s2n_strerror_debug(i32 noundef %5062, ptr noundef @.str.4)
  %5064 = call ptr @__errno_location() #9
  %5065 = load i32, ptr %5064, align 4, !tbaa !5
  %5066 = call ptr @strerror(i32 noundef %5065) #8
  %5067 = call ptr @__errno_location() #9
  %5068 = load i32, ptr %5067, align 4, !tbaa !5
  %5069 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5056, ptr noundef @.str.5, i32 noundef %5057, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 163, ptr noundef %5060, ptr noundef %5063, ptr noundef %5066, i32 noundef %5068) #8
  br label %5070

5070:                                             ; preds = %5053, %5036
  call void @llvm.lifetime.end.p0(i64 4, ptr %88) #8
  br label %5071

5071:                                             ; preds = %5070
  br label %5072

5072:                                             ; preds = %5071
  call void @exit(i32 noundef 1) #10
  unreachable

5073:                                             ; No predecessors!
  br label %5074

5074:                                             ; preds = %5073
  br label %5075

5075:                                             ; preds = %5074, %5016
  br label %5076

5076:                                             ; preds = %5075
  br label %5077

5077:                                             ; preds = %5076
  br label %5078

5078:                                             ; preds = %5077
  %5079 = load i32, ptr @test_count, align 4, !tbaa !5
  %5080 = add nsw i32 %5079, 1
  store i32 %5080, ptr @test_count, align 4, !tbaa !5
  %5081 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5082 = load i32, ptr %5081, align 4, !tbaa !5
  %5083 = call ptr @s2n_strerror_debug(i32 noundef %5082, ptr noundef @.str.4)
  %5084 = icmp eq ptr %5083, null
  br i1 %5084, label %5085, label %5138

5085:                                             ; preds = %5078
  br label %5086

5086:                                             ; preds = %5085
  br label %5087

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

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

5099:                                             ; preds = %5094
  %5100 = load i32, ptr %89, align 4, !tbaa !5
  %5101 = call ptr @__errno_location() #9
  store i32 %5100, ptr %5101, align 4, !tbaa !5
  %5102 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5103 = load i32, ptr @test_count, align 4, !tbaa !5
  %5104 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5105 = load i32, ptr %5104, align 4, !tbaa !5
  %5106 = call ptr @s2n_strerror(i32 noundef %5105, ptr noundef @.str.4)
  %5107 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5108 = load i32, ptr %5107, align 4, !tbaa !5
  %5109 = call ptr @s2n_strerror_debug(i32 noundef %5108, ptr noundef @.str.4)
  %5110 = call ptr @__errno_location() #9
  %5111 = load i32, ptr %5110, align 4, !tbaa !5
  %5112 = call ptr @strerror(i32 noundef %5111) #8
  %5113 = call ptr @__errno_location() #9
  %5114 = load i32, ptr %5113, align 4, !tbaa !5
  %5115 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5102, ptr noundef @.str.2, i32 noundef %5103, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 163, ptr noundef %5106, ptr noundef %5109, ptr noundef %5112, i32 noundef %5114) #8
  br label %5133

5116:                                             ; preds = %5094, %5087
  %5117 = load i32, ptr %89, align 4, !tbaa !5
  %5118 = call ptr @__errno_location() #9
  store i32 %5117, ptr %5118, align 4, !tbaa !5
  %5119 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5120 = load i32, ptr @test_count, align 4, !tbaa !5
  %5121 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5122 = load i32, ptr %5121, align 4, !tbaa !5
  %5123 = call ptr @s2n_strerror(i32 noundef %5122, ptr noundef @.str.4)
  %5124 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5125 = load i32, ptr %5124, align 4, !tbaa !5
  %5126 = call ptr @s2n_strerror_debug(i32 noundef %5125, ptr noundef @.str.4)
  %5127 = call ptr @__errno_location() #9
  %5128 = load i32, ptr %5127, align 4, !tbaa !5
  %5129 = call ptr @strerror(i32 noundef %5128) #8
  %5130 = call ptr @__errno_location() #9
  %5131 = load i32, ptr %5130, align 4, !tbaa !5
  %5132 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5119, ptr noundef @.str.5, i32 noundef %5120, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 163, ptr noundef %5123, ptr noundef %5126, ptr noundef %5129, i32 noundef %5131) #8
  br label %5133

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

5134:                                             ; preds = %5133
  br label %5135

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

5136:                                             ; No predecessors!
  br label %5137

5137:                                             ; preds = %5136
  br label %5138

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

5139:                                             ; preds = %5138
  br label %5140

5140:                                             ; preds = %5139
  br label %5141

5141:                                             ; preds = %5140
  %5142 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %5142, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %5143 = call ptr @__errno_location() #9
  store i32 0, ptr %5143, align 4, !tbaa !5
  br label %5144

5144:                                             ; preds = %5141
  br label %5145

5145:                                             ; preds = %5144
  br label %5146

5146:                                             ; preds = %5145
  br label %5147

5147:                                             ; preds = %5146
  br label %5148

5148:                                             ; preds = %5147, %4951
  br label %5149

5149:                                             ; preds = %5148
  br label %5150

5150:                                             ; preds = %5149
  %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 %59, align 8, !tbaa !9
  %5154 = call i32 @s2n_is_sig_scheme_valid_for_auth(ptr noundef %5153, ptr noundef @s2n_rsa_pss_rsae_sha256)
  %5155 = icmp eq i32 %5154, -1
  br i1 %5155, label %5209, label %5156

5156:                                             ; preds = %5150
  br label %5157

5157:                                             ; preds = %5156
  br label %5158

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

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

5170:                                             ; preds = %5165
  %5171 = load i32, ptr %90, align 4, !tbaa !5
  %5172 = call ptr @__errno_location() #9
  store i32 %5171, ptr %5172, align 4, !tbaa !5
  %5173 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5174 = load i32, ptr @test_count, align 4, !tbaa !5
  %5175 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5176 = load i32, ptr %5175, align 4, !tbaa !5
  %5177 = call ptr @s2n_strerror(i32 noundef %5176, ptr noundef @.str.4)
  %5178 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5179 = load i32, ptr %5178, align 4, !tbaa !5
  %5180 = call ptr @s2n_strerror_debug(i32 noundef %5179, ptr noundef @.str.4)
  %5181 = call ptr @__errno_location() #9
  %5182 = load i32, ptr %5181, align 4, !tbaa !5
  %5183 = call ptr @strerror(i32 noundef %5182) #8
  %5184 = call ptr @__errno_location() #9
  %5185 = load i32, ptr %5184, align 4, !tbaa !5
  %5186 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5173, ptr noundef @.str.2, i32 noundef %5174, ptr noundef @.str.34, ptr noundef @.str.1, i32 noundef 164, ptr noundef %5177, ptr noundef %5180, ptr noundef %5183, i32 noundef %5185) #8
  br label %5204

5187:                                             ; preds = %5165, %5158
  %5188 = load i32, ptr %90, align 4, !tbaa !5
  %5189 = call ptr @__errno_location() #9
  store i32 %5188, ptr %5189, align 4, !tbaa !5
  %5190 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5191 = load i32, ptr @test_count, align 4, !tbaa !5
  %5192 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5193 = load i32, ptr %5192, align 4, !tbaa !5
  %5194 = call ptr @s2n_strerror(i32 noundef %5193, ptr noundef @.str.4)
  %5195 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5196 = load i32, ptr %5195, align 4, !tbaa !5
  %5197 = call ptr @s2n_strerror_debug(i32 noundef %5196, ptr noundef @.str.4)
  %5198 = call ptr @__errno_location() #9
  %5199 = load i32, ptr %5198, align 4, !tbaa !5
  %5200 = call ptr @strerror(i32 noundef %5199) #8
  %5201 = call ptr @__errno_location() #9
  %5202 = load i32, ptr %5201, align 4, !tbaa !5
  %5203 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5190, ptr noundef @.str.5, i32 noundef %5191, ptr noundef @.str.34, ptr noundef @.str.1, i32 noundef 164, ptr noundef %5194, ptr noundef %5197, ptr noundef %5200, i32 noundef %5202) #8
  br label %5204

5204:                                             ; preds = %5187, %5170
  call void @llvm.lifetime.end.p0(i64 4, ptr %90) #8
  br label %5205

5205:                                             ; preds = %5204
  br label %5206

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

5207:                                             ; No predecessors!
  br label %5208

5208:                                             ; preds = %5207
  br label %5209

5209:                                             ; preds = %5208, %5150
  br label %5210

5210:                                             ; preds = %5209
  br label %5211

5211:                                             ; preds = %5210
  br label %5212

5212:                                             ; preds = %5211
  %5213 = load i32, ptr @test_count, align 4, !tbaa !5
  %5214 = add nsw i32 %5213, 1
  store i32 %5214, ptr @test_count, align 4, !tbaa !5
  %5215 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5216 = load i32, ptr %5215, align 4, !tbaa !5
  %5217 = icmp eq i32 %5216, 0
  br i1 %5217, label %5218, label %5271

5218:                                             ; preds = %5212
  br label %5219

5219:                                             ; preds = %5218
  br label %5220

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

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

5232:                                             ; preds = %5227
  %5233 = load i32, ptr %91, align 4, !tbaa !5
  %5234 = call ptr @__errno_location() #9
  store i32 %5233, ptr %5234, align 4, !tbaa !5
  %5235 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5236 = load i32, ptr @test_count, align 4, !tbaa !5
  %5237 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5238 = load i32, ptr %5237, align 4, !tbaa !5
  %5239 = call ptr @s2n_strerror(i32 noundef %5238, ptr noundef @.str.4)
  %5240 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5241 = load i32, ptr %5240, align 4, !tbaa !5
  %5242 = call ptr @s2n_strerror_debug(i32 noundef %5241, ptr noundef @.str.4)
  %5243 = call ptr @__errno_location() #9
  %5244 = load i32, ptr %5243, align 4, !tbaa !5
  %5245 = call ptr @strerror(i32 noundef %5244) #8
  %5246 = call ptr @__errno_location() #9
  %5247 = load i32, ptr %5246, align 4, !tbaa !5
  %5248 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5235, ptr noundef @.str.2, i32 noundef %5236, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 164, ptr noundef %5239, ptr noundef %5242, ptr noundef %5245, i32 noundef %5247) #8
  br label %5266

5249:                                             ; preds = %5227, %5220
  %5250 = load i32, ptr %91, align 4, !tbaa !5
  %5251 = call ptr @__errno_location() #9
  store i32 %5250, ptr %5251, align 4, !tbaa !5
  %5252 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5253 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %5255, ptr noundef @.str.4)
  %5257 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5258 = load i32, ptr %5257, align 4, !tbaa !5
  %5259 = call ptr @s2n_strerror_debug(i32 noundef %5258, ptr noundef @.str.4)
  %5260 = call ptr @__errno_location() #9
  %5261 = load i32, ptr %5260, align 4, !tbaa !5
  %5262 = call ptr @strerror(i32 noundef %5261) #8
  %5263 = call ptr @__errno_location() #9
  %5264 = load i32, ptr %5263, align 4, !tbaa !5
  %5265 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5252, ptr noundef @.str.5, i32 noundef %5253, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 164, ptr noundef %5256, ptr noundef %5259, ptr noundef %5262, i32 noundef %5264) #8
  br label %5266

5266:                                             ; preds = %5249, %5232
  call void @llvm.lifetime.end.p0(i64 4, ptr %91) #8
  br label %5267

5267:                                             ; preds = %5266
  br label %5268

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

5269:                                             ; No predecessors!
  br label %5270

5270:                                             ; preds = %5269
  br label %5271

5271:                                             ; preds = %5270, %5212
  br label %5272

5272:                                             ; preds = %5271
  br label %5273

5273:                                             ; preds = %5272
  br label %5274

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

5281:                                             ; preds = %5274
  br label %5282

5282:                                             ; preds = %5281
  br label %5283

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

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

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

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

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

5330:                                             ; preds = %5329
  br label %5331

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

5332:                                             ; No predecessors!
  br label %5333

5333:                                             ; preds = %5332
  br label %5334

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

5335:                                             ; preds = %5334
  br label %5336

5336:                                             ; preds = %5335
  br label %5337

5337:                                             ; preds = %5336
  %5338 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %5338, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %5339 = call ptr @__errno_location() #9
  store i32 0, ptr %5339, align 4, !tbaa !5
  br label %5340

5340:                                             ; preds = %5337
  br label %5341

5341:                                             ; preds = %5340
  br label %5342

5342:                                             ; preds = %5341
  br label %5343

5343:                                             ; preds = %5342
  br label %5344

5344:                                             ; preds = %5343
  br label %5345

5345:                                             ; preds = %5344
  %5346 = load i32, ptr @test_count, align 4, !tbaa !5
  %5347 = add nsw i32 %5346, 1
  store i32 %5347, ptr @test_count, align 4, !tbaa !5
  %5348 = load ptr, ptr %59, align 8, !tbaa !9
  %5349 = call i32 @s2n_is_sig_scheme_valid_for_auth(ptr noundef %5348, ptr noundef @s2n_ecdsa_sha384)
  %5350 = icmp eq i32 %5349, -1
  br i1 %5350, label %5404, label %5351

5351:                                             ; preds = %5345
  br label %5352

5352:                                             ; preds = %5351
  br label %5353

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

5360:                                             ; preds = %5353
  %5361 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5362 = call i32 @fileno(ptr noundef %5361) #8
  %5363 = call i32 @isatty(i32 noundef %5362) #8
  %5364 = icmp ne i32 %5363, 0
  br i1 %5364, label %5365, label %5382

5365:                                             ; preds = %5360
  %5366 = load i32, ptr %93, align 4, !tbaa !5
  %5367 = call ptr @__errno_location() #9
  store i32 %5366, ptr %5367, align 4, !tbaa !5
  %5368 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5369 = load i32, ptr @test_count, align 4, !tbaa !5
  %5370 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5371 = load i32, ptr %5370, align 4, !tbaa !5
  %5372 = call ptr @s2n_strerror(i32 noundef %5371, ptr noundef @.str.4)
  %5373 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5374 = load i32, ptr %5373, align 4, !tbaa !5
  %5375 = call ptr @s2n_strerror_debug(i32 noundef %5374, ptr noundef @.str.4)
  %5376 = call ptr @__errno_location() #9
  %5377 = load i32, ptr %5376, align 4, !tbaa !5
  %5378 = call ptr @strerror(i32 noundef %5377) #8
  %5379 = call ptr @__errno_location() #9
  %5380 = load i32, ptr %5379, align 4, !tbaa !5
  %5381 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5368, ptr noundef @.str.2, i32 noundef %5369, ptr noundef @.str.35, ptr noundef @.str.1, i32 noundef 165, ptr noundef %5372, ptr noundef %5375, ptr noundef %5378, i32 noundef %5380) #8
  br label %5399

5382:                                             ; preds = %5360, %5353
  %5383 = load i32, ptr %93, align 4, !tbaa !5
  %5384 = call ptr @__errno_location() #9
  store i32 %5383, ptr %5384, align 4, !tbaa !5
  %5385 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5386 = load i32, ptr @test_count, align 4, !tbaa !5
  %5387 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5388 = load i32, ptr %5387, align 4, !tbaa !5
  %5389 = call ptr @s2n_strerror(i32 noundef %5388, ptr noundef @.str.4)
  %5390 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5391 = load i32, ptr %5390, align 4, !tbaa !5
  %5392 = call ptr @s2n_strerror_debug(i32 noundef %5391, ptr noundef @.str.4)
  %5393 = call ptr @__errno_location() #9
  %5394 = load i32, ptr %5393, align 4, !tbaa !5
  %5395 = call ptr @strerror(i32 noundef %5394) #8
  %5396 = call ptr @__errno_location() #9
  %5397 = load i32, ptr %5396, align 4, !tbaa !5
  %5398 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5385, ptr noundef @.str.5, i32 noundef %5386, ptr noundef @.str.35, ptr noundef @.str.1, i32 noundef 165, ptr noundef %5389, ptr noundef %5392, ptr noundef %5395, i32 noundef %5397) #8
  br label %5399

5399:                                             ; preds = %5382, %5365
  call void @llvm.lifetime.end.p0(i64 4, ptr %93) #8
  br label %5400

5400:                                             ; preds = %5399
  br label %5401

5401:                                             ; preds = %5400
  call void @exit(i32 noundef 1) #10
  unreachable

5402:                                             ; No predecessors!
  br label %5403

5403:                                             ; preds = %5402
  br label %5404

5404:                                             ; preds = %5403, %5345
  br label %5405

5405:                                             ; preds = %5404
  br label %5406

5406:                                             ; preds = %5405
  br label %5407

5407:                                             ; preds = %5406
  %5408 = load i32, ptr @test_count, align 4, !tbaa !5
  %5409 = add nsw i32 %5408, 1
  store i32 %5409, ptr @test_count, align 4, !tbaa !5
  %5410 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5411 = load i32, ptr %5410, align 4, !tbaa !5
  %5412 = icmp eq i32 %5411, 0
  br i1 %5412, label %5413, label %5466

5413:                                             ; preds = %5407
  br label %5414

5414:                                             ; preds = %5413
  br label %5415

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

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

5427:                                             ; preds = %5422
  %5428 = load i32, ptr %94, align 4, !tbaa !5
  %5429 = call ptr @__errno_location() #9
  store i32 %5428, ptr %5429, align 4, !tbaa !5
  %5430 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5431 = load i32, ptr @test_count, align 4, !tbaa !5
  %5432 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5433 = load i32, ptr %5432, align 4, !tbaa !5
  %5434 = call ptr @s2n_strerror(i32 noundef %5433, ptr noundef @.str.4)
  %5435 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5436 = load i32, ptr %5435, align 4, !tbaa !5
  %5437 = call ptr @s2n_strerror_debug(i32 noundef %5436, ptr noundef @.str.4)
  %5438 = call ptr @__errno_location() #9
  %5439 = load i32, ptr %5438, align 4, !tbaa !5
  %5440 = call ptr @strerror(i32 noundef %5439) #8
  %5441 = call ptr @__errno_location() #9
  %5442 = load i32, ptr %5441, align 4, !tbaa !5
  %5443 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5430, ptr noundef @.str.2, i32 noundef %5431, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 165, ptr noundef %5434, ptr noundef %5437, ptr noundef %5440, i32 noundef %5442) #8
  br label %5461

5444:                                             ; preds = %5422, %5415
  %5445 = load i32, ptr %94, align 4, !tbaa !5
  %5446 = call ptr @__errno_location() #9
  store i32 %5445, ptr %5446, align 4, !tbaa !5
  %5447 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5448 = load i32, ptr @test_count, align 4, !tbaa !5
  %5449 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5450 = load i32, ptr %5449, align 4, !tbaa !5
  %5451 = call ptr @s2n_strerror(i32 noundef %5450, ptr noundef @.str.4)
  %5452 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5453 = load i32, ptr %5452, align 4, !tbaa !5
  %5454 = call ptr @s2n_strerror_debug(i32 noundef %5453, ptr noundef @.str.4)
  %5455 = call ptr @__errno_location() #9
  %5456 = load i32, ptr %5455, align 4, !tbaa !5
  %5457 = call ptr @strerror(i32 noundef %5456) #8
  %5458 = call ptr @__errno_location() #9
  %5459 = load i32, ptr %5458, align 4, !tbaa !5
  %5460 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5447, ptr noundef @.str.5, i32 noundef %5448, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 165, ptr noundef %5451, ptr noundef %5454, ptr noundef %5457, i32 noundef %5459) #8
  br label %5461

5461:                                             ; preds = %5444, %5427
  call void @llvm.lifetime.end.p0(i64 4, ptr %94) #8
  br label %5462

5462:                                             ; preds = %5461
  br label %5463

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

5464:                                             ; No predecessors!
  br label %5465

5465:                                             ; preds = %5464
  br label %5466

5466:                                             ; preds = %5465, %5407
  br label %5467

5467:                                             ; preds = %5466
  br label %5468

5468:                                             ; preds = %5467
  br label %5469

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

5476:                                             ; preds = %5469
  br label %5477

5477:                                             ; preds = %5476
  br label %5478

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

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

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

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

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

5525:                                             ; preds = %5524
  br label %5526

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

5527:                                             ; No predecessors!
  br label %5528

5528:                                             ; preds = %5527
  br label %5529

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

5530:                                             ; preds = %5529
  br label %5531

5531:                                             ; preds = %5530
  br label %5532

5532:                                             ; preds = %5531
  %5533 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %5533, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %5534 = call ptr @__errno_location() #9
  store i32 0, ptr %5534, align 4, !tbaa !5
  br label %5535

5535:                                             ; preds = %5532
  br label %5536

5536:                                             ; preds = %5535
  br label %5537

5537:                                             ; preds = %5536
  br label %5538

5538:                                             ; preds = %5537
  br label %5539

5539:                                             ; preds = %5538
  %5540 = load i32, ptr @test_count, align 4, !tbaa !5
  %5541 = add nsw i32 %5540, 1
  store i32 %5541, ptr @test_count, align 4, !tbaa !5
  %5542 = load ptr, ptr %59, align 8, !tbaa !9
  %5543 = load ptr, ptr %17, align 8, !tbaa !9
  %5544 = call i32 @s2n_connection_set_config(ptr noundef %5542, ptr noundef %5543)
  %5545 = icmp eq i32 %5544, -1
  br i1 %5545, label %5546, label %5599

5546:                                             ; preds = %5539
  br label %5547

5547:                                             ; preds = %5546
  br label %5548

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

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

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

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

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

5595:                                             ; preds = %5594
  br label %5596

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

5597:                                             ; No predecessors!
  br label %5598

5598:                                             ; preds = %5597
  br label %5599

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

5600:                                             ; preds = %5599
  br label %5601

5601:                                             ; preds = %5600
  br label %5602

5602:                                             ; preds = %5601
  br label %5603

5603:                                             ; preds = %5602
  %5604 = load i32, ptr @test_count, align 4, !tbaa !5
  %5605 = add nsw i32 %5604, 1
  store i32 %5605, ptr @test_count, align 4, !tbaa !5
  %5606 = load ptr, ptr %59, align 8, !tbaa !9
  %5607 = call i32 @s2n_is_sig_scheme_valid_for_auth(ptr noundef %5606, ptr noundef @s2n_rsa_pkcs1_md5_sha1)
  %5608 = icmp eq i32 %5607, -1
  br i1 %5608, label %5662, label %5609

5609:                                             ; preds = %5603
  br label %5610

5610:                                             ; preds = %5609
  br label %5611

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

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

5623:                                             ; preds = %5618
  %5624 = load i32, ptr %97, align 4, !tbaa !5
  %5625 = call ptr @__errno_location() #9
  store i32 %5624, ptr %5625, align 4, !tbaa !5
  %5626 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5627 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %5629, ptr noundef @.str.4)
  %5631 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5632 = load i32, ptr %5631, align 4, !tbaa !5
  %5633 = call ptr @s2n_strerror_debug(i32 noundef %5632, ptr noundef @.str.4)
  %5634 = call ptr @__errno_location() #9
  %5635 = load i32, ptr %5634, align 4, !tbaa !5
  %5636 = call ptr @strerror(i32 noundef %5635) #8
  %5637 = call ptr @__errno_location() #9
  %5638 = load i32, ptr %5637, align 4, !tbaa !5
  %5639 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5626, ptr noundef @.str.2, i32 noundef %5627, ptr noundef @.str.32, ptr noundef @.str.1, i32 noundef 169, ptr noundef %5630, ptr noundef %5633, ptr noundef %5636, i32 noundef %5638) #8
  br label %5657

5640:                                             ; preds = %5618, %5611
  %5641 = load i32, ptr %97, align 4, !tbaa !5
  %5642 = call ptr @__errno_location() #9
  store i32 %5641, ptr %5642, align 4, !tbaa !5
  %5643 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5644 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %5646, ptr noundef @.str.4)
  %5648 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5649 = load i32, ptr %5648, align 4, !tbaa !5
  %5650 = call ptr @s2n_strerror_debug(i32 noundef %5649, ptr noundef @.str.4)
  %5651 = call ptr @__errno_location() #9
  %5652 = load i32, ptr %5651, align 4, !tbaa !5
  %5653 = call ptr @strerror(i32 noundef %5652) #8
  %5654 = call ptr @__errno_location() #9
  %5655 = load i32, ptr %5654, align 4, !tbaa !5
  %5656 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5643, ptr noundef @.str.5, i32 noundef %5644, ptr noundef @.str.32, ptr noundef @.str.1, i32 noundef 169, ptr noundef %5647, ptr noundef %5650, ptr noundef %5653, i32 noundef %5655) #8
  br label %5657

5657:                                             ; preds = %5640, %5623
  call void @llvm.lifetime.end.p0(i64 4, ptr %97) #8
  br label %5658

5658:                                             ; preds = %5657
  br label %5659

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

5660:                                             ; No predecessors!
  br label %5661

5661:                                             ; preds = %5660
  br label %5662

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

5663:                                             ; preds = %5662
  br label %5664

5664:                                             ; preds = %5663
  br label %5665

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

5671:                                             ; preds = %5665
  br label %5672

5672:                                             ; preds = %5671
  br label %5673

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

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

5685:                                             ; preds = %5680
  %5686 = load i32, ptr %98, align 4, !tbaa !5
  %5687 = call ptr @__errno_location() #9
  store i32 %5686, ptr %5687, align 4, !tbaa !5
  %5688 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5689 = load i32, ptr @test_count, align 4, !tbaa !5
  %5690 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5691 = load i32, ptr %5690, align 4, !tbaa !5
  %5692 = call ptr @s2n_strerror(i32 noundef %5691, ptr noundef @.str.4)
  %5693 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5694 = load i32, ptr %5693, align 4, !tbaa !5
  %5695 = call ptr @s2n_strerror_debug(i32 noundef %5694, ptr noundef @.str.4)
  %5696 = call ptr @__errno_location() #9
  %5697 = load i32, ptr %5696, align 4, !tbaa !5
  %5698 = call ptr @strerror(i32 noundef %5697) #8
  %5699 = call ptr @__errno_location() #9
  %5700 = load i32, ptr %5699, align 4, !tbaa !5
  %5701 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5688, ptr noundef @.str.2, i32 noundef %5689, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 169, ptr noundef %5692, ptr noundef %5695, ptr noundef %5698, i32 noundef %5700) #8
  br label %5719

5702:                                             ; preds = %5680, %5673
  %5703 = load i32, ptr %98, align 4, !tbaa !5
  %5704 = call ptr @__errno_location() #9
  store i32 %5703, ptr %5704, align 4, !tbaa !5
  %5705 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5706 = load i32, ptr @test_count, align 4, !tbaa !5
  %5707 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5708 = load i32, ptr %5707, align 4, !tbaa !5
  %5709 = call ptr @s2n_strerror(i32 noundef %5708, ptr noundef @.str.4)
  %5710 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5711 = load i32, ptr %5710, align 4, !tbaa !5
  %5712 = call ptr @s2n_strerror_debug(i32 noundef %5711, ptr noundef @.str.4)
  %5713 = call ptr @__errno_location() #9
  %5714 = load i32, ptr %5713, align 4, !tbaa !5
  %5715 = call ptr @strerror(i32 noundef %5714) #8
  %5716 = call ptr @__errno_location() #9
  %5717 = load i32, ptr %5716, align 4, !tbaa !5
  %5718 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5705, ptr noundef @.str.5, i32 noundef %5706, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 169, ptr noundef %5709, ptr noundef %5712, ptr noundef %5715, i32 noundef %5717) #8
  br label %5719

5719:                                             ; preds = %5702, %5685
  call void @llvm.lifetime.end.p0(i64 4, ptr %98) #8
  br label %5720

5720:                                             ; preds = %5719
  br label %5721

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

5722:                                             ; No predecessors!
  br label %5723

5723:                                             ; preds = %5722
  br label %5724

5724:                                             ; preds = %5723, %5665
  br label %5725

5725:                                             ; preds = %5724
  br label %5726

5726:                                             ; preds = %5725
  br label %5727

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

5734:                                             ; preds = %5727
  br label %5735

5735:                                             ; preds = %5734
  br label %5736

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

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

5748:                                             ; preds = %5743
  %5749 = load i32, ptr %99, align 4, !tbaa !5
  %5750 = call ptr @__errno_location() #9
  store i32 %5749, ptr %5750, align 4, !tbaa !5
  %5751 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5752 = load i32, ptr @test_count, align 4, !tbaa !5
  %5753 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5754 = load i32, ptr %5753, align 4, !tbaa !5
  %5755 = call ptr @s2n_strerror(i32 noundef %5754, ptr noundef @.str.4)
  %5756 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5757 = load i32, ptr %5756, align 4, !tbaa !5
  %5758 = call ptr @s2n_strerror_debug(i32 noundef %5757, ptr noundef @.str.4)
  %5759 = call ptr @__errno_location() #9
  %5760 = load i32, ptr %5759, align 4, !tbaa !5
  %5761 = call ptr @strerror(i32 noundef %5760) #8
  %5762 = call ptr @__errno_location() #9
  %5763 = load i32, ptr %5762, align 4, !tbaa !5
  %5764 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5751, ptr noundef @.str.2, i32 noundef %5752, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 169, ptr noundef %5755, ptr noundef %5758, ptr noundef %5761, i32 noundef %5763) #8
  br label %5782

5765:                                             ; preds = %5743, %5736
  %5766 = load i32, ptr %99, align 4, !tbaa !5
  %5767 = call ptr @__errno_location() #9
  store i32 %5766, ptr %5767, align 4, !tbaa !5
  %5768 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5769 = load i32, ptr @test_count, align 4, !tbaa !5
  %5770 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5771 = load i32, ptr %5770, align 4, !tbaa !5
  %5772 = call ptr @s2n_strerror(i32 noundef %5771, ptr noundef @.str.4)
  %5773 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5774 = load i32, ptr %5773, align 4, !tbaa !5
  %5775 = call ptr @s2n_strerror_debug(i32 noundef %5774, ptr noundef @.str.4)
  %5776 = call ptr @__errno_location() #9
  %5777 = load i32, ptr %5776, align 4, !tbaa !5
  %5778 = call ptr @strerror(i32 noundef %5777) #8
  %5779 = call ptr @__errno_location() #9
  %5780 = load i32, ptr %5779, align 4, !tbaa !5
  %5781 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5768, ptr noundef @.str.5, i32 noundef %5769, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 169, ptr noundef %5772, ptr noundef %5775, ptr noundef %5778, i32 noundef %5780) #8
  br label %5782

5782:                                             ; preds = %5765, %5748
  call void @llvm.lifetime.end.p0(i64 4, ptr %99) #8
  br label %5783

5783:                                             ; preds = %5782
  br label %5784

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

5785:                                             ; No predecessors!
  br label %5786

5786:                                             ; preds = %5785
  br label %5787

5787:                                             ; preds = %5786, %5727
  br label %5788

5788:                                             ; preds = %5787
  br label %5789

5789:                                             ; preds = %5788
  br label %5790

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

5793:                                             ; preds = %5790
  br label %5794

5794:                                             ; preds = %5793
  br label %5795

5795:                                             ; preds = %5794
  br label %5796

5796:                                             ; preds = %5795
  br label %5797

5797:                                             ; preds = %5796
  br label %5798

5798:                                             ; preds = %5797
  %5799 = load i32, ptr @test_count, align 4, !tbaa !5
  %5800 = add nsw i32 %5799, 1
  store i32 %5800, ptr @test_count, align 4, !tbaa !5
  %5801 = load ptr, ptr %59, align 8, !tbaa !9
  %5802 = call i32 @s2n_is_sig_scheme_valid_for_auth(ptr noundef %5801, ptr noundef @s2n_rsa_pss_pss_sha256)
  %5803 = icmp eq i32 %5802, -1
  br i1 %5803, label %5857, label %5804

5804:                                             ; preds = %5798
  br label %5805

5805:                                             ; preds = %5804
  br label %5806

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

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

5818:                                             ; preds = %5813
  %5819 = load i32, ptr %100, align 4, !tbaa !5
  %5820 = call ptr @__errno_location() #9
  store i32 %5819, ptr %5820, align 4, !tbaa !5
  %5821 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5822 = load i32, ptr @test_count, align 4, !tbaa !5
  %5823 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5824 = load i32, ptr %5823, align 4, !tbaa !5
  %5825 = call ptr @s2n_strerror(i32 noundef %5824, ptr noundef @.str.4)
  %5826 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5827 = load i32, ptr %5826, align 4, !tbaa !5
  %5828 = call ptr @s2n_strerror_debug(i32 noundef %5827, ptr noundef @.str.4)
  %5829 = call ptr @__errno_location() #9
  %5830 = load i32, ptr %5829, align 4, !tbaa !5
  %5831 = call ptr @strerror(i32 noundef %5830) #8
  %5832 = call ptr @__errno_location() #9
  %5833 = load i32, ptr %5832, align 4, !tbaa !5
  %5834 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5821, ptr noundef @.str.2, i32 noundef %5822, ptr noundef @.str.33, ptr noundef @.str.1, i32 noundef 170, ptr noundef %5825, ptr noundef %5828, ptr noundef %5831, i32 noundef %5833) #8
  br label %5852

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

5852:                                             ; preds = %5835, %5818
  call void @llvm.lifetime.end.p0(i64 4, ptr %100) #8
  br label %5853

5853:                                             ; preds = %5852
  br label %5854

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

5855:                                             ; No predecessors!
  br label %5856

5856:                                             ; preds = %5855
  br label %5857

5857:                                             ; preds = %5856, %5798
  br label %5858

5858:                                             ; preds = %5857
  br label %5859

5859:                                             ; preds = %5858
  br label %5860

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

5866:                                             ; preds = %5860
  br label %5867

5867:                                             ; preds = %5866
  br label %5868

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

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

5880:                                             ; preds = %5875
  %5881 = load i32, ptr %101, align 4, !tbaa !5
  %5882 = call ptr @__errno_location() #9
  store i32 %5881, ptr %5882, align 4, !tbaa !5
  %5883 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5884 = load i32, ptr @test_count, align 4, !tbaa !5
  %5885 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5886 = load i32, ptr %5885, align 4, !tbaa !5
  %5887 = call ptr @s2n_strerror(i32 noundef %5886, ptr noundef @.str.4)
  %5888 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5889 = load i32, ptr %5888, align 4, !tbaa !5
  %5890 = call ptr @s2n_strerror_debug(i32 noundef %5889, ptr noundef @.str.4)
  %5891 = call ptr @__errno_location() #9
  %5892 = load i32, ptr %5891, align 4, !tbaa !5
  %5893 = call ptr @strerror(i32 noundef %5892) #8
  %5894 = call ptr @__errno_location() #9
  %5895 = load i32, ptr %5894, align 4, !tbaa !5
  %5896 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5883, ptr noundef @.str.2, i32 noundef %5884, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 170, ptr noundef %5887, ptr noundef %5890, ptr noundef %5893, i32 noundef %5895) #8
  br label %5914

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

5914:                                             ; preds = %5897, %5880
  call void @llvm.lifetime.end.p0(i64 4, ptr %101) #8
  br label %5915

5915:                                             ; preds = %5914
  br label %5916

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

5917:                                             ; No predecessors!
  br label %5918

5918:                                             ; preds = %5917
  br label %5919

5919:                                             ; preds = %5918, %5860
  br label %5920

5920:                                             ; preds = %5919
  br label %5921

5921:                                             ; preds = %5920
  br label %5922

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

5929:                                             ; preds = %5922
  br label %5930

5930:                                             ; preds = %5929
  br label %5931

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

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

5943:                                             ; preds = %5938
  %5944 = load i32, ptr %102, align 4, !tbaa !5
  %5945 = call ptr @__errno_location() #9
  store i32 %5944, ptr %5945, align 4, !tbaa !5
  %5946 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5947 = load i32, ptr @test_count, align 4, !tbaa !5
  %5948 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5949 = load i32, ptr %5948, align 4, !tbaa !5
  %5950 = call ptr @s2n_strerror(i32 noundef %5949, ptr noundef @.str.4)
  %5951 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5952 = load i32, ptr %5951, align 4, !tbaa !5
  %5953 = call ptr @s2n_strerror_debug(i32 noundef %5952, ptr noundef @.str.4)
  %5954 = call ptr @__errno_location() #9
  %5955 = load i32, ptr %5954, align 4, !tbaa !5
  %5956 = call ptr @strerror(i32 noundef %5955) #8
  %5957 = call ptr @__errno_location() #9
  %5958 = load i32, ptr %5957, align 4, !tbaa !5
  %5959 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5946, ptr noundef @.str.2, i32 noundef %5947, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 170, ptr noundef %5950, ptr noundef %5953, ptr noundef %5956, i32 noundef %5958) #8
  br label %5977

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

5977:                                             ; preds = %5960, %5943
  call void @llvm.lifetime.end.p0(i64 4, ptr %102) #8
  br label %5978

5978:                                             ; preds = %5977
  br label %5979

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

5980:                                             ; No predecessors!
  br label %5981

5981:                                             ; preds = %5980
  br label %5982

5982:                                             ; preds = %5981, %5922
  br label %5983

5983:                                             ; preds = %5982
  br label %5984

5984:                                             ; preds = %5983
  br label %5985

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

5988:                                             ; preds = %5985
  br label %5989

5989:                                             ; preds = %5988
  br label %5990

5990:                                             ; preds = %5989
  br label %5991

5991:                                             ; preds = %5990
  br label %5992

5992:                                             ; preds = %5991
  br label %5993

5993:                                             ; preds = %5992
  %5994 = load i32, ptr @test_count, align 4, !tbaa !5
  %5995 = add nsw i32 %5994, 1
  store i32 %5995, ptr @test_count, align 4, !tbaa !5
  %5996 = load ptr, ptr %59, align 8, !tbaa !9
  %5997 = call i32 @s2n_is_sig_scheme_valid_for_auth(ptr noundef %5996, ptr noundef @s2n_rsa_pss_rsae_sha256)
  %5998 = icmp eq i32 %5997, -1
  br i1 %5998, label %6052, label %5999

5999:                                             ; preds = %5993
  br label %6000

6000:                                             ; preds = %5999
  br label %6001

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

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

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

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

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

6048:                                             ; preds = %6047
  br label %6049

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

6050:                                             ; No predecessors!
  br label %6051

6051:                                             ; preds = %6050
  br label %6052

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

6053:                                             ; preds = %6052
  br label %6054

6054:                                             ; preds = %6053
  br label %6055

6055:                                             ; preds = %6054
  %6056 = load i32, ptr @test_count, align 4, !tbaa !5
  %6057 = add nsw i32 %6056, 1
  store i32 %6057, ptr @test_count, align 4, !tbaa !5
  %6058 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6059 = load i32, ptr %6058, align 4, !tbaa !5
  %6060 = icmp eq i32 %6059, 0
  br i1 %6060, label %6061, label %6114

6061:                                             ; preds = %6055
  br label %6062

6062:                                             ; preds = %6061
  br label %6063

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

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

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

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

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

6110:                                             ; preds = %6109
  br label %6111

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

6112:                                             ; No predecessors!
  br label %6113

6113:                                             ; preds = %6112
  br label %6114

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

6115:                                             ; preds = %6114
  br label %6116

6116:                                             ; preds = %6115
  br label %6117

6117:                                             ; preds = %6116
  %6118 = load i32, ptr @test_count, align 4, !tbaa !5
  %6119 = add nsw i32 %6118, 1
  store i32 %6119, ptr @test_count, align 4, !tbaa !5
  %6120 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6121 = load i32, ptr %6120, align 4, !tbaa !5
  %6122 = call ptr @s2n_strerror_debug(i32 noundef %6121, ptr noundef @.str.4)
  %6123 = icmp eq ptr %6122, null
  br i1 %6123, label %6124, label %6177

6124:                                             ; preds = %6117
  br label %6125

6125:                                             ; preds = %6124
  br label %6126

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

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

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

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

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

6173:                                             ; preds = %6172
  br label %6174

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

6175:                                             ; No predecessors!
  br label %6176

6176:                                             ; preds = %6175
  br label %6177

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

6178:                                             ; preds = %6177
  br label %6179

6179:                                             ; preds = %6178
  br label %6180

6180:                                             ; preds = %6179
  %6181 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %6181, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %6182 = call ptr @__errno_location() #9
  store i32 0, ptr %6182, align 4, !tbaa !5
  br label %6183

6183:                                             ; preds = %6180
  br label %6184

6184:                                             ; preds = %6183
  br label %6185

6185:                                             ; preds = %6184
  br label %6186

6186:                                             ; preds = %6185
  br label %6187

6187:                                             ; preds = %6186
  %6188 = load i32, ptr @test_count, align 4, !tbaa !5
  %6189 = add nsw i32 %6188, 1
  store i32 %6189, ptr @test_count, align 4, !tbaa !5
  %6190 = load ptr, ptr %59, align 8, !tbaa !9
  %6191 = call i32 @s2n_is_sig_scheme_valid_for_auth(ptr noundef %6190, ptr noundef @s2n_ecdsa_sha384)
  %6192 = icmp eq i32 %6191, -1
  br i1 %6192, label %6193, label %6246

6193:                                             ; preds = %6187
  br label %6194

6194:                                             ; preds = %6193
  br label %6195

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

6202:                                             ; preds = %6195
  %6203 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6204 = call i32 @fileno(ptr noundef %6203) #8
  %6205 = call i32 @isatty(i32 noundef %6204) #8
  %6206 = icmp ne i32 %6205, 0
  br i1 %6206, label %6207, label %6224

6207:                                             ; preds = %6202
  %6208 = load i32, ptr %106, align 4, !tbaa !5
  %6209 = call ptr @__errno_location() #9
  store i32 %6208, ptr %6209, align 4, !tbaa !5
  %6210 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6211 = load i32, ptr @test_count, align 4, !tbaa !5
  %6212 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6213 = load i32, ptr %6212, align 4, !tbaa !5
  %6214 = call ptr @s2n_strerror(i32 noundef %6213, ptr noundef @.str.4)
  %6215 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6216 = load i32, ptr %6215, align 4, !tbaa !5
  %6217 = call ptr @s2n_strerror_debug(i32 noundef %6216, ptr noundef @.str.4)
  %6218 = call ptr @__errno_location() #9
  %6219 = load i32, ptr %6218, align 4, !tbaa !5
  %6220 = call ptr @strerror(i32 noundef %6219) #8
  %6221 = call ptr @__errno_location() #9
  %6222 = load i32, ptr %6221, align 4, !tbaa !5
  %6223 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6210, ptr noundef @.str.2, i32 noundef %6211, ptr noundef @.str.39, ptr noundef @.str.1, i32 noundef 172, ptr noundef %6214, ptr noundef %6217, ptr noundef %6220, i32 noundef %6222) #8
  br label %6241

6224:                                             ; preds = %6202, %6195
  %6225 = load i32, ptr %106, align 4, !tbaa !5
  %6226 = call ptr @__errno_location() #9
  store i32 %6225, ptr %6226, align 4, !tbaa !5
  %6227 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6228 = load i32, ptr @test_count, align 4, !tbaa !5
  %6229 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6230 = load i32, ptr %6229, align 4, !tbaa !5
  %6231 = call ptr @s2n_strerror(i32 noundef %6230, ptr noundef @.str.4)
  %6232 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6233 = load i32, ptr %6232, align 4, !tbaa !5
  %6234 = call ptr @s2n_strerror_debug(i32 noundef %6233, ptr noundef @.str.4)
  %6235 = call ptr @__errno_location() #9
  %6236 = load i32, ptr %6235, align 4, !tbaa !5
  %6237 = call ptr @strerror(i32 noundef %6236) #8
  %6238 = call ptr @__errno_location() #9
  %6239 = load i32, ptr %6238, align 4, !tbaa !5
  %6240 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6227, ptr noundef @.str.5, i32 noundef %6228, ptr noundef @.str.39, ptr noundef @.str.1, i32 noundef 172, ptr noundef %6231, ptr noundef %6234, ptr noundef %6237, i32 noundef %6239) #8
  br label %6241

6241:                                             ; preds = %6224, %6207
  call void @llvm.lifetime.end.p0(i64 4, ptr %106) #8
  br label %6242

6242:                                             ; preds = %6241
  br label %6243

6243:                                             ; preds = %6242
  call void @exit(i32 noundef 1) #10
  unreachable

6244:                                             ; No predecessors!
  br label %6245

6245:                                             ; preds = %6244
  br label %6246

6246:                                             ; preds = %6245, %6187
  br label %6247

6247:                                             ; preds = %6246
  br label %6248

6248:                                             ; preds = %6247
  br label %6249

6249:                                             ; preds = %6248
  %6250 = load i32, ptr @test_count, align 4, !tbaa !5
  %6251 = add nsw i32 %6250, 1
  store i32 %6251, ptr @test_count, align 4, !tbaa !5
  %6252 = load ptr, ptr %59, align 8, !tbaa !9
  %6253 = load ptr, ptr %19, align 8, !tbaa !9
  %6254 = call i32 @s2n_connection_set_config(ptr noundef %6252, ptr noundef %6253)
  %6255 = icmp eq i32 %6254, -1
  br i1 %6255, label %6256, label %6309

6256:                                             ; preds = %6249
  br label %6257

6257:                                             ; preds = %6256
  br label %6258

6258:                                             ; preds = %6257
  call void @llvm.lifetime.start.p0(i64 4, ptr %107) #8
  %6259 = call ptr @__errno_location() #9
  %6260 = load i32, ptr %6259, align 4, !tbaa !5
  store i32 %6260, ptr %107, align 4, !tbaa !5
  %6261 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6262 = call i32 @s2n_print_stacktrace(ptr noundef %6261)
  %6263 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6264 = trunc i8 %6263 to i1
  br i1 %6264, label %6265, label %6287

6265:                                             ; preds = %6258
  %6266 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6267 = call i32 @fileno(ptr noundef %6266) #8
  %6268 = call i32 @isatty(i32 noundef %6267) #8
  %6269 = icmp ne i32 %6268, 0
  br i1 %6269, label %6270, label %6287

6270:                                             ; preds = %6265
  %6271 = load i32, ptr %107, align 4, !tbaa !5
  %6272 = call ptr @__errno_location() #9
  store i32 %6271, ptr %6272, align 4, !tbaa !5
  %6273 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6274 = load i32, ptr @test_count, align 4, !tbaa !5
  %6275 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6276 = load i32, ptr %6275, align 4, !tbaa !5
  %6277 = call ptr @s2n_strerror(i32 noundef %6276, ptr noundef @.str.4)
  %6278 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6279 = load i32, ptr %6278, align 4, !tbaa !5
  %6280 = call ptr @s2n_strerror_debug(i32 noundef %6279, ptr noundef @.str.4)
  %6281 = call ptr @__errno_location() #9
  %6282 = load i32, ptr %6281, align 4, !tbaa !5
  %6283 = call ptr @strerror(i32 noundef %6282) #8
  %6284 = call ptr @__errno_location() #9
  %6285 = load i32, ptr %6284, align 4, !tbaa !5
  %6286 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6273, ptr noundef @.str.2, i32 noundef %6274, ptr noundef @.str.30, ptr noundef @.str.1, i32 noundef 175, ptr noundef %6277, ptr noundef %6280, ptr noundef %6283, i32 noundef %6285) #8
  br label %6304

6287:                                             ; preds = %6265, %6258
  %6288 = load i32, ptr %107, align 4, !tbaa !5
  %6289 = call ptr @__errno_location() #9
  store i32 %6288, ptr %6289, align 4, !tbaa !5
  %6290 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6291 = load i32, ptr @test_count, align 4, !tbaa !5
  %6292 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6293 = load i32, ptr %6292, align 4, !tbaa !5
  %6294 = call ptr @s2n_strerror(i32 noundef %6293, ptr noundef @.str.4)
  %6295 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6296 = load i32, ptr %6295, align 4, !tbaa !5
  %6297 = call ptr @s2n_strerror_debug(i32 noundef %6296, ptr noundef @.str.4)
  %6298 = call ptr @__errno_location() #9
  %6299 = load i32, ptr %6298, align 4, !tbaa !5
  %6300 = call ptr @strerror(i32 noundef %6299) #8
  %6301 = call ptr @__errno_location() #9
  %6302 = load i32, ptr %6301, align 4, !tbaa !5
  %6303 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6290, ptr noundef @.str.5, i32 noundef %6291, ptr noundef @.str.30, ptr noundef @.str.1, i32 noundef 175, ptr noundef %6294, ptr noundef %6297, ptr noundef %6300, i32 noundef %6302) #8
  br label %6304

6304:                                             ; preds = %6287, %6270
  call void @llvm.lifetime.end.p0(i64 4, ptr %107) #8
  br label %6305

6305:                                             ; preds = %6304
  br label %6306

6306:                                             ; preds = %6305
  call void @exit(i32 noundef 1) #10
  unreachable

6307:                                             ; No predecessors!
  br label %6308

6308:                                             ; preds = %6307
  br label %6309

6309:                                             ; preds = %6308, %6249
  br label %6310

6310:                                             ; preds = %6309
  br label %6311

6311:                                             ; preds = %6310
  br label %6312

6312:                                             ; preds = %6311
  %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 %59, align 8, !tbaa !9
  %6316 = call i32 @s2n_is_sig_scheme_valid_for_auth(ptr noundef %6315, ptr noundef @s2n_rsa_pkcs1_md5_sha1)
  %6317 = icmp eq i32 %6316, -1
  br i1 %6317, label %6318, label %6371

6318:                                             ; preds = %6312
  br label %6319

6319:                                             ; preds = %6318
  br label %6320

6320:                                             ; preds = %6319
  call void @llvm.lifetime.start.p0(i64 4, ptr %108) #8
  %6321 = call ptr @__errno_location() #9
  %6322 = load i32, ptr %6321, align 4, !tbaa !5
  store i32 %6322, ptr %108, align 4, !tbaa !5
  %6323 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6324 = call i32 @s2n_print_stacktrace(ptr noundef %6323)
  %6325 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6326 = trunc i8 %6325 to i1
  br i1 %6326, label %6327, label %6349

6327:                                             ; preds = %6320
  %6328 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6329 = call i32 @fileno(ptr noundef %6328) #8
  %6330 = call i32 @isatty(i32 noundef %6329) #8
  %6331 = icmp ne i32 %6330, 0
  br i1 %6331, label %6332, label %6349

6332:                                             ; preds = %6327
  %6333 = load i32, ptr %108, align 4, !tbaa !5
  %6334 = call ptr @__errno_location() #9
  store i32 %6333, ptr %6334, align 4, !tbaa !5
  %6335 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6336 = load i32, ptr @test_count, align 4, !tbaa !5
  %6337 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6338 = load i32, ptr %6337, align 4, !tbaa !5
  %6339 = call ptr @s2n_strerror(i32 noundef %6338, ptr noundef @.str.4)
  %6340 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6341 = load i32, ptr %6340, align 4, !tbaa !5
  %6342 = call ptr @s2n_strerror_debug(i32 noundef %6341, ptr noundef @.str.4)
  %6343 = call ptr @__errno_location() #9
  %6344 = load i32, ptr %6343, align 4, !tbaa !5
  %6345 = call ptr @strerror(i32 noundef %6344) #8
  %6346 = call ptr @__errno_location() #9
  %6347 = load i32, ptr %6346, align 4, !tbaa !5
  %6348 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6335, ptr noundef @.str.2, i32 noundef %6336, ptr noundef @.str.36, ptr noundef @.str.1, i32 noundef 176, ptr noundef %6339, ptr noundef %6342, ptr noundef %6345, i32 noundef %6347) #8
  br label %6366

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

6366:                                             ; preds = %6349, %6332
  call void @llvm.lifetime.end.p0(i64 4, ptr %108) #8
  br label %6367

6367:                                             ; preds = %6366
  br label %6368

6368:                                             ; preds = %6367
  call void @exit(i32 noundef 1) #10
  unreachable

6369:                                             ; No predecessors!
  br label %6370

6370:                                             ; preds = %6369
  br label %6371

6371:                                             ; preds = %6370, %6312
  br label %6372

6372:                                             ; preds = %6371
  br label %6373

6373:                                             ; preds = %6372
  %6374 = call zeroext i1 (...) @s2n_is_rsa_pss_certs_supported()
  br i1 %6374, label %6375, label %6438

6375:                                             ; preds = %6373
  br label %6376

6376:                                             ; preds = %6375
  %6377 = load i32, ptr @test_count, align 4, !tbaa !5
  %6378 = add nsw i32 %6377, 1
  store i32 %6378, ptr @test_count, align 4, !tbaa !5
  %6379 = load ptr, ptr %59, align 8, !tbaa !9
  %6380 = call i32 @s2n_is_sig_scheme_valid_for_auth(ptr noundef %6379, ptr noundef @s2n_rsa_pss_pss_sha256)
  %6381 = icmp eq i32 %6380, -1
  br i1 %6381, label %6382, label %6435

6382:                                             ; preds = %6376
  br label %6383

6383:                                             ; preds = %6382
  br label %6384

6384:                                             ; preds = %6383
  call void @llvm.lifetime.start.p0(i64 4, ptr %109) #8
  %6385 = call ptr @__errno_location() #9
  %6386 = load i32, ptr %6385, align 4, !tbaa !5
  store i32 %6386, ptr %109, align 4, !tbaa !5
  %6387 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6388 = call i32 @s2n_print_stacktrace(ptr noundef %6387)
  %6389 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6390 = trunc i8 %6389 to i1
  br i1 %6390, label %6391, label %6413

6391:                                             ; preds = %6384
  %6392 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6393 = call i32 @fileno(ptr noundef %6392) #8
  %6394 = call i32 @isatty(i32 noundef %6393) #8
  %6395 = icmp ne i32 %6394, 0
  br i1 %6395, label %6396, label %6413

6396:                                             ; preds = %6391
  %6397 = load i32, ptr %109, align 4, !tbaa !5
  %6398 = call ptr @__errno_location() #9
  store i32 %6397, ptr %6398, align 4, !tbaa !5
  %6399 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6400 = load i32, ptr @test_count, align 4, !tbaa !5
  %6401 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6402 = load i32, ptr %6401, align 4, !tbaa !5
  %6403 = call ptr @s2n_strerror(i32 noundef %6402, ptr noundef @.str.4)
  %6404 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6405 = load i32, ptr %6404, align 4, !tbaa !5
  %6406 = call ptr @s2n_strerror_debug(i32 noundef %6405, ptr noundef @.str.4)
  %6407 = call ptr @__errno_location() #9
  %6408 = load i32, ptr %6407, align 4, !tbaa !5
  %6409 = call ptr @strerror(i32 noundef %6408) #8
  %6410 = call ptr @__errno_location() #9
  %6411 = load i32, ptr %6410, align 4, !tbaa !5
  %6412 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6399, ptr noundef @.str.2, i32 noundef %6400, ptr noundef @.str.38, ptr noundef @.str.1, i32 noundef 177, ptr noundef %6403, ptr noundef %6406, ptr noundef %6409, i32 noundef %6411) #8
  br label %6430

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

6430:                                             ; preds = %6413, %6396
  call void @llvm.lifetime.end.p0(i64 4, ptr %109) #8
  br label %6431

6431:                                             ; preds = %6430
  br label %6432

6432:                                             ; preds = %6431
  call void @exit(i32 noundef 1) #10
  unreachable

6433:                                             ; No predecessors!
  br label %6434

6434:                                             ; preds = %6433
  br label %6435

6435:                                             ; preds = %6434, %6376
  br label %6436

6436:                                             ; preds = %6435
  br label %6437

6437:                                             ; preds = %6436
  br label %6634

6438:                                             ; preds = %6373
  br label %6439

6439:                                             ; preds = %6438
  br label %6440

6440:                                             ; preds = %6439
  %6441 = load i32, ptr @test_count, align 4, !tbaa !5
  %6442 = add nsw i32 %6441, 1
  store i32 %6442, ptr @test_count, align 4, !tbaa !5
  %6443 = load ptr, ptr %59, align 8, !tbaa !9
  %6444 = call i32 @s2n_is_sig_scheme_valid_for_auth(ptr noundef %6443, ptr noundef @s2n_rsa_pss_pss_sha256)
  %6445 = icmp eq i32 %6444, -1
  br i1 %6445, label %6499, label %6446

6446:                                             ; preds = %6440
  br label %6447

6447:                                             ; preds = %6446
  br label %6448

6448:                                             ; preds = %6447
  call void @llvm.lifetime.start.p0(i64 4, ptr %110) #8
  %6449 = call ptr @__errno_location() #9
  %6450 = load i32, ptr %6449, align 4, !tbaa !5
  store i32 %6450, ptr %110, align 4, !tbaa !5
  %6451 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6452 = call i32 @s2n_print_stacktrace(ptr noundef %6451)
  %6453 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6454 = trunc i8 %6453 to i1
  br i1 %6454, label %6455, label %6477

6455:                                             ; preds = %6448
  %6456 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6457 = call i32 @fileno(ptr noundef %6456) #8
  %6458 = call i32 @isatty(i32 noundef %6457) #8
  %6459 = icmp ne i32 %6458, 0
  br i1 %6459, label %6460, label %6477

6460:                                             ; preds = %6455
  %6461 = load i32, ptr %110, align 4, !tbaa !5
  %6462 = call ptr @__errno_location() #9
  store i32 %6461, ptr %6462, align 4, !tbaa !5
  %6463 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6464 = load i32, ptr @test_count, align 4, !tbaa !5
  %6465 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6466 = load i32, ptr %6465, align 4, !tbaa !5
  %6467 = call ptr @s2n_strerror(i32 noundef %6466, ptr noundef @.str.4)
  %6468 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6469 = load i32, ptr %6468, align 4, !tbaa !5
  %6470 = call ptr @s2n_strerror_debug(i32 noundef %6469, ptr noundef @.str.4)
  %6471 = call ptr @__errno_location() #9
  %6472 = load i32, ptr %6471, align 4, !tbaa !5
  %6473 = call ptr @strerror(i32 noundef %6472) #8
  %6474 = call ptr @__errno_location() #9
  %6475 = load i32, ptr %6474, align 4, !tbaa !5
  %6476 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6463, ptr noundef @.str.2, i32 noundef %6464, ptr noundef @.str.33, ptr noundef @.str.1, i32 noundef 177, ptr noundef %6467, ptr noundef %6470, ptr noundef %6473, i32 noundef %6475) #8
  br label %6494

6477:                                             ; preds = %6455, %6448
  %6478 = load i32, ptr %110, align 4, !tbaa !5
  %6479 = call ptr @__errno_location() #9
  store i32 %6478, ptr %6479, align 4, !tbaa !5
  %6480 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6481 = load i32, ptr @test_count, align 4, !tbaa !5
  %6482 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6483 = load i32, ptr %6482, align 4, !tbaa !5
  %6484 = call ptr @s2n_strerror(i32 noundef %6483, ptr noundef @.str.4)
  %6485 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6486 = load i32, ptr %6485, align 4, !tbaa !5
  %6487 = call ptr @s2n_strerror_debug(i32 noundef %6486, ptr noundef @.str.4)
  %6488 = call ptr @__errno_location() #9
  %6489 = load i32, ptr %6488, align 4, !tbaa !5
  %6490 = call ptr @strerror(i32 noundef %6489) #8
  %6491 = call ptr @__errno_location() #9
  %6492 = load i32, ptr %6491, align 4, !tbaa !5
  %6493 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6480, ptr noundef @.str.5, i32 noundef %6481, ptr noundef @.str.33, ptr noundef @.str.1, i32 noundef 177, ptr noundef %6484, ptr noundef %6487, ptr noundef %6490, i32 noundef %6492) #8
  br label %6494

6494:                                             ; preds = %6477, %6460
  call void @llvm.lifetime.end.p0(i64 4, ptr %110) #8
  br label %6495

6495:                                             ; preds = %6494
  br label %6496

6496:                                             ; preds = %6495
  call void @exit(i32 noundef 1) #10
  unreachable

6497:                                             ; No predecessors!
  br label %6498

6498:                                             ; preds = %6497
  br label %6499

6499:                                             ; preds = %6498, %6440
  br label %6500

6500:                                             ; preds = %6499
  br label %6501

6501:                                             ; preds = %6500
  br label %6502

6502:                                             ; preds = %6501
  %6503 = load i32, ptr @test_count, align 4, !tbaa !5
  %6504 = add nsw i32 %6503, 1
  store i32 %6504, ptr @test_count, align 4, !tbaa !5
  %6505 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6506 = load i32, ptr %6505, align 4, !tbaa !5
  %6507 = icmp eq i32 %6506, 0
  br i1 %6507, label %6508, label %6561

6508:                                             ; preds = %6502
  br label %6509

6509:                                             ; preds = %6508
  br label %6510

6510:                                             ; preds = %6509
  call void @llvm.lifetime.start.p0(i64 4, ptr %111) #8
  %6511 = call ptr @__errno_location() #9
  %6512 = load i32, ptr %6511, align 4, !tbaa !5
  store i32 %6512, ptr %111, align 4, !tbaa !5
  %6513 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6514 = call i32 @s2n_print_stacktrace(ptr noundef %6513)
  %6515 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6516 = trunc i8 %6515 to i1
  br i1 %6516, label %6517, label %6539

6517:                                             ; preds = %6510
  %6518 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6519 = call i32 @fileno(ptr noundef %6518) #8
  %6520 = call i32 @isatty(i32 noundef %6519) #8
  %6521 = icmp ne i32 %6520, 0
  br i1 %6521, label %6522, label %6539

6522:                                             ; preds = %6517
  %6523 = load i32, ptr %111, align 4, !tbaa !5
  %6524 = call ptr @__errno_location() #9
  store i32 %6523, ptr %6524, align 4, !tbaa !5
  %6525 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6526 = load i32, ptr @test_count, align 4, !tbaa !5
  %6527 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6528 = load i32, ptr %6527, align 4, !tbaa !5
  %6529 = call ptr @s2n_strerror(i32 noundef %6528, ptr noundef @.str.4)
  %6530 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6531 = load i32, ptr %6530, align 4, !tbaa !5
  %6532 = call ptr @s2n_strerror_debug(i32 noundef %6531, ptr noundef @.str.4)
  %6533 = call ptr @__errno_location() #9
  %6534 = load i32, ptr %6533, align 4, !tbaa !5
  %6535 = call ptr @strerror(i32 noundef %6534) #8
  %6536 = call ptr @__errno_location() #9
  %6537 = load i32, ptr %6536, align 4, !tbaa !5
  %6538 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6525, ptr noundef @.str.2, i32 noundef %6526, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 177, ptr noundef %6529, ptr noundef %6532, ptr noundef %6535, i32 noundef %6537) #8
  br label %6556

6539:                                             ; preds = %6517, %6510
  %6540 = load i32, ptr %111, align 4, !tbaa !5
  %6541 = call ptr @__errno_location() #9
  store i32 %6540, ptr %6541, align 4, !tbaa !5
  %6542 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6543 = load i32, ptr @test_count, align 4, !tbaa !5
  %6544 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6545 = load i32, ptr %6544, align 4, !tbaa !5
  %6546 = call ptr @s2n_strerror(i32 noundef %6545, ptr noundef @.str.4)
  %6547 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6548 = load i32, ptr %6547, align 4, !tbaa !5
  %6549 = call ptr @s2n_strerror_debug(i32 noundef %6548, ptr noundef @.str.4)
  %6550 = call ptr @__errno_location() #9
  %6551 = load i32, ptr %6550, align 4, !tbaa !5
  %6552 = call ptr @strerror(i32 noundef %6551) #8
  %6553 = call ptr @__errno_location() #9
  %6554 = load i32, ptr %6553, align 4, !tbaa !5
  %6555 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6542, ptr noundef @.str.5, i32 noundef %6543, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 177, ptr noundef %6546, ptr noundef %6549, ptr noundef %6552, i32 noundef %6554) #8
  br label %6556

6556:                                             ; preds = %6539, %6522
  call void @llvm.lifetime.end.p0(i64 4, ptr %111) #8
  br label %6557

6557:                                             ; preds = %6556
  br label %6558

6558:                                             ; preds = %6557
  call void @exit(i32 noundef 1) #10
  unreachable

6559:                                             ; No predecessors!
  br label %6560

6560:                                             ; preds = %6559
  br label %6561

6561:                                             ; preds = %6560, %6502
  br label %6562

6562:                                             ; preds = %6561
  br label %6563

6563:                                             ; preds = %6562
  br label %6564

6564:                                             ; preds = %6563
  %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 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6568 = load i32, ptr %6567, align 4, !tbaa !5
  %6569 = call ptr @s2n_strerror_debug(i32 noundef %6568, ptr noundef @.str.4)
  %6570 = icmp eq ptr %6569, null
  br i1 %6570, label %6571, label %6624

6571:                                             ; preds = %6564
  br label %6572

6572:                                             ; preds = %6571
  br label %6573

6573:                                             ; preds = %6572
  call void @llvm.lifetime.start.p0(i64 4, ptr %112) #8
  %6574 = call ptr @__errno_location() #9
  %6575 = load i32, ptr %6574, align 4, !tbaa !5
  store i32 %6575, ptr %112, align 4, !tbaa !5
  %6576 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6577 = call i32 @s2n_print_stacktrace(ptr noundef %6576)
  %6578 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6579 = trunc i8 %6578 to i1
  br i1 %6579, label %6580, label %6602

6580:                                             ; preds = %6573
  %6581 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6582 = call i32 @fileno(ptr noundef %6581) #8
  %6583 = call i32 @isatty(i32 noundef %6582) #8
  %6584 = icmp ne i32 %6583, 0
  br i1 %6584, label %6585, label %6602

6585:                                             ; preds = %6580
  %6586 = load i32, ptr %112, align 4, !tbaa !5
  %6587 = call ptr @__errno_location() #9
  store i32 %6586, ptr %6587, align 4, !tbaa !5
  %6588 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6589 = load i32, ptr @test_count, align 4, !tbaa !5
  %6590 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6591 = load i32, ptr %6590, align 4, !tbaa !5
  %6592 = call ptr @s2n_strerror(i32 noundef %6591, ptr noundef @.str.4)
  %6593 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6594 = load i32, ptr %6593, align 4, !tbaa !5
  %6595 = call ptr @s2n_strerror_debug(i32 noundef %6594, ptr noundef @.str.4)
  %6596 = call ptr @__errno_location() #9
  %6597 = load i32, ptr %6596, align 4, !tbaa !5
  %6598 = call ptr @strerror(i32 noundef %6597) #8
  %6599 = call ptr @__errno_location() #9
  %6600 = load i32, ptr %6599, align 4, !tbaa !5
  %6601 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6588, ptr noundef @.str.2, i32 noundef %6589, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 177, ptr noundef %6592, ptr noundef %6595, ptr noundef %6598, i32 noundef %6600) #8
  br label %6619

6602:                                             ; preds = %6580, %6573
  %6603 = load i32, ptr %112, align 4, !tbaa !5
  %6604 = call ptr @__errno_location() #9
  store i32 %6603, ptr %6604, align 4, !tbaa !5
  %6605 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6606 = load i32, ptr @test_count, align 4, !tbaa !5
  %6607 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6608 = load i32, ptr %6607, align 4, !tbaa !5
  %6609 = call ptr @s2n_strerror(i32 noundef %6608, ptr noundef @.str.4)
  %6610 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6611 = load i32, ptr %6610, align 4, !tbaa !5
  %6612 = call ptr @s2n_strerror_debug(i32 noundef %6611, ptr noundef @.str.4)
  %6613 = call ptr @__errno_location() #9
  %6614 = load i32, ptr %6613, align 4, !tbaa !5
  %6615 = call ptr @strerror(i32 noundef %6614) #8
  %6616 = call ptr @__errno_location() #9
  %6617 = load i32, ptr %6616, align 4, !tbaa !5
  %6618 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6605, ptr noundef @.str.5, i32 noundef %6606, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 177, ptr noundef %6609, ptr noundef %6612, ptr noundef %6615, i32 noundef %6617) #8
  br label %6619

6619:                                             ; preds = %6602, %6585
  call void @llvm.lifetime.end.p0(i64 4, ptr %112) #8
  br label %6620

6620:                                             ; preds = %6619
  br label %6621

6621:                                             ; preds = %6620
  call void @exit(i32 noundef 1) #10
  unreachable

6622:                                             ; No predecessors!
  br label %6623

6623:                                             ; preds = %6622
  br label %6624

6624:                                             ; preds = %6623, %6564
  br label %6625

6625:                                             ; preds = %6624
  br label %6626

6626:                                             ; preds = %6625
  br label %6627

6627:                                             ; preds = %6626
  %6628 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %6628, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %6629 = call ptr @__errno_location() #9
  store i32 0, ptr %6629, align 4, !tbaa !5
  br label %6630

6630:                                             ; preds = %6627
  br label %6631

6631:                                             ; preds = %6630
  br label %6632

6632:                                             ; preds = %6631
  br label %6633

6633:                                             ; preds = %6632
  br label %6634

6634:                                             ; preds = %6633, %6437
  br label %6635

6635:                                             ; preds = %6634
  %6636 = load i32, ptr @test_count, align 4, !tbaa !5
  %6637 = add nsw i32 %6636, 1
  store i32 %6637, ptr @test_count, align 4, !tbaa !5
  %6638 = load ptr, ptr %59, align 8, !tbaa !9
  %6639 = call i32 @s2n_is_sig_scheme_valid_for_auth(ptr noundef %6638, ptr noundef @s2n_rsa_pss_rsae_sha256)
  %6640 = icmp eq i32 %6639, -1
  br i1 %6640, label %6641, label %6694

6641:                                             ; preds = %6635
  br label %6642

6642:                                             ; preds = %6641
  br label %6643

6643:                                             ; preds = %6642
  call void @llvm.lifetime.start.p0(i64 4, ptr %113) #8
  %6644 = call ptr @__errno_location() #9
  %6645 = load i32, ptr %6644, align 4, !tbaa !5
  store i32 %6645, ptr %113, align 4, !tbaa !5
  %6646 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6647 = call i32 @s2n_print_stacktrace(ptr noundef %6646)
  %6648 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6649 = trunc i8 %6648 to i1
  br i1 %6649, label %6650, label %6672

6650:                                             ; preds = %6643
  %6651 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6652 = call i32 @fileno(ptr noundef %6651) #8
  %6653 = call i32 @isatty(i32 noundef %6652) #8
  %6654 = icmp ne i32 %6653, 0
  br i1 %6654, label %6655, label %6672

6655:                                             ; preds = %6650
  %6656 = load i32, ptr %113, align 4, !tbaa !5
  %6657 = call ptr @__errno_location() #9
  store i32 %6656, ptr %6657, align 4, !tbaa !5
  %6658 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6659 = load i32, ptr @test_count, align 4, !tbaa !5
  %6660 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6661 = load i32, ptr %6660, align 4, !tbaa !5
  %6662 = call ptr @s2n_strerror(i32 noundef %6661, ptr noundef @.str.4)
  %6663 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6664 = load i32, ptr %6663, align 4, !tbaa !5
  %6665 = call ptr @s2n_strerror_debug(i32 noundef %6664, ptr noundef @.str.4)
  %6666 = call ptr @__errno_location() #9
  %6667 = load i32, ptr %6666, align 4, !tbaa !5
  %6668 = call ptr @strerror(i32 noundef %6667) #8
  %6669 = call ptr @__errno_location() #9
  %6670 = load i32, ptr %6669, align 4, !tbaa !5
  %6671 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6658, ptr noundef @.str.2, i32 noundef %6659, ptr noundef @.str.37, ptr noundef @.str.1, i32 noundef 178, ptr noundef %6662, ptr noundef %6665, ptr noundef %6668, i32 noundef %6670) #8
  br label %6689

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

6689:                                             ; preds = %6672, %6655
  call void @llvm.lifetime.end.p0(i64 4, ptr %113) #8
  br label %6690

6690:                                             ; preds = %6689
  br label %6691

6691:                                             ; preds = %6690
  call void @exit(i32 noundef 1) #10
  unreachable

6692:                                             ; No predecessors!
  br label %6693

6693:                                             ; preds = %6692
  br label %6694

6694:                                             ; preds = %6693, %6635
  br label %6695

6695:                                             ; preds = %6694
  br label %6696

6696:                                             ; preds = %6695
  br label %6697

6697:                                             ; preds = %6696
  %6698 = load i32, ptr @test_count, align 4, !tbaa !5
  %6699 = add nsw i32 %6698, 1
  store i32 %6699, ptr @test_count, align 4, !tbaa !5
  %6700 = load ptr, ptr %59, align 8, !tbaa !9
  %6701 = call i32 @s2n_is_sig_scheme_valid_for_auth(ptr noundef %6700, ptr noundef @s2n_ecdsa_sha384)
  %6702 = icmp eq i32 %6701, -1
  br i1 %6702, label %6703, label %6756

6703:                                             ; preds = %6697
  br label %6704

6704:                                             ; preds = %6703
  br label %6705

6705:                                             ; preds = %6704
  call void @llvm.lifetime.start.p0(i64 4, ptr %114) #8
  %6706 = call ptr @__errno_location() #9
  %6707 = load i32, ptr %6706, align 4, !tbaa !5
  store i32 %6707, ptr %114, align 4, !tbaa !5
  %6708 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6709 = call i32 @s2n_print_stacktrace(ptr noundef %6708)
  %6710 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6711 = trunc i8 %6710 to i1
  br i1 %6711, label %6712, label %6734

6712:                                             ; preds = %6705
  %6713 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6714 = call i32 @fileno(ptr noundef %6713) #8
  %6715 = call i32 @isatty(i32 noundef %6714) #8
  %6716 = icmp ne i32 %6715, 0
  br i1 %6716, label %6717, label %6734

6717:                                             ; preds = %6712
  %6718 = load i32, ptr %114, align 4, !tbaa !5
  %6719 = call ptr @__errno_location() #9
  store i32 %6718, ptr %6719, align 4, !tbaa !5
  %6720 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6721 = load i32, ptr @test_count, align 4, !tbaa !5
  %6722 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6723 = load i32, ptr %6722, align 4, !tbaa !5
  %6724 = call ptr @s2n_strerror(i32 noundef %6723, ptr noundef @.str.4)
  %6725 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6726 = load i32, ptr %6725, align 4, !tbaa !5
  %6727 = call ptr @s2n_strerror_debug(i32 noundef %6726, ptr noundef @.str.4)
  %6728 = call ptr @__errno_location() #9
  %6729 = load i32, ptr %6728, align 4, !tbaa !5
  %6730 = call ptr @strerror(i32 noundef %6729) #8
  %6731 = call ptr @__errno_location() #9
  %6732 = load i32, ptr %6731, align 4, !tbaa !5
  %6733 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6720, ptr noundef @.str.2, i32 noundef %6721, ptr noundef @.str.39, ptr noundef @.str.1, i32 noundef 179, ptr noundef %6724, ptr noundef %6727, ptr noundef %6730, i32 noundef %6732) #8
  br label %6751

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

6751:                                             ; preds = %6734, %6717
  call void @llvm.lifetime.end.p0(i64 4, ptr %114) #8
  br label %6752

6752:                                             ; preds = %6751
  br label %6753

6753:                                             ; preds = %6752
  call void @exit(i32 noundef 1) #10
  unreachable

6754:                                             ; No predecessors!
  br label %6755

6755:                                             ; preds = %6754
  br label %6756

6756:                                             ; preds = %6755, %6697
  br label %6757

6757:                                             ; preds = %6756
  br label %6758

6758:                                             ; preds = %6757
  call void @llvm.lifetime.start.p0(i64 8, ptr %115) #8
  %6759 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %6759, ptr %115, align 8, !tbaa !9
  %6760 = load ptr, ptr %115, align 8, !tbaa !9
  %6761 = getelementptr inbounds %struct.s2n_connection, ptr %6760, i32 0, i32 23
  store i8 34, ptr %6761, align 4, !tbaa !47
  call void @llvm.lifetime.start.p0(i64 8, ptr %116) #8
  store ptr null, ptr %116, align 8, !tbaa !9
  br label %6762

6762:                                             ; preds = %6758
  %6763 = load i32, ptr @test_count, align 4, !tbaa !5
  %6764 = add nsw i32 %6763, 1
  store i32 %6764, ptr @test_count, align 4, !tbaa !5
  %6765 = call i32 @s2n_test_cert_chain_and_key_new(ptr noundef %116, ptr noundef @.str.40, ptr noundef @.str.41)
  %6766 = icmp eq i32 %6765, -1
  br i1 %6766, label %6767, label %6820

6767:                                             ; preds = %6762
  br label %6768

6768:                                             ; preds = %6767
  br label %6769

6769:                                             ; preds = %6768
  call void @llvm.lifetime.start.p0(i64 4, ptr %117) #8
  %6770 = call ptr @__errno_location() #9
  %6771 = load i32, ptr %6770, align 4, !tbaa !5
  store i32 %6771, ptr %117, align 4, !tbaa !5
  %6772 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6773 = call i32 @s2n_print_stacktrace(ptr noundef %6772)
  %6774 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6775 = trunc i8 %6774 to i1
  br i1 %6775, label %6776, label %6798

6776:                                             ; preds = %6769
  %6777 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6778 = call i32 @fileno(ptr noundef %6777) #8
  %6779 = call i32 @isatty(i32 noundef %6778) #8
  %6780 = icmp ne i32 %6779, 0
  br i1 %6780, label %6781, label %6798

6781:                                             ; preds = %6776
  %6782 = load i32, ptr %117, align 4, !tbaa !5
  %6783 = call ptr @__errno_location() #9
  store i32 %6782, ptr %6783, align 4, !tbaa !5
  %6784 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6785 = load i32, ptr @test_count, align 4, !tbaa !5
  %6786 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6787 = load i32, ptr %6786, align 4, !tbaa !5
  %6788 = call ptr @s2n_strerror(i32 noundef %6787, ptr noundef @.str.4)
  %6789 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6790 = load i32, ptr %6789, align 4, !tbaa !5
  %6791 = call ptr @s2n_strerror_debug(i32 noundef %6790, ptr noundef @.str.4)
  %6792 = call ptr @__errno_location() #9
  %6793 = load i32, ptr %6792, align 4, !tbaa !5
  %6794 = call ptr @strerror(i32 noundef %6793) #8
  %6795 = call ptr @__errno_location() #9
  %6796 = load i32, ptr %6795, align 4, !tbaa !5
  %6797 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6784, ptr noundef @.str.2, i32 noundef %6785, ptr noundef @.str.42, ptr noundef @.str.1, i32 noundef 190, ptr noundef %6788, ptr noundef %6791, ptr noundef %6794, i32 noundef %6796) #8
  br label %6815

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

6815:                                             ; preds = %6798, %6781
  call void @llvm.lifetime.end.p0(i64 4, ptr %117) #8
  br label %6816

6816:                                             ; preds = %6815
  br label %6817

6817:                                             ; preds = %6816
  call void @exit(i32 noundef 1) #10
  unreachable

6818:                                             ; No predecessors!
  br label %6819

6819:                                             ; preds = %6818
  br label %6820

6820:                                             ; preds = %6819, %6762
  br label %6821

6821:                                             ; preds = %6820
  br label %6822

6822:                                             ; preds = %6821
  call void @llvm.lifetime.start.p0(i64 8, ptr %118) #8
  %6823 = call ptr @s2n_config_new()
  store ptr %6823, ptr %118, align 8, !tbaa !9
  br label %6824

6824:                                             ; preds = %6822
  %6825 = load i32, ptr @test_count, align 4, !tbaa !5
  %6826 = add nsw i32 %6825, 1
  store i32 %6826, ptr @test_count, align 4, !tbaa !5
  %6827 = load ptr, ptr %118, align 8, !tbaa !9
  %6828 = load ptr, ptr %116, align 8, !tbaa !9
  %6829 = call i32 @s2n_config_add_cert_chain_and_key_to_store(ptr noundef %6827, ptr noundef %6828)
  %6830 = icmp eq i32 %6829, -1
  br i1 %6830, label %6831, label %6884

6831:                                             ; preds = %6824
  br label %6832

6832:                                             ; preds = %6831
  br label %6833

6833:                                             ; preds = %6832
  call void @llvm.lifetime.start.p0(i64 4, ptr %119) #8
  %6834 = call ptr @__errno_location() #9
  %6835 = load i32, ptr %6834, align 4, !tbaa !5
  store i32 %6835, ptr %119, align 4, !tbaa !5
  %6836 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6837 = call i32 @s2n_print_stacktrace(ptr noundef %6836)
  %6838 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6839 = trunc i8 %6838 to i1
  br i1 %6839, label %6840, label %6862

6840:                                             ; preds = %6833
  %6841 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6842 = call i32 @fileno(ptr noundef %6841) #8
  %6843 = call i32 @isatty(i32 noundef %6842) #8
  %6844 = icmp ne i32 %6843, 0
  br i1 %6844, label %6845, label %6862

6845:                                             ; preds = %6840
  %6846 = load i32, ptr %119, align 4, !tbaa !5
  %6847 = call ptr @__errno_location() #9
  store i32 %6846, ptr %6847, align 4, !tbaa !5
  %6848 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6849 = load i32, ptr @test_count, align 4, !tbaa !5
  %6850 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6851 = load i32, ptr %6850, align 4, !tbaa !5
  %6852 = call ptr @s2n_strerror(i32 noundef %6851, ptr noundef @.str.4)
  %6853 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6854 = load i32, ptr %6853, align 4, !tbaa !5
  %6855 = call ptr @s2n_strerror_debug(i32 noundef %6854, ptr noundef @.str.4)
  %6856 = call ptr @__errno_location() #9
  %6857 = load i32, ptr %6856, align 4, !tbaa !5
  %6858 = call ptr @strerror(i32 noundef %6857) #8
  %6859 = call ptr @__errno_location() #9
  %6860 = load i32, ptr %6859, align 4, !tbaa !5
  %6861 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6848, ptr noundef @.str.2, i32 noundef %6849, ptr noundef @.str.43, ptr noundef @.str.1, i32 noundef 194, ptr noundef %6852, ptr noundef %6855, ptr noundef %6858, i32 noundef %6860) #8
  br label %6879

6862:                                             ; preds = %6840, %6833
  %6863 = load i32, ptr %119, align 4, !tbaa !5
  %6864 = call ptr @__errno_location() #9
  store i32 %6863, ptr %6864, align 4, !tbaa !5
  %6865 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6866 = load i32, ptr @test_count, align 4, !tbaa !5
  %6867 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6868 = load i32, ptr %6867, align 4, !tbaa !5
  %6869 = call ptr @s2n_strerror(i32 noundef %6868, ptr noundef @.str.4)
  %6870 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6871 = load i32, ptr %6870, align 4, !tbaa !5
  %6872 = call ptr @s2n_strerror_debug(i32 noundef %6871, ptr noundef @.str.4)
  %6873 = call ptr @__errno_location() #9
  %6874 = load i32, ptr %6873, align 4, !tbaa !5
  %6875 = call ptr @strerror(i32 noundef %6874) #8
  %6876 = call ptr @__errno_location() #9
  %6877 = load i32, ptr %6876, align 4, !tbaa !5
  %6878 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6865, ptr noundef @.str.5, i32 noundef %6866, ptr noundef @.str.43, ptr noundef @.str.1, i32 noundef 194, ptr noundef %6869, ptr noundef %6872, ptr noundef %6875, i32 noundef %6877) #8
  br label %6879

6879:                                             ; preds = %6862, %6845
  call void @llvm.lifetime.end.p0(i64 4, ptr %119) #8
  br label %6880

6880:                                             ; preds = %6879
  br label %6881

6881:                                             ; preds = %6880
  call void @exit(i32 noundef 1) #10
  unreachable

6882:                                             ; No predecessors!
  br label %6883

6883:                                             ; preds = %6882
  br label %6884

6884:                                             ; preds = %6883, %6824
  br label %6885

6885:                                             ; preds = %6884
  br label %6886

6886:                                             ; preds = %6885
  %6887 = load ptr, ptr %115, align 8, !tbaa !9
  %6888 = getelementptr inbounds %struct.s2n_connection, ptr %6887, i32 0, i32 27
  %6889 = load ptr, ptr %6888, align 8, !tbaa !15
  %6890 = getelementptr inbounds %struct.s2n_crypto_parameters, ptr %6889, i32 0, i32 0
  store ptr @s2n_tls13_aes_128_gcm_sha256, ptr %6890, align 8, !tbaa !42
  br label %6891

6891:                                             ; preds = %6886
  %6892 = load i32, ptr @test_count, align 4, !tbaa !5
  %6893 = add nsw i32 %6892, 1
  store i32 %6893, ptr @test_count, align 4, !tbaa !5
  %6894 = load ptr, ptr %115, align 8, !tbaa !9
  %6895 = load ptr, ptr %17, align 8, !tbaa !9
  %6896 = call i32 @s2n_connection_set_config(ptr noundef %6894, ptr noundef %6895)
  %6897 = icmp eq i32 %6896, -1
  br i1 %6897, label %6898, label %6951

6898:                                             ; preds = %6891
  br label %6899

6899:                                             ; preds = %6898
  br label %6900

6900:                                             ; preds = %6899
  call void @llvm.lifetime.start.p0(i64 4, ptr %120) #8
  %6901 = call ptr @__errno_location() #9
  %6902 = load i32, ptr %6901, align 4, !tbaa !5
  store i32 %6902, ptr %120, align 4, !tbaa !5
  %6903 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6904 = call i32 @s2n_print_stacktrace(ptr noundef %6903)
  %6905 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6906 = trunc i8 %6905 to i1
  br i1 %6906, label %6907, label %6929

6907:                                             ; preds = %6900
  %6908 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6909 = call i32 @fileno(ptr noundef %6908) #8
  %6910 = call i32 @isatty(i32 noundef %6909) #8
  %6911 = icmp ne i32 %6910, 0
  br i1 %6911, label %6912, label %6929

6912:                                             ; preds = %6907
  %6913 = load i32, ptr %120, align 4, !tbaa !5
  %6914 = call ptr @__errno_location() #9
  store i32 %6913, ptr %6914, align 4, !tbaa !5
  %6915 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6916 = load i32, ptr @test_count, align 4, !tbaa !5
  %6917 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6918 = load i32, ptr %6917, align 4, !tbaa !5
  %6919 = call ptr @s2n_strerror(i32 noundef %6918, ptr noundef @.str.4)
  %6920 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6921 = load i32, ptr %6920, align 4, !tbaa !5
  %6922 = call ptr @s2n_strerror_debug(i32 noundef %6921, ptr noundef @.str.4)
  %6923 = call ptr @__errno_location() #9
  %6924 = load i32, ptr %6923, align 4, !tbaa !5
  %6925 = call ptr @strerror(i32 noundef %6924) #8
  %6926 = call ptr @__errno_location() #9
  %6927 = load i32, ptr %6926, align 4, !tbaa !5
  %6928 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6915, ptr noundef @.str.2, i32 noundef %6916, ptr noundef @.str.44, ptr noundef @.str.1, i32 noundef 198, ptr noundef %6919, ptr noundef %6922, ptr noundef %6925, i32 noundef %6927) #8
  br label %6946

6929:                                             ; preds = %6907, %6900
  %6930 = load i32, ptr %120, align 4, !tbaa !5
  %6931 = call ptr @__errno_location() #9
  store i32 %6930, ptr %6931, align 4, !tbaa !5
  %6932 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6933 = load i32, ptr @test_count, align 4, !tbaa !5
  %6934 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6935 = load i32, ptr %6934, align 4, !tbaa !5
  %6936 = call ptr @s2n_strerror(i32 noundef %6935, ptr noundef @.str.4)
  %6937 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6938 = load i32, ptr %6937, align 4, !tbaa !5
  %6939 = call ptr @s2n_strerror_debug(i32 noundef %6938, ptr noundef @.str.4)
  %6940 = call ptr @__errno_location() #9
  %6941 = load i32, ptr %6940, align 4, !tbaa !5
  %6942 = call ptr @strerror(i32 noundef %6941) #8
  %6943 = call ptr @__errno_location() #9
  %6944 = load i32, ptr %6943, align 4, !tbaa !5
  %6945 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6932, ptr noundef @.str.5, i32 noundef %6933, ptr noundef @.str.44, ptr noundef @.str.1, i32 noundef 198, ptr noundef %6936, ptr noundef %6939, ptr noundef %6942, i32 noundef %6944) #8
  br label %6946

6946:                                             ; preds = %6929, %6912
  call void @llvm.lifetime.end.p0(i64 4, ptr %120) #8
  br label %6947

6947:                                             ; preds = %6946
  br label %6948

6948:                                             ; preds = %6947
  call void @exit(i32 noundef 1) #10
  unreachable

6949:                                             ; No predecessors!
  br label %6950

6950:                                             ; preds = %6949
  br label %6951

6951:                                             ; preds = %6950, %6891
  br label %6952

6952:                                             ; preds = %6951
  br label %6953

6953:                                             ; preds = %6952
  br label %6954

6954:                                             ; preds = %6953
  %6955 = load i32, ptr @test_count, align 4, !tbaa !5
  %6956 = add nsw i32 %6955, 1
  store i32 %6956, ptr @test_count, align 4, !tbaa !5
  %6957 = load ptr, ptr %115, align 8, !tbaa !9
  %6958 = call i32 @s2n_is_sig_scheme_valid_for_auth(ptr noundef %6957, ptr noundef @s2n_ecdsa_sha384)
  %6959 = icmp eq i32 %6958, -1
  br i1 %6959, label %6960, label %7013

6960:                                             ; preds = %6954
  br label %6961

6961:                                             ; preds = %6960
  br label %6962

6962:                                             ; preds = %6961
  call void @llvm.lifetime.start.p0(i64 4, ptr %121) #8
  %6963 = call ptr @__errno_location() #9
  %6964 = load i32, ptr %6963, align 4, !tbaa !5
  store i32 %6964, ptr %121, align 4, !tbaa !5
  %6965 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6966 = call i32 @s2n_print_stacktrace(ptr noundef %6965)
  %6967 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6968 = trunc i8 %6967 to i1
  br i1 %6968, label %6969, label %6991

6969:                                             ; preds = %6962
  %6970 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6971 = call i32 @fileno(ptr noundef %6970) #8
  %6972 = call i32 @isatty(i32 noundef %6971) #8
  %6973 = icmp ne i32 %6972, 0
  br i1 %6973, label %6974, label %6991

6974:                                             ; preds = %6969
  %6975 = load i32, ptr %121, align 4, !tbaa !5
  %6976 = call ptr @__errno_location() #9
  store i32 %6975, ptr %6976, align 4, !tbaa !5
  %6977 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6978 = load i32, ptr @test_count, align 4, !tbaa !5
  %6979 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6980 = load i32, ptr %6979, align 4, !tbaa !5
  %6981 = call ptr @s2n_strerror(i32 noundef %6980, ptr noundef @.str.4)
  %6982 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6983 = load i32, ptr %6982, align 4, !tbaa !5
  %6984 = call ptr @s2n_strerror_debug(i32 noundef %6983, ptr noundef @.str.4)
  %6985 = call ptr @__errno_location() #9
  %6986 = load i32, ptr %6985, align 4, !tbaa !5
  %6987 = call ptr @strerror(i32 noundef %6986) #8
  %6988 = call ptr @__errno_location() #9
  %6989 = load i32, ptr %6988, align 4, !tbaa !5
  %6990 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6977, ptr noundef @.str.2, i32 noundef %6978, ptr noundef @.str.45, ptr noundef @.str.1, i32 noundef 199, ptr noundef %6981, ptr noundef %6984, ptr noundef %6987, i32 noundef %6989) #8
  br label %7008

6991:                                             ; preds = %6969, %6962
  %6992 = load i32, ptr %121, align 4, !tbaa !5
  %6993 = call ptr @__errno_location() #9
  store i32 %6992, ptr %6993, align 4, !tbaa !5
  %6994 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6995 = load i32, ptr @test_count, align 4, !tbaa !5
  %6996 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6997 = load i32, ptr %6996, align 4, !tbaa !5
  %6998 = call ptr @s2n_strerror(i32 noundef %6997, ptr noundef @.str.4)
  %6999 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7000 = load i32, ptr %6999, align 4, !tbaa !5
  %7001 = call ptr @s2n_strerror_debug(i32 noundef %7000, ptr noundef @.str.4)
  %7002 = call ptr @__errno_location() #9
  %7003 = load i32, ptr %7002, align 4, !tbaa !5
  %7004 = call ptr @strerror(i32 noundef %7003) #8
  %7005 = call ptr @__errno_location() #9
  %7006 = load i32, ptr %7005, align 4, !tbaa !5
  %7007 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6994, ptr noundef @.str.5, i32 noundef %6995, ptr noundef @.str.45, ptr noundef @.str.1, i32 noundef 199, ptr noundef %6998, ptr noundef %7001, ptr noundef %7004, i32 noundef %7006) #8
  br label %7008

7008:                                             ; preds = %6991, %6974
  call void @llvm.lifetime.end.p0(i64 4, ptr %121) #8
  br label %7009

7009:                                             ; preds = %7008
  br label %7010

7010:                                             ; preds = %7009
  call void @exit(i32 noundef 1) #10
  unreachable

7011:                                             ; No predecessors!
  br label %7012

7012:                                             ; preds = %7011
  br label %7013

7013:                                             ; preds = %7012, %6954
  br label %7014

7014:                                             ; preds = %7013
  br label %7015

7015:                                             ; preds = %7014
  br label %7016

7016:                                             ; preds = %7015
  br label %7017

7017:                                             ; preds = %7016
  %7018 = load i32, ptr @test_count, align 4, !tbaa !5
  %7019 = add nsw i32 %7018, 1
  store i32 %7019, ptr @test_count, align 4, !tbaa !5
  %7020 = load ptr, ptr %115, align 8, !tbaa !9
  %7021 = call i32 @s2n_is_sig_scheme_valid_for_auth(ptr noundef %7020, ptr noundef @s2n_ecdsa_sha256)
  %7022 = icmp eq i32 %7021, -1
  br i1 %7022, label %7076, label %7023

7023:                                             ; preds = %7017
  br label %7024

7024:                                             ; preds = %7023
  br label %7025

7025:                                             ; preds = %7024
  call void @llvm.lifetime.start.p0(i64 4, ptr %122) #8
  %7026 = call ptr @__errno_location() #9
  %7027 = load i32, ptr %7026, align 4, !tbaa !5
  store i32 %7027, ptr %122, align 4, !tbaa !5
  %7028 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7029 = call i32 @s2n_print_stacktrace(ptr noundef %7028)
  %7030 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7031 = trunc i8 %7030 to i1
  br i1 %7031, label %7032, label %7054

7032:                                             ; preds = %7025
  %7033 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7034 = call i32 @fileno(ptr noundef %7033) #8
  %7035 = call i32 @isatty(i32 noundef %7034) #8
  %7036 = icmp ne i32 %7035, 0
  br i1 %7036, label %7037, label %7054

7037:                                             ; preds = %7032
  %7038 = load i32, ptr %122, align 4, !tbaa !5
  %7039 = call ptr @__errno_location() #9
  store i32 %7038, ptr %7039, align 4, !tbaa !5
  %7040 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7041 = load i32, ptr @test_count, align 4, !tbaa !5
  %7042 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7043 = load i32, ptr %7042, align 4, !tbaa !5
  %7044 = call ptr @s2n_strerror(i32 noundef %7043, ptr noundef @.str.4)
  %7045 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7046 = load i32, ptr %7045, align 4, !tbaa !5
  %7047 = call ptr @s2n_strerror_debug(i32 noundef %7046, ptr noundef @.str.4)
  %7048 = call ptr @__errno_location() #9
  %7049 = load i32, ptr %7048, align 4, !tbaa !5
  %7050 = call ptr @strerror(i32 noundef %7049) #8
  %7051 = call ptr @__errno_location() #9
  %7052 = load i32, ptr %7051, align 4, !tbaa !5
  %7053 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7040, ptr noundef @.str.2, i32 noundef %7041, ptr noundef @.str.46, ptr noundef @.str.1, i32 noundef 200, ptr noundef %7044, ptr noundef %7047, ptr noundef %7050, i32 noundef %7052) #8
  br label %7071

7054:                                             ; preds = %7032, %7025
  %7055 = load i32, ptr %122, align 4, !tbaa !5
  %7056 = call ptr @__errno_location() #9
  store i32 %7055, ptr %7056, align 4, !tbaa !5
  %7057 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7058 = load i32, ptr @test_count, align 4, !tbaa !5
  %7059 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7060 = load i32, ptr %7059, align 4, !tbaa !5
  %7061 = call ptr @s2n_strerror(i32 noundef %7060, ptr noundef @.str.4)
  %7062 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7063 = load i32, ptr %7062, align 4, !tbaa !5
  %7064 = call ptr @s2n_strerror_debug(i32 noundef %7063, ptr noundef @.str.4)
  %7065 = call ptr @__errno_location() #9
  %7066 = load i32, ptr %7065, align 4, !tbaa !5
  %7067 = call ptr @strerror(i32 noundef %7066) #8
  %7068 = call ptr @__errno_location() #9
  %7069 = load i32, ptr %7068, align 4, !tbaa !5
  %7070 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7057, ptr noundef @.str.5, i32 noundef %7058, ptr noundef @.str.46, ptr noundef @.str.1, i32 noundef 200, ptr noundef %7061, ptr noundef %7064, ptr noundef %7067, i32 noundef %7069) #8
  br label %7071

7071:                                             ; preds = %7054, %7037
  call void @llvm.lifetime.end.p0(i64 4, ptr %122) #8
  br label %7072

7072:                                             ; preds = %7071
  br label %7073

7073:                                             ; preds = %7072
  call void @exit(i32 noundef 1) #10
  unreachable

7074:                                             ; No predecessors!
  br label %7075

7075:                                             ; preds = %7074
  br label %7076

7076:                                             ; preds = %7075, %7017
  br label %7077

7077:                                             ; preds = %7076
  br label %7078

7078:                                             ; preds = %7077
  br label %7079

7079:                                             ; preds = %7078
  %7080 = load i32, ptr @test_count, align 4, !tbaa !5
  %7081 = add nsw i32 %7080, 1
  store i32 %7081, ptr @test_count, align 4, !tbaa !5
  %7082 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7083 = load i32, ptr %7082, align 4, !tbaa !5
  %7084 = icmp eq i32 %7083, 0
  br i1 %7084, label %7085, label %7138

7085:                                             ; preds = %7079
  br label %7086

7086:                                             ; preds = %7085
  br label %7087

7087:                                             ; preds = %7086
  call void @llvm.lifetime.start.p0(i64 4, ptr %123) #8
  %7088 = call ptr @__errno_location() #9
  %7089 = load i32, ptr %7088, align 4, !tbaa !5
  store i32 %7089, ptr %123, align 4, !tbaa !5
  %7090 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7091 = call i32 @s2n_print_stacktrace(ptr noundef %7090)
  %7092 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7093 = trunc i8 %7092 to i1
  br i1 %7093, label %7094, label %7116

7094:                                             ; preds = %7087
  %7095 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7096 = call i32 @fileno(ptr noundef %7095) #8
  %7097 = call i32 @isatty(i32 noundef %7096) #8
  %7098 = icmp ne i32 %7097, 0
  br i1 %7098, label %7099, label %7116

7099:                                             ; preds = %7094
  %7100 = load i32, ptr %123, align 4, !tbaa !5
  %7101 = call ptr @__errno_location() #9
  store i32 %7100, ptr %7101, align 4, !tbaa !5
  %7102 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7103 = load i32, ptr @test_count, align 4, !tbaa !5
  %7104 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7105 = load i32, ptr %7104, align 4, !tbaa !5
  %7106 = call ptr @s2n_strerror(i32 noundef %7105, ptr noundef @.str.4)
  %7107 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7108 = load i32, ptr %7107, align 4, !tbaa !5
  %7109 = call ptr @s2n_strerror_debug(i32 noundef %7108, ptr noundef @.str.4)
  %7110 = call ptr @__errno_location() #9
  %7111 = load i32, ptr %7110, align 4, !tbaa !5
  %7112 = call ptr @strerror(i32 noundef %7111) #8
  %7113 = call ptr @__errno_location() #9
  %7114 = load i32, ptr %7113, align 4, !tbaa !5
  %7115 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7102, ptr noundef @.str.2, i32 noundef %7103, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 200, ptr noundef %7106, ptr noundef %7109, ptr noundef %7112, i32 noundef %7114) #8
  br label %7133

7116:                                             ; preds = %7094, %7087
  %7117 = load i32, ptr %123, align 4, !tbaa !5
  %7118 = call ptr @__errno_location() #9
  store i32 %7117, ptr %7118, align 4, !tbaa !5
  %7119 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7120 = load i32, ptr @test_count, align 4, !tbaa !5
  %7121 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7122 = load i32, ptr %7121, align 4, !tbaa !5
  %7123 = call ptr @s2n_strerror(i32 noundef %7122, ptr noundef @.str.4)
  %7124 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7125 = load i32, ptr %7124, align 4, !tbaa !5
  %7126 = call ptr @s2n_strerror_debug(i32 noundef %7125, ptr noundef @.str.4)
  %7127 = call ptr @__errno_location() #9
  %7128 = load i32, ptr %7127, align 4, !tbaa !5
  %7129 = call ptr @strerror(i32 noundef %7128) #8
  %7130 = call ptr @__errno_location() #9
  %7131 = load i32, ptr %7130, align 4, !tbaa !5
  %7132 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7119, ptr noundef @.str.5, i32 noundef %7120, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 200, ptr noundef %7123, ptr noundef %7126, ptr noundef %7129, i32 noundef %7131) #8
  br label %7133

7133:                                             ; preds = %7116, %7099
  call void @llvm.lifetime.end.p0(i64 4, ptr %123) #8
  br label %7134

7134:                                             ; preds = %7133
  br label %7135

7135:                                             ; preds = %7134
  call void @exit(i32 noundef 1) #10
  unreachable

7136:                                             ; No predecessors!
  br label %7137

7137:                                             ; preds = %7136
  br label %7138

7138:                                             ; preds = %7137, %7079
  br label %7139

7139:                                             ; preds = %7138
  br label %7140

7140:                                             ; preds = %7139
  br label %7141

7141:                                             ; preds = %7140
  %7142 = load i32, ptr @test_count, align 4, !tbaa !5
  %7143 = add nsw i32 %7142, 1
  store i32 %7143, 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_debug(i32 noundef %7145, ptr noundef @.str.4)
  %7147 = icmp eq ptr %7146, null
  br i1 %7147, label %7148, label %7201

7148:                                             ; preds = %7141
  br label %7149

7149:                                             ; preds = %7148
  br label %7150

7150:                                             ; preds = %7149
  call void @llvm.lifetime.start.p0(i64 4, ptr %124) #8
  %7151 = call ptr @__errno_location() #9
  %7152 = load i32, ptr %7151, align 4, !tbaa !5
  store i32 %7152, ptr %124, align 4, !tbaa !5
  %7153 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7154 = call i32 @s2n_print_stacktrace(ptr noundef %7153)
  %7155 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7156 = trunc i8 %7155 to i1
  br i1 %7156, label %7157, label %7179

7157:                                             ; preds = %7150
  %7158 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7159 = call i32 @fileno(ptr noundef %7158) #8
  %7160 = call i32 @isatty(i32 noundef %7159) #8
  %7161 = icmp ne i32 %7160, 0
  br i1 %7161, label %7162, label %7179

7162:                                             ; preds = %7157
  %7163 = load i32, ptr %124, align 4, !tbaa !5
  %7164 = call ptr @__errno_location() #9
  store i32 %7163, ptr %7164, align 4, !tbaa !5
  %7165 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7166 = load i32, ptr @test_count, align 4, !tbaa !5
  %7167 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7168 = load i32, ptr %7167, align 4, !tbaa !5
  %7169 = call ptr @s2n_strerror(i32 noundef %7168, ptr noundef @.str.4)
  %7170 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7171 = load i32, ptr %7170, align 4, !tbaa !5
  %7172 = call ptr @s2n_strerror_debug(i32 noundef %7171, ptr noundef @.str.4)
  %7173 = call ptr @__errno_location() #9
  %7174 = load i32, ptr %7173, align 4, !tbaa !5
  %7175 = call ptr @strerror(i32 noundef %7174) #8
  %7176 = call ptr @__errno_location() #9
  %7177 = load i32, ptr %7176, align 4, !tbaa !5
  %7178 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7165, ptr noundef @.str.2, i32 noundef %7166, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 200, ptr noundef %7169, ptr noundef %7172, ptr noundef %7175, i32 noundef %7177) #8
  br label %7196

7179:                                             ; preds = %7157, %7150
  %7180 = load i32, ptr %124, align 4, !tbaa !5
  %7181 = call ptr @__errno_location() #9
  store i32 %7180, ptr %7181, align 4, !tbaa !5
  %7182 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7183 = load i32, ptr @test_count, align 4, !tbaa !5
  %7184 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7185 = load i32, ptr %7184, align 4, !tbaa !5
  %7186 = call ptr @s2n_strerror(i32 noundef %7185, ptr noundef @.str.4)
  %7187 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7188 = load i32, ptr %7187, align 4, !tbaa !5
  %7189 = call ptr @s2n_strerror_debug(i32 noundef %7188, ptr noundef @.str.4)
  %7190 = call ptr @__errno_location() #9
  %7191 = load i32, ptr %7190, align 4, !tbaa !5
  %7192 = call ptr @strerror(i32 noundef %7191) #8
  %7193 = call ptr @__errno_location() #9
  %7194 = load i32, ptr %7193, align 4, !tbaa !5
  %7195 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7182, ptr noundef @.str.5, i32 noundef %7183, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 200, ptr noundef %7186, ptr noundef %7189, ptr noundef %7192, i32 noundef %7194) #8
  br label %7196

7196:                                             ; preds = %7179, %7162
  call void @llvm.lifetime.end.p0(i64 4, ptr %124) #8
  br label %7197

7197:                                             ; preds = %7196
  br label %7198

7198:                                             ; preds = %7197
  call void @exit(i32 noundef 1) #10
  unreachable

7199:                                             ; No predecessors!
  br label %7200

7200:                                             ; preds = %7199
  br label %7201

7201:                                             ; preds = %7200, %7141
  br label %7202

7202:                                             ; preds = %7201
  br label %7203

7203:                                             ; preds = %7202
  br label %7204

7204:                                             ; preds = %7203
  %7205 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %7205, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %7206 = call ptr @__errno_location() #9
  store i32 0, ptr %7206, align 4, !tbaa !5
  br label %7207

7207:                                             ; preds = %7204
  br label %7208

7208:                                             ; preds = %7207
  br label %7209

7209:                                             ; preds = %7208
  br label %7210

7210:                                             ; preds = %7209
  br label %7211

7211:                                             ; preds = %7210
  %7212 = load i32, ptr @test_count, align 4, !tbaa !5
  %7213 = add nsw i32 %7212, 1
  store i32 %7213, ptr @test_count, align 4, !tbaa !5
  %7214 = load ptr, ptr %115, align 8, !tbaa !9
  %7215 = load ptr, ptr %118, align 8, !tbaa !9
  %7216 = call i32 @s2n_connection_set_config(ptr noundef %7214, ptr noundef %7215)
  %7217 = icmp eq i32 %7216, -1
  br i1 %7217, label %7218, label %7271

7218:                                             ; preds = %7211
  br label %7219

7219:                                             ; preds = %7218
  br label %7220

7220:                                             ; preds = %7219
  call void @llvm.lifetime.start.p0(i64 4, ptr %125) #8
  %7221 = call ptr @__errno_location() #9
  %7222 = load i32, ptr %7221, align 4, !tbaa !5
  store i32 %7222, ptr %125, align 4, !tbaa !5
  %7223 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7224 = call i32 @s2n_print_stacktrace(ptr noundef %7223)
  %7225 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7226 = trunc i8 %7225 to i1
  br i1 %7226, label %7227, label %7249

7227:                                             ; preds = %7220
  %7228 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7229 = call i32 @fileno(ptr noundef %7228) #8
  %7230 = call i32 @isatty(i32 noundef %7229) #8
  %7231 = icmp ne i32 %7230, 0
  br i1 %7231, label %7232, label %7249

7232:                                             ; preds = %7227
  %7233 = load i32, ptr %125, align 4, !tbaa !5
  %7234 = call ptr @__errno_location() #9
  store i32 %7233, ptr %7234, align 4, !tbaa !5
  %7235 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7236 = load i32, ptr @test_count, align 4, !tbaa !5
  %7237 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7238 = load i32, ptr %7237, align 4, !tbaa !5
  %7239 = call ptr @s2n_strerror(i32 noundef %7238, ptr noundef @.str.4)
  %7240 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7241 = load i32, ptr %7240, align 4, !tbaa !5
  %7242 = call ptr @s2n_strerror_debug(i32 noundef %7241, ptr noundef @.str.4)
  %7243 = call ptr @__errno_location() #9
  %7244 = load i32, ptr %7243, align 4, !tbaa !5
  %7245 = call ptr @strerror(i32 noundef %7244) #8
  %7246 = call ptr @__errno_location() #9
  %7247 = load i32, ptr %7246, align 4, !tbaa !5
  %7248 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7235, ptr noundef @.str.2, i32 noundef %7236, ptr noundef @.str.47, ptr noundef @.str.1, i32 noundef 202, ptr noundef %7239, ptr noundef %7242, ptr noundef %7245, i32 noundef %7247) #8
  br label %7266

7249:                                             ; preds = %7227, %7220
  %7250 = load i32, ptr %125, align 4, !tbaa !5
  %7251 = call ptr @__errno_location() #9
  store i32 %7250, ptr %7251, align 4, !tbaa !5
  %7252 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7253 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %7255, ptr noundef @.str.4)
  %7257 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7258 = load i32, ptr %7257, align 4, !tbaa !5
  %7259 = call ptr @s2n_strerror_debug(i32 noundef %7258, ptr noundef @.str.4)
  %7260 = call ptr @__errno_location() #9
  %7261 = load i32, ptr %7260, align 4, !tbaa !5
  %7262 = call ptr @strerror(i32 noundef %7261) #8
  %7263 = call ptr @__errno_location() #9
  %7264 = load i32, ptr %7263, align 4, !tbaa !5
  %7265 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7252, ptr noundef @.str.5, i32 noundef %7253, ptr noundef @.str.47, ptr noundef @.str.1, i32 noundef 202, ptr noundef %7256, ptr noundef %7259, ptr noundef %7262, i32 noundef %7264) #8
  br label %7266

7266:                                             ; preds = %7249, %7232
  call void @llvm.lifetime.end.p0(i64 4, ptr %125) #8
  br label %7267

7267:                                             ; preds = %7266
  br label %7268

7268:                                             ; preds = %7267
  call void @exit(i32 noundef 1) #10
  unreachable

7269:                                             ; No predecessors!
  br label %7270

7270:                                             ; preds = %7269
  br label %7271

7271:                                             ; preds = %7270, %7211
  br label %7272

7272:                                             ; preds = %7271
  br label %7273

7273:                                             ; preds = %7272
  br label %7274

7274:                                             ; preds = %7273
  br label %7275

7275:                                             ; preds = %7274
  %7276 = load i32, ptr @test_count, align 4, !tbaa !5
  %7277 = add nsw i32 %7276, 1
  store i32 %7277, ptr @test_count, align 4, !tbaa !5
  %7278 = load ptr, ptr %115, align 8, !tbaa !9
  %7279 = call i32 @s2n_is_sig_scheme_valid_for_auth(ptr noundef %7278, ptr noundef @s2n_ecdsa_sha384)
  %7280 = icmp eq i32 %7279, -1
  br i1 %7280, label %7334, label %7281

7281:                                             ; preds = %7275
  br label %7282

7282:                                             ; preds = %7281
  br label %7283

7283:                                             ; preds = %7282
  call void @llvm.lifetime.start.p0(i64 4, ptr %126) #8
  %7284 = call ptr @__errno_location() #9
  %7285 = load i32, ptr %7284, align 4, !tbaa !5
  store i32 %7285, ptr %126, align 4, !tbaa !5
  %7286 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7287 = call i32 @s2n_print_stacktrace(ptr noundef %7286)
  %7288 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7289 = trunc i8 %7288 to i1
  br i1 %7289, label %7290, label %7312

7290:                                             ; preds = %7283
  %7291 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7292 = call i32 @fileno(ptr noundef %7291) #8
  %7293 = call i32 @isatty(i32 noundef %7292) #8
  %7294 = icmp ne i32 %7293, 0
  br i1 %7294, label %7295, label %7312

7295:                                             ; preds = %7290
  %7296 = load i32, ptr %126, align 4, !tbaa !5
  %7297 = call ptr @__errno_location() #9
  store i32 %7296, ptr %7297, align 4, !tbaa !5
  %7298 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7299 = load i32, ptr @test_count, align 4, !tbaa !5
  %7300 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7301 = load i32, ptr %7300, align 4, !tbaa !5
  %7302 = call ptr @s2n_strerror(i32 noundef %7301, ptr noundef @.str.4)
  %7303 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7304 = load i32, ptr %7303, align 4, !tbaa !5
  %7305 = call ptr @s2n_strerror_debug(i32 noundef %7304, ptr noundef @.str.4)
  %7306 = call ptr @__errno_location() #9
  %7307 = load i32, ptr %7306, align 4, !tbaa !5
  %7308 = call ptr @strerror(i32 noundef %7307) #8
  %7309 = call ptr @__errno_location() #9
  %7310 = load i32, ptr %7309, align 4, !tbaa !5
  %7311 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7298, ptr noundef @.str.2, i32 noundef %7299, ptr noundef @.str.48, ptr noundef @.str.1, i32 noundef 203, ptr noundef %7302, ptr noundef %7305, ptr noundef %7308, i32 noundef %7310) #8
  br label %7329

7312:                                             ; preds = %7290, %7283
  %7313 = load i32, ptr %126, align 4, !tbaa !5
  %7314 = call ptr @__errno_location() #9
  store i32 %7313, ptr %7314, align 4, !tbaa !5
  %7315 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7316 = load i32, ptr @test_count, align 4, !tbaa !5
  %7317 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7318 = load i32, ptr %7317, align 4, !tbaa !5
  %7319 = call ptr @s2n_strerror(i32 noundef %7318, ptr noundef @.str.4)
  %7320 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7321 = load i32, ptr %7320, align 4, !tbaa !5
  %7322 = call ptr @s2n_strerror_debug(i32 noundef %7321, ptr noundef @.str.4)
  %7323 = call ptr @__errno_location() #9
  %7324 = load i32, ptr %7323, align 4, !tbaa !5
  %7325 = call ptr @strerror(i32 noundef %7324) #8
  %7326 = call ptr @__errno_location() #9
  %7327 = load i32, ptr %7326, align 4, !tbaa !5
  %7328 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7315, ptr noundef @.str.5, i32 noundef %7316, ptr noundef @.str.48, ptr noundef @.str.1, i32 noundef 203, ptr noundef %7319, ptr noundef %7322, ptr noundef %7325, i32 noundef %7327) #8
  br label %7329

7329:                                             ; preds = %7312, %7295
  call void @llvm.lifetime.end.p0(i64 4, ptr %126) #8
  br label %7330

7330:                                             ; preds = %7329
  br label %7331

7331:                                             ; preds = %7330
  call void @exit(i32 noundef 1) #10
  unreachable

7332:                                             ; No predecessors!
  br label %7333

7333:                                             ; preds = %7332
  br label %7334

7334:                                             ; preds = %7333, %7275
  br label %7335

7335:                                             ; preds = %7334
  br label %7336

7336:                                             ; preds = %7335
  br label %7337

7337:                                             ; preds = %7336
  %7338 = load i32, ptr @test_count, align 4, !tbaa !5
  %7339 = add nsw i32 %7338, 1
  store i32 %7339, ptr @test_count, align 4, !tbaa !5
  %7340 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7341 = load i32, ptr %7340, align 4, !tbaa !5
  %7342 = icmp eq i32 %7341, 0
  br i1 %7342, label %7343, label %7396

7343:                                             ; preds = %7337
  br label %7344

7344:                                             ; preds = %7343
  br label %7345

7345:                                             ; preds = %7344
  call void @llvm.lifetime.start.p0(i64 4, ptr %127) #8
  %7346 = call ptr @__errno_location() #9
  %7347 = load i32, ptr %7346, align 4, !tbaa !5
  store i32 %7347, ptr %127, align 4, !tbaa !5
  %7348 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7349 = call i32 @s2n_print_stacktrace(ptr noundef %7348)
  %7350 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7351 = trunc i8 %7350 to i1
  br i1 %7351, label %7352, label %7374

7352:                                             ; preds = %7345
  %7353 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7354 = call i32 @fileno(ptr noundef %7353) #8
  %7355 = call i32 @isatty(i32 noundef %7354) #8
  %7356 = icmp ne i32 %7355, 0
  br i1 %7356, label %7357, label %7374

7357:                                             ; preds = %7352
  %7358 = load i32, ptr %127, align 4, !tbaa !5
  %7359 = call ptr @__errno_location() #9
  store i32 %7358, ptr %7359, align 4, !tbaa !5
  %7360 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7361 = load i32, ptr @test_count, align 4, !tbaa !5
  %7362 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7363 = load i32, ptr %7362, align 4, !tbaa !5
  %7364 = call ptr @s2n_strerror(i32 noundef %7363, ptr noundef @.str.4)
  %7365 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7366 = load i32, ptr %7365, align 4, !tbaa !5
  %7367 = call ptr @s2n_strerror_debug(i32 noundef %7366, ptr noundef @.str.4)
  %7368 = call ptr @__errno_location() #9
  %7369 = load i32, ptr %7368, align 4, !tbaa !5
  %7370 = call ptr @strerror(i32 noundef %7369) #8
  %7371 = call ptr @__errno_location() #9
  %7372 = load i32, ptr %7371, align 4, !tbaa !5
  %7373 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7360, ptr noundef @.str.2, i32 noundef %7361, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 203, ptr noundef %7364, ptr noundef %7367, ptr noundef %7370, i32 noundef %7372) #8
  br label %7391

7374:                                             ; preds = %7352, %7345
  %7375 = load i32, ptr %127, align 4, !tbaa !5
  %7376 = call ptr @__errno_location() #9
  store i32 %7375, ptr %7376, align 4, !tbaa !5
  %7377 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7378 = load i32, ptr @test_count, align 4, !tbaa !5
  %7379 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7380 = load i32, ptr %7379, align 4, !tbaa !5
  %7381 = call ptr @s2n_strerror(i32 noundef %7380, ptr noundef @.str.4)
  %7382 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7383 = load i32, ptr %7382, align 4, !tbaa !5
  %7384 = call ptr @s2n_strerror_debug(i32 noundef %7383, ptr noundef @.str.4)
  %7385 = call ptr @__errno_location() #9
  %7386 = load i32, ptr %7385, align 4, !tbaa !5
  %7387 = call ptr @strerror(i32 noundef %7386) #8
  %7388 = call ptr @__errno_location() #9
  %7389 = load i32, ptr %7388, align 4, !tbaa !5
  %7390 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7377, ptr noundef @.str.5, i32 noundef %7378, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 203, ptr noundef %7381, ptr noundef %7384, ptr noundef %7387, i32 noundef %7389) #8
  br label %7391

7391:                                             ; preds = %7374, %7357
  call void @llvm.lifetime.end.p0(i64 4, ptr %127) #8
  br label %7392

7392:                                             ; preds = %7391
  br label %7393

7393:                                             ; preds = %7392
  call void @exit(i32 noundef 1) #10
  unreachable

7394:                                             ; No predecessors!
  br label %7395

7395:                                             ; preds = %7394
  br label %7396

7396:                                             ; preds = %7395, %7337
  br label %7397

7397:                                             ; preds = %7396
  br label %7398

7398:                                             ; preds = %7397
  br label %7399

7399:                                             ; preds = %7398
  %7400 = load i32, ptr @test_count, align 4, !tbaa !5
  %7401 = add nsw i32 %7400, 1
  store i32 %7401, ptr @test_count, align 4, !tbaa !5
  %7402 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7403 = load i32, ptr %7402, align 4, !tbaa !5
  %7404 = call ptr @s2n_strerror_debug(i32 noundef %7403, ptr noundef @.str.4)
  %7405 = icmp eq ptr %7404, null
  br i1 %7405, label %7406, label %7459

7406:                                             ; preds = %7399
  br label %7407

7407:                                             ; preds = %7406
  br label %7408

7408:                                             ; preds = %7407
  call void @llvm.lifetime.start.p0(i64 4, ptr %128) #8
  %7409 = call ptr @__errno_location() #9
  %7410 = load i32, ptr %7409, align 4, !tbaa !5
  store i32 %7410, ptr %128, align 4, !tbaa !5
  %7411 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7412 = call i32 @s2n_print_stacktrace(ptr noundef %7411)
  %7413 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7414 = trunc i8 %7413 to i1
  br i1 %7414, label %7415, label %7437

7415:                                             ; preds = %7408
  %7416 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7417 = call i32 @fileno(ptr noundef %7416) #8
  %7418 = call i32 @isatty(i32 noundef %7417) #8
  %7419 = icmp ne i32 %7418, 0
  br i1 %7419, label %7420, label %7437

7420:                                             ; preds = %7415
  %7421 = load i32, ptr %128, align 4, !tbaa !5
  %7422 = call ptr @__errno_location() #9
  store i32 %7421, ptr %7422, align 4, !tbaa !5
  %7423 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7424 = load i32, ptr @test_count, align 4, !tbaa !5
  %7425 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7426 = load i32, ptr %7425, align 4, !tbaa !5
  %7427 = call ptr @s2n_strerror(i32 noundef %7426, ptr noundef @.str.4)
  %7428 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7429 = load i32, ptr %7428, align 4, !tbaa !5
  %7430 = call ptr @s2n_strerror_debug(i32 noundef %7429, ptr noundef @.str.4)
  %7431 = call ptr @__errno_location() #9
  %7432 = load i32, ptr %7431, align 4, !tbaa !5
  %7433 = call ptr @strerror(i32 noundef %7432) #8
  %7434 = call ptr @__errno_location() #9
  %7435 = load i32, ptr %7434, align 4, !tbaa !5
  %7436 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7423, ptr noundef @.str.2, i32 noundef %7424, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 203, ptr noundef %7427, ptr noundef %7430, ptr noundef %7433, i32 noundef %7435) #8
  br label %7454

7437:                                             ; preds = %7415, %7408
  %7438 = load i32, ptr %128, align 4, !tbaa !5
  %7439 = call ptr @__errno_location() #9
  store i32 %7438, ptr %7439, align 4, !tbaa !5
  %7440 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7441 = load i32, ptr @test_count, align 4, !tbaa !5
  %7442 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7443 = load i32, ptr %7442, align 4, !tbaa !5
  %7444 = call ptr @s2n_strerror(i32 noundef %7443, ptr noundef @.str.4)
  %7445 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7446 = load i32, ptr %7445, align 4, !tbaa !5
  %7447 = call ptr @s2n_strerror_debug(i32 noundef %7446, ptr noundef @.str.4)
  %7448 = call ptr @__errno_location() #9
  %7449 = load i32, ptr %7448, align 4, !tbaa !5
  %7450 = call ptr @strerror(i32 noundef %7449) #8
  %7451 = call ptr @__errno_location() #9
  %7452 = load i32, ptr %7451, align 4, !tbaa !5
  %7453 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7440, ptr noundef @.str.5, i32 noundef %7441, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 203, ptr noundef %7444, ptr noundef %7447, ptr noundef %7450, i32 noundef %7452) #8
  br label %7454

7454:                                             ; preds = %7437, %7420
  call void @llvm.lifetime.end.p0(i64 4, ptr %128) #8
  br label %7455

7455:                                             ; preds = %7454
  br label %7456

7456:                                             ; preds = %7455
  call void @exit(i32 noundef 1) #10
  unreachable

7457:                                             ; No predecessors!
  br label %7458

7458:                                             ; preds = %7457
  br label %7459

7459:                                             ; preds = %7458, %7399
  br label %7460

7460:                                             ; preds = %7459
  br label %7461

7461:                                             ; preds = %7460
  br label %7462

7462:                                             ; preds = %7461
  %7463 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %7463, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %7464 = call ptr @__errno_location() #9
  store i32 0, ptr %7464, align 4, !tbaa !5
  br label %7465

7465:                                             ; preds = %7462
  br label %7466

7466:                                             ; preds = %7465
  br label %7467

7467:                                             ; preds = %7466
  br label %7468

7468:                                             ; preds = %7467
  br label %7469

7469:                                             ; preds = %7468
  %7470 = load i32, ptr @test_count, align 4, !tbaa !5
  %7471 = add nsw i32 %7470, 1
  store i32 %7471, ptr @test_count, align 4, !tbaa !5
  %7472 = load ptr, ptr %115, align 8, !tbaa !9
  %7473 = call i32 @s2n_is_sig_scheme_valid_for_auth(ptr noundef %7472, ptr noundef @s2n_ecdsa_sha256)
  %7474 = icmp eq i32 %7473, -1
  br i1 %7474, label %7475, label %7528

7475:                                             ; preds = %7469
  br label %7476

7476:                                             ; preds = %7475
  br label %7477

7477:                                             ; preds = %7476
  call void @llvm.lifetime.start.p0(i64 4, ptr %129) #8
  %7478 = call ptr @__errno_location() #9
  %7479 = load i32, ptr %7478, align 4, !tbaa !5
  store i32 %7479, ptr %129, align 4, !tbaa !5
  %7480 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7481 = call i32 @s2n_print_stacktrace(ptr noundef %7480)
  %7482 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7483 = trunc i8 %7482 to i1
  br i1 %7483, label %7484, label %7506

7484:                                             ; preds = %7477
  %7485 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7486 = call i32 @fileno(ptr noundef %7485) #8
  %7487 = call i32 @isatty(i32 noundef %7486) #8
  %7488 = icmp ne i32 %7487, 0
  br i1 %7488, label %7489, label %7506

7489:                                             ; preds = %7484
  %7490 = load i32, ptr %129, align 4, !tbaa !5
  %7491 = call ptr @__errno_location() #9
  store i32 %7490, ptr %7491, align 4, !tbaa !5
  %7492 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7493 = load i32, ptr @test_count, align 4, !tbaa !5
  %7494 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7495 = load i32, ptr %7494, align 4, !tbaa !5
  %7496 = call ptr @s2n_strerror(i32 noundef %7495, ptr noundef @.str.4)
  %7497 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7498 = load i32, ptr %7497, align 4, !tbaa !5
  %7499 = call ptr @s2n_strerror_debug(i32 noundef %7498, ptr noundef @.str.4)
  %7500 = call ptr @__errno_location() #9
  %7501 = load i32, ptr %7500, align 4, !tbaa !5
  %7502 = call ptr @strerror(i32 noundef %7501) #8
  %7503 = call ptr @__errno_location() #9
  %7504 = load i32, ptr %7503, align 4, !tbaa !5
  %7505 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7492, ptr noundef @.str.2, i32 noundef %7493, ptr noundef @.str.49, ptr noundef @.str.1, i32 noundef 204, ptr noundef %7496, ptr noundef %7499, ptr noundef %7502, i32 noundef %7504) #8
  br label %7523

7506:                                             ; preds = %7484, %7477
  %7507 = load i32, ptr %129, align 4, !tbaa !5
  %7508 = call ptr @__errno_location() #9
  store i32 %7507, ptr %7508, align 4, !tbaa !5
  %7509 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7510 = load i32, ptr @test_count, align 4, !tbaa !5
  %7511 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7512 = load i32, ptr %7511, align 4, !tbaa !5
  %7513 = call ptr @s2n_strerror(i32 noundef %7512, ptr noundef @.str.4)
  %7514 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7515 = load i32, ptr %7514, align 4, !tbaa !5
  %7516 = call ptr @s2n_strerror_debug(i32 noundef %7515, ptr noundef @.str.4)
  %7517 = call ptr @__errno_location() #9
  %7518 = load i32, ptr %7517, align 4, !tbaa !5
  %7519 = call ptr @strerror(i32 noundef %7518) #8
  %7520 = call ptr @__errno_location() #9
  %7521 = load i32, ptr %7520, align 4, !tbaa !5
  %7522 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7509, ptr noundef @.str.5, i32 noundef %7510, ptr noundef @.str.49, ptr noundef @.str.1, i32 noundef 204, ptr noundef %7513, ptr noundef %7516, ptr noundef %7519, i32 noundef %7521) #8
  br label %7523

7523:                                             ; preds = %7506, %7489
  call void @llvm.lifetime.end.p0(i64 4, ptr %129) #8
  br label %7524

7524:                                             ; preds = %7523
  br label %7525

7525:                                             ; preds = %7524
  call void @exit(i32 noundef 1) #10
  unreachable

7526:                                             ; No predecessors!
  br label %7527

7527:                                             ; preds = %7526
  br label %7528

7528:                                             ; preds = %7527, %7469
  br label %7529

7529:                                             ; preds = %7528
  br label %7530

7530:                                             ; preds = %7529
  br label %7531

7531:                                             ; preds = %7530
  %7532 = load i32, ptr @test_count, align 4, !tbaa !5
  %7533 = add nsw i32 %7532, 1
  store i32 %7533, ptr @test_count, align 4, !tbaa !5
  %7534 = load ptr, ptr %118, align 8, !tbaa !9
  %7535 = call i32 @s2n_config_free(ptr noundef %7534)
  %7536 = icmp eq i32 %7535, -1
  br i1 %7536, label %7537, label %7590

7537:                                             ; preds = %7531
  br label %7538

7538:                                             ; preds = %7537
  br label %7539

7539:                                             ; preds = %7538
  call void @llvm.lifetime.start.p0(i64 4, ptr %130) #8
  %7540 = call ptr @__errno_location() #9
  %7541 = load i32, ptr %7540, align 4, !tbaa !5
  store i32 %7541, ptr %130, align 4, !tbaa !5
  %7542 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7543 = call i32 @s2n_print_stacktrace(ptr noundef %7542)
  %7544 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7545 = trunc i8 %7544 to i1
  br i1 %7545, label %7546, label %7568

7546:                                             ; preds = %7539
  %7547 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7548 = call i32 @fileno(ptr noundef %7547) #8
  %7549 = call i32 @isatty(i32 noundef %7548) #8
  %7550 = icmp ne i32 %7549, 0
  br i1 %7550, label %7551, label %7568

7551:                                             ; preds = %7546
  %7552 = load i32, ptr %130, align 4, !tbaa !5
  %7553 = call ptr @__errno_location() #9
  store i32 %7552, ptr %7553, align 4, !tbaa !5
  %7554 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7555 = load i32, ptr @test_count, align 4, !tbaa !5
  %7556 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7557 = load i32, ptr %7556, align 4, !tbaa !5
  %7558 = call ptr @s2n_strerror(i32 noundef %7557, ptr noundef @.str.4)
  %7559 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7560 = load i32, ptr %7559, align 4, !tbaa !5
  %7561 = call ptr @s2n_strerror_debug(i32 noundef %7560, ptr noundef @.str.4)
  %7562 = call ptr @__errno_location() #9
  %7563 = load i32, ptr %7562, align 4, !tbaa !5
  %7564 = call ptr @strerror(i32 noundef %7563) #8
  %7565 = call ptr @__errno_location() #9
  %7566 = load i32, ptr %7565, align 4, !tbaa !5
  %7567 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7554, ptr noundef @.str.2, i32 noundef %7555, ptr noundef @.str.50, ptr noundef @.str.1, i32 noundef 206, ptr noundef %7558, ptr noundef %7561, ptr noundef %7564, i32 noundef %7566) #8
  br label %7585

7568:                                             ; preds = %7546, %7539
  %7569 = load i32, ptr %130, align 4, !tbaa !5
  %7570 = call ptr @__errno_location() #9
  store i32 %7569, ptr %7570, align 4, !tbaa !5
  %7571 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7572 = load i32, ptr @test_count, align 4, !tbaa !5
  %7573 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7574 = load i32, ptr %7573, align 4, !tbaa !5
  %7575 = call ptr @s2n_strerror(i32 noundef %7574, ptr noundef @.str.4)
  %7576 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7577 = load i32, ptr %7576, align 4, !tbaa !5
  %7578 = call ptr @s2n_strerror_debug(i32 noundef %7577, ptr noundef @.str.4)
  %7579 = call ptr @__errno_location() #9
  %7580 = load i32, ptr %7579, align 4, !tbaa !5
  %7581 = call ptr @strerror(i32 noundef %7580) #8
  %7582 = call ptr @__errno_location() #9
  %7583 = load i32, ptr %7582, align 4, !tbaa !5
  %7584 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7571, ptr noundef @.str.5, i32 noundef %7572, ptr noundef @.str.50, ptr noundef @.str.1, i32 noundef 206, ptr noundef %7575, ptr noundef %7578, ptr noundef %7581, i32 noundef %7583) #8
  br label %7585

7585:                                             ; preds = %7568, %7551
  call void @llvm.lifetime.end.p0(i64 4, ptr %130) #8
  br label %7586

7586:                                             ; preds = %7585
  br label %7587

7587:                                             ; preds = %7586
  call void @exit(i32 noundef 1) #10
  unreachable

7588:                                             ; No predecessors!
  br label %7589

7589:                                             ; preds = %7588
  br label %7590

7590:                                             ; preds = %7589, %7531
  br label %7591

7591:                                             ; preds = %7590
  br label %7592

7592:                                             ; preds = %7591
  br label %7593

7593:                                             ; preds = %7592
  %7594 = load i32, ptr @test_count, align 4, !tbaa !5
  %7595 = add nsw i32 %7594, 1
  store i32 %7595, ptr @test_count, align 4, !tbaa !5
  %7596 = load ptr, ptr %116, align 8, !tbaa !9
  %7597 = call i32 @s2n_cert_chain_and_key_free(ptr noundef %7596)
  %7598 = icmp eq i32 %7597, -1
  br i1 %7598, label %7599, label %7652

7599:                                             ; preds = %7593
  br label %7600

7600:                                             ; preds = %7599
  br label %7601

7601:                                             ; preds = %7600
  call void @llvm.lifetime.start.p0(i64 4, ptr %131) #8
  %7602 = call ptr @__errno_location() #9
  %7603 = load i32, ptr %7602, align 4, !tbaa !5
  store i32 %7603, ptr %131, align 4, !tbaa !5
  %7604 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7605 = call i32 @s2n_print_stacktrace(ptr noundef %7604)
  %7606 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7607 = trunc i8 %7606 to i1
  br i1 %7607, label %7608, label %7630

7608:                                             ; preds = %7601
  %7609 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7610 = call i32 @fileno(ptr noundef %7609) #8
  %7611 = call i32 @isatty(i32 noundef %7610) #8
  %7612 = icmp ne i32 %7611, 0
  br i1 %7612, label %7613, label %7630

7613:                                             ; preds = %7608
  %7614 = load i32, ptr %131, align 4, !tbaa !5
  %7615 = call ptr @__errno_location() #9
  store i32 %7614, ptr %7615, align 4, !tbaa !5
  %7616 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7617 = load i32, ptr @test_count, align 4, !tbaa !5
  %7618 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7619 = load i32, ptr %7618, align 4, !tbaa !5
  %7620 = call ptr @s2n_strerror(i32 noundef %7619, ptr noundef @.str.4)
  %7621 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7622 = load i32, ptr %7621, align 4, !tbaa !5
  %7623 = call ptr @s2n_strerror_debug(i32 noundef %7622, ptr noundef @.str.4)
  %7624 = call ptr @__errno_location() #9
  %7625 = load i32, ptr %7624, align 4, !tbaa !5
  %7626 = call ptr @strerror(i32 noundef %7625) #8
  %7627 = call ptr @__errno_location() #9
  %7628 = load i32, ptr %7627, align 4, !tbaa !5
  %7629 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7616, ptr noundef @.str.2, i32 noundef %7617, ptr noundef @.str.51, ptr noundef @.str.1, i32 noundef 207, ptr noundef %7620, ptr noundef %7623, ptr noundef %7626, i32 noundef %7628) #8
  br label %7647

7630:                                             ; preds = %7608, %7601
  %7631 = load i32, ptr %131, align 4, !tbaa !5
  %7632 = call ptr @__errno_location() #9
  store i32 %7631, ptr %7632, align 4, !tbaa !5
  %7633 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7634 = load i32, ptr @test_count, align 4, !tbaa !5
  %7635 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7636 = load i32, ptr %7635, align 4, !tbaa !5
  %7637 = call ptr @s2n_strerror(i32 noundef %7636, ptr noundef @.str.4)
  %7638 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7639 = load i32, ptr %7638, align 4, !tbaa !5
  %7640 = call ptr @s2n_strerror_debug(i32 noundef %7639, ptr noundef @.str.4)
  %7641 = call ptr @__errno_location() #9
  %7642 = load i32, ptr %7641, align 4, !tbaa !5
  %7643 = call ptr @strerror(i32 noundef %7642) #8
  %7644 = call ptr @__errno_location() #9
  %7645 = load i32, ptr %7644, align 4, !tbaa !5
  %7646 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7633, ptr noundef @.str.5, i32 noundef %7634, ptr noundef @.str.51, ptr noundef @.str.1, i32 noundef 207, ptr noundef %7637, ptr noundef %7640, ptr noundef %7643, i32 noundef %7645) #8
  br label %7647

7647:                                             ; preds = %7630, %7613
  call void @llvm.lifetime.end.p0(i64 4, ptr %131) #8
  br label %7648

7648:                                             ; preds = %7647
  br label %7649

7649:                                             ; preds = %7648
  call void @exit(i32 noundef 1) #10
  unreachable

7650:                                             ; No predecessors!
  br label %7651

7651:                                             ; preds = %7650
  br label %7652

7652:                                             ; preds = %7651, %7593
  br label %7653

7653:                                             ; preds = %7652
  br label %7654

7654:                                             ; preds = %7653
  call void @llvm.lifetime.end.p0(i64 8, ptr %118) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %116) #8
  %7655 = call i32 @s2n_connection_ptr_free(ptr noundef %115)
  %7656 = getelementptr inbounds %struct.s2n_result, ptr %132, i32 0, i32 0
  store i32 %7655, ptr %7656, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %115) #8
  br label %7657

7657:                                             ; preds = %7654
  %7658 = load i32, ptr @test_count, align 4, !tbaa !5
  %7659 = add nsw i32 %7658, 1
  store i32 %7659, ptr @test_count, align 4, !tbaa !5
  %7660 = load ptr, ptr %59, align 8, !tbaa !9
  %7661 = load ptr, ptr %19, align 8, !tbaa !9
  %7662 = call i32 @s2n_connection_set_config(ptr noundef %7660, ptr noundef %7661)
  %7663 = icmp eq i32 %7662, -1
  br i1 %7663, label %7664, label %7717

7664:                                             ; preds = %7657
  br label %7665

7665:                                             ; preds = %7664
  br label %7666

7666:                                             ; preds = %7665
  call void @llvm.lifetime.start.p0(i64 4, ptr %133) #8
  %7667 = call ptr @__errno_location() #9
  %7668 = load i32, ptr %7667, align 4, !tbaa !5
  store i32 %7668, ptr %133, align 4, !tbaa !5
  %7669 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7670 = call i32 @s2n_print_stacktrace(ptr noundef %7669)
  %7671 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7672 = trunc i8 %7671 to i1
  br i1 %7672, label %7673, label %7695

7673:                                             ; preds = %7666
  %7674 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7675 = call i32 @fileno(ptr noundef %7674) #8
  %7676 = call i32 @isatty(i32 noundef %7675) #8
  %7677 = icmp ne i32 %7676, 0
  br i1 %7677, label %7678, label %7695

7678:                                             ; preds = %7673
  %7679 = load i32, ptr %133, align 4, !tbaa !5
  %7680 = call ptr @__errno_location() #9
  store i32 %7679, ptr %7680, align 4, !tbaa !5
  %7681 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7682 = load i32, ptr @test_count, align 4, !tbaa !5
  %7683 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7684 = load i32, ptr %7683, align 4, !tbaa !5
  %7685 = call ptr @s2n_strerror(i32 noundef %7684, ptr noundef @.str.4)
  %7686 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7687 = load i32, ptr %7686, align 4, !tbaa !5
  %7688 = call ptr @s2n_strerror_debug(i32 noundef %7687, ptr noundef @.str.4)
  %7689 = call ptr @__errno_location() #9
  %7690 = load i32, ptr %7689, align 4, !tbaa !5
  %7691 = call ptr @strerror(i32 noundef %7690) #8
  %7692 = call ptr @__errno_location() #9
  %7693 = load i32, ptr %7692, align 4, !tbaa !5
  %7694 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7681, ptr noundef @.str.2, i32 noundef %7682, ptr noundef @.str.30, ptr noundef @.str.1, i32 noundef 212, ptr noundef %7685, ptr noundef %7688, ptr noundef %7691, i32 noundef %7693) #8
  br label %7712

7695:                                             ; preds = %7673, %7666
  %7696 = load i32, ptr %133, align 4, !tbaa !5
  %7697 = call ptr @__errno_location() #9
  store i32 %7696, ptr %7697, align 4, !tbaa !5
  %7698 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7699 = load i32, ptr @test_count, align 4, !tbaa !5
  %7700 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7701 = load i32, ptr %7700, align 4, !tbaa !5
  %7702 = call ptr @s2n_strerror(i32 noundef %7701, ptr noundef @.str.4)
  %7703 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7704 = load i32, ptr %7703, align 4, !tbaa !5
  %7705 = call ptr @s2n_strerror_debug(i32 noundef %7704, ptr noundef @.str.4)
  %7706 = call ptr @__errno_location() #9
  %7707 = load i32, ptr %7706, align 4, !tbaa !5
  %7708 = call ptr @strerror(i32 noundef %7707) #8
  %7709 = call ptr @__errno_location() #9
  %7710 = load i32, ptr %7709, align 4, !tbaa !5
  %7711 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7698, ptr noundef @.str.5, i32 noundef %7699, ptr noundef @.str.30, ptr noundef @.str.1, i32 noundef 212, ptr noundef %7702, ptr noundef %7705, ptr noundef %7708, i32 noundef %7710) #8
  br label %7712

7712:                                             ; preds = %7695, %7678
  call void @llvm.lifetime.end.p0(i64 4, ptr %133) #8
  br label %7713

7713:                                             ; preds = %7712
  br label %7714

7714:                                             ; preds = %7713
  call void @exit(i32 noundef 1) #10
  unreachable

7715:                                             ; No predecessors!
  br label %7716

7716:                                             ; preds = %7715
  br label %7717

7717:                                             ; preds = %7716, %7657
  br label %7718

7718:                                             ; preds = %7717
  br label %7719

7719:                                             ; preds = %7718
  %7720 = load ptr, ptr %59, align 8, !tbaa !9
  %7721 = getelementptr inbounds %struct.s2n_connection, ptr %7720, i32 0, i32 27
  %7722 = load ptr, ptr %7721, align 8, !tbaa !15
  %7723 = getelementptr inbounds %struct.s2n_crypto_parameters, ptr %7722, i32 0, i32 0
  store ptr @s2n_dhe_rsa_with_3des_ede_cbc_sha, ptr %7723, align 8, !tbaa !42
  br label %7724

7724:                                             ; preds = %7719
  %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 %59, align 8, !tbaa !9
  %7728 = call i32 @s2n_is_sig_scheme_valid_for_auth(ptr noundef %7727, ptr noundef @s2n_rsa_pkcs1_md5_sha1)
  %7729 = icmp eq i32 %7728, -1
  br i1 %7729, label %7730, label %7783

7730:                                             ; preds = %7724
  br label %7731

7731:                                             ; preds = %7730
  br label %7732

7732:                                             ; preds = %7731
  call void @llvm.lifetime.start.p0(i64 4, ptr %134) #8
  %7733 = call ptr @__errno_location() #9
  %7734 = load i32, ptr %7733, align 4, !tbaa !5
  store i32 %7734, ptr %134, align 4, !tbaa !5
  %7735 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7736 = call i32 @s2n_print_stacktrace(ptr noundef %7735)
  %7737 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7738 = trunc i8 %7737 to i1
  br i1 %7738, label %7739, label %7761

7739:                                             ; preds = %7732
  %7740 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7741 = call i32 @fileno(ptr noundef %7740) #8
  %7742 = call i32 @isatty(i32 noundef %7741) #8
  %7743 = icmp ne i32 %7742, 0
  br i1 %7743, label %7744, label %7761

7744:                                             ; preds = %7739
  %7745 = load i32, ptr %134, align 4, !tbaa !5
  %7746 = call ptr @__errno_location() #9
  store i32 %7745, ptr %7746, align 4, !tbaa !5
  %7747 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7748 = load i32, ptr @test_count, align 4, !tbaa !5
  %7749 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7750 = load i32, ptr %7749, align 4, !tbaa !5
  %7751 = call ptr @s2n_strerror(i32 noundef %7750, ptr noundef @.str.4)
  %7752 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7753 = load i32, ptr %7752, align 4, !tbaa !5
  %7754 = call ptr @s2n_strerror_debug(i32 noundef %7753, ptr noundef @.str.4)
  %7755 = call ptr @__errno_location() #9
  %7756 = load i32, ptr %7755, align 4, !tbaa !5
  %7757 = call ptr @strerror(i32 noundef %7756) #8
  %7758 = call ptr @__errno_location() #9
  %7759 = load i32, ptr %7758, align 4, !tbaa !5
  %7760 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7747, ptr noundef @.str.2, i32 noundef %7748, ptr noundef @.str.36, ptr noundef @.str.1, i32 noundef 216, ptr noundef %7751, ptr noundef %7754, ptr noundef %7757, i32 noundef %7759) #8
  br label %7778

7761:                                             ; preds = %7739, %7732
  %7762 = load i32, ptr %134, align 4, !tbaa !5
  %7763 = call ptr @__errno_location() #9
  store i32 %7762, ptr %7763, align 4, !tbaa !5
  %7764 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7765 = load i32, ptr @test_count, align 4, !tbaa !5
  %7766 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7767 = load i32, ptr %7766, align 4, !tbaa !5
  %7768 = call ptr @s2n_strerror(i32 noundef %7767, ptr noundef @.str.4)
  %7769 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7770 = load i32, ptr %7769, align 4, !tbaa !5
  %7771 = call ptr @s2n_strerror_debug(i32 noundef %7770, ptr noundef @.str.4)
  %7772 = call ptr @__errno_location() #9
  %7773 = load i32, ptr %7772, align 4, !tbaa !5
  %7774 = call ptr @strerror(i32 noundef %7773) #8
  %7775 = call ptr @__errno_location() #9
  %7776 = load i32, ptr %7775, align 4, !tbaa !5
  %7777 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7764, ptr noundef @.str.5, i32 noundef %7765, ptr noundef @.str.36, ptr noundef @.str.1, i32 noundef 216, ptr noundef %7768, ptr noundef %7771, ptr noundef %7774, i32 noundef %7776) #8
  br label %7778

7778:                                             ; preds = %7761, %7744
  call void @llvm.lifetime.end.p0(i64 4, ptr %134) #8
  br label %7779

7779:                                             ; preds = %7778
  br label %7780

7780:                                             ; preds = %7779
  call void @exit(i32 noundef 1) #10
  unreachable

7781:                                             ; No predecessors!
  br label %7782

7782:                                             ; preds = %7781
  br label %7783

7783:                                             ; preds = %7782, %7724
  br label %7784

7784:                                             ; preds = %7783
  br label %7785

7785:                                             ; preds = %7784
  %7786 = call zeroext i1 (...) @s2n_is_rsa_pss_certs_supported()
  br i1 %7786, label %7787, label %7850

7787:                                             ; preds = %7785
  br label %7788

7788:                                             ; preds = %7787
  %7789 = load i32, ptr @test_count, align 4, !tbaa !5
  %7790 = add nsw i32 %7789, 1
  store i32 %7790, ptr @test_count, align 4, !tbaa !5
  %7791 = load ptr, ptr %59, align 8, !tbaa !9
  %7792 = call i32 @s2n_is_sig_scheme_valid_for_auth(ptr noundef %7791, ptr noundef @s2n_rsa_pss_pss_sha256)
  %7793 = icmp eq i32 %7792, -1
  br i1 %7793, label %7794, label %7847

7794:                                             ; preds = %7788
  br label %7795

7795:                                             ; preds = %7794
  br label %7796

7796:                                             ; preds = %7795
  call void @llvm.lifetime.start.p0(i64 4, ptr %135) #8
  %7797 = call ptr @__errno_location() #9
  %7798 = load i32, ptr %7797, align 4, !tbaa !5
  store i32 %7798, ptr %135, align 4, !tbaa !5
  %7799 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7800 = call i32 @s2n_print_stacktrace(ptr noundef %7799)
  %7801 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7802 = trunc i8 %7801 to i1
  br i1 %7802, label %7803, label %7825

7803:                                             ; preds = %7796
  %7804 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7805 = call i32 @fileno(ptr noundef %7804) #8
  %7806 = call i32 @isatty(i32 noundef %7805) #8
  %7807 = icmp ne i32 %7806, 0
  br i1 %7807, label %7808, label %7825

7808:                                             ; preds = %7803
  %7809 = load i32, ptr %135, align 4, !tbaa !5
  %7810 = call ptr @__errno_location() #9
  store i32 %7809, ptr %7810, align 4, !tbaa !5
  %7811 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7812 = load i32, ptr @test_count, align 4, !tbaa !5
  %7813 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7814 = load i32, ptr %7813, align 4, !tbaa !5
  %7815 = call ptr @s2n_strerror(i32 noundef %7814, ptr noundef @.str.4)
  %7816 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7817 = load i32, ptr %7816, align 4, !tbaa !5
  %7818 = call ptr @s2n_strerror_debug(i32 noundef %7817, ptr noundef @.str.4)
  %7819 = call ptr @__errno_location() #9
  %7820 = load i32, ptr %7819, align 4, !tbaa !5
  %7821 = call ptr @strerror(i32 noundef %7820) #8
  %7822 = call ptr @__errno_location() #9
  %7823 = load i32, ptr %7822, align 4, !tbaa !5
  %7824 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7811, ptr noundef @.str.2, i32 noundef %7812, ptr noundef @.str.38, ptr noundef @.str.1, i32 noundef 217, ptr noundef %7815, ptr noundef %7818, ptr noundef %7821, i32 noundef %7823) #8
  br label %7842

7825:                                             ; preds = %7803, %7796
  %7826 = load i32, ptr %135, align 4, !tbaa !5
  %7827 = call ptr @__errno_location() #9
  store i32 %7826, ptr %7827, align 4, !tbaa !5
  %7828 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7829 = load i32, ptr @test_count, align 4, !tbaa !5
  %7830 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7831 = load i32, ptr %7830, align 4, !tbaa !5
  %7832 = call ptr @s2n_strerror(i32 noundef %7831, ptr noundef @.str.4)
  %7833 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7834 = load i32, ptr %7833, align 4, !tbaa !5
  %7835 = call ptr @s2n_strerror_debug(i32 noundef %7834, ptr noundef @.str.4)
  %7836 = call ptr @__errno_location() #9
  %7837 = load i32, ptr %7836, align 4, !tbaa !5
  %7838 = call ptr @strerror(i32 noundef %7837) #8
  %7839 = call ptr @__errno_location() #9
  %7840 = load i32, ptr %7839, align 4, !tbaa !5
  %7841 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7828, ptr noundef @.str.5, i32 noundef %7829, ptr noundef @.str.38, ptr noundef @.str.1, i32 noundef 217, ptr noundef %7832, ptr noundef %7835, ptr noundef %7838, i32 noundef %7840) #8
  br label %7842

7842:                                             ; preds = %7825, %7808
  call void @llvm.lifetime.end.p0(i64 4, ptr %135) #8
  br label %7843

7843:                                             ; preds = %7842
  br label %7844

7844:                                             ; preds = %7843
  call void @exit(i32 noundef 1) #10
  unreachable

7845:                                             ; No predecessors!
  br label %7846

7846:                                             ; preds = %7845
  br label %7847

7847:                                             ; preds = %7846, %7788
  br label %7848

7848:                                             ; preds = %7847
  br label %7849

7849:                                             ; preds = %7848
  br label %8046

7850:                                             ; preds = %7785
  br label %7851

7851:                                             ; preds = %7850
  br label %7852

7852:                                             ; preds = %7851
  %7853 = load i32, ptr @test_count, align 4, !tbaa !5
  %7854 = add nsw i32 %7853, 1
  store i32 %7854, ptr @test_count, align 4, !tbaa !5
  %7855 = load ptr, ptr %59, align 8, !tbaa !9
  %7856 = call i32 @s2n_is_sig_scheme_valid_for_auth(ptr noundef %7855, ptr noundef @s2n_rsa_pss_pss_sha256)
  %7857 = icmp eq i32 %7856, -1
  br i1 %7857, label %7911, label %7858

7858:                                             ; preds = %7852
  br label %7859

7859:                                             ; preds = %7858
  br label %7860

7860:                                             ; preds = %7859
  call void @llvm.lifetime.start.p0(i64 4, ptr %136) #8
  %7861 = call ptr @__errno_location() #9
  %7862 = load i32, ptr %7861, align 4, !tbaa !5
  store i32 %7862, ptr %136, align 4, !tbaa !5
  %7863 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7864 = call i32 @s2n_print_stacktrace(ptr noundef %7863)
  %7865 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7866 = trunc i8 %7865 to i1
  br i1 %7866, label %7867, label %7889

7867:                                             ; preds = %7860
  %7868 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7869 = call i32 @fileno(ptr noundef %7868) #8
  %7870 = call i32 @isatty(i32 noundef %7869) #8
  %7871 = icmp ne i32 %7870, 0
  br i1 %7871, label %7872, label %7889

7872:                                             ; preds = %7867
  %7873 = load i32, ptr %136, align 4, !tbaa !5
  %7874 = call ptr @__errno_location() #9
  store i32 %7873, ptr %7874, align 4, !tbaa !5
  %7875 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7876 = load i32, ptr @test_count, align 4, !tbaa !5
  %7877 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7878 = load i32, ptr %7877, align 4, !tbaa !5
  %7879 = call ptr @s2n_strerror(i32 noundef %7878, ptr noundef @.str.4)
  %7880 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7881 = load i32, ptr %7880, align 4, !tbaa !5
  %7882 = call ptr @s2n_strerror_debug(i32 noundef %7881, ptr noundef @.str.4)
  %7883 = call ptr @__errno_location() #9
  %7884 = load i32, ptr %7883, align 4, !tbaa !5
  %7885 = call ptr @strerror(i32 noundef %7884) #8
  %7886 = call ptr @__errno_location() #9
  %7887 = load i32, ptr %7886, align 4, !tbaa !5
  %7888 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7875, ptr noundef @.str.2, i32 noundef %7876, ptr noundef @.str.33, ptr noundef @.str.1, i32 noundef 217, ptr noundef %7879, ptr noundef %7882, ptr noundef %7885, i32 noundef %7887) #8
  br label %7906

7889:                                             ; preds = %7867, %7860
  %7890 = load i32, ptr %136, align 4, !tbaa !5
  %7891 = call ptr @__errno_location() #9
  store i32 %7890, ptr %7891, align 4, !tbaa !5
  %7892 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7893 = load i32, ptr @test_count, align 4, !tbaa !5
  %7894 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7895 = load i32, ptr %7894, align 4, !tbaa !5
  %7896 = call ptr @s2n_strerror(i32 noundef %7895, ptr noundef @.str.4)
  %7897 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7898 = load i32, ptr %7897, align 4, !tbaa !5
  %7899 = call ptr @s2n_strerror_debug(i32 noundef %7898, ptr noundef @.str.4)
  %7900 = call ptr @__errno_location() #9
  %7901 = load i32, ptr %7900, align 4, !tbaa !5
  %7902 = call ptr @strerror(i32 noundef %7901) #8
  %7903 = call ptr @__errno_location() #9
  %7904 = load i32, ptr %7903, align 4, !tbaa !5
  %7905 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7892, ptr noundef @.str.5, i32 noundef %7893, ptr noundef @.str.33, ptr noundef @.str.1, i32 noundef 217, ptr noundef %7896, ptr noundef %7899, ptr noundef %7902, i32 noundef %7904) #8
  br label %7906

7906:                                             ; preds = %7889, %7872
  call void @llvm.lifetime.end.p0(i64 4, ptr %136) #8
  br label %7907

7907:                                             ; preds = %7906
  br label %7908

7908:                                             ; preds = %7907
  call void @exit(i32 noundef 1) #10
  unreachable

7909:                                             ; No predecessors!
  br label %7910

7910:                                             ; preds = %7909
  br label %7911

7911:                                             ; preds = %7910, %7852
  br label %7912

7912:                                             ; preds = %7911
  br label %7913

7913:                                             ; preds = %7912
  br label %7914

7914:                                             ; preds = %7913
  %7915 = load i32, ptr @test_count, align 4, !tbaa !5
  %7916 = add nsw i32 %7915, 1
  store i32 %7916, ptr @test_count, align 4, !tbaa !5
  %7917 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7918 = load i32, ptr %7917, align 4, !tbaa !5
  %7919 = icmp eq i32 %7918, 0
  br i1 %7919, label %7920, label %7973

7920:                                             ; preds = %7914
  br label %7921

7921:                                             ; preds = %7920
  br label %7922

7922:                                             ; preds = %7921
  call void @llvm.lifetime.start.p0(i64 4, ptr %137) #8
  %7923 = call ptr @__errno_location() #9
  %7924 = load i32, ptr %7923, align 4, !tbaa !5
  store i32 %7924, ptr %137, align 4, !tbaa !5
  %7925 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7926 = call i32 @s2n_print_stacktrace(ptr noundef %7925)
  %7927 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7928 = trunc i8 %7927 to i1
  br i1 %7928, label %7929, label %7951

7929:                                             ; preds = %7922
  %7930 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7931 = call i32 @fileno(ptr noundef %7930) #8
  %7932 = call i32 @isatty(i32 noundef %7931) #8
  %7933 = icmp ne i32 %7932, 0
  br i1 %7933, label %7934, label %7951

7934:                                             ; preds = %7929
  %7935 = load i32, ptr %137, align 4, !tbaa !5
  %7936 = call ptr @__errno_location() #9
  store i32 %7935, ptr %7936, align 4, !tbaa !5
  %7937 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7938 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %7940, ptr noundef @.str.4)
  %7942 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7943 = load i32, ptr %7942, align 4, !tbaa !5
  %7944 = call ptr @s2n_strerror_debug(i32 noundef %7943, ptr noundef @.str.4)
  %7945 = call ptr @__errno_location() #9
  %7946 = load i32, ptr %7945, align 4, !tbaa !5
  %7947 = call ptr @strerror(i32 noundef %7946) #8
  %7948 = call ptr @__errno_location() #9
  %7949 = load i32, ptr %7948, align 4, !tbaa !5
  %7950 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7937, ptr noundef @.str.2, i32 noundef %7938, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 217, ptr noundef %7941, ptr noundef %7944, ptr noundef %7947, i32 noundef %7949) #8
  br label %7968

7951:                                             ; preds = %7929, %7922
  %7952 = load i32, ptr %137, align 4, !tbaa !5
  %7953 = call ptr @__errno_location() #9
  store i32 %7952, ptr %7953, align 4, !tbaa !5
  %7954 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7955 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %7957, ptr noundef @.str.4)
  %7959 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7960 = load i32, ptr %7959, align 4, !tbaa !5
  %7961 = call ptr @s2n_strerror_debug(i32 noundef %7960, ptr noundef @.str.4)
  %7962 = call ptr @__errno_location() #9
  %7963 = load i32, ptr %7962, align 4, !tbaa !5
  %7964 = call ptr @strerror(i32 noundef %7963) #8
  %7965 = call ptr @__errno_location() #9
  %7966 = load i32, ptr %7965, align 4, !tbaa !5
  %7967 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7954, ptr noundef @.str.5, i32 noundef %7955, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 217, ptr noundef %7958, ptr noundef %7961, ptr noundef %7964, i32 noundef %7966) #8
  br label %7968

7968:                                             ; preds = %7951, %7934
  call void @llvm.lifetime.end.p0(i64 4, ptr %137) #8
  br label %7969

7969:                                             ; preds = %7968
  br label %7970

7970:                                             ; preds = %7969
  call void @exit(i32 noundef 1) #10
  unreachable

7971:                                             ; No predecessors!
  br label %7972

7972:                                             ; preds = %7971
  br label %7973

7973:                                             ; preds = %7972, %7914
  br label %7974

7974:                                             ; preds = %7973
  br label %7975

7975:                                             ; preds = %7974
  br label %7976

7976:                                             ; preds = %7975
  %7977 = load i32, ptr @test_count, align 4, !tbaa !5
  %7978 = add nsw i32 %7977, 1
  store i32 %7978, ptr @test_count, align 4, !tbaa !5
  %7979 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7980 = load i32, ptr %7979, align 4, !tbaa !5
  %7981 = call ptr @s2n_strerror_debug(i32 noundef %7980, ptr noundef @.str.4)
  %7982 = icmp eq ptr %7981, null
  br i1 %7982, label %7983, label %8036

7983:                                             ; preds = %7976
  br label %7984

7984:                                             ; preds = %7983
  br label %7985

7985:                                             ; preds = %7984
  call void @llvm.lifetime.start.p0(i64 4, ptr %138) #8
  %7986 = call ptr @__errno_location() #9
  %7987 = load i32, ptr %7986, align 4, !tbaa !5
  store i32 %7987, ptr %138, align 4, !tbaa !5
  %7988 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7989 = call i32 @s2n_print_stacktrace(ptr noundef %7988)
  %7990 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7991 = trunc i8 %7990 to i1
  br i1 %7991, label %7992, label %8014

7992:                                             ; preds = %7985
  %7993 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7994 = call i32 @fileno(ptr noundef %7993) #8
  %7995 = call i32 @isatty(i32 noundef %7994) #8
  %7996 = icmp ne i32 %7995, 0
  br i1 %7996, label %7997, label %8014

7997:                                             ; preds = %7992
  %7998 = load i32, ptr %138, align 4, !tbaa !5
  %7999 = call ptr @__errno_location() #9
  store i32 %7998, ptr %7999, align 4, !tbaa !5
  %8000 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8001 = load i32, ptr @test_count, align 4, !tbaa !5
  %8002 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8003 = load i32, ptr %8002, align 4, !tbaa !5
  %8004 = call ptr @s2n_strerror(i32 noundef %8003, ptr noundef @.str.4)
  %8005 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8006 = load i32, ptr %8005, align 4, !tbaa !5
  %8007 = call ptr @s2n_strerror_debug(i32 noundef %8006, ptr noundef @.str.4)
  %8008 = call ptr @__errno_location() #9
  %8009 = load i32, ptr %8008, align 4, !tbaa !5
  %8010 = call ptr @strerror(i32 noundef %8009) #8
  %8011 = call ptr @__errno_location() #9
  %8012 = load i32, ptr %8011, align 4, !tbaa !5
  %8013 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8000, ptr noundef @.str.2, i32 noundef %8001, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 217, ptr noundef %8004, ptr noundef %8007, ptr noundef %8010, i32 noundef %8012) #8
  br label %8031

8014:                                             ; preds = %7992, %7985
  %8015 = load i32, ptr %138, align 4, !tbaa !5
  %8016 = call ptr @__errno_location() #9
  store i32 %8015, ptr %8016, align 4, !tbaa !5
  %8017 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8018 = load i32, ptr @test_count, align 4, !tbaa !5
  %8019 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8020 = load i32, ptr %8019, align 4, !tbaa !5
  %8021 = call ptr @s2n_strerror(i32 noundef %8020, ptr noundef @.str.4)
  %8022 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8023 = load i32, ptr %8022, align 4, !tbaa !5
  %8024 = call ptr @s2n_strerror_debug(i32 noundef %8023, ptr noundef @.str.4)
  %8025 = call ptr @__errno_location() #9
  %8026 = load i32, ptr %8025, align 4, !tbaa !5
  %8027 = call ptr @strerror(i32 noundef %8026) #8
  %8028 = call ptr @__errno_location() #9
  %8029 = load i32, ptr %8028, align 4, !tbaa !5
  %8030 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8017, ptr noundef @.str.5, i32 noundef %8018, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 217, ptr noundef %8021, ptr noundef %8024, ptr noundef %8027, i32 noundef %8029) #8
  br label %8031

8031:                                             ; preds = %8014, %7997
  call void @llvm.lifetime.end.p0(i64 4, ptr %138) #8
  br label %8032

8032:                                             ; preds = %8031
  br label %8033

8033:                                             ; preds = %8032
  call void @exit(i32 noundef 1) #10
  unreachable

8034:                                             ; No predecessors!
  br label %8035

8035:                                             ; preds = %8034
  br label %8036

8036:                                             ; preds = %8035, %7976
  br label %8037

8037:                                             ; preds = %8036
  br label %8038

8038:                                             ; preds = %8037
  br label %8039

8039:                                             ; preds = %8038
  %8040 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %8040, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %8041 = call ptr @__errno_location() #9
  store i32 0, ptr %8041, align 4, !tbaa !5
  br label %8042

8042:                                             ; preds = %8039
  br label %8043

8043:                                             ; preds = %8042
  br label %8044

8044:                                             ; preds = %8043
  br label %8045

8045:                                             ; preds = %8044
  br label %8046

8046:                                             ; preds = %8045, %7849
  br label %8047

8047:                                             ; preds = %8046
  %8048 = load i32, ptr @test_count, align 4, !tbaa !5
  %8049 = add nsw i32 %8048, 1
  store i32 %8049, ptr @test_count, align 4, !tbaa !5
  %8050 = load ptr, ptr %59, align 8, !tbaa !9
  %8051 = call i32 @s2n_is_sig_scheme_valid_for_auth(ptr noundef %8050, ptr noundef @s2n_rsa_pss_rsae_sha256)
  %8052 = icmp eq i32 %8051, -1
  br i1 %8052, label %8053, label %8106

8053:                                             ; preds = %8047
  br label %8054

8054:                                             ; preds = %8053
  br label %8055

8055:                                             ; preds = %8054
  call void @llvm.lifetime.start.p0(i64 4, ptr %139) #8
  %8056 = call ptr @__errno_location() #9
  %8057 = load i32, ptr %8056, align 4, !tbaa !5
  store i32 %8057, ptr %139, align 4, !tbaa !5
  %8058 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8059 = call i32 @s2n_print_stacktrace(ptr noundef %8058)
  %8060 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8061 = trunc i8 %8060 to i1
  br i1 %8061, label %8062, label %8084

8062:                                             ; preds = %8055
  %8063 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8064 = call i32 @fileno(ptr noundef %8063) #8
  %8065 = call i32 @isatty(i32 noundef %8064) #8
  %8066 = icmp ne i32 %8065, 0
  br i1 %8066, label %8067, label %8084

8067:                                             ; preds = %8062
  %8068 = load i32, ptr %139, align 4, !tbaa !5
  %8069 = call ptr @__errno_location() #9
  store i32 %8068, ptr %8069, align 4, !tbaa !5
  %8070 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8071 = load i32, ptr @test_count, align 4, !tbaa !5
  %8072 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8073 = load i32, ptr %8072, align 4, !tbaa !5
  %8074 = call ptr @s2n_strerror(i32 noundef %8073, ptr noundef @.str.4)
  %8075 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8076 = load i32, ptr %8075, align 4, !tbaa !5
  %8077 = call ptr @s2n_strerror_debug(i32 noundef %8076, ptr noundef @.str.4)
  %8078 = call ptr @__errno_location() #9
  %8079 = load i32, ptr %8078, align 4, !tbaa !5
  %8080 = call ptr @strerror(i32 noundef %8079) #8
  %8081 = call ptr @__errno_location() #9
  %8082 = load i32, ptr %8081, align 4, !tbaa !5
  %8083 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8070, ptr noundef @.str.2, i32 noundef %8071, ptr noundef @.str.37, ptr noundef @.str.1, i32 noundef 218, ptr noundef %8074, ptr noundef %8077, ptr noundef %8080, i32 noundef %8082) #8
  br label %8101

8084:                                             ; preds = %8062, %8055
  %8085 = load i32, ptr %139, align 4, !tbaa !5
  %8086 = call ptr @__errno_location() #9
  store i32 %8085, ptr %8086, align 4, !tbaa !5
  %8087 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8088 = load i32, ptr @test_count, align 4, !tbaa !5
  %8089 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8090 = load i32, ptr %8089, align 4, !tbaa !5
  %8091 = call ptr @s2n_strerror(i32 noundef %8090, ptr noundef @.str.4)
  %8092 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8093 = load i32, ptr %8092, align 4, !tbaa !5
  %8094 = call ptr @s2n_strerror_debug(i32 noundef %8093, ptr noundef @.str.4)
  %8095 = call ptr @__errno_location() #9
  %8096 = load i32, ptr %8095, align 4, !tbaa !5
  %8097 = call ptr @strerror(i32 noundef %8096) #8
  %8098 = call ptr @__errno_location() #9
  %8099 = load i32, ptr %8098, align 4, !tbaa !5
  %8100 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8087, ptr noundef @.str.5, i32 noundef %8088, ptr noundef @.str.37, ptr noundef @.str.1, i32 noundef 218, ptr noundef %8091, ptr noundef %8094, ptr noundef %8097, i32 noundef %8099) #8
  br label %8101

8101:                                             ; preds = %8084, %8067
  call void @llvm.lifetime.end.p0(i64 4, ptr %139) #8
  br label %8102

8102:                                             ; preds = %8101
  br label %8103

8103:                                             ; preds = %8102
  call void @exit(i32 noundef 1) #10
  unreachable

8104:                                             ; No predecessors!
  br label %8105

8105:                                             ; preds = %8104
  br label %8106

8106:                                             ; preds = %8105, %8047
  br label %8107

8107:                                             ; preds = %8106
  br label %8108

8108:                                             ; preds = %8107
  br label %8109

8109:                                             ; preds = %8108
  br label %8110

8110:                                             ; preds = %8109
  %8111 = load i32, ptr @test_count, align 4, !tbaa !5
  %8112 = add nsw i32 %8111, 1
  store i32 %8112, ptr @test_count, align 4, !tbaa !5
  %8113 = load ptr, ptr %59, align 8, !tbaa !9
  %8114 = call i32 @s2n_is_sig_scheme_valid_for_auth(ptr noundef %8113, ptr noundef @s2n_ecdsa_sha384)
  %8115 = icmp eq i32 %8114, -1
  br i1 %8115, label %8169, label %8116

8116:                                             ; preds = %8110
  br label %8117

8117:                                             ; preds = %8116
  br label %8118

8118:                                             ; preds = %8117
  call void @llvm.lifetime.start.p0(i64 4, ptr %140) #8
  %8119 = call ptr @__errno_location() #9
  %8120 = load i32, ptr %8119, align 4, !tbaa !5
  store i32 %8120, ptr %140, align 4, !tbaa !5
  %8121 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8122 = call i32 @s2n_print_stacktrace(ptr noundef %8121)
  %8123 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8124 = trunc i8 %8123 to i1
  br i1 %8124, label %8125, label %8147

8125:                                             ; preds = %8118
  %8126 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8127 = call i32 @fileno(ptr noundef %8126) #8
  %8128 = call i32 @isatty(i32 noundef %8127) #8
  %8129 = icmp ne i32 %8128, 0
  br i1 %8129, label %8130, label %8147

8130:                                             ; preds = %8125
  %8131 = load i32, ptr %140, align 4, !tbaa !5
  %8132 = call ptr @__errno_location() #9
  store i32 %8131, ptr %8132, align 4, !tbaa !5
  %8133 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8134 = load i32, ptr @test_count, align 4, !tbaa !5
  %8135 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8136 = load i32, ptr %8135, align 4, !tbaa !5
  %8137 = call ptr @s2n_strerror(i32 noundef %8136, ptr noundef @.str.4)
  %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_debug(i32 noundef %8139, ptr noundef @.str.4)
  %8141 = call ptr @__errno_location() #9
  %8142 = load i32, ptr %8141, align 4, !tbaa !5
  %8143 = call ptr @strerror(i32 noundef %8142) #8
  %8144 = call ptr @__errno_location() #9
  %8145 = load i32, ptr %8144, align 4, !tbaa !5
  %8146 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8133, ptr noundef @.str.2, i32 noundef %8134, ptr noundef @.str.35, ptr noundef @.str.1, i32 noundef 219, ptr noundef %8137, ptr noundef %8140, ptr noundef %8143, i32 noundef %8145) #8
  br label %8164

8147:                                             ; preds = %8125, %8118
  %8148 = load i32, ptr %140, align 4, !tbaa !5
  %8149 = call ptr @__errno_location() #9
  store i32 %8148, ptr %8149, align 4, !tbaa !5
  %8150 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8151 = load i32, ptr @test_count, align 4, !tbaa !5
  %8152 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8153 = load i32, ptr %8152, align 4, !tbaa !5
  %8154 = call ptr @s2n_strerror(i32 noundef %8153, ptr noundef @.str.4)
  %8155 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8156 = load i32, ptr %8155, align 4, !tbaa !5
  %8157 = call ptr @s2n_strerror_debug(i32 noundef %8156, ptr noundef @.str.4)
  %8158 = call ptr @__errno_location() #9
  %8159 = load i32, ptr %8158, align 4, !tbaa !5
  %8160 = call ptr @strerror(i32 noundef %8159) #8
  %8161 = call ptr @__errno_location() #9
  %8162 = load i32, ptr %8161, align 4, !tbaa !5
  %8163 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8150, ptr noundef @.str.5, i32 noundef %8151, ptr noundef @.str.35, ptr noundef @.str.1, i32 noundef 219, ptr noundef %8154, ptr noundef %8157, ptr noundef %8160, i32 noundef %8162) #8
  br label %8164

8164:                                             ; preds = %8147, %8130
  call void @llvm.lifetime.end.p0(i64 4, ptr %140) #8
  br label %8165

8165:                                             ; preds = %8164
  br label %8166

8166:                                             ; preds = %8165
  call void @exit(i32 noundef 1) #10
  unreachable

8167:                                             ; No predecessors!
  br label %8168

8168:                                             ; preds = %8167
  br label %8169

8169:                                             ; preds = %8168, %8110
  br label %8170

8170:                                             ; preds = %8169
  br label %8171

8171:                                             ; preds = %8170
  br label %8172

8172:                                             ; preds = %8171
  %8173 = load i32, ptr @test_count, align 4, !tbaa !5
  %8174 = add nsw i32 %8173, 1
  store i32 %8174, ptr @test_count, align 4, !tbaa !5
  %8175 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8176 = load i32, ptr %8175, align 4, !tbaa !5
  %8177 = icmp eq i32 %8176, 0
  br i1 %8177, label %8178, label %8231

8178:                                             ; preds = %8172
  br label %8179

8179:                                             ; preds = %8178
  br label %8180

8180:                                             ; preds = %8179
  call void @llvm.lifetime.start.p0(i64 4, ptr %141) #8
  %8181 = call ptr @__errno_location() #9
  %8182 = load i32, ptr %8181, align 4, !tbaa !5
  store i32 %8182, ptr %141, align 4, !tbaa !5
  %8183 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8184 = call i32 @s2n_print_stacktrace(ptr noundef %8183)
  %8185 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8186 = trunc i8 %8185 to i1
  br i1 %8186, label %8187, label %8209

8187:                                             ; preds = %8180
  %8188 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8189 = call i32 @fileno(ptr noundef %8188) #8
  %8190 = call i32 @isatty(i32 noundef %8189) #8
  %8191 = icmp ne i32 %8190, 0
  br i1 %8191, label %8192, label %8209

8192:                                             ; preds = %8187
  %8193 = load i32, ptr %141, align 4, !tbaa !5
  %8194 = call ptr @__errno_location() #9
  store i32 %8193, ptr %8194, align 4, !tbaa !5
  %8195 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8196 = load i32, ptr @test_count, align 4, !tbaa !5
  %8197 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8198 = load i32, ptr %8197, align 4, !tbaa !5
  %8199 = call ptr @s2n_strerror(i32 noundef %8198, ptr noundef @.str.4)
  %8200 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8201 = load i32, ptr %8200, align 4, !tbaa !5
  %8202 = call ptr @s2n_strerror_debug(i32 noundef %8201, ptr noundef @.str.4)
  %8203 = call ptr @__errno_location() #9
  %8204 = load i32, ptr %8203, align 4, !tbaa !5
  %8205 = call ptr @strerror(i32 noundef %8204) #8
  %8206 = call ptr @__errno_location() #9
  %8207 = load i32, ptr %8206, align 4, !tbaa !5
  %8208 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8195, ptr noundef @.str.2, i32 noundef %8196, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 219, ptr noundef %8199, ptr noundef %8202, ptr noundef %8205, i32 noundef %8207) #8
  br label %8226

8209:                                             ; preds = %8187, %8180
  %8210 = load i32, ptr %141, align 4, !tbaa !5
  %8211 = call ptr @__errno_location() #9
  store i32 %8210, ptr %8211, align 4, !tbaa !5
  %8212 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8213 = load i32, ptr @test_count, align 4, !tbaa !5
  %8214 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8215 = load i32, ptr %8214, align 4, !tbaa !5
  %8216 = call ptr @s2n_strerror(i32 noundef %8215, ptr noundef @.str.4)
  %8217 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8218 = load i32, ptr %8217, align 4, !tbaa !5
  %8219 = call ptr @s2n_strerror_debug(i32 noundef %8218, ptr noundef @.str.4)
  %8220 = call ptr @__errno_location() #9
  %8221 = load i32, ptr %8220, align 4, !tbaa !5
  %8222 = call ptr @strerror(i32 noundef %8221) #8
  %8223 = call ptr @__errno_location() #9
  %8224 = load i32, ptr %8223, align 4, !tbaa !5
  %8225 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8212, ptr noundef @.str.5, i32 noundef %8213, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 219, ptr noundef %8216, ptr noundef %8219, ptr noundef %8222, i32 noundef %8224) #8
  br label %8226

8226:                                             ; preds = %8209, %8192
  call void @llvm.lifetime.end.p0(i64 4, ptr %141) #8
  br label %8227

8227:                                             ; preds = %8226
  br label %8228

8228:                                             ; preds = %8227
  call void @exit(i32 noundef 1) #10
  unreachable

8229:                                             ; No predecessors!
  br label %8230

8230:                                             ; preds = %8229
  br label %8231

8231:                                             ; preds = %8230, %8172
  br label %8232

8232:                                             ; preds = %8231
  br label %8233

8233:                                             ; preds = %8232
  br label %8234

8234:                                             ; preds = %8233
  %8235 = load i32, ptr @test_count, align 4, !tbaa !5
  %8236 = add nsw i32 %8235, 1
  store i32 %8236, ptr @test_count, align 4, !tbaa !5
  %8237 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8238 = load i32, ptr %8237, align 4, !tbaa !5
  %8239 = call ptr @s2n_strerror_debug(i32 noundef %8238, ptr noundef @.str.4)
  %8240 = icmp eq ptr %8239, null
  br i1 %8240, label %8241, label %8294

8241:                                             ; preds = %8234
  br label %8242

8242:                                             ; preds = %8241
  br label %8243

8243:                                             ; preds = %8242
  call void @llvm.lifetime.start.p0(i64 4, ptr %142) #8
  %8244 = call ptr @__errno_location() #9
  %8245 = load i32, ptr %8244, align 4, !tbaa !5
  store i32 %8245, ptr %142, align 4, !tbaa !5
  %8246 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8247 = call i32 @s2n_print_stacktrace(ptr noundef %8246)
  %8248 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8249 = trunc i8 %8248 to i1
  br i1 %8249, label %8250, label %8272

8250:                                             ; preds = %8243
  %8251 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8252 = call i32 @fileno(ptr noundef %8251) #8
  %8253 = call i32 @isatty(i32 noundef %8252) #8
  %8254 = icmp ne i32 %8253, 0
  br i1 %8254, label %8255, label %8272

8255:                                             ; preds = %8250
  %8256 = load i32, ptr %142, align 4, !tbaa !5
  %8257 = call ptr @__errno_location() #9
  store i32 %8256, ptr %8257, align 4, !tbaa !5
  %8258 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8259 = load i32, ptr @test_count, align 4, !tbaa !5
  %8260 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8261 = load i32, ptr %8260, align 4, !tbaa !5
  %8262 = call ptr @s2n_strerror(i32 noundef %8261, ptr noundef @.str.4)
  %8263 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8264 = load i32, ptr %8263, align 4, !tbaa !5
  %8265 = call ptr @s2n_strerror_debug(i32 noundef %8264, ptr noundef @.str.4)
  %8266 = call ptr @__errno_location() #9
  %8267 = load i32, ptr %8266, align 4, !tbaa !5
  %8268 = call ptr @strerror(i32 noundef %8267) #8
  %8269 = call ptr @__errno_location() #9
  %8270 = load i32, ptr %8269, align 4, !tbaa !5
  %8271 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8258, ptr noundef @.str.2, i32 noundef %8259, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 219, ptr noundef %8262, ptr noundef %8265, ptr noundef %8268, i32 noundef %8270) #8
  br label %8289

8272:                                             ; preds = %8250, %8243
  %8273 = load i32, ptr %142, align 4, !tbaa !5
  %8274 = call ptr @__errno_location() #9
  store i32 %8273, ptr %8274, align 4, !tbaa !5
  %8275 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8276 = load i32, ptr @test_count, align 4, !tbaa !5
  %8277 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8278 = load i32, ptr %8277, align 4, !tbaa !5
  %8279 = call ptr @s2n_strerror(i32 noundef %8278, ptr noundef @.str.4)
  %8280 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8281 = load i32, ptr %8280, align 4, !tbaa !5
  %8282 = call ptr @s2n_strerror_debug(i32 noundef %8281, ptr noundef @.str.4)
  %8283 = call ptr @__errno_location() #9
  %8284 = load i32, ptr %8283, align 4, !tbaa !5
  %8285 = call ptr @strerror(i32 noundef %8284) #8
  %8286 = call ptr @__errno_location() #9
  %8287 = load i32, ptr %8286, align 4, !tbaa !5
  %8288 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8275, ptr noundef @.str.5, i32 noundef %8276, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 219, ptr noundef %8279, ptr noundef %8282, ptr noundef %8285, i32 noundef %8287) #8
  br label %8289

8289:                                             ; preds = %8272, %8255
  call void @llvm.lifetime.end.p0(i64 4, ptr %142) #8
  br label %8290

8290:                                             ; preds = %8289
  br label %8291

8291:                                             ; preds = %8290
  call void @exit(i32 noundef 1) #10
  unreachable

8292:                                             ; No predecessors!
  br label %8293

8293:                                             ; preds = %8292
  br label %8294

8294:                                             ; preds = %8293, %8234
  br label %8295

8295:                                             ; preds = %8294
  br label %8296

8296:                                             ; preds = %8295
  br label %8297

8297:                                             ; preds = %8296
  %8298 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %8298, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %8299 = call ptr @__errno_location() #9
  store i32 0, ptr %8299, align 4, !tbaa !5
  br label %8300

8300:                                             ; preds = %8297
  br label %8301

8301:                                             ; preds = %8300
  br label %8302

8302:                                             ; preds = %8301
  br label %8303

8303:                                             ; preds = %8302
  %8304 = load ptr, ptr %59, align 8, !tbaa !9
  %8305 = getelementptr inbounds %struct.s2n_connection, ptr %8304, i32 0, i32 27
  %8306 = load ptr, ptr %8305, align 8, !tbaa !15
  %8307 = getelementptr inbounds %struct.s2n_crypto_parameters, ptr %8306, i32 0, i32 0
  store ptr @s2n_ecdhe_ecdsa_with_aes_128_cbc_sha, ptr %8307, align 8, !tbaa !42
  br label %8308

8308:                                             ; preds = %8303
  br label %8309

8309:                                             ; preds = %8308
  %8310 = load i32, ptr @test_count, align 4, !tbaa !5
  %8311 = add nsw i32 %8310, 1
  store i32 %8311, ptr @test_count, align 4, !tbaa !5
  %8312 = load ptr, ptr %59, align 8, !tbaa !9
  %8313 = call i32 @s2n_is_sig_scheme_valid_for_auth(ptr noundef %8312, ptr noundef @s2n_rsa_pkcs1_md5_sha1)
  %8314 = icmp eq i32 %8313, -1
  br i1 %8314, label %8368, label %8315

8315:                                             ; preds = %8309
  br label %8316

8316:                                             ; preds = %8315
  br label %8317

8317:                                             ; preds = %8316
  call void @llvm.lifetime.start.p0(i64 4, ptr %143) #8
  %8318 = call ptr @__errno_location() #9
  %8319 = load i32, ptr %8318, align 4, !tbaa !5
  store i32 %8319, ptr %143, align 4, !tbaa !5
  %8320 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8321 = call i32 @s2n_print_stacktrace(ptr noundef %8320)
  %8322 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8323 = trunc i8 %8322 to i1
  br i1 %8323, label %8324, label %8346

8324:                                             ; preds = %8317
  %8325 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8326 = call i32 @fileno(ptr noundef %8325) #8
  %8327 = call i32 @isatty(i32 noundef %8326) #8
  %8328 = icmp ne i32 %8327, 0
  br i1 %8328, label %8329, label %8346

8329:                                             ; preds = %8324
  %8330 = load i32, ptr %143, align 4, !tbaa !5
  %8331 = call ptr @__errno_location() #9
  store i32 %8330, ptr %8331, align 4, !tbaa !5
  %8332 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8333 = load i32, ptr @test_count, align 4, !tbaa !5
  %8334 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8335 = load i32, ptr %8334, align 4, !tbaa !5
  %8336 = call ptr @s2n_strerror(i32 noundef %8335, ptr noundef @.str.4)
  %8337 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8338 = load i32, ptr %8337, align 4, !tbaa !5
  %8339 = call ptr @s2n_strerror_debug(i32 noundef %8338, ptr noundef @.str.4)
  %8340 = call ptr @__errno_location() #9
  %8341 = load i32, ptr %8340, align 4, !tbaa !5
  %8342 = call ptr @strerror(i32 noundef %8341) #8
  %8343 = call ptr @__errno_location() #9
  %8344 = load i32, ptr %8343, align 4, !tbaa !5
  %8345 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8332, ptr noundef @.str.2, i32 noundef %8333, ptr noundef @.str.32, ptr noundef @.str.1, i32 noundef 223, ptr noundef %8336, ptr noundef %8339, ptr noundef %8342, i32 noundef %8344) #8
  br label %8363

8346:                                             ; preds = %8324, %8317
  %8347 = load i32, ptr %143, align 4, !tbaa !5
  %8348 = call ptr @__errno_location() #9
  store i32 %8347, ptr %8348, align 4, !tbaa !5
  %8349 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8350 = load i32, ptr @test_count, align 4, !tbaa !5
  %8351 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8352 = load i32, ptr %8351, align 4, !tbaa !5
  %8353 = call ptr @s2n_strerror(i32 noundef %8352, ptr noundef @.str.4)
  %8354 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8355 = load i32, ptr %8354, align 4, !tbaa !5
  %8356 = call ptr @s2n_strerror_debug(i32 noundef %8355, ptr noundef @.str.4)
  %8357 = call ptr @__errno_location() #9
  %8358 = load i32, ptr %8357, align 4, !tbaa !5
  %8359 = call ptr @strerror(i32 noundef %8358) #8
  %8360 = call ptr @__errno_location() #9
  %8361 = load i32, ptr %8360, align 4, !tbaa !5
  %8362 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8349, ptr noundef @.str.5, i32 noundef %8350, ptr noundef @.str.32, ptr noundef @.str.1, i32 noundef 223, ptr noundef %8353, ptr noundef %8356, ptr noundef %8359, i32 noundef %8361) #8
  br label %8363

8363:                                             ; preds = %8346, %8329
  call void @llvm.lifetime.end.p0(i64 4, ptr %143) #8
  br label %8364

8364:                                             ; preds = %8363
  br label %8365

8365:                                             ; preds = %8364
  call void @exit(i32 noundef 1) #10
  unreachable

8366:                                             ; No predecessors!
  br label %8367

8367:                                             ; preds = %8366
  br label %8368

8368:                                             ; preds = %8367, %8309
  br label %8369

8369:                                             ; preds = %8368
  br label %8370

8370:                                             ; preds = %8369
  br label %8371

8371:                                             ; preds = %8370
  %8372 = load i32, ptr @test_count, align 4, !tbaa !5
  %8373 = add nsw i32 %8372, 1
  store i32 %8373, ptr @test_count, align 4, !tbaa !5
  %8374 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8375 = load i32, ptr %8374, align 4, !tbaa !5
  %8376 = icmp eq i32 %8375, 0
  br i1 %8376, label %8377, label %8430

8377:                                             ; preds = %8371
  br label %8378

8378:                                             ; preds = %8377
  br label %8379

8379:                                             ; preds = %8378
  call void @llvm.lifetime.start.p0(i64 4, ptr %144) #8
  %8380 = call ptr @__errno_location() #9
  %8381 = load i32, ptr %8380, align 4, !tbaa !5
  store i32 %8381, ptr %144, align 4, !tbaa !5
  %8382 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8383 = call i32 @s2n_print_stacktrace(ptr noundef %8382)
  %8384 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8385 = trunc i8 %8384 to i1
  br i1 %8385, label %8386, label %8408

8386:                                             ; preds = %8379
  %8387 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8388 = call i32 @fileno(ptr noundef %8387) #8
  %8389 = call i32 @isatty(i32 noundef %8388) #8
  %8390 = icmp ne i32 %8389, 0
  br i1 %8390, label %8391, label %8408

8391:                                             ; preds = %8386
  %8392 = load i32, ptr %144, align 4, !tbaa !5
  %8393 = call ptr @__errno_location() #9
  store i32 %8392, ptr %8393, align 4, !tbaa !5
  %8394 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8395 = load i32, ptr @test_count, align 4, !tbaa !5
  %8396 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8397 = load i32, ptr %8396, align 4, !tbaa !5
  %8398 = call ptr @s2n_strerror(i32 noundef %8397, ptr noundef @.str.4)
  %8399 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8400 = load i32, ptr %8399, align 4, !tbaa !5
  %8401 = call ptr @s2n_strerror_debug(i32 noundef %8400, ptr noundef @.str.4)
  %8402 = call ptr @__errno_location() #9
  %8403 = load i32, ptr %8402, align 4, !tbaa !5
  %8404 = call ptr @strerror(i32 noundef %8403) #8
  %8405 = call ptr @__errno_location() #9
  %8406 = load i32, ptr %8405, align 4, !tbaa !5
  %8407 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8394, ptr noundef @.str.2, i32 noundef %8395, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 223, ptr noundef %8398, ptr noundef %8401, ptr noundef %8404, i32 noundef %8406) #8
  br label %8425

8408:                                             ; preds = %8386, %8379
  %8409 = load i32, ptr %144, align 4, !tbaa !5
  %8410 = call ptr @__errno_location() #9
  store i32 %8409, ptr %8410, align 4, !tbaa !5
  %8411 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8412 = load i32, ptr @test_count, align 4, !tbaa !5
  %8413 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8414 = load i32, ptr %8413, align 4, !tbaa !5
  %8415 = call ptr @s2n_strerror(i32 noundef %8414, ptr noundef @.str.4)
  %8416 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8417 = load i32, ptr %8416, align 4, !tbaa !5
  %8418 = call ptr @s2n_strerror_debug(i32 noundef %8417, ptr noundef @.str.4)
  %8419 = call ptr @__errno_location() #9
  %8420 = load i32, ptr %8419, align 4, !tbaa !5
  %8421 = call ptr @strerror(i32 noundef %8420) #8
  %8422 = call ptr @__errno_location() #9
  %8423 = load i32, ptr %8422, align 4, !tbaa !5
  %8424 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8411, ptr noundef @.str.5, i32 noundef %8412, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 223, ptr noundef %8415, ptr noundef %8418, ptr noundef %8421, i32 noundef %8423) #8
  br label %8425

8425:                                             ; preds = %8408, %8391
  call void @llvm.lifetime.end.p0(i64 4, ptr %144) #8
  br label %8426

8426:                                             ; preds = %8425
  br label %8427

8427:                                             ; preds = %8426
  call void @exit(i32 noundef 1) #10
  unreachable

8428:                                             ; No predecessors!
  br label %8429

8429:                                             ; preds = %8428
  br label %8430

8430:                                             ; preds = %8429, %8371
  br label %8431

8431:                                             ; preds = %8430
  br label %8432

8432:                                             ; preds = %8431
  br label %8433

8433:                                             ; preds = %8432
  %8434 = load i32, ptr @test_count, align 4, !tbaa !5
  %8435 = add nsw i32 %8434, 1
  store i32 %8435, ptr @test_count, align 4, !tbaa !5
  %8436 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8437 = load i32, ptr %8436, align 4, !tbaa !5
  %8438 = call ptr @s2n_strerror_debug(i32 noundef %8437, ptr noundef @.str.4)
  %8439 = icmp eq ptr %8438, null
  br i1 %8439, label %8440, label %8493

8440:                                             ; preds = %8433
  br label %8441

8441:                                             ; preds = %8440
  br label %8442

8442:                                             ; preds = %8441
  call void @llvm.lifetime.start.p0(i64 4, ptr %145) #8
  %8443 = call ptr @__errno_location() #9
  %8444 = load i32, ptr %8443, align 4, !tbaa !5
  store i32 %8444, ptr %145, align 4, !tbaa !5
  %8445 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8446 = call i32 @s2n_print_stacktrace(ptr noundef %8445)
  %8447 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8448 = trunc i8 %8447 to i1
  br i1 %8448, label %8449, label %8471

8449:                                             ; preds = %8442
  %8450 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8451 = call i32 @fileno(ptr noundef %8450) #8
  %8452 = call i32 @isatty(i32 noundef %8451) #8
  %8453 = icmp ne i32 %8452, 0
  br i1 %8453, label %8454, label %8471

8454:                                             ; preds = %8449
  %8455 = load i32, ptr %145, align 4, !tbaa !5
  %8456 = call ptr @__errno_location() #9
  store i32 %8455, ptr %8456, align 4, !tbaa !5
  %8457 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8458 = load i32, ptr @test_count, align 4, !tbaa !5
  %8459 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8460 = load i32, ptr %8459, align 4, !tbaa !5
  %8461 = call ptr @s2n_strerror(i32 noundef %8460, ptr noundef @.str.4)
  %8462 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8463 = load i32, ptr %8462, align 4, !tbaa !5
  %8464 = call ptr @s2n_strerror_debug(i32 noundef %8463, ptr noundef @.str.4)
  %8465 = call ptr @__errno_location() #9
  %8466 = load i32, ptr %8465, align 4, !tbaa !5
  %8467 = call ptr @strerror(i32 noundef %8466) #8
  %8468 = call ptr @__errno_location() #9
  %8469 = load i32, ptr %8468, align 4, !tbaa !5
  %8470 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8457, ptr noundef @.str.2, i32 noundef %8458, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 223, ptr noundef %8461, ptr noundef %8464, ptr noundef %8467, i32 noundef %8469) #8
  br label %8488

8471:                                             ; preds = %8449, %8442
  %8472 = load i32, ptr %145, align 4, !tbaa !5
  %8473 = call ptr @__errno_location() #9
  store i32 %8472, ptr %8473, align 4, !tbaa !5
  %8474 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8475 = load i32, ptr @test_count, align 4, !tbaa !5
  %8476 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8477 = load i32, ptr %8476, align 4, !tbaa !5
  %8478 = call ptr @s2n_strerror(i32 noundef %8477, ptr noundef @.str.4)
  %8479 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8480 = load i32, ptr %8479, align 4, !tbaa !5
  %8481 = call ptr @s2n_strerror_debug(i32 noundef %8480, ptr noundef @.str.4)
  %8482 = call ptr @__errno_location() #9
  %8483 = load i32, ptr %8482, align 4, !tbaa !5
  %8484 = call ptr @strerror(i32 noundef %8483) #8
  %8485 = call ptr @__errno_location() #9
  %8486 = load i32, ptr %8485, align 4, !tbaa !5
  %8487 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8474, ptr noundef @.str.5, i32 noundef %8475, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 223, ptr noundef %8478, ptr noundef %8481, ptr noundef %8484, i32 noundef %8486) #8
  br label %8488

8488:                                             ; preds = %8471, %8454
  call void @llvm.lifetime.end.p0(i64 4, ptr %145) #8
  br label %8489

8489:                                             ; preds = %8488
  br label %8490

8490:                                             ; preds = %8489
  call void @exit(i32 noundef 1) #10
  unreachable

8491:                                             ; No predecessors!
  br label %8492

8492:                                             ; preds = %8491
  br label %8493

8493:                                             ; preds = %8492, %8433
  br label %8494

8494:                                             ; preds = %8493
  br label %8495

8495:                                             ; preds = %8494
  br label %8496

8496:                                             ; preds = %8495
  %8497 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %8497, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %8498 = call ptr @__errno_location() #9
  store i32 0, ptr %8498, align 4, !tbaa !5
  br label %8499

8499:                                             ; preds = %8496
  br label %8500

8500:                                             ; preds = %8499
  br label %8501

8501:                                             ; preds = %8500
  br label %8502

8502:                                             ; preds = %8501
  br label %8503

8503:                                             ; preds = %8502
  br label %8504

8504:                                             ; preds = %8503
  %8505 = load i32, ptr @test_count, align 4, !tbaa !5
  %8506 = add nsw i32 %8505, 1
  store i32 %8506, ptr @test_count, align 4, !tbaa !5
  %8507 = load ptr, ptr %59, align 8, !tbaa !9
  %8508 = call i32 @s2n_is_sig_scheme_valid_for_auth(ptr noundef %8507, ptr noundef @s2n_rsa_pss_pss_sha256)
  %8509 = icmp eq i32 %8508, -1
  br i1 %8509, label %8563, label %8510

8510:                                             ; preds = %8504
  br label %8511

8511:                                             ; preds = %8510
  br label %8512

8512:                                             ; preds = %8511
  call void @llvm.lifetime.start.p0(i64 4, ptr %146) #8
  %8513 = call ptr @__errno_location() #9
  %8514 = load i32, ptr %8513, align 4, !tbaa !5
  store i32 %8514, ptr %146, align 4, !tbaa !5
  %8515 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8516 = call i32 @s2n_print_stacktrace(ptr noundef %8515)
  %8517 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8518 = trunc i8 %8517 to i1
  br i1 %8518, label %8519, label %8541

8519:                                             ; preds = %8512
  %8520 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8521 = call i32 @fileno(ptr noundef %8520) #8
  %8522 = call i32 @isatty(i32 noundef %8521) #8
  %8523 = icmp ne i32 %8522, 0
  br i1 %8523, label %8524, label %8541

8524:                                             ; preds = %8519
  %8525 = load i32, ptr %146, align 4, !tbaa !5
  %8526 = call ptr @__errno_location() #9
  store i32 %8525, ptr %8526, align 4, !tbaa !5
  %8527 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8528 = load i32, ptr @test_count, align 4, !tbaa !5
  %8529 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8530 = load i32, ptr %8529, align 4, !tbaa !5
  %8531 = call ptr @s2n_strerror(i32 noundef %8530, ptr noundef @.str.4)
  %8532 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8533 = load i32, ptr %8532, align 4, !tbaa !5
  %8534 = call ptr @s2n_strerror_debug(i32 noundef %8533, ptr noundef @.str.4)
  %8535 = call ptr @__errno_location() #9
  %8536 = load i32, ptr %8535, align 4, !tbaa !5
  %8537 = call ptr @strerror(i32 noundef %8536) #8
  %8538 = call ptr @__errno_location() #9
  %8539 = load i32, ptr %8538, align 4, !tbaa !5
  %8540 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8527, ptr noundef @.str.2, i32 noundef %8528, ptr noundef @.str.33, ptr noundef @.str.1, i32 noundef 224, ptr noundef %8531, ptr noundef %8534, ptr noundef %8537, i32 noundef %8539) #8
  br label %8558

8541:                                             ; preds = %8519, %8512
  %8542 = load i32, ptr %146, align 4, !tbaa !5
  %8543 = call ptr @__errno_location() #9
  store i32 %8542, ptr %8543, align 4, !tbaa !5
  %8544 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8545 = load i32, ptr @test_count, align 4, !tbaa !5
  %8546 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8547 = load i32, ptr %8546, align 4, !tbaa !5
  %8548 = call ptr @s2n_strerror(i32 noundef %8547, ptr noundef @.str.4)
  %8549 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8550 = load i32, ptr %8549, align 4, !tbaa !5
  %8551 = call ptr @s2n_strerror_debug(i32 noundef %8550, ptr noundef @.str.4)
  %8552 = call ptr @__errno_location() #9
  %8553 = load i32, ptr %8552, align 4, !tbaa !5
  %8554 = call ptr @strerror(i32 noundef %8553) #8
  %8555 = call ptr @__errno_location() #9
  %8556 = load i32, ptr %8555, align 4, !tbaa !5
  %8557 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8544, ptr noundef @.str.5, i32 noundef %8545, ptr noundef @.str.33, ptr noundef @.str.1, i32 noundef 224, ptr noundef %8548, ptr noundef %8551, ptr noundef %8554, i32 noundef %8556) #8
  br label %8558

8558:                                             ; preds = %8541, %8524
  call void @llvm.lifetime.end.p0(i64 4, ptr %146) #8
  br label %8559

8559:                                             ; preds = %8558
  br label %8560

8560:                                             ; preds = %8559
  call void @exit(i32 noundef 1) #10
  unreachable

8561:                                             ; No predecessors!
  br label %8562

8562:                                             ; preds = %8561
  br label %8563

8563:                                             ; preds = %8562, %8504
  br label %8564

8564:                                             ; preds = %8563
  br label %8565

8565:                                             ; preds = %8564
  br label %8566

8566:                                             ; preds = %8565
  %8567 = load i32, ptr @test_count, align 4, !tbaa !5
  %8568 = add nsw i32 %8567, 1
  store i32 %8568, ptr @test_count, align 4, !tbaa !5
  %8569 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8570 = load i32, ptr %8569, align 4, !tbaa !5
  %8571 = icmp eq i32 %8570, 0
  br i1 %8571, label %8572, label %8625

8572:                                             ; preds = %8566
  br label %8573

8573:                                             ; preds = %8572
  br label %8574

8574:                                             ; preds = %8573
  call void @llvm.lifetime.start.p0(i64 4, ptr %147) #8
  %8575 = call ptr @__errno_location() #9
  %8576 = load i32, ptr %8575, align 4, !tbaa !5
  store i32 %8576, ptr %147, align 4, !tbaa !5
  %8577 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8578 = call i32 @s2n_print_stacktrace(ptr noundef %8577)
  %8579 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8580 = trunc i8 %8579 to i1
  br i1 %8580, label %8581, label %8603

8581:                                             ; preds = %8574
  %8582 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8583 = call i32 @fileno(ptr noundef %8582) #8
  %8584 = call i32 @isatty(i32 noundef %8583) #8
  %8585 = icmp ne i32 %8584, 0
  br i1 %8585, label %8586, label %8603

8586:                                             ; preds = %8581
  %8587 = load i32, ptr %147, align 4, !tbaa !5
  %8588 = call ptr @__errno_location() #9
  store i32 %8587, ptr %8588, align 4, !tbaa !5
  %8589 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8590 = load i32, ptr @test_count, align 4, !tbaa !5
  %8591 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8592 = load i32, ptr %8591, align 4, !tbaa !5
  %8593 = call ptr @s2n_strerror(i32 noundef %8592, ptr noundef @.str.4)
  %8594 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8595 = load i32, ptr %8594, align 4, !tbaa !5
  %8596 = call ptr @s2n_strerror_debug(i32 noundef %8595, ptr noundef @.str.4)
  %8597 = call ptr @__errno_location() #9
  %8598 = load i32, ptr %8597, align 4, !tbaa !5
  %8599 = call ptr @strerror(i32 noundef %8598) #8
  %8600 = call ptr @__errno_location() #9
  %8601 = load i32, ptr %8600, align 4, !tbaa !5
  %8602 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8589, ptr noundef @.str.2, i32 noundef %8590, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 224, ptr noundef %8593, ptr noundef %8596, ptr noundef %8599, i32 noundef %8601) #8
  br label %8620

8603:                                             ; preds = %8581, %8574
  %8604 = load i32, ptr %147, align 4, !tbaa !5
  %8605 = call ptr @__errno_location() #9
  store i32 %8604, ptr %8605, align 4, !tbaa !5
  %8606 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8607 = load i32, ptr @test_count, align 4, !tbaa !5
  %8608 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8609 = load i32, ptr %8608, align 4, !tbaa !5
  %8610 = call ptr @s2n_strerror(i32 noundef %8609, ptr noundef @.str.4)
  %8611 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8612 = load i32, ptr %8611, align 4, !tbaa !5
  %8613 = call ptr @s2n_strerror_debug(i32 noundef %8612, ptr noundef @.str.4)
  %8614 = call ptr @__errno_location() #9
  %8615 = load i32, ptr %8614, align 4, !tbaa !5
  %8616 = call ptr @strerror(i32 noundef %8615) #8
  %8617 = call ptr @__errno_location() #9
  %8618 = load i32, ptr %8617, align 4, !tbaa !5
  %8619 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8606, ptr noundef @.str.5, i32 noundef %8607, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 224, ptr noundef %8610, ptr noundef %8613, ptr noundef %8616, i32 noundef %8618) #8
  br label %8620

8620:                                             ; preds = %8603, %8586
  call void @llvm.lifetime.end.p0(i64 4, ptr %147) #8
  br label %8621

8621:                                             ; preds = %8620
  br label %8622

8622:                                             ; preds = %8621
  call void @exit(i32 noundef 1) #10
  unreachable

8623:                                             ; No predecessors!
  br label %8624

8624:                                             ; preds = %8623
  br label %8625

8625:                                             ; preds = %8624, %8566
  br label %8626

8626:                                             ; preds = %8625
  br label %8627

8627:                                             ; preds = %8626
  br label %8628

8628:                                             ; preds = %8627
  %8629 = load i32, ptr @test_count, align 4, !tbaa !5
  %8630 = add nsw i32 %8629, 1
  store i32 %8630, ptr @test_count, align 4, !tbaa !5
  %8631 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8632 = load i32, ptr %8631, align 4, !tbaa !5
  %8633 = call ptr @s2n_strerror_debug(i32 noundef %8632, ptr noundef @.str.4)
  %8634 = icmp eq ptr %8633, null
  br i1 %8634, label %8635, label %8688

8635:                                             ; preds = %8628
  br label %8636

8636:                                             ; preds = %8635
  br label %8637

8637:                                             ; preds = %8636
  call void @llvm.lifetime.start.p0(i64 4, ptr %148) #8
  %8638 = call ptr @__errno_location() #9
  %8639 = load i32, ptr %8638, align 4, !tbaa !5
  store i32 %8639, ptr %148, align 4, !tbaa !5
  %8640 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8641 = call i32 @s2n_print_stacktrace(ptr noundef %8640)
  %8642 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8643 = trunc i8 %8642 to i1
  br i1 %8643, label %8644, label %8666

8644:                                             ; preds = %8637
  %8645 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8646 = call i32 @fileno(ptr noundef %8645) #8
  %8647 = call i32 @isatty(i32 noundef %8646) #8
  %8648 = icmp ne i32 %8647, 0
  br i1 %8648, label %8649, label %8666

8649:                                             ; preds = %8644
  %8650 = load i32, ptr %148, align 4, !tbaa !5
  %8651 = call ptr @__errno_location() #9
  store i32 %8650, ptr %8651, align 4, !tbaa !5
  %8652 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8653 = load i32, ptr @test_count, align 4, !tbaa !5
  %8654 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8655 = load i32, ptr %8654, align 4, !tbaa !5
  %8656 = call ptr @s2n_strerror(i32 noundef %8655, ptr noundef @.str.4)
  %8657 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8658 = load i32, ptr %8657, align 4, !tbaa !5
  %8659 = call ptr @s2n_strerror_debug(i32 noundef %8658, ptr noundef @.str.4)
  %8660 = call ptr @__errno_location() #9
  %8661 = load i32, ptr %8660, align 4, !tbaa !5
  %8662 = call ptr @strerror(i32 noundef %8661) #8
  %8663 = call ptr @__errno_location() #9
  %8664 = load i32, ptr %8663, align 4, !tbaa !5
  %8665 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8652, ptr noundef @.str.2, i32 noundef %8653, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 224, ptr noundef %8656, ptr noundef %8659, ptr noundef %8662, i32 noundef %8664) #8
  br label %8683

8666:                                             ; preds = %8644, %8637
  %8667 = load i32, ptr %148, align 4, !tbaa !5
  %8668 = call ptr @__errno_location() #9
  store i32 %8667, ptr %8668, align 4, !tbaa !5
  %8669 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8670 = load i32, ptr @test_count, align 4, !tbaa !5
  %8671 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8672 = load i32, ptr %8671, align 4, !tbaa !5
  %8673 = call ptr @s2n_strerror(i32 noundef %8672, ptr noundef @.str.4)
  %8674 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8675 = load i32, ptr %8674, align 4, !tbaa !5
  %8676 = call ptr @s2n_strerror_debug(i32 noundef %8675, ptr noundef @.str.4)
  %8677 = call ptr @__errno_location() #9
  %8678 = load i32, ptr %8677, align 4, !tbaa !5
  %8679 = call ptr @strerror(i32 noundef %8678) #8
  %8680 = call ptr @__errno_location() #9
  %8681 = load i32, ptr %8680, align 4, !tbaa !5
  %8682 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8669, ptr noundef @.str.5, i32 noundef %8670, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 224, ptr noundef %8673, ptr noundef %8676, ptr noundef %8679, i32 noundef %8681) #8
  br label %8683

8683:                                             ; preds = %8666, %8649
  call void @llvm.lifetime.end.p0(i64 4, ptr %148) #8
  br label %8684

8684:                                             ; preds = %8683
  br label %8685

8685:                                             ; preds = %8684
  call void @exit(i32 noundef 1) #10
  unreachable

8686:                                             ; No predecessors!
  br label %8687

8687:                                             ; preds = %8686
  br label %8688

8688:                                             ; preds = %8687, %8628
  br label %8689

8689:                                             ; preds = %8688
  br label %8690

8690:                                             ; preds = %8689
  br label %8691

8691:                                             ; preds = %8690
  %8692 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %8692, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %8693 = call ptr @__errno_location() #9
  store i32 0, ptr %8693, align 4, !tbaa !5
  br label %8694

8694:                                             ; preds = %8691
  br label %8695

8695:                                             ; preds = %8694
  br label %8696

8696:                                             ; preds = %8695
  br label %8697

8697:                                             ; preds = %8696
  br label %8698

8698:                                             ; preds = %8697
  br label %8699

8699:                                             ; preds = %8698
  %8700 = load i32, ptr @test_count, align 4, !tbaa !5
  %8701 = add nsw i32 %8700, 1
  store i32 %8701, ptr @test_count, align 4, !tbaa !5
  %8702 = load ptr, ptr %59, align 8, !tbaa !9
  %8703 = call i32 @s2n_is_sig_scheme_valid_for_auth(ptr noundef %8702, ptr noundef @s2n_rsa_pss_rsae_sha256)
  %8704 = icmp eq i32 %8703, -1
  br i1 %8704, label %8758, label %8705

8705:                                             ; preds = %8699
  br label %8706

8706:                                             ; preds = %8705
  br label %8707

8707:                                             ; preds = %8706
  call void @llvm.lifetime.start.p0(i64 4, ptr %149) #8
  %8708 = call ptr @__errno_location() #9
  %8709 = load i32, ptr %8708, align 4, !tbaa !5
  store i32 %8709, ptr %149, align 4, !tbaa !5
  %8710 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8711 = call i32 @s2n_print_stacktrace(ptr noundef %8710)
  %8712 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8713 = trunc i8 %8712 to i1
  br i1 %8713, label %8714, label %8736

8714:                                             ; preds = %8707
  %8715 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8716 = call i32 @fileno(ptr noundef %8715) #8
  %8717 = call i32 @isatty(i32 noundef %8716) #8
  %8718 = icmp ne i32 %8717, 0
  br i1 %8718, label %8719, label %8736

8719:                                             ; preds = %8714
  %8720 = load i32, ptr %149, align 4, !tbaa !5
  %8721 = call ptr @__errno_location() #9
  store i32 %8720, ptr %8721, align 4, !tbaa !5
  %8722 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8723 = load i32, ptr @test_count, align 4, !tbaa !5
  %8724 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8725 = load i32, ptr %8724, align 4, !tbaa !5
  %8726 = call ptr @s2n_strerror(i32 noundef %8725, ptr noundef @.str.4)
  %8727 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8728 = load i32, ptr %8727, align 4, !tbaa !5
  %8729 = call ptr @s2n_strerror_debug(i32 noundef %8728, ptr noundef @.str.4)
  %8730 = call ptr @__errno_location() #9
  %8731 = load i32, ptr %8730, align 4, !tbaa !5
  %8732 = call ptr @strerror(i32 noundef %8731) #8
  %8733 = call ptr @__errno_location() #9
  %8734 = load i32, ptr %8733, align 4, !tbaa !5
  %8735 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8722, ptr noundef @.str.2, i32 noundef %8723, ptr noundef @.str.34, ptr noundef @.str.1, i32 noundef 225, ptr noundef %8726, ptr noundef %8729, ptr noundef %8732, i32 noundef %8734) #8
  br label %8753

8736:                                             ; preds = %8714, %8707
  %8737 = load i32, ptr %149, align 4, !tbaa !5
  %8738 = call ptr @__errno_location() #9
  store i32 %8737, ptr %8738, align 4, !tbaa !5
  %8739 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8740 = load i32, ptr @test_count, align 4, !tbaa !5
  %8741 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8742 = load i32, ptr %8741, align 4, !tbaa !5
  %8743 = call ptr @s2n_strerror(i32 noundef %8742, ptr noundef @.str.4)
  %8744 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8745 = load i32, ptr %8744, align 4, !tbaa !5
  %8746 = call ptr @s2n_strerror_debug(i32 noundef %8745, ptr noundef @.str.4)
  %8747 = call ptr @__errno_location() #9
  %8748 = load i32, ptr %8747, align 4, !tbaa !5
  %8749 = call ptr @strerror(i32 noundef %8748) #8
  %8750 = call ptr @__errno_location() #9
  %8751 = load i32, ptr %8750, align 4, !tbaa !5
  %8752 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8739, ptr noundef @.str.5, i32 noundef %8740, ptr noundef @.str.34, ptr noundef @.str.1, i32 noundef 225, ptr noundef %8743, ptr noundef %8746, ptr noundef %8749, i32 noundef %8751) #8
  br label %8753

8753:                                             ; preds = %8736, %8719
  call void @llvm.lifetime.end.p0(i64 4, ptr %149) #8
  br label %8754

8754:                                             ; preds = %8753
  br label %8755

8755:                                             ; preds = %8754
  call void @exit(i32 noundef 1) #10
  unreachable

8756:                                             ; No predecessors!
  br label %8757

8757:                                             ; preds = %8756
  br label %8758

8758:                                             ; preds = %8757, %8699
  br label %8759

8759:                                             ; preds = %8758
  br label %8760

8760:                                             ; preds = %8759
  br label %8761

8761:                                             ; preds = %8760
  %8762 = load i32, ptr @test_count, align 4, !tbaa !5
  %8763 = add nsw i32 %8762, 1
  store i32 %8763, 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 = icmp eq i32 %8765, 0
  br i1 %8766, label %8767, label %8820

8767:                                             ; preds = %8761
  br label %8768

8768:                                             ; preds = %8767
  br label %8769

8769:                                             ; preds = %8768
  call void @llvm.lifetime.start.p0(i64 4, ptr %150) #8
  %8770 = call ptr @__errno_location() #9
  %8771 = load i32, ptr %8770, align 4, !tbaa !5
  store i32 %8771, ptr %150, align 4, !tbaa !5
  %8772 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8773 = call i32 @s2n_print_stacktrace(ptr noundef %8772)
  %8774 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8775 = trunc i8 %8774 to i1
  br i1 %8775, label %8776, label %8798

8776:                                             ; preds = %8769
  %8777 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8778 = call i32 @fileno(ptr noundef %8777) #8
  %8779 = call i32 @isatty(i32 noundef %8778) #8
  %8780 = icmp ne i32 %8779, 0
  br i1 %8780, label %8781, label %8798

8781:                                             ; preds = %8776
  %8782 = load i32, ptr %150, align 4, !tbaa !5
  %8783 = call ptr @__errno_location() #9
  store i32 %8782, ptr %8783, align 4, !tbaa !5
  %8784 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8785 = load i32, ptr @test_count, align 4, !tbaa !5
  %8786 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8787 = load i32, ptr %8786, align 4, !tbaa !5
  %8788 = call ptr @s2n_strerror(i32 noundef %8787, ptr noundef @.str.4)
  %8789 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8790 = load i32, ptr %8789, align 4, !tbaa !5
  %8791 = call ptr @s2n_strerror_debug(i32 noundef %8790, ptr noundef @.str.4)
  %8792 = call ptr @__errno_location() #9
  %8793 = load i32, ptr %8792, align 4, !tbaa !5
  %8794 = call ptr @strerror(i32 noundef %8793) #8
  %8795 = call ptr @__errno_location() #9
  %8796 = load i32, ptr %8795, align 4, !tbaa !5
  %8797 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8784, ptr noundef @.str.2, i32 noundef %8785, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 225, ptr noundef %8788, ptr noundef %8791, ptr noundef %8794, i32 noundef %8796) #8
  br label %8815

8798:                                             ; preds = %8776, %8769
  %8799 = load i32, ptr %150, align 4, !tbaa !5
  %8800 = call ptr @__errno_location() #9
  store i32 %8799, ptr %8800, align 4, !tbaa !5
  %8801 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8802 = load i32, ptr @test_count, align 4, !tbaa !5
  %8803 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8804 = load i32, ptr %8803, align 4, !tbaa !5
  %8805 = call ptr @s2n_strerror(i32 noundef %8804, ptr noundef @.str.4)
  %8806 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8807 = load i32, ptr %8806, align 4, !tbaa !5
  %8808 = call ptr @s2n_strerror_debug(i32 noundef %8807, ptr noundef @.str.4)
  %8809 = call ptr @__errno_location() #9
  %8810 = load i32, ptr %8809, align 4, !tbaa !5
  %8811 = call ptr @strerror(i32 noundef %8810) #8
  %8812 = call ptr @__errno_location() #9
  %8813 = load i32, ptr %8812, align 4, !tbaa !5
  %8814 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8801, ptr noundef @.str.5, i32 noundef %8802, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 225, ptr noundef %8805, ptr noundef %8808, ptr noundef %8811, i32 noundef %8813) #8
  br label %8815

8815:                                             ; preds = %8798, %8781
  call void @llvm.lifetime.end.p0(i64 4, ptr %150) #8
  br label %8816

8816:                                             ; preds = %8815
  br label %8817

8817:                                             ; preds = %8816
  call void @exit(i32 noundef 1) #10
  unreachable

8818:                                             ; No predecessors!
  br label %8819

8819:                                             ; preds = %8818
  br label %8820

8820:                                             ; preds = %8819, %8761
  br label %8821

8821:                                             ; preds = %8820
  br label %8822

8822:                                             ; preds = %8821
  br label %8823

8823:                                             ; preds = %8822
  %8824 = load i32, ptr @test_count, align 4, !tbaa !5
  %8825 = add nsw i32 %8824, 1
  store i32 %8825, ptr @test_count, align 4, !tbaa !5
  %8826 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8827 = load i32, ptr %8826, align 4, !tbaa !5
  %8828 = call ptr @s2n_strerror_debug(i32 noundef %8827, ptr noundef @.str.4)
  %8829 = icmp eq ptr %8828, null
  br i1 %8829, label %8830, label %8883

8830:                                             ; preds = %8823
  br label %8831

8831:                                             ; preds = %8830
  br label %8832

8832:                                             ; preds = %8831
  call void @llvm.lifetime.start.p0(i64 4, ptr %151) #8
  %8833 = call ptr @__errno_location() #9
  %8834 = load i32, ptr %8833, align 4, !tbaa !5
  store i32 %8834, ptr %151, align 4, !tbaa !5
  %8835 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8836 = call i32 @s2n_print_stacktrace(ptr noundef %8835)
  %8837 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8838 = trunc i8 %8837 to i1
  br i1 %8838, label %8839, label %8861

8839:                                             ; preds = %8832
  %8840 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8841 = call i32 @fileno(ptr noundef %8840) #8
  %8842 = call i32 @isatty(i32 noundef %8841) #8
  %8843 = icmp ne i32 %8842, 0
  br i1 %8843, label %8844, label %8861

8844:                                             ; preds = %8839
  %8845 = load i32, ptr %151, align 4, !tbaa !5
  %8846 = call ptr @__errno_location() #9
  store i32 %8845, ptr %8846, align 4, !tbaa !5
  %8847 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8848 = load i32, ptr @test_count, align 4, !tbaa !5
  %8849 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8850 = load i32, ptr %8849, align 4, !tbaa !5
  %8851 = call ptr @s2n_strerror(i32 noundef %8850, ptr noundef @.str.4)
  %8852 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8853 = load i32, ptr %8852, align 4, !tbaa !5
  %8854 = call ptr @s2n_strerror_debug(i32 noundef %8853, ptr noundef @.str.4)
  %8855 = call ptr @__errno_location() #9
  %8856 = load i32, ptr %8855, align 4, !tbaa !5
  %8857 = call ptr @strerror(i32 noundef %8856) #8
  %8858 = call ptr @__errno_location() #9
  %8859 = load i32, ptr %8858, align 4, !tbaa !5
  %8860 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8847, ptr noundef @.str.2, i32 noundef %8848, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 225, ptr noundef %8851, ptr noundef %8854, ptr noundef %8857, i32 noundef %8859) #8
  br label %8878

8861:                                             ; preds = %8839, %8832
  %8862 = load i32, ptr %151, align 4, !tbaa !5
  %8863 = call ptr @__errno_location() #9
  store i32 %8862, ptr %8863, align 4, !tbaa !5
  %8864 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8865 = load i32, ptr @test_count, align 4, !tbaa !5
  %8866 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8867 = load i32, ptr %8866, align 4, !tbaa !5
  %8868 = call ptr @s2n_strerror(i32 noundef %8867, ptr noundef @.str.4)
  %8869 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8870 = load i32, ptr %8869, align 4, !tbaa !5
  %8871 = call ptr @s2n_strerror_debug(i32 noundef %8870, ptr noundef @.str.4)
  %8872 = call ptr @__errno_location() #9
  %8873 = load i32, ptr %8872, align 4, !tbaa !5
  %8874 = call ptr @strerror(i32 noundef %8873) #8
  %8875 = call ptr @__errno_location() #9
  %8876 = load i32, ptr %8875, align 4, !tbaa !5
  %8877 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8864, ptr noundef @.str.5, i32 noundef %8865, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 225, ptr noundef %8868, ptr noundef %8871, ptr noundef %8874, i32 noundef %8876) #8
  br label %8878

8878:                                             ; preds = %8861, %8844
  call void @llvm.lifetime.end.p0(i64 4, ptr %151) #8
  br label %8879

8879:                                             ; preds = %8878
  br label %8880

8880:                                             ; preds = %8879
  call void @exit(i32 noundef 1) #10
  unreachable

8881:                                             ; No predecessors!
  br label %8882

8882:                                             ; preds = %8881
  br label %8883

8883:                                             ; preds = %8882, %8823
  br label %8884

8884:                                             ; preds = %8883
  br label %8885

8885:                                             ; preds = %8884
  br label %8886

8886:                                             ; preds = %8885
  %8887 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %8887, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %8888 = call ptr @__errno_location() #9
  store i32 0, ptr %8888, align 4, !tbaa !5
  br label %8889

8889:                                             ; preds = %8886
  br label %8890

8890:                                             ; preds = %8889
  br label %8891

8891:                                             ; preds = %8890
  br label %8892

8892:                                             ; preds = %8891
  br label %8893

8893:                                             ; preds = %8892
  %8894 = load i32, ptr @test_count, align 4, !tbaa !5
  %8895 = add nsw i32 %8894, 1
  store i32 %8895, ptr @test_count, align 4, !tbaa !5
  %8896 = load ptr, ptr %59, align 8, !tbaa !9
  %8897 = call i32 @s2n_is_sig_scheme_valid_for_auth(ptr noundef %8896, ptr noundef @s2n_ecdsa_sha384)
  %8898 = icmp eq i32 %8897, -1
  br i1 %8898, label %8899, label %8952

8899:                                             ; preds = %8893
  br label %8900

8900:                                             ; preds = %8899
  br label %8901

8901:                                             ; preds = %8900
  call void @llvm.lifetime.start.p0(i64 4, ptr %152) #8
  %8902 = call ptr @__errno_location() #9
  %8903 = load i32, ptr %8902, align 4, !tbaa !5
  store i32 %8903, ptr %152, align 4, !tbaa !5
  %8904 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8905 = call i32 @s2n_print_stacktrace(ptr noundef %8904)
  %8906 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8907 = trunc i8 %8906 to i1
  br i1 %8907, label %8908, label %8930

8908:                                             ; preds = %8901
  %8909 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8910 = call i32 @fileno(ptr noundef %8909) #8
  %8911 = call i32 @isatty(i32 noundef %8910) #8
  %8912 = icmp ne i32 %8911, 0
  br i1 %8912, label %8913, label %8930

8913:                                             ; preds = %8908
  %8914 = load i32, ptr %152, align 4, !tbaa !5
  %8915 = call ptr @__errno_location() #9
  store i32 %8914, ptr %8915, align 4, !tbaa !5
  %8916 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8917 = load i32, ptr @test_count, align 4, !tbaa !5
  %8918 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8919 = load i32, ptr %8918, align 4, !tbaa !5
  %8920 = call ptr @s2n_strerror(i32 noundef %8919, ptr noundef @.str.4)
  %8921 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8922 = load i32, ptr %8921, align 4, !tbaa !5
  %8923 = call ptr @s2n_strerror_debug(i32 noundef %8922, ptr noundef @.str.4)
  %8924 = call ptr @__errno_location() #9
  %8925 = load i32, ptr %8924, align 4, !tbaa !5
  %8926 = call ptr @strerror(i32 noundef %8925) #8
  %8927 = call ptr @__errno_location() #9
  %8928 = load i32, ptr %8927, align 4, !tbaa !5
  %8929 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8916, ptr noundef @.str.2, i32 noundef %8917, ptr noundef @.str.39, ptr noundef @.str.1, i32 noundef 226, ptr noundef %8920, ptr noundef %8923, ptr noundef %8926, i32 noundef %8928) #8
  br label %8947

8930:                                             ; preds = %8908, %8901
  %8931 = load i32, ptr %152, align 4, !tbaa !5
  %8932 = call ptr @__errno_location() #9
  store i32 %8931, ptr %8932, align 4, !tbaa !5
  %8933 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8934 = load i32, ptr @test_count, align 4, !tbaa !5
  %8935 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8936 = load i32, ptr %8935, align 4, !tbaa !5
  %8937 = call ptr @s2n_strerror(i32 noundef %8936, ptr noundef @.str.4)
  %8938 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8939 = load i32, ptr %8938, align 4, !tbaa !5
  %8940 = call ptr @s2n_strerror_debug(i32 noundef %8939, ptr noundef @.str.4)
  %8941 = call ptr @__errno_location() #9
  %8942 = load i32, ptr %8941, align 4, !tbaa !5
  %8943 = call ptr @strerror(i32 noundef %8942) #8
  %8944 = call ptr @__errno_location() #9
  %8945 = load i32, ptr %8944, align 4, !tbaa !5
  %8946 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8933, ptr noundef @.str.5, i32 noundef %8934, ptr noundef @.str.39, ptr noundef @.str.1, i32 noundef 226, ptr noundef %8937, ptr noundef %8940, ptr noundef %8943, i32 noundef %8945) #8
  br label %8947

8947:                                             ; preds = %8930, %8913
  call void @llvm.lifetime.end.p0(i64 4, ptr %152) #8
  br label %8948

8948:                                             ; preds = %8947
  br label %8949

8949:                                             ; preds = %8948
  call void @exit(i32 noundef 1) #10
  unreachable

8950:                                             ; No predecessors!
  br label %8951

8951:                                             ; preds = %8950
  br label %8952

8952:                                             ; preds = %8951, %8893
  br label %8953

8953:                                             ; preds = %8952
  br label %8954

8954:                                             ; preds = %8953
  call void @llvm.lifetime.start.p0(i64 8, ptr %153) #8
  %8955 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %8955, ptr %153, align 8, !tbaa !9
  br label %8956

8956:                                             ; preds = %8954
  %8957 = load i32, ptr @test_count, align 4, !tbaa !5
  %8958 = add nsw i32 %8957, 1
  store i32 %8958, ptr @test_count, align 4, !tbaa !5
  %8959 = load ptr, ptr %153, align 8, !tbaa !9
  %8960 = icmp eq ptr %8959, null
  br i1 %8960, label %8961, label %9014

8961:                                             ; preds = %8956
  br label %8962

8962:                                             ; preds = %8961
  br label %8963

8963:                                             ; preds = %8962
  call void @llvm.lifetime.start.p0(i64 4, ptr %154) #8
  %8964 = call ptr @__errno_location() #9
  %8965 = load i32, ptr %8964, align 4, !tbaa !5
  store i32 %8965, ptr %154, align 4, !tbaa !5
  %8966 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8967 = call i32 @s2n_print_stacktrace(ptr noundef %8966)
  %8968 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8969 = trunc i8 %8968 to i1
  br i1 %8969, label %8970, label %8992

8970:                                             ; preds = %8963
  %8971 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8972 = call i32 @fileno(ptr noundef %8971) #8
  %8973 = call i32 @isatty(i32 noundef %8972) #8
  %8974 = icmp ne i32 %8973, 0
  br i1 %8974, label %8975, label %8992

8975:                                             ; preds = %8970
  %8976 = load i32, ptr %154, align 4, !tbaa !5
  %8977 = call ptr @__errno_location() #9
  store i32 %8976, ptr %8977, align 4, !tbaa !5
  %8978 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8979 = load i32, ptr @test_count, align 4, !tbaa !5
  %8980 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8981 = load i32, ptr %8980, align 4, !tbaa !5
  %8982 = call ptr @s2n_strerror(i32 noundef %8981, ptr noundef @.str.4)
  %8983 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8984 = load i32, ptr %8983, align 4, !tbaa !5
  %8985 = call ptr @s2n_strerror_debug(i32 noundef %8984, ptr noundef @.str.4)
  %8986 = call ptr @__errno_location() #9
  %8987 = load i32, ptr %8986, align 4, !tbaa !5
  %8988 = call ptr @strerror(i32 noundef %8987) #8
  %8989 = call ptr @__errno_location() #9
  %8990 = load i32, ptr %8989, align 4, !tbaa !5
  %8991 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8978, ptr noundef @.str.2, i32 noundef %8979, ptr noundef @.str.52, ptr noundef @.str.1, i32 noundef 232, ptr noundef %8982, ptr noundef %8985, ptr noundef %8988, i32 noundef %8990) #8
  br label %9009

8992:                                             ; preds = %8970, %8963
  %8993 = load i32, ptr %154, align 4, !tbaa !5
  %8994 = call ptr @__errno_location() #9
  store i32 %8993, ptr %8994, align 4, !tbaa !5
  %8995 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8996 = load i32, ptr @test_count, align 4, !tbaa !5
  %8997 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8998 = load i32, ptr %8997, align 4, !tbaa !5
  %8999 = call ptr @s2n_strerror(i32 noundef %8998, ptr noundef @.str.4)
  %9000 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9001 = load i32, ptr %9000, align 4, !tbaa !5
  %9002 = call ptr @s2n_strerror_debug(i32 noundef %9001, ptr noundef @.str.4)
  %9003 = call ptr @__errno_location() #9
  %9004 = load i32, ptr %9003, align 4, !tbaa !5
  %9005 = call ptr @strerror(i32 noundef %9004) #8
  %9006 = call ptr @__errno_location() #9
  %9007 = load i32, ptr %9006, align 4, !tbaa !5
  %9008 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8995, ptr noundef @.str.5, i32 noundef %8996, ptr noundef @.str.52, ptr noundef @.str.1, i32 noundef 232, ptr noundef %8999, ptr noundef %9002, ptr noundef %9005, i32 noundef %9007) #8
  br label %9009

9009:                                             ; preds = %8992, %8975
  call void @llvm.lifetime.end.p0(i64 4, ptr %154) #8
  br label %9010

9010:                                             ; preds = %9009
  br label %9011

9011:                                             ; preds = %9010
  call void @exit(i32 noundef 1) #10
  unreachable

9012:                                             ; No predecessors!
  br label %9013

9013:                                             ; preds = %9012
  br label %9014

9014:                                             ; preds = %9013, %8956
  br label %9015

9015:                                             ; preds = %9014
  br label %9016

9016:                                             ; preds = %9015
  br label %9017

9017:                                             ; preds = %9016
  %9018 = load i32, ptr @test_count, align 4, !tbaa !5
  %9019 = add nsw i32 %9018, 1
  store i32 %9019, ptr @test_count, align 4, !tbaa !5
  %9020 = load ptr, ptr %153, align 8, !tbaa !9
  %9021 = load ptr, ptr %15, align 8, !tbaa !9
  %9022 = call i32 @s2n_connection_set_config(ptr noundef %9020, ptr noundef %9021)
  %9023 = icmp eq i32 %9022, -1
  br i1 %9023, label %9024, label %9077

9024:                                             ; preds = %9017
  br label %9025

9025:                                             ; preds = %9024
  br label %9026

9026:                                             ; preds = %9025
  call void @llvm.lifetime.start.p0(i64 4, ptr %155) #8
  %9027 = call ptr @__errno_location() #9
  %9028 = load i32, ptr %9027, align 4, !tbaa !5
  store i32 %9028, ptr %155, align 4, !tbaa !5
  %9029 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9030 = call i32 @s2n_print_stacktrace(ptr noundef %9029)
  %9031 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9032 = trunc i8 %9031 to i1
  br i1 %9032, label %9033, label %9055

9033:                                             ; preds = %9026
  %9034 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9035 = call i32 @fileno(ptr noundef %9034) #8
  %9036 = call i32 @isatty(i32 noundef %9035) #8
  %9037 = icmp ne i32 %9036, 0
  br i1 %9037, label %9038, label %9055

9038:                                             ; preds = %9033
  %9039 = load i32, ptr %155, align 4, !tbaa !5
  %9040 = call ptr @__errno_location() #9
  store i32 %9039, ptr %9040, align 4, !tbaa !5
  %9041 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9042 = load i32, ptr @test_count, align 4, !tbaa !5
  %9043 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9044 = load i32, ptr %9043, align 4, !tbaa !5
  %9045 = call ptr @s2n_strerror(i32 noundef %9044, ptr noundef @.str.4)
  %9046 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9047 = load i32, ptr %9046, align 4, !tbaa !5
  %9048 = call ptr @s2n_strerror_debug(i32 noundef %9047, ptr noundef @.str.4)
  %9049 = call ptr @__errno_location() #9
  %9050 = load i32, ptr %9049, align 4, !tbaa !5
  %9051 = call ptr @strerror(i32 noundef %9050) #8
  %9052 = call ptr @__errno_location() #9
  %9053 = load i32, ptr %9052, align 4, !tbaa !5
  %9054 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9041, ptr noundef @.str.2, i32 noundef %9042, ptr noundef @.str.53, ptr noundef @.str.1, i32 noundef 235, ptr noundef %9045, ptr noundef %9048, ptr noundef %9051, i32 noundef %9053) #8
  br label %9072

9055:                                             ; preds = %9033, %9026
  %9056 = load i32, ptr %155, align 4, !tbaa !5
  %9057 = call ptr @__errno_location() #9
  store i32 %9056, ptr %9057, align 4, !tbaa !5
  %9058 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9059 = load i32, ptr @test_count, align 4, !tbaa !5
  %9060 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9061 = load i32, ptr %9060, align 4, !tbaa !5
  %9062 = call ptr @s2n_strerror(i32 noundef %9061, ptr noundef @.str.4)
  %9063 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9064 = load i32, ptr %9063, align 4, !tbaa !5
  %9065 = call ptr @s2n_strerror_debug(i32 noundef %9064, ptr noundef @.str.4)
  %9066 = call ptr @__errno_location() #9
  %9067 = load i32, ptr %9066, align 4, !tbaa !5
  %9068 = call ptr @strerror(i32 noundef %9067) #8
  %9069 = call ptr @__errno_location() #9
  %9070 = load i32, ptr %9069, align 4, !tbaa !5
  %9071 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9058, ptr noundef @.str.5, i32 noundef %9059, ptr noundef @.str.53, ptr noundef @.str.1, i32 noundef 235, ptr noundef %9062, ptr noundef %9065, ptr noundef %9068, i32 noundef %9070) #8
  br label %9072

9072:                                             ; preds = %9055, %9038
  call void @llvm.lifetime.end.p0(i64 4, ptr %155) #8
  br label %9073

9073:                                             ; preds = %9072
  br label %9074

9074:                                             ; preds = %9073
  call void @exit(i32 noundef 1) #10
  unreachable

9075:                                             ; No predecessors!
  br label %9076

9076:                                             ; preds = %9075
  br label %9077

9077:                                             ; preds = %9076, %9017
  br label %9078

9078:                                             ; preds = %9077
  br label %9079

9079:                                             ; preds = %9078
  %9080 = load ptr, ptr %153, align 8, !tbaa !9
  %9081 = getelementptr inbounds %struct.s2n_connection, ptr %9080, i32 0, i32 27
  %9082 = load ptr, ptr %9081, align 8, !tbaa !15
  %9083 = getelementptr inbounds %struct.s2n_crypto_parameters, ptr %9082, i32 0, i32 0
  store ptr @s2n_ecdhe_ecdsa_with_aes_128_cbc_sha, ptr %9083, align 8, !tbaa !42
  br label %9084

9084:                                             ; preds = %9079
  %9085 = load i32, ptr @test_count, align 4, !tbaa !5
  %9086 = add nsw i32 %9085, 1
  store i32 %9086, ptr @test_count, align 4, !tbaa !5
  %9087 = load ptr, ptr %153, align 8, !tbaa !9
  %9088 = call i32 @s2n_is_sig_scheme_valid_for_auth(ptr noundef %9087, ptr noundef @s2n_rsa_pkcs1_md5_sha1)
  %9089 = icmp eq i32 %9088, -1
  br i1 %9089, label %9090, label %9143

9090:                                             ; preds = %9084
  br label %9091

9091:                                             ; preds = %9090
  br label %9092

9092:                                             ; preds = %9091
  call void @llvm.lifetime.start.p0(i64 4, ptr %156) #8
  %9093 = call ptr @__errno_location() #9
  %9094 = load i32, ptr %9093, align 4, !tbaa !5
  store i32 %9094, ptr %156, align 4, !tbaa !5
  %9095 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9096 = call i32 @s2n_print_stacktrace(ptr noundef %9095)
  %9097 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9098 = trunc i8 %9097 to i1
  br i1 %9098, label %9099, label %9121

9099:                                             ; preds = %9092
  %9100 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9101 = call i32 @fileno(ptr noundef %9100) #8
  %9102 = call i32 @isatty(i32 noundef %9101) #8
  %9103 = icmp ne i32 %9102, 0
  br i1 %9103, label %9104, label %9121

9104:                                             ; preds = %9099
  %9105 = load i32, ptr %156, align 4, !tbaa !5
  %9106 = call ptr @__errno_location() #9
  store i32 %9105, ptr %9106, align 4, !tbaa !5
  %9107 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9108 = load i32, ptr @test_count, align 4, !tbaa !5
  %9109 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9110 = load i32, ptr %9109, align 4, !tbaa !5
  %9111 = call ptr @s2n_strerror(i32 noundef %9110, ptr noundef @.str.4)
  %9112 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9113 = load i32, ptr %9112, align 4, !tbaa !5
  %9114 = call ptr @s2n_strerror_debug(i32 noundef %9113, ptr noundef @.str.4)
  %9115 = call ptr @__errno_location() #9
  %9116 = load i32, ptr %9115, align 4, !tbaa !5
  %9117 = call ptr @strerror(i32 noundef %9116) #8
  %9118 = call ptr @__errno_location() #9
  %9119 = load i32, ptr %9118, align 4, !tbaa !5
  %9120 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9107, ptr noundef @.str.2, i32 noundef %9108, ptr noundef @.str.54, ptr noundef @.str.1, i32 noundef 237, ptr noundef %9111, ptr noundef %9114, ptr noundef %9117, i32 noundef %9119) #8
  br label %9138

9121:                                             ; preds = %9099, %9092
  %9122 = load i32, ptr %156, align 4, !tbaa !5
  %9123 = call ptr @__errno_location() #9
  store i32 %9122, ptr %9123, align 4, !tbaa !5
  %9124 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9125 = load i32, ptr @test_count, align 4, !tbaa !5
  %9126 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9127 = load i32, ptr %9126, align 4, !tbaa !5
  %9128 = call ptr @s2n_strerror(i32 noundef %9127, ptr noundef @.str.4)
  %9129 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9130 = load i32, ptr %9129, align 4, !tbaa !5
  %9131 = call ptr @s2n_strerror_debug(i32 noundef %9130, ptr noundef @.str.4)
  %9132 = call ptr @__errno_location() #9
  %9133 = load i32, ptr %9132, align 4, !tbaa !5
  %9134 = call ptr @strerror(i32 noundef %9133) #8
  %9135 = call ptr @__errno_location() #9
  %9136 = load i32, ptr %9135, align 4, !tbaa !5
  %9137 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9124, ptr noundef @.str.5, i32 noundef %9125, ptr noundef @.str.54, ptr noundef @.str.1, i32 noundef 237, ptr noundef %9128, ptr noundef %9131, ptr noundef %9134, i32 noundef %9136) #8
  br label %9138

9138:                                             ; preds = %9121, %9104
  call void @llvm.lifetime.end.p0(i64 4, ptr %156) #8
  br label %9139

9139:                                             ; preds = %9138
  br label %9140

9140:                                             ; preds = %9139
  call void @exit(i32 noundef 1) #10
  unreachable

9141:                                             ; No predecessors!
  br label %9142

9142:                                             ; preds = %9141
  br label %9143

9143:                                             ; preds = %9142, %9084
  br label %9144

9144:                                             ; preds = %9143
  br label %9145

9145:                                             ; preds = %9144
  br label %9146

9146:                                             ; preds = %9145
  %9147 = load i32, ptr @test_count, align 4, !tbaa !5
  %9148 = add nsw i32 %9147, 1
  store i32 %9148, ptr @test_count, align 4, !tbaa !5
  %9149 = load ptr, ptr %153, align 8, !tbaa !9
  %9150 = call i32 @s2n_is_sig_scheme_valid_for_auth(ptr noundef %9149, ptr noundef @s2n_rsa_pss_rsae_sha256)
  %9151 = icmp eq i32 %9150, -1
  br i1 %9151, label %9152, label %9205

9152:                                             ; preds = %9146
  br label %9153

9153:                                             ; preds = %9152
  br label %9154

9154:                                             ; preds = %9153
  call void @llvm.lifetime.start.p0(i64 4, ptr %157) #8
  %9155 = call ptr @__errno_location() #9
  %9156 = load i32, ptr %9155, align 4, !tbaa !5
  store i32 %9156, ptr %157, align 4, !tbaa !5
  %9157 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9158 = call i32 @s2n_print_stacktrace(ptr noundef %9157)
  %9159 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9160 = trunc i8 %9159 to i1
  br i1 %9160, label %9161, label %9183

9161:                                             ; preds = %9154
  %9162 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9163 = call i32 @fileno(ptr noundef %9162) #8
  %9164 = call i32 @isatty(i32 noundef %9163) #8
  %9165 = icmp ne i32 %9164, 0
  br i1 %9165, label %9166, label %9183

9166:                                             ; preds = %9161
  %9167 = load i32, ptr %157, align 4, !tbaa !5
  %9168 = call ptr @__errno_location() #9
  store i32 %9167, ptr %9168, align 4, !tbaa !5
  %9169 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9170 = load i32, ptr @test_count, align 4, !tbaa !5
  %9171 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9172 = load i32, ptr %9171, align 4, !tbaa !5
  %9173 = call ptr @s2n_strerror(i32 noundef %9172, ptr noundef @.str.4)
  %9174 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9175 = load i32, ptr %9174, align 4, !tbaa !5
  %9176 = call ptr @s2n_strerror_debug(i32 noundef %9175, ptr noundef @.str.4)
  %9177 = call ptr @__errno_location() #9
  %9178 = load i32, ptr %9177, align 4, !tbaa !5
  %9179 = call ptr @strerror(i32 noundef %9178) #8
  %9180 = call ptr @__errno_location() #9
  %9181 = load i32, ptr %9180, align 4, !tbaa !5
  %9182 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9169, ptr noundef @.str.2, i32 noundef %9170, ptr noundef @.str.55, ptr noundef @.str.1, i32 noundef 238, ptr noundef %9173, ptr noundef %9176, ptr noundef %9179, i32 noundef %9181) #8
  br label %9200

9183:                                             ; preds = %9161, %9154
  %9184 = load i32, ptr %157, align 4, !tbaa !5
  %9185 = call ptr @__errno_location() #9
  store i32 %9184, ptr %9185, align 4, !tbaa !5
  %9186 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9187 = load i32, ptr @test_count, align 4, !tbaa !5
  %9188 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9189 = load i32, ptr %9188, align 4, !tbaa !5
  %9190 = call ptr @s2n_strerror(i32 noundef %9189, ptr noundef @.str.4)
  %9191 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9192 = load i32, ptr %9191, align 4, !tbaa !5
  %9193 = call ptr @s2n_strerror_debug(i32 noundef %9192, ptr noundef @.str.4)
  %9194 = call ptr @__errno_location() #9
  %9195 = load i32, ptr %9194, align 4, !tbaa !5
  %9196 = call ptr @strerror(i32 noundef %9195) #8
  %9197 = call ptr @__errno_location() #9
  %9198 = load i32, ptr %9197, align 4, !tbaa !5
  %9199 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9186, ptr noundef @.str.5, i32 noundef %9187, ptr noundef @.str.55, ptr noundef @.str.1, i32 noundef 238, ptr noundef %9190, ptr noundef %9193, ptr noundef %9196, i32 noundef %9198) #8
  br label %9200

9200:                                             ; preds = %9183, %9166
  call void @llvm.lifetime.end.p0(i64 4, ptr %157) #8
  br label %9201

9201:                                             ; preds = %9200
  br label %9202

9202:                                             ; preds = %9201
  call void @exit(i32 noundef 1) #10
  unreachable

9203:                                             ; No predecessors!
  br label %9204

9204:                                             ; preds = %9203
  br label %9205

9205:                                             ; preds = %9204, %9146
  br label %9206

9206:                                             ; preds = %9205
  br label %9207

9207:                                             ; preds = %9206
  br label %9208

9208:                                             ; preds = %9207
  %9209 = load i32, ptr @test_count, align 4, !tbaa !5
  %9210 = add nsw i32 %9209, 1
  store i32 %9210, ptr @test_count, align 4, !tbaa !5
  %9211 = load ptr, ptr %153, align 8, !tbaa !9
  %9212 = load ptr, ptr %17, align 8, !tbaa !9
  %9213 = call i32 @s2n_connection_set_config(ptr noundef %9211, ptr noundef %9212)
  %9214 = icmp eq i32 %9213, -1
  br i1 %9214, label %9215, label %9268

9215:                                             ; preds = %9208
  br label %9216

9216:                                             ; preds = %9215
  br label %9217

9217:                                             ; preds = %9216
  call void @llvm.lifetime.start.p0(i64 4, ptr %158) #8
  %9218 = call ptr @__errno_location() #9
  %9219 = load i32, ptr %9218, align 4, !tbaa !5
  store i32 %9219, ptr %158, align 4, !tbaa !5
  %9220 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9221 = call i32 @s2n_print_stacktrace(ptr noundef %9220)
  %9222 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9223 = trunc i8 %9222 to i1
  br i1 %9223, label %9224, label %9246

9224:                                             ; preds = %9217
  %9225 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9226 = call i32 @fileno(ptr noundef %9225) #8
  %9227 = call i32 @isatty(i32 noundef %9226) #8
  %9228 = icmp ne i32 %9227, 0
  br i1 %9228, label %9229, label %9246

9229:                                             ; preds = %9224
  %9230 = load i32, ptr %158, align 4, !tbaa !5
  %9231 = call ptr @__errno_location() #9
  store i32 %9230, ptr %9231, align 4, !tbaa !5
  %9232 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9233 = load i32, ptr @test_count, align 4, !tbaa !5
  %9234 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9235 = load i32, ptr %9234, align 4, !tbaa !5
  %9236 = call ptr @s2n_strerror(i32 noundef %9235, ptr noundef @.str.4)
  %9237 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9238 = load i32, ptr %9237, align 4, !tbaa !5
  %9239 = call ptr @s2n_strerror_debug(i32 noundef %9238, ptr noundef @.str.4)
  %9240 = call ptr @__errno_location() #9
  %9241 = load i32, ptr %9240, align 4, !tbaa !5
  %9242 = call ptr @strerror(i32 noundef %9241) #8
  %9243 = call ptr @__errno_location() #9
  %9244 = load i32, ptr %9243, align 4, !tbaa !5
  %9245 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9232, ptr noundef @.str.2, i32 noundef %9233, ptr noundef @.str.56, ptr noundef @.str.1, i32 noundef 241, ptr noundef %9236, ptr noundef %9239, ptr noundef %9242, i32 noundef %9244) #8
  br label %9263

9246:                                             ; preds = %9224, %9217
  %9247 = load i32, ptr %158, align 4, !tbaa !5
  %9248 = call ptr @__errno_location() #9
  store i32 %9247, ptr %9248, align 4, !tbaa !5
  %9249 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9250 = load i32, ptr @test_count, align 4, !tbaa !5
  %9251 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9252 = load i32, ptr %9251, align 4, !tbaa !5
  %9253 = call ptr @s2n_strerror(i32 noundef %9252, ptr noundef @.str.4)
  %9254 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9255 = load i32, ptr %9254, align 4, !tbaa !5
  %9256 = call ptr @s2n_strerror_debug(i32 noundef %9255, ptr noundef @.str.4)
  %9257 = call ptr @__errno_location() #9
  %9258 = load i32, ptr %9257, align 4, !tbaa !5
  %9259 = call ptr @strerror(i32 noundef %9258) #8
  %9260 = call ptr @__errno_location() #9
  %9261 = load i32, ptr %9260, align 4, !tbaa !5
  %9262 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9249, ptr noundef @.str.5, i32 noundef %9250, ptr noundef @.str.56, ptr noundef @.str.1, i32 noundef 241, ptr noundef %9253, ptr noundef %9256, ptr noundef %9259, i32 noundef %9261) #8
  br label %9263

9263:                                             ; preds = %9246, %9229
  call void @llvm.lifetime.end.p0(i64 4, ptr %158) #8
  br label %9264

9264:                                             ; preds = %9263
  br label %9265

9265:                                             ; preds = %9264
  call void @exit(i32 noundef 1) #10
  unreachable

9266:                                             ; No predecessors!
  br label %9267

9267:                                             ; preds = %9266
  br label %9268

9268:                                             ; preds = %9267, %9208
  br label %9269

9269:                                             ; preds = %9268
  br label %9270

9270:                                             ; preds = %9269
  %9271 = load ptr, ptr %153, align 8, !tbaa !9
  %9272 = getelementptr inbounds %struct.s2n_connection, ptr %9271, i32 0, i32 27
  %9273 = load ptr, ptr %9272, align 8, !tbaa !15
  %9274 = getelementptr inbounds %struct.s2n_crypto_parameters, ptr %9273, i32 0, i32 0
  store ptr @s2n_dhe_rsa_with_3des_ede_cbc_sha, ptr %9274, align 8, !tbaa !42
  br label %9275

9275:                                             ; preds = %9270
  %9276 = load i32, ptr @test_count, align 4, !tbaa !5
  %9277 = add nsw i32 %9276, 1
  store i32 %9277, ptr @test_count, align 4, !tbaa !5
  %9278 = load ptr, ptr %153, align 8, !tbaa !9
  %9279 = call i32 @s2n_is_sig_scheme_valid_for_auth(ptr noundef %9278, ptr noundef @s2n_ecdsa_sha384)
  %9280 = icmp eq i32 %9279, -1
  br i1 %9280, label %9281, label %9334

9281:                                             ; preds = %9275
  br label %9282

9282:                                             ; preds = %9281
  br label %9283

9283:                                             ; preds = %9282
  call void @llvm.lifetime.start.p0(i64 4, ptr %159) #8
  %9284 = call ptr @__errno_location() #9
  %9285 = load i32, ptr %9284, align 4, !tbaa !5
  store i32 %9285, ptr %159, align 4, !tbaa !5
  %9286 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9287 = call i32 @s2n_print_stacktrace(ptr noundef %9286)
  %9288 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9289 = trunc i8 %9288 to i1
  br i1 %9289, label %9290, label %9312

9290:                                             ; preds = %9283
  %9291 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9292 = call i32 @fileno(ptr noundef %9291) #8
  %9293 = call i32 @isatty(i32 noundef %9292) #8
  %9294 = icmp ne i32 %9293, 0
  br i1 %9294, label %9295, label %9312

9295:                                             ; preds = %9290
  %9296 = load i32, ptr %159, align 4, !tbaa !5
  %9297 = call ptr @__errno_location() #9
  store i32 %9296, ptr %9297, align 4, !tbaa !5
  %9298 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9299 = load i32, ptr @test_count, align 4, !tbaa !5
  %9300 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9301 = load i32, ptr %9300, align 4, !tbaa !5
  %9302 = call ptr @s2n_strerror(i32 noundef %9301, ptr noundef @.str.4)
  %9303 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9304 = load i32, ptr %9303, align 4, !tbaa !5
  %9305 = call ptr @s2n_strerror_debug(i32 noundef %9304, ptr noundef @.str.4)
  %9306 = call ptr @__errno_location() #9
  %9307 = load i32, ptr %9306, align 4, !tbaa !5
  %9308 = call ptr @strerror(i32 noundef %9307) #8
  %9309 = call ptr @__errno_location() #9
  %9310 = load i32, ptr %9309, align 4, !tbaa !5
  %9311 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9298, ptr noundef @.str.2, i32 noundef %9299, ptr noundef @.str.57, ptr noundef @.str.1, i32 noundef 243, ptr noundef %9302, ptr noundef %9305, ptr noundef %9308, i32 noundef %9310) #8
  br label %9329

9312:                                             ; preds = %9290, %9283
  %9313 = load i32, ptr %159, align 4, !tbaa !5
  %9314 = call ptr @__errno_location() #9
  store i32 %9313, ptr %9314, align 4, !tbaa !5
  %9315 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9316 = load i32, ptr @test_count, align 4, !tbaa !5
  %9317 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9318 = load i32, ptr %9317, align 4, !tbaa !5
  %9319 = call ptr @s2n_strerror(i32 noundef %9318, ptr noundef @.str.4)
  %9320 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9321 = load i32, ptr %9320, align 4, !tbaa !5
  %9322 = call ptr @s2n_strerror_debug(i32 noundef %9321, ptr noundef @.str.4)
  %9323 = call ptr @__errno_location() #9
  %9324 = load i32, ptr %9323, align 4, !tbaa !5
  %9325 = call ptr @strerror(i32 noundef %9324) #8
  %9326 = call ptr @__errno_location() #9
  %9327 = load i32, ptr %9326, align 4, !tbaa !5
  %9328 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9315, ptr noundef @.str.5, i32 noundef %9316, ptr noundef @.str.57, ptr noundef @.str.1, i32 noundef 243, ptr noundef %9319, ptr noundef %9322, ptr noundef %9325, i32 noundef %9327) #8
  br label %9329

9329:                                             ; preds = %9312, %9295
  call void @llvm.lifetime.end.p0(i64 4, ptr %159) #8
  br label %9330

9330:                                             ; preds = %9329
  br label %9331

9331:                                             ; preds = %9330
  call void @exit(i32 noundef 1) #10
  unreachable

9332:                                             ; No predecessors!
  br label %9333

9333:                                             ; preds = %9332
  br label %9334

9334:                                             ; preds = %9333, %9275
  br label %9335

9335:                                             ; preds = %9334
  br label %9336

9336:                                             ; preds = %9335
  br label %9337

9337:                                             ; preds = %9336
  %9338 = load i32, ptr @test_count, align 4, !tbaa !5
  %9339 = add nsw i32 %9338, 1
  store i32 %9339, ptr @test_count, align 4, !tbaa !5
  %9340 = load ptr, ptr %153, align 8, !tbaa !9
  %9341 = call i32 @s2n_connection_free(ptr noundef %9340)
  %9342 = icmp eq i32 %9341, -1
  br i1 %9342, label %9343, label %9396

9343:                                             ; preds = %9337
  br label %9344

9344:                                             ; preds = %9343
  br label %9345

9345:                                             ; preds = %9344
  call void @llvm.lifetime.start.p0(i64 4, ptr %160) #8
  %9346 = call ptr @__errno_location() #9
  %9347 = load i32, ptr %9346, align 4, !tbaa !5
  store i32 %9347, ptr %160, align 4, !tbaa !5
  %9348 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9349 = call i32 @s2n_print_stacktrace(ptr noundef %9348)
  %9350 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9351 = trunc i8 %9350 to i1
  br i1 %9351, label %9352, label %9374

9352:                                             ; preds = %9345
  %9353 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9354 = call i32 @fileno(ptr noundef %9353) #8
  %9355 = call i32 @isatty(i32 noundef %9354) #8
  %9356 = icmp ne i32 %9355, 0
  br i1 %9356, label %9357, label %9374

9357:                                             ; preds = %9352
  %9358 = load i32, ptr %160, align 4, !tbaa !5
  %9359 = call ptr @__errno_location() #9
  store i32 %9358, ptr %9359, align 4, !tbaa !5
  %9360 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9361 = load i32, ptr @test_count, align 4, !tbaa !5
  %9362 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9363 = load i32, ptr %9362, align 4, !tbaa !5
  %9364 = call ptr @s2n_strerror(i32 noundef %9363, ptr noundef @.str.4)
  %9365 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9366 = load i32, ptr %9365, align 4, !tbaa !5
  %9367 = call ptr @s2n_strerror_debug(i32 noundef %9366, ptr noundef @.str.4)
  %9368 = call ptr @__errno_location() #9
  %9369 = load i32, ptr %9368, align 4, !tbaa !5
  %9370 = call ptr @strerror(i32 noundef %9369) #8
  %9371 = call ptr @__errno_location() #9
  %9372 = load i32, ptr %9371, align 4, !tbaa !5
  %9373 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9360, ptr noundef @.str.2, i32 noundef %9361, ptr noundef @.str.58, ptr noundef @.str.1, i32 noundef 245, ptr noundef %9364, ptr noundef %9367, ptr noundef %9370, i32 noundef %9372) #8
  br label %9391

9374:                                             ; preds = %9352, %9345
  %9375 = load i32, ptr %160, align 4, !tbaa !5
  %9376 = call ptr @__errno_location() #9
  store i32 %9375, ptr %9376, align 4, !tbaa !5
  %9377 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9378 = load i32, ptr @test_count, align 4, !tbaa !5
  %9379 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9380 = load i32, ptr %9379, align 4, !tbaa !5
  %9381 = call ptr @s2n_strerror(i32 noundef %9380, ptr noundef @.str.4)
  %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_debug(i32 noundef %9383, ptr noundef @.str.4)
  %9385 = call ptr @__errno_location() #9
  %9386 = load i32, ptr %9385, align 4, !tbaa !5
  %9387 = call ptr @strerror(i32 noundef %9386) #8
  %9388 = call ptr @__errno_location() #9
  %9389 = load i32, ptr %9388, align 4, !tbaa !5
  %9390 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9377, ptr noundef @.str.5, i32 noundef %9378, ptr noundef @.str.58, ptr noundef @.str.1, i32 noundef 245, ptr noundef %9381, ptr noundef %9384, ptr noundef %9387, i32 noundef %9389) #8
  br label %9391

9391:                                             ; preds = %9374, %9357
  call void @llvm.lifetime.end.p0(i64 4, ptr %160) #8
  br label %9392

9392:                                             ; preds = %9391
  br label %9393

9393:                                             ; preds = %9392
  call void @exit(i32 noundef 1) #10
  unreachable

9394:                                             ; No predecessors!
  br label %9395

9395:                                             ; preds = %9394
  br label %9396

9396:                                             ; preds = %9395, %9337
  br label %9397

9397:                                             ; preds = %9396
  br label %9398

9398:                                             ; preds = %9397
  call void @llvm.lifetime.end.p0(i64 8, ptr %153) #8
  br label %9399

9399:                                             ; preds = %9398
  %9400 = load i32, ptr @test_count, align 4, !tbaa !5
  %9401 = add nsw i32 %9400, 1
  store i32 %9401, ptr @test_count, align 4, !tbaa !5
  %9402 = load ptr, ptr %59, align 8, !tbaa !9
  %9403 = load ptr, ptr %19, align 8, !tbaa !9
  %9404 = call i32 @s2n_connection_set_config(ptr noundef %9402, ptr noundef %9403)
  %9405 = icmp eq i32 %9404, -1
  br i1 %9405, label %9406, label %9459

9406:                                             ; preds = %9399
  br label %9407

9407:                                             ; preds = %9406
  br label %9408

9408:                                             ; preds = %9407
  call void @llvm.lifetime.start.p0(i64 4, ptr %161) #8
  %9409 = call ptr @__errno_location() #9
  %9410 = load i32, ptr %9409, align 4, !tbaa !5
  store i32 %9410, ptr %161, align 4, !tbaa !5
  %9411 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9412 = call i32 @s2n_print_stacktrace(ptr noundef %9411)
  %9413 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9414 = trunc i8 %9413 to i1
  br i1 %9414, label %9415, label %9437

9415:                                             ; preds = %9408
  %9416 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9417 = call i32 @fileno(ptr noundef %9416) #8
  %9418 = call i32 @isatty(i32 noundef %9417) #8
  %9419 = icmp ne i32 %9418, 0
  br i1 %9419, label %9420, label %9437

9420:                                             ; preds = %9415
  %9421 = load i32, ptr %161, align 4, !tbaa !5
  %9422 = call ptr @__errno_location() #9
  store i32 %9421, ptr %9422, align 4, !tbaa !5
  %9423 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9424 = load i32, ptr @test_count, align 4, !tbaa !5
  %9425 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9426 = load i32, ptr %9425, align 4, !tbaa !5
  %9427 = call ptr @s2n_strerror(i32 noundef %9426, ptr noundef @.str.4)
  %9428 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9429 = load i32, ptr %9428, align 4, !tbaa !5
  %9430 = call ptr @s2n_strerror_debug(i32 noundef %9429, ptr noundef @.str.4)
  %9431 = call ptr @__errno_location() #9
  %9432 = load i32, ptr %9431, align 4, !tbaa !5
  %9433 = call ptr @strerror(i32 noundef %9432) #8
  %9434 = call ptr @__errno_location() #9
  %9435 = load i32, ptr %9434, align 4, !tbaa !5
  %9436 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9423, ptr noundef @.str.2, i32 noundef %9424, ptr noundef @.str.30, ptr noundef @.str.1, i32 noundef 250, ptr noundef %9427, ptr noundef %9430, ptr noundef %9433, i32 noundef %9435) #8
  br label %9454

9437:                                             ; preds = %9415, %9408
  %9438 = load i32, ptr %161, align 4, !tbaa !5
  %9439 = call ptr @__errno_location() #9
  store i32 %9438, ptr %9439, align 4, !tbaa !5
  %9440 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9441 = load i32, ptr @test_count, align 4, !tbaa !5
  %9442 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9443 = load i32, ptr %9442, align 4, !tbaa !5
  %9444 = call ptr @s2n_strerror(i32 noundef %9443, ptr noundef @.str.4)
  %9445 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9446 = load i32, ptr %9445, align 4, !tbaa !5
  %9447 = call ptr @s2n_strerror_debug(i32 noundef %9446, ptr noundef @.str.4)
  %9448 = call ptr @__errno_location() #9
  %9449 = load i32, ptr %9448, align 4, !tbaa !5
  %9450 = call ptr @strerror(i32 noundef %9449) #8
  %9451 = call ptr @__errno_location() #9
  %9452 = load i32, ptr %9451, align 4, !tbaa !5
  %9453 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9440, ptr noundef @.str.5, i32 noundef %9441, ptr noundef @.str.30, ptr noundef @.str.1, i32 noundef 250, ptr noundef %9444, ptr noundef %9447, ptr noundef %9450, i32 noundef %9452) #8
  br label %9454

9454:                                             ; preds = %9437, %9420
  call void @llvm.lifetime.end.p0(i64 4, ptr %161) #8
  br label %9455

9455:                                             ; preds = %9454
  br label %9456

9456:                                             ; preds = %9455
  call void @exit(i32 noundef 1) #10
  unreachable

9457:                                             ; No predecessors!
  br label %9458

9458:                                             ; preds = %9457
  br label %9459

9459:                                             ; preds = %9458, %9399
  br label %9460

9460:                                             ; preds = %9459
  br label %9461

9461:                                             ; preds = %9460
  %9462 = load ptr, ptr %59, align 8, !tbaa !9
  %9463 = getelementptr inbounds %struct.s2n_connection, ptr %9462, i32 0, i32 27
  %9464 = load ptr, ptr %9463, align 8, !tbaa !15
  %9465 = getelementptr inbounds %struct.s2n_crypto_parameters, ptr %9464, i32 0, i32 0
  store ptr @s2n_dhe_rsa_with_3des_ede_cbc_sha, ptr %9465, align 8, !tbaa !42
  br label %9466

9466:                                             ; preds = %9461
  %9467 = load i32, ptr @test_count, align 4, !tbaa !5
  %9468 = add nsw i32 %9467, 1
  store i32 %9468, ptr @test_count, align 4, !tbaa !5
  %9469 = load ptr, ptr %59, align 8, !tbaa !9
  %9470 = call i32 @s2n_is_sig_scheme_valid_for_auth(ptr noundef %9469, ptr noundef @s2n_rsa_pkcs1_md5_sha1)
  %9471 = icmp eq i32 %9470, -1
  br i1 %9471, label %9472, label %9525

9472:                                             ; preds = %9466
  br label %9473

9473:                                             ; preds = %9472
  br label %9474

9474:                                             ; preds = %9473
  call void @llvm.lifetime.start.p0(i64 4, ptr %162) #8
  %9475 = call ptr @__errno_location() #9
  %9476 = load i32, ptr %9475, align 4, !tbaa !5
  store i32 %9476, ptr %162, align 4, !tbaa !5
  %9477 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9478 = call i32 @s2n_print_stacktrace(ptr noundef %9477)
  %9479 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9480 = trunc i8 %9479 to i1
  br i1 %9480, label %9481, label %9503

9481:                                             ; preds = %9474
  %9482 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9483 = call i32 @fileno(ptr noundef %9482) #8
  %9484 = call i32 @isatty(i32 noundef %9483) #8
  %9485 = icmp ne i32 %9484, 0
  br i1 %9485, label %9486, label %9503

9486:                                             ; preds = %9481
  %9487 = load i32, ptr %162, align 4, !tbaa !5
  %9488 = call ptr @__errno_location() #9
  store i32 %9487, ptr %9488, align 4, !tbaa !5
  %9489 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9490 = load i32, ptr @test_count, align 4, !tbaa !5
  %9491 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9492 = load i32, ptr %9491, align 4, !tbaa !5
  %9493 = call ptr @s2n_strerror(i32 noundef %9492, ptr noundef @.str.4)
  %9494 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9495 = load i32, ptr %9494, align 4, !tbaa !5
  %9496 = call ptr @s2n_strerror_debug(i32 noundef %9495, ptr noundef @.str.4)
  %9497 = call ptr @__errno_location() #9
  %9498 = load i32, ptr %9497, align 4, !tbaa !5
  %9499 = call ptr @strerror(i32 noundef %9498) #8
  %9500 = call ptr @__errno_location() #9
  %9501 = load i32, ptr %9500, align 4, !tbaa !5
  %9502 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9489, ptr noundef @.str.2, i32 noundef %9490, ptr noundef @.str.36, ptr noundef @.str.1, i32 noundef 254, ptr noundef %9493, ptr noundef %9496, ptr noundef %9499, i32 noundef %9501) #8
  br label %9520

9503:                                             ; preds = %9481, %9474
  %9504 = load i32, ptr %162, align 4, !tbaa !5
  %9505 = call ptr @__errno_location() #9
  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() #9
  %9515 = load i32, ptr %9514, align 4, !tbaa !5
  %9516 = call ptr @strerror(i32 noundef %9515) #8
  %9517 = call ptr @__errno_location() #9
  %9518 = load i32, ptr %9517, align 4, !tbaa !5
  %9519 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9506, ptr noundef @.str.5, i32 noundef %9507, ptr noundef @.str.36, ptr noundef @.str.1, i32 noundef 254, ptr noundef %9510, ptr noundef %9513, ptr noundef %9516, i32 noundef %9518) #8
  br label %9520

9520:                                             ; preds = %9503, %9486
  call void @llvm.lifetime.end.p0(i64 4, ptr %162) #8
  br label %9521

9521:                                             ; preds = %9520
  br label %9522

9522:                                             ; preds = %9521
  call void @exit(i32 noundef 1) #10
  unreachable

9523:                                             ; No predecessors!
  br label %9524

9524:                                             ; preds = %9523
  br label %9525

9525:                                             ; preds = %9524, %9466
  br label %9526

9526:                                             ; preds = %9525
  br label %9527

9527:                                             ; preds = %9526
  %9528 = call zeroext i1 (...) @s2n_is_rsa_pss_certs_supported()
  br i1 %9528, label %9529, label %9592

9529:                                             ; preds = %9527
  br label %9530

9530:                                             ; preds = %9529
  %9531 = load i32, ptr @test_count, align 4, !tbaa !5
  %9532 = add nsw i32 %9531, 1
  store i32 %9532, ptr @test_count, align 4, !tbaa !5
  %9533 = load ptr, ptr %59, align 8, !tbaa !9
  %9534 = call i32 @s2n_is_sig_scheme_valid_for_auth(ptr noundef %9533, ptr noundef @s2n_rsa_pss_pss_sha256)
  %9535 = icmp eq i32 %9534, -1
  br i1 %9535, label %9536, label %9589

9536:                                             ; preds = %9530
  br label %9537

9537:                                             ; preds = %9536
  br label %9538

9538:                                             ; preds = %9537
  call void @llvm.lifetime.start.p0(i64 4, ptr %163) #8
  %9539 = call ptr @__errno_location() #9
  %9540 = load i32, ptr %9539, align 4, !tbaa !5
  store i32 %9540, ptr %163, align 4, !tbaa !5
  %9541 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9542 = call i32 @s2n_print_stacktrace(ptr noundef %9541)
  %9543 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9544 = trunc i8 %9543 to i1
  br i1 %9544, label %9545, label %9567

9545:                                             ; preds = %9538
  %9546 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9547 = call i32 @fileno(ptr noundef %9546) #8
  %9548 = call i32 @isatty(i32 noundef %9547) #8
  %9549 = icmp ne i32 %9548, 0
  br i1 %9549, label %9550, label %9567

9550:                                             ; preds = %9545
  %9551 = load i32, ptr %163, align 4, !tbaa !5
  %9552 = call ptr @__errno_location() #9
  store i32 %9551, ptr %9552, align 4, !tbaa !5
  %9553 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9554 = load i32, ptr @test_count, align 4, !tbaa !5
  %9555 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9556 = load i32, ptr %9555, align 4, !tbaa !5
  %9557 = call ptr @s2n_strerror(i32 noundef %9556, ptr noundef @.str.4)
  %9558 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9559 = load i32, ptr %9558, align 4, !tbaa !5
  %9560 = call ptr @s2n_strerror_debug(i32 noundef %9559, ptr noundef @.str.4)
  %9561 = call ptr @__errno_location() #9
  %9562 = load i32, ptr %9561, align 4, !tbaa !5
  %9563 = call ptr @strerror(i32 noundef %9562) #8
  %9564 = call ptr @__errno_location() #9
  %9565 = load i32, ptr %9564, align 4, !tbaa !5
  %9566 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9553, ptr noundef @.str.2, i32 noundef %9554, ptr noundef @.str.38, ptr noundef @.str.1, i32 noundef 255, ptr noundef %9557, ptr noundef %9560, ptr noundef %9563, i32 noundef %9565) #8
  br label %9584

9567:                                             ; preds = %9545, %9538
  %9568 = load i32, ptr %163, align 4, !tbaa !5
  %9569 = call ptr @__errno_location() #9
  store i32 %9568, ptr %9569, align 4, !tbaa !5
  %9570 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9571 = load i32, ptr @test_count, align 4, !tbaa !5
  %9572 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9573 = load i32, ptr %9572, align 4, !tbaa !5
  %9574 = call ptr @s2n_strerror(i32 noundef %9573, ptr noundef @.str.4)
  %9575 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9576 = load i32, ptr %9575, align 4, !tbaa !5
  %9577 = call ptr @s2n_strerror_debug(i32 noundef %9576, ptr noundef @.str.4)
  %9578 = call ptr @__errno_location() #9
  %9579 = load i32, ptr %9578, align 4, !tbaa !5
  %9580 = call ptr @strerror(i32 noundef %9579) #8
  %9581 = call ptr @__errno_location() #9
  %9582 = load i32, ptr %9581, align 4, !tbaa !5
  %9583 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9570, ptr noundef @.str.5, i32 noundef %9571, ptr noundef @.str.38, ptr noundef @.str.1, i32 noundef 255, ptr noundef %9574, ptr noundef %9577, ptr noundef %9580, i32 noundef %9582) #8
  br label %9584

9584:                                             ; preds = %9567, %9550
  call void @llvm.lifetime.end.p0(i64 4, ptr %163) #8
  br label %9585

9585:                                             ; preds = %9584
  br label %9586

9586:                                             ; preds = %9585
  call void @exit(i32 noundef 1) #10
  unreachable

9587:                                             ; No predecessors!
  br label %9588

9588:                                             ; preds = %9587
  br label %9589

9589:                                             ; preds = %9588, %9530
  br label %9590

9590:                                             ; preds = %9589
  br label %9591

9591:                                             ; preds = %9590
  br label %9788

9592:                                             ; preds = %9527
  br label %9593

9593:                                             ; preds = %9592
  br label %9594

9594:                                             ; preds = %9593
  %9595 = load i32, ptr @test_count, align 4, !tbaa !5
  %9596 = add nsw i32 %9595, 1
  store i32 %9596, ptr @test_count, align 4, !tbaa !5
  %9597 = load ptr, ptr %59, align 8, !tbaa !9
  %9598 = call i32 @s2n_is_sig_scheme_valid_for_auth(ptr noundef %9597, ptr noundef @s2n_rsa_pss_pss_sha256)
  %9599 = icmp eq i32 %9598, -1
  br i1 %9599, label %9653, label %9600

9600:                                             ; preds = %9594
  br label %9601

9601:                                             ; preds = %9600
  br label %9602

9602:                                             ; preds = %9601
  call void @llvm.lifetime.start.p0(i64 4, ptr %164) #8
  %9603 = call ptr @__errno_location() #9
  %9604 = load i32, ptr %9603, align 4, !tbaa !5
  store i32 %9604, ptr %164, align 4, !tbaa !5
  %9605 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9606 = call i32 @s2n_print_stacktrace(ptr noundef %9605)
  %9607 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9608 = trunc i8 %9607 to i1
  br i1 %9608, label %9609, label %9631

9609:                                             ; preds = %9602
  %9610 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9611 = call i32 @fileno(ptr noundef %9610) #8
  %9612 = call i32 @isatty(i32 noundef %9611) #8
  %9613 = icmp ne i32 %9612, 0
  br i1 %9613, label %9614, label %9631

9614:                                             ; preds = %9609
  %9615 = load i32, ptr %164, align 4, !tbaa !5
  %9616 = call ptr @__errno_location() #9
  store i32 %9615, ptr %9616, align 4, !tbaa !5
  %9617 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9618 = load i32, ptr @test_count, align 4, !tbaa !5
  %9619 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9620 = load i32, ptr %9619, align 4, !tbaa !5
  %9621 = call ptr @s2n_strerror(i32 noundef %9620, ptr noundef @.str.4)
  %9622 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9623 = load i32, ptr %9622, align 4, !tbaa !5
  %9624 = call ptr @s2n_strerror_debug(i32 noundef %9623, ptr noundef @.str.4)
  %9625 = call ptr @__errno_location() #9
  %9626 = load i32, ptr %9625, align 4, !tbaa !5
  %9627 = call ptr @strerror(i32 noundef %9626) #8
  %9628 = call ptr @__errno_location() #9
  %9629 = load i32, ptr %9628, align 4, !tbaa !5
  %9630 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9617, ptr noundef @.str.2, i32 noundef %9618, ptr noundef @.str.33, ptr noundef @.str.1, i32 noundef 255, ptr noundef %9621, ptr noundef %9624, ptr noundef %9627, i32 noundef %9629) #8
  br label %9648

9631:                                             ; preds = %9609, %9602
  %9632 = load i32, ptr %164, align 4, !tbaa !5
  %9633 = call ptr @__errno_location() #9
  store i32 %9632, ptr %9633, align 4, !tbaa !5
  %9634 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9635 = load i32, ptr @test_count, align 4, !tbaa !5
  %9636 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9637 = load i32, ptr %9636, align 4, !tbaa !5
  %9638 = call ptr @s2n_strerror(i32 noundef %9637, ptr noundef @.str.4)
  %9639 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9640 = load i32, ptr %9639, align 4, !tbaa !5
  %9641 = call ptr @s2n_strerror_debug(i32 noundef %9640, ptr noundef @.str.4)
  %9642 = call ptr @__errno_location() #9
  %9643 = load i32, ptr %9642, align 4, !tbaa !5
  %9644 = call ptr @strerror(i32 noundef %9643) #8
  %9645 = call ptr @__errno_location() #9
  %9646 = load i32, ptr %9645, align 4, !tbaa !5
  %9647 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9634, ptr noundef @.str.5, i32 noundef %9635, ptr noundef @.str.33, ptr noundef @.str.1, i32 noundef 255, ptr noundef %9638, ptr noundef %9641, ptr noundef %9644, i32 noundef %9646) #8
  br label %9648

9648:                                             ; preds = %9631, %9614
  call void @llvm.lifetime.end.p0(i64 4, ptr %164) #8
  br label %9649

9649:                                             ; preds = %9648
  br label %9650

9650:                                             ; preds = %9649
  call void @exit(i32 noundef 1) #10
  unreachable

9651:                                             ; No predecessors!
  br label %9652

9652:                                             ; preds = %9651
  br label %9653

9653:                                             ; preds = %9652, %9594
  br label %9654

9654:                                             ; preds = %9653
  br label %9655

9655:                                             ; preds = %9654
  br label %9656

9656:                                             ; preds = %9655
  %9657 = load i32, ptr @test_count, align 4, !tbaa !5
  %9658 = add nsw i32 %9657, 1
  store i32 %9658, ptr @test_count, align 4, !tbaa !5
  %9659 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9660 = load i32, ptr %9659, align 4, !tbaa !5
  %9661 = icmp eq i32 %9660, 0
  br i1 %9661, label %9662, label %9715

9662:                                             ; preds = %9656
  br label %9663

9663:                                             ; preds = %9662
  br label %9664

9664:                                             ; preds = %9663
  call void @llvm.lifetime.start.p0(i64 4, ptr %165) #8
  %9665 = call ptr @__errno_location() #9
  %9666 = load i32, ptr %9665, align 4, !tbaa !5
  store i32 %9666, ptr %165, align 4, !tbaa !5
  %9667 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9668 = call i32 @s2n_print_stacktrace(ptr noundef %9667)
  %9669 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9670 = trunc i8 %9669 to i1
  br i1 %9670, label %9671, label %9693

9671:                                             ; preds = %9664
  %9672 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9673 = call i32 @fileno(ptr noundef %9672) #8
  %9674 = call i32 @isatty(i32 noundef %9673) #8
  %9675 = icmp ne i32 %9674, 0
  br i1 %9675, label %9676, label %9693

9676:                                             ; preds = %9671
  %9677 = load i32, ptr %165, align 4, !tbaa !5
  %9678 = call ptr @__errno_location() #9
  store i32 %9677, ptr %9678, align 4, !tbaa !5
  %9679 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9680 = load i32, ptr @test_count, align 4, !tbaa !5
  %9681 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9682 = load i32, ptr %9681, align 4, !tbaa !5
  %9683 = call ptr @s2n_strerror(i32 noundef %9682, ptr noundef @.str.4)
  %9684 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9685 = load i32, ptr %9684, align 4, !tbaa !5
  %9686 = call ptr @s2n_strerror_debug(i32 noundef %9685, ptr noundef @.str.4)
  %9687 = call ptr @__errno_location() #9
  %9688 = load i32, ptr %9687, align 4, !tbaa !5
  %9689 = call ptr @strerror(i32 noundef %9688) #8
  %9690 = call ptr @__errno_location() #9
  %9691 = load i32, ptr %9690, align 4, !tbaa !5
  %9692 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9679, ptr noundef @.str.2, i32 noundef %9680, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 255, ptr noundef %9683, ptr noundef %9686, ptr noundef %9689, i32 noundef %9691) #8
  br label %9710

9693:                                             ; preds = %9671, %9664
  %9694 = load i32, ptr %165, align 4, !tbaa !5
  %9695 = call ptr @__errno_location() #9
  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() #9
  %9705 = load i32, ptr %9704, align 4, !tbaa !5
  %9706 = call ptr @strerror(i32 noundef %9705) #8
  %9707 = call ptr @__errno_location() #9
  %9708 = load i32, ptr %9707, align 4, !tbaa !5
  %9709 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9696, ptr noundef @.str.5, i32 noundef %9697, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 255, ptr noundef %9700, ptr noundef %9703, ptr noundef %9706, i32 noundef %9708) #8
  br label %9710

9710:                                             ; preds = %9693, %9676
  call void @llvm.lifetime.end.p0(i64 4, ptr %165) #8
  br label %9711

9711:                                             ; preds = %9710
  br label %9712

9712:                                             ; preds = %9711
  call void @exit(i32 noundef 1) #10
  unreachable

9713:                                             ; No predecessors!
  br label %9714

9714:                                             ; preds = %9713
  br label %9715

9715:                                             ; preds = %9714, %9656
  br label %9716

9716:                                             ; preds = %9715
  br label %9717

9717:                                             ; preds = %9716
  br label %9718

9718:                                             ; preds = %9717
  %9719 = load i32, ptr @test_count, align 4, !tbaa !5
  %9720 = add nsw i32 %9719, 1
  store i32 %9720, ptr @test_count, align 4, !tbaa !5
  %9721 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9722 = load i32, ptr %9721, align 4, !tbaa !5
  %9723 = call ptr @s2n_strerror_debug(i32 noundef %9722, ptr noundef @.str.4)
  %9724 = icmp eq ptr %9723, null
  br i1 %9724, label %9725, label %9778

9725:                                             ; preds = %9718
  br label %9726

9726:                                             ; preds = %9725
  br label %9727

9727:                                             ; preds = %9726
  call void @llvm.lifetime.start.p0(i64 4, ptr %166) #8
  %9728 = call ptr @__errno_location() #9
  %9729 = load i32, ptr %9728, align 4, !tbaa !5
  store i32 %9729, ptr %166, align 4, !tbaa !5
  %9730 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9731 = call i32 @s2n_print_stacktrace(ptr noundef %9730)
  %9732 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9733 = trunc i8 %9732 to i1
  br i1 %9733, label %9734, label %9756

9734:                                             ; preds = %9727
  %9735 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9736 = call i32 @fileno(ptr noundef %9735) #8
  %9737 = call i32 @isatty(i32 noundef %9736) #8
  %9738 = icmp ne i32 %9737, 0
  br i1 %9738, label %9739, label %9756

9739:                                             ; preds = %9734
  %9740 = load i32, ptr %166, align 4, !tbaa !5
  %9741 = call ptr @__errno_location() #9
  store i32 %9740, ptr %9741, align 4, !tbaa !5
  %9742 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9743 = load i32, ptr @test_count, align 4, !tbaa !5
  %9744 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9745 = load i32, ptr %9744, align 4, !tbaa !5
  %9746 = call ptr @s2n_strerror(i32 noundef %9745, ptr noundef @.str.4)
  %9747 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9748 = load i32, ptr %9747, align 4, !tbaa !5
  %9749 = call ptr @s2n_strerror_debug(i32 noundef %9748, ptr noundef @.str.4)
  %9750 = call ptr @__errno_location() #9
  %9751 = load i32, ptr %9750, align 4, !tbaa !5
  %9752 = call ptr @strerror(i32 noundef %9751) #8
  %9753 = call ptr @__errno_location() #9
  %9754 = load i32, ptr %9753, align 4, !tbaa !5
  %9755 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9742, ptr noundef @.str.2, i32 noundef %9743, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 255, ptr noundef %9746, ptr noundef %9749, ptr noundef %9752, i32 noundef %9754) #8
  br label %9773

9756:                                             ; preds = %9734, %9727
  %9757 = load i32, ptr %166, align 4, !tbaa !5
  %9758 = call ptr @__errno_location() #9
  store i32 %9757, ptr %9758, align 4, !tbaa !5
  %9759 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9760 = load i32, ptr @test_count, align 4, !tbaa !5
  %9761 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9762 = load i32, ptr %9761, align 4, !tbaa !5
  %9763 = call ptr @s2n_strerror(i32 noundef %9762, ptr noundef @.str.4)
  %9764 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9765 = load i32, ptr %9764, align 4, !tbaa !5
  %9766 = call ptr @s2n_strerror_debug(i32 noundef %9765, ptr noundef @.str.4)
  %9767 = call ptr @__errno_location() #9
  %9768 = load i32, ptr %9767, align 4, !tbaa !5
  %9769 = call ptr @strerror(i32 noundef %9768) #8
  %9770 = call ptr @__errno_location() #9
  %9771 = load i32, ptr %9770, align 4, !tbaa !5
  %9772 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9759, ptr noundef @.str.5, i32 noundef %9760, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 255, ptr noundef %9763, ptr noundef %9766, ptr noundef %9769, i32 noundef %9771) #8
  br label %9773

9773:                                             ; preds = %9756, %9739
  call void @llvm.lifetime.end.p0(i64 4, ptr %166) #8
  br label %9774

9774:                                             ; preds = %9773
  br label %9775

9775:                                             ; preds = %9774
  call void @exit(i32 noundef 1) #10
  unreachable

9776:                                             ; No predecessors!
  br label %9777

9777:                                             ; preds = %9776
  br label %9778

9778:                                             ; preds = %9777, %9718
  br label %9779

9779:                                             ; preds = %9778
  br label %9780

9780:                                             ; preds = %9779
  br label %9781

9781:                                             ; preds = %9780
  %9782 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %9782, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %9783 = call ptr @__errno_location() #9
  store i32 0, ptr %9783, align 4, !tbaa !5
  br label %9784

9784:                                             ; preds = %9781
  br label %9785

9785:                                             ; preds = %9784
  br label %9786

9786:                                             ; preds = %9785
  br label %9787

9787:                                             ; preds = %9786
  br label %9788

9788:                                             ; preds = %9787, %9591
  br label %9789

9789:                                             ; preds = %9788
  %9790 = load i32, ptr @test_count, align 4, !tbaa !5
  %9791 = add nsw i32 %9790, 1
  store i32 %9791, ptr @test_count, align 4, !tbaa !5
  %9792 = load ptr, ptr %59, align 8, !tbaa !9
  %9793 = call i32 @s2n_is_sig_scheme_valid_for_auth(ptr noundef %9792, ptr noundef @s2n_rsa_pss_rsae_sha256)
  %9794 = icmp eq i32 %9793, -1
  br i1 %9794, label %9795, label %9848

9795:                                             ; preds = %9789
  br label %9796

9796:                                             ; preds = %9795
  br label %9797

9797:                                             ; preds = %9796
  call void @llvm.lifetime.start.p0(i64 4, ptr %167) #8
  %9798 = call ptr @__errno_location() #9
  %9799 = load i32, ptr %9798, align 4, !tbaa !5
  store i32 %9799, ptr %167, align 4, !tbaa !5
  %9800 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9801 = call i32 @s2n_print_stacktrace(ptr noundef %9800)
  %9802 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9803 = trunc i8 %9802 to i1
  br i1 %9803, label %9804, label %9826

9804:                                             ; preds = %9797
  %9805 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9806 = call i32 @fileno(ptr noundef %9805) #8
  %9807 = call i32 @isatty(i32 noundef %9806) #8
  %9808 = icmp ne i32 %9807, 0
  br i1 %9808, label %9809, label %9826

9809:                                             ; preds = %9804
  %9810 = load i32, ptr %167, align 4, !tbaa !5
  %9811 = call ptr @__errno_location() #9
  store i32 %9810, ptr %9811, align 4, !tbaa !5
  %9812 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9813 = load i32, ptr @test_count, align 4, !tbaa !5
  %9814 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9815 = load i32, ptr %9814, align 4, !tbaa !5
  %9816 = call ptr @s2n_strerror(i32 noundef %9815, ptr noundef @.str.4)
  %9817 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9818 = load i32, ptr %9817, align 4, !tbaa !5
  %9819 = call ptr @s2n_strerror_debug(i32 noundef %9818, ptr noundef @.str.4)
  %9820 = call ptr @__errno_location() #9
  %9821 = load i32, ptr %9820, align 4, !tbaa !5
  %9822 = call ptr @strerror(i32 noundef %9821) #8
  %9823 = call ptr @__errno_location() #9
  %9824 = load i32, ptr %9823, align 4, !tbaa !5
  %9825 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9812, ptr noundef @.str.2, i32 noundef %9813, ptr noundef @.str.37, ptr noundef @.str.1, i32 noundef 256, ptr noundef %9816, ptr noundef %9819, ptr noundef %9822, i32 noundef %9824) #8
  br label %9843

9826:                                             ; preds = %9804, %9797
  %9827 = load i32, ptr %167, align 4, !tbaa !5
  %9828 = call ptr @__errno_location() #9
  store i32 %9827, ptr %9828, align 4, !tbaa !5
  %9829 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9830 = load i32, ptr @test_count, align 4, !tbaa !5
  %9831 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9832 = load i32, ptr %9831, align 4, !tbaa !5
  %9833 = call ptr @s2n_strerror(i32 noundef %9832, ptr noundef @.str.4)
  %9834 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9835 = load i32, ptr %9834, align 4, !tbaa !5
  %9836 = call ptr @s2n_strerror_debug(i32 noundef %9835, ptr noundef @.str.4)
  %9837 = call ptr @__errno_location() #9
  %9838 = load i32, ptr %9837, align 4, !tbaa !5
  %9839 = call ptr @strerror(i32 noundef %9838) #8
  %9840 = call ptr @__errno_location() #9
  %9841 = load i32, ptr %9840, align 4, !tbaa !5
  %9842 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9829, ptr noundef @.str.5, i32 noundef %9830, ptr noundef @.str.37, ptr noundef @.str.1, i32 noundef 256, ptr noundef %9833, ptr noundef %9836, ptr noundef %9839, i32 noundef %9841) #8
  br label %9843

9843:                                             ; preds = %9826, %9809
  call void @llvm.lifetime.end.p0(i64 4, ptr %167) #8
  br label %9844

9844:                                             ; preds = %9843
  br label %9845

9845:                                             ; preds = %9844
  call void @exit(i32 noundef 1) #10
  unreachable

9846:                                             ; No predecessors!
  br label %9847

9847:                                             ; preds = %9846
  br label %9848

9848:                                             ; preds = %9847, %9789
  br label %9849

9849:                                             ; preds = %9848
  br label %9850

9850:                                             ; preds = %9849
  %9851 = load ptr, ptr %59, align 8, !tbaa !9
  %9852 = getelementptr inbounds %struct.s2n_connection, ptr %9851, i32 0, i32 27
  %9853 = load ptr, ptr %9852, align 8, !tbaa !15
  %9854 = getelementptr inbounds %struct.s2n_crypto_parameters, ptr %9853, i32 0, i32 0
  store ptr @s2n_rsa_with_aes_128_cbc_sha, ptr %9854, align 8, !tbaa !42
  br label %9855

9855:                                             ; preds = %9850
  %9856 = load i32, ptr @test_count, align 4, !tbaa !5
  %9857 = add nsw i32 %9856, 1
  store i32 %9857, ptr @test_count, align 4, !tbaa !5
  %9858 = load ptr, ptr %59, align 8, !tbaa !9
  %9859 = call i32 @s2n_is_sig_scheme_valid_for_auth(ptr noundef %9858, ptr noundef @s2n_rsa_pkcs1_md5_sha1)
  %9860 = icmp eq i32 %9859, -1
  br i1 %9860, label %9861, label %9914

9861:                                             ; preds = %9855
  br label %9862

9862:                                             ; preds = %9861
  br label %9863

9863:                                             ; preds = %9862
  call void @llvm.lifetime.start.p0(i64 4, ptr %168) #8
  %9864 = call ptr @__errno_location() #9
  %9865 = load i32, ptr %9864, align 4, !tbaa !5
  store i32 %9865, ptr %168, align 4, !tbaa !5
  %9866 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9867 = call i32 @s2n_print_stacktrace(ptr noundef %9866)
  %9868 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9869 = trunc i8 %9868 to i1
  br i1 %9869, label %9870, label %9892

9870:                                             ; preds = %9863
  %9871 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9872 = call i32 @fileno(ptr noundef %9871) #8
  %9873 = call i32 @isatty(i32 noundef %9872) #8
  %9874 = icmp ne i32 %9873, 0
  br i1 %9874, label %9875, label %9892

9875:                                             ; preds = %9870
  %9876 = load i32, ptr %168, align 4, !tbaa !5
  %9877 = call ptr @__errno_location() #9
  store i32 %9876, ptr %9877, align 4, !tbaa !5
  %9878 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9879 = load i32, ptr @test_count, align 4, !tbaa !5
  %9880 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9881 = load i32, ptr %9880, align 4, !tbaa !5
  %9882 = call ptr @s2n_strerror(i32 noundef %9881, ptr noundef @.str.4)
  %9883 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9884 = load i32, ptr %9883, align 4, !tbaa !5
  %9885 = call ptr @s2n_strerror_debug(i32 noundef %9884, ptr noundef @.str.4)
  %9886 = call ptr @__errno_location() #9
  %9887 = load i32, ptr %9886, align 4, !tbaa !5
  %9888 = call ptr @strerror(i32 noundef %9887) #8
  %9889 = call ptr @__errno_location() #9
  %9890 = load i32, ptr %9889, align 4, !tbaa !5
  %9891 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9878, ptr noundef @.str.2, i32 noundef %9879, ptr noundef @.str.36, ptr noundef @.str.1, i32 noundef 260, ptr noundef %9882, ptr noundef %9885, ptr noundef %9888, i32 noundef %9890) #8
  br label %9909

9892:                                             ; preds = %9870, %9863
  %9893 = load i32, ptr %168, align 4, !tbaa !5
  %9894 = call ptr @__errno_location() #9
  store i32 %9893, ptr %9894, align 4, !tbaa !5
  %9895 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9896 = load i32, ptr @test_count, align 4, !tbaa !5
  %9897 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9898 = load i32, ptr %9897, align 4, !tbaa !5
  %9899 = call ptr @s2n_strerror(i32 noundef %9898, ptr noundef @.str.4)
  %9900 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9901 = load i32, ptr %9900, align 4, !tbaa !5
  %9902 = call ptr @s2n_strerror_debug(i32 noundef %9901, ptr noundef @.str.4)
  %9903 = call ptr @__errno_location() #9
  %9904 = load i32, ptr %9903, align 4, !tbaa !5
  %9905 = call ptr @strerror(i32 noundef %9904) #8
  %9906 = call ptr @__errno_location() #9
  %9907 = load i32, ptr %9906, align 4, !tbaa !5
  %9908 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9895, ptr noundef @.str.5, i32 noundef %9896, ptr noundef @.str.36, ptr noundef @.str.1, i32 noundef 260, ptr noundef %9899, ptr noundef %9902, ptr noundef %9905, i32 noundef %9907) #8
  br label %9909

9909:                                             ; preds = %9892, %9875
  call void @llvm.lifetime.end.p0(i64 4, ptr %168) #8
  br label %9910

9910:                                             ; preds = %9909
  br label %9911

9911:                                             ; preds = %9910
  call void @exit(i32 noundef 1) #10
  unreachable

9912:                                             ; No predecessors!
  br label %9913

9913:                                             ; preds = %9912
  br label %9914

9914:                                             ; preds = %9913, %9855
  br label %9915

9915:                                             ; preds = %9914
  br label %9916

9916:                                             ; preds = %9915
  br label %9917

9917:                                             ; preds = %9916
  br label %9918

9918:                                             ; preds = %9917
  %9919 = load i32, ptr @test_count, align 4, !tbaa !5
  %9920 = add nsw i32 %9919, 1
  store i32 %9920, ptr @test_count, align 4, !tbaa !5
  %9921 = load ptr, ptr %59, align 8, !tbaa !9
  %9922 = call i32 @s2n_is_sig_scheme_valid_for_auth(ptr noundef %9921, ptr noundef @s2n_rsa_pss_pss_sha256)
  %9923 = icmp eq i32 %9922, -1
  br i1 %9923, label %9977, label %9924

9924:                                             ; preds = %9918
  br label %9925

9925:                                             ; preds = %9924
  br label %9926

9926:                                             ; preds = %9925
  call void @llvm.lifetime.start.p0(i64 4, ptr %169) #8
  %9927 = call ptr @__errno_location() #9
  %9928 = load i32, ptr %9927, align 4, !tbaa !5
  store i32 %9928, ptr %169, align 4, !tbaa !5
  %9929 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9930 = call i32 @s2n_print_stacktrace(ptr noundef %9929)
  %9931 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9932 = trunc i8 %9931 to i1
  br i1 %9932, label %9933, label %9955

9933:                                             ; preds = %9926
  %9934 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9935 = call i32 @fileno(ptr noundef %9934) #8
  %9936 = call i32 @isatty(i32 noundef %9935) #8
  %9937 = icmp ne i32 %9936, 0
  br i1 %9937, label %9938, label %9955

9938:                                             ; preds = %9933
  %9939 = load i32, ptr %169, align 4, !tbaa !5
  %9940 = call ptr @__errno_location() #9
  store i32 %9939, ptr %9940, align 4, !tbaa !5
  %9941 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9942 = load i32, ptr @test_count, align 4, !tbaa !5
  %9943 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9944 = load i32, ptr %9943, align 4, !tbaa !5
  %9945 = call ptr @s2n_strerror(i32 noundef %9944, ptr noundef @.str.4)
  %9946 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9947 = load i32, ptr %9946, align 4, !tbaa !5
  %9948 = call ptr @s2n_strerror_debug(i32 noundef %9947, ptr noundef @.str.4)
  %9949 = call ptr @__errno_location() #9
  %9950 = load i32, ptr %9949, align 4, !tbaa !5
  %9951 = call ptr @strerror(i32 noundef %9950) #8
  %9952 = call ptr @__errno_location() #9
  %9953 = load i32, ptr %9952, align 4, !tbaa !5
  %9954 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9941, ptr noundef @.str.2, i32 noundef %9942, ptr noundef @.str.33, ptr noundef @.str.1, i32 noundef 261, ptr noundef %9945, ptr noundef %9948, ptr noundef %9951, i32 noundef %9953) #8
  br label %9972

9955:                                             ; preds = %9933, %9926
  %9956 = load i32, ptr %169, align 4, !tbaa !5
  %9957 = call ptr @__errno_location() #9
  store i32 %9956, ptr %9957, align 4, !tbaa !5
  %9958 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9959 = load i32, ptr @test_count, align 4, !tbaa !5
  %9960 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9961 = load i32, ptr %9960, align 4, !tbaa !5
  %9962 = call ptr @s2n_strerror(i32 noundef %9961, ptr noundef @.str.4)
  %9963 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9964 = load i32, ptr %9963, align 4, !tbaa !5
  %9965 = call ptr @s2n_strerror_debug(i32 noundef %9964, ptr noundef @.str.4)
  %9966 = call ptr @__errno_location() #9
  %9967 = load i32, ptr %9966, align 4, !tbaa !5
  %9968 = call ptr @strerror(i32 noundef %9967) #8
  %9969 = call ptr @__errno_location() #9
  %9970 = load i32, ptr %9969, align 4, !tbaa !5
  %9971 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9958, ptr noundef @.str.5, i32 noundef %9959, ptr noundef @.str.33, ptr noundef @.str.1, i32 noundef 261, ptr noundef %9962, ptr noundef %9965, ptr noundef %9968, i32 noundef %9970) #8
  br label %9972

9972:                                             ; preds = %9955, %9938
  call void @llvm.lifetime.end.p0(i64 4, ptr %169) #8
  br label %9973

9973:                                             ; preds = %9972
  br label %9974

9974:                                             ; preds = %9973
  call void @exit(i32 noundef 1) #10
  unreachable

9975:                                             ; No predecessors!
  br label %9976

9976:                                             ; preds = %9975
  br label %9977

9977:                                             ; preds = %9976, %9918
  br label %9978

9978:                                             ; preds = %9977
  br label %9979

9979:                                             ; preds = %9978
  br label %9980

9980:                                             ; preds = %9979
  %9981 = load i32, ptr @test_count, align 4, !tbaa !5
  %9982 = add nsw i32 %9981, 1
  store i32 %9982, ptr @test_count, align 4, !tbaa !5
  %9983 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9984 = load i32, ptr %9983, align 4, !tbaa !5
  %9985 = icmp eq i32 %9984, 0
  br i1 %9985, label %9986, label %10039

9986:                                             ; preds = %9980
  br label %9987

9987:                                             ; preds = %9986
  br label %9988

9988:                                             ; preds = %9987
  call void @llvm.lifetime.start.p0(i64 4, ptr %170) #8
  %9989 = call ptr @__errno_location() #9
  %9990 = load i32, ptr %9989, align 4, !tbaa !5
  store i32 %9990, ptr %170, align 4, !tbaa !5
  %9991 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9992 = call i32 @s2n_print_stacktrace(ptr noundef %9991)
  %9993 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9994 = trunc i8 %9993 to i1
  br i1 %9994, label %9995, label %10017

9995:                                             ; preds = %9988
  %9996 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9997 = call i32 @fileno(ptr noundef %9996) #8
  %9998 = call i32 @isatty(i32 noundef %9997) #8
  %9999 = icmp ne i32 %9998, 0
  br i1 %9999, label %10000, label %10017

10000:                                            ; preds = %9995
  %10001 = load i32, ptr %170, align 4, !tbaa !5
  %10002 = call ptr @__errno_location() #9
  store i32 %10001, ptr %10002, align 4, !tbaa !5
  %10003 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10004 = load i32, ptr @test_count, align 4, !tbaa !5
  %10005 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10006 = load i32, ptr %10005, align 4, !tbaa !5
  %10007 = call ptr @s2n_strerror(i32 noundef %10006, ptr noundef @.str.4)
  %10008 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10009 = load i32, ptr %10008, align 4, !tbaa !5
  %10010 = call ptr @s2n_strerror_debug(i32 noundef %10009, ptr noundef @.str.4)
  %10011 = call ptr @__errno_location() #9
  %10012 = load i32, ptr %10011, align 4, !tbaa !5
  %10013 = call ptr @strerror(i32 noundef %10012) #8
  %10014 = call ptr @__errno_location() #9
  %10015 = load i32, ptr %10014, align 4, !tbaa !5
  %10016 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10003, ptr noundef @.str.2, i32 noundef %10004, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 261, ptr noundef %10007, ptr noundef %10010, ptr noundef %10013, i32 noundef %10015) #8
  br label %10034

10017:                                            ; preds = %9995, %9988
  %10018 = load i32, ptr %170, align 4, !tbaa !5
  %10019 = call ptr @__errno_location() #9
  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() #9
  %10029 = load i32, ptr %10028, align 4, !tbaa !5
  %10030 = call ptr @strerror(i32 noundef %10029) #8
  %10031 = call ptr @__errno_location() #9
  %10032 = load i32, ptr %10031, align 4, !tbaa !5
  %10033 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10020, ptr noundef @.str.5, i32 noundef %10021, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 261, ptr noundef %10024, ptr noundef %10027, ptr noundef %10030, i32 noundef %10032) #8
  br label %10034

10034:                                            ; preds = %10017, %10000
  call void @llvm.lifetime.end.p0(i64 4, ptr %170) #8
  br label %10035

10035:                                            ; preds = %10034
  br label %10036

10036:                                            ; preds = %10035
  call void @exit(i32 noundef 1) #10
  unreachable

10037:                                            ; No predecessors!
  br label %10038

10038:                                            ; preds = %10037
  br label %10039

10039:                                            ; preds = %10038, %9980
  br label %10040

10040:                                            ; preds = %10039
  br label %10041

10041:                                            ; preds = %10040
  br label %10042

10042:                                            ; preds = %10041
  %10043 = load i32, ptr @test_count, align 4, !tbaa !5
  %10044 = add nsw i32 %10043, 1
  store i32 %10044, ptr @test_count, align 4, !tbaa !5
  %10045 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10046 = load i32, ptr %10045, align 4, !tbaa !5
  %10047 = call ptr @s2n_strerror_debug(i32 noundef %10046, ptr noundef @.str.4)
  %10048 = icmp eq ptr %10047, null
  br i1 %10048, label %10049, label %10102

10049:                                            ; preds = %10042
  br label %10050

10050:                                            ; preds = %10049
  br label %10051

10051:                                            ; preds = %10050
  call void @llvm.lifetime.start.p0(i64 4, ptr %171) #8
  %10052 = call ptr @__errno_location() #9
  %10053 = load i32, ptr %10052, align 4, !tbaa !5
  store i32 %10053, ptr %171, align 4, !tbaa !5
  %10054 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10055 = call i32 @s2n_print_stacktrace(ptr noundef %10054)
  %10056 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10057 = trunc i8 %10056 to i1
  br i1 %10057, label %10058, label %10080

10058:                                            ; preds = %10051
  %10059 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10060 = call i32 @fileno(ptr noundef %10059) #8
  %10061 = call i32 @isatty(i32 noundef %10060) #8
  %10062 = icmp ne i32 %10061, 0
  br i1 %10062, label %10063, label %10080

10063:                                            ; preds = %10058
  %10064 = load i32, ptr %171, align 4, !tbaa !5
  %10065 = call ptr @__errno_location() #9
  store i32 %10064, ptr %10065, align 4, !tbaa !5
  %10066 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10067 = load i32, ptr @test_count, align 4, !tbaa !5
  %10068 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10069 = load i32, ptr %10068, align 4, !tbaa !5
  %10070 = call ptr @s2n_strerror(i32 noundef %10069, ptr noundef @.str.4)
  %10071 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10072 = load i32, ptr %10071, align 4, !tbaa !5
  %10073 = call ptr @s2n_strerror_debug(i32 noundef %10072, ptr noundef @.str.4)
  %10074 = call ptr @__errno_location() #9
  %10075 = load i32, ptr %10074, align 4, !tbaa !5
  %10076 = call ptr @strerror(i32 noundef %10075) #8
  %10077 = call ptr @__errno_location() #9
  %10078 = load i32, ptr %10077, align 4, !tbaa !5
  %10079 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10066, ptr noundef @.str.2, i32 noundef %10067, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 261, ptr noundef %10070, ptr noundef %10073, ptr noundef %10076, i32 noundef %10078) #8
  br label %10097

10080:                                            ; preds = %10058, %10051
  %10081 = load i32, ptr %171, align 4, !tbaa !5
  %10082 = call ptr @__errno_location() #9
  store i32 %10081, ptr %10082, align 4, !tbaa !5
  %10083 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10084 = load i32, ptr @test_count, align 4, !tbaa !5
  %10085 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10086 = load i32, ptr %10085, align 4, !tbaa !5
  %10087 = call ptr @s2n_strerror(i32 noundef %10086, ptr noundef @.str.4)
  %10088 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10089 = load i32, ptr %10088, align 4, !tbaa !5
  %10090 = call ptr @s2n_strerror_debug(i32 noundef %10089, ptr noundef @.str.4)
  %10091 = call ptr @__errno_location() #9
  %10092 = load i32, ptr %10091, align 4, !tbaa !5
  %10093 = call ptr @strerror(i32 noundef %10092) #8
  %10094 = call ptr @__errno_location() #9
  %10095 = load i32, ptr %10094, align 4, !tbaa !5
  %10096 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10083, ptr noundef @.str.5, i32 noundef %10084, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 261, ptr noundef %10087, ptr noundef %10090, ptr noundef %10093, i32 noundef %10095) #8
  br label %10097

10097:                                            ; preds = %10080, %10063
  call void @llvm.lifetime.end.p0(i64 4, ptr %171) #8
  br label %10098

10098:                                            ; preds = %10097
  br label %10099

10099:                                            ; preds = %10098
  call void @exit(i32 noundef 1) #10
  unreachable

10100:                                            ; No predecessors!
  br label %10101

10101:                                            ; preds = %10100
  br label %10102

10102:                                            ; preds = %10101, %10042
  br label %10103

10103:                                            ; preds = %10102
  br label %10104

10104:                                            ; preds = %10103
  br label %10105

10105:                                            ; preds = %10104
  %10106 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %10106, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %10107 = call ptr @__errno_location() #9
  store i32 0, ptr %10107, align 4, !tbaa !5
  br label %10108

10108:                                            ; preds = %10105
  br label %10109

10109:                                            ; preds = %10108
  br label %10110

10110:                                            ; preds = %10109
  br label %10111

10111:                                            ; preds = %10110
  br label %10112

10112:                                            ; preds = %10111
  %10113 = load i32, ptr @test_count, align 4, !tbaa !5
  %10114 = add nsw i32 %10113, 1
  store i32 %10114, ptr @test_count, align 4, !tbaa !5
  %10115 = load ptr, ptr %59, align 8, !tbaa !9
  %10116 = call i32 @s2n_is_sig_scheme_valid_for_auth(ptr noundef %10115, ptr noundef @s2n_rsa_pss_rsae_sha256)
  %10117 = icmp eq i32 %10116, -1
  br i1 %10117, label %10118, label %10171

10118:                                            ; preds = %10112
  br label %10119

10119:                                            ; preds = %10118
  br label %10120

10120:                                            ; preds = %10119
  call void @llvm.lifetime.start.p0(i64 4, ptr %172) #8
  %10121 = call ptr @__errno_location() #9
  %10122 = load i32, ptr %10121, align 4, !tbaa !5
  store i32 %10122, ptr %172, align 4, !tbaa !5
  %10123 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10124 = call i32 @s2n_print_stacktrace(ptr noundef %10123)
  %10125 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10126 = trunc i8 %10125 to i1
  br i1 %10126, label %10127, label %10149

10127:                                            ; preds = %10120
  %10128 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10129 = call i32 @fileno(ptr noundef %10128) #8
  %10130 = call i32 @isatty(i32 noundef %10129) #8
  %10131 = icmp ne i32 %10130, 0
  br i1 %10131, label %10132, label %10149

10132:                                            ; preds = %10127
  %10133 = load i32, ptr %172, align 4, !tbaa !5
  %10134 = call ptr @__errno_location() #9
  store i32 %10133, ptr %10134, align 4, !tbaa !5
  %10135 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10136 = load i32, ptr @test_count, align 4, !tbaa !5
  %10137 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10138 = load i32, ptr %10137, align 4, !tbaa !5
  %10139 = call ptr @s2n_strerror(i32 noundef %10138, ptr noundef @.str.4)
  %10140 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10141 = load i32, ptr %10140, align 4, !tbaa !5
  %10142 = call ptr @s2n_strerror_debug(i32 noundef %10141, ptr noundef @.str.4)
  %10143 = call ptr @__errno_location() #9
  %10144 = load i32, ptr %10143, align 4, !tbaa !5
  %10145 = call ptr @strerror(i32 noundef %10144) #8
  %10146 = call ptr @__errno_location() #9
  %10147 = load i32, ptr %10146, align 4, !tbaa !5
  %10148 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10135, ptr noundef @.str.2, i32 noundef %10136, ptr noundef @.str.37, ptr noundef @.str.1, i32 noundef 262, ptr noundef %10139, ptr noundef %10142, ptr noundef %10145, i32 noundef %10147) #8
  br label %10166

10149:                                            ; preds = %10127, %10120
  %10150 = load i32, ptr %172, align 4, !tbaa !5
  %10151 = call ptr @__errno_location() #9
  store i32 %10150, ptr %10151, align 4, !tbaa !5
  %10152 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10153 = load i32, ptr @test_count, align 4, !tbaa !5
  %10154 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10155 = load i32, ptr %10154, align 4, !tbaa !5
  %10156 = call ptr @s2n_strerror(i32 noundef %10155, ptr noundef @.str.4)
  %10157 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10158 = load i32, ptr %10157, align 4, !tbaa !5
  %10159 = call ptr @s2n_strerror_debug(i32 noundef %10158, ptr noundef @.str.4)
  %10160 = call ptr @__errno_location() #9
  %10161 = load i32, ptr %10160, align 4, !tbaa !5
  %10162 = call ptr @strerror(i32 noundef %10161) #8
  %10163 = call ptr @__errno_location() #9
  %10164 = load i32, ptr %10163, align 4, !tbaa !5
  %10165 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10152, ptr noundef @.str.5, i32 noundef %10153, ptr noundef @.str.37, ptr noundef @.str.1, i32 noundef 262, ptr noundef %10156, ptr noundef %10159, ptr noundef %10162, i32 noundef %10164) #8
  br label %10166

10166:                                            ; preds = %10149, %10132
  call void @llvm.lifetime.end.p0(i64 4, ptr %172) #8
  br label %10167

10167:                                            ; preds = %10166
  br label %10168

10168:                                            ; preds = %10167
  call void @exit(i32 noundef 1) #10
  unreachable

10169:                                            ; No predecessors!
  br label %10170

10170:                                            ; preds = %10169
  br label %10171

10171:                                            ; preds = %10170, %10112
  br label %10172

10172:                                            ; preds = %10171
  br label %10173

10173:                                            ; preds = %10172
  %10174 = load ptr, ptr %59, align 8, !tbaa !9
  %10175 = getelementptr inbounds %struct.s2n_connection, ptr %10174, i32 0, i32 27
  %10176 = load ptr, ptr %10175, align 8, !tbaa !15
  %10177 = getelementptr inbounds %struct.s2n_crypto_parameters, ptr %10176, i32 0, i32 0
  store ptr @s2n_tls13_aes_128_gcm_sha256, ptr %10177, align 8, !tbaa !42
  br label %10178

10178:                                            ; preds = %10173
  %10179 = load i32, ptr @test_count, align 4, !tbaa !5
  %10180 = add nsw i32 %10179, 1
  store i32 %10180, ptr @test_count, align 4, !tbaa !5
  %10181 = load ptr, ptr %59, align 8, !tbaa !9
  %10182 = call i32 @s2n_is_sig_scheme_valid_for_auth(ptr noundef %10181, ptr noundef @s2n_rsa_pkcs1_md5_sha1)
  %10183 = icmp eq i32 %10182, -1
  br i1 %10183, label %10184, label %10237

10184:                                            ; preds = %10178
  br label %10185

10185:                                            ; preds = %10184
  br label %10186

10186:                                            ; preds = %10185
  call void @llvm.lifetime.start.p0(i64 4, ptr %173) #8
  %10187 = call ptr @__errno_location() #9
  %10188 = load i32, ptr %10187, align 4, !tbaa !5
  store i32 %10188, ptr %173, align 4, !tbaa !5
  %10189 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10190 = call i32 @s2n_print_stacktrace(ptr noundef %10189)
  %10191 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10192 = trunc i8 %10191 to i1
  br i1 %10192, label %10193, label %10215

10193:                                            ; preds = %10186
  %10194 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10195 = call i32 @fileno(ptr noundef %10194) #8
  %10196 = call i32 @isatty(i32 noundef %10195) #8
  %10197 = icmp ne i32 %10196, 0
  br i1 %10197, label %10198, label %10215

10198:                                            ; preds = %10193
  %10199 = load i32, ptr %173, align 4, !tbaa !5
  %10200 = call ptr @__errno_location() #9
  store i32 %10199, ptr %10200, align 4, !tbaa !5
  %10201 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10202 = load i32, ptr @test_count, align 4, !tbaa !5
  %10203 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10204 = load i32, ptr %10203, align 4, !tbaa !5
  %10205 = call ptr @s2n_strerror(i32 noundef %10204, ptr noundef @.str.4)
  %10206 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10207 = load i32, ptr %10206, align 4, !tbaa !5
  %10208 = call ptr @s2n_strerror_debug(i32 noundef %10207, ptr noundef @.str.4)
  %10209 = call ptr @__errno_location() #9
  %10210 = load i32, ptr %10209, align 4, !tbaa !5
  %10211 = call ptr @strerror(i32 noundef %10210) #8
  %10212 = call ptr @__errno_location() #9
  %10213 = load i32, ptr %10212, align 4, !tbaa !5
  %10214 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10201, ptr noundef @.str.2, i32 noundef %10202, ptr noundef @.str.36, ptr noundef @.str.1, i32 noundef 266, ptr noundef %10205, ptr noundef %10208, ptr noundef %10211, i32 noundef %10213) #8
  br label %10232

10215:                                            ; preds = %10193, %10186
  %10216 = load i32, ptr %173, align 4, !tbaa !5
  %10217 = call ptr @__errno_location() #9
  store i32 %10216, ptr %10217, align 4, !tbaa !5
  %10218 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10219 = load i32, ptr @test_count, align 4, !tbaa !5
  %10220 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10221 = load i32, ptr %10220, align 4, !tbaa !5
  %10222 = call ptr @s2n_strerror(i32 noundef %10221, ptr noundef @.str.4)
  %10223 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10224 = load i32, ptr %10223, align 4, !tbaa !5
  %10225 = call ptr @s2n_strerror_debug(i32 noundef %10224, ptr noundef @.str.4)
  %10226 = call ptr @__errno_location() #9
  %10227 = load i32, ptr %10226, align 4, !tbaa !5
  %10228 = call ptr @strerror(i32 noundef %10227) #8
  %10229 = call ptr @__errno_location() #9
  %10230 = load i32, ptr %10229, align 4, !tbaa !5
  %10231 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10218, ptr noundef @.str.5, i32 noundef %10219, ptr noundef @.str.36, ptr noundef @.str.1, i32 noundef 266, ptr noundef %10222, ptr noundef %10225, ptr noundef %10228, i32 noundef %10230) #8
  br label %10232

10232:                                            ; preds = %10215, %10198
  call void @llvm.lifetime.end.p0(i64 4, ptr %173) #8
  br label %10233

10233:                                            ; preds = %10232
  br label %10234

10234:                                            ; preds = %10233
  call void @exit(i32 noundef 1) #10
  unreachable

10235:                                            ; No predecessors!
  br label %10236

10236:                                            ; preds = %10235
  br label %10237

10237:                                            ; preds = %10236, %10178
  br label %10238

10238:                                            ; preds = %10237
  br label %10239

10239:                                            ; preds = %10238
  %10240 = call zeroext i1 (...) @s2n_is_rsa_pss_certs_supported()
  br i1 %10240, label %10241, label %10304

10241:                                            ; preds = %10239
  br label %10242

10242:                                            ; preds = %10241
  %10243 = load i32, ptr @test_count, align 4, !tbaa !5
  %10244 = add nsw i32 %10243, 1
  store i32 %10244, ptr @test_count, align 4, !tbaa !5
  %10245 = load ptr, ptr %59, align 8, !tbaa !9
  %10246 = call i32 @s2n_is_sig_scheme_valid_for_auth(ptr noundef %10245, ptr noundef @s2n_rsa_pss_pss_sha256)
  %10247 = icmp eq i32 %10246, -1
  br i1 %10247, label %10248, label %10301

10248:                                            ; preds = %10242
  br label %10249

10249:                                            ; preds = %10248
  br label %10250

10250:                                            ; preds = %10249
  call void @llvm.lifetime.start.p0(i64 4, ptr %174) #8
  %10251 = call ptr @__errno_location() #9
  %10252 = load i32, ptr %10251, align 4, !tbaa !5
  store i32 %10252, ptr %174, align 4, !tbaa !5
  %10253 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10254 = call i32 @s2n_print_stacktrace(ptr noundef %10253)
  %10255 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10256 = trunc i8 %10255 to i1
  br i1 %10256, label %10257, label %10279

10257:                                            ; preds = %10250
  %10258 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10259 = call i32 @fileno(ptr noundef %10258) #8
  %10260 = call i32 @isatty(i32 noundef %10259) #8
  %10261 = icmp ne i32 %10260, 0
  br i1 %10261, label %10262, label %10279

10262:                                            ; preds = %10257
  %10263 = load i32, ptr %174, align 4, !tbaa !5
  %10264 = call ptr @__errno_location() #9
  store i32 %10263, ptr %10264, align 4, !tbaa !5
  %10265 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10266 = load i32, ptr @test_count, align 4, !tbaa !5
  %10267 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10268 = load i32, ptr %10267, align 4, !tbaa !5
  %10269 = call ptr @s2n_strerror(i32 noundef %10268, ptr noundef @.str.4)
  %10270 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10271 = load i32, ptr %10270, align 4, !tbaa !5
  %10272 = call ptr @s2n_strerror_debug(i32 noundef %10271, ptr noundef @.str.4)
  %10273 = call ptr @__errno_location() #9
  %10274 = load i32, ptr %10273, align 4, !tbaa !5
  %10275 = call ptr @strerror(i32 noundef %10274) #8
  %10276 = call ptr @__errno_location() #9
  %10277 = load i32, ptr %10276, align 4, !tbaa !5
  %10278 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10265, ptr noundef @.str.2, i32 noundef %10266, ptr noundef @.str.38, ptr noundef @.str.1, i32 noundef 267, ptr noundef %10269, ptr noundef %10272, ptr noundef %10275, i32 noundef %10277) #8
  br label %10296

10279:                                            ; preds = %10257, %10250
  %10280 = load i32, ptr %174, align 4, !tbaa !5
  %10281 = call ptr @__errno_location() #9
  store i32 %10280, ptr %10281, align 4, !tbaa !5
  %10282 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10283 = load i32, ptr @test_count, align 4, !tbaa !5
  %10284 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10285 = load i32, ptr %10284, align 4, !tbaa !5
  %10286 = call ptr @s2n_strerror(i32 noundef %10285, ptr noundef @.str.4)
  %10287 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10288 = load i32, ptr %10287, align 4, !tbaa !5
  %10289 = call ptr @s2n_strerror_debug(i32 noundef %10288, ptr noundef @.str.4)
  %10290 = call ptr @__errno_location() #9
  %10291 = load i32, ptr %10290, align 4, !tbaa !5
  %10292 = call ptr @strerror(i32 noundef %10291) #8
  %10293 = call ptr @__errno_location() #9
  %10294 = load i32, ptr %10293, align 4, !tbaa !5
  %10295 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10282, ptr noundef @.str.5, i32 noundef %10283, ptr noundef @.str.38, ptr noundef @.str.1, i32 noundef 267, ptr noundef %10286, ptr noundef %10289, ptr noundef %10292, i32 noundef %10294) #8
  br label %10296

10296:                                            ; preds = %10279, %10262
  call void @llvm.lifetime.end.p0(i64 4, ptr %174) #8
  br label %10297

10297:                                            ; preds = %10296
  br label %10298

10298:                                            ; preds = %10297
  call void @exit(i32 noundef 1) #10
  unreachable

10299:                                            ; No predecessors!
  br label %10300

10300:                                            ; preds = %10299
  br label %10301

10301:                                            ; preds = %10300, %10242
  br label %10302

10302:                                            ; preds = %10301
  br label %10303

10303:                                            ; preds = %10302
  br label %10500

10304:                                            ; preds = %10239
  br label %10305

10305:                                            ; preds = %10304
  br label %10306

10306:                                            ; preds = %10305
  %10307 = load i32, ptr @test_count, align 4, !tbaa !5
  %10308 = add nsw i32 %10307, 1
  store i32 %10308, ptr @test_count, align 4, !tbaa !5
  %10309 = load ptr, ptr %59, align 8, !tbaa !9
  %10310 = call i32 @s2n_is_sig_scheme_valid_for_auth(ptr noundef %10309, ptr noundef @s2n_rsa_pss_pss_sha256)
  %10311 = icmp eq i32 %10310, -1
  br i1 %10311, label %10365, label %10312

10312:                                            ; preds = %10306
  br label %10313

10313:                                            ; preds = %10312
  br label %10314

10314:                                            ; preds = %10313
  call void @llvm.lifetime.start.p0(i64 4, ptr %175) #8
  %10315 = call ptr @__errno_location() #9
  %10316 = load i32, ptr %10315, align 4, !tbaa !5
  store i32 %10316, ptr %175, align 4, !tbaa !5
  %10317 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10318 = call i32 @s2n_print_stacktrace(ptr noundef %10317)
  %10319 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10320 = trunc i8 %10319 to i1
  br i1 %10320, label %10321, label %10343

10321:                                            ; preds = %10314
  %10322 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10323 = call i32 @fileno(ptr noundef %10322) #8
  %10324 = call i32 @isatty(i32 noundef %10323) #8
  %10325 = icmp ne i32 %10324, 0
  br i1 %10325, label %10326, label %10343

10326:                                            ; preds = %10321
  %10327 = load i32, ptr %175, align 4, !tbaa !5
  %10328 = call ptr @__errno_location() #9
  store i32 %10327, ptr %10328, align 4, !tbaa !5
  %10329 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10330 = load i32, ptr @test_count, align 4, !tbaa !5
  %10331 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10332 = load i32, ptr %10331, align 4, !tbaa !5
  %10333 = call ptr @s2n_strerror(i32 noundef %10332, ptr noundef @.str.4)
  %10334 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10335 = load i32, ptr %10334, align 4, !tbaa !5
  %10336 = call ptr @s2n_strerror_debug(i32 noundef %10335, ptr noundef @.str.4)
  %10337 = call ptr @__errno_location() #9
  %10338 = load i32, ptr %10337, align 4, !tbaa !5
  %10339 = call ptr @strerror(i32 noundef %10338) #8
  %10340 = call ptr @__errno_location() #9
  %10341 = load i32, ptr %10340, align 4, !tbaa !5
  %10342 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10329, ptr noundef @.str.2, i32 noundef %10330, ptr noundef @.str.33, ptr noundef @.str.1, i32 noundef 267, ptr noundef %10333, ptr noundef %10336, ptr noundef %10339, i32 noundef %10341) #8
  br label %10360

10343:                                            ; preds = %10321, %10314
  %10344 = load i32, ptr %175, align 4, !tbaa !5
  %10345 = call ptr @__errno_location() #9
  store i32 %10344, ptr %10345, align 4, !tbaa !5
  %10346 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10347 = load i32, ptr @test_count, align 4, !tbaa !5
  %10348 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10349 = load i32, ptr %10348, align 4, !tbaa !5
  %10350 = call ptr @s2n_strerror(i32 noundef %10349, ptr noundef @.str.4)
  %10351 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10352 = load i32, ptr %10351, align 4, !tbaa !5
  %10353 = call ptr @s2n_strerror_debug(i32 noundef %10352, ptr noundef @.str.4)
  %10354 = call ptr @__errno_location() #9
  %10355 = load i32, ptr %10354, align 4, !tbaa !5
  %10356 = call ptr @strerror(i32 noundef %10355) #8
  %10357 = call ptr @__errno_location() #9
  %10358 = load i32, ptr %10357, align 4, !tbaa !5
  %10359 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10346, ptr noundef @.str.5, i32 noundef %10347, ptr noundef @.str.33, ptr noundef @.str.1, i32 noundef 267, ptr noundef %10350, ptr noundef %10353, ptr noundef %10356, i32 noundef %10358) #8
  br label %10360

10360:                                            ; preds = %10343, %10326
  call void @llvm.lifetime.end.p0(i64 4, ptr %175) #8
  br label %10361

10361:                                            ; preds = %10360
  br label %10362

10362:                                            ; preds = %10361
  call void @exit(i32 noundef 1) #10
  unreachable

10363:                                            ; No predecessors!
  br label %10364

10364:                                            ; preds = %10363
  br label %10365

10365:                                            ; preds = %10364, %10306
  br label %10366

10366:                                            ; preds = %10365
  br label %10367

10367:                                            ; preds = %10366
  br label %10368

10368:                                            ; preds = %10367
  %10369 = load i32, ptr @test_count, align 4, !tbaa !5
  %10370 = add nsw i32 %10369, 1
  store i32 %10370, ptr @test_count, align 4, !tbaa !5
  %10371 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10372 = load i32, ptr %10371, align 4, !tbaa !5
  %10373 = icmp eq i32 %10372, 0
  br i1 %10373, label %10374, label %10427

10374:                                            ; preds = %10368
  br label %10375

10375:                                            ; preds = %10374
  br label %10376

10376:                                            ; preds = %10375
  call void @llvm.lifetime.start.p0(i64 4, ptr %176) #8
  %10377 = call ptr @__errno_location() #9
  %10378 = load i32, ptr %10377, align 4, !tbaa !5
  store i32 %10378, ptr %176, align 4, !tbaa !5
  %10379 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10380 = call i32 @s2n_print_stacktrace(ptr noundef %10379)
  %10381 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10382 = trunc i8 %10381 to i1
  br i1 %10382, label %10383, label %10405

10383:                                            ; preds = %10376
  %10384 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10385 = call i32 @fileno(ptr noundef %10384) #8
  %10386 = call i32 @isatty(i32 noundef %10385) #8
  %10387 = icmp ne i32 %10386, 0
  br i1 %10387, label %10388, label %10405

10388:                                            ; preds = %10383
  %10389 = load i32, ptr %176, align 4, !tbaa !5
  %10390 = call ptr @__errno_location() #9
  store i32 %10389, ptr %10390, align 4, !tbaa !5
  %10391 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10392 = load i32, ptr @test_count, align 4, !tbaa !5
  %10393 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10394 = load i32, ptr %10393, align 4, !tbaa !5
  %10395 = call ptr @s2n_strerror(i32 noundef %10394, ptr noundef @.str.4)
  %10396 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10397 = load i32, ptr %10396, align 4, !tbaa !5
  %10398 = call ptr @s2n_strerror_debug(i32 noundef %10397, ptr noundef @.str.4)
  %10399 = call ptr @__errno_location() #9
  %10400 = load i32, ptr %10399, align 4, !tbaa !5
  %10401 = call ptr @strerror(i32 noundef %10400) #8
  %10402 = call ptr @__errno_location() #9
  %10403 = load i32, ptr %10402, align 4, !tbaa !5
  %10404 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10391, ptr noundef @.str.2, i32 noundef %10392, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 267, ptr noundef %10395, ptr noundef %10398, ptr noundef %10401, i32 noundef %10403) #8
  br label %10422

10405:                                            ; preds = %10383, %10376
  %10406 = load i32, ptr %176, align 4, !tbaa !5
  %10407 = call ptr @__errno_location() #9
  store i32 %10406, ptr %10407, align 4, !tbaa !5
  %10408 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10409 = load i32, ptr @test_count, align 4, !tbaa !5
  %10410 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10411 = load i32, ptr %10410, align 4, !tbaa !5
  %10412 = call ptr @s2n_strerror(i32 noundef %10411, ptr noundef @.str.4)
  %10413 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10414 = load i32, ptr %10413, align 4, !tbaa !5
  %10415 = call ptr @s2n_strerror_debug(i32 noundef %10414, ptr noundef @.str.4)
  %10416 = call ptr @__errno_location() #9
  %10417 = load i32, ptr %10416, align 4, !tbaa !5
  %10418 = call ptr @strerror(i32 noundef %10417) #8
  %10419 = call ptr @__errno_location() #9
  %10420 = load i32, ptr %10419, align 4, !tbaa !5
  %10421 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10408, ptr noundef @.str.5, i32 noundef %10409, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 267, ptr noundef %10412, ptr noundef %10415, ptr noundef %10418, i32 noundef %10420) #8
  br label %10422

10422:                                            ; preds = %10405, %10388
  call void @llvm.lifetime.end.p0(i64 4, ptr %176) #8
  br label %10423

10423:                                            ; preds = %10422
  br label %10424

10424:                                            ; preds = %10423
  call void @exit(i32 noundef 1) #10
  unreachable

10425:                                            ; No predecessors!
  br label %10426

10426:                                            ; preds = %10425
  br label %10427

10427:                                            ; preds = %10426, %10368
  br label %10428

10428:                                            ; preds = %10427
  br label %10429

10429:                                            ; preds = %10428
  br label %10430

10430:                                            ; preds = %10429
  %10431 = load i32, ptr @test_count, align 4, !tbaa !5
  %10432 = add nsw i32 %10431, 1
  store i32 %10432, ptr @test_count, align 4, !tbaa !5
  %10433 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10434 = load i32, ptr %10433, align 4, !tbaa !5
  %10435 = call ptr @s2n_strerror_debug(i32 noundef %10434, ptr noundef @.str.4)
  %10436 = icmp eq ptr %10435, null
  br i1 %10436, label %10437, label %10490

10437:                                            ; preds = %10430
  br label %10438

10438:                                            ; preds = %10437
  br label %10439

10439:                                            ; preds = %10438
  call void @llvm.lifetime.start.p0(i64 4, ptr %177) #8
  %10440 = call ptr @__errno_location() #9
  %10441 = load i32, ptr %10440, align 4, !tbaa !5
  store i32 %10441, ptr %177, align 4, !tbaa !5
  %10442 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10443 = call i32 @s2n_print_stacktrace(ptr noundef %10442)
  %10444 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10445 = trunc i8 %10444 to i1
  br i1 %10445, label %10446, label %10468

10446:                                            ; preds = %10439
  %10447 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10448 = call i32 @fileno(ptr noundef %10447) #8
  %10449 = call i32 @isatty(i32 noundef %10448) #8
  %10450 = icmp ne i32 %10449, 0
  br i1 %10450, label %10451, label %10468

10451:                                            ; preds = %10446
  %10452 = load i32, ptr %177, align 4, !tbaa !5
  %10453 = call ptr @__errno_location() #9
  store i32 %10452, ptr %10453, align 4, !tbaa !5
  %10454 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10455 = load i32, ptr @test_count, align 4, !tbaa !5
  %10456 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10457 = load i32, ptr %10456, align 4, !tbaa !5
  %10458 = call ptr @s2n_strerror(i32 noundef %10457, ptr noundef @.str.4)
  %10459 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10460 = load i32, ptr %10459, align 4, !tbaa !5
  %10461 = call ptr @s2n_strerror_debug(i32 noundef %10460, ptr noundef @.str.4)
  %10462 = call ptr @__errno_location() #9
  %10463 = load i32, ptr %10462, align 4, !tbaa !5
  %10464 = call ptr @strerror(i32 noundef %10463) #8
  %10465 = call ptr @__errno_location() #9
  %10466 = load i32, ptr %10465, align 4, !tbaa !5
  %10467 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10454, ptr noundef @.str.2, i32 noundef %10455, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 267, ptr noundef %10458, ptr noundef %10461, ptr noundef %10464, i32 noundef %10466) #8
  br label %10485

10468:                                            ; preds = %10446, %10439
  %10469 = load i32, ptr %177, align 4, !tbaa !5
  %10470 = call ptr @__errno_location() #9
  store i32 %10469, ptr %10470, align 4, !tbaa !5
  %10471 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10472 = load i32, ptr @test_count, align 4, !tbaa !5
  %10473 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10474 = load i32, ptr %10473, align 4, !tbaa !5
  %10475 = call ptr @s2n_strerror(i32 noundef %10474, ptr noundef @.str.4)
  %10476 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10477 = load i32, ptr %10476, align 4, !tbaa !5
  %10478 = call ptr @s2n_strerror_debug(i32 noundef %10477, ptr noundef @.str.4)
  %10479 = call ptr @__errno_location() #9
  %10480 = load i32, ptr %10479, align 4, !tbaa !5
  %10481 = call ptr @strerror(i32 noundef %10480) #8
  %10482 = call ptr @__errno_location() #9
  %10483 = load i32, ptr %10482, align 4, !tbaa !5
  %10484 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10471, ptr noundef @.str.5, i32 noundef %10472, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 267, ptr noundef %10475, ptr noundef %10478, ptr noundef %10481, i32 noundef %10483) #8
  br label %10485

10485:                                            ; preds = %10468, %10451
  call void @llvm.lifetime.end.p0(i64 4, ptr %177) #8
  br label %10486

10486:                                            ; preds = %10485
  br label %10487

10487:                                            ; preds = %10486
  call void @exit(i32 noundef 1) #10
  unreachable

10488:                                            ; No predecessors!
  br label %10489

10489:                                            ; preds = %10488
  br label %10490

10490:                                            ; preds = %10489, %10430
  br label %10491

10491:                                            ; preds = %10490
  br label %10492

10492:                                            ; preds = %10491
  br label %10493

10493:                                            ; preds = %10492
  %10494 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %10494, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %10495 = call ptr @__errno_location() #9
  store i32 0, ptr %10495, align 4, !tbaa !5
  br label %10496

10496:                                            ; preds = %10493
  br label %10497

10497:                                            ; preds = %10496
  br label %10498

10498:                                            ; preds = %10497
  br label %10499

10499:                                            ; preds = %10498
  br label %10500

10500:                                            ; preds = %10499, %10303
  br label %10501

10501:                                            ; preds = %10500
  %10502 = load i32, ptr @test_count, align 4, !tbaa !5
  %10503 = add nsw i32 %10502, 1
  store i32 %10503, ptr @test_count, align 4, !tbaa !5
  %10504 = load ptr, ptr %59, align 8, !tbaa !9
  %10505 = call i32 @s2n_is_sig_scheme_valid_for_auth(ptr noundef %10504, ptr noundef @s2n_rsa_pss_rsae_sha256)
  %10506 = icmp eq i32 %10505, -1
  br i1 %10506, label %10507, label %10560

10507:                                            ; preds = %10501
  br label %10508

10508:                                            ; preds = %10507
  br label %10509

10509:                                            ; preds = %10508
  call void @llvm.lifetime.start.p0(i64 4, ptr %178) #8
  %10510 = call ptr @__errno_location() #9
  %10511 = load i32, ptr %10510, align 4, !tbaa !5
  store i32 %10511, ptr %178, align 4, !tbaa !5
  %10512 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10513 = call i32 @s2n_print_stacktrace(ptr noundef %10512)
  %10514 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10515 = trunc i8 %10514 to i1
  br i1 %10515, label %10516, label %10538

10516:                                            ; preds = %10509
  %10517 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10518 = call i32 @fileno(ptr noundef %10517) #8
  %10519 = call i32 @isatty(i32 noundef %10518) #8
  %10520 = icmp ne i32 %10519, 0
  br i1 %10520, label %10521, label %10538

10521:                                            ; preds = %10516
  %10522 = load i32, ptr %178, align 4, !tbaa !5
  %10523 = call ptr @__errno_location() #9
  store i32 %10522, ptr %10523, align 4, !tbaa !5
  %10524 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10525 = load i32, ptr @test_count, align 4, !tbaa !5
  %10526 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10527 = load i32, ptr %10526, align 4, !tbaa !5
  %10528 = call ptr @s2n_strerror(i32 noundef %10527, ptr noundef @.str.4)
  %10529 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10530 = load i32, ptr %10529, align 4, !tbaa !5
  %10531 = call ptr @s2n_strerror_debug(i32 noundef %10530, ptr noundef @.str.4)
  %10532 = call ptr @__errno_location() #9
  %10533 = load i32, ptr %10532, align 4, !tbaa !5
  %10534 = call ptr @strerror(i32 noundef %10533) #8
  %10535 = call ptr @__errno_location() #9
  %10536 = load i32, ptr %10535, align 4, !tbaa !5
  %10537 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10524, ptr noundef @.str.2, i32 noundef %10525, ptr noundef @.str.37, ptr noundef @.str.1, i32 noundef 268, ptr noundef %10528, ptr noundef %10531, ptr noundef %10534, i32 noundef %10536) #8
  br label %10555

10538:                                            ; preds = %10516, %10509
  %10539 = load i32, ptr %178, align 4, !tbaa !5
  %10540 = call ptr @__errno_location() #9
  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() #9
  %10550 = load i32, ptr %10549, align 4, !tbaa !5
  %10551 = call ptr @strerror(i32 noundef %10550) #8
  %10552 = call ptr @__errno_location() #9
  %10553 = load i32, ptr %10552, align 4, !tbaa !5
  %10554 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10541, ptr noundef @.str.5, i32 noundef %10542, ptr noundef @.str.37, ptr noundef @.str.1, i32 noundef 268, ptr noundef %10545, ptr noundef %10548, ptr noundef %10551, i32 noundef %10553) #8
  br label %10555

10555:                                            ; preds = %10538, %10521
  call void @llvm.lifetime.end.p0(i64 4, ptr %178) #8
  br label %10556

10556:                                            ; preds = %10555
  br label %10557

10557:                                            ; preds = %10556
  call void @exit(i32 noundef 1) #10
  unreachable

10558:                                            ; No predecessors!
  br label %10559

10559:                                            ; preds = %10558
  br label %10560

10560:                                            ; preds = %10559, %10501
  br label %10561

10561:                                            ; preds = %10560
  br label %10562

10562:                                            ; preds = %10561
  br label %10563

10563:                                            ; preds = %10562
  %10564 = load i32, ptr @test_count, align 4, !tbaa !5
  %10565 = add nsw i32 %10564, 1
  store i32 %10565, ptr @test_count, align 4, !tbaa !5
  %10566 = load ptr, ptr %59, align 8, !tbaa !9
  %10567 = call i32 @s2n_connection_free(ptr noundef %10566)
  %10568 = icmp eq i32 %10567, -1
  br i1 %10568, label %10569, label %10622

10569:                                            ; preds = %10563
  br label %10570

10570:                                            ; preds = %10569
  br label %10571

10571:                                            ; preds = %10570
  call void @llvm.lifetime.start.p0(i64 4, ptr %179) #8
  %10572 = call ptr @__errno_location() #9
  %10573 = load i32, ptr %10572, align 4, !tbaa !5
  store i32 %10573, ptr %179, align 4, !tbaa !5
  %10574 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10575 = call i32 @s2n_print_stacktrace(ptr noundef %10574)
  %10576 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10577 = trunc i8 %10576 to i1
  br i1 %10577, label %10578, label %10600

10578:                                            ; preds = %10571
  %10579 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10580 = call i32 @fileno(ptr noundef %10579) #8
  %10581 = call i32 @isatty(i32 noundef %10580) #8
  %10582 = icmp ne i32 %10581, 0
  br i1 %10582, label %10583, label %10600

10583:                                            ; preds = %10578
  %10584 = load i32, ptr %179, align 4, !tbaa !5
  %10585 = call ptr @__errno_location() #9
  store i32 %10584, ptr %10585, align 4, !tbaa !5
  %10586 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10587 = load i32, ptr @test_count, align 4, !tbaa !5
  %10588 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10589 = load i32, ptr %10588, align 4, !tbaa !5
  %10590 = call ptr @s2n_strerror(i32 noundef %10589, ptr noundef @.str.4)
  %10591 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10592 = load i32, ptr %10591, align 4, !tbaa !5
  %10593 = call ptr @s2n_strerror_debug(i32 noundef %10592, ptr noundef @.str.4)
  %10594 = call ptr @__errno_location() #9
  %10595 = load i32, ptr %10594, align 4, !tbaa !5
  %10596 = call ptr @strerror(i32 noundef %10595) #8
  %10597 = call ptr @__errno_location() #9
  %10598 = load i32, ptr %10597, align 4, !tbaa !5
  %10599 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10586, ptr noundef @.str.2, i32 noundef %10587, ptr noundef @.str.31, ptr noundef @.str.1, i32 noundef 271, ptr noundef %10590, ptr noundef %10593, ptr noundef %10596, i32 noundef %10598) #8
  br label %10617

10600:                                            ; preds = %10578, %10571
  %10601 = load i32, ptr %179, align 4, !tbaa !5
  %10602 = call ptr @__errno_location() #9
  store i32 %10601, ptr %10602, align 4, !tbaa !5
  %10603 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10604 = load i32, ptr @test_count, align 4, !tbaa !5
  %10605 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10606 = load i32, ptr %10605, align 4, !tbaa !5
  %10607 = call ptr @s2n_strerror(i32 noundef %10606, ptr noundef @.str.4)
  %10608 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10609 = load i32, ptr %10608, align 4, !tbaa !5
  %10610 = call ptr @s2n_strerror_debug(i32 noundef %10609, ptr noundef @.str.4)
  %10611 = call ptr @__errno_location() #9
  %10612 = load i32, ptr %10611, align 4, !tbaa !5
  %10613 = call ptr @strerror(i32 noundef %10612) #8
  %10614 = call ptr @__errno_location() #9
  %10615 = load i32, ptr %10614, align 4, !tbaa !5
  %10616 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10603, ptr noundef @.str.5, i32 noundef %10604, ptr noundef @.str.31, ptr noundef @.str.1, i32 noundef 271, ptr noundef %10607, ptr noundef %10610, ptr noundef %10613, i32 noundef %10615) #8
  br label %10617

10617:                                            ; preds = %10600, %10583
  call void @llvm.lifetime.end.p0(i64 4, ptr %179) #8
  br label %10618

10618:                                            ; preds = %10617
  br label %10619

10619:                                            ; preds = %10618
  call void @exit(i32 noundef 1) #10
  unreachable

10620:                                            ; No predecessors!
  br label %10621

10621:                                            ; preds = %10620
  br label %10622

10622:                                            ; preds = %10621, %10563
  br label %10623

10623:                                            ; preds = %10622
  br label %10624

10624:                                            ; preds = %10623
  call void @llvm.lifetime.end.p0(i64 8, ptr %59) #8
  call void @llvm.lifetime.start.p0(i64 8, ptr %180) #8
  %10625 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %10625, ptr %180, align 8, !tbaa !9
  %10626 = load ptr, ptr %180, align 8, !tbaa !9
  %10627 = getelementptr inbounds %struct.s2n_connection, ptr %10626, i32 0, i32 27
  %10628 = load ptr, ptr %10627, align 8, !tbaa !15
  %10629 = getelementptr inbounds %struct.s2n_crypto_parameters, ptr %10628, i32 0, i32 0
  store ptr @s2n_dhe_rsa_with_3des_ede_cbc_sha, ptr %10629, align 8, !tbaa !42
  br label %10630

10630:                                            ; preds = %10624
  %10631 = load i32, ptr @test_count, align 4, !tbaa !5
  %10632 = add nsw i32 %10631, 1
  store i32 %10632, ptr @test_count, align 4, !tbaa !5
  %10633 = load ptr, ptr %180, align 8, !tbaa !9
  %10634 = call i32 @s2n_is_cert_type_valid_for_auth(ptr noundef %10633, i32 noundef 0)
  %10635 = icmp eq i32 %10634, -1
  br i1 %10635, label %10636, label %10689

10636:                                            ; preds = %10630
  br label %10637

10637:                                            ; preds = %10636
  br label %10638

10638:                                            ; preds = %10637
  call void @llvm.lifetime.start.p0(i64 4, ptr %181) #8
  %10639 = call ptr @__errno_location() #9
  %10640 = load i32, ptr %10639, align 4, !tbaa !5
  store i32 %10640, ptr %181, align 4, !tbaa !5
  %10641 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10642 = call i32 @s2n_print_stacktrace(ptr noundef %10641)
  %10643 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10644 = trunc i8 %10643 to i1
  br i1 %10644, label %10645, label %10667

10645:                                            ; preds = %10638
  %10646 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10647 = call i32 @fileno(ptr noundef %10646) #8
  %10648 = call i32 @isatty(i32 noundef %10647) #8
  %10649 = icmp ne i32 %10648, 0
  br i1 %10649, label %10650, label %10667

10650:                                            ; preds = %10645
  %10651 = load i32, ptr %181, align 4, !tbaa !5
  %10652 = call ptr @__errno_location() #9
  store i32 %10651, ptr %10652, align 4, !tbaa !5
  %10653 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10654 = load i32, ptr @test_count, align 4, !tbaa !5
  %10655 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10656 = load i32, ptr %10655, align 4, !tbaa !5
  %10657 = call ptr @s2n_strerror(i32 noundef %10656, ptr noundef @.str.4)
  %10658 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10659 = load i32, ptr %10658, align 4, !tbaa !5
  %10660 = call ptr @s2n_strerror_debug(i32 noundef %10659, ptr noundef @.str.4)
  %10661 = call ptr @__errno_location() #9
  %10662 = load i32, ptr %10661, align 4, !tbaa !5
  %10663 = call ptr @strerror(i32 noundef %10662) #8
  %10664 = call ptr @__errno_location() #9
  %10665 = load i32, ptr %10664, align 4, !tbaa !5
  %10666 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10653, ptr noundef @.str.2, i32 noundef %10654, ptr noundef @.str.59, ptr noundef @.str.1, i32 noundef 280, ptr noundef %10657, ptr noundef %10660, ptr noundef %10663, i32 noundef %10665) #8
  br label %10684

10667:                                            ; preds = %10645, %10638
  %10668 = load i32, ptr %181, align 4, !tbaa !5
  %10669 = call ptr @__errno_location() #9
  store i32 %10668, ptr %10669, align 4, !tbaa !5
  %10670 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10671 = load i32, ptr @test_count, align 4, !tbaa !5
  %10672 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10673 = load i32, ptr %10672, align 4, !tbaa !5
  %10674 = call ptr @s2n_strerror(i32 noundef %10673, ptr noundef @.str.4)
  %10675 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10676 = load i32, ptr %10675, align 4, !tbaa !5
  %10677 = call ptr @s2n_strerror_debug(i32 noundef %10676, ptr noundef @.str.4)
  %10678 = call ptr @__errno_location() #9
  %10679 = load i32, ptr %10678, align 4, !tbaa !5
  %10680 = call ptr @strerror(i32 noundef %10679) #8
  %10681 = call ptr @__errno_location() #9
  %10682 = load i32, ptr %10681, align 4, !tbaa !5
  %10683 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10670, ptr noundef @.str.5, i32 noundef %10671, ptr noundef @.str.59, ptr noundef @.str.1, i32 noundef 280, ptr noundef %10674, ptr noundef %10677, ptr noundef %10680, i32 noundef %10682) #8
  br label %10684

10684:                                            ; preds = %10667, %10650
  call void @llvm.lifetime.end.p0(i64 4, ptr %181) #8
  br label %10685

10685:                                            ; preds = %10684
  br label %10686

10686:                                            ; preds = %10685
  call void @exit(i32 noundef 1) #10
  unreachable

10687:                                            ; No predecessors!
  br label %10688

10688:                                            ; preds = %10687
  br label %10689

10689:                                            ; preds = %10688, %10630
  br label %10690

10690:                                            ; preds = %10689
  br label %10691

10691:                                            ; preds = %10690
  br label %10692

10692:                                            ; preds = %10691
  %10693 = load i32, ptr @test_count, align 4, !tbaa !5
  %10694 = add nsw i32 %10693, 1
  store i32 %10694, ptr @test_count, align 4, !tbaa !5
  %10695 = load ptr, ptr %180, align 8, !tbaa !9
  %10696 = call i32 @s2n_is_cert_type_valid_for_auth(ptr noundef %10695, i32 noundef 2)
  %10697 = icmp eq i32 %10696, -1
  br i1 %10697, label %10698, label %10751

10698:                                            ; preds = %10692
  br label %10699

10699:                                            ; preds = %10698
  br label %10700

10700:                                            ; preds = %10699
  call void @llvm.lifetime.start.p0(i64 4, ptr %182) #8
  %10701 = call ptr @__errno_location() #9
  %10702 = load i32, ptr %10701, align 4, !tbaa !5
  store i32 %10702, ptr %182, align 4, !tbaa !5
  %10703 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10704 = call i32 @s2n_print_stacktrace(ptr noundef %10703)
  %10705 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10706 = trunc i8 %10705 to i1
  br i1 %10706, label %10707, label %10729

10707:                                            ; preds = %10700
  %10708 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10709 = call i32 @fileno(ptr noundef %10708) #8
  %10710 = call i32 @isatty(i32 noundef %10709) #8
  %10711 = icmp ne i32 %10710, 0
  br i1 %10711, label %10712, label %10729

10712:                                            ; preds = %10707
  %10713 = load i32, ptr %182, align 4, !tbaa !5
  %10714 = call ptr @__errno_location() #9
  store i32 %10713, ptr %10714, align 4, !tbaa !5
  %10715 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10716 = load i32, ptr @test_count, align 4, !tbaa !5
  %10717 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10718 = load i32, ptr %10717, align 4, !tbaa !5
  %10719 = call ptr @s2n_strerror(i32 noundef %10718, ptr noundef @.str.4)
  %10720 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10721 = load i32, ptr %10720, align 4, !tbaa !5
  %10722 = call ptr @s2n_strerror_debug(i32 noundef %10721, ptr noundef @.str.4)
  %10723 = call ptr @__errno_location() #9
  %10724 = load i32, ptr %10723, align 4, !tbaa !5
  %10725 = call ptr @strerror(i32 noundef %10724) #8
  %10726 = call ptr @__errno_location() #9
  %10727 = load i32, ptr %10726, align 4, !tbaa !5
  %10728 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10715, ptr noundef @.str.2, i32 noundef %10716, ptr noundef @.str.60, ptr noundef @.str.1, i32 noundef 281, ptr noundef %10719, ptr noundef %10722, ptr noundef %10725, i32 noundef %10727) #8
  br label %10746

10729:                                            ; preds = %10707, %10700
  %10730 = load i32, ptr %182, align 4, !tbaa !5
  %10731 = call ptr @__errno_location() #9
  store i32 %10730, ptr %10731, align 4, !tbaa !5
  %10732 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10733 = load i32, ptr @test_count, align 4, !tbaa !5
  %10734 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10735 = load i32, ptr %10734, align 4, !tbaa !5
  %10736 = call ptr @s2n_strerror(i32 noundef %10735, ptr noundef @.str.4)
  %10737 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10738 = load i32, ptr %10737, align 4, !tbaa !5
  %10739 = call ptr @s2n_strerror_debug(i32 noundef %10738, ptr noundef @.str.4)
  %10740 = call ptr @__errno_location() #9
  %10741 = load i32, ptr %10740, align 4, !tbaa !5
  %10742 = call ptr @strerror(i32 noundef %10741) #8
  %10743 = call ptr @__errno_location() #9
  %10744 = load i32, ptr %10743, align 4, !tbaa !5
  %10745 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10732, ptr noundef @.str.5, i32 noundef %10733, ptr noundef @.str.60, ptr noundef @.str.1, i32 noundef 281, ptr noundef %10736, ptr noundef %10739, ptr noundef %10742, i32 noundef %10744) #8
  br label %10746

10746:                                            ; preds = %10729, %10712
  call void @llvm.lifetime.end.p0(i64 4, ptr %182) #8
  br label %10747

10747:                                            ; preds = %10746
  br label %10748

10748:                                            ; preds = %10747
  call void @exit(i32 noundef 1) #10
  unreachable

10749:                                            ; No predecessors!
  br label %10750

10750:                                            ; preds = %10749
  br label %10751

10751:                                            ; preds = %10750, %10692
  br label %10752

10752:                                            ; preds = %10751
  br label %10753

10753:                                            ; preds = %10752
  br label %10754

10754:                                            ; preds = %10753
  br label %10755

10755:                                            ; preds = %10754
  %10756 = load i32, ptr @test_count, align 4, !tbaa !5
  %10757 = add nsw i32 %10756, 1
  store i32 %10757, ptr @test_count, align 4, !tbaa !5
  %10758 = load ptr, ptr %180, align 8, !tbaa !9
  %10759 = call i32 @s2n_is_cert_type_valid_for_auth(ptr noundef %10758, i32 noundef 1)
  %10760 = icmp eq i32 %10759, -1
  br i1 %10760, label %10814, label %10761

10761:                                            ; preds = %10755
  br label %10762

10762:                                            ; preds = %10761
  br label %10763

10763:                                            ; preds = %10762
  call void @llvm.lifetime.start.p0(i64 4, ptr %183) #8
  %10764 = call ptr @__errno_location() #9
  %10765 = load i32, ptr %10764, align 4, !tbaa !5
  store i32 %10765, ptr %183, align 4, !tbaa !5
  %10766 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10767 = call i32 @s2n_print_stacktrace(ptr noundef %10766)
  %10768 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10769 = trunc i8 %10768 to i1
  br i1 %10769, label %10770, label %10792

10770:                                            ; preds = %10763
  %10771 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10772 = call i32 @fileno(ptr noundef %10771) #8
  %10773 = call i32 @isatty(i32 noundef %10772) #8
  %10774 = icmp ne i32 %10773, 0
  br i1 %10774, label %10775, label %10792

10775:                                            ; preds = %10770
  %10776 = load i32, ptr %183, align 4, !tbaa !5
  %10777 = call ptr @__errno_location() #9
  store i32 %10776, ptr %10777, align 4, !tbaa !5
  %10778 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10779 = load i32, ptr @test_count, align 4, !tbaa !5
  %10780 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10781 = load i32, ptr %10780, align 4, !tbaa !5
  %10782 = call ptr @s2n_strerror(i32 noundef %10781, ptr noundef @.str.4)
  %10783 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10784 = load i32, ptr %10783, align 4, !tbaa !5
  %10785 = call ptr @s2n_strerror_debug(i32 noundef %10784, ptr noundef @.str.4)
  %10786 = call ptr @__errno_location() #9
  %10787 = load i32, ptr %10786, align 4, !tbaa !5
  %10788 = call ptr @strerror(i32 noundef %10787) #8
  %10789 = call ptr @__errno_location() #9
  %10790 = load i32, ptr %10789, align 4, !tbaa !5
  %10791 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10778, ptr noundef @.str.2, i32 noundef %10779, ptr noundef @.str.61, ptr noundef @.str.1, i32 noundef 282, ptr noundef %10782, ptr noundef %10785, ptr noundef %10788, i32 noundef %10790) #8
  br label %10809

10792:                                            ; preds = %10770, %10763
  %10793 = load i32, ptr %183, align 4, !tbaa !5
  %10794 = call ptr @__errno_location() #9
  store i32 %10793, ptr %10794, align 4, !tbaa !5
  %10795 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10796 = load i32, ptr @test_count, align 4, !tbaa !5
  %10797 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10798 = load i32, ptr %10797, align 4, !tbaa !5
  %10799 = call ptr @s2n_strerror(i32 noundef %10798, ptr noundef @.str.4)
  %10800 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10801 = load i32, ptr %10800, align 4, !tbaa !5
  %10802 = call ptr @s2n_strerror_debug(i32 noundef %10801, ptr noundef @.str.4)
  %10803 = call ptr @__errno_location() #9
  %10804 = load i32, ptr %10803, align 4, !tbaa !5
  %10805 = call ptr @strerror(i32 noundef %10804) #8
  %10806 = call ptr @__errno_location() #9
  %10807 = load i32, ptr %10806, align 4, !tbaa !5
  %10808 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10795, ptr noundef @.str.5, i32 noundef %10796, ptr noundef @.str.61, ptr noundef @.str.1, i32 noundef 282, ptr noundef %10799, ptr noundef %10802, ptr noundef %10805, i32 noundef %10807) #8
  br label %10809

10809:                                            ; preds = %10792, %10775
  call void @llvm.lifetime.end.p0(i64 4, ptr %183) #8
  br label %10810

10810:                                            ; preds = %10809
  br label %10811

10811:                                            ; preds = %10810
  call void @exit(i32 noundef 1) #10
  unreachable

10812:                                            ; No predecessors!
  br label %10813

10813:                                            ; preds = %10812
  br label %10814

10814:                                            ; preds = %10813, %10755
  br label %10815

10815:                                            ; preds = %10814
  br label %10816

10816:                                            ; preds = %10815
  br label %10817

10817:                                            ; preds = %10816
  %10818 = load i32, ptr @test_count, align 4, !tbaa !5
  %10819 = add nsw i32 %10818, 1
  store i32 %10819, ptr @test_count, align 4, !tbaa !5
  %10820 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10821 = load i32, ptr %10820, align 4, !tbaa !5
  %10822 = icmp eq i32 %10821, 0
  br i1 %10822, label %10823, label %10876

10823:                                            ; preds = %10817
  br label %10824

10824:                                            ; preds = %10823
  br label %10825

10825:                                            ; preds = %10824
  call void @llvm.lifetime.start.p0(i64 4, ptr %184) #8
  %10826 = call ptr @__errno_location() #9
  %10827 = load i32, ptr %10826, align 4, !tbaa !5
  store i32 %10827, ptr %184, align 4, !tbaa !5
  %10828 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10829 = call i32 @s2n_print_stacktrace(ptr noundef %10828)
  %10830 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10831 = trunc i8 %10830 to i1
  br i1 %10831, label %10832, label %10854

10832:                                            ; preds = %10825
  %10833 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10834 = call i32 @fileno(ptr noundef %10833) #8
  %10835 = call i32 @isatty(i32 noundef %10834) #8
  %10836 = icmp ne i32 %10835, 0
  br i1 %10836, label %10837, label %10854

10837:                                            ; preds = %10832
  %10838 = load i32, ptr %184, align 4, !tbaa !5
  %10839 = call ptr @__errno_location() #9
  store i32 %10838, ptr %10839, align 4, !tbaa !5
  %10840 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10841 = load i32, ptr @test_count, align 4, !tbaa !5
  %10842 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10843 = load i32, ptr %10842, align 4, !tbaa !5
  %10844 = call ptr @s2n_strerror(i32 noundef %10843, ptr noundef @.str.4)
  %10845 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10846 = load i32, ptr %10845, align 4, !tbaa !5
  %10847 = call ptr @s2n_strerror_debug(i32 noundef %10846, ptr noundef @.str.4)
  %10848 = call ptr @__errno_location() #9
  %10849 = load i32, ptr %10848, align 4, !tbaa !5
  %10850 = call ptr @strerror(i32 noundef %10849) #8
  %10851 = call ptr @__errno_location() #9
  %10852 = load i32, ptr %10851, align 4, !tbaa !5
  %10853 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10840, ptr noundef @.str.2, i32 noundef %10841, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 282, ptr noundef %10844, ptr noundef %10847, ptr noundef %10850, i32 noundef %10852) #8
  br label %10871

10854:                                            ; preds = %10832, %10825
  %10855 = load i32, ptr %184, align 4, !tbaa !5
  %10856 = call ptr @__errno_location() #9
  store i32 %10855, ptr %10856, align 4, !tbaa !5
  %10857 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10858 = load i32, ptr @test_count, align 4, !tbaa !5
  %10859 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10860 = load i32, ptr %10859, align 4, !tbaa !5
  %10861 = call ptr @s2n_strerror(i32 noundef %10860, ptr noundef @.str.4)
  %10862 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10863 = load i32, ptr %10862, align 4, !tbaa !5
  %10864 = call ptr @s2n_strerror_debug(i32 noundef %10863, ptr noundef @.str.4)
  %10865 = call ptr @__errno_location() #9
  %10866 = load i32, ptr %10865, align 4, !tbaa !5
  %10867 = call ptr @strerror(i32 noundef %10866) #8
  %10868 = call ptr @__errno_location() #9
  %10869 = load i32, ptr %10868, align 4, !tbaa !5
  %10870 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10857, ptr noundef @.str.5, i32 noundef %10858, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 282, ptr noundef %10861, ptr noundef %10864, ptr noundef %10867, i32 noundef %10869) #8
  br label %10871

10871:                                            ; preds = %10854, %10837
  call void @llvm.lifetime.end.p0(i64 4, ptr %184) #8
  br label %10872

10872:                                            ; preds = %10871
  br label %10873

10873:                                            ; preds = %10872
  call void @exit(i32 noundef 1) #10
  unreachable

10874:                                            ; No predecessors!
  br label %10875

10875:                                            ; preds = %10874
  br label %10876

10876:                                            ; preds = %10875, %10817
  br label %10877

10877:                                            ; preds = %10876
  br label %10878

10878:                                            ; preds = %10877
  br label %10879

10879:                                            ; preds = %10878
  %10880 = load i32, ptr @test_count, align 4, !tbaa !5
  %10881 = add nsw i32 %10880, 1
  store i32 %10881, ptr @test_count, align 4, !tbaa !5
  %10882 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10883 = load i32, ptr %10882, align 4, !tbaa !5
  %10884 = call ptr @s2n_strerror_debug(i32 noundef %10883, ptr noundef @.str.4)
  %10885 = icmp eq ptr %10884, null
  br i1 %10885, label %10886, label %10939

10886:                                            ; preds = %10879
  br label %10887

10887:                                            ; preds = %10886
  br label %10888

10888:                                            ; preds = %10887
  call void @llvm.lifetime.start.p0(i64 4, ptr %185) #8
  %10889 = call ptr @__errno_location() #9
  %10890 = load i32, ptr %10889, align 4, !tbaa !5
  store i32 %10890, ptr %185, align 4, !tbaa !5
  %10891 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10892 = call i32 @s2n_print_stacktrace(ptr noundef %10891)
  %10893 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10894 = trunc i8 %10893 to i1
  br i1 %10894, label %10895, label %10917

10895:                                            ; preds = %10888
  %10896 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10897 = call i32 @fileno(ptr noundef %10896) #8
  %10898 = call i32 @isatty(i32 noundef %10897) #8
  %10899 = icmp ne i32 %10898, 0
  br i1 %10899, label %10900, label %10917

10900:                                            ; preds = %10895
  %10901 = load i32, ptr %185, align 4, !tbaa !5
  %10902 = call ptr @__errno_location() #9
  store i32 %10901, ptr %10902, align 4, !tbaa !5
  %10903 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10904 = load i32, ptr @test_count, align 4, !tbaa !5
  %10905 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10906 = load i32, ptr %10905, align 4, !tbaa !5
  %10907 = call ptr @s2n_strerror(i32 noundef %10906, ptr noundef @.str.4)
  %10908 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10909 = load i32, ptr %10908, align 4, !tbaa !5
  %10910 = call ptr @s2n_strerror_debug(i32 noundef %10909, ptr noundef @.str.4)
  %10911 = call ptr @__errno_location() #9
  %10912 = load i32, ptr %10911, align 4, !tbaa !5
  %10913 = call ptr @strerror(i32 noundef %10912) #8
  %10914 = call ptr @__errno_location() #9
  %10915 = load i32, ptr %10914, align 4, !tbaa !5
  %10916 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10903, ptr noundef @.str.2, i32 noundef %10904, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 282, ptr noundef %10907, ptr noundef %10910, ptr noundef %10913, i32 noundef %10915) #8
  br label %10934

10917:                                            ; preds = %10895, %10888
  %10918 = load i32, ptr %185, align 4, !tbaa !5
  %10919 = call ptr @__errno_location() #9
  store i32 %10918, ptr %10919, align 4, !tbaa !5
  %10920 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10921 = load i32, ptr @test_count, align 4, !tbaa !5
  %10922 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10923 = load i32, ptr %10922, align 4, !tbaa !5
  %10924 = call ptr @s2n_strerror(i32 noundef %10923, ptr noundef @.str.4)
  %10925 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10926 = load i32, ptr %10925, align 4, !tbaa !5
  %10927 = call ptr @s2n_strerror_debug(i32 noundef %10926, ptr noundef @.str.4)
  %10928 = call ptr @__errno_location() #9
  %10929 = load i32, ptr %10928, align 4, !tbaa !5
  %10930 = call ptr @strerror(i32 noundef %10929) #8
  %10931 = call ptr @__errno_location() #9
  %10932 = load i32, ptr %10931, align 4, !tbaa !5
  %10933 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10920, ptr noundef @.str.5, i32 noundef %10921, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 282, ptr noundef %10924, ptr noundef %10927, ptr noundef %10930, i32 noundef %10932) #8
  br label %10934

10934:                                            ; preds = %10917, %10900
  call void @llvm.lifetime.end.p0(i64 4, ptr %185) #8
  br label %10935

10935:                                            ; preds = %10934
  br label %10936

10936:                                            ; preds = %10935
  call void @exit(i32 noundef 1) #10
  unreachable

10937:                                            ; No predecessors!
  br label %10938

10938:                                            ; preds = %10937
  br label %10939

10939:                                            ; preds = %10938, %10879
  br label %10940

10940:                                            ; preds = %10939
  br label %10941

10941:                                            ; preds = %10940
  br label %10942

10942:                                            ; preds = %10941
  %10943 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %10943, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %10944 = call ptr @__errno_location() #9
  store i32 0, ptr %10944, align 4, !tbaa !5
  br label %10945

10945:                                            ; preds = %10942
  br label %10946

10946:                                            ; preds = %10945
  br label %10947

10947:                                            ; preds = %10946
  br label %10948

10948:                                            ; preds = %10947
  br label %10949

10949:                                            ; preds = %10948
  br label %10950

10950:                                            ; preds = %10949
  %10951 = load i32, ptr @test_count, align 4, !tbaa !5
  %10952 = add nsw i32 %10951, 1
  store i32 %10952, ptr @test_count, align 4, !tbaa !5
  %10953 = load ptr, ptr %180, align 8, !tbaa !9
  %10954 = call i32 @s2n_is_cert_type_valid_for_auth(ptr noundef %10953, i32 noundef -1)
  %10955 = icmp eq i32 %10954, -1
  br i1 %10955, label %11009, label %10956

10956:                                            ; preds = %10950
  br label %10957

10957:                                            ; preds = %10956
  br label %10958

10958:                                            ; preds = %10957
  call void @llvm.lifetime.start.p0(i64 4, ptr %186) #8
  %10959 = call ptr @__errno_location() #9
  %10960 = load i32, ptr %10959, align 4, !tbaa !5
  store i32 %10960, ptr %186, align 4, !tbaa !5
  %10961 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10962 = call i32 @s2n_print_stacktrace(ptr noundef %10961)
  %10963 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10964 = trunc i8 %10963 to i1
  br i1 %10964, label %10965, label %10987

10965:                                            ; preds = %10958
  %10966 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10967 = call i32 @fileno(ptr noundef %10966) #8
  %10968 = call i32 @isatty(i32 noundef %10967) #8
  %10969 = icmp ne i32 %10968, 0
  br i1 %10969, label %10970, label %10987

10970:                                            ; preds = %10965
  %10971 = load i32, ptr %186, align 4, !tbaa !5
  %10972 = call ptr @__errno_location() #9
  store i32 %10971, ptr %10972, align 4, !tbaa !5
  %10973 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10974 = load i32, ptr @test_count, align 4, !tbaa !5
  %10975 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10976 = load i32, ptr %10975, align 4, !tbaa !5
  %10977 = call ptr @s2n_strerror(i32 noundef %10976, ptr noundef @.str.4)
  %10978 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10979 = load i32, ptr %10978, align 4, !tbaa !5
  %10980 = call ptr @s2n_strerror_debug(i32 noundef %10979, ptr noundef @.str.4)
  %10981 = call ptr @__errno_location() #9
  %10982 = load i32, ptr %10981, align 4, !tbaa !5
  %10983 = call ptr @strerror(i32 noundef %10982) #8
  %10984 = call ptr @__errno_location() #9
  %10985 = load i32, ptr %10984, align 4, !tbaa !5
  %10986 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10973, ptr noundef @.str.2, i32 noundef %10974, ptr noundef @.str.62, ptr noundef @.str.1, i32 noundef 283, ptr noundef %10977, ptr noundef %10980, ptr noundef %10983, i32 noundef %10985) #8
  br label %11004

10987:                                            ; preds = %10965, %10958
  %10988 = load i32, ptr %186, align 4, !tbaa !5
  %10989 = call ptr @__errno_location() #9
  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() #9
  %10999 = load i32, ptr %10998, align 4, !tbaa !5
  %11000 = call ptr @strerror(i32 noundef %10999) #8
  %11001 = call ptr @__errno_location() #9
  %11002 = load i32, ptr %11001, align 4, !tbaa !5
  %11003 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10990, ptr noundef @.str.5, i32 noundef %10991, ptr noundef @.str.62, ptr noundef @.str.1, i32 noundef 283, ptr noundef %10994, ptr noundef %10997, ptr noundef %11000, i32 noundef %11002) #8
  br label %11004

11004:                                            ; preds = %10987, %10970
  call void @llvm.lifetime.end.p0(i64 4, ptr %186) #8
  br label %11005

11005:                                            ; preds = %11004
  br label %11006

11006:                                            ; preds = %11005
  call void @exit(i32 noundef 1) #10
  unreachable

11007:                                            ; No predecessors!
  br label %11008

11008:                                            ; preds = %11007
  br label %11009

11009:                                            ; preds = %11008, %10950
  br label %11010

11010:                                            ; preds = %11009
  br label %11011

11011:                                            ; preds = %11010
  br label %11012

11012:                                            ; preds = %11011
  %11013 = load i32, ptr @test_count, align 4, !tbaa !5
  %11014 = add nsw i32 %11013, 1
  store i32 %11014, ptr @test_count, align 4, !tbaa !5
  %11015 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11016 = load i32, ptr %11015, align 4, !tbaa !5
  %11017 = icmp eq i32 %11016, 0
  br i1 %11017, label %11018, label %11071

11018:                                            ; preds = %11012
  br label %11019

11019:                                            ; preds = %11018
  br label %11020

11020:                                            ; preds = %11019
  call void @llvm.lifetime.start.p0(i64 4, ptr %187) #8
  %11021 = call ptr @__errno_location() #9
  %11022 = load i32, ptr %11021, align 4, !tbaa !5
  store i32 %11022, ptr %187, align 4, !tbaa !5
  %11023 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11024 = call i32 @s2n_print_stacktrace(ptr noundef %11023)
  %11025 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11026 = trunc i8 %11025 to i1
  br i1 %11026, label %11027, label %11049

11027:                                            ; preds = %11020
  %11028 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11029 = call i32 @fileno(ptr noundef %11028) #8
  %11030 = call i32 @isatty(i32 noundef %11029) #8
  %11031 = icmp ne i32 %11030, 0
  br i1 %11031, label %11032, label %11049

11032:                                            ; preds = %11027
  %11033 = load i32, ptr %187, align 4, !tbaa !5
  %11034 = call ptr @__errno_location() #9
  store i32 %11033, ptr %11034, align 4, !tbaa !5
  %11035 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11036 = load i32, ptr @test_count, align 4, !tbaa !5
  %11037 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11038 = load i32, ptr %11037, align 4, !tbaa !5
  %11039 = call ptr @s2n_strerror(i32 noundef %11038, ptr noundef @.str.4)
  %11040 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11041 = load i32, ptr %11040, align 4, !tbaa !5
  %11042 = call ptr @s2n_strerror_debug(i32 noundef %11041, ptr noundef @.str.4)
  %11043 = call ptr @__errno_location() #9
  %11044 = load i32, ptr %11043, align 4, !tbaa !5
  %11045 = call ptr @strerror(i32 noundef %11044) #8
  %11046 = call ptr @__errno_location() #9
  %11047 = load i32, ptr %11046, align 4, !tbaa !5
  %11048 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11035, ptr noundef @.str.2, i32 noundef %11036, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 283, ptr noundef %11039, ptr noundef %11042, ptr noundef %11045, i32 noundef %11047) #8
  br label %11066

11049:                                            ; preds = %11027, %11020
  %11050 = load i32, ptr %187, align 4, !tbaa !5
  %11051 = call ptr @__errno_location() #9
  store i32 %11050, ptr %11051, align 4, !tbaa !5
  %11052 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11053 = load i32, ptr @test_count, align 4, !tbaa !5
  %11054 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11055 = load i32, ptr %11054, align 4, !tbaa !5
  %11056 = call ptr @s2n_strerror(i32 noundef %11055, ptr noundef @.str.4)
  %11057 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11058 = load i32, ptr %11057, align 4, !tbaa !5
  %11059 = call ptr @s2n_strerror_debug(i32 noundef %11058, ptr noundef @.str.4)
  %11060 = call ptr @__errno_location() #9
  %11061 = load i32, ptr %11060, align 4, !tbaa !5
  %11062 = call ptr @strerror(i32 noundef %11061) #8
  %11063 = call ptr @__errno_location() #9
  %11064 = load i32, ptr %11063, align 4, !tbaa !5
  %11065 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11052, ptr noundef @.str.5, i32 noundef %11053, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 283, ptr noundef %11056, ptr noundef %11059, ptr noundef %11062, i32 noundef %11064) #8
  br label %11066

11066:                                            ; preds = %11049, %11032
  call void @llvm.lifetime.end.p0(i64 4, ptr %187) #8
  br label %11067

11067:                                            ; preds = %11066
  br label %11068

11068:                                            ; preds = %11067
  call void @exit(i32 noundef 1) #10
  unreachable

11069:                                            ; No predecessors!
  br label %11070

11070:                                            ; preds = %11069
  br label %11071

11071:                                            ; preds = %11070, %11012
  br label %11072

11072:                                            ; preds = %11071
  br label %11073

11073:                                            ; preds = %11072
  br label %11074

11074:                                            ; preds = %11073
  %11075 = load i32, ptr @test_count, align 4, !tbaa !5
  %11076 = add nsw i32 %11075, 1
  store i32 %11076, ptr @test_count, align 4, !tbaa !5
  %11077 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11078 = load i32, ptr %11077, align 4, !tbaa !5
  %11079 = call ptr @s2n_strerror_debug(i32 noundef %11078, ptr noundef @.str.4)
  %11080 = icmp eq ptr %11079, null
  br i1 %11080, label %11081, label %11134

11081:                                            ; preds = %11074
  br label %11082

11082:                                            ; preds = %11081
  br label %11083

11083:                                            ; preds = %11082
  call void @llvm.lifetime.start.p0(i64 4, ptr %188) #8
  %11084 = call ptr @__errno_location() #9
  %11085 = load i32, ptr %11084, align 4, !tbaa !5
  store i32 %11085, ptr %188, align 4, !tbaa !5
  %11086 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11087 = call i32 @s2n_print_stacktrace(ptr noundef %11086)
  %11088 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11089 = trunc i8 %11088 to i1
  br i1 %11089, label %11090, label %11112

11090:                                            ; preds = %11083
  %11091 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11092 = call i32 @fileno(ptr noundef %11091) #8
  %11093 = call i32 @isatty(i32 noundef %11092) #8
  %11094 = icmp ne i32 %11093, 0
  br i1 %11094, label %11095, label %11112

11095:                                            ; preds = %11090
  %11096 = load i32, ptr %188, align 4, !tbaa !5
  %11097 = call ptr @__errno_location() #9
  store i32 %11096, ptr %11097, align 4, !tbaa !5
  %11098 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11099 = load i32, ptr @test_count, align 4, !tbaa !5
  %11100 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11101 = load i32, ptr %11100, align 4, !tbaa !5
  %11102 = call ptr @s2n_strerror(i32 noundef %11101, ptr noundef @.str.4)
  %11103 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11104 = load i32, ptr %11103, align 4, !tbaa !5
  %11105 = call ptr @s2n_strerror_debug(i32 noundef %11104, ptr noundef @.str.4)
  %11106 = call ptr @__errno_location() #9
  %11107 = load i32, ptr %11106, align 4, !tbaa !5
  %11108 = call ptr @strerror(i32 noundef %11107) #8
  %11109 = call ptr @__errno_location() #9
  %11110 = load i32, ptr %11109, align 4, !tbaa !5
  %11111 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11098, ptr noundef @.str.2, i32 noundef %11099, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 283, ptr noundef %11102, ptr noundef %11105, ptr noundef %11108, i32 noundef %11110) #8
  br label %11129

11112:                                            ; preds = %11090, %11083
  %11113 = load i32, ptr %188, align 4, !tbaa !5
  %11114 = call ptr @__errno_location() #9
  store i32 %11113, ptr %11114, align 4, !tbaa !5
  %11115 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11116 = load i32, ptr @test_count, align 4, !tbaa !5
  %11117 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11118 = load i32, ptr %11117, align 4, !tbaa !5
  %11119 = call ptr @s2n_strerror(i32 noundef %11118, ptr noundef @.str.4)
  %11120 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11121 = load i32, ptr %11120, align 4, !tbaa !5
  %11122 = call ptr @s2n_strerror_debug(i32 noundef %11121, ptr noundef @.str.4)
  %11123 = call ptr @__errno_location() #9
  %11124 = load i32, ptr %11123, align 4, !tbaa !5
  %11125 = call ptr @strerror(i32 noundef %11124) #8
  %11126 = call ptr @__errno_location() #9
  %11127 = load i32, ptr %11126, align 4, !tbaa !5
  %11128 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11115, ptr noundef @.str.5, i32 noundef %11116, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 283, ptr noundef %11119, ptr noundef %11122, ptr noundef %11125, i32 noundef %11127) #8
  br label %11129

11129:                                            ; preds = %11112, %11095
  call void @llvm.lifetime.end.p0(i64 4, ptr %188) #8
  br label %11130

11130:                                            ; preds = %11129
  br label %11131

11131:                                            ; preds = %11130
  call void @exit(i32 noundef 1) #10
  unreachable

11132:                                            ; No predecessors!
  br label %11133

11133:                                            ; preds = %11132
  br label %11134

11134:                                            ; preds = %11133, %11074
  br label %11135

11135:                                            ; preds = %11134
  br label %11136

11136:                                            ; preds = %11135
  br label %11137

11137:                                            ; preds = %11136
  %11138 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %11138, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %11139 = call ptr @__errno_location() #9
  store i32 0, ptr %11139, align 4, !tbaa !5
  br label %11140

11140:                                            ; preds = %11137
  br label %11141

11141:                                            ; preds = %11140
  br label %11142

11142:                                            ; preds = %11141
  br label %11143

11143:                                            ; preds = %11142
  %11144 = load ptr, ptr %180, align 8, !tbaa !9
  %11145 = getelementptr inbounds %struct.s2n_connection, ptr %11144, i32 0, i32 27
  %11146 = load ptr, ptr %11145, align 8, !tbaa !15
  %11147 = getelementptr inbounds %struct.s2n_crypto_parameters, ptr %11146, i32 0, i32 0
  store ptr @s2n_ecdhe_ecdsa_with_aes_128_cbc_sha, ptr %11147, align 8, !tbaa !42
  br label %11148

11148:                                            ; preds = %11143
  br label %11149

11149:                                            ; preds = %11148
  %11150 = load i32, ptr @test_count, align 4, !tbaa !5
  %11151 = add nsw i32 %11150, 1
  store i32 %11151, ptr @test_count, align 4, !tbaa !5
  %11152 = load ptr, ptr %180, align 8, !tbaa !9
  %11153 = call i32 @s2n_is_cert_type_valid_for_auth(ptr noundef %11152, i32 noundef 0)
  %11154 = icmp eq i32 %11153, -1
  br i1 %11154, label %11208, label %11155

11155:                                            ; preds = %11149
  br label %11156

11156:                                            ; preds = %11155
  br label %11157

11157:                                            ; preds = %11156
  call void @llvm.lifetime.start.p0(i64 4, ptr %189) #8
  %11158 = call ptr @__errno_location() #9
  %11159 = load i32, ptr %11158, align 4, !tbaa !5
  store i32 %11159, ptr %189, align 4, !tbaa !5
  %11160 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11161 = call i32 @s2n_print_stacktrace(ptr noundef %11160)
  %11162 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11163 = trunc i8 %11162 to i1
  br i1 %11163, label %11164, label %11186

11164:                                            ; preds = %11157
  %11165 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11166 = call i32 @fileno(ptr noundef %11165) #8
  %11167 = call i32 @isatty(i32 noundef %11166) #8
  %11168 = icmp ne i32 %11167, 0
  br i1 %11168, label %11169, label %11186

11169:                                            ; preds = %11164
  %11170 = load i32, ptr %189, align 4, !tbaa !5
  %11171 = call ptr @__errno_location() #9
  store i32 %11170, ptr %11171, align 4, !tbaa !5
  %11172 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11173 = load i32, ptr @test_count, align 4, !tbaa !5
  %11174 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11175 = load i32, ptr %11174, align 4, !tbaa !5
  %11176 = call ptr @s2n_strerror(i32 noundef %11175, ptr noundef @.str.4)
  %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_debug(i32 noundef %11178, ptr noundef @.str.4)
  %11180 = call ptr @__errno_location() #9
  %11181 = load i32, ptr %11180, align 4, !tbaa !5
  %11182 = call ptr @strerror(i32 noundef %11181) #8
  %11183 = call ptr @__errno_location() #9
  %11184 = load i32, ptr %11183, align 4, !tbaa !5
  %11185 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11172, ptr noundef @.str.2, i32 noundef %11173, ptr noundef @.str.63, ptr noundef @.str.1, i32 noundef 287, ptr noundef %11176, ptr noundef %11179, ptr noundef %11182, i32 noundef %11184) #8
  br label %11203

11186:                                            ; preds = %11164, %11157
  %11187 = load i32, ptr %189, align 4, !tbaa !5
  %11188 = call ptr @__errno_location() #9
  store i32 %11187, ptr %11188, align 4, !tbaa !5
  %11189 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11190 = load i32, ptr @test_count, align 4, !tbaa !5
  %11191 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11192 = load i32, ptr %11191, align 4, !tbaa !5
  %11193 = call ptr @s2n_strerror(i32 noundef %11192, ptr noundef @.str.4)
  %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_debug(i32 noundef %11195, ptr noundef @.str.4)
  %11197 = call ptr @__errno_location() #9
  %11198 = load i32, ptr %11197, align 4, !tbaa !5
  %11199 = call ptr @strerror(i32 noundef %11198) #8
  %11200 = call ptr @__errno_location() #9
  %11201 = load i32, ptr %11200, align 4, !tbaa !5
  %11202 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11189, ptr noundef @.str.5, i32 noundef %11190, ptr noundef @.str.63, ptr noundef @.str.1, i32 noundef 287, ptr noundef %11193, ptr noundef %11196, ptr noundef %11199, i32 noundef %11201) #8
  br label %11203

11203:                                            ; preds = %11186, %11169
  call void @llvm.lifetime.end.p0(i64 4, ptr %189) #8
  br label %11204

11204:                                            ; preds = %11203
  br label %11205

11205:                                            ; preds = %11204
  call void @exit(i32 noundef 1) #10
  unreachable

11206:                                            ; No predecessors!
  br label %11207

11207:                                            ; preds = %11206
  br label %11208

11208:                                            ; preds = %11207, %11149
  br label %11209

11209:                                            ; preds = %11208
  br label %11210

11210:                                            ; preds = %11209
  br label %11211

11211:                                            ; preds = %11210
  %11212 = load i32, ptr @test_count, align 4, !tbaa !5
  %11213 = add nsw i32 %11212, 1
  store i32 %11213, ptr @test_count, align 4, !tbaa !5
  %11214 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11215 = load i32, ptr %11214, align 4, !tbaa !5
  %11216 = icmp eq i32 %11215, 0
  br i1 %11216, label %11217, label %11270

11217:                                            ; preds = %11211
  br label %11218

11218:                                            ; preds = %11217
  br label %11219

11219:                                            ; preds = %11218
  call void @llvm.lifetime.start.p0(i64 4, ptr %190) #8
  %11220 = call ptr @__errno_location() #9
  %11221 = load i32, ptr %11220, align 4, !tbaa !5
  store i32 %11221, ptr %190, align 4, !tbaa !5
  %11222 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11223 = call i32 @s2n_print_stacktrace(ptr noundef %11222)
  %11224 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11225 = trunc i8 %11224 to i1
  br i1 %11225, label %11226, label %11248

11226:                                            ; preds = %11219
  %11227 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11228 = call i32 @fileno(ptr noundef %11227) #8
  %11229 = call i32 @isatty(i32 noundef %11228) #8
  %11230 = icmp ne i32 %11229, 0
  br i1 %11230, label %11231, label %11248

11231:                                            ; preds = %11226
  %11232 = load i32, ptr %190, align 4, !tbaa !5
  %11233 = call ptr @__errno_location() #9
  store i32 %11232, ptr %11233, align 4, !tbaa !5
  %11234 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11235 = load i32, ptr @test_count, align 4, !tbaa !5
  %11236 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11237 = load i32, ptr %11236, align 4, !tbaa !5
  %11238 = call ptr @s2n_strerror(i32 noundef %11237, ptr noundef @.str.4)
  %11239 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11240 = load i32, ptr %11239, align 4, !tbaa !5
  %11241 = call ptr @s2n_strerror_debug(i32 noundef %11240, ptr noundef @.str.4)
  %11242 = call ptr @__errno_location() #9
  %11243 = load i32, ptr %11242, align 4, !tbaa !5
  %11244 = call ptr @strerror(i32 noundef %11243) #8
  %11245 = call ptr @__errno_location() #9
  %11246 = load i32, ptr %11245, align 4, !tbaa !5
  %11247 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11234, ptr noundef @.str.2, i32 noundef %11235, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 287, ptr noundef %11238, ptr noundef %11241, ptr noundef %11244, i32 noundef %11246) #8
  br label %11265

11248:                                            ; preds = %11226, %11219
  %11249 = load i32, ptr %190, align 4, !tbaa !5
  %11250 = call ptr @__errno_location() #9
  store i32 %11249, ptr %11250, align 4, !tbaa !5
  %11251 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11252 = load i32, ptr @test_count, align 4, !tbaa !5
  %11253 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11254 = load i32, ptr %11253, align 4, !tbaa !5
  %11255 = call ptr @s2n_strerror(i32 noundef %11254, ptr noundef @.str.4)
  %11256 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11257 = load i32, ptr %11256, align 4, !tbaa !5
  %11258 = call ptr @s2n_strerror_debug(i32 noundef %11257, ptr noundef @.str.4)
  %11259 = call ptr @__errno_location() #9
  %11260 = load i32, ptr %11259, align 4, !tbaa !5
  %11261 = call ptr @strerror(i32 noundef %11260) #8
  %11262 = call ptr @__errno_location() #9
  %11263 = load i32, ptr %11262, align 4, !tbaa !5
  %11264 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11251, ptr noundef @.str.5, i32 noundef %11252, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 287, ptr noundef %11255, ptr noundef %11258, ptr noundef %11261, i32 noundef %11263) #8
  br label %11265

11265:                                            ; preds = %11248, %11231
  call void @llvm.lifetime.end.p0(i64 4, ptr %190) #8
  br label %11266

11266:                                            ; preds = %11265
  br label %11267

11267:                                            ; preds = %11266
  call void @exit(i32 noundef 1) #10
  unreachable

11268:                                            ; No predecessors!
  br label %11269

11269:                                            ; preds = %11268
  br label %11270

11270:                                            ; preds = %11269, %11211
  br label %11271

11271:                                            ; preds = %11270
  br label %11272

11272:                                            ; preds = %11271
  br label %11273

11273:                                            ; preds = %11272
  %11274 = load i32, ptr @test_count, align 4, !tbaa !5
  %11275 = add nsw i32 %11274, 1
  store i32 %11275, ptr @test_count, align 4, !tbaa !5
  %11276 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11277 = load i32, ptr %11276, align 4, !tbaa !5
  %11278 = call ptr @s2n_strerror_debug(i32 noundef %11277, ptr noundef @.str.4)
  %11279 = icmp eq ptr %11278, null
  br i1 %11279, label %11280, label %11333

11280:                                            ; preds = %11273
  br label %11281

11281:                                            ; preds = %11280
  br label %11282

11282:                                            ; preds = %11281
  call void @llvm.lifetime.start.p0(i64 4, ptr %191) #8
  %11283 = call ptr @__errno_location() #9
  %11284 = load i32, ptr %11283, align 4, !tbaa !5
  store i32 %11284, ptr %191, align 4, !tbaa !5
  %11285 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11286 = call i32 @s2n_print_stacktrace(ptr noundef %11285)
  %11287 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11288 = trunc i8 %11287 to i1
  br i1 %11288, label %11289, label %11311

11289:                                            ; preds = %11282
  %11290 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11291 = call i32 @fileno(ptr noundef %11290) #8
  %11292 = call i32 @isatty(i32 noundef %11291) #8
  %11293 = icmp ne i32 %11292, 0
  br i1 %11293, label %11294, label %11311

11294:                                            ; preds = %11289
  %11295 = load i32, ptr %191, align 4, !tbaa !5
  %11296 = call ptr @__errno_location() #9
  store i32 %11295, ptr %11296, align 4, !tbaa !5
  %11297 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11298 = load i32, ptr @test_count, align 4, !tbaa !5
  %11299 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11300 = load i32, ptr %11299, align 4, !tbaa !5
  %11301 = call ptr @s2n_strerror(i32 noundef %11300, ptr noundef @.str.4)
  %11302 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11303 = load i32, ptr %11302, align 4, !tbaa !5
  %11304 = call ptr @s2n_strerror_debug(i32 noundef %11303, ptr noundef @.str.4)
  %11305 = call ptr @__errno_location() #9
  %11306 = load i32, ptr %11305, align 4, !tbaa !5
  %11307 = call ptr @strerror(i32 noundef %11306) #8
  %11308 = call ptr @__errno_location() #9
  %11309 = load i32, ptr %11308, align 4, !tbaa !5
  %11310 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11297, ptr noundef @.str.2, i32 noundef %11298, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 287, ptr noundef %11301, ptr noundef %11304, ptr noundef %11307, i32 noundef %11309) #8
  br label %11328

11311:                                            ; preds = %11289, %11282
  %11312 = load i32, ptr %191, align 4, !tbaa !5
  %11313 = call ptr @__errno_location() #9
  store i32 %11312, ptr %11313, align 4, !tbaa !5
  %11314 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11315 = load i32, ptr @test_count, align 4, !tbaa !5
  %11316 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11317 = load i32, ptr %11316, align 4, !tbaa !5
  %11318 = call ptr @s2n_strerror(i32 noundef %11317, ptr noundef @.str.4)
  %11319 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11320 = load i32, ptr %11319, align 4, !tbaa !5
  %11321 = call ptr @s2n_strerror_debug(i32 noundef %11320, ptr noundef @.str.4)
  %11322 = call ptr @__errno_location() #9
  %11323 = load i32, ptr %11322, align 4, !tbaa !5
  %11324 = call ptr @strerror(i32 noundef %11323) #8
  %11325 = call ptr @__errno_location() #9
  %11326 = load i32, ptr %11325, align 4, !tbaa !5
  %11327 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11314, ptr noundef @.str.5, i32 noundef %11315, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 287, ptr noundef %11318, ptr noundef %11321, ptr noundef %11324, i32 noundef %11326) #8
  br label %11328

11328:                                            ; preds = %11311, %11294
  call void @llvm.lifetime.end.p0(i64 4, ptr %191) #8
  br label %11329

11329:                                            ; preds = %11328
  br label %11330

11330:                                            ; preds = %11329
  call void @exit(i32 noundef 1) #10
  unreachable

11331:                                            ; No predecessors!
  br label %11332

11332:                                            ; preds = %11331
  br label %11333

11333:                                            ; preds = %11332, %11273
  br label %11334

11334:                                            ; preds = %11333
  br label %11335

11335:                                            ; preds = %11334
  br label %11336

11336:                                            ; preds = %11335
  %11337 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %11337, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %11338 = call ptr @__errno_location() #9
  store i32 0, ptr %11338, align 4, !tbaa !5
  br label %11339

11339:                                            ; preds = %11336
  br label %11340

11340:                                            ; preds = %11339
  br label %11341

11341:                                            ; preds = %11340
  br label %11342

11342:                                            ; preds = %11341
  br label %11343

11343:                                            ; preds = %11342
  br label %11344

11344:                                            ; preds = %11343
  %11345 = load i32, ptr @test_count, align 4, !tbaa !5
  %11346 = add nsw i32 %11345, 1
  store i32 %11346, ptr @test_count, align 4, !tbaa !5
  %11347 = load ptr, ptr %180, align 8, !tbaa !9
  %11348 = call i32 @s2n_is_cert_type_valid_for_auth(ptr noundef %11347, i32 noundef 2)
  %11349 = icmp eq i32 %11348, -1
  br i1 %11349, label %11403, label %11350

11350:                                            ; preds = %11344
  br label %11351

11351:                                            ; preds = %11350
  br label %11352

11352:                                            ; preds = %11351
  call void @llvm.lifetime.start.p0(i64 4, ptr %192) #8
  %11353 = call ptr @__errno_location() #9
  %11354 = load i32, ptr %11353, align 4, !tbaa !5
  store i32 %11354, ptr %192, align 4, !tbaa !5
  %11355 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11356 = call i32 @s2n_print_stacktrace(ptr noundef %11355)
  %11357 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11358 = trunc i8 %11357 to i1
  br i1 %11358, label %11359, label %11381

11359:                                            ; preds = %11352
  %11360 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11361 = call i32 @fileno(ptr noundef %11360) #8
  %11362 = call i32 @isatty(i32 noundef %11361) #8
  %11363 = icmp ne i32 %11362, 0
  br i1 %11363, label %11364, label %11381

11364:                                            ; preds = %11359
  %11365 = load i32, ptr %192, align 4, !tbaa !5
  %11366 = call ptr @__errno_location() #9
  store i32 %11365, ptr %11366, align 4, !tbaa !5
  %11367 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11368 = load i32, ptr @test_count, align 4, !tbaa !5
  %11369 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11370 = load i32, ptr %11369, align 4, !tbaa !5
  %11371 = call ptr @s2n_strerror(i32 noundef %11370, ptr noundef @.str.4)
  %11372 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11373 = load i32, ptr %11372, align 4, !tbaa !5
  %11374 = call ptr @s2n_strerror_debug(i32 noundef %11373, ptr noundef @.str.4)
  %11375 = call ptr @__errno_location() #9
  %11376 = load i32, ptr %11375, align 4, !tbaa !5
  %11377 = call ptr @strerror(i32 noundef %11376) #8
  %11378 = call ptr @__errno_location() #9
  %11379 = load i32, ptr %11378, align 4, !tbaa !5
  %11380 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11367, ptr noundef @.str.2, i32 noundef %11368, ptr noundef @.str.64, ptr noundef @.str.1, i32 noundef 288, ptr noundef %11371, ptr noundef %11374, ptr noundef %11377, i32 noundef %11379) #8
  br label %11398

11381:                                            ; preds = %11359, %11352
  %11382 = load i32, ptr %192, align 4, !tbaa !5
  %11383 = call ptr @__errno_location() #9
  store i32 %11382, ptr %11383, align 4, !tbaa !5
  %11384 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11385 = load i32, ptr @test_count, align 4, !tbaa !5
  %11386 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11387 = load i32, ptr %11386, align 4, !tbaa !5
  %11388 = call ptr @s2n_strerror(i32 noundef %11387, ptr noundef @.str.4)
  %11389 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11390 = load i32, ptr %11389, align 4, !tbaa !5
  %11391 = call ptr @s2n_strerror_debug(i32 noundef %11390, ptr noundef @.str.4)
  %11392 = call ptr @__errno_location() #9
  %11393 = load i32, ptr %11392, align 4, !tbaa !5
  %11394 = call ptr @strerror(i32 noundef %11393) #8
  %11395 = call ptr @__errno_location() #9
  %11396 = load i32, ptr %11395, align 4, !tbaa !5
  %11397 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11384, ptr noundef @.str.5, i32 noundef %11385, ptr noundef @.str.64, ptr noundef @.str.1, i32 noundef 288, ptr noundef %11388, ptr noundef %11391, ptr noundef %11394, i32 noundef %11396) #8
  br label %11398

11398:                                            ; preds = %11381, %11364
  call void @llvm.lifetime.end.p0(i64 4, ptr %192) #8
  br label %11399

11399:                                            ; preds = %11398
  br label %11400

11400:                                            ; preds = %11399
  call void @exit(i32 noundef 1) #10
  unreachable

11401:                                            ; No predecessors!
  br label %11402

11402:                                            ; preds = %11401
  br label %11403

11403:                                            ; preds = %11402, %11344
  br label %11404

11404:                                            ; preds = %11403
  br label %11405

11405:                                            ; preds = %11404
  br label %11406

11406:                                            ; preds = %11405
  %11407 = load i32, ptr @test_count, align 4, !tbaa !5
  %11408 = add nsw i32 %11407, 1
  store i32 %11408, ptr @test_count, align 4, !tbaa !5
  %11409 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11410 = load i32, ptr %11409, align 4, !tbaa !5
  %11411 = icmp eq i32 %11410, 0
  br i1 %11411, label %11412, label %11465

11412:                                            ; preds = %11406
  br label %11413

11413:                                            ; preds = %11412
  br label %11414

11414:                                            ; preds = %11413
  call void @llvm.lifetime.start.p0(i64 4, ptr %193) #8
  %11415 = call ptr @__errno_location() #9
  %11416 = load i32, ptr %11415, align 4, !tbaa !5
  store i32 %11416, ptr %193, align 4, !tbaa !5
  %11417 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11418 = call i32 @s2n_print_stacktrace(ptr noundef %11417)
  %11419 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11420 = trunc i8 %11419 to i1
  br i1 %11420, label %11421, label %11443

11421:                                            ; preds = %11414
  %11422 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11423 = call i32 @fileno(ptr noundef %11422) #8
  %11424 = call i32 @isatty(i32 noundef %11423) #8
  %11425 = icmp ne i32 %11424, 0
  br i1 %11425, label %11426, label %11443

11426:                                            ; preds = %11421
  %11427 = load i32, ptr %193, align 4, !tbaa !5
  %11428 = call ptr @__errno_location() #9
  store i32 %11427, ptr %11428, align 4, !tbaa !5
  %11429 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11430 = load i32, ptr @test_count, align 4, !tbaa !5
  %11431 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11432 = load i32, ptr %11431, align 4, !tbaa !5
  %11433 = call ptr @s2n_strerror(i32 noundef %11432, ptr noundef @.str.4)
  %11434 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11435 = load i32, ptr %11434, align 4, !tbaa !5
  %11436 = call ptr @s2n_strerror_debug(i32 noundef %11435, ptr noundef @.str.4)
  %11437 = call ptr @__errno_location() #9
  %11438 = load i32, ptr %11437, align 4, !tbaa !5
  %11439 = call ptr @strerror(i32 noundef %11438) #8
  %11440 = call ptr @__errno_location() #9
  %11441 = load i32, ptr %11440, align 4, !tbaa !5
  %11442 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11429, ptr noundef @.str.2, i32 noundef %11430, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 288, ptr noundef %11433, ptr noundef %11436, ptr noundef %11439, i32 noundef %11441) #8
  br label %11460

11443:                                            ; preds = %11421, %11414
  %11444 = load i32, ptr %193, align 4, !tbaa !5
  %11445 = call ptr @__errno_location() #9
  store i32 %11444, ptr %11445, align 4, !tbaa !5
  %11446 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11447 = load i32, ptr @test_count, align 4, !tbaa !5
  %11448 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11449 = load i32, ptr %11448, align 4, !tbaa !5
  %11450 = call ptr @s2n_strerror(i32 noundef %11449, ptr noundef @.str.4)
  %11451 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11452 = load i32, ptr %11451, align 4, !tbaa !5
  %11453 = call ptr @s2n_strerror_debug(i32 noundef %11452, ptr noundef @.str.4)
  %11454 = call ptr @__errno_location() #9
  %11455 = load i32, ptr %11454, align 4, !tbaa !5
  %11456 = call ptr @strerror(i32 noundef %11455) #8
  %11457 = call ptr @__errno_location() #9
  %11458 = load i32, ptr %11457, align 4, !tbaa !5
  %11459 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11446, ptr noundef @.str.5, i32 noundef %11447, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 288, ptr noundef %11450, ptr noundef %11453, ptr noundef %11456, i32 noundef %11458) #8
  br label %11460

11460:                                            ; preds = %11443, %11426
  call void @llvm.lifetime.end.p0(i64 4, ptr %193) #8
  br label %11461

11461:                                            ; preds = %11460
  br label %11462

11462:                                            ; preds = %11461
  call void @exit(i32 noundef 1) #10
  unreachable

11463:                                            ; No predecessors!
  br label %11464

11464:                                            ; preds = %11463
  br label %11465

11465:                                            ; preds = %11464, %11406
  br label %11466

11466:                                            ; preds = %11465
  br label %11467

11467:                                            ; preds = %11466
  br label %11468

11468:                                            ; preds = %11467
  %11469 = load i32, ptr @test_count, align 4, !tbaa !5
  %11470 = add nsw i32 %11469, 1
  store i32 %11470, ptr @test_count, align 4, !tbaa !5
  %11471 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11472 = load i32, ptr %11471, align 4, !tbaa !5
  %11473 = call ptr @s2n_strerror_debug(i32 noundef %11472, ptr noundef @.str.4)
  %11474 = icmp eq ptr %11473, null
  br i1 %11474, label %11475, label %11528

11475:                                            ; preds = %11468
  br label %11476

11476:                                            ; preds = %11475
  br label %11477

11477:                                            ; preds = %11476
  call void @llvm.lifetime.start.p0(i64 4, ptr %194) #8
  %11478 = call ptr @__errno_location() #9
  %11479 = load i32, ptr %11478, align 4, !tbaa !5
  store i32 %11479, ptr %194, align 4, !tbaa !5
  %11480 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11481 = call i32 @s2n_print_stacktrace(ptr noundef %11480)
  %11482 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11483 = trunc i8 %11482 to i1
  br i1 %11483, label %11484, label %11506

11484:                                            ; preds = %11477
  %11485 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11486 = call i32 @fileno(ptr noundef %11485) #8
  %11487 = call i32 @isatty(i32 noundef %11486) #8
  %11488 = icmp ne i32 %11487, 0
  br i1 %11488, label %11489, label %11506

11489:                                            ; preds = %11484
  %11490 = load i32, ptr %194, align 4, !tbaa !5
  %11491 = call ptr @__errno_location() #9
  store i32 %11490, ptr %11491, align 4, !tbaa !5
  %11492 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11493 = load i32, ptr @test_count, align 4, !tbaa !5
  %11494 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11495 = load i32, ptr %11494, align 4, !tbaa !5
  %11496 = call ptr @s2n_strerror(i32 noundef %11495, ptr noundef @.str.4)
  %11497 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11498 = load i32, ptr %11497, align 4, !tbaa !5
  %11499 = call ptr @s2n_strerror_debug(i32 noundef %11498, ptr noundef @.str.4)
  %11500 = call ptr @__errno_location() #9
  %11501 = load i32, ptr %11500, align 4, !tbaa !5
  %11502 = call ptr @strerror(i32 noundef %11501) #8
  %11503 = call ptr @__errno_location() #9
  %11504 = load i32, ptr %11503, align 4, !tbaa !5
  %11505 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11492, ptr noundef @.str.2, i32 noundef %11493, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 288, ptr noundef %11496, ptr noundef %11499, ptr noundef %11502, i32 noundef %11504) #8
  br label %11523

11506:                                            ; preds = %11484, %11477
  %11507 = load i32, ptr %194, align 4, !tbaa !5
  %11508 = call ptr @__errno_location() #9
  store i32 %11507, ptr %11508, align 4, !tbaa !5
  %11509 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11510 = load i32, ptr @test_count, align 4, !tbaa !5
  %11511 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11512 = load i32, ptr %11511, align 4, !tbaa !5
  %11513 = call ptr @s2n_strerror(i32 noundef %11512, ptr noundef @.str.4)
  %11514 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11515 = load i32, ptr %11514, align 4, !tbaa !5
  %11516 = call ptr @s2n_strerror_debug(i32 noundef %11515, ptr noundef @.str.4)
  %11517 = call ptr @__errno_location() #9
  %11518 = load i32, ptr %11517, align 4, !tbaa !5
  %11519 = call ptr @strerror(i32 noundef %11518) #8
  %11520 = call ptr @__errno_location() #9
  %11521 = load i32, ptr %11520, align 4, !tbaa !5
  %11522 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11509, ptr noundef @.str.5, i32 noundef %11510, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 288, ptr noundef %11513, ptr noundef %11516, ptr noundef %11519, i32 noundef %11521) #8
  br label %11523

11523:                                            ; preds = %11506, %11489
  call void @llvm.lifetime.end.p0(i64 4, ptr %194) #8
  br label %11524

11524:                                            ; preds = %11523
  br label %11525

11525:                                            ; preds = %11524
  call void @exit(i32 noundef 1) #10
  unreachable

11526:                                            ; No predecessors!
  br label %11527

11527:                                            ; preds = %11526
  br label %11528

11528:                                            ; preds = %11527, %11468
  br label %11529

11529:                                            ; preds = %11528
  br label %11530

11530:                                            ; preds = %11529
  br label %11531

11531:                                            ; preds = %11530
  %11532 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %11532, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %11533 = call ptr @__errno_location() #9
  store i32 0, ptr %11533, align 4, !tbaa !5
  br label %11534

11534:                                            ; preds = %11531
  br label %11535

11535:                                            ; preds = %11534
  br label %11536

11536:                                            ; preds = %11535
  br label %11537

11537:                                            ; preds = %11536
  br label %11538

11538:                                            ; preds = %11537
  %11539 = load i32, ptr @test_count, align 4, !tbaa !5
  %11540 = add nsw i32 %11539, 1
  store i32 %11540, ptr @test_count, align 4, !tbaa !5
  %11541 = load ptr, ptr %180, align 8, !tbaa !9
  %11542 = call i32 @s2n_is_cert_type_valid_for_auth(ptr noundef %11541, i32 noundef 1)
  %11543 = icmp eq i32 %11542, -1
  br i1 %11543, label %11544, label %11597

11544:                                            ; preds = %11538
  br label %11545

11545:                                            ; preds = %11544
  br label %11546

11546:                                            ; preds = %11545
  call void @llvm.lifetime.start.p0(i64 4, ptr %195) #8
  %11547 = call ptr @__errno_location() #9
  %11548 = load i32, ptr %11547, align 4, !tbaa !5
  store i32 %11548, ptr %195, align 4, !tbaa !5
  %11549 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11550 = call i32 @s2n_print_stacktrace(ptr noundef %11549)
  %11551 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11552 = trunc i8 %11551 to i1
  br i1 %11552, label %11553, label %11575

11553:                                            ; preds = %11546
  %11554 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11555 = call i32 @fileno(ptr noundef %11554) #8
  %11556 = call i32 @isatty(i32 noundef %11555) #8
  %11557 = icmp ne i32 %11556, 0
  br i1 %11557, label %11558, label %11575

11558:                                            ; preds = %11553
  %11559 = load i32, ptr %195, align 4, !tbaa !5
  %11560 = call ptr @__errno_location() #9
  store i32 %11559, ptr %11560, align 4, !tbaa !5
  %11561 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11562 = load i32, ptr @test_count, align 4, !tbaa !5
  %11563 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11564 = load i32, ptr %11563, align 4, !tbaa !5
  %11565 = call ptr @s2n_strerror(i32 noundef %11564, ptr noundef @.str.4)
  %11566 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11567 = load i32, ptr %11566, align 4, !tbaa !5
  %11568 = call ptr @s2n_strerror_debug(i32 noundef %11567, ptr noundef @.str.4)
  %11569 = call ptr @__errno_location() #9
  %11570 = load i32, ptr %11569, align 4, !tbaa !5
  %11571 = call ptr @strerror(i32 noundef %11570) #8
  %11572 = call ptr @__errno_location() #9
  %11573 = load i32, ptr %11572, align 4, !tbaa !5
  %11574 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11561, ptr noundef @.str.2, i32 noundef %11562, ptr noundef @.str.65, ptr noundef @.str.1, i32 noundef 289, ptr noundef %11565, ptr noundef %11568, ptr noundef %11571, i32 noundef %11573) #8
  br label %11592

11575:                                            ; preds = %11553, %11546
  %11576 = load i32, ptr %195, align 4, !tbaa !5
  %11577 = call ptr @__errno_location() #9
  store i32 %11576, ptr %11577, align 4, !tbaa !5
  %11578 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11579 = load i32, ptr @test_count, align 4, !tbaa !5
  %11580 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11581 = load i32, ptr %11580, align 4, !tbaa !5
  %11582 = call ptr @s2n_strerror(i32 noundef %11581, ptr noundef @.str.4)
  %11583 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11584 = load i32, ptr %11583, align 4, !tbaa !5
  %11585 = call ptr @s2n_strerror_debug(i32 noundef %11584, ptr noundef @.str.4)
  %11586 = call ptr @__errno_location() #9
  %11587 = load i32, ptr %11586, align 4, !tbaa !5
  %11588 = call ptr @strerror(i32 noundef %11587) #8
  %11589 = call ptr @__errno_location() #9
  %11590 = load i32, ptr %11589, align 4, !tbaa !5
  %11591 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11578, ptr noundef @.str.5, i32 noundef %11579, ptr noundef @.str.65, ptr noundef @.str.1, i32 noundef 289, ptr noundef %11582, ptr noundef %11585, ptr noundef %11588, i32 noundef %11590) #8
  br label %11592

11592:                                            ; preds = %11575, %11558
  call void @llvm.lifetime.end.p0(i64 4, ptr %195) #8
  br label %11593

11593:                                            ; preds = %11592
  br label %11594

11594:                                            ; preds = %11593
  call void @exit(i32 noundef 1) #10
  unreachable

11595:                                            ; No predecessors!
  br label %11596

11596:                                            ; preds = %11595
  br label %11597

11597:                                            ; preds = %11596, %11538
  br label %11598

11598:                                            ; preds = %11597
  br label %11599

11599:                                            ; preds = %11598
  br label %11600

11600:                                            ; preds = %11599
  br label %11601

11601:                                            ; preds = %11600
  %11602 = load i32, ptr @test_count, align 4, !tbaa !5
  %11603 = add nsw i32 %11602, 1
  store i32 %11603, ptr @test_count, align 4, !tbaa !5
  %11604 = load ptr, ptr %180, align 8, !tbaa !9
  %11605 = call i32 @s2n_is_cert_type_valid_for_auth(ptr noundef %11604, i32 noundef -1)
  %11606 = icmp eq i32 %11605, -1
  br i1 %11606, label %11660, label %11607

11607:                                            ; preds = %11601
  br label %11608

11608:                                            ; preds = %11607
  br label %11609

11609:                                            ; preds = %11608
  call void @llvm.lifetime.start.p0(i64 4, ptr %196) #8
  %11610 = call ptr @__errno_location() #9
  %11611 = load i32, ptr %11610, align 4, !tbaa !5
  store i32 %11611, ptr %196, align 4, !tbaa !5
  %11612 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11613 = call i32 @s2n_print_stacktrace(ptr noundef %11612)
  %11614 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11615 = trunc i8 %11614 to i1
  br i1 %11615, label %11616, label %11638

11616:                                            ; preds = %11609
  %11617 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11618 = call i32 @fileno(ptr noundef %11617) #8
  %11619 = call i32 @isatty(i32 noundef %11618) #8
  %11620 = icmp ne i32 %11619, 0
  br i1 %11620, label %11621, label %11638

11621:                                            ; preds = %11616
  %11622 = load i32, ptr %196, align 4, !tbaa !5
  %11623 = call ptr @__errno_location() #9
  store i32 %11622, ptr %11623, align 4, !tbaa !5
  %11624 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11625 = load i32, ptr @test_count, align 4, !tbaa !5
  %11626 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11627 = load i32, ptr %11626, align 4, !tbaa !5
  %11628 = call ptr @s2n_strerror(i32 noundef %11627, ptr noundef @.str.4)
  %11629 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11630 = load i32, ptr %11629, align 4, !tbaa !5
  %11631 = call ptr @s2n_strerror_debug(i32 noundef %11630, ptr noundef @.str.4)
  %11632 = call ptr @__errno_location() #9
  %11633 = load i32, ptr %11632, align 4, !tbaa !5
  %11634 = call ptr @strerror(i32 noundef %11633) #8
  %11635 = call ptr @__errno_location() #9
  %11636 = load i32, ptr %11635, align 4, !tbaa !5
  %11637 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11624, ptr noundef @.str.2, i32 noundef %11625, ptr noundef @.str.62, ptr noundef @.str.1, i32 noundef 290, ptr noundef %11628, ptr noundef %11631, ptr noundef %11634, i32 noundef %11636) #8
  br label %11655

11638:                                            ; preds = %11616, %11609
  %11639 = load i32, ptr %196, align 4, !tbaa !5
  %11640 = call ptr @__errno_location() #9
  store i32 %11639, ptr %11640, align 4, !tbaa !5
  %11641 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11642 = load i32, ptr @test_count, align 4, !tbaa !5
  %11643 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11644 = load i32, ptr %11643, align 4, !tbaa !5
  %11645 = call ptr @s2n_strerror(i32 noundef %11644, ptr noundef @.str.4)
  %11646 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11647 = load i32, ptr %11646, align 4, !tbaa !5
  %11648 = call ptr @s2n_strerror_debug(i32 noundef %11647, ptr noundef @.str.4)
  %11649 = call ptr @__errno_location() #9
  %11650 = load i32, ptr %11649, align 4, !tbaa !5
  %11651 = call ptr @strerror(i32 noundef %11650) #8
  %11652 = call ptr @__errno_location() #9
  %11653 = load i32, ptr %11652, align 4, !tbaa !5
  %11654 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11641, ptr noundef @.str.5, i32 noundef %11642, ptr noundef @.str.62, ptr noundef @.str.1, i32 noundef 290, ptr noundef %11645, ptr noundef %11648, ptr noundef %11651, i32 noundef %11653) #8
  br label %11655

11655:                                            ; preds = %11638, %11621
  call void @llvm.lifetime.end.p0(i64 4, ptr %196) #8
  br label %11656

11656:                                            ; preds = %11655
  br label %11657

11657:                                            ; preds = %11656
  call void @exit(i32 noundef 1) #10
  unreachable

11658:                                            ; No predecessors!
  br label %11659

11659:                                            ; preds = %11658
  br label %11660

11660:                                            ; preds = %11659, %11601
  br label %11661

11661:                                            ; preds = %11660
  br label %11662

11662:                                            ; preds = %11661
  br label %11663

11663:                                            ; preds = %11662
  %11664 = load i32, ptr @test_count, align 4, !tbaa !5
  %11665 = add nsw i32 %11664, 1
  store i32 %11665, ptr @test_count, align 4, !tbaa !5
  %11666 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11667 = load i32, ptr %11666, align 4, !tbaa !5
  %11668 = icmp eq i32 %11667, 0
  br i1 %11668, label %11669, label %11722

11669:                                            ; preds = %11663
  br label %11670

11670:                                            ; preds = %11669
  br label %11671

11671:                                            ; preds = %11670
  call void @llvm.lifetime.start.p0(i64 4, ptr %197) #8
  %11672 = call ptr @__errno_location() #9
  %11673 = load i32, ptr %11672, align 4, !tbaa !5
  store i32 %11673, ptr %197, align 4, !tbaa !5
  %11674 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11675 = call i32 @s2n_print_stacktrace(ptr noundef %11674)
  %11676 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11677 = trunc i8 %11676 to i1
  br i1 %11677, label %11678, label %11700

11678:                                            ; preds = %11671
  %11679 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11680 = call i32 @fileno(ptr noundef %11679) #8
  %11681 = call i32 @isatty(i32 noundef %11680) #8
  %11682 = icmp ne i32 %11681, 0
  br i1 %11682, label %11683, label %11700

11683:                                            ; preds = %11678
  %11684 = load i32, ptr %197, align 4, !tbaa !5
  %11685 = call ptr @__errno_location() #9
  store i32 %11684, ptr %11685, align 4, !tbaa !5
  %11686 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11687 = load i32, ptr @test_count, align 4, !tbaa !5
  %11688 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11689 = load i32, ptr %11688, align 4, !tbaa !5
  %11690 = call ptr @s2n_strerror(i32 noundef %11689, ptr noundef @.str.4)
  %11691 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11692 = load i32, ptr %11691, align 4, !tbaa !5
  %11693 = call ptr @s2n_strerror_debug(i32 noundef %11692, ptr noundef @.str.4)
  %11694 = call ptr @__errno_location() #9
  %11695 = load i32, ptr %11694, align 4, !tbaa !5
  %11696 = call ptr @strerror(i32 noundef %11695) #8
  %11697 = call ptr @__errno_location() #9
  %11698 = load i32, ptr %11697, align 4, !tbaa !5
  %11699 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11686, ptr noundef @.str.2, i32 noundef %11687, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 290, ptr noundef %11690, ptr noundef %11693, ptr noundef %11696, i32 noundef %11698) #8
  br label %11717

11700:                                            ; preds = %11678, %11671
  %11701 = load i32, ptr %197, align 4, !tbaa !5
  %11702 = call ptr @__errno_location() #9
  store i32 %11701, ptr %11702, align 4, !tbaa !5
  %11703 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11704 = load i32, ptr @test_count, align 4, !tbaa !5
  %11705 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11706 = load i32, ptr %11705, align 4, !tbaa !5
  %11707 = call ptr @s2n_strerror(i32 noundef %11706, ptr noundef @.str.4)
  %11708 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11709 = load i32, ptr %11708, align 4, !tbaa !5
  %11710 = call ptr @s2n_strerror_debug(i32 noundef %11709, ptr noundef @.str.4)
  %11711 = call ptr @__errno_location() #9
  %11712 = load i32, ptr %11711, align 4, !tbaa !5
  %11713 = call ptr @strerror(i32 noundef %11712) #8
  %11714 = call ptr @__errno_location() #9
  %11715 = load i32, ptr %11714, align 4, !tbaa !5
  %11716 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11703, ptr noundef @.str.5, i32 noundef %11704, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 290, ptr noundef %11707, ptr noundef %11710, ptr noundef %11713, i32 noundef %11715) #8
  br label %11717

11717:                                            ; preds = %11700, %11683
  call void @llvm.lifetime.end.p0(i64 4, ptr %197) #8
  br label %11718

11718:                                            ; preds = %11717
  br label %11719

11719:                                            ; preds = %11718
  call void @exit(i32 noundef 1) #10
  unreachable

11720:                                            ; No predecessors!
  br label %11721

11721:                                            ; preds = %11720
  br label %11722

11722:                                            ; preds = %11721, %11663
  br label %11723

11723:                                            ; preds = %11722
  br label %11724

11724:                                            ; preds = %11723
  br label %11725

11725:                                            ; preds = %11724
  %11726 = load i32, ptr @test_count, align 4, !tbaa !5
  %11727 = add nsw i32 %11726, 1
  store i32 %11727, ptr @test_count, align 4, !tbaa !5
  %11728 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11729 = load i32, ptr %11728, align 4, !tbaa !5
  %11730 = call ptr @s2n_strerror_debug(i32 noundef %11729, ptr noundef @.str.4)
  %11731 = icmp eq ptr %11730, null
  br i1 %11731, label %11732, label %11785

11732:                                            ; preds = %11725
  br label %11733

11733:                                            ; preds = %11732
  br label %11734

11734:                                            ; preds = %11733
  call void @llvm.lifetime.start.p0(i64 4, ptr %198) #8
  %11735 = call ptr @__errno_location() #9
  %11736 = load i32, ptr %11735, align 4, !tbaa !5
  store i32 %11736, ptr %198, align 4, !tbaa !5
  %11737 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11738 = call i32 @s2n_print_stacktrace(ptr noundef %11737)
  %11739 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11740 = trunc i8 %11739 to i1
  br i1 %11740, label %11741, label %11763

11741:                                            ; preds = %11734
  %11742 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11743 = call i32 @fileno(ptr noundef %11742) #8
  %11744 = call i32 @isatty(i32 noundef %11743) #8
  %11745 = icmp ne i32 %11744, 0
  br i1 %11745, label %11746, label %11763

11746:                                            ; preds = %11741
  %11747 = load i32, ptr %198, align 4, !tbaa !5
  %11748 = call ptr @__errno_location() #9
  store i32 %11747, ptr %11748, align 4, !tbaa !5
  %11749 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11750 = load i32, ptr @test_count, align 4, !tbaa !5
  %11751 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11752 = load i32, ptr %11751, align 4, !tbaa !5
  %11753 = call ptr @s2n_strerror(i32 noundef %11752, ptr noundef @.str.4)
  %11754 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11755 = load i32, ptr %11754, align 4, !tbaa !5
  %11756 = call ptr @s2n_strerror_debug(i32 noundef %11755, ptr noundef @.str.4)
  %11757 = call ptr @__errno_location() #9
  %11758 = load i32, ptr %11757, align 4, !tbaa !5
  %11759 = call ptr @strerror(i32 noundef %11758) #8
  %11760 = call ptr @__errno_location() #9
  %11761 = load i32, ptr %11760, align 4, !tbaa !5
  %11762 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11749, ptr noundef @.str.2, i32 noundef %11750, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 290, ptr noundef %11753, ptr noundef %11756, ptr noundef %11759, i32 noundef %11761) #8
  br label %11780

11763:                                            ; preds = %11741, %11734
  %11764 = load i32, ptr %198, align 4, !tbaa !5
  %11765 = call ptr @__errno_location() #9
  store i32 %11764, ptr %11765, align 4, !tbaa !5
  %11766 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11767 = load i32, ptr @test_count, align 4, !tbaa !5
  %11768 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11769 = load i32, ptr %11768, align 4, !tbaa !5
  %11770 = call ptr @s2n_strerror(i32 noundef %11769, ptr noundef @.str.4)
  %11771 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11772 = load i32, ptr %11771, align 4, !tbaa !5
  %11773 = call ptr @s2n_strerror_debug(i32 noundef %11772, ptr noundef @.str.4)
  %11774 = call ptr @__errno_location() #9
  %11775 = load i32, ptr %11774, align 4, !tbaa !5
  %11776 = call ptr @strerror(i32 noundef %11775) #8
  %11777 = call ptr @__errno_location() #9
  %11778 = load i32, ptr %11777, align 4, !tbaa !5
  %11779 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11766, ptr noundef @.str.5, i32 noundef %11767, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 290, ptr noundef %11770, ptr noundef %11773, ptr noundef %11776, i32 noundef %11778) #8
  br label %11780

11780:                                            ; preds = %11763, %11746
  call void @llvm.lifetime.end.p0(i64 4, ptr %198) #8
  br label %11781

11781:                                            ; preds = %11780
  br label %11782

11782:                                            ; preds = %11781
  call void @exit(i32 noundef 1) #10
  unreachable

11783:                                            ; No predecessors!
  br label %11784

11784:                                            ; preds = %11783
  br label %11785

11785:                                            ; preds = %11784, %11725
  br label %11786

11786:                                            ; preds = %11785
  br label %11787

11787:                                            ; preds = %11786
  br label %11788

11788:                                            ; preds = %11787
  %11789 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %11789, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %11790 = call ptr @__errno_location() #9
  store i32 0, ptr %11790, align 4, !tbaa !5
  br label %11791

11791:                                            ; preds = %11788
  br label %11792

11792:                                            ; preds = %11791
  br label %11793

11793:                                            ; preds = %11792
  br label %11794

11794:                                            ; preds = %11793
  %11795 = load ptr, ptr %180, align 8, !tbaa !9
  %11796 = getelementptr inbounds %struct.s2n_connection, ptr %11795, i32 0, i32 27
  %11797 = load ptr, ptr %11796, align 8, !tbaa !15
  %11798 = getelementptr inbounds %struct.s2n_crypto_parameters, ptr %11797, i32 0, i32 0
  store ptr @s2n_tls13_aes_128_gcm_sha256, ptr %11798, align 8, !tbaa !42
  br label %11799

11799:                                            ; preds = %11794
  %11800 = load i32, ptr @test_count, align 4, !tbaa !5
  %11801 = add nsw i32 %11800, 1
  store i32 %11801, ptr @test_count, align 4, !tbaa !5
  %11802 = load ptr, ptr %180, align 8, !tbaa !9
  %11803 = call i32 @s2n_is_cert_type_valid_for_auth(ptr noundef %11802, i32 noundef 0)
  %11804 = icmp eq i32 %11803, -1
  br i1 %11804, label %11805, label %11858

11805:                                            ; preds = %11799
  br label %11806

11806:                                            ; preds = %11805
  br label %11807

11807:                                            ; preds = %11806
  call void @llvm.lifetime.start.p0(i64 4, ptr %199) #8
  %11808 = call ptr @__errno_location() #9
  %11809 = load i32, ptr %11808, align 4, !tbaa !5
  store i32 %11809, ptr %199, align 4, !tbaa !5
  %11810 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11811 = call i32 @s2n_print_stacktrace(ptr noundef %11810)
  %11812 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11813 = trunc i8 %11812 to i1
  br i1 %11813, label %11814, label %11836

11814:                                            ; preds = %11807
  %11815 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11816 = call i32 @fileno(ptr noundef %11815) #8
  %11817 = call i32 @isatty(i32 noundef %11816) #8
  %11818 = icmp ne i32 %11817, 0
  br i1 %11818, label %11819, label %11836

11819:                                            ; preds = %11814
  %11820 = load i32, ptr %199, align 4, !tbaa !5
  %11821 = call ptr @__errno_location() #9
  store i32 %11820, ptr %11821, align 4, !tbaa !5
  %11822 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11823 = load i32, ptr @test_count, align 4, !tbaa !5
  %11824 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11825 = load i32, ptr %11824, align 4, !tbaa !5
  %11826 = call ptr @s2n_strerror(i32 noundef %11825, ptr noundef @.str.4)
  %11827 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11828 = load i32, ptr %11827, align 4, !tbaa !5
  %11829 = call ptr @s2n_strerror_debug(i32 noundef %11828, ptr noundef @.str.4)
  %11830 = call ptr @__errno_location() #9
  %11831 = load i32, ptr %11830, align 4, !tbaa !5
  %11832 = call ptr @strerror(i32 noundef %11831) #8
  %11833 = call ptr @__errno_location() #9
  %11834 = load i32, ptr %11833, align 4, !tbaa !5
  %11835 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11822, ptr noundef @.str.2, i32 noundef %11823, ptr noundef @.str.59, ptr noundef @.str.1, i32 noundef 294, ptr noundef %11826, ptr noundef %11829, ptr noundef %11832, i32 noundef %11834) #8
  br label %11853

11836:                                            ; preds = %11814, %11807
  %11837 = load i32, ptr %199, align 4, !tbaa !5
  %11838 = call ptr @__errno_location() #9
  store i32 %11837, ptr %11838, align 4, !tbaa !5
  %11839 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11840 = load i32, ptr @test_count, align 4, !tbaa !5
  %11841 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11842 = load i32, ptr %11841, align 4, !tbaa !5
  %11843 = call ptr @s2n_strerror(i32 noundef %11842, ptr noundef @.str.4)
  %11844 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11845 = load i32, ptr %11844, align 4, !tbaa !5
  %11846 = call ptr @s2n_strerror_debug(i32 noundef %11845, ptr noundef @.str.4)
  %11847 = call ptr @__errno_location() #9
  %11848 = load i32, ptr %11847, align 4, !tbaa !5
  %11849 = call ptr @strerror(i32 noundef %11848) #8
  %11850 = call ptr @__errno_location() #9
  %11851 = load i32, ptr %11850, align 4, !tbaa !5
  %11852 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11839, ptr noundef @.str.5, i32 noundef %11840, ptr noundef @.str.59, ptr noundef @.str.1, i32 noundef 294, ptr noundef %11843, ptr noundef %11846, ptr noundef %11849, i32 noundef %11851) #8
  br label %11853

11853:                                            ; preds = %11836, %11819
  call void @llvm.lifetime.end.p0(i64 4, ptr %199) #8
  br label %11854

11854:                                            ; preds = %11853
  br label %11855

11855:                                            ; preds = %11854
  call void @exit(i32 noundef 1) #10
  unreachable

11856:                                            ; No predecessors!
  br label %11857

11857:                                            ; preds = %11856
  br label %11858

11858:                                            ; preds = %11857, %11799
  br label %11859

11859:                                            ; preds = %11858
  br label %11860

11860:                                            ; preds = %11859
  br label %11861

11861:                                            ; preds = %11860
  %11862 = load i32, ptr @test_count, align 4, !tbaa !5
  %11863 = add nsw i32 %11862, 1
  store i32 %11863, ptr @test_count, align 4, !tbaa !5
  %11864 = load ptr, ptr %180, align 8, !tbaa !9
  %11865 = call i32 @s2n_is_cert_type_valid_for_auth(ptr noundef %11864, i32 noundef 2)
  %11866 = icmp eq i32 %11865, -1
  br i1 %11866, label %11867, label %11920

11867:                                            ; preds = %11861
  br label %11868

11868:                                            ; preds = %11867
  br label %11869

11869:                                            ; preds = %11868
  call void @llvm.lifetime.start.p0(i64 4, ptr %200) #8
  %11870 = call ptr @__errno_location() #9
  %11871 = load i32, ptr %11870, align 4, !tbaa !5
  store i32 %11871, ptr %200, align 4, !tbaa !5
  %11872 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11873 = call i32 @s2n_print_stacktrace(ptr noundef %11872)
  %11874 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11875 = trunc i8 %11874 to i1
  br i1 %11875, label %11876, label %11898

11876:                                            ; preds = %11869
  %11877 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11878 = call i32 @fileno(ptr noundef %11877) #8
  %11879 = call i32 @isatty(i32 noundef %11878) #8
  %11880 = icmp ne i32 %11879, 0
  br i1 %11880, label %11881, label %11898

11881:                                            ; preds = %11876
  %11882 = load i32, ptr %200, align 4, !tbaa !5
  %11883 = call ptr @__errno_location() #9
  store i32 %11882, ptr %11883, align 4, !tbaa !5
  %11884 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11885 = load i32, ptr @test_count, align 4, !tbaa !5
  %11886 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11887 = load i32, ptr %11886, align 4, !tbaa !5
  %11888 = call ptr @s2n_strerror(i32 noundef %11887, ptr noundef @.str.4)
  %11889 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11890 = load i32, ptr %11889, align 4, !tbaa !5
  %11891 = call ptr @s2n_strerror_debug(i32 noundef %11890, ptr noundef @.str.4)
  %11892 = call ptr @__errno_location() #9
  %11893 = load i32, ptr %11892, align 4, !tbaa !5
  %11894 = call ptr @strerror(i32 noundef %11893) #8
  %11895 = call ptr @__errno_location() #9
  %11896 = load i32, ptr %11895, align 4, !tbaa !5
  %11897 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11884, ptr noundef @.str.2, i32 noundef %11885, ptr noundef @.str.60, ptr noundef @.str.1, i32 noundef 295, ptr noundef %11888, ptr noundef %11891, ptr noundef %11894, i32 noundef %11896) #8
  br label %11915

11898:                                            ; preds = %11876, %11869
  %11899 = load i32, ptr %200, align 4, !tbaa !5
  %11900 = call ptr @__errno_location() #9
  store i32 %11899, ptr %11900, align 4, !tbaa !5
  %11901 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11902 = load i32, ptr @test_count, align 4, !tbaa !5
  %11903 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11904 = load i32, ptr %11903, align 4, !tbaa !5
  %11905 = call ptr @s2n_strerror(i32 noundef %11904, ptr noundef @.str.4)
  %11906 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11907 = load i32, ptr %11906, align 4, !tbaa !5
  %11908 = call ptr @s2n_strerror_debug(i32 noundef %11907, ptr noundef @.str.4)
  %11909 = call ptr @__errno_location() #9
  %11910 = load i32, ptr %11909, align 4, !tbaa !5
  %11911 = call ptr @strerror(i32 noundef %11910) #8
  %11912 = call ptr @__errno_location() #9
  %11913 = load i32, ptr %11912, align 4, !tbaa !5
  %11914 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11901, ptr noundef @.str.5, i32 noundef %11902, ptr noundef @.str.60, ptr noundef @.str.1, i32 noundef 295, ptr noundef %11905, ptr noundef %11908, ptr noundef %11911, i32 noundef %11913) #8
  br label %11915

11915:                                            ; preds = %11898, %11881
  call void @llvm.lifetime.end.p0(i64 4, ptr %200) #8
  br label %11916

11916:                                            ; preds = %11915
  br label %11917

11917:                                            ; preds = %11916
  call void @exit(i32 noundef 1) #10
  unreachable

11918:                                            ; No predecessors!
  br label %11919

11919:                                            ; preds = %11918
  br label %11920

11920:                                            ; preds = %11919, %11861
  br label %11921

11921:                                            ; preds = %11920
  br label %11922

11922:                                            ; preds = %11921
  br label %11923

11923:                                            ; preds = %11922
  %11924 = load i32, ptr @test_count, align 4, !tbaa !5
  %11925 = add nsw i32 %11924, 1
  store i32 %11925, ptr @test_count, align 4, !tbaa !5
  %11926 = load ptr, ptr %180, align 8, !tbaa !9
  %11927 = call i32 @s2n_is_cert_type_valid_for_auth(ptr noundef %11926, i32 noundef 1)
  %11928 = icmp eq i32 %11927, -1
  br i1 %11928, label %11929, label %11982

11929:                                            ; preds = %11923
  br label %11930

11930:                                            ; preds = %11929
  br label %11931

11931:                                            ; preds = %11930
  call void @llvm.lifetime.start.p0(i64 4, ptr %201) #8
  %11932 = call ptr @__errno_location() #9
  %11933 = load i32, ptr %11932, align 4, !tbaa !5
  store i32 %11933, ptr %201, align 4, !tbaa !5
  %11934 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11935 = call i32 @s2n_print_stacktrace(ptr noundef %11934)
  %11936 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11937 = trunc i8 %11936 to i1
  br i1 %11937, label %11938, label %11960

11938:                                            ; preds = %11931
  %11939 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11940 = call i32 @fileno(ptr noundef %11939) #8
  %11941 = call i32 @isatty(i32 noundef %11940) #8
  %11942 = icmp ne i32 %11941, 0
  br i1 %11942, label %11943, label %11960

11943:                                            ; preds = %11938
  %11944 = load i32, ptr %201, align 4, !tbaa !5
  %11945 = call ptr @__errno_location() #9
  store i32 %11944, ptr %11945, align 4, !tbaa !5
  %11946 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11947 = load i32, ptr @test_count, align 4, !tbaa !5
  %11948 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11949 = load i32, ptr %11948, align 4, !tbaa !5
  %11950 = call ptr @s2n_strerror(i32 noundef %11949, ptr noundef @.str.4)
  %11951 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11952 = load i32, ptr %11951, align 4, !tbaa !5
  %11953 = call ptr @s2n_strerror_debug(i32 noundef %11952, ptr noundef @.str.4)
  %11954 = call ptr @__errno_location() #9
  %11955 = load i32, ptr %11954, align 4, !tbaa !5
  %11956 = call ptr @strerror(i32 noundef %11955) #8
  %11957 = call ptr @__errno_location() #9
  %11958 = load i32, ptr %11957, align 4, !tbaa !5
  %11959 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11946, ptr noundef @.str.2, i32 noundef %11947, ptr noundef @.str.65, ptr noundef @.str.1, i32 noundef 296, ptr noundef %11950, ptr noundef %11953, ptr noundef %11956, i32 noundef %11958) #8
  br label %11977

11960:                                            ; preds = %11938, %11931
  %11961 = load i32, ptr %201, align 4, !tbaa !5
  %11962 = call ptr @__errno_location() #9
  store i32 %11961, ptr %11962, align 4, !tbaa !5
  %11963 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11964 = load i32, ptr @test_count, align 4, !tbaa !5
  %11965 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11966 = load i32, ptr %11965, align 4, !tbaa !5
  %11967 = call ptr @s2n_strerror(i32 noundef %11966, ptr noundef @.str.4)
  %11968 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11969 = load i32, ptr %11968, align 4, !tbaa !5
  %11970 = call ptr @s2n_strerror_debug(i32 noundef %11969, ptr noundef @.str.4)
  %11971 = call ptr @__errno_location() #9
  %11972 = load i32, ptr %11971, align 4, !tbaa !5
  %11973 = call ptr @strerror(i32 noundef %11972) #8
  %11974 = call ptr @__errno_location() #9
  %11975 = load i32, ptr %11974, align 4, !tbaa !5
  %11976 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11963, ptr noundef @.str.5, i32 noundef %11964, ptr noundef @.str.65, ptr noundef @.str.1, i32 noundef 296, ptr noundef %11967, ptr noundef %11970, ptr noundef %11973, i32 noundef %11975) #8
  br label %11977

11977:                                            ; preds = %11960, %11943
  call void @llvm.lifetime.end.p0(i64 4, ptr %201) #8
  br label %11978

11978:                                            ; preds = %11977
  br label %11979

11979:                                            ; preds = %11978
  call void @exit(i32 noundef 1) #10
  unreachable

11980:                                            ; No predecessors!
  br label %11981

11981:                                            ; preds = %11980
  br label %11982

11982:                                            ; preds = %11981, %11923
  br label %11983

11983:                                            ; preds = %11982
  br label %11984

11984:                                            ; preds = %11983
  br label %11985

11985:                                            ; preds = %11984
  br label %11986

11986:                                            ; preds = %11985
  %11987 = load i32, ptr @test_count, align 4, !tbaa !5
  %11988 = add nsw i32 %11987, 1
  store i32 %11988, ptr @test_count, align 4, !tbaa !5
  %11989 = load ptr, ptr %180, align 8, !tbaa !9
  %11990 = call i32 @s2n_is_cert_type_valid_for_auth(ptr noundef %11989, i32 noundef -1)
  %11991 = icmp eq i32 %11990, -1
  br i1 %11991, label %12045, label %11992

11992:                                            ; preds = %11986
  br label %11993

11993:                                            ; preds = %11992
  br label %11994

11994:                                            ; preds = %11993
  call void @llvm.lifetime.start.p0(i64 4, ptr %202) #8
  %11995 = call ptr @__errno_location() #9
  %11996 = load i32, ptr %11995, align 4, !tbaa !5
  store i32 %11996, ptr %202, align 4, !tbaa !5
  %11997 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11998 = call i32 @s2n_print_stacktrace(ptr noundef %11997)
  %11999 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12000 = trunc i8 %11999 to i1
  br i1 %12000, label %12001, label %12023

12001:                                            ; preds = %11994
  %12002 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12003 = call i32 @fileno(ptr noundef %12002) #8
  %12004 = call i32 @isatty(i32 noundef %12003) #8
  %12005 = icmp ne i32 %12004, 0
  br i1 %12005, label %12006, label %12023

12006:                                            ; preds = %12001
  %12007 = load i32, ptr %202, align 4, !tbaa !5
  %12008 = call ptr @__errno_location() #9
  store i32 %12007, ptr %12008, align 4, !tbaa !5
  %12009 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12010 = load i32, ptr @test_count, align 4, !tbaa !5
  %12011 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12012 = load i32, ptr %12011, align 4, !tbaa !5
  %12013 = call ptr @s2n_strerror(i32 noundef %12012, ptr noundef @.str.4)
  %12014 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12015 = load i32, ptr %12014, align 4, !tbaa !5
  %12016 = call ptr @s2n_strerror_debug(i32 noundef %12015, ptr noundef @.str.4)
  %12017 = call ptr @__errno_location() #9
  %12018 = load i32, ptr %12017, align 4, !tbaa !5
  %12019 = call ptr @strerror(i32 noundef %12018) #8
  %12020 = call ptr @__errno_location() #9
  %12021 = load i32, ptr %12020, align 4, !tbaa !5
  %12022 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12009, ptr noundef @.str.2, i32 noundef %12010, ptr noundef @.str.62, ptr noundef @.str.1, i32 noundef 297, ptr noundef %12013, ptr noundef %12016, ptr noundef %12019, i32 noundef %12021) #8
  br label %12040

12023:                                            ; preds = %12001, %11994
  %12024 = load i32, ptr %202, align 4, !tbaa !5
  %12025 = call ptr @__errno_location() #9
  store i32 %12024, ptr %12025, align 4, !tbaa !5
  %12026 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12027 = load i32, ptr @test_count, align 4, !tbaa !5
  %12028 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12029 = load i32, ptr %12028, align 4, !tbaa !5
  %12030 = call ptr @s2n_strerror(i32 noundef %12029, ptr noundef @.str.4)
  %12031 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12032 = load i32, ptr %12031, align 4, !tbaa !5
  %12033 = call ptr @s2n_strerror_debug(i32 noundef %12032, ptr noundef @.str.4)
  %12034 = call ptr @__errno_location() #9
  %12035 = load i32, ptr %12034, align 4, !tbaa !5
  %12036 = call ptr @strerror(i32 noundef %12035) #8
  %12037 = call ptr @__errno_location() #9
  %12038 = load i32, ptr %12037, align 4, !tbaa !5
  %12039 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12026, ptr noundef @.str.5, i32 noundef %12027, ptr noundef @.str.62, ptr noundef @.str.1, i32 noundef 297, ptr noundef %12030, ptr noundef %12033, ptr noundef %12036, i32 noundef %12038) #8
  br label %12040

12040:                                            ; preds = %12023, %12006
  call void @llvm.lifetime.end.p0(i64 4, ptr %202) #8
  br label %12041

12041:                                            ; preds = %12040
  br label %12042

12042:                                            ; preds = %12041
  call void @exit(i32 noundef 1) #10
  unreachable

12043:                                            ; No predecessors!
  br label %12044

12044:                                            ; preds = %12043
  br label %12045

12045:                                            ; preds = %12044, %11986
  br label %12046

12046:                                            ; preds = %12045
  br label %12047

12047:                                            ; preds = %12046
  br label %12048

12048:                                            ; preds = %12047
  %12049 = load i32, ptr @test_count, align 4, !tbaa !5
  %12050 = add nsw i32 %12049, 1
  store i32 %12050, ptr @test_count, align 4, !tbaa !5
  %12051 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12052 = load i32, ptr %12051, align 4, !tbaa !5
  %12053 = icmp eq i32 %12052, 0
  br i1 %12053, label %12054, label %12107

12054:                                            ; preds = %12048
  br label %12055

12055:                                            ; preds = %12054
  br label %12056

12056:                                            ; preds = %12055
  call void @llvm.lifetime.start.p0(i64 4, ptr %203) #8
  %12057 = call ptr @__errno_location() #9
  %12058 = load i32, ptr %12057, align 4, !tbaa !5
  store i32 %12058, ptr %203, align 4, !tbaa !5
  %12059 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12060 = call i32 @s2n_print_stacktrace(ptr noundef %12059)
  %12061 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12062 = trunc i8 %12061 to i1
  br i1 %12062, label %12063, label %12085

12063:                                            ; preds = %12056
  %12064 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12065 = call i32 @fileno(ptr noundef %12064) #8
  %12066 = call i32 @isatty(i32 noundef %12065) #8
  %12067 = icmp ne i32 %12066, 0
  br i1 %12067, label %12068, label %12085

12068:                                            ; preds = %12063
  %12069 = load i32, ptr %203, align 4, !tbaa !5
  %12070 = call ptr @__errno_location() #9
  store i32 %12069, ptr %12070, align 4, !tbaa !5
  %12071 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12072 = load i32, ptr @test_count, align 4, !tbaa !5
  %12073 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12074 = load i32, ptr %12073, align 4, !tbaa !5
  %12075 = call ptr @s2n_strerror(i32 noundef %12074, ptr noundef @.str.4)
  %12076 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12077 = load i32, ptr %12076, align 4, !tbaa !5
  %12078 = call ptr @s2n_strerror_debug(i32 noundef %12077, ptr noundef @.str.4)
  %12079 = call ptr @__errno_location() #9
  %12080 = load i32, ptr %12079, align 4, !tbaa !5
  %12081 = call ptr @strerror(i32 noundef %12080) #8
  %12082 = call ptr @__errno_location() #9
  %12083 = load i32, ptr %12082, align 4, !tbaa !5
  %12084 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12071, ptr noundef @.str.2, i32 noundef %12072, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 297, ptr noundef %12075, ptr noundef %12078, ptr noundef %12081, i32 noundef %12083) #8
  br label %12102

12085:                                            ; preds = %12063, %12056
  %12086 = load i32, ptr %203, align 4, !tbaa !5
  %12087 = call ptr @__errno_location() #9
  store i32 %12086, ptr %12087, align 4, !tbaa !5
  %12088 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12089 = load i32, ptr @test_count, align 4, !tbaa !5
  %12090 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12091 = load i32, ptr %12090, align 4, !tbaa !5
  %12092 = call ptr @s2n_strerror(i32 noundef %12091, ptr noundef @.str.4)
  %12093 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12094 = load i32, ptr %12093, align 4, !tbaa !5
  %12095 = call ptr @s2n_strerror_debug(i32 noundef %12094, ptr noundef @.str.4)
  %12096 = call ptr @__errno_location() #9
  %12097 = load i32, ptr %12096, align 4, !tbaa !5
  %12098 = call ptr @strerror(i32 noundef %12097) #8
  %12099 = call ptr @__errno_location() #9
  %12100 = load i32, ptr %12099, align 4, !tbaa !5
  %12101 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12088, ptr noundef @.str.5, i32 noundef %12089, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 297, ptr noundef %12092, ptr noundef %12095, ptr noundef %12098, i32 noundef %12100) #8
  br label %12102

12102:                                            ; preds = %12085, %12068
  call void @llvm.lifetime.end.p0(i64 4, ptr %203) #8
  br label %12103

12103:                                            ; preds = %12102
  br label %12104

12104:                                            ; preds = %12103
  call void @exit(i32 noundef 1) #10
  unreachable

12105:                                            ; No predecessors!
  br label %12106

12106:                                            ; preds = %12105
  br label %12107

12107:                                            ; preds = %12106, %12048
  br label %12108

12108:                                            ; preds = %12107
  br label %12109

12109:                                            ; preds = %12108
  br label %12110

12110:                                            ; preds = %12109
  %12111 = load i32, ptr @test_count, align 4, !tbaa !5
  %12112 = add nsw i32 %12111, 1
  store i32 %12112, ptr @test_count, align 4, !tbaa !5
  %12113 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12114 = load i32, ptr %12113, align 4, !tbaa !5
  %12115 = call ptr @s2n_strerror_debug(i32 noundef %12114, ptr noundef @.str.4)
  %12116 = icmp eq ptr %12115, null
  br i1 %12116, label %12117, label %12170

12117:                                            ; preds = %12110
  br label %12118

12118:                                            ; preds = %12117
  br label %12119

12119:                                            ; preds = %12118
  call void @llvm.lifetime.start.p0(i64 4, ptr %204) #8
  %12120 = call ptr @__errno_location() #9
  %12121 = load i32, ptr %12120, align 4, !tbaa !5
  store i32 %12121, ptr %204, align 4, !tbaa !5
  %12122 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12123 = call i32 @s2n_print_stacktrace(ptr noundef %12122)
  %12124 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12125 = trunc i8 %12124 to i1
  br i1 %12125, label %12126, label %12148

12126:                                            ; preds = %12119
  %12127 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12128 = call i32 @fileno(ptr noundef %12127) #8
  %12129 = call i32 @isatty(i32 noundef %12128) #8
  %12130 = icmp ne i32 %12129, 0
  br i1 %12130, label %12131, label %12148

12131:                                            ; preds = %12126
  %12132 = load i32, ptr %204, align 4, !tbaa !5
  %12133 = call ptr @__errno_location() #9
  store i32 %12132, ptr %12133, align 4, !tbaa !5
  %12134 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12135 = load i32, ptr @test_count, align 4, !tbaa !5
  %12136 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12137 = load i32, ptr %12136, align 4, !tbaa !5
  %12138 = call ptr @s2n_strerror(i32 noundef %12137, ptr noundef @.str.4)
  %12139 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12140 = load i32, ptr %12139, align 4, !tbaa !5
  %12141 = call ptr @s2n_strerror_debug(i32 noundef %12140, ptr noundef @.str.4)
  %12142 = call ptr @__errno_location() #9
  %12143 = load i32, ptr %12142, align 4, !tbaa !5
  %12144 = call ptr @strerror(i32 noundef %12143) #8
  %12145 = call ptr @__errno_location() #9
  %12146 = load i32, ptr %12145, align 4, !tbaa !5
  %12147 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12134, ptr noundef @.str.2, i32 noundef %12135, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 297, ptr noundef %12138, ptr noundef %12141, ptr noundef %12144, i32 noundef %12146) #8
  br label %12165

12148:                                            ; preds = %12126, %12119
  %12149 = load i32, ptr %204, align 4, !tbaa !5
  %12150 = call ptr @__errno_location() #9
  store i32 %12149, ptr %12150, align 4, !tbaa !5
  %12151 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12152 = load i32, ptr @test_count, align 4, !tbaa !5
  %12153 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12154 = load i32, ptr %12153, align 4, !tbaa !5
  %12155 = call ptr @s2n_strerror(i32 noundef %12154, ptr noundef @.str.4)
  %12156 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12157 = load i32, ptr %12156, align 4, !tbaa !5
  %12158 = call ptr @s2n_strerror_debug(i32 noundef %12157, ptr noundef @.str.4)
  %12159 = call ptr @__errno_location() #9
  %12160 = load i32, ptr %12159, align 4, !tbaa !5
  %12161 = call ptr @strerror(i32 noundef %12160) #8
  %12162 = call ptr @__errno_location() #9
  %12163 = load i32, ptr %12162, align 4, !tbaa !5
  %12164 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12151, ptr noundef @.str.5, i32 noundef %12152, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 297, ptr noundef %12155, ptr noundef %12158, ptr noundef %12161, i32 noundef %12163) #8
  br label %12165

12165:                                            ; preds = %12148, %12131
  call void @llvm.lifetime.end.p0(i64 4, ptr %204) #8
  br label %12166

12166:                                            ; preds = %12165
  br label %12167

12167:                                            ; preds = %12166
  call void @exit(i32 noundef 1) #10
  unreachable

12168:                                            ; No predecessors!
  br label %12169

12169:                                            ; preds = %12168
  br label %12170

12170:                                            ; preds = %12169, %12110
  br label %12171

12171:                                            ; preds = %12170
  br label %12172

12172:                                            ; preds = %12171
  br label %12173

12173:                                            ; preds = %12172
  %12174 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %12174, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %12175 = call ptr @__errno_location() #9
  store i32 0, ptr %12175, align 4, !tbaa !5
  br label %12176

12176:                                            ; preds = %12173
  br label %12177

12177:                                            ; preds = %12176
  br label %12178

12178:                                            ; preds = %12177
  br label %12179

12179:                                            ; preds = %12178
  br label %12180

12180:                                            ; preds = %12179
  %12181 = load i32, ptr @test_count, align 4, !tbaa !5
  %12182 = add nsw i32 %12181, 1
  store i32 %12182, ptr @test_count, align 4, !tbaa !5
  %12183 = load ptr, ptr %180, align 8, !tbaa !9
  %12184 = call i32 @s2n_connection_free(ptr noundef %12183)
  %12185 = icmp eq i32 %12184, -1
  br i1 %12185, label %12186, label %12239

12186:                                            ; preds = %12180
  br label %12187

12187:                                            ; preds = %12186
  br label %12188

12188:                                            ; preds = %12187
  call void @llvm.lifetime.start.p0(i64 4, ptr %205) #8
  %12189 = call ptr @__errno_location() #9
  %12190 = load i32, ptr %12189, align 4, !tbaa !5
  store i32 %12190, ptr %205, align 4, !tbaa !5
  %12191 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12192 = call i32 @s2n_print_stacktrace(ptr noundef %12191)
  %12193 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12194 = trunc i8 %12193 to i1
  br i1 %12194, label %12195, label %12217

12195:                                            ; preds = %12188
  %12196 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12197 = call i32 @fileno(ptr noundef %12196) #8
  %12198 = call i32 @isatty(i32 noundef %12197) #8
  %12199 = icmp ne i32 %12198, 0
  br i1 %12199, label %12200, label %12217

12200:                                            ; preds = %12195
  %12201 = load i32, ptr %205, align 4, !tbaa !5
  %12202 = call ptr @__errno_location() #9
  store i32 %12201, ptr %12202, align 4, !tbaa !5
  %12203 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12204 = load i32, ptr @test_count, align 4, !tbaa !5
  %12205 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12206 = load i32, ptr %12205, align 4, !tbaa !5
  %12207 = call ptr @s2n_strerror(i32 noundef %12206, ptr noundef @.str.4)
  %12208 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12209 = load i32, ptr %12208, align 4, !tbaa !5
  %12210 = call ptr @s2n_strerror_debug(i32 noundef %12209, ptr noundef @.str.4)
  %12211 = call ptr @__errno_location() #9
  %12212 = load i32, ptr %12211, align 4, !tbaa !5
  %12213 = call ptr @strerror(i32 noundef %12212) #8
  %12214 = call ptr @__errno_location() #9
  %12215 = load i32, ptr %12214, align 4, !tbaa !5
  %12216 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12203, ptr noundef @.str.2, i32 noundef %12204, ptr noundef @.str.31, ptr noundef @.str.1, i32 noundef 299, ptr noundef %12207, ptr noundef %12210, ptr noundef %12213, i32 noundef %12215) #8
  br label %12234

12217:                                            ; preds = %12195, %12188
  %12218 = load i32, ptr %205, align 4, !tbaa !5
  %12219 = call ptr @__errno_location() #9
  store i32 %12218, ptr %12219, align 4, !tbaa !5
  %12220 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12221 = load i32, ptr @test_count, align 4, !tbaa !5
  %12222 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12223 = load i32, ptr %12222, align 4, !tbaa !5
  %12224 = call ptr @s2n_strerror(i32 noundef %12223, ptr noundef @.str.4)
  %12225 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12226 = load i32, ptr %12225, align 4, !tbaa !5
  %12227 = call ptr @s2n_strerror_debug(i32 noundef %12226, ptr noundef @.str.4)
  %12228 = call ptr @__errno_location() #9
  %12229 = load i32, ptr %12228, align 4, !tbaa !5
  %12230 = call ptr @strerror(i32 noundef %12229) #8
  %12231 = call ptr @__errno_location() #9
  %12232 = load i32, ptr %12231, align 4, !tbaa !5
  %12233 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12220, ptr noundef @.str.5, i32 noundef %12221, ptr noundef @.str.31, ptr noundef @.str.1, i32 noundef 299, ptr noundef %12224, ptr noundef %12227, ptr noundef %12230, i32 noundef %12232) #8
  br label %12234

12234:                                            ; preds = %12217, %12200
  call void @llvm.lifetime.end.p0(i64 4, ptr %205) #8
  br label %12235

12235:                                            ; preds = %12234
  br label %12236

12236:                                            ; preds = %12235
  call void @exit(i32 noundef 1) #10
  unreachable

12237:                                            ; No predecessors!
  br label %12238

12238:                                            ; preds = %12237
  br label %12239

12239:                                            ; preds = %12238, %12180
  br label %12240

12240:                                            ; preds = %12239
  br label %12241

12241:                                            ; preds = %12240
  call void @llvm.lifetime.end.p0(i64 8, ptr %180) #8
  call void @llvm.lifetime.start.p0(i64 8, ptr %206) #8
  %12242 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %12242, ptr %206, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %207) #8
  store ptr null, ptr %207, align 8, !tbaa !9
  br label %12243

12243:                                            ; preds = %12241
  %12244 = load i32, ptr @test_count, align 4, !tbaa !5
  %12245 = add nsw i32 %12244, 1
  store i32 %12245, ptr @test_count, align 4, !tbaa !5
  %12246 = load ptr, ptr %206, align 8, !tbaa !9
  %12247 = load ptr, ptr %19, align 8, !tbaa !9
  %12248 = call i32 @s2n_connection_set_config(ptr noundef %12246, ptr noundef %12247)
  %12249 = icmp eq i32 %12248, -1
  br i1 %12249, label %12250, label %12303

12250:                                            ; preds = %12243
  br label %12251

12251:                                            ; preds = %12250
  br label %12252

12252:                                            ; preds = %12251
  call void @llvm.lifetime.start.p0(i64 4, ptr %208) #8
  %12253 = call ptr @__errno_location() #9
  %12254 = load i32, ptr %12253, align 4, !tbaa !5
  store i32 %12254, ptr %208, align 4, !tbaa !5
  %12255 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12256 = call i32 @s2n_print_stacktrace(ptr noundef %12255)
  %12257 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12258 = trunc i8 %12257 to i1
  br i1 %12258, label %12259, label %12281

12259:                                            ; preds = %12252
  %12260 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12261 = call i32 @fileno(ptr noundef %12260) #8
  %12262 = call i32 @isatty(i32 noundef %12261) #8
  %12263 = icmp ne i32 %12262, 0
  br i1 %12263, label %12264, label %12281

12264:                                            ; preds = %12259
  %12265 = load i32, ptr %208, align 4, !tbaa !5
  %12266 = call ptr @__errno_location() #9
  store i32 %12265, ptr %12266, align 4, !tbaa !5
  %12267 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12268 = load i32, ptr @test_count, align 4, !tbaa !5
  %12269 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12270 = load i32, ptr %12269, align 4, !tbaa !5
  %12271 = call ptr @s2n_strerror(i32 noundef %12270, ptr noundef @.str.4)
  %12272 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12273 = load i32, ptr %12272, align 4, !tbaa !5
  %12274 = call ptr @s2n_strerror_debug(i32 noundef %12273, ptr noundef @.str.4)
  %12275 = call ptr @__errno_location() #9
  %12276 = load i32, ptr %12275, align 4, !tbaa !5
  %12277 = call ptr @strerror(i32 noundef %12276) #8
  %12278 = call ptr @__errno_location() #9
  %12279 = load i32, ptr %12278, align 4, !tbaa !5
  %12280 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12267, ptr noundef @.str.2, i32 noundef %12268, ptr noundef @.str.30, ptr noundef @.str.1, i32 noundef 308, ptr noundef %12271, ptr noundef %12274, ptr noundef %12277, i32 noundef %12279) #8
  br label %12298

12281:                                            ; preds = %12259, %12252
  %12282 = load i32, ptr %208, align 4, !tbaa !5
  %12283 = call ptr @__errno_location() #9
  store i32 %12282, ptr %12283, align 4, !tbaa !5
  %12284 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12285 = load i32, ptr @test_count, align 4, !tbaa !5
  %12286 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12287 = load i32, ptr %12286, align 4, !tbaa !5
  %12288 = call ptr @s2n_strerror(i32 noundef %12287, ptr noundef @.str.4)
  %12289 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12290 = load i32, ptr %12289, align 4, !tbaa !5
  %12291 = call ptr @s2n_strerror_debug(i32 noundef %12290, ptr noundef @.str.4)
  %12292 = call ptr @__errno_location() #9
  %12293 = load i32, ptr %12292, align 4, !tbaa !5
  %12294 = call ptr @strerror(i32 noundef %12293) #8
  %12295 = call ptr @__errno_location() #9
  %12296 = load i32, ptr %12295, align 4, !tbaa !5
  %12297 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12284, ptr noundef @.str.5, i32 noundef %12285, ptr noundef @.str.30, ptr noundef @.str.1, i32 noundef 308, ptr noundef %12288, ptr noundef %12291, ptr noundef %12294, i32 noundef %12296) #8
  br label %12298

12298:                                            ; preds = %12281, %12264
  call void @llvm.lifetime.end.p0(i64 4, ptr %208) #8
  br label %12299

12299:                                            ; preds = %12298
  br label %12300

12300:                                            ; preds = %12299
  call void @exit(i32 noundef 1) #10
  unreachable

12301:                                            ; No predecessors!
  br label %12302

12302:                                            ; preds = %12301
  br label %12303

12303:                                            ; preds = %12302, %12243
  br label %12304

12304:                                            ; preds = %12303
  br label %12305

12305:                                            ; preds = %12304
  call void @llvm.lifetime.start.p0(i64 40, ptr %209) #8
  call void @llvm.memset.p0.i64(ptr align 8 %209, i8 0, i64 40, i1 false)
  %12306 = load ptr, ptr %206, align 8, !tbaa !9
  %12307 = getelementptr inbounds %struct.s2n_connection, ptr %12306, i32 0, i32 32
  %12308 = getelementptr inbounds %struct.s2n_handshake_parameters, ptr %12307, i32 0, i32 5
  store ptr %209, ptr %12308, align 8, !tbaa !48
  %12309 = getelementptr inbounds %struct.s2n_signature_scheme, ptr %209, i32 0, i32 3
  store i32 1, ptr %12309, align 4, !tbaa !49
  br label %12310

12310:                                            ; preds = %12305
  %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 = load ptr, ptr %206, align 8, !tbaa !9
  %12314 = call i32 @s2n_select_certs_for_server_auth(ptr noundef %12313, ptr noundef %207)
  %12315 = icmp eq i32 %12314, -1
  br i1 %12315, label %12316, label %12369

12316:                                            ; preds = %12310
  br label %12317

12317:                                            ; preds = %12316
  br label %12318

12318:                                            ; preds = %12317
  call void @llvm.lifetime.start.p0(i64 4, ptr %210) #8
  %12319 = call ptr @__errno_location() #9
  %12320 = load i32, ptr %12319, align 4, !tbaa !5
  store i32 %12320, ptr %210, align 4, !tbaa !5
  %12321 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12322 = call i32 @s2n_print_stacktrace(ptr noundef %12321)
  %12323 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12324 = trunc i8 %12323 to i1
  br i1 %12324, label %12325, label %12347

12325:                                            ; preds = %12318
  %12326 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12327 = call i32 @fileno(ptr noundef %12326) #8
  %12328 = call i32 @isatty(i32 noundef %12327) #8
  %12329 = icmp ne i32 %12328, 0
  br i1 %12329, label %12330, label %12347

12330:                                            ; preds = %12325
  %12331 = load i32, ptr %210, align 4, !tbaa !5
  %12332 = call ptr @__errno_location() #9
  store i32 %12331, ptr %12332, align 4, !tbaa !5
  %12333 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12334 = load i32, ptr @test_count, align 4, !tbaa !5
  %12335 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12336 = load i32, ptr %12335, align 4, !tbaa !5
  %12337 = call ptr @s2n_strerror(i32 noundef %12336, ptr noundef @.str.4)
  %12338 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12339 = load i32, ptr %12338, align 4, !tbaa !5
  %12340 = call ptr @s2n_strerror_debug(i32 noundef %12339, ptr noundef @.str.4)
  %12341 = call ptr @__errno_location() #9
  %12342 = load i32, ptr %12341, align 4, !tbaa !5
  %12343 = call ptr @strerror(i32 noundef %12342) #8
  %12344 = call ptr @__errno_location() #9
  %12345 = load i32, ptr %12344, align 4, !tbaa !5
  %12346 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12333, ptr noundef @.str.2, i32 noundef %12334, ptr noundef @.str.66, ptr noundef @.str.1, i32 noundef 314, ptr noundef %12337, ptr noundef %12340, ptr noundef %12343, i32 noundef %12345) #8
  br label %12364

12347:                                            ; preds = %12325, %12318
  %12348 = load i32, ptr %210, align 4, !tbaa !5
  %12349 = call ptr @__errno_location() #9
  store i32 %12348, ptr %12349, align 4, !tbaa !5
  %12350 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12351 = load i32, ptr @test_count, align 4, !tbaa !5
  %12352 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12353 = load i32, ptr %12352, align 4, !tbaa !5
  %12354 = call ptr @s2n_strerror(i32 noundef %12353, ptr noundef @.str.4)
  %12355 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12356 = load i32, ptr %12355, align 4, !tbaa !5
  %12357 = call ptr @s2n_strerror_debug(i32 noundef %12356, ptr noundef @.str.4)
  %12358 = call ptr @__errno_location() #9
  %12359 = load i32, ptr %12358, align 4, !tbaa !5
  %12360 = call ptr @strerror(i32 noundef %12359) #8
  %12361 = call ptr @__errno_location() #9
  %12362 = load i32, ptr %12361, align 4, !tbaa !5
  %12363 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12350, ptr noundef @.str.5, i32 noundef %12351, ptr noundef @.str.66, ptr noundef @.str.1, i32 noundef 314, ptr noundef %12354, ptr noundef %12357, ptr noundef %12360, i32 noundef %12362) #8
  br label %12364

12364:                                            ; preds = %12347, %12330
  call void @llvm.lifetime.end.p0(i64 4, ptr %210) #8
  br label %12365

12365:                                            ; preds = %12364
  br label %12366

12366:                                            ; preds = %12365
  call void @exit(i32 noundef 1) #10
  unreachable

12367:                                            ; No predecessors!
  br label %12368

12368:                                            ; preds = %12367
  br label %12369

12369:                                            ; preds = %12368, %12310
  br label %12370

12370:                                            ; preds = %12369
  br label %12371

12371:                                            ; preds = %12370
  br label %12372

12372:                                            ; preds = %12371
  %12373 = load i32, ptr @test_count, align 4, !tbaa !5
  %12374 = add nsw i32 %12373, 1
  store i32 %12374, ptr @test_count, align 4, !tbaa !5
  %12375 = load ptr, ptr %207, align 8, !tbaa !9
  %12376 = load ptr, ptr %10, align 8, !tbaa !9
  %12377 = icmp eq ptr %12375, %12376
  br i1 %12377, label %12431, label %12378

12378:                                            ; preds = %12372
  br label %12379

12379:                                            ; preds = %12378
  br label %12380

12380:                                            ; preds = %12379
  call void @llvm.lifetime.start.p0(i64 4, ptr %211) #8
  %12381 = call ptr @__errno_location() #9
  %12382 = load i32, ptr %12381, align 4, !tbaa !5
  store i32 %12382, ptr %211, align 4, !tbaa !5
  %12383 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12384 = call i32 @s2n_print_stacktrace(ptr noundef %12383)
  %12385 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12386 = trunc i8 %12385 to i1
  br i1 %12386, label %12387, label %12409

12387:                                            ; preds = %12380
  %12388 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12389 = call i32 @fileno(ptr noundef %12388) #8
  %12390 = call i32 @isatty(i32 noundef %12389) #8
  %12391 = icmp ne i32 %12390, 0
  br i1 %12391, label %12392, label %12409

12392:                                            ; preds = %12387
  %12393 = load i32, ptr %211, align 4, !tbaa !5
  %12394 = call ptr @__errno_location() #9
  store i32 %12393, ptr %12394, align 4, !tbaa !5
  %12395 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12396 = load i32, ptr @test_count, align 4, !tbaa !5
  %12397 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12398 = load i32, ptr %12397, align 4, !tbaa !5
  %12399 = call ptr @s2n_strerror(i32 noundef %12398, ptr noundef @.str.4)
  %12400 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12401 = load i32, ptr %12400, align 4, !tbaa !5
  %12402 = call ptr @s2n_strerror_debug(i32 noundef %12401, ptr noundef @.str.4)
  %12403 = call ptr @__errno_location() #9
  %12404 = load i32, ptr %12403, align 4, !tbaa !5
  %12405 = call ptr @strerror(i32 noundef %12404) #8
  %12406 = call ptr @__errno_location() #9
  %12407 = load i32, ptr %12406, align 4, !tbaa !5
  %12408 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12395, ptr noundef @.str.2, i32 noundef %12396, ptr noundef @.str.67, ptr noundef @.str.1, i32 noundef 315, ptr noundef %12399, ptr noundef %12402, ptr noundef %12405, i32 noundef %12407) #8
  br label %12426

12409:                                            ; preds = %12387, %12380
  %12410 = load i32, ptr %211, align 4, !tbaa !5
  %12411 = call ptr @__errno_location() #9
  store i32 %12410, ptr %12411, align 4, !tbaa !5
  %12412 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12413 = load i32, ptr @test_count, align 4, !tbaa !5
  %12414 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12415 = load i32, ptr %12414, align 4, !tbaa !5
  %12416 = call ptr @s2n_strerror(i32 noundef %12415, ptr noundef @.str.4)
  %12417 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12418 = load i32, ptr %12417, align 4, !tbaa !5
  %12419 = call ptr @s2n_strerror_debug(i32 noundef %12418, ptr noundef @.str.4)
  %12420 = call ptr @__errno_location() #9
  %12421 = load i32, ptr %12420, align 4, !tbaa !5
  %12422 = call ptr @strerror(i32 noundef %12421) #8
  %12423 = call ptr @__errno_location() #9
  %12424 = load i32, ptr %12423, align 4, !tbaa !5
  %12425 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12412, ptr noundef @.str.5, i32 noundef %12413, ptr noundef @.str.67, ptr noundef @.str.1, i32 noundef 315, ptr noundef %12416, ptr noundef %12419, ptr noundef %12422, i32 noundef %12424) #8
  br label %12426

12426:                                            ; preds = %12409, %12392
  call void @llvm.lifetime.end.p0(i64 4, ptr %211) #8
  br label %12427

12427:                                            ; preds = %12426
  br label %12428

12428:                                            ; preds = %12427
  call void @exit(i32 noundef 1) #10
  unreachable

12429:                                            ; No predecessors!
  br label %12430

12430:                                            ; preds = %12429
  br label %12431

12431:                                            ; preds = %12430, %12372
  br label %12432

12432:                                            ; preds = %12431
  br label %12433

12433:                                            ; preds = %12432
  %12434 = getelementptr inbounds %struct.s2n_signature_scheme, ptr %209, i32 0, i32 3
  store i32 225, ptr %12434, align 4, !tbaa !49
  %12435 = call zeroext i1 (...) @s2n_is_rsa_pss_certs_supported()
  br i1 %12435, label %12436, label %12499

12436:                                            ; preds = %12433
  br label %12437

12437:                                            ; preds = %12436
  %12438 = load i32, ptr @test_count, align 4, !tbaa !5
  %12439 = add nsw i32 %12438, 1
  store i32 %12439, ptr @test_count, align 4, !tbaa !5
  %12440 = load ptr, ptr %206, align 8, !tbaa !9
  %12441 = call i32 @s2n_select_certs_for_server_auth(ptr noundef %12440, ptr noundef %207)
  %12442 = icmp eq i32 %12441, -1
  br i1 %12442, label %12443, label %12496

12443:                                            ; preds = %12437
  br label %12444

12444:                                            ; preds = %12443
  br label %12445

12445:                                            ; preds = %12444
  call void @llvm.lifetime.start.p0(i64 4, ptr %212) #8
  %12446 = call ptr @__errno_location() #9
  %12447 = load i32, ptr %12446, align 4, !tbaa !5
  store i32 %12447, ptr %212, align 4, !tbaa !5
  %12448 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12449 = call i32 @s2n_print_stacktrace(ptr noundef %12448)
  %12450 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12451 = trunc i8 %12450 to i1
  br i1 %12451, label %12452, label %12474

12452:                                            ; preds = %12445
  %12453 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12454 = call i32 @fileno(ptr noundef %12453) #8
  %12455 = call i32 @isatty(i32 noundef %12454) #8
  %12456 = icmp ne i32 %12455, 0
  br i1 %12456, label %12457, label %12474

12457:                                            ; preds = %12452
  %12458 = load i32, ptr %212, align 4, !tbaa !5
  %12459 = call ptr @__errno_location() #9
  store i32 %12458, ptr %12459, align 4, !tbaa !5
  %12460 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12461 = load i32, ptr @test_count, align 4, !tbaa !5
  %12462 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12463 = load i32, ptr %12462, align 4, !tbaa !5
  %12464 = call ptr @s2n_strerror(i32 noundef %12463, ptr noundef @.str.4)
  %12465 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12466 = load i32, ptr %12465, align 4, !tbaa !5
  %12467 = call ptr @s2n_strerror_debug(i32 noundef %12466, ptr noundef @.str.4)
  %12468 = call ptr @__errno_location() #9
  %12469 = load i32, ptr %12468, align 4, !tbaa !5
  %12470 = call ptr @strerror(i32 noundef %12469) #8
  %12471 = call ptr @__errno_location() #9
  %12472 = load i32, ptr %12471, align 4, !tbaa !5
  %12473 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12460, ptr noundef @.str.2, i32 noundef %12461, ptr noundef @.str.66, ptr noundef @.str.1, i32 noundef 319, ptr noundef %12464, ptr noundef %12467, ptr noundef %12470, i32 noundef %12472) #8
  br label %12491

12474:                                            ; preds = %12452, %12445
  %12475 = load i32, ptr %212, align 4, !tbaa !5
  %12476 = call ptr @__errno_location() #9
  store i32 %12475, ptr %12476, align 4, !tbaa !5
  %12477 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12478 = load i32, ptr @test_count, align 4, !tbaa !5
  %12479 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12480 = load i32, ptr %12479, align 4, !tbaa !5
  %12481 = call ptr @s2n_strerror(i32 noundef %12480, ptr noundef @.str.4)
  %12482 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12483 = load i32, ptr %12482, align 4, !tbaa !5
  %12484 = call ptr @s2n_strerror_debug(i32 noundef %12483, ptr noundef @.str.4)
  %12485 = call ptr @__errno_location() #9
  %12486 = load i32, ptr %12485, align 4, !tbaa !5
  %12487 = call ptr @strerror(i32 noundef %12486) #8
  %12488 = call ptr @__errno_location() #9
  %12489 = load i32, ptr %12488, align 4, !tbaa !5
  %12490 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12477, ptr noundef @.str.5, i32 noundef %12478, ptr noundef @.str.66, ptr noundef @.str.1, i32 noundef 319, ptr noundef %12481, ptr noundef %12484, ptr noundef %12487, i32 noundef %12489) #8
  br label %12491

12491:                                            ; preds = %12474, %12457
  call void @llvm.lifetime.end.p0(i64 4, ptr %212) #8
  br label %12492

12492:                                            ; preds = %12491
  br label %12493

12493:                                            ; preds = %12492
  call void @exit(i32 noundef 1) #10
  unreachable

12494:                                            ; No predecessors!
  br label %12495

12495:                                            ; preds = %12494
  br label %12496

12496:                                            ; preds = %12495, %12437
  br label %12497

12497:                                            ; preds = %12496
  br label %12498

12498:                                            ; preds = %12497
  br label %12695

12499:                                            ; preds = %12433
  br label %12500

12500:                                            ; preds = %12499
  br label %12501

12501:                                            ; preds = %12500
  %12502 = load i32, ptr @test_count, align 4, !tbaa !5
  %12503 = add nsw i32 %12502, 1
  store i32 %12503, ptr @test_count, align 4, !tbaa !5
  %12504 = load ptr, ptr %206, align 8, !tbaa !9
  %12505 = call i32 @s2n_select_certs_for_server_auth(ptr noundef %12504, ptr noundef %207)
  %12506 = icmp eq i32 %12505, -1
  br i1 %12506, label %12560, label %12507

12507:                                            ; preds = %12501
  br label %12508

12508:                                            ; preds = %12507
  br label %12509

12509:                                            ; preds = %12508
  call void @llvm.lifetime.start.p0(i64 4, ptr %213) #8
  %12510 = call ptr @__errno_location() #9
  %12511 = load i32, ptr %12510, align 4, !tbaa !5
  store i32 %12511, ptr %213, align 4, !tbaa !5
  %12512 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12513 = call i32 @s2n_print_stacktrace(ptr noundef %12512)
  %12514 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12515 = trunc i8 %12514 to i1
  br i1 %12515, label %12516, label %12538

12516:                                            ; preds = %12509
  %12517 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12518 = call i32 @fileno(ptr noundef %12517) #8
  %12519 = call i32 @isatty(i32 noundef %12518) #8
  %12520 = icmp ne i32 %12519, 0
  br i1 %12520, label %12521, label %12538

12521:                                            ; preds = %12516
  %12522 = load i32, ptr %213, align 4, !tbaa !5
  %12523 = call ptr @__errno_location() #9
  store i32 %12522, ptr %12523, align 4, !tbaa !5
  %12524 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12525 = load i32, ptr @test_count, align 4, !tbaa !5
  %12526 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12527 = load i32, ptr %12526, align 4, !tbaa !5
  %12528 = call ptr @s2n_strerror(i32 noundef %12527, ptr noundef @.str.4)
  %12529 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12530 = load i32, ptr %12529, align 4, !tbaa !5
  %12531 = call ptr @s2n_strerror_debug(i32 noundef %12530, ptr noundef @.str.4)
  %12532 = call ptr @__errno_location() #9
  %12533 = load i32, ptr %12532, align 4, !tbaa !5
  %12534 = call ptr @strerror(i32 noundef %12533) #8
  %12535 = call ptr @__errno_location() #9
  %12536 = load i32, ptr %12535, align 4, !tbaa !5
  %12537 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12524, ptr noundef @.str.2, i32 noundef %12525, ptr noundef @.str.68, ptr noundef @.str.1, i32 noundef 319, ptr noundef %12528, ptr noundef %12531, ptr noundef %12534, i32 noundef %12536) #8
  br label %12555

12538:                                            ; preds = %12516, %12509
  %12539 = load i32, ptr %213, align 4, !tbaa !5
  %12540 = call ptr @__errno_location() #9
  store i32 %12539, ptr %12540, align 4, !tbaa !5
  %12541 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12542 = load i32, ptr @test_count, align 4, !tbaa !5
  %12543 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12544 = load i32, ptr %12543, align 4, !tbaa !5
  %12545 = call ptr @s2n_strerror(i32 noundef %12544, ptr noundef @.str.4)
  %12546 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12547 = load i32, ptr %12546, align 4, !tbaa !5
  %12548 = call ptr @s2n_strerror_debug(i32 noundef %12547, ptr noundef @.str.4)
  %12549 = call ptr @__errno_location() #9
  %12550 = load i32, ptr %12549, align 4, !tbaa !5
  %12551 = call ptr @strerror(i32 noundef %12550) #8
  %12552 = call ptr @__errno_location() #9
  %12553 = load i32, ptr %12552, align 4, !tbaa !5
  %12554 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12541, ptr noundef @.str.5, i32 noundef %12542, ptr noundef @.str.68, ptr noundef @.str.1, i32 noundef 319, ptr noundef %12545, ptr noundef %12548, ptr noundef %12551, i32 noundef %12553) #8
  br label %12555

12555:                                            ; preds = %12538, %12521
  call void @llvm.lifetime.end.p0(i64 4, ptr %213) #8
  br label %12556

12556:                                            ; preds = %12555
  br label %12557

12557:                                            ; preds = %12556
  call void @exit(i32 noundef 1) #10
  unreachable

12558:                                            ; No predecessors!
  br label %12559

12559:                                            ; preds = %12558
  br label %12560

12560:                                            ; preds = %12559, %12501
  br label %12561

12561:                                            ; preds = %12560
  br label %12562

12562:                                            ; preds = %12561
  br label %12563

12563:                                            ; preds = %12562
  %12564 = load i32, ptr @test_count, align 4, !tbaa !5
  %12565 = add nsw i32 %12564, 1
  store i32 %12565, ptr @test_count, align 4, !tbaa !5
  %12566 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12567 = load i32, ptr %12566, align 4, !tbaa !5
  %12568 = icmp eq i32 %12567, 0
  br i1 %12568, label %12569, label %12622

12569:                                            ; preds = %12563
  br label %12570

12570:                                            ; preds = %12569
  br label %12571

12571:                                            ; preds = %12570
  call void @llvm.lifetime.start.p0(i64 4, ptr %214) #8
  %12572 = call ptr @__errno_location() #9
  %12573 = load i32, ptr %12572, align 4, !tbaa !5
  store i32 %12573, ptr %214, align 4, !tbaa !5
  %12574 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12575 = call i32 @s2n_print_stacktrace(ptr noundef %12574)
  %12576 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12577 = trunc i8 %12576 to i1
  br i1 %12577, label %12578, label %12600

12578:                                            ; preds = %12571
  %12579 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12580 = call i32 @fileno(ptr noundef %12579) #8
  %12581 = call i32 @isatty(i32 noundef %12580) #8
  %12582 = icmp ne i32 %12581, 0
  br i1 %12582, label %12583, label %12600

12583:                                            ; preds = %12578
  %12584 = load i32, ptr %214, align 4, !tbaa !5
  %12585 = call ptr @__errno_location() #9
  store i32 %12584, ptr %12585, align 4, !tbaa !5
  %12586 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12587 = load i32, ptr @test_count, align 4, !tbaa !5
  %12588 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12589 = load i32, ptr %12588, align 4, !tbaa !5
  %12590 = call ptr @s2n_strerror(i32 noundef %12589, ptr noundef @.str.4)
  %12591 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12592 = load i32, ptr %12591, align 4, !tbaa !5
  %12593 = call ptr @s2n_strerror_debug(i32 noundef %12592, ptr noundef @.str.4)
  %12594 = call ptr @__errno_location() #9
  %12595 = load i32, ptr %12594, align 4, !tbaa !5
  %12596 = call ptr @strerror(i32 noundef %12595) #8
  %12597 = call ptr @__errno_location() #9
  %12598 = load i32, ptr %12597, align 4, !tbaa !5
  %12599 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12586, ptr noundef @.str.2, i32 noundef %12587, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 319, ptr noundef %12590, ptr noundef %12593, ptr noundef %12596, i32 noundef %12598) #8
  br label %12617

12600:                                            ; preds = %12578, %12571
  %12601 = load i32, ptr %214, align 4, !tbaa !5
  %12602 = call ptr @__errno_location() #9
  store i32 %12601, ptr %12602, align 4, !tbaa !5
  %12603 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12604 = load i32, ptr @test_count, align 4, !tbaa !5
  %12605 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12606 = load i32, ptr %12605, align 4, !tbaa !5
  %12607 = call ptr @s2n_strerror(i32 noundef %12606, ptr noundef @.str.4)
  %12608 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12609 = load i32, ptr %12608, align 4, !tbaa !5
  %12610 = call ptr @s2n_strerror_debug(i32 noundef %12609, ptr noundef @.str.4)
  %12611 = call ptr @__errno_location() #9
  %12612 = load i32, ptr %12611, align 4, !tbaa !5
  %12613 = call ptr @strerror(i32 noundef %12612) #8
  %12614 = call ptr @__errno_location() #9
  %12615 = load i32, ptr %12614, align 4, !tbaa !5
  %12616 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12603, ptr noundef @.str.5, i32 noundef %12604, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 319, ptr noundef %12607, ptr noundef %12610, ptr noundef %12613, i32 noundef %12615) #8
  br label %12617

12617:                                            ; preds = %12600, %12583
  call void @llvm.lifetime.end.p0(i64 4, ptr %214) #8
  br label %12618

12618:                                            ; preds = %12617
  br label %12619

12619:                                            ; preds = %12618
  call void @exit(i32 noundef 1) #10
  unreachable

12620:                                            ; No predecessors!
  br label %12621

12621:                                            ; preds = %12620
  br label %12622

12622:                                            ; preds = %12621, %12563
  br label %12623

12623:                                            ; preds = %12622
  br label %12624

12624:                                            ; preds = %12623
  br label %12625

12625:                                            ; preds = %12624
  %12626 = load i32, ptr @test_count, align 4, !tbaa !5
  %12627 = add nsw i32 %12626, 1
  store i32 %12627, ptr @test_count, align 4, !tbaa !5
  %12628 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12629 = load i32, ptr %12628, align 4, !tbaa !5
  %12630 = call ptr @s2n_strerror_debug(i32 noundef %12629, ptr noundef @.str.4)
  %12631 = icmp eq ptr %12630, null
  br i1 %12631, label %12632, label %12685

12632:                                            ; preds = %12625
  br label %12633

12633:                                            ; preds = %12632
  br label %12634

12634:                                            ; preds = %12633
  call void @llvm.lifetime.start.p0(i64 4, ptr %215) #8
  %12635 = call ptr @__errno_location() #9
  %12636 = load i32, ptr %12635, align 4, !tbaa !5
  store i32 %12636, ptr %215, align 4, !tbaa !5
  %12637 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12638 = call i32 @s2n_print_stacktrace(ptr noundef %12637)
  %12639 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12640 = trunc i8 %12639 to i1
  br i1 %12640, label %12641, label %12663

12641:                                            ; preds = %12634
  %12642 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12643 = call i32 @fileno(ptr noundef %12642) #8
  %12644 = call i32 @isatty(i32 noundef %12643) #8
  %12645 = icmp ne i32 %12644, 0
  br i1 %12645, label %12646, label %12663

12646:                                            ; preds = %12641
  %12647 = load i32, ptr %215, align 4, !tbaa !5
  %12648 = call ptr @__errno_location() #9
  store i32 %12647, ptr %12648, align 4, !tbaa !5
  %12649 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12650 = load i32, ptr @test_count, align 4, !tbaa !5
  %12651 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12652 = load i32, ptr %12651, align 4, !tbaa !5
  %12653 = call ptr @s2n_strerror(i32 noundef %12652, ptr noundef @.str.4)
  %12654 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12655 = load i32, ptr %12654, align 4, !tbaa !5
  %12656 = call ptr @s2n_strerror_debug(i32 noundef %12655, ptr noundef @.str.4)
  %12657 = call ptr @__errno_location() #9
  %12658 = load i32, ptr %12657, align 4, !tbaa !5
  %12659 = call ptr @strerror(i32 noundef %12658) #8
  %12660 = call ptr @__errno_location() #9
  %12661 = load i32, ptr %12660, align 4, !tbaa !5
  %12662 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12649, ptr noundef @.str.2, i32 noundef %12650, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 319, ptr noundef %12653, ptr noundef %12656, ptr noundef %12659, i32 noundef %12661) #8
  br label %12680

12663:                                            ; preds = %12641, %12634
  %12664 = load i32, ptr %215, align 4, !tbaa !5
  %12665 = call ptr @__errno_location() #9
  store i32 %12664, ptr %12665, align 4, !tbaa !5
  %12666 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12667 = load i32, ptr @test_count, align 4, !tbaa !5
  %12668 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12669 = load i32, ptr %12668, align 4, !tbaa !5
  %12670 = call ptr @s2n_strerror(i32 noundef %12669, ptr noundef @.str.4)
  %12671 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12672 = load i32, ptr %12671, align 4, !tbaa !5
  %12673 = call ptr @s2n_strerror_debug(i32 noundef %12672, ptr noundef @.str.4)
  %12674 = call ptr @__errno_location() #9
  %12675 = load i32, ptr %12674, align 4, !tbaa !5
  %12676 = call ptr @strerror(i32 noundef %12675) #8
  %12677 = call ptr @__errno_location() #9
  %12678 = load i32, ptr %12677, align 4, !tbaa !5
  %12679 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12666, ptr noundef @.str.5, i32 noundef %12667, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 319, ptr noundef %12670, ptr noundef %12673, ptr noundef %12676, i32 noundef %12678) #8
  br label %12680

12680:                                            ; preds = %12663, %12646
  call void @llvm.lifetime.end.p0(i64 4, ptr %215) #8
  br label %12681

12681:                                            ; preds = %12680
  br label %12682

12682:                                            ; preds = %12681
  call void @exit(i32 noundef 1) #10
  unreachable

12683:                                            ; No predecessors!
  br label %12684

12684:                                            ; preds = %12683
  br label %12685

12685:                                            ; preds = %12684, %12625
  br label %12686

12686:                                            ; preds = %12685
  br label %12687

12687:                                            ; preds = %12686
  br label %12688

12688:                                            ; preds = %12687
  %12689 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %12689, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %12690 = call ptr @__errno_location() #9
  store i32 0, ptr %12690, align 4, !tbaa !5
  br label %12691

12691:                                            ; preds = %12688
  br label %12692

12692:                                            ; preds = %12691
  br label %12693

12693:                                            ; preds = %12692
  br label %12694

12694:                                            ; preds = %12693
  br label %12695

12695:                                            ; preds = %12694, %12498
  br label %12696

12696:                                            ; preds = %12695
  %12697 = load i32, ptr @test_count, align 4, !tbaa !5
  %12698 = add nsw i32 %12697, 1
  store i32 %12698, ptr @test_count, align 4, !tbaa !5
  %12699 = load ptr, ptr %207, align 8, !tbaa !9
  %12700 = load ptr, ptr %22, align 8, !tbaa !9
  %12701 = icmp eq ptr %12699, %12700
  br i1 %12701, label %12755, label %12702

12702:                                            ; preds = %12696
  br label %12703

12703:                                            ; preds = %12702
  br label %12704

12704:                                            ; preds = %12703
  call void @llvm.lifetime.start.p0(i64 4, ptr %216) #8
  %12705 = call ptr @__errno_location() #9
  %12706 = load i32, ptr %12705, align 4, !tbaa !5
  store i32 %12706, ptr %216, align 4, !tbaa !5
  %12707 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12708 = call i32 @s2n_print_stacktrace(ptr noundef %12707)
  %12709 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12710 = trunc i8 %12709 to i1
  br i1 %12710, label %12711, label %12733

12711:                                            ; preds = %12704
  %12712 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12713 = call i32 @fileno(ptr noundef %12712) #8
  %12714 = call i32 @isatty(i32 noundef %12713) #8
  %12715 = icmp ne i32 %12714, 0
  br i1 %12715, label %12716, label %12733

12716:                                            ; preds = %12711
  %12717 = load i32, ptr %216, align 4, !tbaa !5
  %12718 = call ptr @__errno_location() #9
  store i32 %12717, ptr %12718, align 4, !tbaa !5
  %12719 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12720 = load i32, ptr @test_count, align 4, !tbaa !5
  %12721 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12722 = load i32, ptr %12721, align 4, !tbaa !5
  %12723 = call ptr @s2n_strerror(i32 noundef %12722, ptr noundef @.str.4)
  %12724 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12725 = load i32, ptr %12724, align 4, !tbaa !5
  %12726 = call ptr @s2n_strerror_debug(i32 noundef %12725, ptr noundef @.str.4)
  %12727 = call ptr @__errno_location() #9
  %12728 = load i32, ptr %12727, align 4, !tbaa !5
  %12729 = call ptr @strerror(i32 noundef %12728) #8
  %12730 = call ptr @__errno_location() #9
  %12731 = load i32, ptr %12730, align 4, !tbaa !5
  %12732 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12719, ptr noundef @.str.2, i32 noundef %12720, ptr noundef @.str.69, ptr noundef @.str.1, i32 noundef 320, ptr noundef %12723, ptr noundef %12726, ptr noundef %12729, i32 noundef %12731) #8
  br label %12750

12733:                                            ; preds = %12711, %12704
  %12734 = load i32, ptr %216, align 4, !tbaa !5
  %12735 = call ptr @__errno_location() #9
  store i32 %12734, ptr %12735, align 4, !tbaa !5
  %12736 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12737 = load i32, ptr @test_count, align 4, !tbaa !5
  %12738 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12739 = load i32, ptr %12738, align 4, !tbaa !5
  %12740 = call ptr @s2n_strerror(i32 noundef %12739, ptr noundef @.str.4)
  %12741 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12742 = load i32, ptr %12741, align 4, !tbaa !5
  %12743 = call ptr @s2n_strerror_debug(i32 noundef %12742, ptr noundef @.str.4)
  %12744 = call ptr @__errno_location() #9
  %12745 = load i32, ptr %12744, align 4, !tbaa !5
  %12746 = call ptr @strerror(i32 noundef %12745) #8
  %12747 = call ptr @__errno_location() #9
  %12748 = load i32, ptr %12747, align 4, !tbaa !5
  %12749 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12736, ptr noundef @.str.5, i32 noundef %12737, ptr noundef @.str.69, ptr noundef @.str.1, i32 noundef 320, ptr noundef %12740, ptr noundef %12743, ptr noundef %12746, i32 noundef %12748) #8
  br label %12750

12750:                                            ; preds = %12733, %12716
  call void @llvm.lifetime.end.p0(i64 4, ptr %216) #8
  br label %12751

12751:                                            ; preds = %12750
  br label %12752

12752:                                            ; preds = %12751
  call void @exit(i32 noundef 1) #10
  unreachable

12753:                                            ; No predecessors!
  br label %12754

12754:                                            ; preds = %12753
  br label %12755

12755:                                            ; preds = %12754, %12696
  br label %12756

12756:                                            ; preds = %12755
  br label %12757

12757:                                            ; preds = %12756
  %12758 = getelementptr inbounds %struct.s2n_signature_scheme, ptr %209, i32 0, i32 3
  store i32 224, ptr %12758, align 4, !tbaa !49
  br label %12759

12759:                                            ; preds = %12757
  %12760 = load i32, ptr @test_count, align 4, !tbaa !5
  %12761 = add nsw i32 %12760, 1
  store i32 %12761, ptr @test_count, align 4, !tbaa !5
  %12762 = load ptr, ptr %206, align 8, !tbaa !9
  %12763 = call i32 @s2n_select_certs_for_server_auth(ptr noundef %12762, ptr noundef %207)
  %12764 = icmp eq i32 %12763, -1
  br i1 %12764, label %12765, label %12818

12765:                                            ; preds = %12759
  br label %12766

12766:                                            ; preds = %12765
  br label %12767

12767:                                            ; preds = %12766
  call void @llvm.lifetime.start.p0(i64 4, ptr %217) #8
  %12768 = call ptr @__errno_location() #9
  %12769 = load i32, ptr %12768, align 4, !tbaa !5
  store i32 %12769, ptr %217, align 4, !tbaa !5
  %12770 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12771 = call i32 @s2n_print_stacktrace(ptr noundef %12770)
  %12772 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12773 = trunc i8 %12772 to i1
  br i1 %12773, label %12774, label %12796

12774:                                            ; preds = %12767
  %12775 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12776 = call i32 @fileno(ptr noundef %12775) #8
  %12777 = call i32 @isatty(i32 noundef %12776) #8
  %12778 = icmp ne i32 %12777, 0
  br i1 %12778, label %12779, label %12796

12779:                                            ; preds = %12774
  %12780 = load i32, ptr %217, align 4, !tbaa !5
  %12781 = call ptr @__errno_location() #9
  store i32 %12780, ptr %12781, align 4, !tbaa !5
  %12782 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12783 = load i32, ptr @test_count, align 4, !tbaa !5
  %12784 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12785 = load i32, ptr %12784, align 4, !tbaa !5
  %12786 = call ptr @s2n_strerror(i32 noundef %12785, ptr noundef @.str.4)
  %12787 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12788 = load i32, ptr %12787, align 4, !tbaa !5
  %12789 = call ptr @s2n_strerror_debug(i32 noundef %12788, ptr noundef @.str.4)
  %12790 = call ptr @__errno_location() #9
  %12791 = load i32, ptr %12790, align 4, !tbaa !5
  %12792 = call ptr @strerror(i32 noundef %12791) #8
  %12793 = call ptr @__errno_location() #9
  %12794 = load i32, ptr %12793, align 4, !tbaa !5
  %12795 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12782, ptr noundef @.str.2, i32 noundef %12783, ptr noundef @.str.66, ptr noundef @.str.1, i32 noundef 324, ptr noundef %12786, ptr noundef %12789, ptr noundef %12792, i32 noundef %12794) #8
  br label %12813

12796:                                            ; preds = %12774, %12767
  %12797 = load i32, ptr %217, align 4, !tbaa !5
  %12798 = call ptr @__errno_location() #9
  store i32 %12797, ptr %12798, align 4, !tbaa !5
  %12799 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12800 = load i32, ptr @test_count, align 4, !tbaa !5
  %12801 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12802 = load i32, ptr %12801, align 4, !tbaa !5
  %12803 = call ptr @s2n_strerror(i32 noundef %12802, ptr noundef @.str.4)
  %12804 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12805 = load i32, ptr %12804, align 4, !tbaa !5
  %12806 = call ptr @s2n_strerror_debug(i32 noundef %12805, ptr noundef @.str.4)
  %12807 = call ptr @__errno_location() #9
  %12808 = load i32, ptr %12807, align 4, !tbaa !5
  %12809 = call ptr @strerror(i32 noundef %12808) #8
  %12810 = call ptr @__errno_location() #9
  %12811 = load i32, ptr %12810, align 4, !tbaa !5
  %12812 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12799, ptr noundef @.str.5, i32 noundef %12800, ptr noundef @.str.66, ptr noundef @.str.1, i32 noundef 324, ptr noundef %12803, ptr noundef %12806, ptr noundef %12809, i32 noundef %12811) #8
  br label %12813

12813:                                            ; preds = %12796, %12779
  call void @llvm.lifetime.end.p0(i64 4, ptr %217) #8
  br label %12814

12814:                                            ; preds = %12813
  br label %12815

12815:                                            ; preds = %12814
  call void @exit(i32 noundef 1) #10
  unreachable

12816:                                            ; No predecessors!
  br label %12817

12817:                                            ; preds = %12816
  br label %12818

12818:                                            ; preds = %12817, %12759
  br label %12819

12819:                                            ; preds = %12818
  br label %12820

12820:                                            ; preds = %12819
  br label %12821

12821:                                            ; preds = %12820
  %12822 = load i32, ptr @test_count, align 4, !tbaa !5
  %12823 = add nsw i32 %12822, 1
  store i32 %12823, ptr @test_count, align 4, !tbaa !5
  %12824 = load ptr, ptr %207, align 8, !tbaa !9
  %12825 = load ptr, ptr %10, align 8, !tbaa !9
  %12826 = icmp eq ptr %12824, %12825
  br i1 %12826, label %12880, label %12827

12827:                                            ; preds = %12821
  br label %12828

12828:                                            ; preds = %12827
  br label %12829

12829:                                            ; preds = %12828
  call void @llvm.lifetime.start.p0(i64 4, ptr %218) #8
  %12830 = call ptr @__errno_location() #9
  %12831 = load i32, ptr %12830, align 4, !tbaa !5
  store i32 %12831, ptr %218, align 4, !tbaa !5
  %12832 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12833 = call i32 @s2n_print_stacktrace(ptr noundef %12832)
  %12834 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12835 = trunc i8 %12834 to i1
  br i1 %12835, label %12836, label %12858

12836:                                            ; preds = %12829
  %12837 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12838 = call i32 @fileno(ptr noundef %12837) #8
  %12839 = call i32 @isatty(i32 noundef %12838) #8
  %12840 = icmp ne i32 %12839, 0
  br i1 %12840, label %12841, label %12858

12841:                                            ; preds = %12836
  %12842 = load i32, ptr %218, align 4, !tbaa !5
  %12843 = call ptr @__errno_location() #9
  store i32 %12842, ptr %12843, align 4, !tbaa !5
  %12844 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12845 = load i32, ptr @test_count, align 4, !tbaa !5
  %12846 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12847 = load i32, ptr %12846, align 4, !tbaa !5
  %12848 = call ptr @s2n_strerror(i32 noundef %12847, ptr noundef @.str.4)
  %12849 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12850 = load i32, ptr %12849, align 4, !tbaa !5
  %12851 = call ptr @s2n_strerror_debug(i32 noundef %12850, ptr noundef @.str.4)
  %12852 = call ptr @__errno_location() #9
  %12853 = load i32, ptr %12852, align 4, !tbaa !5
  %12854 = call ptr @strerror(i32 noundef %12853) #8
  %12855 = call ptr @__errno_location() #9
  %12856 = load i32, ptr %12855, align 4, !tbaa !5
  %12857 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12844, ptr noundef @.str.2, i32 noundef %12845, ptr noundef @.str.67, ptr noundef @.str.1, i32 noundef 325, ptr noundef %12848, ptr noundef %12851, ptr noundef %12854, i32 noundef %12856) #8
  br label %12875

12858:                                            ; preds = %12836, %12829
  %12859 = load i32, ptr %218, align 4, !tbaa !5
  %12860 = call ptr @__errno_location() #9
  store i32 %12859, ptr %12860, align 4, !tbaa !5
  %12861 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12862 = load i32, ptr @test_count, align 4, !tbaa !5
  %12863 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12864 = load i32, ptr %12863, align 4, !tbaa !5
  %12865 = call ptr @s2n_strerror(i32 noundef %12864, ptr noundef @.str.4)
  %12866 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12867 = load i32, ptr %12866, align 4, !tbaa !5
  %12868 = call ptr @s2n_strerror_debug(i32 noundef %12867, ptr noundef @.str.4)
  %12869 = call ptr @__errno_location() #9
  %12870 = load i32, ptr %12869, align 4, !tbaa !5
  %12871 = call ptr @strerror(i32 noundef %12870) #8
  %12872 = call ptr @__errno_location() #9
  %12873 = load i32, ptr %12872, align 4, !tbaa !5
  %12874 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12861, ptr noundef @.str.5, i32 noundef %12862, ptr noundef @.str.67, ptr noundef @.str.1, i32 noundef 325, ptr noundef %12865, ptr noundef %12868, ptr noundef %12871, i32 noundef %12873) #8
  br label %12875

12875:                                            ; preds = %12858, %12841
  call void @llvm.lifetime.end.p0(i64 4, ptr %218) #8
  br label %12876

12876:                                            ; preds = %12875
  br label %12877

12877:                                            ; preds = %12876
  call void @exit(i32 noundef 1) #10
  unreachable

12878:                                            ; No predecessors!
  br label %12879

12879:                                            ; preds = %12878
  br label %12880

12880:                                            ; preds = %12879, %12821
  br label %12881

12881:                                            ; preds = %12880
  br label %12882

12882:                                            ; preds = %12881
  %12883 = getelementptr inbounds %struct.s2n_signature_scheme, ptr %209, i32 0, i32 3
  store i32 3, ptr %12883, align 4, !tbaa !49
  br label %12884

12884:                                            ; preds = %12882
  %12885 = load i32, ptr @test_count, align 4, !tbaa !5
  %12886 = add nsw i32 %12885, 1
  store i32 %12886, ptr @test_count, align 4, !tbaa !5
  %12887 = load ptr, ptr %206, align 8, !tbaa !9
  %12888 = call i32 @s2n_select_certs_for_server_auth(ptr noundef %12887, ptr noundef %207)
  %12889 = icmp eq i32 %12888, -1
  br i1 %12889, label %12890, label %12943

12890:                                            ; preds = %12884
  br label %12891

12891:                                            ; preds = %12890
  br label %12892

12892:                                            ; preds = %12891
  call void @llvm.lifetime.start.p0(i64 4, ptr %219) #8
  %12893 = call ptr @__errno_location() #9
  %12894 = load i32, ptr %12893, align 4, !tbaa !5
  store i32 %12894, ptr %219, align 4, !tbaa !5
  %12895 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12896 = call i32 @s2n_print_stacktrace(ptr noundef %12895)
  %12897 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12898 = trunc i8 %12897 to i1
  br i1 %12898, label %12899, label %12921

12899:                                            ; preds = %12892
  %12900 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12901 = call i32 @fileno(ptr noundef %12900) #8
  %12902 = call i32 @isatty(i32 noundef %12901) #8
  %12903 = icmp ne i32 %12902, 0
  br i1 %12903, label %12904, label %12921

12904:                                            ; preds = %12899
  %12905 = load i32, ptr %219, align 4, !tbaa !5
  %12906 = call ptr @__errno_location() #9
  store i32 %12905, ptr %12906, align 4, !tbaa !5
  %12907 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12908 = load i32, ptr @test_count, align 4, !tbaa !5
  %12909 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12910 = load i32, ptr %12909, align 4, !tbaa !5
  %12911 = call ptr @s2n_strerror(i32 noundef %12910, ptr noundef @.str.4)
  %12912 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12913 = load i32, ptr %12912, align 4, !tbaa !5
  %12914 = call ptr @s2n_strerror_debug(i32 noundef %12913, ptr noundef @.str.4)
  %12915 = call ptr @__errno_location() #9
  %12916 = load i32, ptr %12915, align 4, !tbaa !5
  %12917 = call ptr @strerror(i32 noundef %12916) #8
  %12918 = call ptr @__errno_location() #9
  %12919 = load i32, ptr %12918, align 4, !tbaa !5
  %12920 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12907, ptr noundef @.str.2, i32 noundef %12908, ptr noundef @.str.66, ptr noundef @.str.1, i32 noundef 329, ptr noundef %12911, ptr noundef %12914, ptr noundef %12917, i32 noundef %12919) #8
  br label %12938

12921:                                            ; preds = %12899, %12892
  %12922 = load i32, ptr %219, align 4, !tbaa !5
  %12923 = call ptr @__errno_location() #9
  store i32 %12922, ptr %12923, align 4, !tbaa !5
  %12924 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12925 = load i32, ptr @test_count, align 4, !tbaa !5
  %12926 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12927 = load i32, ptr %12926, align 4, !tbaa !5
  %12928 = call ptr @s2n_strerror(i32 noundef %12927, ptr noundef @.str.4)
  %12929 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12930 = load i32, ptr %12929, align 4, !tbaa !5
  %12931 = call ptr @s2n_strerror_debug(i32 noundef %12930, ptr noundef @.str.4)
  %12932 = call ptr @__errno_location() #9
  %12933 = load i32, ptr %12932, align 4, !tbaa !5
  %12934 = call ptr @strerror(i32 noundef %12933) #8
  %12935 = call ptr @__errno_location() #9
  %12936 = load i32, ptr %12935, align 4, !tbaa !5
  %12937 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12924, ptr noundef @.str.5, i32 noundef %12925, ptr noundef @.str.66, ptr noundef @.str.1, i32 noundef 329, ptr noundef %12928, ptr noundef %12931, ptr noundef %12934, i32 noundef %12936) #8
  br label %12938

12938:                                            ; preds = %12921, %12904
  call void @llvm.lifetime.end.p0(i64 4, ptr %219) #8
  br label %12939

12939:                                            ; preds = %12938
  br label %12940

12940:                                            ; preds = %12939
  call void @exit(i32 noundef 1) #10
  unreachable

12941:                                            ; No predecessors!
  br label %12942

12942:                                            ; preds = %12941
  br label %12943

12943:                                            ; preds = %12942, %12884
  br label %12944

12944:                                            ; preds = %12943
  br label %12945

12945:                                            ; preds = %12944
  br label %12946

12946:                                            ; preds = %12945
  %12947 = load i32, ptr @test_count, align 4, !tbaa !5
  %12948 = add nsw i32 %12947, 1
  store i32 %12948, ptr @test_count, align 4, !tbaa !5
  %12949 = load ptr, ptr %207, align 8, !tbaa !9
  %12950 = load ptr, ptr %12, align 8, !tbaa !9
  %12951 = icmp eq ptr %12949, %12950
  br i1 %12951, label %13005, label %12952

12952:                                            ; preds = %12946
  br label %12953

12953:                                            ; preds = %12952
  br label %12954

12954:                                            ; preds = %12953
  call void @llvm.lifetime.start.p0(i64 4, ptr %220) #8
  %12955 = call ptr @__errno_location() #9
  %12956 = load i32, ptr %12955, align 4, !tbaa !5
  store i32 %12956, ptr %220, align 4, !tbaa !5
  %12957 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12958 = call i32 @s2n_print_stacktrace(ptr noundef %12957)
  %12959 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12960 = trunc i8 %12959 to i1
  br i1 %12960, label %12961, label %12983

12961:                                            ; preds = %12954
  %12962 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12963 = call i32 @fileno(ptr noundef %12962) #8
  %12964 = call i32 @isatty(i32 noundef %12963) #8
  %12965 = icmp ne i32 %12964, 0
  br i1 %12965, label %12966, label %12983

12966:                                            ; preds = %12961
  %12967 = load i32, ptr %220, align 4, !tbaa !5
  %12968 = call ptr @__errno_location() #9
  store i32 %12967, ptr %12968, align 4, !tbaa !5
  %12969 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12970 = load i32, ptr @test_count, align 4, !tbaa !5
  %12971 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12972 = load i32, ptr %12971, align 4, !tbaa !5
  %12973 = call ptr @s2n_strerror(i32 noundef %12972, ptr noundef @.str.4)
  %12974 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12975 = load i32, ptr %12974, align 4, !tbaa !5
  %12976 = call ptr @s2n_strerror_debug(i32 noundef %12975, ptr noundef @.str.4)
  %12977 = call ptr @__errno_location() #9
  %12978 = load i32, ptr %12977, align 4, !tbaa !5
  %12979 = call ptr @strerror(i32 noundef %12978) #8
  %12980 = call ptr @__errno_location() #9
  %12981 = load i32, ptr %12980, align 4, !tbaa !5
  %12982 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12969, ptr noundef @.str.2, i32 noundef %12970, ptr noundef @.str.70, ptr noundef @.str.1, i32 noundef 330, ptr noundef %12973, ptr noundef %12976, ptr noundef %12979, i32 noundef %12981) #8
  br label %13000

12983:                                            ; preds = %12961, %12954
  %12984 = load i32, ptr %220, align 4, !tbaa !5
  %12985 = call ptr @__errno_location() #9
  store i32 %12984, ptr %12985, align 4, !tbaa !5
  %12986 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12987 = load i32, ptr @test_count, align 4, !tbaa !5
  %12988 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12989 = load i32, ptr %12988, align 4, !tbaa !5
  %12990 = call ptr @s2n_strerror(i32 noundef %12989, ptr noundef @.str.4)
  %12991 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12992 = load i32, ptr %12991, align 4, !tbaa !5
  %12993 = call ptr @s2n_strerror_debug(i32 noundef %12992, ptr noundef @.str.4)
  %12994 = call ptr @__errno_location() #9
  %12995 = load i32, ptr %12994, align 4, !tbaa !5
  %12996 = call ptr @strerror(i32 noundef %12995) #8
  %12997 = call ptr @__errno_location() #9
  %12998 = load i32, ptr %12997, align 4, !tbaa !5
  %12999 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12986, ptr noundef @.str.5, i32 noundef %12987, ptr noundef @.str.70, ptr noundef @.str.1, i32 noundef 330, ptr noundef %12990, ptr noundef %12993, ptr noundef %12996, i32 noundef %12998) #8
  br label %13000

13000:                                            ; preds = %12983, %12966
  call void @llvm.lifetime.end.p0(i64 4, ptr %220) #8
  br label %13001

13001:                                            ; preds = %13000
  br label %13002

13002:                                            ; preds = %13001
  call void @exit(i32 noundef 1) #10
  unreachable

13003:                                            ; No predecessors!
  br label %13004

13004:                                            ; preds = %13003
  br label %13005

13005:                                            ; preds = %13004, %12946
  br label %13006

13006:                                            ; preds = %13005
  br label %13007

13007:                                            ; preds = %13006
  br label %13008

13008:                                            ; preds = %13007
  %13009 = load i32, ptr @test_count, align 4, !tbaa !5
  %13010 = add nsw i32 %13009, 1
  store i32 %13010, ptr @test_count, align 4, !tbaa !5
  %13011 = load ptr, ptr %206, align 8, !tbaa !9
  %13012 = load ptr, ptr %14, align 8, !tbaa !9
  %13013 = call i32 @s2n_connection_set_config(ptr noundef %13011, ptr noundef %13012)
  %13014 = icmp eq i32 %13013, -1
  br i1 %13014, label %13015, label %13068

13015:                                            ; preds = %13008
  br label %13016

13016:                                            ; preds = %13015
  br label %13017

13017:                                            ; preds = %13016
  call void @llvm.lifetime.start.p0(i64 4, ptr %221) #8
  %13018 = call ptr @__errno_location() #9
  %13019 = load i32, ptr %13018, align 4, !tbaa !5
  store i32 %13019, ptr %221, align 4, !tbaa !5
  %13020 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13021 = call i32 @s2n_print_stacktrace(ptr noundef %13020)
  %13022 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13023 = trunc i8 %13022 to i1
  br i1 %13023, label %13024, label %13046

13024:                                            ; preds = %13017
  %13025 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13026 = call i32 @fileno(ptr noundef %13025) #8
  %13027 = call i32 @isatty(i32 noundef %13026) #8
  %13028 = icmp ne i32 %13027, 0
  br i1 %13028, label %13029, label %13046

13029:                                            ; preds = %13024
  %13030 = load i32, ptr %221, align 4, !tbaa !5
  %13031 = call ptr @__errno_location() #9
  store i32 %13030, ptr %13031, align 4, !tbaa !5
  %13032 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13033 = load i32, ptr @test_count, align 4, !tbaa !5
  %13034 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13035 = load i32, ptr %13034, align 4, !tbaa !5
  %13036 = call ptr @s2n_strerror(i32 noundef %13035, ptr noundef @.str.4)
  %13037 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13038 = load i32, ptr %13037, align 4, !tbaa !5
  %13039 = call ptr @s2n_strerror_debug(i32 noundef %13038, ptr noundef @.str.4)
  %13040 = call ptr @__errno_location() #9
  %13041 = load i32, ptr %13040, align 4, !tbaa !5
  %13042 = call ptr @strerror(i32 noundef %13041) #8
  %13043 = call ptr @__errno_location() #9
  %13044 = load i32, ptr %13043, align 4, !tbaa !5
  %13045 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13032, ptr noundef @.str.2, i32 noundef %13033, ptr noundef @.str.19, ptr noundef @.str.1, i32 noundef 333, ptr noundef %13036, ptr noundef %13039, ptr noundef %13042, i32 noundef %13044) #8
  br label %13063

13046:                                            ; preds = %13024, %13017
  %13047 = load i32, ptr %221, align 4, !tbaa !5
  %13048 = call ptr @__errno_location() #9
  store i32 %13047, ptr %13048, align 4, !tbaa !5
  %13049 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13050 = load i32, ptr @test_count, align 4, !tbaa !5
  %13051 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13052 = load i32, ptr %13051, align 4, !tbaa !5
  %13053 = call ptr @s2n_strerror(i32 noundef %13052, ptr noundef @.str.4)
  %13054 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13055 = load i32, ptr %13054, align 4, !tbaa !5
  %13056 = call ptr @s2n_strerror_debug(i32 noundef %13055, ptr noundef @.str.4)
  %13057 = call ptr @__errno_location() #9
  %13058 = load i32, ptr %13057, align 4, !tbaa !5
  %13059 = call ptr @strerror(i32 noundef %13058) #8
  %13060 = call ptr @__errno_location() #9
  %13061 = load i32, ptr %13060, align 4, !tbaa !5
  %13062 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13049, ptr noundef @.str.5, i32 noundef %13050, ptr noundef @.str.19, ptr noundef @.str.1, i32 noundef 333, ptr noundef %13053, ptr noundef %13056, ptr noundef %13059, i32 noundef %13061) #8
  br label %13063

13063:                                            ; preds = %13046, %13029
  call void @llvm.lifetime.end.p0(i64 4, ptr %221) #8
  br label %13064

13064:                                            ; preds = %13063
  br label %13065

13065:                                            ; preds = %13064
  call void @exit(i32 noundef 1) #10
  unreachable

13066:                                            ; No predecessors!
  br label %13067

13067:                                            ; preds = %13066
  br label %13068

13068:                                            ; preds = %13067, %13008
  br label %13069

13069:                                            ; preds = %13068
  br label %13070

13070:                                            ; preds = %13069
  %13071 = getelementptr inbounds %struct.s2n_signature_scheme, ptr %209, i32 0, i32 3
  store i32 1, ptr %13071, align 4, !tbaa !49
  br label %13072

13072:                                            ; preds = %13070
  br label %13073

13073:                                            ; preds = %13072
  %13074 = load i32, ptr @test_count, align 4, !tbaa !5
  %13075 = add nsw i32 %13074, 1
  store i32 %13075, ptr @test_count, align 4, !tbaa !5
  %13076 = load ptr, ptr %206, align 8, !tbaa !9
  %13077 = call i32 @s2n_select_certs_for_server_auth(ptr noundef %13076, ptr noundef %207)
  %13078 = icmp eq i32 %13077, -1
  br i1 %13078, label %13132, label %13079

13079:                                            ; preds = %13073
  br label %13080

13080:                                            ; preds = %13079
  br label %13081

13081:                                            ; preds = %13080
  call void @llvm.lifetime.start.p0(i64 4, ptr %222) #8
  %13082 = call ptr @__errno_location() #9
  %13083 = load i32, ptr %13082, align 4, !tbaa !5
  store i32 %13083, ptr %222, align 4, !tbaa !5
  %13084 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13085 = call i32 @s2n_print_stacktrace(ptr noundef %13084)
  %13086 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13087 = trunc i8 %13086 to i1
  br i1 %13087, label %13088, label %13110

13088:                                            ; preds = %13081
  %13089 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13090 = call i32 @fileno(ptr noundef %13089) #8
  %13091 = call i32 @isatty(i32 noundef %13090) #8
  %13092 = icmp ne i32 %13091, 0
  br i1 %13092, label %13093, label %13110

13093:                                            ; preds = %13088
  %13094 = load i32, ptr %222, align 4, !tbaa !5
  %13095 = call ptr @__errno_location() #9
  store i32 %13094, ptr %13095, align 4, !tbaa !5
  %13096 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13097 = load i32, ptr @test_count, align 4, !tbaa !5
  %13098 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13099 = load i32, ptr %13098, align 4, !tbaa !5
  %13100 = call ptr @s2n_strerror(i32 noundef %13099, ptr noundef @.str.4)
  %13101 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13102 = load i32, ptr %13101, align 4, !tbaa !5
  %13103 = call ptr @s2n_strerror_debug(i32 noundef %13102, ptr noundef @.str.4)
  %13104 = call ptr @__errno_location() #9
  %13105 = load i32, ptr %13104, align 4, !tbaa !5
  %13106 = call ptr @strerror(i32 noundef %13105) #8
  %13107 = call ptr @__errno_location() #9
  %13108 = load i32, ptr %13107, align 4, !tbaa !5
  %13109 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13096, ptr noundef @.str.2, i32 noundef %13097, ptr noundef @.str.68, ptr noundef @.str.1, i32 noundef 337, ptr noundef %13100, ptr noundef %13103, ptr noundef %13106, i32 noundef %13108) #8
  br label %13127

13110:                                            ; preds = %13088, %13081
  %13111 = load i32, ptr %222, align 4, !tbaa !5
  %13112 = call ptr @__errno_location() #9
  store i32 %13111, ptr %13112, align 4, !tbaa !5
  %13113 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13114 = load i32, ptr @test_count, align 4, !tbaa !5
  %13115 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13116 = load i32, ptr %13115, align 4, !tbaa !5
  %13117 = call ptr @s2n_strerror(i32 noundef %13116, ptr noundef @.str.4)
  %13118 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13119 = load i32, ptr %13118, align 4, !tbaa !5
  %13120 = call ptr @s2n_strerror_debug(i32 noundef %13119, ptr noundef @.str.4)
  %13121 = call ptr @__errno_location() #9
  %13122 = load i32, ptr %13121, align 4, !tbaa !5
  %13123 = call ptr @strerror(i32 noundef %13122) #8
  %13124 = call ptr @__errno_location() #9
  %13125 = load i32, ptr %13124, align 4, !tbaa !5
  %13126 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13113, ptr noundef @.str.5, i32 noundef %13114, ptr noundef @.str.68, ptr noundef @.str.1, i32 noundef 337, ptr noundef %13117, ptr noundef %13120, ptr noundef %13123, i32 noundef %13125) #8
  br label %13127

13127:                                            ; preds = %13110, %13093
  call void @llvm.lifetime.end.p0(i64 4, ptr %222) #8
  br label %13128

13128:                                            ; preds = %13127
  br label %13129

13129:                                            ; preds = %13128
  call void @exit(i32 noundef 1) #10
  unreachable

13130:                                            ; No predecessors!
  br label %13131

13131:                                            ; preds = %13130
  br label %13132

13132:                                            ; preds = %13131, %13073
  br label %13133

13133:                                            ; preds = %13132
  br label %13134

13134:                                            ; preds = %13133
  br label %13135

13135:                                            ; preds = %13134
  %13136 = load i32, ptr @test_count, align 4, !tbaa !5
  %13137 = add nsw i32 %13136, 1
  store i32 %13137, ptr @test_count, align 4, !tbaa !5
  %13138 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13139 = load i32, ptr %13138, align 4, !tbaa !5
  %13140 = icmp eq i32 %13139, 0
  br i1 %13140, label %13141, label %13194

13141:                                            ; preds = %13135
  br label %13142

13142:                                            ; preds = %13141
  br label %13143

13143:                                            ; preds = %13142
  call void @llvm.lifetime.start.p0(i64 4, ptr %223) #8
  %13144 = call ptr @__errno_location() #9
  %13145 = load i32, ptr %13144, align 4, !tbaa !5
  store i32 %13145, ptr %223, align 4, !tbaa !5
  %13146 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13147 = call i32 @s2n_print_stacktrace(ptr noundef %13146)
  %13148 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13149 = trunc i8 %13148 to i1
  br i1 %13149, label %13150, label %13172

13150:                                            ; preds = %13143
  %13151 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13152 = call i32 @fileno(ptr noundef %13151) #8
  %13153 = call i32 @isatty(i32 noundef %13152) #8
  %13154 = icmp ne i32 %13153, 0
  br i1 %13154, label %13155, label %13172

13155:                                            ; preds = %13150
  %13156 = load i32, ptr %223, align 4, !tbaa !5
  %13157 = call ptr @__errno_location() #9
  store i32 %13156, ptr %13157, align 4, !tbaa !5
  %13158 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13159 = load i32, ptr @test_count, align 4, !tbaa !5
  %13160 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13161 = load i32, ptr %13160, align 4, !tbaa !5
  %13162 = call ptr @s2n_strerror(i32 noundef %13161, ptr noundef @.str.4)
  %13163 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13164 = load i32, ptr %13163, align 4, !tbaa !5
  %13165 = call ptr @s2n_strerror_debug(i32 noundef %13164, ptr noundef @.str.4)
  %13166 = call ptr @__errno_location() #9
  %13167 = load i32, ptr %13166, align 4, !tbaa !5
  %13168 = call ptr @strerror(i32 noundef %13167) #8
  %13169 = call ptr @__errno_location() #9
  %13170 = load i32, ptr %13169, align 4, !tbaa !5
  %13171 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13158, ptr noundef @.str.2, i32 noundef %13159, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 337, ptr noundef %13162, ptr noundef %13165, ptr noundef %13168, i32 noundef %13170) #8
  br label %13189

13172:                                            ; preds = %13150, %13143
  %13173 = load i32, ptr %223, align 4, !tbaa !5
  %13174 = call ptr @__errno_location() #9
  store i32 %13173, ptr %13174, align 4, !tbaa !5
  %13175 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13176 = load i32, ptr @test_count, align 4, !tbaa !5
  %13177 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13178 = load i32, ptr %13177, align 4, !tbaa !5
  %13179 = call ptr @s2n_strerror(i32 noundef %13178, ptr noundef @.str.4)
  %13180 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13181 = load i32, ptr %13180, align 4, !tbaa !5
  %13182 = call ptr @s2n_strerror_debug(i32 noundef %13181, ptr noundef @.str.4)
  %13183 = call ptr @__errno_location() #9
  %13184 = load i32, ptr %13183, align 4, !tbaa !5
  %13185 = call ptr @strerror(i32 noundef %13184) #8
  %13186 = call ptr @__errno_location() #9
  %13187 = load i32, ptr %13186, align 4, !tbaa !5
  %13188 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13175, ptr noundef @.str.5, i32 noundef %13176, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 337, ptr noundef %13179, ptr noundef %13182, ptr noundef %13185, i32 noundef %13187) #8
  br label %13189

13189:                                            ; preds = %13172, %13155
  call void @llvm.lifetime.end.p0(i64 4, ptr %223) #8
  br label %13190

13190:                                            ; preds = %13189
  br label %13191

13191:                                            ; preds = %13190
  call void @exit(i32 noundef 1) #10
  unreachable

13192:                                            ; No predecessors!
  br label %13193

13193:                                            ; preds = %13192
  br label %13194

13194:                                            ; preds = %13193, %13135
  br label %13195

13195:                                            ; preds = %13194
  br label %13196

13196:                                            ; preds = %13195
  br label %13197

13197:                                            ; preds = %13196
  %13198 = load i32, ptr @test_count, align 4, !tbaa !5
  %13199 = add nsw i32 %13198, 1
  store i32 %13199, ptr @test_count, align 4, !tbaa !5
  %13200 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13201 = load i32, ptr %13200, align 4, !tbaa !5
  %13202 = call ptr @s2n_strerror_debug(i32 noundef %13201, ptr noundef @.str.4)
  %13203 = icmp eq ptr %13202, null
  br i1 %13203, label %13204, label %13257

13204:                                            ; preds = %13197
  br label %13205

13205:                                            ; preds = %13204
  br label %13206

13206:                                            ; preds = %13205
  call void @llvm.lifetime.start.p0(i64 4, ptr %224) #8
  %13207 = call ptr @__errno_location() #9
  %13208 = load i32, ptr %13207, align 4, !tbaa !5
  store i32 %13208, ptr %224, align 4, !tbaa !5
  %13209 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13210 = call i32 @s2n_print_stacktrace(ptr noundef %13209)
  %13211 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13212 = trunc i8 %13211 to i1
  br i1 %13212, label %13213, label %13235

13213:                                            ; preds = %13206
  %13214 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13215 = call i32 @fileno(ptr noundef %13214) #8
  %13216 = call i32 @isatty(i32 noundef %13215) #8
  %13217 = icmp ne i32 %13216, 0
  br i1 %13217, label %13218, label %13235

13218:                                            ; preds = %13213
  %13219 = load i32, ptr %224, align 4, !tbaa !5
  %13220 = call ptr @__errno_location() #9
  store i32 %13219, ptr %13220, align 4, !tbaa !5
  %13221 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13222 = load i32, ptr @test_count, align 4, !tbaa !5
  %13223 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13224 = load i32, ptr %13223, align 4, !tbaa !5
  %13225 = call ptr @s2n_strerror(i32 noundef %13224, ptr noundef @.str.4)
  %13226 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13227 = load i32, ptr %13226, align 4, !tbaa !5
  %13228 = call ptr @s2n_strerror_debug(i32 noundef %13227, ptr noundef @.str.4)
  %13229 = call ptr @__errno_location() #9
  %13230 = load i32, ptr %13229, align 4, !tbaa !5
  %13231 = call ptr @strerror(i32 noundef %13230) #8
  %13232 = call ptr @__errno_location() #9
  %13233 = load i32, ptr %13232, align 4, !tbaa !5
  %13234 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13221, ptr noundef @.str.2, i32 noundef %13222, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 337, ptr noundef %13225, ptr noundef %13228, ptr noundef %13231, i32 noundef %13233) #8
  br label %13252

13235:                                            ; preds = %13213, %13206
  %13236 = load i32, ptr %224, align 4, !tbaa !5
  %13237 = call ptr @__errno_location() #9
  store i32 %13236, ptr %13237, align 4, !tbaa !5
  %13238 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13239 = load i32, ptr @test_count, align 4, !tbaa !5
  %13240 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13241 = load i32, ptr %13240, align 4, !tbaa !5
  %13242 = call ptr @s2n_strerror(i32 noundef %13241, ptr noundef @.str.4)
  %13243 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13244 = load i32, ptr %13243, align 4, !tbaa !5
  %13245 = call ptr @s2n_strerror_debug(i32 noundef %13244, ptr noundef @.str.4)
  %13246 = call ptr @__errno_location() #9
  %13247 = load i32, ptr %13246, align 4, !tbaa !5
  %13248 = call ptr @strerror(i32 noundef %13247) #8
  %13249 = call ptr @__errno_location() #9
  %13250 = load i32, ptr %13249, align 4, !tbaa !5
  %13251 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13238, ptr noundef @.str.5, i32 noundef %13239, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 337, ptr noundef %13242, ptr noundef %13245, ptr noundef %13248, i32 noundef %13250) #8
  br label %13252

13252:                                            ; preds = %13235, %13218
  call void @llvm.lifetime.end.p0(i64 4, ptr %224) #8
  br label %13253

13253:                                            ; preds = %13252
  br label %13254

13254:                                            ; preds = %13253
  call void @exit(i32 noundef 1) #10
  unreachable

13255:                                            ; No predecessors!
  br label %13256

13256:                                            ; preds = %13255
  br label %13257

13257:                                            ; preds = %13256, %13197
  br label %13258

13258:                                            ; preds = %13257
  br label %13259

13259:                                            ; preds = %13258
  br label %13260

13260:                                            ; preds = %13259
  %13261 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %13261, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %13262 = call ptr @__errno_location() #9
  store i32 0, ptr %13262, align 4, !tbaa !5
  br label %13263

13263:                                            ; preds = %13260
  br label %13264

13264:                                            ; preds = %13263
  br label %13265

13265:                                            ; preds = %13264
  br label %13266

13266:                                            ; preds = %13265
  br label %13267

13267:                                            ; preds = %13266
  %13268 = load i32, ptr @test_count, align 4, !tbaa !5
  %13269 = add nsw i32 %13268, 1
  store i32 %13269, ptr @test_count, align 4, !tbaa !5
  %13270 = load ptr, ptr %207, align 8, !tbaa !9
  %13271 = icmp eq ptr %13270, null
  br i1 %13271, label %13325, label %13272

13272:                                            ; preds = %13267
  br label %13273

13273:                                            ; preds = %13272
  br label %13274

13274:                                            ; preds = %13273
  call void @llvm.lifetime.start.p0(i64 4, ptr %225) #8
  %13275 = call ptr @__errno_location() #9
  %13276 = load i32, ptr %13275, align 4, !tbaa !5
  store i32 %13276, ptr %225, align 4, !tbaa !5
  %13277 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13278 = call i32 @s2n_print_stacktrace(ptr noundef %13277)
  %13279 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13280 = trunc i8 %13279 to i1
  br i1 %13280, label %13281, label %13303

13281:                                            ; preds = %13274
  %13282 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13283 = call i32 @fileno(ptr noundef %13282) #8
  %13284 = call i32 @isatty(i32 noundef %13283) #8
  %13285 = icmp ne i32 %13284, 0
  br i1 %13285, label %13286, label %13303

13286:                                            ; preds = %13281
  %13287 = load i32, ptr %225, align 4, !tbaa !5
  %13288 = call ptr @__errno_location() #9
  store i32 %13287, ptr %13288, align 4, !tbaa !5
  %13289 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13290 = load i32, ptr @test_count, align 4, !tbaa !5
  %13291 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13292 = load i32, ptr %13291, align 4, !tbaa !5
  %13293 = call ptr @s2n_strerror(i32 noundef %13292, ptr noundef @.str.4)
  %13294 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13295 = load i32, ptr %13294, align 4, !tbaa !5
  %13296 = call ptr @s2n_strerror_debug(i32 noundef %13295, ptr noundef @.str.4)
  %13297 = call ptr @__errno_location() #9
  %13298 = load i32, ptr %13297, align 4, !tbaa !5
  %13299 = call ptr @strerror(i32 noundef %13298) #8
  %13300 = call ptr @__errno_location() #9
  %13301 = load i32, ptr %13300, align 4, !tbaa !5
  %13302 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13289, ptr noundef @.str.2, i32 noundef %13290, ptr noundef @.str.71, ptr noundef @.str.1, i32 noundef 338, ptr noundef %13293, ptr noundef %13296, ptr noundef %13299, i32 noundef %13301) #8
  br label %13320

13303:                                            ; preds = %13281, %13274
  %13304 = load i32, ptr %225, align 4, !tbaa !5
  %13305 = call ptr @__errno_location() #9
  store i32 %13304, ptr %13305, align 4, !tbaa !5
  %13306 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13307 = load i32, ptr @test_count, align 4, !tbaa !5
  %13308 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13309 = load i32, ptr %13308, align 4, !tbaa !5
  %13310 = call ptr @s2n_strerror(i32 noundef %13309, ptr noundef @.str.4)
  %13311 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13312 = load i32, ptr %13311, align 4, !tbaa !5
  %13313 = call ptr @s2n_strerror_debug(i32 noundef %13312, ptr noundef @.str.4)
  %13314 = call ptr @__errno_location() #9
  %13315 = load i32, ptr %13314, align 4, !tbaa !5
  %13316 = call ptr @strerror(i32 noundef %13315) #8
  %13317 = call ptr @__errno_location() #9
  %13318 = load i32, ptr %13317, align 4, !tbaa !5
  %13319 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13306, ptr noundef @.str.5, i32 noundef %13307, ptr noundef @.str.71, ptr noundef @.str.1, i32 noundef 338, ptr noundef %13310, ptr noundef %13313, ptr noundef %13316, i32 noundef %13318) #8
  br label %13320

13320:                                            ; preds = %13303, %13286
  call void @llvm.lifetime.end.p0(i64 4, ptr %225) #8
  br label %13321

13321:                                            ; preds = %13320
  br label %13322

13322:                                            ; preds = %13321
  call void @exit(i32 noundef 1) #10
  unreachable

13323:                                            ; No predecessors!
  br label %13324

13324:                                            ; preds = %13323
  br label %13325

13325:                                            ; preds = %13324, %13267
  br label %13326

13326:                                            ; preds = %13325
  br label %13327

13327:                                            ; preds = %13326
  %13328 = getelementptr inbounds %struct.s2n_signature_scheme, ptr %209, i32 0, i32 3
  store i32 225, ptr %13328, align 4, !tbaa !49
  br label %13329

13329:                                            ; preds = %13327
  br label %13330

13330:                                            ; preds = %13329
  %13331 = load i32, ptr @test_count, align 4, !tbaa !5
  %13332 = add nsw i32 %13331, 1
  store i32 %13332, ptr @test_count, align 4, !tbaa !5
  %13333 = load ptr, ptr %206, align 8, !tbaa !9
  %13334 = call i32 @s2n_select_certs_for_server_auth(ptr noundef %13333, ptr noundef %207)
  %13335 = icmp eq i32 %13334, -1
  br i1 %13335, label %13389, label %13336

13336:                                            ; preds = %13330
  br label %13337

13337:                                            ; preds = %13336
  br label %13338

13338:                                            ; preds = %13337
  call void @llvm.lifetime.start.p0(i64 4, ptr %226) #8
  %13339 = call ptr @__errno_location() #9
  %13340 = load i32, ptr %13339, align 4, !tbaa !5
  store i32 %13340, ptr %226, align 4, !tbaa !5
  %13341 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13342 = call i32 @s2n_print_stacktrace(ptr noundef %13341)
  %13343 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13344 = trunc i8 %13343 to i1
  br i1 %13344, label %13345, label %13367

13345:                                            ; preds = %13338
  %13346 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13347 = call i32 @fileno(ptr noundef %13346) #8
  %13348 = call i32 @isatty(i32 noundef %13347) #8
  %13349 = icmp ne i32 %13348, 0
  br i1 %13349, label %13350, label %13367

13350:                                            ; preds = %13345
  %13351 = load i32, ptr %226, align 4, !tbaa !5
  %13352 = call ptr @__errno_location() #9
  store i32 %13351, ptr %13352, align 4, !tbaa !5
  %13353 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13354 = load i32, ptr @test_count, align 4, !tbaa !5
  %13355 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13356 = load i32, ptr %13355, align 4, !tbaa !5
  %13357 = call ptr @s2n_strerror(i32 noundef %13356, ptr noundef @.str.4)
  %13358 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13359 = load i32, ptr %13358, align 4, !tbaa !5
  %13360 = call ptr @s2n_strerror_debug(i32 noundef %13359, ptr noundef @.str.4)
  %13361 = call ptr @__errno_location() #9
  %13362 = load i32, ptr %13361, align 4, !tbaa !5
  %13363 = call ptr @strerror(i32 noundef %13362) #8
  %13364 = call ptr @__errno_location() #9
  %13365 = load i32, ptr %13364, align 4, !tbaa !5
  %13366 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13353, ptr noundef @.str.2, i32 noundef %13354, ptr noundef @.str.68, ptr noundef @.str.1, i32 noundef 342, ptr noundef %13357, ptr noundef %13360, ptr noundef %13363, i32 noundef %13365) #8
  br label %13384

13367:                                            ; preds = %13345, %13338
  %13368 = load i32, ptr %226, align 4, !tbaa !5
  %13369 = call ptr @__errno_location() #9
  store i32 %13368, ptr %13369, align 4, !tbaa !5
  %13370 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13371 = load i32, ptr @test_count, align 4, !tbaa !5
  %13372 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13373 = load i32, ptr %13372, align 4, !tbaa !5
  %13374 = call ptr @s2n_strerror(i32 noundef %13373, ptr noundef @.str.4)
  %13375 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13376 = load i32, ptr %13375, align 4, !tbaa !5
  %13377 = call ptr @s2n_strerror_debug(i32 noundef %13376, ptr noundef @.str.4)
  %13378 = call ptr @__errno_location() #9
  %13379 = load i32, ptr %13378, align 4, !tbaa !5
  %13380 = call ptr @strerror(i32 noundef %13379) #8
  %13381 = call ptr @__errno_location() #9
  %13382 = load i32, ptr %13381, align 4, !tbaa !5
  %13383 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13370, ptr noundef @.str.5, i32 noundef %13371, ptr noundef @.str.68, ptr noundef @.str.1, i32 noundef 342, ptr noundef %13374, ptr noundef %13377, ptr noundef %13380, i32 noundef %13382) #8
  br label %13384

13384:                                            ; preds = %13367, %13350
  call void @llvm.lifetime.end.p0(i64 4, ptr %226) #8
  br label %13385

13385:                                            ; preds = %13384
  br label %13386

13386:                                            ; preds = %13385
  call void @exit(i32 noundef 1) #10
  unreachable

13387:                                            ; No predecessors!
  br label %13388

13388:                                            ; preds = %13387
  br label %13389

13389:                                            ; preds = %13388, %13330
  br label %13390

13390:                                            ; preds = %13389
  br label %13391

13391:                                            ; preds = %13390
  br label %13392

13392:                                            ; preds = %13391
  %13393 = load i32, ptr @test_count, align 4, !tbaa !5
  %13394 = add nsw i32 %13393, 1
  store i32 %13394, ptr @test_count, align 4, !tbaa !5
  %13395 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13396 = load i32, ptr %13395, align 4, !tbaa !5
  %13397 = icmp eq i32 %13396, 0
  br i1 %13397, label %13398, label %13451

13398:                                            ; preds = %13392
  br label %13399

13399:                                            ; preds = %13398
  br label %13400

13400:                                            ; preds = %13399
  call void @llvm.lifetime.start.p0(i64 4, ptr %227) #8
  %13401 = call ptr @__errno_location() #9
  %13402 = load i32, ptr %13401, align 4, !tbaa !5
  store i32 %13402, ptr %227, align 4, !tbaa !5
  %13403 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13404 = call i32 @s2n_print_stacktrace(ptr noundef %13403)
  %13405 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13406 = trunc i8 %13405 to i1
  br i1 %13406, label %13407, label %13429

13407:                                            ; preds = %13400
  %13408 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13409 = call i32 @fileno(ptr noundef %13408) #8
  %13410 = call i32 @isatty(i32 noundef %13409) #8
  %13411 = icmp ne i32 %13410, 0
  br i1 %13411, label %13412, label %13429

13412:                                            ; preds = %13407
  %13413 = load i32, ptr %227, align 4, !tbaa !5
  %13414 = call ptr @__errno_location() #9
  store i32 %13413, ptr %13414, align 4, !tbaa !5
  %13415 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13416 = load i32, ptr @test_count, align 4, !tbaa !5
  %13417 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13418 = load i32, ptr %13417, align 4, !tbaa !5
  %13419 = call ptr @s2n_strerror(i32 noundef %13418, ptr noundef @.str.4)
  %13420 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13421 = load i32, ptr %13420, align 4, !tbaa !5
  %13422 = call ptr @s2n_strerror_debug(i32 noundef %13421, ptr noundef @.str.4)
  %13423 = call ptr @__errno_location() #9
  %13424 = load i32, ptr %13423, align 4, !tbaa !5
  %13425 = call ptr @strerror(i32 noundef %13424) #8
  %13426 = call ptr @__errno_location() #9
  %13427 = load i32, ptr %13426, align 4, !tbaa !5
  %13428 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13415, ptr noundef @.str.2, i32 noundef %13416, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 342, ptr noundef %13419, ptr noundef %13422, ptr noundef %13425, i32 noundef %13427) #8
  br label %13446

13429:                                            ; preds = %13407, %13400
  %13430 = load i32, ptr %227, align 4, !tbaa !5
  %13431 = call ptr @__errno_location() #9
  store i32 %13430, ptr %13431, align 4, !tbaa !5
  %13432 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13433 = load i32, ptr @test_count, align 4, !tbaa !5
  %13434 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13435 = load i32, ptr %13434, align 4, !tbaa !5
  %13436 = call ptr @s2n_strerror(i32 noundef %13435, ptr noundef @.str.4)
  %13437 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13438 = load i32, ptr %13437, align 4, !tbaa !5
  %13439 = call ptr @s2n_strerror_debug(i32 noundef %13438, ptr noundef @.str.4)
  %13440 = call ptr @__errno_location() #9
  %13441 = load i32, ptr %13440, align 4, !tbaa !5
  %13442 = call ptr @strerror(i32 noundef %13441) #8
  %13443 = call ptr @__errno_location() #9
  %13444 = load i32, ptr %13443, align 4, !tbaa !5
  %13445 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13432, ptr noundef @.str.5, i32 noundef %13433, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 342, ptr noundef %13436, ptr noundef %13439, ptr noundef %13442, i32 noundef %13444) #8
  br label %13446

13446:                                            ; preds = %13429, %13412
  call void @llvm.lifetime.end.p0(i64 4, ptr %227) #8
  br label %13447

13447:                                            ; preds = %13446
  br label %13448

13448:                                            ; preds = %13447
  call void @exit(i32 noundef 1) #10
  unreachable

13449:                                            ; No predecessors!
  br label %13450

13450:                                            ; preds = %13449
  br label %13451

13451:                                            ; preds = %13450, %13392
  br label %13452

13452:                                            ; preds = %13451
  br label %13453

13453:                                            ; preds = %13452
  br label %13454

13454:                                            ; preds = %13453
  %13455 = load i32, ptr @test_count, align 4, !tbaa !5
  %13456 = add nsw i32 %13455, 1
  store i32 %13456, ptr @test_count, align 4, !tbaa !5
  %13457 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13458 = load i32, ptr %13457, align 4, !tbaa !5
  %13459 = call ptr @s2n_strerror_debug(i32 noundef %13458, ptr noundef @.str.4)
  %13460 = icmp eq ptr %13459, null
  br i1 %13460, label %13461, label %13514

13461:                                            ; preds = %13454
  br label %13462

13462:                                            ; preds = %13461
  br label %13463

13463:                                            ; preds = %13462
  call void @llvm.lifetime.start.p0(i64 4, ptr %228) #8
  %13464 = call ptr @__errno_location() #9
  %13465 = load i32, ptr %13464, align 4, !tbaa !5
  store i32 %13465, ptr %228, align 4, !tbaa !5
  %13466 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13467 = call i32 @s2n_print_stacktrace(ptr noundef %13466)
  %13468 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13469 = trunc i8 %13468 to i1
  br i1 %13469, label %13470, label %13492

13470:                                            ; preds = %13463
  %13471 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13472 = call i32 @fileno(ptr noundef %13471) #8
  %13473 = call i32 @isatty(i32 noundef %13472) #8
  %13474 = icmp ne i32 %13473, 0
  br i1 %13474, label %13475, label %13492

13475:                                            ; preds = %13470
  %13476 = load i32, ptr %228, align 4, !tbaa !5
  %13477 = call ptr @__errno_location() #9
  store i32 %13476, ptr %13477, align 4, !tbaa !5
  %13478 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13479 = load i32, ptr @test_count, align 4, !tbaa !5
  %13480 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13481 = load i32, ptr %13480, align 4, !tbaa !5
  %13482 = call ptr @s2n_strerror(i32 noundef %13481, ptr noundef @.str.4)
  %13483 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13484 = load i32, ptr %13483, align 4, !tbaa !5
  %13485 = call ptr @s2n_strerror_debug(i32 noundef %13484, ptr noundef @.str.4)
  %13486 = call ptr @__errno_location() #9
  %13487 = load i32, ptr %13486, align 4, !tbaa !5
  %13488 = call ptr @strerror(i32 noundef %13487) #8
  %13489 = call ptr @__errno_location() #9
  %13490 = load i32, ptr %13489, align 4, !tbaa !5
  %13491 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13478, ptr noundef @.str.2, i32 noundef %13479, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 342, ptr noundef %13482, ptr noundef %13485, ptr noundef %13488, i32 noundef %13490) #8
  br label %13509

13492:                                            ; preds = %13470, %13463
  %13493 = load i32, ptr %228, align 4, !tbaa !5
  %13494 = call ptr @__errno_location() #9
  store i32 %13493, ptr %13494, align 4, !tbaa !5
  %13495 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13496 = load i32, ptr @test_count, align 4, !tbaa !5
  %13497 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13498 = load i32, ptr %13497, align 4, !tbaa !5
  %13499 = call ptr @s2n_strerror(i32 noundef %13498, ptr noundef @.str.4)
  %13500 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13501 = load i32, ptr %13500, align 4, !tbaa !5
  %13502 = call ptr @s2n_strerror_debug(i32 noundef %13501, ptr noundef @.str.4)
  %13503 = call ptr @__errno_location() #9
  %13504 = load i32, ptr %13503, align 4, !tbaa !5
  %13505 = call ptr @strerror(i32 noundef %13504) #8
  %13506 = call ptr @__errno_location() #9
  %13507 = load i32, ptr %13506, align 4, !tbaa !5
  %13508 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13495, ptr noundef @.str.5, i32 noundef %13496, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 342, ptr noundef %13499, ptr noundef %13502, ptr noundef %13505, i32 noundef %13507) #8
  br label %13509

13509:                                            ; preds = %13492, %13475
  call void @llvm.lifetime.end.p0(i64 4, ptr %228) #8
  br label %13510

13510:                                            ; preds = %13509
  br label %13511

13511:                                            ; preds = %13510
  call void @exit(i32 noundef 1) #10
  unreachable

13512:                                            ; No predecessors!
  br label %13513

13513:                                            ; preds = %13512
  br label %13514

13514:                                            ; preds = %13513, %13454
  br label %13515

13515:                                            ; preds = %13514
  br label %13516

13516:                                            ; preds = %13515
  br label %13517

13517:                                            ; preds = %13516
  %13518 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %13518, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %13519 = call ptr @__errno_location() #9
  store i32 0, ptr %13519, align 4, !tbaa !5
  br label %13520

13520:                                            ; preds = %13517
  br label %13521

13521:                                            ; preds = %13520
  br label %13522

13522:                                            ; preds = %13521
  br label %13523

13523:                                            ; preds = %13522
  br label %13524

13524:                                            ; preds = %13523
  %13525 = load i32, ptr @test_count, align 4, !tbaa !5
  %13526 = add nsw i32 %13525, 1
  store i32 %13526, ptr @test_count, align 4, !tbaa !5
  %13527 = load ptr, ptr %207, align 8, !tbaa !9
  %13528 = icmp eq ptr %13527, null
  br i1 %13528, label %13582, label %13529

13529:                                            ; preds = %13524
  br label %13530

13530:                                            ; preds = %13529
  br label %13531

13531:                                            ; preds = %13530
  call void @llvm.lifetime.start.p0(i64 4, ptr %229) #8
  %13532 = call ptr @__errno_location() #9
  %13533 = load i32, ptr %13532, align 4, !tbaa !5
  store i32 %13533, ptr %229, align 4, !tbaa !5
  %13534 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13535 = call i32 @s2n_print_stacktrace(ptr noundef %13534)
  %13536 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13537 = trunc i8 %13536 to i1
  br i1 %13537, label %13538, label %13560

13538:                                            ; preds = %13531
  %13539 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13540 = call i32 @fileno(ptr noundef %13539) #8
  %13541 = call i32 @isatty(i32 noundef %13540) #8
  %13542 = icmp ne i32 %13541, 0
  br i1 %13542, label %13543, label %13560

13543:                                            ; preds = %13538
  %13544 = load i32, ptr %229, align 4, !tbaa !5
  %13545 = call ptr @__errno_location() #9
  store i32 %13544, ptr %13545, align 4, !tbaa !5
  %13546 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13547 = load i32, ptr @test_count, align 4, !tbaa !5
  %13548 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13549 = load i32, ptr %13548, align 4, !tbaa !5
  %13550 = call ptr @s2n_strerror(i32 noundef %13549, ptr noundef @.str.4)
  %13551 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13552 = load i32, ptr %13551, align 4, !tbaa !5
  %13553 = call ptr @s2n_strerror_debug(i32 noundef %13552, ptr noundef @.str.4)
  %13554 = call ptr @__errno_location() #9
  %13555 = load i32, ptr %13554, align 4, !tbaa !5
  %13556 = call ptr @strerror(i32 noundef %13555) #8
  %13557 = call ptr @__errno_location() #9
  %13558 = load i32, ptr %13557, align 4, !tbaa !5
  %13559 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13546, ptr noundef @.str.2, i32 noundef %13547, ptr noundef @.str.71, ptr noundef @.str.1, i32 noundef 343, ptr noundef %13550, ptr noundef %13553, ptr noundef %13556, i32 noundef %13558) #8
  br label %13577

13560:                                            ; preds = %13538, %13531
  %13561 = load i32, ptr %229, align 4, !tbaa !5
  %13562 = call ptr @__errno_location() #9
  store i32 %13561, ptr %13562, align 4, !tbaa !5
  %13563 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13564 = load i32, ptr @test_count, align 4, !tbaa !5
  %13565 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13566 = load i32, ptr %13565, align 4, !tbaa !5
  %13567 = call ptr @s2n_strerror(i32 noundef %13566, ptr noundef @.str.4)
  %13568 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13569 = load i32, ptr %13568, align 4, !tbaa !5
  %13570 = call ptr @s2n_strerror_debug(i32 noundef %13569, ptr noundef @.str.4)
  %13571 = call ptr @__errno_location() #9
  %13572 = load i32, ptr %13571, align 4, !tbaa !5
  %13573 = call ptr @strerror(i32 noundef %13572) #8
  %13574 = call ptr @__errno_location() #9
  %13575 = load i32, ptr %13574, align 4, !tbaa !5
  %13576 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13563, ptr noundef @.str.5, i32 noundef %13564, ptr noundef @.str.71, ptr noundef @.str.1, i32 noundef 343, ptr noundef %13567, ptr noundef %13570, ptr noundef %13573, i32 noundef %13575) #8
  br label %13577

13577:                                            ; preds = %13560, %13543
  call void @llvm.lifetime.end.p0(i64 4, ptr %229) #8
  br label %13578

13578:                                            ; preds = %13577
  br label %13579

13579:                                            ; preds = %13578
  call void @exit(i32 noundef 1) #10
  unreachable

13580:                                            ; No predecessors!
  br label %13581

13581:                                            ; preds = %13580
  br label %13582

13582:                                            ; preds = %13581, %13524
  br label %13583

13583:                                            ; preds = %13582
  br label %13584

13584:                                            ; preds = %13583
  %13585 = getelementptr inbounds %struct.s2n_signature_scheme, ptr %209, i32 0, i32 3
  store i32 224, ptr %13585, align 4, !tbaa !49
  br label %13586

13586:                                            ; preds = %13584
  br label %13587

13587:                                            ; preds = %13586
  %13588 = load i32, ptr @test_count, align 4, !tbaa !5
  %13589 = add nsw i32 %13588, 1
  store i32 %13589, ptr @test_count, align 4, !tbaa !5
  %13590 = load ptr, ptr %206, align 8, !tbaa !9
  %13591 = call i32 @s2n_select_certs_for_server_auth(ptr noundef %13590, ptr noundef %207)
  %13592 = icmp eq i32 %13591, -1
  br i1 %13592, label %13646, label %13593

13593:                                            ; preds = %13587
  br label %13594

13594:                                            ; preds = %13593
  br label %13595

13595:                                            ; preds = %13594
  call void @llvm.lifetime.start.p0(i64 4, ptr %230) #8
  %13596 = call ptr @__errno_location() #9
  %13597 = load i32, ptr %13596, align 4, !tbaa !5
  store i32 %13597, ptr %230, align 4, !tbaa !5
  %13598 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13599 = call i32 @s2n_print_stacktrace(ptr noundef %13598)
  %13600 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13601 = trunc i8 %13600 to i1
  br i1 %13601, label %13602, label %13624

13602:                                            ; preds = %13595
  %13603 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13604 = call i32 @fileno(ptr noundef %13603) #8
  %13605 = call i32 @isatty(i32 noundef %13604) #8
  %13606 = icmp ne i32 %13605, 0
  br i1 %13606, label %13607, label %13624

13607:                                            ; preds = %13602
  %13608 = load i32, ptr %230, align 4, !tbaa !5
  %13609 = call ptr @__errno_location() #9
  store i32 %13608, ptr %13609, align 4, !tbaa !5
  %13610 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13611 = load i32, ptr @test_count, align 4, !tbaa !5
  %13612 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13613 = load i32, ptr %13612, align 4, !tbaa !5
  %13614 = call ptr @s2n_strerror(i32 noundef %13613, ptr noundef @.str.4)
  %13615 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13616 = load i32, ptr %13615, align 4, !tbaa !5
  %13617 = call ptr @s2n_strerror_debug(i32 noundef %13616, ptr noundef @.str.4)
  %13618 = call ptr @__errno_location() #9
  %13619 = load i32, ptr %13618, align 4, !tbaa !5
  %13620 = call ptr @strerror(i32 noundef %13619) #8
  %13621 = call ptr @__errno_location() #9
  %13622 = load i32, ptr %13621, align 4, !tbaa !5
  %13623 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13610, ptr noundef @.str.2, i32 noundef %13611, ptr noundef @.str.68, ptr noundef @.str.1, i32 noundef 347, ptr noundef %13614, ptr noundef %13617, ptr noundef %13620, i32 noundef %13622) #8
  br label %13641

13624:                                            ; preds = %13602, %13595
  %13625 = load i32, ptr %230, align 4, !tbaa !5
  %13626 = call ptr @__errno_location() #9
  store i32 %13625, ptr %13626, align 4, !tbaa !5
  %13627 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13628 = load i32, ptr @test_count, align 4, !tbaa !5
  %13629 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13630 = load i32, ptr %13629, align 4, !tbaa !5
  %13631 = call ptr @s2n_strerror(i32 noundef %13630, ptr noundef @.str.4)
  %13632 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13633 = load i32, ptr %13632, align 4, !tbaa !5
  %13634 = call ptr @s2n_strerror_debug(i32 noundef %13633, ptr noundef @.str.4)
  %13635 = call ptr @__errno_location() #9
  %13636 = load i32, ptr %13635, align 4, !tbaa !5
  %13637 = call ptr @strerror(i32 noundef %13636) #8
  %13638 = call ptr @__errno_location() #9
  %13639 = load i32, ptr %13638, align 4, !tbaa !5
  %13640 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13627, ptr noundef @.str.5, i32 noundef %13628, ptr noundef @.str.68, ptr noundef @.str.1, i32 noundef 347, ptr noundef %13631, ptr noundef %13634, ptr noundef %13637, i32 noundef %13639) #8
  br label %13641

13641:                                            ; preds = %13624, %13607
  call void @llvm.lifetime.end.p0(i64 4, ptr %230) #8
  br label %13642

13642:                                            ; preds = %13641
  br label %13643

13643:                                            ; preds = %13642
  call void @exit(i32 noundef 1) #10
  unreachable

13644:                                            ; No predecessors!
  br label %13645

13645:                                            ; preds = %13644
  br label %13646

13646:                                            ; preds = %13645, %13587
  br label %13647

13647:                                            ; preds = %13646
  br label %13648

13648:                                            ; preds = %13647
  br label %13649

13649:                                            ; preds = %13648
  %13650 = load i32, ptr @test_count, align 4, !tbaa !5
  %13651 = add nsw i32 %13650, 1
  store i32 %13651, ptr @test_count, align 4, !tbaa !5
  %13652 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13653 = load i32, ptr %13652, align 4, !tbaa !5
  %13654 = icmp eq i32 %13653, 0
  br i1 %13654, label %13655, label %13708

13655:                                            ; preds = %13649
  br label %13656

13656:                                            ; preds = %13655
  br label %13657

13657:                                            ; preds = %13656
  call void @llvm.lifetime.start.p0(i64 4, ptr %231) #8
  %13658 = call ptr @__errno_location() #9
  %13659 = load i32, ptr %13658, align 4, !tbaa !5
  store i32 %13659, ptr %231, align 4, !tbaa !5
  %13660 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13661 = call i32 @s2n_print_stacktrace(ptr noundef %13660)
  %13662 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13663 = trunc i8 %13662 to i1
  br i1 %13663, label %13664, label %13686

13664:                                            ; preds = %13657
  %13665 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13666 = call i32 @fileno(ptr noundef %13665) #8
  %13667 = call i32 @isatty(i32 noundef %13666) #8
  %13668 = icmp ne i32 %13667, 0
  br i1 %13668, label %13669, label %13686

13669:                                            ; preds = %13664
  %13670 = load i32, ptr %231, align 4, !tbaa !5
  %13671 = call ptr @__errno_location() #9
  store i32 %13670, ptr %13671, align 4, !tbaa !5
  %13672 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13673 = load i32, ptr @test_count, align 4, !tbaa !5
  %13674 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13675 = load i32, ptr %13674, align 4, !tbaa !5
  %13676 = call ptr @s2n_strerror(i32 noundef %13675, ptr noundef @.str.4)
  %13677 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13678 = load i32, ptr %13677, align 4, !tbaa !5
  %13679 = call ptr @s2n_strerror_debug(i32 noundef %13678, ptr noundef @.str.4)
  %13680 = call ptr @__errno_location() #9
  %13681 = load i32, ptr %13680, align 4, !tbaa !5
  %13682 = call ptr @strerror(i32 noundef %13681) #8
  %13683 = call ptr @__errno_location() #9
  %13684 = load i32, ptr %13683, align 4, !tbaa !5
  %13685 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13672, ptr noundef @.str.2, i32 noundef %13673, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 347, ptr noundef %13676, ptr noundef %13679, ptr noundef %13682, i32 noundef %13684) #8
  br label %13703

13686:                                            ; preds = %13664, %13657
  %13687 = load i32, ptr %231, align 4, !tbaa !5
  %13688 = call ptr @__errno_location() #9
  store i32 %13687, ptr %13688, align 4, !tbaa !5
  %13689 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13690 = load i32, ptr @test_count, align 4, !tbaa !5
  %13691 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13692 = load i32, ptr %13691, align 4, !tbaa !5
  %13693 = call ptr @s2n_strerror(i32 noundef %13692, ptr noundef @.str.4)
  %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_debug(i32 noundef %13695, ptr noundef @.str.4)
  %13697 = call ptr @__errno_location() #9
  %13698 = load i32, ptr %13697, align 4, !tbaa !5
  %13699 = call ptr @strerror(i32 noundef %13698) #8
  %13700 = call ptr @__errno_location() #9
  %13701 = load i32, ptr %13700, align 4, !tbaa !5
  %13702 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13689, ptr noundef @.str.5, i32 noundef %13690, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 347, ptr noundef %13693, ptr noundef %13696, ptr noundef %13699, i32 noundef %13701) #8
  br label %13703

13703:                                            ; preds = %13686, %13669
  call void @llvm.lifetime.end.p0(i64 4, ptr %231) #8
  br label %13704

13704:                                            ; preds = %13703
  br label %13705

13705:                                            ; preds = %13704
  call void @exit(i32 noundef 1) #10
  unreachable

13706:                                            ; No predecessors!
  br label %13707

13707:                                            ; preds = %13706
  br label %13708

13708:                                            ; preds = %13707, %13649
  br label %13709

13709:                                            ; preds = %13708
  br label %13710

13710:                                            ; preds = %13709
  br label %13711

13711:                                            ; preds = %13710
  %13712 = load i32, ptr @test_count, align 4, !tbaa !5
  %13713 = add nsw i32 %13712, 1
  store i32 %13713, ptr @test_count, align 4, !tbaa !5
  %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 = icmp eq ptr %13716, null
  br i1 %13717, label %13718, label %13771

13718:                                            ; preds = %13711
  br label %13719

13719:                                            ; preds = %13718
  br label %13720

13720:                                            ; preds = %13719
  call void @llvm.lifetime.start.p0(i64 4, ptr %232) #8
  %13721 = call ptr @__errno_location() #9
  %13722 = load i32, ptr %13721, align 4, !tbaa !5
  store i32 %13722, ptr %232, align 4, !tbaa !5
  %13723 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13724 = call i32 @s2n_print_stacktrace(ptr noundef %13723)
  %13725 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13726 = trunc i8 %13725 to i1
  br i1 %13726, label %13727, label %13749

13727:                                            ; preds = %13720
  %13728 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13729 = call i32 @fileno(ptr noundef %13728) #8
  %13730 = call i32 @isatty(i32 noundef %13729) #8
  %13731 = icmp ne i32 %13730, 0
  br i1 %13731, label %13732, label %13749

13732:                                            ; preds = %13727
  %13733 = load i32, ptr %232, align 4, !tbaa !5
  %13734 = call ptr @__errno_location() #9
  store i32 %13733, ptr %13734, align 4, !tbaa !5
  %13735 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13736 = load i32, ptr @test_count, align 4, !tbaa !5
  %13737 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13738 = load i32, ptr %13737, align 4, !tbaa !5
  %13739 = call ptr @s2n_strerror(i32 noundef %13738, ptr noundef @.str.4)
  %13740 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13741 = load i32, ptr %13740, align 4, !tbaa !5
  %13742 = call ptr @s2n_strerror_debug(i32 noundef %13741, ptr noundef @.str.4)
  %13743 = call ptr @__errno_location() #9
  %13744 = load i32, ptr %13743, align 4, !tbaa !5
  %13745 = call ptr @strerror(i32 noundef %13744) #8
  %13746 = call ptr @__errno_location() #9
  %13747 = load i32, ptr %13746, align 4, !tbaa !5
  %13748 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13735, ptr noundef @.str.2, i32 noundef %13736, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 347, ptr noundef %13739, ptr noundef %13742, ptr noundef %13745, i32 noundef %13747) #8
  br label %13766

13749:                                            ; preds = %13727, %13720
  %13750 = load i32, ptr %232, align 4, !tbaa !5
  %13751 = call ptr @__errno_location() #9
  store i32 %13750, ptr %13751, align 4, !tbaa !5
  %13752 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13753 = load i32, ptr @test_count, align 4, !tbaa !5
  %13754 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13755 = load i32, ptr %13754, align 4, !tbaa !5
  %13756 = call ptr @s2n_strerror(i32 noundef %13755, ptr noundef @.str.4)
  %13757 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13758 = load i32, ptr %13757, align 4, !tbaa !5
  %13759 = call ptr @s2n_strerror_debug(i32 noundef %13758, ptr noundef @.str.4)
  %13760 = call ptr @__errno_location() #9
  %13761 = load i32, ptr %13760, align 4, !tbaa !5
  %13762 = call ptr @strerror(i32 noundef %13761) #8
  %13763 = call ptr @__errno_location() #9
  %13764 = load i32, ptr %13763, align 4, !tbaa !5
  %13765 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13752, ptr noundef @.str.5, i32 noundef %13753, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 347, ptr noundef %13756, ptr noundef %13759, ptr noundef %13762, i32 noundef %13764) #8
  br label %13766

13766:                                            ; preds = %13749, %13732
  call void @llvm.lifetime.end.p0(i64 4, ptr %232) #8
  br label %13767

13767:                                            ; preds = %13766
  br label %13768

13768:                                            ; preds = %13767
  call void @exit(i32 noundef 1) #10
  unreachable

13769:                                            ; No predecessors!
  br label %13770

13770:                                            ; preds = %13769
  br label %13771

13771:                                            ; preds = %13770, %13711
  br label %13772

13772:                                            ; preds = %13771
  br label %13773

13773:                                            ; preds = %13772
  br label %13774

13774:                                            ; preds = %13773
  %13775 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %13775, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %13776 = call ptr @__errno_location() #9
  store i32 0, ptr %13776, align 4, !tbaa !5
  br label %13777

13777:                                            ; preds = %13774
  br label %13778

13778:                                            ; preds = %13777
  br label %13779

13779:                                            ; preds = %13778
  br label %13780

13780:                                            ; preds = %13779
  br label %13781

13781:                                            ; preds = %13780
  %13782 = load i32, ptr @test_count, align 4, !tbaa !5
  %13783 = add nsw i32 %13782, 1
  store i32 %13783, ptr @test_count, align 4, !tbaa !5
  %13784 = load ptr, ptr %207, align 8, !tbaa !9
  %13785 = icmp eq ptr %13784, null
  br i1 %13785, label %13839, label %13786

13786:                                            ; preds = %13781
  br label %13787

13787:                                            ; preds = %13786
  br label %13788

13788:                                            ; preds = %13787
  call void @llvm.lifetime.start.p0(i64 4, ptr %233) #8
  %13789 = call ptr @__errno_location() #9
  %13790 = load i32, ptr %13789, align 4, !tbaa !5
  store i32 %13790, ptr %233, align 4, !tbaa !5
  %13791 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13792 = call i32 @s2n_print_stacktrace(ptr noundef %13791)
  %13793 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13794 = trunc i8 %13793 to i1
  br i1 %13794, label %13795, label %13817

13795:                                            ; preds = %13788
  %13796 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13797 = call i32 @fileno(ptr noundef %13796) #8
  %13798 = call i32 @isatty(i32 noundef %13797) #8
  %13799 = icmp ne i32 %13798, 0
  br i1 %13799, label %13800, label %13817

13800:                                            ; preds = %13795
  %13801 = load i32, ptr %233, align 4, !tbaa !5
  %13802 = call ptr @__errno_location() #9
  store i32 %13801, ptr %13802, align 4, !tbaa !5
  %13803 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13804 = load i32, ptr @test_count, align 4, !tbaa !5
  %13805 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13806 = load i32, ptr %13805, align 4, !tbaa !5
  %13807 = call ptr @s2n_strerror(i32 noundef %13806, ptr noundef @.str.4)
  %13808 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13809 = load i32, ptr %13808, align 4, !tbaa !5
  %13810 = call ptr @s2n_strerror_debug(i32 noundef %13809, ptr noundef @.str.4)
  %13811 = call ptr @__errno_location() #9
  %13812 = load i32, ptr %13811, align 4, !tbaa !5
  %13813 = call ptr @strerror(i32 noundef %13812) #8
  %13814 = call ptr @__errno_location() #9
  %13815 = load i32, ptr %13814, align 4, !tbaa !5
  %13816 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13803, ptr noundef @.str.2, i32 noundef %13804, ptr noundef @.str.71, ptr noundef @.str.1, i32 noundef 348, ptr noundef %13807, ptr noundef %13810, ptr noundef %13813, i32 noundef %13815) #8
  br label %13834

13817:                                            ; preds = %13795, %13788
  %13818 = load i32, ptr %233, align 4, !tbaa !5
  %13819 = call ptr @__errno_location() #9
  store i32 %13818, ptr %13819, align 4, !tbaa !5
  %13820 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13821 = load i32, ptr @test_count, align 4, !tbaa !5
  %13822 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13823 = load i32, ptr %13822, align 4, !tbaa !5
  %13824 = call ptr @s2n_strerror(i32 noundef %13823, ptr noundef @.str.4)
  %13825 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13826 = load i32, ptr %13825, align 4, !tbaa !5
  %13827 = call ptr @s2n_strerror_debug(i32 noundef %13826, ptr noundef @.str.4)
  %13828 = call ptr @__errno_location() #9
  %13829 = load i32, ptr %13828, align 4, !tbaa !5
  %13830 = call ptr @strerror(i32 noundef %13829) #8
  %13831 = call ptr @__errno_location() #9
  %13832 = load i32, ptr %13831, align 4, !tbaa !5
  %13833 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13820, ptr noundef @.str.5, i32 noundef %13821, ptr noundef @.str.71, ptr noundef @.str.1, i32 noundef 348, ptr noundef %13824, ptr noundef %13827, ptr noundef %13830, i32 noundef %13832) #8
  br label %13834

13834:                                            ; preds = %13817, %13800
  call void @llvm.lifetime.end.p0(i64 4, ptr %233) #8
  br label %13835

13835:                                            ; preds = %13834
  br label %13836

13836:                                            ; preds = %13835
  call void @exit(i32 noundef 1) #10
  unreachable

13837:                                            ; No predecessors!
  br label %13838

13838:                                            ; preds = %13837
  br label %13839

13839:                                            ; preds = %13838, %13781
  br label %13840

13840:                                            ; preds = %13839
  br label %13841

13841:                                            ; preds = %13840
  %13842 = getelementptr inbounds %struct.s2n_signature_scheme, ptr %209, i32 0, i32 3
  store i32 3, ptr %13842, align 4, !tbaa !49
  br label %13843

13843:                                            ; preds = %13841
  br label %13844

13844:                                            ; preds = %13843
  %13845 = load i32, ptr @test_count, align 4, !tbaa !5
  %13846 = add nsw i32 %13845, 1
  store i32 %13846, ptr @test_count, align 4, !tbaa !5
  %13847 = load ptr, ptr %206, align 8, !tbaa !9
  %13848 = call i32 @s2n_select_certs_for_server_auth(ptr noundef %13847, ptr noundef %207)
  %13849 = icmp eq i32 %13848, -1
  br i1 %13849, label %13903, label %13850

13850:                                            ; preds = %13844
  br label %13851

13851:                                            ; preds = %13850
  br label %13852

13852:                                            ; preds = %13851
  call void @llvm.lifetime.start.p0(i64 4, ptr %234) #8
  %13853 = call ptr @__errno_location() #9
  %13854 = load i32, ptr %13853, align 4, !tbaa !5
  store i32 %13854, ptr %234, align 4, !tbaa !5
  %13855 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13856 = call i32 @s2n_print_stacktrace(ptr noundef %13855)
  %13857 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13858 = trunc i8 %13857 to i1
  br i1 %13858, label %13859, label %13881

13859:                                            ; preds = %13852
  %13860 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13861 = call i32 @fileno(ptr noundef %13860) #8
  %13862 = call i32 @isatty(i32 noundef %13861) #8
  %13863 = icmp ne i32 %13862, 0
  br i1 %13863, label %13864, label %13881

13864:                                            ; preds = %13859
  %13865 = load i32, ptr %234, align 4, !tbaa !5
  %13866 = call ptr @__errno_location() #9
  store i32 %13865, ptr %13866, align 4, !tbaa !5
  %13867 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13868 = load i32, ptr @test_count, align 4, !tbaa !5
  %13869 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13870 = load i32, ptr %13869, align 4, !tbaa !5
  %13871 = call ptr @s2n_strerror(i32 noundef %13870, ptr noundef @.str.4)
  %13872 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13873 = load i32, ptr %13872, align 4, !tbaa !5
  %13874 = call ptr @s2n_strerror_debug(i32 noundef %13873, ptr noundef @.str.4)
  %13875 = call ptr @__errno_location() #9
  %13876 = load i32, ptr %13875, align 4, !tbaa !5
  %13877 = call ptr @strerror(i32 noundef %13876) #8
  %13878 = call ptr @__errno_location() #9
  %13879 = load i32, ptr %13878, align 4, !tbaa !5
  %13880 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13867, ptr noundef @.str.2, i32 noundef %13868, ptr noundef @.str.68, ptr noundef @.str.1, i32 noundef 352, ptr noundef %13871, ptr noundef %13874, ptr noundef %13877, i32 noundef %13879) #8
  br label %13898

13881:                                            ; preds = %13859, %13852
  %13882 = load i32, ptr %234, align 4, !tbaa !5
  %13883 = call ptr @__errno_location() #9
  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() #9
  %13893 = load i32, ptr %13892, align 4, !tbaa !5
  %13894 = call ptr @strerror(i32 noundef %13893) #8
  %13895 = call ptr @__errno_location() #9
  %13896 = load i32, ptr %13895, align 4, !tbaa !5
  %13897 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13884, ptr noundef @.str.5, i32 noundef %13885, ptr noundef @.str.68, ptr noundef @.str.1, i32 noundef 352, ptr noundef %13888, ptr noundef %13891, ptr noundef %13894, i32 noundef %13896) #8
  br label %13898

13898:                                            ; preds = %13881, %13864
  call void @llvm.lifetime.end.p0(i64 4, ptr %234) #8
  br label %13899

13899:                                            ; preds = %13898
  br label %13900

13900:                                            ; preds = %13899
  call void @exit(i32 noundef 1) #10
  unreachable

13901:                                            ; No predecessors!
  br label %13902

13902:                                            ; preds = %13901
  br label %13903

13903:                                            ; preds = %13902, %13844
  br label %13904

13904:                                            ; preds = %13903
  br label %13905

13905:                                            ; preds = %13904
  br label %13906

13906:                                            ; preds = %13905
  %13907 = load i32, ptr @test_count, align 4, !tbaa !5
  %13908 = add nsw i32 %13907, 1
  store i32 %13908, ptr @test_count, align 4, !tbaa !5
  %13909 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13910 = load i32, ptr %13909, align 4, !tbaa !5
  %13911 = icmp eq i32 %13910, 0
  br i1 %13911, label %13912, label %13965

13912:                                            ; preds = %13906
  br label %13913

13913:                                            ; preds = %13912
  br label %13914

13914:                                            ; preds = %13913
  call void @llvm.lifetime.start.p0(i64 4, ptr %235) #8
  %13915 = call ptr @__errno_location() #9
  %13916 = load i32, ptr %13915, align 4, !tbaa !5
  store i32 %13916, ptr %235, align 4, !tbaa !5
  %13917 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13918 = call i32 @s2n_print_stacktrace(ptr noundef %13917)
  %13919 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13920 = trunc i8 %13919 to i1
  br i1 %13920, label %13921, label %13943

13921:                                            ; preds = %13914
  %13922 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13923 = call i32 @fileno(ptr noundef %13922) #8
  %13924 = call i32 @isatty(i32 noundef %13923) #8
  %13925 = icmp ne i32 %13924, 0
  br i1 %13925, label %13926, label %13943

13926:                                            ; preds = %13921
  %13927 = load i32, ptr %235, align 4, !tbaa !5
  %13928 = call ptr @__errno_location() #9
  store i32 %13927, ptr %13928, align 4, !tbaa !5
  %13929 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13930 = load i32, ptr @test_count, align 4, !tbaa !5
  %13931 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13932 = load i32, ptr %13931, align 4, !tbaa !5
  %13933 = call ptr @s2n_strerror(i32 noundef %13932, ptr noundef @.str.4)
  %13934 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13935 = load i32, ptr %13934, align 4, !tbaa !5
  %13936 = call ptr @s2n_strerror_debug(i32 noundef %13935, ptr noundef @.str.4)
  %13937 = call ptr @__errno_location() #9
  %13938 = load i32, ptr %13937, align 4, !tbaa !5
  %13939 = call ptr @strerror(i32 noundef %13938) #8
  %13940 = call ptr @__errno_location() #9
  %13941 = load i32, ptr %13940, align 4, !tbaa !5
  %13942 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13929, ptr noundef @.str.2, i32 noundef %13930, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 352, ptr noundef %13933, ptr noundef %13936, ptr noundef %13939, i32 noundef %13941) #8
  br label %13960

13943:                                            ; preds = %13921, %13914
  %13944 = load i32, ptr %235, align 4, !tbaa !5
  %13945 = call ptr @__errno_location() #9
  store i32 %13944, ptr %13945, align 4, !tbaa !5
  %13946 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13947 = load i32, ptr @test_count, align 4, !tbaa !5
  %13948 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13949 = load i32, ptr %13948, align 4, !tbaa !5
  %13950 = call ptr @s2n_strerror(i32 noundef %13949, ptr noundef @.str.4)
  %13951 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13952 = load i32, ptr %13951, align 4, !tbaa !5
  %13953 = call ptr @s2n_strerror_debug(i32 noundef %13952, ptr noundef @.str.4)
  %13954 = call ptr @__errno_location() #9
  %13955 = load i32, ptr %13954, align 4, !tbaa !5
  %13956 = call ptr @strerror(i32 noundef %13955) #8
  %13957 = call ptr @__errno_location() #9
  %13958 = load i32, ptr %13957, align 4, !tbaa !5
  %13959 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13946, ptr noundef @.str.5, i32 noundef %13947, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 352, ptr noundef %13950, ptr noundef %13953, ptr noundef %13956, i32 noundef %13958) #8
  br label %13960

13960:                                            ; preds = %13943, %13926
  call void @llvm.lifetime.end.p0(i64 4, ptr %235) #8
  br label %13961

13961:                                            ; preds = %13960
  br label %13962

13962:                                            ; preds = %13961
  call void @exit(i32 noundef 1) #10
  unreachable

13963:                                            ; No predecessors!
  br label %13964

13964:                                            ; preds = %13963
  br label %13965

13965:                                            ; preds = %13964, %13906
  br label %13966

13966:                                            ; preds = %13965
  br label %13967

13967:                                            ; preds = %13966
  br label %13968

13968:                                            ; preds = %13967
  %13969 = load i32, ptr @test_count, align 4, !tbaa !5
  %13970 = add nsw i32 %13969, 1
  store i32 %13970, ptr @test_count, align 4, !tbaa !5
  %13971 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13972 = load i32, ptr %13971, align 4, !tbaa !5
  %13973 = call ptr @s2n_strerror_debug(i32 noundef %13972, ptr noundef @.str.4)
  %13974 = icmp eq ptr %13973, null
  br i1 %13974, label %13975, label %14028

13975:                                            ; preds = %13968
  br label %13976

13976:                                            ; preds = %13975
  br label %13977

13977:                                            ; preds = %13976
  call void @llvm.lifetime.start.p0(i64 4, ptr %236) #8
  %13978 = call ptr @__errno_location() #9
  %13979 = load i32, ptr %13978, align 4, !tbaa !5
  store i32 %13979, ptr %236, align 4, !tbaa !5
  %13980 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13981 = call i32 @s2n_print_stacktrace(ptr noundef %13980)
  %13982 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13983 = trunc i8 %13982 to i1
  br i1 %13983, label %13984, label %14006

13984:                                            ; preds = %13977
  %13985 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13986 = call i32 @fileno(ptr noundef %13985) #8
  %13987 = call i32 @isatty(i32 noundef %13986) #8
  %13988 = icmp ne i32 %13987, 0
  br i1 %13988, label %13989, label %14006

13989:                                            ; preds = %13984
  %13990 = load i32, ptr %236, align 4, !tbaa !5
  %13991 = call ptr @__errno_location() #9
  store i32 %13990, ptr %13991, align 4, !tbaa !5
  %13992 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13993 = load i32, ptr @test_count, align 4, !tbaa !5
  %13994 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13995 = load i32, ptr %13994, align 4, !tbaa !5
  %13996 = call ptr @s2n_strerror(i32 noundef %13995, ptr noundef @.str.4)
  %13997 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13998 = load i32, ptr %13997, align 4, !tbaa !5
  %13999 = call ptr @s2n_strerror_debug(i32 noundef %13998, ptr noundef @.str.4)
  %14000 = call ptr @__errno_location() #9
  %14001 = load i32, ptr %14000, align 4, !tbaa !5
  %14002 = call ptr @strerror(i32 noundef %14001) #8
  %14003 = call ptr @__errno_location() #9
  %14004 = load i32, ptr %14003, align 4, !tbaa !5
  %14005 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13992, ptr noundef @.str.2, i32 noundef %13993, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 352, ptr noundef %13996, ptr noundef %13999, ptr noundef %14002, i32 noundef %14004) #8
  br label %14023

14006:                                            ; preds = %13984, %13977
  %14007 = load i32, ptr %236, align 4, !tbaa !5
  %14008 = call ptr @__errno_location() #9
  store i32 %14007, ptr %14008, align 4, !tbaa !5
  %14009 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14010 = load i32, ptr @test_count, align 4, !tbaa !5
  %14011 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14012 = load i32, ptr %14011, align 4, !tbaa !5
  %14013 = call ptr @s2n_strerror(i32 noundef %14012, ptr noundef @.str.4)
  %14014 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14015 = load i32, ptr %14014, align 4, !tbaa !5
  %14016 = call ptr @s2n_strerror_debug(i32 noundef %14015, ptr noundef @.str.4)
  %14017 = call ptr @__errno_location() #9
  %14018 = load i32, ptr %14017, align 4, !tbaa !5
  %14019 = call ptr @strerror(i32 noundef %14018) #8
  %14020 = call ptr @__errno_location() #9
  %14021 = load i32, ptr %14020, align 4, !tbaa !5
  %14022 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14009, ptr noundef @.str.5, i32 noundef %14010, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 352, ptr noundef %14013, ptr noundef %14016, ptr noundef %14019, i32 noundef %14021) #8
  br label %14023

14023:                                            ; preds = %14006, %13989
  call void @llvm.lifetime.end.p0(i64 4, ptr %236) #8
  br label %14024

14024:                                            ; preds = %14023
  br label %14025

14025:                                            ; preds = %14024
  call void @exit(i32 noundef 1) #10
  unreachable

14026:                                            ; No predecessors!
  br label %14027

14027:                                            ; preds = %14026
  br label %14028

14028:                                            ; preds = %14027, %13968
  br label %14029

14029:                                            ; preds = %14028
  br label %14030

14030:                                            ; preds = %14029
  br label %14031

14031:                                            ; preds = %14030
  %14032 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %14032, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %14033 = call ptr @__errno_location() #9
  store i32 0, ptr %14033, align 4, !tbaa !5
  br label %14034

14034:                                            ; preds = %14031
  br label %14035

14035:                                            ; preds = %14034
  br label %14036

14036:                                            ; preds = %14035
  br label %14037

14037:                                            ; preds = %14036
  br label %14038

14038:                                            ; preds = %14037
  %14039 = load i32, ptr @test_count, align 4, !tbaa !5
  %14040 = add nsw i32 %14039, 1
  store i32 %14040, ptr @test_count, align 4, !tbaa !5
  %14041 = load ptr, ptr %207, align 8, !tbaa !9
  %14042 = icmp eq ptr %14041, null
  br i1 %14042, label %14096, label %14043

14043:                                            ; preds = %14038
  br label %14044

14044:                                            ; preds = %14043
  br label %14045

14045:                                            ; preds = %14044
  call void @llvm.lifetime.start.p0(i64 4, ptr %237) #8
  %14046 = call ptr @__errno_location() #9
  %14047 = load i32, ptr %14046, align 4, !tbaa !5
  store i32 %14047, ptr %237, align 4, !tbaa !5
  %14048 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14049 = call i32 @s2n_print_stacktrace(ptr noundef %14048)
  %14050 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14051 = trunc i8 %14050 to i1
  br i1 %14051, label %14052, label %14074

14052:                                            ; preds = %14045
  %14053 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14054 = call i32 @fileno(ptr noundef %14053) #8
  %14055 = call i32 @isatty(i32 noundef %14054) #8
  %14056 = icmp ne i32 %14055, 0
  br i1 %14056, label %14057, label %14074

14057:                                            ; preds = %14052
  %14058 = load i32, ptr %237, align 4, !tbaa !5
  %14059 = call ptr @__errno_location() #9
  store i32 %14058, ptr %14059, align 4, !tbaa !5
  %14060 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14061 = load i32, ptr @test_count, align 4, !tbaa !5
  %14062 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14063 = load i32, ptr %14062, align 4, !tbaa !5
  %14064 = call ptr @s2n_strerror(i32 noundef %14063, ptr noundef @.str.4)
  %14065 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14066 = load i32, ptr %14065, align 4, !tbaa !5
  %14067 = call ptr @s2n_strerror_debug(i32 noundef %14066, ptr noundef @.str.4)
  %14068 = call ptr @__errno_location() #9
  %14069 = load i32, ptr %14068, align 4, !tbaa !5
  %14070 = call ptr @strerror(i32 noundef %14069) #8
  %14071 = call ptr @__errno_location() #9
  %14072 = load i32, ptr %14071, align 4, !tbaa !5
  %14073 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14060, ptr noundef @.str.2, i32 noundef %14061, ptr noundef @.str.71, ptr noundef @.str.1, i32 noundef 353, ptr noundef %14064, ptr noundef %14067, ptr noundef %14070, i32 noundef %14072) #8
  br label %14091

14074:                                            ; preds = %14052, %14045
  %14075 = load i32, ptr %237, align 4, !tbaa !5
  %14076 = call ptr @__errno_location() #9
  store i32 %14075, ptr %14076, align 4, !tbaa !5
  %14077 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14078 = load i32, ptr @test_count, align 4, !tbaa !5
  %14079 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14080 = load i32, ptr %14079, align 4, !tbaa !5
  %14081 = call ptr @s2n_strerror(i32 noundef %14080, ptr noundef @.str.4)
  %14082 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14083 = load i32, ptr %14082, align 4, !tbaa !5
  %14084 = call ptr @s2n_strerror_debug(i32 noundef %14083, ptr noundef @.str.4)
  %14085 = call ptr @__errno_location() #9
  %14086 = load i32, ptr %14085, align 4, !tbaa !5
  %14087 = call ptr @strerror(i32 noundef %14086) #8
  %14088 = call ptr @__errno_location() #9
  %14089 = load i32, ptr %14088, align 4, !tbaa !5
  %14090 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14077, ptr noundef @.str.5, i32 noundef %14078, ptr noundef @.str.71, ptr noundef @.str.1, i32 noundef 353, ptr noundef %14081, ptr noundef %14084, ptr noundef %14087, i32 noundef %14089) #8
  br label %14091

14091:                                            ; preds = %14074, %14057
  call void @llvm.lifetime.end.p0(i64 4, ptr %237) #8
  br label %14092

14092:                                            ; preds = %14091
  br label %14093

14093:                                            ; preds = %14092
  call void @exit(i32 noundef 1) #10
  unreachable

14094:                                            ; No predecessors!
  br label %14095

14095:                                            ; preds = %14094
  br label %14096

14096:                                            ; preds = %14095, %14038
  br label %14097

14097:                                            ; preds = %14096
  br label %14098

14098:                                            ; preds = %14097
  br label %14099

14099:                                            ; preds = %14098
  %14100 = load i32, ptr @test_count, align 4, !tbaa !5
  %14101 = add nsw i32 %14100, 1
  store i32 %14101, ptr @test_count, align 4, !tbaa !5
  %14102 = load ptr, ptr %206, align 8, !tbaa !9
  %14103 = call i32 @s2n_connection_free(ptr noundef %14102)
  %14104 = icmp eq i32 %14103, -1
  br i1 %14104, label %14105, label %14158

14105:                                            ; preds = %14099
  br label %14106

14106:                                            ; preds = %14105
  br label %14107

14107:                                            ; preds = %14106
  call void @llvm.lifetime.start.p0(i64 4, ptr %238) #8
  %14108 = call ptr @__errno_location() #9
  %14109 = load i32, ptr %14108, align 4, !tbaa !5
  store i32 %14109, ptr %238, align 4, !tbaa !5
  %14110 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14111 = call i32 @s2n_print_stacktrace(ptr noundef %14110)
  %14112 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14113 = trunc i8 %14112 to i1
  br i1 %14113, label %14114, label %14136

14114:                                            ; preds = %14107
  %14115 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14116 = call i32 @fileno(ptr noundef %14115) #8
  %14117 = call i32 @isatty(i32 noundef %14116) #8
  %14118 = icmp ne i32 %14117, 0
  br i1 %14118, label %14119, label %14136

14119:                                            ; preds = %14114
  %14120 = load i32, ptr %238, align 4, !tbaa !5
  %14121 = call ptr @__errno_location() #9
  store i32 %14120, ptr %14121, align 4, !tbaa !5
  %14122 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14123 = load i32, ptr @test_count, align 4, !tbaa !5
  %14124 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14125 = load i32, ptr %14124, align 4, !tbaa !5
  %14126 = call ptr @s2n_strerror(i32 noundef %14125, ptr noundef @.str.4)
  %14127 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14128 = load i32, ptr %14127, align 4, !tbaa !5
  %14129 = call ptr @s2n_strerror_debug(i32 noundef %14128, ptr noundef @.str.4)
  %14130 = call ptr @__errno_location() #9
  %14131 = load i32, ptr %14130, align 4, !tbaa !5
  %14132 = call ptr @strerror(i32 noundef %14131) #8
  %14133 = call ptr @__errno_location() #9
  %14134 = load i32, ptr %14133, align 4, !tbaa !5
  %14135 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14122, ptr noundef @.str.2, i32 noundef %14123, ptr noundef @.str.31, ptr noundef @.str.1, i32 noundef 355, ptr noundef %14126, ptr noundef %14129, ptr noundef %14132, i32 noundef %14134) #8
  br label %14153

14136:                                            ; preds = %14114, %14107
  %14137 = load i32, ptr %238, align 4, !tbaa !5
  %14138 = call ptr @__errno_location() #9
  store i32 %14137, ptr %14138, align 4, !tbaa !5
  %14139 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14140 = load i32, ptr @test_count, align 4, !tbaa !5
  %14141 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14142 = load i32, ptr %14141, align 4, !tbaa !5
  %14143 = call ptr @s2n_strerror(i32 noundef %14142, ptr noundef @.str.4)
  %14144 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14145 = load i32, ptr %14144, align 4, !tbaa !5
  %14146 = call ptr @s2n_strerror_debug(i32 noundef %14145, ptr noundef @.str.4)
  %14147 = call ptr @__errno_location() #9
  %14148 = load i32, ptr %14147, align 4, !tbaa !5
  %14149 = call ptr @strerror(i32 noundef %14148) #8
  %14150 = call ptr @__errno_location() #9
  %14151 = load i32, ptr %14150, align 4, !tbaa !5
  %14152 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14139, ptr noundef @.str.5, i32 noundef %14140, ptr noundef @.str.31, ptr noundef @.str.1, i32 noundef 355, ptr noundef %14143, ptr noundef %14146, ptr noundef %14149, i32 noundef %14151) #8
  br label %14153

14153:                                            ; preds = %14136, %14119
  call void @llvm.lifetime.end.p0(i64 4, ptr %238) #8
  br label %14154

14154:                                            ; preds = %14153
  br label %14155

14155:                                            ; preds = %14154
  call void @exit(i32 noundef 1) #10
  unreachable

14156:                                            ; No predecessors!
  br label %14157

14157:                                            ; preds = %14156
  br label %14158

14158:                                            ; preds = %14157, %14099
  br label %14159

14159:                                            ; preds = %14158
  br label %14160

14160:                                            ; preds = %14159
  call void @llvm.lifetime.end.p0(i64 40, ptr %209) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %207) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %206) #8
  call void @llvm.lifetime.start.p0(i64 8, ptr %239) #8
  %14161 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %14161, ptr %239, align 8, !tbaa !9
  br label %14162

14162:                                            ; preds = %14160
  %14163 = load i32, ptr @test_count, align 4, !tbaa !5
  %14164 = add nsw i32 %14163, 1
  store i32 %14164, ptr @test_count, align 4, !tbaa !5
  %14165 = load ptr, ptr %239, align 8, !tbaa !9
  %14166 = load ptr, ptr %19, align 8, !tbaa !9
  %14167 = call i32 @s2n_connection_set_config(ptr noundef %14165, ptr noundef %14166)
  %14168 = icmp eq i32 %14167, -1
  br i1 %14168, label %14169, label %14222

14169:                                            ; preds = %14162
  br label %14170

14170:                                            ; preds = %14169
  br label %14171

14171:                                            ; preds = %14170
  call void @llvm.lifetime.start.p0(i64 4, ptr %240) #8
  %14172 = call ptr @__errno_location() #9
  %14173 = load i32, ptr %14172, align 4, !tbaa !5
  store i32 %14173, ptr %240, align 4, !tbaa !5
  %14174 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14175 = call i32 @s2n_print_stacktrace(ptr noundef %14174)
  %14176 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14177 = trunc i8 %14176 to i1
  br i1 %14177, label %14178, label %14200

14178:                                            ; preds = %14171
  %14179 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14180 = call i32 @fileno(ptr noundef %14179) #8
  %14181 = call i32 @isatty(i32 noundef %14180) #8
  %14182 = icmp ne i32 %14181, 0
  br i1 %14182, label %14183, label %14200

14183:                                            ; preds = %14178
  %14184 = load i32, ptr %240, align 4, !tbaa !5
  %14185 = call ptr @__errno_location() #9
  store i32 %14184, ptr %14185, align 4, !tbaa !5
  %14186 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14187 = load i32, ptr @test_count, align 4, !tbaa !5
  %14188 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14189 = load i32, ptr %14188, align 4, !tbaa !5
  %14190 = call ptr @s2n_strerror(i32 noundef %14189, ptr noundef @.str.4)
  %14191 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14192 = load i32, ptr %14191, align 4, !tbaa !5
  %14193 = call ptr @s2n_strerror_debug(i32 noundef %14192, ptr noundef @.str.4)
  %14194 = call ptr @__errno_location() #9
  %14195 = load i32, ptr %14194, align 4, !tbaa !5
  %14196 = call ptr @strerror(i32 noundef %14195) #8
  %14197 = call ptr @__errno_location() #9
  %14198 = load i32, ptr %14197, align 4, !tbaa !5
  %14199 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14186, ptr noundef @.str.2, i32 noundef %14187, ptr noundef @.str.30, ptr noundef @.str.1, i32 noundef 361, ptr noundef %14190, ptr noundef %14193, ptr noundef %14196, i32 noundef %14198) #8
  br label %14217

14200:                                            ; preds = %14178, %14171
  %14201 = load i32, ptr %240, align 4, !tbaa !5
  %14202 = call ptr @__errno_location() #9
  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() #9
  %14212 = load i32, ptr %14211, align 4, !tbaa !5
  %14213 = call ptr @strerror(i32 noundef %14212) #8
  %14214 = call ptr @__errno_location() #9
  %14215 = load i32, ptr %14214, align 4, !tbaa !5
  %14216 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14203, ptr noundef @.str.5, i32 noundef %14204, ptr noundef @.str.30, ptr noundef @.str.1, i32 noundef 361, ptr noundef %14207, ptr noundef %14210, ptr noundef %14213, i32 noundef %14215) #8
  br label %14217

14217:                                            ; preds = %14200, %14183
  call void @llvm.lifetime.end.p0(i64 4, ptr %240) #8
  br label %14218

14218:                                            ; preds = %14217
  br label %14219

14219:                                            ; preds = %14218
  call void @exit(i32 noundef 1) #10
  unreachable

14220:                                            ; No predecessors!
  br label %14221

14221:                                            ; preds = %14220
  br label %14222

14222:                                            ; preds = %14221, %14162
  br label %14223

14223:                                            ; preds = %14222
  br label %14224

14224:                                            ; preds = %14223
  br label %14225

14225:                                            ; preds = %14224
  %14226 = load i32, ptr @test_count, align 4, !tbaa !5
  %14227 = add nsw i32 %14226, 1
  store i32 %14227, ptr @test_count, align 4, !tbaa !5
  %14228 = load ptr, ptr %239, align 8, !tbaa !9
  %14229 = load ptr, ptr %14, align 8, !tbaa !9
  %14230 = call i32 @s2n_connection_set_config(ptr noundef %14228, ptr noundef %14229)
  %14231 = icmp eq i32 %14230, -1
  br i1 %14231, label %14232, label %14285

14232:                                            ; preds = %14225
  br label %14233

14233:                                            ; preds = %14232
  br label %14234

14234:                                            ; preds = %14233
  call void @llvm.lifetime.start.p0(i64 4, ptr %241) #8
  %14235 = call ptr @__errno_location() #9
  %14236 = load i32, ptr %14235, align 4, !tbaa !5
  store i32 %14236, ptr %241, align 4, !tbaa !5
  %14237 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14238 = call i32 @s2n_print_stacktrace(ptr noundef %14237)
  %14239 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14240 = trunc i8 %14239 to i1
  br i1 %14240, label %14241, label %14263

14241:                                            ; preds = %14234
  %14242 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14243 = call i32 @fileno(ptr noundef %14242) #8
  %14244 = call i32 @isatty(i32 noundef %14243) #8
  %14245 = icmp ne i32 %14244, 0
  br i1 %14245, label %14246, label %14263

14246:                                            ; preds = %14241
  %14247 = load i32, ptr %241, align 4, !tbaa !5
  %14248 = call ptr @__errno_location() #9
  store i32 %14247, ptr %14248, align 4, !tbaa !5
  %14249 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14250 = load i32, ptr @test_count, align 4, !tbaa !5
  %14251 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14252 = load i32, ptr %14251, align 4, !tbaa !5
  %14253 = call ptr @s2n_strerror(i32 noundef %14252, ptr noundef @.str.4)
  %14254 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14255 = load i32, ptr %14254, align 4, !tbaa !5
  %14256 = call ptr @s2n_strerror_debug(i32 noundef %14255, ptr noundef @.str.4)
  %14257 = call ptr @__errno_location() #9
  %14258 = load i32, ptr %14257, align 4, !tbaa !5
  %14259 = call ptr @strerror(i32 noundef %14258) #8
  %14260 = call ptr @__errno_location() #9
  %14261 = load i32, ptr %14260, align 4, !tbaa !5
  %14262 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14249, ptr noundef @.str.2, i32 noundef %14250, ptr noundef @.str.19, ptr noundef @.str.1, i32 noundef 364, ptr noundef %14253, ptr noundef %14256, ptr noundef %14259, i32 noundef %14261) #8
  br label %14280

14263:                                            ; preds = %14241, %14234
  %14264 = load i32, ptr %241, align 4, !tbaa !5
  %14265 = call ptr @__errno_location() #9
  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() #9
  %14275 = load i32, ptr %14274, align 4, !tbaa !5
  %14276 = call ptr @strerror(i32 noundef %14275) #8
  %14277 = call ptr @__errno_location() #9
  %14278 = load i32, ptr %14277, align 4, !tbaa !5
  %14279 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14266, ptr noundef @.str.5, i32 noundef %14267, ptr noundef @.str.19, ptr noundef @.str.1, i32 noundef 364, ptr noundef %14270, ptr noundef %14273, ptr noundef %14276, i32 noundef %14278) #8
  br label %14280

14280:                                            ; preds = %14263, %14246
  call void @llvm.lifetime.end.p0(i64 4, ptr %241) #8
  br label %14281

14281:                                            ; preds = %14280
  br label %14282

14282:                                            ; preds = %14281
  call void @exit(i32 noundef 1) #10
  unreachable

14283:                                            ; No predecessors!
  br label %14284

14284:                                            ; preds = %14283
  br label %14285

14285:                                            ; preds = %14284, %14225
  br label %14286

14286:                                            ; preds = %14285
  br label %14287

14287:                                            ; preds = %14286
  br label %14288

14288:                                            ; preds = %14287
  br label %14289

14289:                                            ; preds = %14288
  %14290 = load i32, ptr @test_count, align 4, !tbaa !5
  %14291 = add nsw i32 %14290, 1
  store i32 %14291, ptr @test_count, align 4, !tbaa !5
  %14292 = load ptr, ptr %239, align 8, !tbaa !9
  %14293 = call i32 @s2n_test_auth_combo(ptr noundef %14292, ptr noundef @s2n_dhe_rsa_with_3des_ede_cbc_sha, ptr noundef @s2n_rsa_pkcs1_md5_sha1, ptr noundef null)
  %14294 = icmp eq i32 %14293, -1
  br i1 %14294, label %14348, label %14295

14295:                                            ; preds = %14289
  br label %14296

14296:                                            ; preds = %14295
  br label %14297

14297:                                            ; preds = %14296
  call void @llvm.lifetime.start.p0(i64 4, ptr %242) #8
  %14298 = call ptr @__errno_location() #9
  %14299 = load i32, ptr %14298, align 4, !tbaa !5
  store i32 %14299, ptr %242, align 4, !tbaa !5
  %14300 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14301 = call i32 @s2n_print_stacktrace(ptr noundef %14300)
  %14302 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14303 = trunc i8 %14302 to i1
  br i1 %14303, label %14304, label %14326

14304:                                            ; preds = %14297
  %14305 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14306 = call i32 @fileno(ptr noundef %14305) #8
  %14307 = call i32 @isatty(i32 noundef %14306) #8
  %14308 = icmp ne i32 %14307, 0
  br i1 %14308, label %14309, label %14326

14309:                                            ; preds = %14304
  %14310 = load i32, ptr %242, align 4, !tbaa !5
  %14311 = call ptr @__errno_location() #9
  store i32 %14310, ptr %14311, align 4, !tbaa !5
  %14312 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14313 = load i32, ptr @test_count, align 4, !tbaa !5
  %14314 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14315 = load i32, ptr %14314, align 4, !tbaa !5
  %14316 = call ptr @s2n_strerror(i32 noundef %14315, ptr noundef @.str.4)
  %14317 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14318 = load i32, ptr %14317, align 4, !tbaa !5
  %14319 = call ptr @s2n_strerror_debug(i32 noundef %14318, ptr noundef @.str.4)
  %14320 = call ptr @__errno_location() #9
  %14321 = load i32, ptr %14320, align 4, !tbaa !5
  %14322 = call ptr @strerror(i32 noundef %14321) #8
  %14323 = call ptr @__errno_location() #9
  %14324 = load i32, ptr %14323, align 4, !tbaa !5
  %14325 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14312, ptr noundef @.str.2, i32 noundef %14313, ptr noundef @.str.72, ptr noundef @.str.1, i32 noundef 366, ptr noundef %14316, ptr noundef %14319, ptr noundef %14322, i32 noundef %14324) #8
  br label %14343

14326:                                            ; preds = %14304, %14297
  %14327 = load i32, ptr %242, align 4, !tbaa !5
  %14328 = call ptr @__errno_location() #9
  store i32 %14327, ptr %14328, align 4, !tbaa !5
  %14329 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14330 = load i32, ptr @test_count, align 4, !tbaa !5
  %14331 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14332 = load i32, ptr %14331, align 4, !tbaa !5
  %14333 = call ptr @s2n_strerror(i32 noundef %14332, ptr noundef @.str.4)
  %14334 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14335 = load i32, ptr %14334, align 4, !tbaa !5
  %14336 = call ptr @s2n_strerror_debug(i32 noundef %14335, ptr noundef @.str.4)
  %14337 = call ptr @__errno_location() #9
  %14338 = load i32, ptr %14337, align 4, !tbaa !5
  %14339 = call ptr @strerror(i32 noundef %14338) #8
  %14340 = call ptr @__errno_location() #9
  %14341 = load i32, ptr %14340, align 4, !tbaa !5
  %14342 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14329, ptr noundef @.str.5, i32 noundef %14330, ptr noundef @.str.72, ptr noundef @.str.1, i32 noundef 366, ptr noundef %14333, ptr noundef %14336, ptr noundef %14339, i32 noundef %14341) #8
  br label %14343

14343:                                            ; preds = %14326, %14309
  call void @llvm.lifetime.end.p0(i64 4, ptr %242) #8
  br label %14344

14344:                                            ; preds = %14343
  br label %14345

14345:                                            ; preds = %14344
  call void @exit(i32 noundef 1) #10
  unreachable

14346:                                            ; No predecessors!
  br label %14347

14347:                                            ; preds = %14346
  br label %14348

14348:                                            ; preds = %14347, %14289
  br label %14349

14349:                                            ; preds = %14348
  br label %14350

14350:                                            ; preds = %14349
  br label %14351

14351:                                            ; preds = %14350
  %14352 = load i32, ptr @test_count, align 4, !tbaa !5
  %14353 = add nsw i32 %14352, 1
  store i32 %14353, ptr @test_count, align 4, !tbaa !5
  %14354 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14355 = load i32, ptr %14354, align 4, !tbaa !5
  %14356 = icmp eq i32 %14355, 0
  br i1 %14356, label %14357, label %14410

14357:                                            ; preds = %14351
  br label %14358

14358:                                            ; preds = %14357
  br label %14359

14359:                                            ; preds = %14358
  call void @llvm.lifetime.start.p0(i64 4, ptr %243) #8
  %14360 = call ptr @__errno_location() #9
  %14361 = load i32, ptr %14360, align 4, !tbaa !5
  store i32 %14361, ptr %243, align 4, !tbaa !5
  %14362 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14363 = call i32 @s2n_print_stacktrace(ptr noundef %14362)
  %14364 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14365 = trunc i8 %14364 to i1
  br i1 %14365, label %14366, label %14388

14366:                                            ; preds = %14359
  %14367 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14368 = call i32 @fileno(ptr noundef %14367) #8
  %14369 = call i32 @isatty(i32 noundef %14368) #8
  %14370 = icmp ne i32 %14369, 0
  br i1 %14370, label %14371, label %14388

14371:                                            ; preds = %14366
  %14372 = load i32, ptr %243, align 4, !tbaa !5
  %14373 = call ptr @__errno_location() #9
  store i32 %14372, ptr %14373, align 4, !tbaa !5
  %14374 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14375 = load i32, ptr @test_count, align 4, !tbaa !5
  %14376 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14377 = load i32, ptr %14376, align 4, !tbaa !5
  %14378 = call ptr @s2n_strerror(i32 noundef %14377, ptr noundef @.str.4)
  %14379 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14380 = load i32, ptr %14379, align 4, !tbaa !5
  %14381 = call ptr @s2n_strerror_debug(i32 noundef %14380, ptr noundef @.str.4)
  %14382 = call ptr @__errno_location() #9
  %14383 = load i32, ptr %14382, align 4, !tbaa !5
  %14384 = call ptr @strerror(i32 noundef %14383) #8
  %14385 = call ptr @__errno_location() #9
  %14386 = load i32, ptr %14385, align 4, !tbaa !5
  %14387 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14374, ptr noundef @.str.2, i32 noundef %14375, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 366, ptr noundef %14378, ptr noundef %14381, ptr noundef %14384, i32 noundef %14386) #8
  br label %14405

14388:                                            ; preds = %14366, %14359
  %14389 = load i32, ptr %243, align 4, !tbaa !5
  %14390 = call ptr @__errno_location() #9
  store i32 %14389, ptr %14390, align 4, !tbaa !5
  %14391 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14392 = load i32, ptr @test_count, align 4, !tbaa !5
  %14393 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14394 = load i32, ptr %14393, align 4, !tbaa !5
  %14395 = call ptr @s2n_strerror(i32 noundef %14394, ptr noundef @.str.4)
  %14396 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14397 = load i32, ptr %14396, align 4, !tbaa !5
  %14398 = call ptr @s2n_strerror_debug(i32 noundef %14397, ptr noundef @.str.4)
  %14399 = call ptr @__errno_location() #9
  %14400 = load i32, ptr %14399, align 4, !tbaa !5
  %14401 = call ptr @strerror(i32 noundef %14400) #8
  %14402 = call ptr @__errno_location() #9
  %14403 = load i32, ptr %14402, align 4, !tbaa !5
  %14404 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14391, ptr noundef @.str.5, i32 noundef %14392, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 366, ptr noundef %14395, ptr noundef %14398, ptr noundef %14401, i32 noundef %14403) #8
  br label %14405

14405:                                            ; preds = %14388, %14371
  call void @llvm.lifetime.end.p0(i64 4, ptr %243) #8
  br label %14406

14406:                                            ; preds = %14405
  br label %14407

14407:                                            ; preds = %14406
  call void @exit(i32 noundef 1) #10
  unreachable

14408:                                            ; No predecessors!
  br label %14409

14409:                                            ; preds = %14408
  br label %14410

14410:                                            ; preds = %14409, %14351
  br label %14411

14411:                                            ; preds = %14410
  br label %14412

14412:                                            ; preds = %14411
  br label %14413

14413:                                            ; preds = %14412
  %14414 = load i32, ptr @test_count, align 4, !tbaa !5
  %14415 = add nsw i32 %14414, 1
  store i32 %14415, ptr @test_count, align 4, !tbaa !5
  %14416 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14417 = load i32, ptr %14416, align 4, !tbaa !5
  %14418 = call ptr @s2n_strerror_debug(i32 noundef %14417, ptr noundef @.str.4)
  %14419 = icmp eq ptr %14418, null
  br i1 %14419, label %14420, label %14473

14420:                                            ; preds = %14413
  br label %14421

14421:                                            ; preds = %14420
  br label %14422

14422:                                            ; preds = %14421
  call void @llvm.lifetime.start.p0(i64 4, ptr %244) #8
  %14423 = call ptr @__errno_location() #9
  %14424 = load i32, ptr %14423, align 4, !tbaa !5
  store i32 %14424, ptr %244, align 4, !tbaa !5
  %14425 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14426 = call i32 @s2n_print_stacktrace(ptr noundef %14425)
  %14427 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14428 = trunc i8 %14427 to i1
  br i1 %14428, label %14429, label %14451

14429:                                            ; preds = %14422
  %14430 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14431 = call i32 @fileno(ptr noundef %14430) #8
  %14432 = call i32 @isatty(i32 noundef %14431) #8
  %14433 = icmp ne i32 %14432, 0
  br i1 %14433, label %14434, label %14451

14434:                                            ; preds = %14429
  %14435 = load i32, ptr %244, align 4, !tbaa !5
  %14436 = call ptr @__errno_location() #9
  store i32 %14435, ptr %14436, align 4, !tbaa !5
  %14437 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14438 = load i32, ptr @test_count, align 4, !tbaa !5
  %14439 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14440 = load i32, ptr %14439, align 4, !tbaa !5
  %14441 = call ptr @s2n_strerror(i32 noundef %14440, ptr noundef @.str.4)
  %14442 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14443 = load i32, ptr %14442, align 4, !tbaa !5
  %14444 = call ptr @s2n_strerror_debug(i32 noundef %14443, ptr noundef @.str.4)
  %14445 = call ptr @__errno_location() #9
  %14446 = load i32, ptr %14445, align 4, !tbaa !5
  %14447 = call ptr @strerror(i32 noundef %14446) #8
  %14448 = call ptr @__errno_location() #9
  %14449 = load i32, ptr %14448, align 4, !tbaa !5
  %14450 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14437, ptr noundef @.str.2, i32 noundef %14438, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 366, ptr noundef %14441, ptr noundef %14444, ptr noundef %14447, i32 noundef %14449) #8
  br label %14468

14451:                                            ; preds = %14429, %14422
  %14452 = load i32, ptr %244, align 4, !tbaa !5
  %14453 = call ptr @__errno_location() #9
  store i32 %14452, ptr %14453, align 4, !tbaa !5
  %14454 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14455 = load i32, ptr @test_count, align 4, !tbaa !5
  %14456 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14457 = load i32, ptr %14456, align 4, !tbaa !5
  %14458 = call ptr @s2n_strerror(i32 noundef %14457, ptr noundef @.str.4)
  %14459 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14460 = load i32, ptr %14459, align 4, !tbaa !5
  %14461 = call ptr @s2n_strerror_debug(i32 noundef %14460, ptr noundef @.str.4)
  %14462 = call ptr @__errno_location() #9
  %14463 = load i32, ptr %14462, align 4, !tbaa !5
  %14464 = call ptr @strerror(i32 noundef %14463) #8
  %14465 = call ptr @__errno_location() #9
  %14466 = load i32, ptr %14465, align 4, !tbaa !5
  %14467 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14454, ptr noundef @.str.5, i32 noundef %14455, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 366, ptr noundef %14458, ptr noundef %14461, ptr noundef %14464, i32 noundef %14466) #8
  br label %14468

14468:                                            ; preds = %14451, %14434
  call void @llvm.lifetime.end.p0(i64 4, ptr %244) #8
  br label %14469

14469:                                            ; preds = %14468
  br label %14470

14470:                                            ; preds = %14469
  call void @exit(i32 noundef 1) #10
  unreachable

14471:                                            ; No predecessors!
  br label %14472

14472:                                            ; preds = %14471
  br label %14473

14473:                                            ; preds = %14472, %14413
  br label %14474

14474:                                            ; preds = %14473
  br label %14475

14475:                                            ; preds = %14474
  br label %14476

14476:                                            ; preds = %14475
  %14477 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %14477, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %14478 = call ptr @__errno_location() #9
  store i32 0, ptr %14478, align 4, !tbaa !5
  br label %14479

14479:                                            ; preds = %14476
  br label %14480

14480:                                            ; preds = %14479
  br label %14481

14481:                                            ; preds = %14480
  br label %14482

14482:                                            ; preds = %14481
  br label %14483

14483:                                            ; preds = %14482
  br label %14484

14484:                                            ; preds = %14483
  %14485 = load i32, ptr @test_count, align 4, !tbaa !5
  %14486 = add nsw i32 %14485, 1
  store i32 %14486, ptr @test_count, align 4, !tbaa !5
  %14487 = load ptr, ptr %239, align 8, !tbaa !9
  %14488 = call i32 @s2n_test_auth_combo(ptr noundef %14487, ptr noundef @s2n_dhe_rsa_with_3des_ede_cbc_sha, ptr noundef @s2n_rsa_pss_pss_sha256, ptr noundef null)
  %14489 = icmp eq i32 %14488, -1
  br i1 %14489, label %14543, label %14490

14490:                                            ; preds = %14484
  br label %14491

14491:                                            ; preds = %14490
  br label %14492

14492:                                            ; preds = %14491
  call void @llvm.lifetime.start.p0(i64 4, ptr %245) #8
  %14493 = call ptr @__errno_location() #9
  %14494 = load i32, ptr %14493, align 4, !tbaa !5
  store i32 %14494, ptr %245, align 4, !tbaa !5
  %14495 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14496 = call i32 @s2n_print_stacktrace(ptr noundef %14495)
  %14497 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14498 = trunc i8 %14497 to i1
  br i1 %14498, label %14499, label %14521

14499:                                            ; preds = %14492
  %14500 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14501 = call i32 @fileno(ptr noundef %14500) #8
  %14502 = call i32 @isatty(i32 noundef %14501) #8
  %14503 = icmp ne i32 %14502, 0
  br i1 %14503, label %14504, label %14521

14504:                                            ; preds = %14499
  %14505 = load i32, ptr %245, align 4, !tbaa !5
  %14506 = call ptr @__errno_location() #9
  store i32 %14505, ptr %14506, align 4, !tbaa !5
  %14507 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14508 = load i32, ptr @test_count, align 4, !tbaa !5
  %14509 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14510 = load i32, ptr %14509, align 4, !tbaa !5
  %14511 = call ptr @s2n_strerror(i32 noundef %14510, ptr noundef @.str.4)
  %14512 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14513 = load i32, ptr %14512, align 4, !tbaa !5
  %14514 = call ptr @s2n_strerror_debug(i32 noundef %14513, ptr noundef @.str.4)
  %14515 = call ptr @__errno_location() #9
  %14516 = load i32, ptr %14515, align 4, !tbaa !5
  %14517 = call ptr @strerror(i32 noundef %14516) #8
  %14518 = call ptr @__errno_location() #9
  %14519 = load i32, ptr %14518, align 4, !tbaa !5
  %14520 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14507, ptr noundef @.str.2, i32 noundef %14508, ptr noundef @.str.73, ptr noundef @.str.1, i32 noundef 367, ptr noundef %14511, ptr noundef %14514, ptr noundef %14517, i32 noundef %14519) #8
  br label %14538

14521:                                            ; preds = %14499, %14492
  %14522 = load i32, ptr %245, align 4, !tbaa !5
  %14523 = call ptr @__errno_location() #9
  store i32 %14522, ptr %14523, align 4, !tbaa !5
  %14524 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14525 = load i32, ptr @test_count, align 4, !tbaa !5
  %14526 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14527 = load i32, ptr %14526, align 4, !tbaa !5
  %14528 = call ptr @s2n_strerror(i32 noundef %14527, ptr noundef @.str.4)
  %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_debug(i32 noundef %14530, ptr noundef @.str.4)
  %14532 = call ptr @__errno_location() #9
  %14533 = load i32, ptr %14532, align 4, !tbaa !5
  %14534 = call ptr @strerror(i32 noundef %14533) #8
  %14535 = call ptr @__errno_location() #9
  %14536 = load i32, ptr %14535, align 4, !tbaa !5
  %14537 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14524, ptr noundef @.str.5, i32 noundef %14525, ptr noundef @.str.73, ptr noundef @.str.1, i32 noundef 367, ptr noundef %14528, ptr noundef %14531, ptr noundef %14534, i32 noundef %14536) #8
  br label %14538

14538:                                            ; preds = %14521, %14504
  call void @llvm.lifetime.end.p0(i64 4, ptr %245) #8
  br label %14539

14539:                                            ; preds = %14538
  br label %14540

14540:                                            ; preds = %14539
  call void @exit(i32 noundef 1) #10
  unreachable

14541:                                            ; No predecessors!
  br label %14542

14542:                                            ; preds = %14541
  br label %14543

14543:                                            ; preds = %14542, %14484
  br label %14544

14544:                                            ; preds = %14543
  br label %14545

14545:                                            ; preds = %14544
  br label %14546

14546:                                            ; preds = %14545
  %14547 = load i32, ptr @test_count, align 4, !tbaa !5
  %14548 = add nsw i32 %14547, 1
  store i32 %14548, ptr @test_count, align 4, !tbaa !5
  %14549 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14550 = load i32, ptr %14549, align 4, !tbaa !5
  %14551 = icmp eq i32 %14550, 0
  br i1 %14551, label %14552, label %14605

14552:                                            ; preds = %14546
  br label %14553

14553:                                            ; preds = %14552
  br label %14554

14554:                                            ; preds = %14553
  call void @llvm.lifetime.start.p0(i64 4, ptr %246) #8
  %14555 = call ptr @__errno_location() #9
  %14556 = load i32, ptr %14555, align 4, !tbaa !5
  store i32 %14556, ptr %246, align 4, !tbaa !5
  %14557 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14558 = call i32 @s2n_print_stacktrace(ptr noundef %14557)
  %14559 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14560 = trunc i8 %14559 to i1
  br i1 %14560, label %14561, label %14583

14561:                                            ; preds = %14554
  %14562 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14563 = call i32 @fileno(ptr noundef %14562) #8
  %14564 = call i32 @isatty(i32 noundef %14563) #8
  %14565 = icmp ne i32 %14564, 0
  br i1 %14565, label %14566, label %14583

14566:                                            ; preds = %14561
  %14567 = load i32, ptr %246, align 4, !tbaa !5
  %14568 = call ptr @__errno_location() #9
  store i32 %14567, ptr %14568, align 4, !tbaa !5
  %14569 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14570 = load i32, ptr @test_count, align 4, !tbaa !5
  %14571 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14572 = load i32, ptr %14571, align 4, !tbaa !5
  %14573 = call ptr @s2n_strerror(i32 noundef %14572, ptr noundef @.str.4)
  %14574 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14575 = load i32, ptr %14574, align 4, !tbaa !5
  %14576 = call ptr @s2n_strerror_debug(i32 noundef %14575, ptr noundef @.str.4)
  %14577 = call ptr @__errno_location() #9
  %14578 = load i32, ptr %14577, align 4, !tbaa !5
  %14579 = call ptr @strerror(i32 noundef %14578) #8
  %14580 = call ptr @__errno_location() #9
  %14581 = load i32, ptr %14580, align 4, !tbaa !5
  %14582 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14569, ptr noundef @.str.2, i32 noundef %14570, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 367, ptr noundef %14573, ptr noundef %14576, ptr noundef %14579, i32 noundef %14581) #8
  br label %14600

14583:                                            ; preds = %14561, %14554
  %14584 = load i32, ptr %246, align 4, !tbaa !5
  %14585 = call ptr @__errno_location() #9
  store i32 %14584, ptr %14585, align 4, !tbaa !5
  %14586 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14587 = load i32, ptr @test_count, align 4, !tbaa !5
  %14588 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14589 = load i32, ptr %14588, align 4, !tbaa !5
  %14590 = call ptr @s2n_strerror(i32 noundef %14589, ptr noundef @.str.4)
  %14591 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14592 = load i32, ptr %14591, align 4, !tbaa !5
  %14593 = call ptr @s2n_strerror_debug(i32 noundef %14592, ptr noundef @.str.4)
  %14594 = call ptr @__errno_location() #9
  %14595 = load i32, ptr %14594, align 4, !tbaa !5
  %14596 = call ptr @strerror(i32 noundef %14595) #8
  %14597 = call ptr @__errno_location() #9
  %14598 = load i32, ptr %14597, align 4, !tbaa !5
  %14599 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14586, ptr noundef @.str.5, i32 noundef %14587, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 367, ptr noundef %14590, ptr noundef %14593, ptr noundef %14596, i32 noundef %14598) #8
  br label %14600

14600:                                            ; preds = %14583, %14566
  call void @llvm.lifetime.end.p0(i64 4, ptr %246) #8
  br label %14601

14601:                                            ; preds = %14600
  br label %14602

14602:                                            ; preds = %14601
  call void @exit(i32 noundef 1) #10
  unreachable

14603:                                            ; No predecessors!
  br label %14604

14604:                                            ; preds = %14603
  br label %14605

14605:                                            ; preds = %14604, %14546
  br label %14606

14606:                                            ; preds = %14605
  br label %14607

14607:                                            ; preds = %14606
  br label %14608

14608:                                            ; preds = %14607
  %14609 = load i32, ptr @test_count, align 4, !tbaa !5
  %14610 = add nsw i32 %14609, 1
  store i32 %14610, ptr @test_count, align 4, !tbaa !5
  %14611 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14612 = load i32, ptr %14611, align 4, !tbaa !5
  %14613 = call ptr @s2n_strerror_debug(i32 noundef %14612, ptr noundef @.str.4)
  %14614 = icmp eq ptr %14613, null
  br i1 %14614, label %14615, label %14668

14615:                                            ; preds = %14608
  br label %14616

14616:                                            ; preds = %14615
  br label %14617

14617:                                            ; preds = %14616
  call void @llvm.lifetime.start.p0(i64 4, ptr %247) #8
  %14618 = call ptr @__errno_location() #9
  %14619 = load i32, ptr %14618, align 4, !tbaa !5
  store i32 %14619, ptr %247, align 4, !tbaa !5
  %14620 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14621 = call i32 @s2n_print_stacktrace(ptr noundef %14620)
  %14622 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14623 = trunc i8 %14622 to i1
  br i1 %14623, label %14624, label %14646

14624:                                            ; preds = %14617
  %14625 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14626 = call i32 @fileno(ptr noundef %14625) #8
  %14627 = call i32 @isatty(i32 noundef %14626) #8
  %14628 = icmp ne i32 %14627, 0
  br i1 %14628, label %14629, label %14646

14629:                                            ; preds = %14624
  %14630 = load i32, ptr %247, align 4, !tbaa !5
  %14631 = call ptr @__errno_location() #9
  store i32 %14630, ptr %14631, align 4, !tbaa !5
  %14632 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14633 = load i32, ptr @test_count, align 4, !tbaa !5
  %14634 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14635 = load i32, ptr %14634, align 4, !tbaa !5
  %14636 = call ptr @s2n_strerror(i32 noundef %14635, ptr noundef @.str.4)
  %14637 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14638 = load i32, ptr %14637, align 4, !tbaa !5
  %14639 = call ptr @s2n_strerror_debug(i32 noundef %14638, ptr noundef @.str.4)
  %14640 = call ptr @__errno_location() #9
  %14641 = load i32, ptr %14640, align 4, !tbaa !5
  %14642 = call ptr @strerror(i32 noundef %14641) #8
  %14643 = call ptr @__errno_location() #9
  %14644 = load i32, ptr %14643, align 4, !tbaa !5
  %14645 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14632, ptr noundef @.str.2, i32 noundef %14633, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 367, ptr noundef %14636, ptr noundef %14639, ptr noundef %14642, i32 noundef %14644) #8
  br label %14663

14646:                                            ; preds = %14624, %14617
  %14647 = load i32, ptr %247, align 4, !tbaa !5
  %14648 = call ptr @__errno_location() #9
  store i32 %14647, ptr %14648, align 4, !tbaa !5
  %14649 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14650 = load i32, ptr @test_count, align 4, !tbaa !5
  %14651 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14652 = load i32, ptr %14651, align 4, !tbaa !5
  %14653 = call ptr @s2n_strerror(i32 noundef %14652, ptr noundef @.str.4)
  %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_debug(i32 noundef %14655, ptr noundef @.str.4)
  %14657 = call ptr @__errno_location() #9
  %14658 = load i32, ptr %14657, align 4, !tbaa !5
  %14659 = call ptr @strerror(i32 noundef %14658) #8
  %14660 = call ptr @__errno_location() #9
  %14661 = load i32, ptr %14660, align 4, !tbaa !5
  %14662 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14649, ptr noundef @.str.5, i32 noundef %14650, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 367, ptr noundef %14653, ptr noundef %14656, ptr noundef %14659, i32 noundef %14661) #8
  br label %14663

14663:                                            ; preds = %14646, %14629
  call void @llvm.lifetime.end.p0(i64 4, ptr %247) #8
  br label %14664

14664:                                            ; preds = %14663
  br label %14665

14665:                                            ; preds = %14664
  call void @exit(i32 noundef 1) #10
  unreachable

14666:                                            ; No predecessors!
  br label %14667

14667:                                            ; preds = %14666
  br label %14668

14668:                                            ; preds = %14667, %14608
  br label %14669

14669:                                            ; preds = %14668
  br label %14670

14670:                                            ; preds = %14669
  br label %14671

14671:                                            ; preds = %14670
  %14672 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %14672, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %14673 = call ptr @__errno_location() #9
  store i32 0, ptr %14673, align 4, !tbaa !5
  br label %14674

14674:                                            ; preds = %14671
  br label %14675

14675:                                            ; preds = %14674
  br label %14676

14676:                                            ; preds = %14675
  br label %14677

14677:                                            ; preds = %14676
  br label %14678

14678:                                            ; preds = %14677
  br label %14679

14679:                                            ; preds = %14678
  %14680 = load i32, ptr @test_count, align 4, !tbaa !5
  %14681 = add nsw i32 %14680, 1
  store i32 %14681, ptr @test_count, align 4, !tbaa !5
  %14682 = load ptr, ptr %239, align 8, !tbaa !9
  %14683 = call i32 @s2n_test_auth_combo(ptr noundef %14682, ptr noundef @s2n_dhe_rsa_with_3des_ede_cbc_sha, ptr noundef @s2n_rsa_pss_rsae_sha256, ptr noundef null)
  %14684 = icmp eq i32 %14683, -1
  br i1 %14684, label %14738, label %14685

14685:                                            ; preds = %14679
  br label %14686

14686:                                            ; preds = %14685
  br label %14687

14687:                                            ; preds = %14686
  call void @llvm.lifetime.start.p0(i64 4, ptr %248) #8
  %14688 = call ptr @__errno_location() #9
  %14689 = load i32, ptr %14688, align 4, !tbaa !5
  store i32 %14689, ptr %248, align 4, !tbaa !5
  %14690 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14691 = call i32 @s2n_print_stacktrace(ptr noundef %14690)
  %14692 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14693 = trunc i8 %14692 to i1
  br i1 %14693, label %14694, label %14716

14694:                                            ; preds = %14687
  %14695 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14696 = call i32 @fileno(ptr noundef %14695) #8
  %14697 = call i32 @isatty(i32 noundef %14696) #8
  %14698 = icmp ne i32 %14697, 0
  br i1 %14698, label %14699, label %14716

14699:                                            ; preds = %14694
  %14700 = load i32, ptr %248, align 4, !tbaa !5
  %14701 = call ptr @__errno_location() #9
  store i32 %14700, ptr %14701, align 4, !tbaa !5
  %14702 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14703 = load i32, ptr @test_count, align 4, !tbaa !5
  %14704 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14705 = load i32, ptr %14704, align 4, !tbaa !5
  %14706 = call ptr @s2n_strerror(i32 noundef %14705, ptr noundef @.str.4)
  %14707 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14708 = load i32, ptr %14707, align 4, !tbaa !5
  %14709 = call ptr @s2n_strerror_debug(i32 noundef %14708, ptr noundef @.str.4)
  %14710 = call ptr @__errno_location() #9
  %14711 = load i32, ptr %14710, align 4, !tbaa !5
  %14712 = call ptr @strerror(i32 noundef %14711) #8
  %14713 = call ptr @__errno_location() #9
  %14714 = load i32, ptr %14713, align 4, !tbaa !5
  %14715 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14702, ptr noundef @.str.2, i32 noundef %14703, ptr noundef @.str.74, ptr noundef @.str.1, i32 noundef 368, ptr noundef %14706, ptr noundef %14709, ptr noundef %14712, i32 noundef %14714) #8
  br label %14733

14716:                                            ; preds = %14694, %14687
  %14717 = load i32, ptr %248, align 4, !tbaa !5
  %14718 = call ptr @__errno_location() #9
  store i32 %14717, ptr %14718, align 4, !tbaa !5
  %14719 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14720 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %14722, ptr noundef @.str.4)
  %14724 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14725 = load i32, ptr %14724, align 4, !tbaa !5
  %14726 = call ptr @s2n_strerror_debug(i32 noundef %14725, ptr noundef @.str.4)
  %14727 = call ptr @__errno_location() #9
  %14728 = load i32, ptr %14727, align 4, !tbaa !5
  %14729 = call ptr @strerror(i32 noundef %14728) #8
  %14730 = call ptr @__errno_location() #9
  %14731 = load i32, ptr %14730, align 4, !tbaa !5
  %14732 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14719, ptr noundef @.str.5, i32 noundef %14720, ptr noundef @.str.74, ptr noundef @.str.1, i32 noundef 368, ptr noundef %14723, ptr noundef %14726, ptr noundef %14729, i32 noundef %14731) #8
  br label %14733

14733:                                            ; preds = %14716, %14699
  call void @llvm.lifetime.end.p0(i64 4, ptr %248) #8
  br label %14734

14734:                                            ; preds = %14733
  br label %14735

14735:                                            ; preds = %14734
  call void @exit(i32 noundef 1) #10
  unreachable

14736:                                            ; No predecessors!
  br label %14737

14737:                                            ; preds = %14736
  br label %14738

14738:                                            ; preds = %14737, %14679
  br label %14739

14739:                                            ; preds = %14738
  br label %14740

14740:                                            ; preds = %14739
  br label %14741

14741:                                            ; preds = %14740
  %14742 = load i32, ptr @test_count, align 4, !tbaa !5
  %14743 = add nsw i32 %14742, 1
  store i32 %14743, ptr @test_count, align 4, !tbaa !5
  %14744 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14745 = load i32, ptr %14744, align 4, !tbaa !5
  %14746 = icmp eq i32 %14745, 0
  br i1 %14746, label %14747, label %14800

14747:                                            ; preds = %14741
  br label %14748

14748:                                            ; preds = %14747
  br label %14749

14749:                                            ; preds = %14748
  call void @llvm.lifetime.start.p0(i64 4, ptr %249) #8
  %14750 = call ptr @__errno_location() #9
  %14751 = load i32, ptr %14750, align 4, !tbaa !5
  store i32 %14751, ptr %249, align 4, !tbaa !5
  %14752 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14753 = call i32 @s2n_print_stacktrace(ptr noundef %14752)
  %14754 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14755 = trunc i8 %14754 to i1
  br i1 %14755, label %14756, label %14778

14756:                                            ; preds = %14749
  %14757 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14758 = call i32 @fileno(ptr noundef %14757) #8
  %14759 = call i32 @isatty(i32 noundef %14758) #8
  %14760 = icmp ne i32 %14759, 0
  br i1 %14760, label %14761, label %14778

14761:                                            ; preds = %14756
  %14762 = load i32, ptr %249, align 4, !tbaa !5
  %14763 = call ptr @__errno_location() #9
  store i32 %14762, ptr %14763, align 4, !tbaa !5
  %14764 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14765 = load i32, ptr @test_count, align 4, !tbaa !5
  %14766 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14767 = load i32, ptr %14766, align 4, !tbaa !5
  %14768 = call ptr @s2n_strerror(i32 noundef %14767, ptr noundef @.str.4)
  %14769 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14770 = load i32, ptr %14769, align 4, !tbaa !5
  %14771 = call ptr @s2n_strerror_debug(i32 noundef %14770, ptr noundef @.str.4)
  %14772 = call ptr @__errno_location() #9
  %14773 = load i32, ptr %14772, align 4, !tbaa !5
  %14774 = call ptr @strerror(i32 noundef %14773) #8
  %14775 = call ptr @__errno_location() #9
  %14776 = load i32, ptr %14775, align 4, !tbaa !5
  %14777 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14764, ptr noundef @.str.2, i32 noundef %14765, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 368, ptr noundef %14768, ptr noundef %14771, ptr noundef %14774, i32 noundef %14776) #8
  br label %14795

14778:                                            ; preds = %14756, %14749
  %14779 = load i32, ptr %249, align 4, !tbaa !5
  %14780 = call ptr @__errno_location() #9
  store i32 %14779, ptr %14780, align 4, !tbaa !5
  %14781 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14782 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %14784, ptr noundef @.str.4)
  %14786 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14787 = load i32, ptr %14786, align 4, !tbaa !5
  %14788 = call ptr @s2n_strerror_debug(i32 noundef %14787, ptr noundef @.str.4)
  %14789 = call ptr @__errno_location() #9
  %14790 = load i32, ptr %14789, align 4, !tbaa !5
  %14791 = call ptr @strerror(i32 noundef %14790) #8
  %14792 = call ptr @__errno_location() #9
  %14793 = load i32, ptr %14792, align 4, !tbaa !5
  %14794 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14781, ptr noundef @.str.5, i32 noundef %14782, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 368, ptr noundef %14785, ptr noundef %14788, ptr noundef %14791, i32 noundef %14793) #8
  br label %14795

14795:                                            ; preds = %14778, %14761
  call void @llvm.lifetime.end.p0(i64 4, ptr %249) #8
  br label %14796

14796:                                            ; preds = %14795
  br label %14797

14797:                                            ; preds = %14796
  call void @exit(i32 noundef 1) #10
  unreachable

14798:                                            ; No predecessors!
  br label %14799

14799:                                            ; preds = %14798
  br label %14800

14800:                                            ; preds = %14799, %14741
  br label %14801

14801:                                            ; preds = %14800
  br label %14802

14802:                                            ; preds = %14801
  br label %14803

14803:                                            ; preds = %14802
  %14804 = load i32, ptr @test_count, align 4, !tbaa !5
  %14805 = add nsw i32 %14804, 1
  store i32 %14805, ptr @test_count, align 4, !tbaa !5
  %14806 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14807 = load i32, ptr %14806, align 4, !tbaa !5
  %14808 = call ptr @s2n_strerror_debug(i32 noundef %14807, ptr noundef @.str.4)
  %14809 = icmp eq ptr %14808, null
  br i1 %14809, label %14810, label %14863

14810:                                            ; preds = %14803
  br label %14811

14811:                                            ; preds = %14810
  br label %14812

14812:                                            ; preds = %14811
  call void @llvm.lifetime.start.p0(i64 4, ptr %250) #8
  %14813 = call ptr @__errno_location() #9
  %14814 = load i32, ptr %14813, align 4, !tbaa !5
  store i32 %14814, ptr %250, align 4, !tbaa !5
  %14815 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14816 = call i32 @s2n_print_stacktrace(ptr noundef %14815)
  %14817 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14818 = trunc i8 %14817 to i1
  br i1 %14818, label %14819, label %14841

14819:                                            ; preds = %14812
  %14820 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14821 = call i32 @fileno(ptr noundef %14820) #8
  %14822 = call i32 @isatty(i32 noundef %14821) #8
  %14823 = icmp ne i32 %14822, 0
  br i1 %14823, label %14824, label %14841

14824:                                            ; preds = %14819
  %14825 = load i32, ptr %250, align 4, !tbaa !5
  %14826 = call ptr @__errno_location() #9
  store i32 %14825, ptr %14826, align 4, !tbaa !5
  %14827 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14828 = load i32, ptr @test_count, align 4, !tbaa !5
  %14829 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14830 = load i32, ptr %14829, align 4, !tbaa !5
  %14831 = call ptr @s2n_strerror(i32 noundef %14830, ptr noundef @.str.4)
  %14832 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14833 = load i32, ptr %14832, align 4, !tbaa !5
  %14834 = call ptr @s2n_strerror_debug(i32 noundef %14833, ptr noundef @.str.4)
  %14835 = call ptr @__errno_location() #9
  %14836 = load i32, ptr %14835, align 4, !tbaa !5
  %14837 = call ptr @strerror(i32 noundef %14836) #8
  %14838 = call ptr @__errno_location() #9
  %14839 = load i32, ptr %14838, align 4, !tbaa !5
  %14840 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14827, ptr noundef @.str.2, i32 noundef %14828, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 368, ptr noundef %14831, ptr noundef %14834, ptr noundef %14837, i32 noundef %14839) #8
  br label %14858

14841:                                            ; preds = %14819, %14812
  %14842 = load i32, ptr %250, align 4, !tbaa !5
  %14843 = call ptr @__errno_location() #9
  store i32 %14842, ptr %14843, align 4, !tbaa !5
  %14844 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14845 = load i32, ptr @test_count, align 4, !tbaa !5
  %14846 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14847 = load i32, ptr %14846, align 4, !tbaa !5
  %14848 = call ptr @s2n_strerror(i32 noundef %14847, ptr noundef @.str.4)
  %14849 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14850 = load i32, ptr %14849, align 4, !tbaa !5
  %14851 = call ptr @s2n_strerror_debug(i32 noundef %14850, ptr noundef @.str.4)
  %14852 = call ptr @__errno_location() #9
  %14853 = load i32, ptr %14852, align 4, !tbaa !5
  %14854 = call ptr @strerror(i32 noundef %14853) #8
  %14855 = call ptr @__errno_location() #9
  %14856 = load i32, ptr %14855, align 4, !tbaa !5
  %14857 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14844, ptr noundef @.str.5, i32 noundef %14845, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 368, ptr noundef %14848, ptr noundef %14851, ptr noundef %14854, i32 noundef %14856) #8
  br label %14858

14858:                                            ; preds = %14841, %14824
  call void @llvm.lifetime.end.p0(i64 4, ptr %250) #8
  br label %14859

14859:                                            ; preds = %14858
  br label %14860

14860:                                            ; preds = %14859
  call void @exit(i32 noundef 1) #10
  unreachable

14861:                                            ; No predecessors!
  br label %14862

14862:                                            ; preds = %14861
  br label %14863

14863:                                            ; preds = %14862, %14803
  br label %14864

14864:                                            ; preds = %14863
  br label %14865

14865:                                            ; preds = %14864
  br label %14866

14866:                                            ; preds = %14865
  %14867 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %14867, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %14868 = call ptr @__errno_location() #9
  store i32 0, ptr %14868, align 4, !tbaa !5
  br label %14869

14869:                                            ; preds = %14866
  br label %14870

14870:                                            ; preds = %14869
  br label %14871

14871:                                            ; preds = %14870
  br label %14872

14872:                                            ; preds = %14871
  br label %14873

14873:                                            ; preds = %14872
  br label %14874

14874:                                            ; preds = %14873
  %14875 = load i32, ptr @test_count, align 4, !tbaa !5
  %14876 = add nsw i32 %14875, 1
  store i32 %14876, ptr @test_count, align 4, !tbaa !5
  %14877 = load ptr, ptr %239, align 8, !tbaa !9
  %14878 = call i32 @s2n_test_auth_combo(ptr noundef %14877, ptr noundef @s2n_dhe_rsa_with_3des_ede_cbc_sha, ptr noundef @s2n_ecdsa_sha384, ptr noundef null)
  %14879 = icmp eq i32 %14878, -1
  br i1 %14879, label %14933, label %14880

14880:                                            ; preds = %14874
  br label %14881

14881:                                            ; preds = %14880
  br label %14882

14882:                                            ; preds = %14881
  call void @llvm.lifetime.start.p0(i64 4, ptr %251) #8
  %14883 = call ptr @__errno_location() #9
  %14884 = load i32, ptr %14883, align 4, !tbaa !5
  store i32 %14884, ptr %251, align 4, !tbaa !5
  %14885 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14886 = call i32 @s2n_print_stacktrace(ptr noundef %14885)
  %14887 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14888 = trunc i8 %14887 to i1
  br i1 %14888, label %14889, label %14911

14889:                                            ; preds = %14882
  %14890 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14891 = call i32 @fileno(ptr noundef %14890) #8
  %14892 = call i32 @isatty(i32 noundef %14891) #8
  %14893 = icmp ne i32 %14892, 0
  br i1 %14893, label %14894, label %14911

14894:                                            ; preds = %14889
  %14895 = load i32, ptr %251, align 4, !tbaa !5
  %14896 = call ptr @__errno_location() #9
  store i32 %14895, ptr %14896, align 4, !tbaa !5
  %14897 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14898 = load i32, ptr @test_count, align 4, !tbaa !5
  %14899 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14900 = load i32, ptr %14899, align 4, !tbaa !5
  %14901 = call ptr @s2n_strerror(i32 noundef %14900, ptr noundef @.str.4)
  %14902 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14903 = load i32, ptr %14902, align 4, !tbaa !5
  %14904 = call ptr @s2n_strerror_debug(i32 noundef %14903, ptr noundef @.str.4)
  %14905 = call ptr @__errno_location() #9
  %14906 = load i32, ptr %14905, align 4, !tbaa !5
  %14907 = call ptr @strerror(i32 noundef %14906) #8
  %14908 = call ptr @__errno_location() #9
  %14909 = load i32, ptr %14908, align 4, !tbaa !5
  %14910 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14897, ptr noundef @.str.2, i32 noundef %14898, ptr noundef @.str.75, ptr noundef @.str.1, i32 noundef 369, ptr noundef %14901, ptr noundef %14904, ptr noundef %14907, i32 noundef %14909) #8
  br label %14928

14911:                                            ; preds = %14889, %14882
  %14912 = load i32, ptr %251, align 4, !tbaa !5
  %14913 = call ptr @__errno_location() #9
  store i32 %14912, ptr %14913, align 4, !tbaa !5
  %14914 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14915 = load i32, ptr @test_count, align 4, !tbaa !5
  %14916 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14917 = load i32, ptr %14916, align 4, !tbaa !5
  %14918 = call ptr @s2n_strerror(i32 noundef %14917, ptr noundef @.str.4)
  %14919 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14920 = load i32, ptr %14919, align 4, !tbaa !5
  %14921 = call ptr @s2n_strerror_debug(i32 noundef %14920, ptr noundef @.str.4)
  %14922 = call ptr @__errno_location() #9
  %14923 = load i32, ptr %14922, align 4, !tbaa !5
  %14924 = call ptr @strerror(i32 noundef %14923) #8
  %14925 = call ptr @__errno_location() #9
  %14926 = load i32, ptr %14925, align 4, !tbaa !5
  %14927 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14914, ptr noundef @.str.5, i32 noundef %14915, ptr noundef @.str.75, ptr noundef @.str.1, i32 noundef 369, ptr noundef %14918, ptr noundef %14921, ptr noundef %14924, i32 noundef %14926) #8
  br label %14928

14928:                                            ; preds = %14911, %14894
  call void @llvm.lifetime.end.p0(i64 4, ptr %251) #8
  br label %14929

14929:                                            ; preds = %14928
  br label %14930

14930:                                            ; preds = %14929
  call void @exit(i32 noundef 1) #10
  unreachable

14931:                                            ; No predecessors!
  br label %14932

14932:                                            ; preds = %14931
  br label %14933

14933:                                            ; preds = %14932, %14874
  br label %14934

14934:                                            ; preds = %14933
  br label %14935

14935:                                            ; preds = %14934
  br label %14936

14936:                                            ; preds = %14935
  %14937 = load i32, ptr @test_count, align 4, !tbaa !5
  %14938 = add nsw i32 %14937, 1
  store i32 %14938, ptr @test_count, align 4, !tbaa !5
  %14939 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14940 = load i32, ptr %14939, align 4, !tbaa !5
  %14941 = icmp eq i32 %14940, 0
  br i1 %14941, label %14942, label %14995

14942:                                            ; preds = %14936
  br label %14943

14943:                                            ; preds = %14942
  br label %14944

14944:                                            ; preds = %14943
  call void @llvm.lifetime.start.p0(i64 4, ptr %252) #8
  %14945 = call ptr @__errno_location() #9
  %14946 = load i32, ptr %14945, align 4, !tbaa !5
  store i32 %14946, ptr %252, align 4, !tbaa !5
  %14947 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14948 = call i32 @s2n_print_stacktrace(ptr noundef %14947)
  %14949 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14950 = trunc i8 %14949 to i1
  br i1 %14950, label %14951, label %14973

14951:                                            ; preds = %14944
  %14952 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14953 = call i32 @fileno(ptr noundef %14952) #8
  %14954 = call i32 @isatty(i32 noundef %14953) #8
  %14955 = icmp ne i32 %14954, 0
  br i1 %14955, label %14956, label %14973

14956:                                            ; preds = %14951
  %14957 = load i32, ptr %252, align 4, !tbaa !5
  %14958 = call ptr @__errno_location() #9
  store i32 %14957, ptr %14958, align 4, !tbaa !5
  %14959 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14960 = load i32, ptr @test_count, align 4, !tbaa !5
  %14961 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14962 = load i32, ptr %14961, align 4, !tbaa !5
  %14963 = call ptr @s2n_strerror(i32 noundef %14962, ptr noundef @.str.4)
  %14964 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14965 = load i32, ptr %14964, align 4, !tbaa !5
  %14966 = call ptr @s2n_strerror_debug(i32 noundef %14965, ptr noundef @.str.4)
  %14967 = call ptr @__errno_location() #9
  %14968 = load i32, ptr %14967, align 4, !tbaa !5
  %14969 = call ptr @strerror(i32 noundef %14968) #8
  %14970 = call ptr @__errno_location() #9
  %14971 = load i32, ptr %14970, align 4, !tbaa !5
  %14972 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14959, ptr noundef @.str.2, i32 noundef %14960, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 369, ptr noundef %14963, ptr noundef %14966, ptr noundef %14969, i32 noundef %14971) #8
  br label %14990

14973:                                            ; preds = %14951, %14944
  %14974 = load i32, ptr %252, align 4, !tbaa !5
  %14975 = call ptr @__errno_location() #9
  store i32 %14974, ptr %14975, align 4, !tbaa !5
  %14976 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14977 = load i32, ptr @test_count, align 4, !tbaa !5
  %14978 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14979 = load i32, ptr %14978, align 4, !tbaa !5
  %14980 = call ptr @s2n_strerror(i32 noundef %14979, ptr noundef @.str.4)
  %14981 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14982 = load i32, ptr %14981, align 4, !tbaa !5
  %14983 = call ptr @s2n_strerror_debug(i32 noundef %14982, ptr noundef @.str.4)
  %14984 = call ptr @__errno_location() #9
  %14985 = load i32, ptr %14984, align 4, !tbaa !5
  %14986 = call ptr @strerror(i32 noundef %14985) #8
  %14987 = call ptr @__errno_location() #9
  %14988 = load i32, ptr %14987, align 4, !tbaa !5
  %14989 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14976, ptr noundef @.str.5, i32 noundef %14977, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 369, ptr noundef %14980, ptr noundef %14983, ptr noundef %14986, i32 noundef %14988) #8
  br label %14990

14990:                                            ; preds = %14973, %14956
  call void @llvm.lifetime.end.p0(i64 4, ptr %252) #8
  br label %14991

14991:                                            ; preds = %14990
  br label %14992

14992:                                            ; preds = %14991
  call void @exit(i32 noundef 1) #10
  unreachable

14993:                                            ; No predecessors!
  br label %14994

14994:                                            ; preds = %14993
  br label %14995

14995:                                            ; preds = %14994, %14936
  br label %14996

14996:                                            ; preds = %14995
  br label %14997

14997:                                            ; preds = %14996
  br label %14998

14998:                                            ; preds = %14997
  %14999 = load i32, ptr @test_count, align 4, !tbaa !5
  %15000 = add nsw i32 %14999, 1
  store i32 %15000, ptr @test_count, align 4, !tbaa !5
  %15001 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15002 = load i32, ptr %15001, align 4, !tbaa !5
  %15003 = call ptr @s2n_strerror_debug(i32 noundef %15002, ptr noundef @.str.4)
  %15004 = icmp eq ptr %15003, null
  br i1 %15004, label %15005, label %15058

15005:                                            ; preds = %14998
  br label %15006

15006:                                            ; preds = %15005
  br label %15007

15007:                                            ; preds = %15006
  call void @llvm.lifetime.start.p0(i64 4, ptr %253) #8
  %15008 = call ptr @__errno_location() #9
  %15009 = load i32, ptr %15008, align 4, !tbaa !5
  store i32 %15009, ptr %253, align 4, !tbaa !5
  %15010 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15011 = call i32 @s2n_print_stacktrace(ptr noundef %15010)
  %15012 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15013 = trunc i8 %15012 to i1
  br i1 %15013, label %15014, label %15036

15014:                                            ; preds = %15007
  %15015 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15016 = call i32 @fileno(ptr noundef %15015) #8
  %15017 = call i32 @isatty(i32 noundef %15016) #8
  %15018 = icmp ne i32 %15017, 0
  br i1 %15018, label %15019, label %15036

15019:                                            ; preds = %15014
  %15020 = load i32, ptr %253, align 4, !tbaa !5
  %15021 = call ptr @__errno_location() #9
  store i32 %15020, ptr %15021, align 4, !tbaa !5
  %15022 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15023 = load i32, ptr @test_count, align 4, !tbaa !5
  %15024 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15025 = load i32, ptr %15024, align 4, !tbaa !5
  %15026 = call ptr @s2n_strerror(i32 noundef %15025, ptr noundef @.str.4)
  %15027 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15028 = load i32, ptr %15027, align 4, !tbaa !5
  %15029 = call ptr @s2n_strerror_debug(i32 noundef %15028, ptr noundef @.str.4)
  %15030 = call ptr @__errno_location() #9
  %15031 = load i32, ptr %15030, align 4, !tbaa !5
  %15032 = call ptr @strerror(i32 noundef %15031) #8
  %15033 = call ptr @__errno_location() #9
  %15034 = load i32, ptr %15033, align 4, !tbaa !5
  %15035 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15022, ptr noundef @.str.2, i32 noundef %15023, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 369, ptr noundef %15026, ptr noundef %15029, ptr noundef %15032, i32 noundef %15034) #8
  br label %15053

15036:                                            ; preds = %15014, %15007
  %15037 = load i32, ptr %253, align 4, !tbaa !5
  %15038 = call ptr @__errno_location() #9
  store i32 %15037, ptr %15038, align 4, !tbaa !5
  %15039 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15040 = load i32, ptr @test_count, align 4, !tbaa !5
  %15041 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15042 = load i32, ptr %15041, align 4, !tbaa !5
  %15043 = call ptr @s2n_strerror(i32 noundef %15042, ptr noundef @.str.4)
  %15044 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15045 = load i32, ptr %15044, align 4, !tbaa !5
  %15046 = call ptr @s2n_strerror_debug(i32 noundef %15045, ptr noundef @.str.4)
  %15047 = call ptr @__errno_location() #9
  %15048 = load i32, ptr %15047, align 4, !tbaa !5
  %15049 = call ptr @strerror(i32 noundef %15048) #8
  %15050 = call ptr @__errno_location() #9
  %15051 = load i32, ptr %15050, align 4, !tbaa !5
  %15052 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15039, ptr noundef @.str.5, i32 noundef %15040, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 369, ptr noundef %15043, ptr noundef %15046, ptr noundef %15049, i32 noundef %15051) #8
  br label %15053

15053:                                            ; preds = %15036, %15019
  call void @llvm.lifetime.end.p0(i64 4, ptr %253) #8
  br label %15054

15054:                                            ; preds = %15053
  br label %15055

15055:                                            ; preds = %15054
  call void @exit(i32 noundef 1) #10
  unreachable

15056:                                            ; No predecessors!
  br label %15057

15057:                                            ; preds = %15056
  br label %15058

15058:                                            ; preds = %15057, %14998
  br label %15059

15059:                                            ; preds = %15058
  br label %15060

15060:                                            ; preds = %15059
  br label %15061

15061:                                            ; preds = %15060
  %15062 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %15062, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %15063 = call ptr @__errno_location() #9
  store i32 0, ptr %15063, align 4, !tbaa !5
  br label %15064

15064:                                            ; preds = %15061
  br label %15065

15065:                                            ; preds = %15064
  br label %15066

15066:                                            ; preds = %15065
  br label %15067

15067:                                            ; preds = %15066
  br label %15068

15068:                                            ; preds = %15067
  br label %15069

15069:                                            ; preds = %15068
  %15070 = load i32, ptr @test_count, align 4, !tbaa !5
  %15071 = add nsw i32 %15070, 1
  store i32 %15071, ptr @test_count, align 4, !tbaa !5
  %15072 = load ptr, ptr %239, align 8, !tbaa !9
  %15073 = call i32 @s2n_test_auth_combo(ptr noundef %15072, ptr noundef @s2n_ecdhe_ecdsa_with_aes_128_cbc_sha, ptr noundef @s2n_rsa_pkcs1_md5_sha1, ptr noundef null)
  %15074 = icmp eq i32 %15073, -1
  br i1 %15074, label %15128, label %15075

15075:                                            ; preds = %15069
  br label %15076

15076:                                            ; preds = %15075
  br label %15077

15077:                                            ; preds = %15076
  call void @llvm.lifetime.start.p0(i64 4, ptr %254) #8
  %15078 = call ptr @__errno_location() #9
  %15079 = load i32, ptr %15078, align 4, !tbaa !5
  store i32 %15079, ptr %254, align 4, !tbaa !5
  %15080 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15081 = call i32 @s2n_print_stacktrace(ptr noundef %15080)
  %15082 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15083 = trunc i8 %15082 to i1
  br i1 %15083, label %15084, label %15106

15084:                                            ; preds = %15077
  %15085 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15086 = call i32 @fileno(ptr noundef %15085) #8
  %15087 = call i32 @isatty(i32 noundef %15086) #8
  %15088 = icmp ne i32 %15087, 0
  br i1 %15088, label %15089, label %15106

15089:                                            ; preds = %15084
  %15090 = load i32, ptr %254, align 4, !tbaa !5
  %15091 = call ptr @__errno_location() #9
  store i32 %15090, ptr %15091, align 4, !tbaa !5
  %15092 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15093 = load i32, ptr @test_count, align 4, !tbaa !5
  %15094 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15095 = load i32, ptr %15094, align 4, !tbaa !5
  %15096 = call ptr @s2n_strerror(i32 noundef %15095, ptr noundef @.str.4)
  %15097 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15098 = load i32, ptr %15097, align 4, !tbaa !5
  %15099 = call ptr @s2n_strerror_debug(i32 noundef %15098, ptr noundef @.str.4)
  %15100 = call ptr @__errno_location() #9
  %15101 = load i32, ptr %15100, align 4, !tbaa !5
  %15102 = call ptr @strerror(i32 noundef %15101) #8
  %15103 = call ptr @__errno_location() #9
  %15104 = load i32, ptr %15103, align 4, !tbaa !5
  %15105 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15092, ptr noundef @.str.2, i32 noundef %15093, ptr noundef @.str.76, ptr noundef @.str.1, i32 noundef 371, ptr noundef %15096, ptr noundef %15099, ptr noundef %15102, i32 noundef %15104) #8
  br label %15123

15106:                                            ; preds = %15084, %15077
  %15107 = load i32, ptr %254, align 4, !tbaa !5
  %15108 = call ptr @__errno_location() #9
  store i32 %15107, ptr %15108, align 4, !tbaa !5
  %15109 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15110 = load i32, ptr @test_count, align 4, !tbaa !5
  %15111 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15112 = load i32, ptr %15111, align 4, !tbaa !5
  %15113 = call ptr @s2n_strerror(i32 noundef %15112, ptr noundef @.str.4)
  %15114 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15115 = load i32, ptr %15114, align 4, !tbaa !5
  %15116 = call ptr @s2n_strerror_debug(i32 noundef %15115, ptr noundef @.str.4)
  %15117 = call ptr @__errno_location() #9
  %15118 = load i32, ptr %15117, align 4, !tbaa !5
  %15119 = call ptr @strerror(i32 noundef %15118) #8
  %15120 = call ptr @__errno_location() #9
  %15121 = load i32, ptr %15120, align 4, !tbaa !5
  %15122 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15109, ptr noundef @.str.5, i32 noundef %15110, ptr noundef @.str.76, ptr noundef @.str.1, i32 noundef 371, ptr noundef %15113, ptr noundef %15116, ptr noundef %15119, i32 noundef %15121) #8
  br label %15123

15123:                                            ; preds = %15106, %15089
  call void @llvm.lifetime.end.p0(i64 4, ptr %254) #8
  br label %15124

15124:                                            ; preds = %15123
  br label %15125

15125:                                            ; preds = %15124
  call void @exit(i32 noundef 1) #10
  unreachable

15126:                                            ; No predecessors!
  br label %15127

15127:                                            ; preds = %15126
  br label %15128

15128:                                            ; preds = %15127, %15069
  br label %15129

15129:                                            ; preds = %15128
  br label %15130

15130:                                            ; preds = %15129
  br label %15131

15131:                                            ; preds = %15130
  %15132 = load i32, ptr @test_count, align 4, !tbaa !5
  %15133 = add nsw i32 %15132, 1
  store i32 %15133, ptr @test_count, align 4, !tbaa !5
  %15134 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15135 = load i32, ptr %15134, align 4, !tbaa !5
  %15136 = icmp eq i32 %15135, 0
  br i1 %15136, label %15137, label %15190

15137:                                            ; preds = %15131
  br label %15138

15138:                                            ; preds = %15137
  br label %15139

15139:                                            ; preds = %15138
  call void @llvm.lifetime.start.p0(i64 4, ptr %255) #8
  %15140 = call ptr @__errno_location() #9
  %15141 = load i32, ptr %15140, align 4, !tbaa !5
  store i32 %15141, ptr %255, align 4, !tbaa !5
  %15142 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15143 = call i32 @s2n_print_stacktrace(ptr noundef %15142)
  %15144 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15145 = trunc i8 %15144 to i1
  br i1 %15145, label %15146, label %15168

15146:                                            ; preds = %15139
  %15147 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15148 = call i32 @fileno(ptr noundef %15147) #8
  %15149 = call i32 @isatty(i32 noundef %15148) #8
  %15150 = icmp ne i32 %15149, 0
  br i1 %15150, label %15151, label %15168

15151:                                            ; preds = %15146
  %15152 = load i32, ptr %255, align 4, !tbaa !5
  %15153 = call ptr @__errno_location() #9
  store i32 %15152, ptr %15153, align 4, !tbaa !5
  %15154 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15155 = load i32, ptr @test_count, align 4, !tbaa !5
  %15156 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15157 = load i32, ptr %15156, align 4, !tbaa !5
  %15158 = call ptr @s2n_strerror(i32 noundef %15157, ptr noundef @.str.4)
  %15159 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15160 = load i32, ptr %15159, align 4, !tbaa !5
  %15161 = call ptr @s2n_strerror_debug(i32 noundef %15160, ptr noundef @.str.4)
  %15162 = call ptr @__errno_location() #9
  %15163 = load i32, ptr %15162, align 4, !tbaa !5
  %15164 = call ptr @strerror(i32 noundef %15163) #8
  %15165 = call ptr @__errno_location() #9
  %15166 = load i32, ptr %15165, align 4, !tbaa !5
  %15167 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15154, ptr noundef @.str.2, i32 noundef %15155, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 371, ptr noundef %15158, ptr noundef %15161, ptr noundef %15164, i32 noundef %15166) #8
  br label %15185

15168:                                            ; preds = %15146, %15139
  %15169 = load i32, ptr %255, align 4, !tbaa !5
  %15170 = call ptr @__errno_location() #9
  store i32 %15169, ptr %15170, align 4, !tbaa !5
  %15171 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15172 = load i32, ptr @test_count, align 4, !tbaa !5
  %15173 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15174 = load i32, ptr %15173, align 4, !tbaa !5
  %15175 = call ptr @s2n_strerror(i32 noundef %15174, ptr noundef @.str.4)
  %15176 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15177 = load i32, ptr %15176, align 4, !tbaa !5
  %15178 = call ptr @s2n_strerror_debug(i32 noundef %15177, ptr noundef @.str.4)
  %15179 = call ptr @__errno_location() #9
  %15180 = load i32, ptr %15179, align 4, !tbaa !5
  %15181 = call ptr @strerror(i32 noundef %15180) #8
  %15182 = call ptr @__errno_location() #9
  %15183 = load i32, ptr %15182, align 4, !tbaa !5
  %15184 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15171, ptr noundef @.str.5, i32 noundef %15172, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 371, ptr noundef %15175, ptr noundef %15178, ptr noundef %15181, i32 noundef %15183) #8
  br label %15185

15185:                                            ; preds = %15168, %15151
  call void @llvm.lifetime.end.p0(i64 4, ptr %255) #8
  br label %15186

15186:                                            ; preds = %15185
  br label %15187

15187:                                            ; preds = %15186
  call void @exit(i32 noundef 1) #10
  unreachable

15188:                                            ; No predecessors!
  br label %15189

15189:                                            ; preds = %15188
  br label %15190

15190:                                            ; preds = %15189, %15131
  br label %15191

15191:                                            ; preds = %15190
  br label %15192

15192:                                            ; preds = %15191
  br label %15193

15193:                                            ; preds = %15192
  %15194 = load i32, ptr @test_count, align 4, !tbaa !5
  %15195 = add nsw i32 %15194, 1
  store i32 %15195, ptr @test_count, align 4, !tbaa !5
  %15196 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15197 = load i32, ptr %15196, align 4, !tbaa !5
  %15198 = call ptr @s2n_strerror_debug(i32 noundef %15197, ptr noundef @.str.4)
  %15199 = icmp eq ptr %15198, null
  br i1 %15199, label %15200, label %15253

15200:                                            ; preds = %15193
  br label %15201

15201:                                            ; preds = %15200
  br label %15202

15202:                                            ; preds = %15201
  call void @llvm.lifetime.start.p0(i64 4, ptr %256) #8
  %15203 = call ptr @__errno_location() #9
  %15204 = load i32, ptr %15203, align 4, !tbaa !5
  store i32 %15204, ptr %256, align 4, !tbaa !5
  %15205 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15206 = call i32 @s2n_print_stacktrace(ptr noundef %15205)
  %15207 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15208 = trunc i8 %15207 to i1
  br i1 %15208, label %15209, label %15231

15209:                                            ; preds = %15202
  %15210 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15211 = call i32 @fileno(ptr noundef %15210) #8
  %15212 = call i32 @isatty(i32 noundef %15211) #8
  %15213 = icmp ne i32 %15212, 0
  br i1 %15213, label %15214, label %15231

15214:                                            ; preds = %15209
  %15215 = load i32, ptr %256, align 4, !tbaa !5
  %15216 = call ptr @__errno_location() #9
  store i32 %15215, ptr %15216, align 4, !tbaa !5
  %15217 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15218 = load i32, ptr @test_count, align 4, !tbaa !5
  %15219 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15220 = load i32, ptr %15219, align 4, !tbaa !5
  %15221 = call ptr @s2n_strerror(i32 noundef %15220, ptr noundef @.str.4)
  %15222 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15223 = load i32, ptr %15222, align 4, !tbaa !5
  %15224 = call ptr @s2n_strerror_debug(i32 noundef %15223, ptr noundef @.str.4)
  %15225 = call ptr @__errno_location() #9
  %15226 = load i32, ptr %15225, align 4, !tbaa !5
  %15227 = call ptr @strerror(i32 noundef %15226) #8
  %15228 = call ptr @__errno_location() #9
  %15229 = load i32, ptr %15228, align 4, !tbaa !5
  %15230 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15217, ptr noundef @.str.2, i32 noundef %15218, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 371, ptr noundef %15221, ptr noundef %15224, ptr noundef %15227, i32 noundef %15229) #8
  br label %15248

15231:                                            ; preds = %15209, %15202
  %15232 = load i32, ptr %256, align 4, !tbaa !5
  %15233 = call ptr @__errno_location() #9
  store i32 %15232, ptr %15233, align 4, !tbaa !5
  %15234 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15235 = load i32, ptr @test_count, align 4, !tbaa !5
  %15236 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15237 = load i32, ptr %15236, align 4, !tbaa !5
  %15238 = call ptr @s2n_strerror(i32 noundef %15237, ptr noundef @.str.4)
  %15239 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15240 = load i32, ptr %15239, align 4, !tbaa !5
  %15241 = call ptr @s2n_strerror_debug(i32 noundef %15240, ptr noundef @.str.4)
  %15242 = call ptr @__errno_location() #9
  %15243 = load i32, ptr %15242, align 4, !tbaa !5
  %15244 = call ptr @strerror(i32 noundef %15243) #8
  %15245 = call ptr @__errno_location() #9
  %15246 = load i32, ptr %15245, align 4, !tbaa !5
  %15247 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15234, ptr noundef @.str.5, i32 noundef %15235, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 371, ptr noundef %15238, ptr noundef %15241, ptr noundef %15244, i32 noundef %15246) #8
  br label %15248

15248:                                            ; preds = %15231, %15214
  call void @llvm.lifetime.end.p0(i64 4, ptr %256) #8
  br label %15249

15249:                                            ; preds = %15248
  br label %15250

15250:                                            ; preds = %15249
  call void @exit(i32 noundef 1) #10
  unreachable

15251:                                            ; No predecessors!
  br label %15252

15252:                                            ; preds = %15251
  br label %15253

15253:                                            ; preds = %15252, %15193
  br label %15254

15254:                                            ; preds = %15253
  br label %15255

15255:                                            ; preds = %15254
  br label %15256

15256:                                            ; preds = %15255
  %15257 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %15257, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %15258 = call ptr @__errno_location() #9
  store i32 0, ptr %15258, align 4, !tbaa !5
  br label %15259

15259:                                            ; preds = %15256
  br label %15260

15260:                                            ; preds = %15259
  br label %15261

15261:                                            ; preds = %15260
  br label %15262

15262:                                            ; preds = %15261
  br label %15263

15263:                                            ; preds = %15262
  br label %15264

15264:                                            ; preds = %15263
  %15265 = load i32, ptr @test_count, align 4, !tbaa !5
  %15266 = add nsw i32 %15265, 1
  store i32 %15266, ptr @test_count, align 4, !tbaa !5
  %15267 = load ptr, ptr %239, align 8, !tbaa !9
  %15268 = call i32 @s2n_test_auth_combo(ptr noundef %15267, ptr noundef @s2n_ecdhe_ecdsa_with_aes_128_cbc_sha, ptr noundef @s2n_rsa_pss_pss_sha256, ptr noundef null)
  %15269 = icmp eq i32 %15268, -1
  br i1 %15269, label %15323, label %15270

15270:                                            ; preds = %15264
  br label %15271

15271:                                            ; preds = %15270
  br label %15272

15272:                                            ; preds = %15271
  call void @llvm.lifetime.start.p0(i64 4, ptr %257) #8
  %15273 = call ptr @__errno_location() #9
  %15274 = load i32, ptr %15273, align 4, !tbaa !5
  store i32 %15274, ptr %257, align 4, !tbaa !5
  %15275 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15276 = call i32 @s2n_print_stacktrace(ptr noundef %15275)
  %15277 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15278 = trunc i8 %15277 to i1
  br i1 %15278, label %15279, label %15301

15279:                                            ; preds = %15272
  %15280 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15281 = call i32 @fileno(ptr noundef %15280) #8
  %15282 = call i32 @isatty(i32 noundef %15281) #8
  %15283 = icmp ne i32 %15282, 0
  br i1 %15283, label %15284, label %15301

15284:                                            ; preds = %15279
  %15285 = load i32, ptr %257, align 4, !tbaa !5
  %15286 = call ptr @__errno_location() #9
  store i32 %15285, ptr %15286, align 4, !tbaa !5
  %15287 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15288 = load i32, ptr @test_count, align 4, !tbaa !5
  %15289 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15290 = load i32, ptr %15289, align 4, !tbaa !5
  %15291 = call ptr @s2n_strerror(i32 noundef %15290, ptr noundef @.str.4)
  %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_debug(i32 noundef %15293, ptr noundef @.str.4)
  %15295 = call ptr @__errno_location() #9
  %15296 = load i32, ptr %15295, align 4, !tbaa !5
  %15297 = call ptr @strerror(i32 noundef %15296) #8
  %15298 = call ptr @__errno_location() #9
  %15299 = load i32, ptr %15298, align 4, !tbaa !5
  %15300 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15287, ptr noundef @.str.2, i32 noundef %15288, ptr noundef @.str.77, ptr noundef @.str.1, i32 noundef 372, ptr noundef %15291, ptr noundef %15294, ptr noundef %15297, i32 noundef %15299) #8
  br label %15318

15301:                                            ; preds = %15279, %15272
  %15302 = load i32, ptr %257, align 4, !tbaa !5
  %15303 = call ptr @__errno_location() #9
  store i32 %15302, ptr %15303, align 4, !tbaa !5
  %15304 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15305 = load i32, ptr @test_count, align 4, !tbaa !5
  %15306 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15307 = load i32, ptr %15306, align 4, !tbaa !5
  %15308 = call ptr @s2n_strerror(i32 noundef %15307, ptr noundef @.str.4)
  %15309 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15310 = load i32, ptr %15309, align 4, !tbaa !5
  %15311 = call ptr @s2n_strerror_debug(i32 noundef %15310, ptr noundef @.str.4)
  %15312 = call ptr @__errno_location() #9
  %15313 = load i32, ptr %15312, align 4, !tbaa !5
  %15314 = call ptr @strerror(i32 noundef %15313) #8
  %15315 = call ptr @__errno_location() #9
  %15316 = load i32, ptr %15315, align 4, !tbaa !5
  %15317 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15304, ptr noundef @.str.5, i32 noundef %15305, ptr noundef @.str.77, ptr noundef @.str.1, i32 noundef 372, ptr noundef %15308, ptr noundef %15311, ptr noundef %15314, i32 noundef %15316) #8
  br label %15318

15318:                                            ; preds = %15301, %15284
  call void @llvm.lifetime.end.p0(i64 4, ptr %257) #8
  br label %15319

15319:                                            ; preds = %15318
  br label %15320

15320:                                            ; preds = %15319
  call void @exit(i32 noundef 1) #10
  unreachable

15321:                                            ; No predecessors!
  br label %15322

15322:                                            ; preds = %15321
  br label %15323

15323:                                            ; preds = %15322, %15264
  br label %15324

15324:                                            ; preds = %15323
  br label %15325

15325:                                            ; preds = %15324
  br label %15326

15326:                                            ; preds = %15325
  %15327 = load i32, ptr @test_count, align 4, !tbaa !5
  %15328 = add nsw i32 %15327, 1
  store i32 %15328, ptr @test_count, align 4, !tbaa !5
  %15329 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15330 = load i32, ptr %15329, align 4, !tbaa !5
  %15331 = icmp eq i32 %15330, 0
  br i1 %15331, label %15332, label %15385

15332:                                            ; preds = %15326
  br label %15333

15333:                                            ; preds = %15332
  br label %15334

15334:                                            ; preds = %15333
  call void @llvm.lifetime.start.p0(i64 4, ptr %258) #8
  %15335 = call ptr @__errno_location() #9
  %15336 = load i32, ptr %15335, align 4, !tbaa !5
  store i32 %15336, ptr %258, align 4, !tbaa !5
  %15337 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15338 = call i32 @s2n_print_stacktrace(ptr noundef %15337)
  %15339 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15340 = trunc i8 %15339 to i1
  br i1 %15340, label %15341, label %15363

15341:                                            ; preds = %15334
  %15342 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15343 = call i32 @fileno(ptr noundef %15342) #8
  %15344 = call i32 @isatty(i32 noundef %15343) #8
  %15345 = icmp ne i32 %15344, 0
  br i1 %15345, label %15346, label %15363

15346:                                            ; preds = %15341
  %15347 = load i32, ptr %258, align 4, !tbaa !5
  %15348 = call ptr @__errno_location() #9
  store i32 %15347, ptr %15348, align 4, !tbaa !5
  %15349 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15350 = load i32, ptr @test_count, align 4, !tbaa !5
  %15351 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15352 = load i32, ptr %15351, align 4, !tbaa !5
  %15353 = call ptr @s2n_strerror(i32 noundef %15352, ptr noundef @.str.4)
  %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_debug(i32 noundef %15355, ptr noundef @.str.4)
  %15357 = call ptr @__errno_location() #9
  %15358 = load i32, ptr %15357, align 4, !tbaa !5
  %15359 = call ptr @strerror(i32 noundef %15358) #8
  %15360 = call ptr @__errno_location() #9
  %15361 = load i32, ptr %15360, align 4, !tbaa !5
  %15362 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15349, ptr noundef @.str.2, i32 noundef %15350, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 372, ptr noundef %15353, ptr noundef %15356, ptr noundef %15359, i32 noundef %15361) #8
  br label %15380

15363:                                            ; preds = %15341, %15334
  %15364 = load i32, ptr %258, align 4, !tbaa !5
  %15365 = call ptr @__errno_location() #9
  store i32 %15364, ptr %15365, align 4, !tbaa !5
  %15366 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15367 = load i32, ptr @test_count, align 4, !tbaa !5
  %15368 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15369 = load i32, ptr %15368, align 4, !tbaa !5
  %15370 = call ptr @s2n_strerror(i32 noundef %15369, ptr noundef @.str.4)
  %15371 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15372 = load i32, ptr %15371, align 4, !tbaa !5
  %15373 = call ptr @s2n_strerror_debug(i32 noundef %15372, ptr noundef @.str.4)
  %15374 = call ptr @__errno_location() #9
  %15375 = load i32, ptr %15374, align 4, !tbaa !5
  %15376 = call ptr @strerror(i32 noundef %15375) #8
  %15377 = call ptr @__errno_location() #9
  %15378 = load i32, ptr %15377, align 4, !tbaa !5
  %15379 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15366, ptr noundef @.str.5, i32 noundef %15367, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 372, ptr noundef %15370, ptr noundef %15373, ptr noundef %15376, i32 noundef %15378) #8
  br label %15380

15380:                                            ; preds = %15363, %15346
  call void @llvm.lifetime.end.p0(i64 4, ptr %258) #8
  br label %15381

15381:                                            ; preds = %15380
  br label %15382

15382:                                            ; preds = %15381
  call void @exit(i32 noundef 1) #10
  unreachable

15383:                                            ; No predecessors!
  br label %15384

15384:                                            ; preds = %15383
  br label %15385

15385:                                            ; preds = %15384, %15326
  br label %15386

15386:                                            ; preds = %15385
  br label %15387

15387:                                            ; preds = %15386
  br label %15388

15388:                                            ; preds = %15387
  %15389 = load i32, ptr @test_count, align 4, !tbaa !5
  %15390 = add nsw i32 %15389, 1
  store i32 %15390, ptr @test_count, align 4, !tbaa !5
  %15391 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15392 = load i32, ptr %15391, align 4, !tbaa !5
  %15393 = call ptr @s2n_strerror_debug(i32 noundef %15392, ptr noundef @.str.4)
  %15394 = icmp eq ptr %15393, null
  br i1 %15394, label %15395, label %15448

15395:                                            ; preds = %15388
  br label %15396

15396:                                            ; preds = %15395
  br label %15397

15397:                                            ; preds = %15396
  call void @llvm.lifetime.start.p0(i64 4, ptr %259) #8
  %15398 = call ptr @__errno_location() #9
  %15399 = load i32, ptr %15398, align 4, !tbaa !5
  store i32 %15399, ptr %259, align 4, !tbaa !5
  %15400 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15401 = call i32 @s2n_print_stacktrace(ptr noundef %15400)
  %15402 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15403 = trunc i8 %15402 to i1
  br i1 %15403, label %15404, label %15426

15404:                                            ; preds = %15397
  %15405 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15406 = call i32 @fileno(ptr noundef %15405) #8
  %15407 = call i32 @isatty(i32 noundef %15406) #8
  %15408 = icmp ne i32 %15407, 0
  br i1 %15408, label %15409, label %15426

15409:                                            ; preds = %15404
  %15410 = load i32, ptr %259, align 4, !tbaa !5
  %15411 = call ptr @__errno_location() #9
  store i32 %15410, ptr %15411, align 4, !tbaa !5
  %15412 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15413 = load i32, ptr @test_count, align 4, !tbaa !5
  %15414 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15415 = load i32, ptr %15414, align 4, !tbaa !5
  %15416 = call ptr @s2n_strerror(i32 noundef %15415, ptr noundef @.str.4)
  %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_debug(i32 noundef %15418, ptr noundef @.str.4)
  %15420 = call ptr @__errno_location() #9
  %15421 = load i32, ptr %15420, align 4, !tbaa !5
  %15422 = call ptr @strerror(i32 noundef %15421) #8
  %15423 = call ptr @__errno_location() #9
  %15424 = load i32, ptr %15423, align 4, !tbaa !5
  %15425 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15412, ptr noundef @.str.2, i32 noundef %15413, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 372, ptr noundef %15416, ptr noundef %15419, ptr noundef %15422, i32 noundef %15424) #8
  br label %15443

15426:                                            ; preds = %15404, %15397
  %15427 = load i32, ptr %259, align 4, !tbaa !5
  %15428 = call ptr @__errno_location() #9
  store i32 %15427, ptr %15428, align 4, !tbaa !5
  %15429 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15430 = load i32, ptr @test_count, align 4, !tbaa !5
  %15431 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15432 = load i32, ptr %15431, align 4, !tbaa !5
  %15433 = call ptr @s2n_strerror(i32 noundef %15432, ptr noundef @.str.4)
  %15434 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15435 = load i32, ptr %15434, align 4, !tbaa !5
  %15436 = call ptr @s2n_strerror_debug(i32 noundef %15435, ptr noundef @.str.4)
  %15437 = call ptr @__errno_location() #9
  %15438 = load i32, ptr %15437, align 4, !tbaa !5
  %15439 = call ptr @strerror(i32 noundef %15438) #8
  %15440 = call ptr @__errno_location() #9
  %15441 = load i32, ptr %15440, align 4, !tbaa !5
  %15442 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15429, ptr noundef @.str.5, i32 noundef %15430, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 372, ptr noundef %15433, ptr noundef %15436, ptr noundef %15439, i32 noundef %15441) #8
  br label %15443

15443:                                            ; preds = %15426, %15409
  call void @llvm.lifetime.end.p0(i64 4, ptr %259) #8
  br label %15444

15444:                                            ; preds = %15443
  br label %15445

15445:                                            ; preds = %15444
  call void @exit(i32 noundef 1) #10
  unreachable

15446:                                            ; No predecessors!
  br label %15447

15447:                                            ; preds = %15446
  br label %15448

15448:                                            ; preds = %15447, %15388
  br label %15449

15449:                                            ; preds = %15448
  br label %15450

15450:                                            ; preds = %15449
  br label %15451

15451:                                            ; preds = %15450
  %15452 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %15452, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %15453 = call ptr @__errno_location() #9
  store i32 0, ptr %15453, align 4, !tbaa !5
  br label %15454

15454:                                            ; preds = %15451
  br label %15455

15455:                                            ; preds = %15454
  br label %15456

15456:                                            ; preds = %15455
  br label %15457

15457:                                            ; preds = %15456
  br label %15458

15458:                                            ; preds = %15457
  br label %15459

15459:                                            ; preds = %15458
  %15460 = load i32, ptr @test_count, align 4, !tbaa !5
  %15461 = add nsw i32 %15460, 1
  store i32 %15461, ptr @test_count, align 4, !tbaa !5
  %15462 = load ptr, ptr %239, align 8, !tbaa !9
  %15463 = call i32 @s2n_test_auth_combo(ptr noundef %15462, ptr noundef @s2n_ecdhe_ecdsa_with_aes_128_cbc_sha, ptr noundef @s2n_rsa_pss_rsae_sha256, ptr noundef null)
  %15464 = icmp eq i32 %15463, -1
  br i1 %15464, label %15518, label %15465

15465:                                            ; preds = %15459
  br label %15466

15466:                                            ; preds = %15465
  br label %15467

15467:                                            ; preds = %15466
  call void @llvm.lifetime.start.p0(i64 4, ptr %260) #8
  %15468 = call ptr @__errno_location() #9
  %15469 = load i32, ptr %15468, align 4, !tbaa !5
  store i32 %15469, ptr %260, align 4, !tbaa !5
  %15470 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15471 = call i32 @s2n_print_stacktrace(ptr noundef %15470)
  %15472 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15473 = trunc i8 %15472 to i1
  br i1 %15473, label %15474, label %15496

15474:                                            ; preds = %15467
  %15475 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15476 = call i32 @fileno(ptr noundef %15475) #8
  %15477 = call i32 @isatty(i32 noundef %15476) #8
  %15478 = icmp ne i32 %15477, 0
  br i1 %15478, label %15479, label %15496

15479:                                            ; preds = %15474
  %15480 = load i32, ptr %260, align 4, !tbaa !5
  %15481 = call ptr @__errno_location() #9
  store i32 %15480, ptr %15481, align 4, !tbaa !5
  %15482 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15483 = load i32, ptr @test_count, align 4, !tbaa !5
  %15484 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15485 = load i32, ptr %15484, align 4, !tbaa !5
  %15486 = call ptr @s2n_strerror(i32 noundef %15485, ptr noundef @.str.4)
  %15487 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15488 = load i32, ptr %15487, align 4, !tbaa !5
  %15489 = call ptr @s2n_strerror_debug(i32 noundef %15488, ptr noundef @.str.4)
  %15490 = call ptr @__errno_location() #9
  %15491 = load i32, ptr %15490, align 4, !tbaa !5
  %15492 = call ptr @strerror(i32 noundef %15491) #8
  %15493 = call ptr @__errno_location() #9
  %15494 = load i32, ptr %15493, align 4, !tbaa !5
  %15495 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15482, ptr noundef @.str.2, i32 noundef %15483, ptr noundef @.str.78, ptr noundef @.str.1, i32 noundef 373, ptr noundef %15486, ptr noundef %15489, ptr noundef %15492, i32 noundef %15494) #8
  br label %15513

15496:                                            ; preds = %15474, %15467
  %15497 = load i32, ptr %260, align 4, !tbaa !5
  %15498 = call ptr @__errno_location() #9
  store i32 %15497, ptr %15498, align 4, !tbaa !5
  %15499 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15500 = load i32, ptr @test_count, align 4, !tbaa !5
  %15501 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15502 = load i32, ptr %15501, align 4, !tbaa !5
  %15503 = call ptr @s2n_strerror(i32 noundef %15502, ptr noundef @.str.4)
  %15504 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15505 = load i32, ptr %15504, align 4, !tbaa !5
  %15506 = call ptr @s2n_strerror_debug(i32 noundef %15505, ptr noundef @.str.4)
  %15507 = call ptr @__errno_location() #9
  %15508 = load i32, ptr %15507, align 4, !tbaa !5
  %15509 = call ptr @strerror(i32 noundef %15508) #8
  %15510 = call ptr @__errno_location() #9
  %15511 = load i32, ptr %15510, align 4, !tbaa !5
  %15512 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15499, ptr noundef @.str.5, i32 noundef %15500, ptr noundef @.str.78, ptr noundef @.str.1, i32 noundef 373, ptr noundef %15503, ptr noundef %15506, ptr noundef %15509, i32 noundef %15511) #8
  br label %15513

15513:                                            ; preds = %15496, %15479
  call void @llvm.lifetime.end.p0(i64 4, ptr %260) #8
  br label %15514

15514:                                            ; preds = %15513
  br label %15515

15515:                                            ; preds = %15514
  call void @exit(i32 noundef 1) #10
  unreachable

15516:                                            ; No predecessors!
  br label %15517

15517:                                            ; preds = %15516
  br label %15518

15518:                                            ; preds = %15517, %15459
  br label %15519

15519:                                            ; preds = %15518
  br label %15520

15520:                                            ; preds = %15519
  br label %15521

15521:                                            ; preds = %15520
  %15522 = load i32, ptr @test_count, align 4, !tbaa !5
  %15523 = add nsw i32 %15522, 1
  store i32 %15523, ptr @test_count, align 4, !tbaa !5
  %15524 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15525 = load i32, ptr %15524, align 4, !tbaa !5
  %15526 = icmp eq i32 %15525, 0
  br i1 %15526, label %15527, label %15580

15527:                                            ; preds = %15521
  br label %15528

15528:                                            ; preds = %15527
  br label %15529

15529:                                            ; preds = %15528
  call void @llvm.lifetime.start.p0(i64 4, ptr %261) #8
  %15530 = call ptr @__errno_location() #9
  %15531 = load i32, ptr %15530, align 4, !tbaa !5
  store i32 %15531, ptr %261, align 4, !tbaa !5
  %15532 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15533 = call i32 @s2n_print_stacktrace(ptr noundef %15532)
  %15534 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15535 = trunc i8 %15534 to i1
  br i1 %15535, label %15536, label %15558

15536:                                            ; preds = %15529
  %15537 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15538 = call i32 @fileno(ptr noundef %15537) #8
  %15539 = call i32 @isatty(i32 noundef %15538) #8
  %15540 = icmp ne i32 %15539, 0
  br i1 %15540, label %15541, label %15558

15541:                                            ; preds = %15536
  %15542 = load i32, ptr %261, align 4, !tbaa !5
  %15543 = call ptr @__errno_location() #9
  store i32 %15542, ptr %15543, align 4, !tbaa !5
  %15544 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15545 = load i32, ptr @test_count, align 4, !tbaa !5
  %15546 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15547 = load i32, ptr %15546, align 4, !tbaa !5
  %15548 = call ptr @s2n_strerror(i32 noundef %15547, ptr noundef @.str.4)
  %15549 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15550 = load i32, ptr %15549, align 4, !tbaa !5
  %15551 = call ptr @s2n_strerror_debug(i32 noundef %15550, ptr noundef @.str.4)
  %15552 = call ptr @__errno_location() #9
  %15553 = load i32, ptr %15552, align 4, !tbaa !5
  %15554 = call ptr @strerror(i32 noundef %15553) #8
  %15555 = call ptr @__errno_location() #9
  %15556 = load i32, ptr %15555, align 4, !tbaa !5
  %15557 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15544, ptr noundef @.str.2, i32 noundef %15545, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 373, ptr noundef %15548, ptr noundef %15551, ptr noundef %15554, i32 noundef %15556) #8
  br label %15575

15558:                                            ; preds = %15536, %15529
  %15559 = load i32, ptr %261, align 4, !tbaa !5
  %15560 = call ptr @__errno_location() #9
  store i32 %15559, ptr %15560, align 4, !tbaa !5
  %15561 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15562 = load i32, ptr @test_count, align 4, !tbaa !5
  %15563 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15564 = load i32, ptr %15563, align 4, !tbaa !5
  %15565 = call ptr @s2n_strerror(i32 noundef %15564, ptr noundef @.str.4)
  %15566 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15567 = load i32, ptr %15566, align 4, !tbaa !5
  %15568 = call ptr @s2n_strerror_debug(i32 noundef %15567, ptr noundef @.str.4)
  %15569 = call ptr @__errno_location() #9
  %15570 = load i32, ptr %15569, align 4, !tbaa !5
  %15571 = call ptr @strerror(i32 noundef %15570) #8
  %15572 = call ptr @__errno_location() #9
  %15573 = load i32, ptr %15572, align 4, !tbaa !5
  %15574 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15561, ptr noundef @.str.5, i32 noundef %15562, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 373, ptr noundef %15565, ptr noundef %15568, ptr noundef %15571, i32 noundef %15573) #8
  br label %15575

15575:                                            ; preds = %15558, %15541
  call void @llvm.lifetime.end.p0(i64 4, ptr %261) #8
  br label %15576

15576:                                            ; preds = %15575
  br label %15577

15577:                                            ; preds = %15576
  call void @exit(i32 noundef 1) #10
  unreachable

15578:                                            ; No predecessors!
  br label %15579

15579:                                            ; preds = %15578
  br label %15580

15580:                                            ; preds = %15579, %15521
  br label %15581

15581:                                            ; preds = %15580
  br label %15582

15582:                                            ; preds = %15581
  br label %15583

15583:                                            ; preds = %15582
  %15584 = load i32, ptr @test_count, align 4, !tbaa !5
  %15585 = add nsw i32 %15584, 1
  store i32 %15585, ptr @test_count, align 4, !tbaa !5
  %15586 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15587 = load i32, ptr %15586, align 4, !tbaa !5
  %15588 = call ptr @s2n_strerror_debug(i32 noundef %15587, ptr noundef @.str.4)
  %15589 = icmp eq ptr %15588, null
  br i1 %15589, label %15590, label %15643

15590:                                            ; preds = %15583
  br label %15591

15591:                                            ; preds = %15590
  br label %15592

15592:                                            ; preds = %15591
  call void @llvm.lifetime.start.p0(i64 4, ptr %262) #8
  %15593 = call ptr @__errno_location() #9
  %15594 = load i32, ptr %15593, align 4, !tbaa !5
  store i32 %15594, ptr %262, align 4, !tbaa !5
  %15595 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15596 = call i32 @s2n_print_stacktrace(ptr noundef %15595)
  %15597 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15598 = trunc i8 %15597 to i1
  br i1 %15598, label %15599, label %15621

15599:                                            ; preds = %15592
  %15600 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15601 = call i32 @fileno(ptr noundef %15600) #8
  %15602 = call i32 @isatty(i32 noundef %15601) #8
  %15603 = icmp ne i32 %15602, 0
  br i1 %15603, label %15604, label %15621

15604:                                            ; preds = %15599
  %15605 = load i32, ptr %262, align 4, !tbaa !5
  %15606 = call ptr @__errno_location() #9
  store i32 %15605, ptr %15606, align 4, !tbaa !5
  %15607 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15608 = load i32, ptr @test_count, align 4, !tbaa !5
  %15609 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15610 = load i32, ptr %15609, align 4, !tbaa !5
  %15611 = call ptr @s2n_strerror(i32 noundef %15610, ptr noundef @.str.4)
  %15612 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15613 = load i32, ptr %15612, align 4, !tbaa !5
  %15614 = call ptr @s2n_strerror_debug(i32 noundef %15613, ptr noundef @.str.4)
  %15615 = call ptr @__errno_location() #9
  %15616 = load i32, ptr %15615, align 4, !tbaa !5
  %15617 = call ptr @strerror(i32 noundef %15616) #8
  %15618 = call ptr @__errno_location() #9
  %15619 = load i32, ptr %15618, align 4, !tbaa !5
  %15620 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15607, ptr noundef @.str.2, i32 noundef %15608, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 373, ptr noundef %15611, ptr noundef %15614, ptr noundef %15617, i32 noundef %15619) #8
  br label %15638

15621:                                            ; preds = %15599, %15592
  %15622 = load i32, ptr %262, align 4, !tbaa !5
  %15623 = call ptr @__errno_location() #9
  store i32 %15622, ptr %15623, align 4, !tbaa !5
  %15624 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15625 = load i32, ptr @test_count, align 4, !tbaa !5
  %15626 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15627 = load i32, ptr %15626, align 4, !tbaa !5
  %15628 = call ptr @s2n_strerror(i32 noundef %15627, ptr noundef @.str.4)
  %15629 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15630 = load i32, ptr %15629, align 4, !tbaa !5
  %15631 = call ptr @s2n_strerror_debug(i32 noundef %15630, ptr noundef @.str.4)
  %15632 = call ptr @__errno_location() #9
  %15633 = load i32, ptr %15632, align 4, !tbaa !5
  %15634 = call ptr @strerror(i32 noundef %15633) #8
  %15635 = call ptr @__errno_location() #9
  %15636 = load i32, ptr %15635, align 4, !tbaa !5
  %15637 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15624, ptr noundef @.str.5, i32 noundef %15625, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 373, ptr noundef %15628, ptr noundef %15631, ptr noundef %15634, i32 noundef %15636) #8
  br label %15638

15638:                                            ; preds = %15621, %15604
  call void @llvm.lifetime.end.p0(i64 4, ptr %262) #8
  br label %15639

15639:                                            ; preds = %15638
  br label %15640

15640:                                            ; preds = %15639
  call void @exit(i32 noundef 1) #10
  unreachable

15641:                                            ; No predecessors!
  br label %15642

15642:                                            ; preds = %15641
  br label %15643

15643:                                            ; preds = %15642, %15583
  br label %15644

15644:                                            ; preds = %15643
  br label %15645

15645:                                            ; preds = %15644
  br label %15646

15646:                                            ; preds = %15645
  %15647 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %15647, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %15648 = call ptr @__errno_location() #9
  store i32 0, ptr %15648, align 4, !tbaa !5
  br label %15649

15649:                                            ; preds = %15646
  br label %15650

15650:                                            ; preds = %15649
  br label %15651

15651:                                            ; preds = %15650
  br label %15652

15652:                                            ; preds = %15651
  br label %15653

15653:                                            ; preds = %15652
  br label %15654

15654:                                            ; preds = %15653
  %15655 = load i32, ptr @test_count, align 4, !tbaa !5
  %15656 = add nsw i32 %15655, 1
  store i32 %15656, ptr @test_count, align 4, !tbaa !5
  %15657 = load ptr, ptr %239, align 8, !tbaa !9
  %15658 = call i32 @s2n_test_auth_combo(ptr noundef %15657, ptr noundef @s2n_ecdhe_ecdsa_with_aes_128_cbc_sha, ptr noundef @s2n_ecdsa_sha384, ptr noundef null)
  %15659 = icmp eq i32 %15658, -1
  br i1 %15659, label %15713, label %15660

15660:                                            ; preds = %15654
  br label %15661

15661:                                            ; preds = %15660
  br label %15662

15662:                                            ; preds = %15661
  call void @llvm.lifetime.start.p0(i64 4, ptr %263) #8
  %15663 = call ptr @__errno_location() #9
  %15664 = load i32, ptr %15663, align 4, !tbaa !5
  store i32 %15664, ptr %263, align 4, !tbaa !5
  %15665 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15666 = call i32 @s2n_print_stacktrace(ptr noundef %15665)
  %15667 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15668 = trunc i8 %15667 to i1
  br i1 %15668, label %15669, label %15691

15669:                                            ; preds = %15662
  %15670 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15671 = call i32 @fileno(ptr noundef %15670) #8
  %15672 = call i32 @isatty(i32 noundef %15671) #8
  %15673 = icmp ne i32 %15672, 0
  br i1 %15673, label %15674, label %15691

15674:                                            ; preds = %15669
  %15675 = load i32, ptr %263, align 4, !tbaa !5
  %15676 = call ptr @__errno_location() #9
  store i32 %15675, ptr %15676, align 4, !tbaa !5
  %15677 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15678 = load i32, ptr @test_count, align 4, !tbaa !5
  %15679 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15680 = load i32, ptr %15679, align 4, !tbaa !5
  %15681 = call ptr @s2n_strerror(i32 noundef %15680, ptr noundef @.str.4)
  %15682 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15683 = load i32, ptr %15682, align 4, !tbaa !5
  %15684 = call ptr @s2n_strerror_debug(i32 noundef %15683, ptr noundef @.str.4)
  %15685 = call ptr @__errno_location() #9
  %15686 = load i32, ptr %15685, align 4, !tbaa !5
  %15687 = call ptr @strerror(i32 noundef %15686) #8
  %15688 = call ptr @__errno_location() #9
  %15689 = load i32, ptr %15688, align 4, !tbaa !5
  %15690 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15677, ptr noundef @.str.2, i32 noundef %15678, ptr noundef @.str.79, ptr noundef @.str.1, i32 noundef 374, ptr noundef %15681, ptr noundef %15684, ptr noundef %15687, i32 noundef %15689) #8
  br label %15708

15691:                                            ; preds = %15669, %15662
  %15692 = load i32, ptr %263, align 4, !tbaa !5
  %15693 = call ptr @__errno_location() #9
  store i32 %15692, ptr %15693, align 4, !tbaa !5
  %15694 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15695 = load i32, ptr @test_count, align 4, !tbaa !5
  %15696 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15697 = load i32, ptr %15696, align 4, !tbaa !5
  %15698 = call ptr @s2n_strerror(i32 noundef %15697, ptr noundef @.str.4)
  %15699 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15700 = load i32, ptr %15699, align 4, !tbaa !5
  %15701 = call ptr @s2n_strerror_debug(i32 noundef %15700, ptr noundef @.str.4)
  %15702 = call ptr @__errno_location() #9
  %15703 = load i32, ptr %15702, align 4, !tbaa !5
  %15704 = call ptr @strerror(i32 noundef %15703) #8
  %15705 = call ptr @__errno_location() #9
  %15706 = load i32, ptr %15705, align 4, !tbaa !5
  %15707 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15694, ptr noundef @.str.5, i32 noundef %15695, ptr noundef @.str.79, ptr noundef @.str.1, i32 noundef 374, ptr noundef %15698, ptr noundef %15701, ptr noundef %15704, i32 noundef %15706) #8
  br label %15708

15708:                                            ; preds = %15691, %15674
  call void @llvm.lifetime.end.p0(i64 4, ptr %263) #8
  br label %15709

15709:                                            ; preds = %15708
  br label %15710

15710:                                            ; preds = %15709
  call void @exit(i32 noundef 1) #10
  unreachable

15711:                                            ; No predecessors!
  br label %15712

15712:                                            ; preds = %15711
  br label %15713

15713:                                            ; preds = %15712, %15654
  br label %15714

15714:                                            ; preds = %15713
  br label %15715

15715:                                            ; preds = %15714
  br label %15716

15716:                                            ; preds = %15715
  %15717 = load i32, ptr @test_count, align 4, !tbaa !5
  %15718 = add nsw i32 %15717, 1
  store i32 %15718, ptr @test_count, align 4, !tbaa !5
  %15719 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15720 = load i32, ptr %15719, align 4, !tbaa !5
  %15721 = icmp eq i32 %15720, 0
  br i1 %15721, label %15722, label %15775

15722:                                            ; preds = %15716
  br label %15723

15723:                                            ; preds = %15722
  br label %15724

15724:                                            ; preds = %15723
  call void @llvm.lifetime.start.p0(i64 4, ptr %264) #8
  %15725 = call ptr @__errno_location() #9
  %15726 = load i32, ptr %15725, align 4, !tbaa !5
  store i32 %15726, ptr %264, align 4, !tbaa !5
  %15727 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15728 = call i32 @s2n_print_stacktrace(ptr noundef %15727)
  %15729 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15730 = trunc i8 %15729 to i1
  br i1 %15730, label %15731, label %15753

15731:                                            ; preds = %15724
  %15732 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15733 = call i32 @fileno(ptr noundef %15732) #8
  %15734 = call i32 @isatty(i32 noundef %15733) #8
  %15735 = icmp ne i32 %15734, 0
  br i1 %15735, label %15736, label %15753

15736:                                            ; preds = %15731
  %15737 = load i32, ptr %264, align 4, !tbaa !5
  %15738 = call ptr @__errno_location() #9
  store i32 %15737, ptr %15738, align 4, !tbaa !5
  %15739 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15740 = load i32, ptr @test_count, align 4, !tbaa !5
  %15741 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15742 = load i32, ptr %15741, align 4, !tbaa !5
  %15743 = call ptr @s2n_strerror(i32 noundef %15742, ptr noundef @.str.4)
  %15744 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15745 = load i32, ptr %15744, align 4, !tbaa !5
  %15746 = call ptr @s2n_strerror_debug(i32 noundef %15745, ptr noundef @.str.4)
  %15747 = call ptr @__errno_location() #9
  %15748 = load i32, ptr %15747, align 4, !tbaa !5
  %15749 = call ptr @strerror(i32 noundef %15748) #8
  %15750 = call ptr @__errno_location() #9
  %15751 = load i32, ptr %15750, align 4, !tbaa !5
  %15752 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15739, ptr noundef @.str.2, i32 noundef %15740, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 374, ptr noundef %15743, ptr noundef %15746, ptr noundef %15749, i32 noundef %15751) #8
  br label %15770

15753:                                            ; preds = %15731, %15724
  %15754 = load i32, ptr %264, align 4, !tbaa !5
  %15755 = call ptr @__errno_location() #9
  store i32 %15754, ptr %15755, align 4, !tbaa !5
  %15756 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15757 = load i32, ptr @test_count, align 4, !tbaa !5
  %15758 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15759 = load i32, ptr %15758, align 4, !tbaa !5
  %15760 = call ptr @s2n_strerror(i32 noundef %15759, ptr noundef @.str.4)
  %15761 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15762 = load i32, ptr %15761, align 4, !tbaa !5
  %15763 = call ptr @s2n_strerror_debug(i32 noundef %15762, ptr noundef @.str.4)
  %15764 = call ptr @__errno_location() #9
  %15765 = load i32, ptr %15764, align 4, !tbaa !5
  %15766 = call ptr @strerror(i32 noundef %15765) #8
  %15767 = call ptr @__errno_location() #9
  %15768 = load i32, ptr %15767, align 4, !tbaa !5
  %15769 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15756, ptr noundef @.str.5, i32 noundef %15757, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 374, ptr noundef %15760, ptr noundef %15763, ptr noundef %15766, i32 noundef %15768) #8
  br label %15770

15770:                                            ; preds = %15753, %15736
  call void @llvm.lifetime.end.p0(i64 4, ptr %264) #8
  br label %15771

15771:                                            ; preds = %15770
  br label %15772

15772:                                            ; preds = %15771
  call void @exit(i32 noundef 1) #10
  unreachable

15773:                                            ; No predecessors!
  br label %15774

15774:                                            ; preds = %15773
  br label %15775

15775:                                            ; preds = %15774, %15716
  br label %15776

15776:                                            ; preds = %15775
  br label %15777

15777:                                            ; preds = %15776
  br label %15778

15778:                                            ; preds = %15777
  %15779 = load i32, ptr @test_count, align 4, !tbaa !5
  %15780 = add nsw i32 %15779, 1
  store i32 %15780, ptr @test_count, align 4, !tbaa !5
  %15781 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15782 = load i32, ptr %15781, align 4, !tbaa !5
  %15783 = call ptr @s2n_strerror_debug(i32 noundef %15782, ptr noundef @.str.4)
  %15784 = icmp eq ptr %15783, null
  br i1 %15784, label %15785, label %15838

15785:                                            ; preds = %15778
  br label %15786

15786:                                            ; preds = %15785
  br label %15787

15787:                                            ; preds = %15786
  call void @llvm.lifetime.start.p0(i64 4, ptr %265) #8
  %15788 = call ptr @__errno_location() #9
  %15789 = load i32, ptr %15788, align 4, !tbaa !5
  store i32 %15789, ptr %265, align 4, !tbaa !5
  %15790 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15791 = call i32 @s2n_print_stacktrace(ptr noundef %15790)
  %15792 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15793 = trunc i8 %15792 to i1
  br i1 %15793, label %15794, label %15816

15794:                                            ; preds = %15787
  %15795 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15796 = call i32 @fileno(ptr noundef %15795) #8
  %15797 = call i32 @isatty(i32 noundef %15796) #8
  %15798 = icmp ne i32 %15797, 0
  br i1 %15798, label %15799, label %15816

15799:                                            ; preds = %15794
  %15800 = load i32, ptr %265, align 4, !tbaa !5
  %15801 = call ptr @__errno_location() #9
  store i32 %15800, ptr %15801, align 4, !tbaa !5
  %15802 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15803 = load i32, ptr @test_count, align 4, !tbaa !5
  %15804 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15805 = load i32, ptr %15804, align 4, !tbaa !5
  %15806 = call ptr @s2n_strerror(i32 noundef %15805, ptr noundef @.str.4)
  %15807 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15808 = load i32, ptr %15807, align 4, !tbaa !5
  %15809 = call ptr @s2n_strerror_debug(i32 noundef %15808, ptr noundef @.str.4)
  %15810 = call ptr @__errno_location() #9
  %15811 = load i32, ptr %15810, align 4, !tbaa !5
  %15812 = call ptr @strerror(i32 noundef %15811) #8
  %15813 = call ptr @__errno_location() #9
  %15814 = load i32, ptr %15813, align 4, !tbaa !5
  %15815 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15802, ptr noundef @.str.2, i32 noundef %15803, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 374, ptr noundef %15806, ptr noundef %15809, ptr noundef %15812, i32 noundef %15814) #8
  br label %15833

15816:                                            ; preds = %15794, %15787
  %15817 = load i32, ptr %265, align 4, !tbaa !5
  %15818 = call ptr @__errno_location() #9
  store i32 %15817, ptr %15818, align 4, !tbaa !5
  %15819 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15820 = load i32, ptr @test_count, align 4, !tbaa !5
  %15821 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15822 = load i32, ptr %15821, align 4, !tbaa !5
  %15823 = call ptr @s2n_strerror(i32 noundef %15822, ptr noundef @.str.4)
  %15824 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15825 = load i32, ptr %15824, align 4, !tbaa !5
  %15826 = call ptr @s2n_strerror_debug(i32 noundef %15825, ptr noundef @.str.4)
  %15827 = call ptr @__errno_location() #9
  %15828 = load i32, ptr %15827, align 4, !tbaa !5
  %15829 = call ptr @strerror(i32 noundef %15828) #8
  %15830 = call ptr @__errno_location() #9
  %15831 = load i32, ptr %15830, align 4, !tbaa !5
  %15832 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15819, ptr noundef @.str.5, i32 noundef %15820, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 374, ptr noundef %15823, ptr noundef %15826, ptr noundef %15829, i32 noundef %15831) #8
  br label %15833

15833:                                            ; preds = %15816, %15799
  call void @llvm.lifetime.end.p0(i64 4, ptr %265) #8
  br label %15834

15834:                                            ; preds = %15833
  br label %15835

15835:                                            ; preds = %15834
  call void @exit(i32 noundef 1) #10
  unreachable

15836:                                            ; No predecessors!
  br label %15837

15837:                                            ; preds = %15836
  br label %15838

15838:                                            ; preds = %15837, %15778
  br label %15839

15839:                                            ; preds = %15838
  br label %15840

15840:                                            ; preds = %15839
  br label %15841

15841:                                            ; preds = %15840
  %15842 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %15842, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %15843 = call ptr @__errno_location() #9
  store i32 0, ptr %15843, align 4, !tbaa !5
  br label %15844

15844:                                            ; preds = %15841
  br label %15845

15845:                                            ; preds = %15844
  br label %15846

15846:                                            ; preds = %15845
  br label %15847

15847:                                            ; preds = %15846
  br label %15848

15848:                                            ; preds = %15847
  br label %15849

15849:                                            ; preds = %15848
  %15850 = load i32, ptr @test_count, align 4, !tbaa !5
  %15851 = add nsw i32 %15850, 1
  store i32 %15851, ptr @test_count, align 4, !tbaa !5
  %15852 = load ptr, ptr %239, align 8, !tbaa !9
  %15853 = call i32 @s2n_test_auth_combo(ptr noundef %15852, ptr noundef @s2n_tls13_aes_128_gcm_sha256, ptr noundef @s2n_rsa_pkcs1_md5_sha1, ptr noundef null)
  %15854 = icmp eq i32 %15853, -1
  br i1 %15854, label %15908, label %15855

15855:                                            ; preds = %15849
  br label %15856

15856:                                            ; preds = %15855
  br label %15857

15857:                                            ; preds = %15856
  call void @llvm.lifetime.start.p0(i64 4, ptr %266) #8
  %15858 = call ptr @__errno_location() #9
  %15859 = load i32, ptr %15858, align 4, !tbaa !5
  store i32 %15859, ptr %266, align 4, !tbaa !5
  %15860 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15861 = call i32 @s2n_print_stacktrace(ptr noundef %15860)
  %15862 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15863 = trunc i8 %15862 to i1
  br i1 %15863, label %15864, label %15886

15864:                                            ; preds = %15857
  %15865 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15866 = call i32 @fileno(ptr noundef %15865) #8
  %15867 = call i32 @isatty(i32 noundef %15866) #8
  %15868 = icmp ne i32 %15867, 0
  br i1 %15868, label %15869, label %15886

15869:                                            ; preds = %15864
  %15870 = load i32, ptr %266, align 4, !tbaa !5
  %15871 = call ptr @__errno_location() #9
  store i32 %15870, ptr %15871, align 4, !tbaa !5
  %15872 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15873 = load i32, ptr @test_count, align 4, !tbaa !5
  %15874 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15875 = load i32, ptr %15874, align 4, !tbaa !5
  %15876 = call ptr @s2n_strerror(i32 noundef %15875, ptr noundef @.str.4)
  %15877 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15878 = load i32, ptr %15877, align 4, !tbaa !5
  %15879 = call ptr @s2n_strerror_debug(i32 noundef %15878, ptr noundef @.str.4)
  %15880 = call ptr @__errno_location() #9
  %15881 = load i32, ptr %15880, align 4, !tbaa !5
  %15882 = call ptr @strerror(i32 noundef %15881) #8
  %15883 = call ptr @__errno_location() #9
  %15884 = load i32, ptr %15883, align 4, !tbaa !5
  %15885 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15872, ptr noundef @.str.2, i32 noundef %15873, ptr noundef @.str.80, ptr noundef @.str.1, i32 noundef 376, ptr noundef %15876, ptr noundef %15879, ptr noundef %15882, i32 noundef %15884) #8
  br label %15903

15886:                                            ; preds = %15864, %15857
  %15887 = load i32, ptr %266, align 4, !tbaa !5
  %15888 = call ptr @__errno_location() #9
  store i32 %15887, ptr %15888, align 4, !tbaa !5
  %15889 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15890 = load i32, ptr @test_count, align 4, !tbaa !5
  %15891 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15892 = load i32, ptr %15891, align 4, !tbaa !5
  %15893 = call ptr @s2n_strerror(i32 noundef %15892, ptr noundef @.str.4)
  %15894 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15895 = load i32, ptr %15894, align 4, !tbaa !5
  %15896 = call ptr @s2n_strerror_debug(i32 noundef %15895, ptr noundef @.str.4)
  %15897 = call ptr @__errno_location() #9
  %15898 = load i32, ptr %15897, align 4, !tbaa !5
  %15899 = call ptr @strerror(i32 noundef %15898) #8
  %15900 = call ptr @__errno_location() #9
  %15901 = load i32, ptr %15900, align 4, !tbaa !5
  %15902 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15889, ptr noundef @.str.5, i32 noundef %15890, ptr noundef @.str.80, ptr noundef @.str.1, i32 noundef 376, ptr noundef %15893, ptr noundef %15896, ptr noundef %15899, i32 noundef %15901) #8
  br label %15903

15903:                                            ; preds = %15886, %15869
  call void @llvm.lifetime.end.p0(i64 4, ptr %266) #8
  br label %15904

15904:                                            ; preds = %15903
  br label %15905

15905:                                            ; preds = %15904
  call void @exit(i32 noundef 1) #10
  unreachable

15906:                                            ; No predecessors!
  br label %15907

15907:                                            ; preds = %15906
  br label %15908

15908:                                            ; preds = %15907, %15849
  br label %15909

15909:                                            ; preds = %15908
  br label %15910

15910:                                            ; preds = %15909
  br label %15911

15911:                                            ; preds = %15910
  %15912 = load i32, ptr @test_count, align 4, !tbaa !5
  %15913 = add nsw i32 %15912, 1
  store i32 %15913, ptr @test_count, align 4, !tbaa !5
  %15914 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15915 = load i32, ptr %15914, align 4, !tbaa !5
  %15916 = icmp eq i32 %15915, 0
  br i1 %15916, label %15917, label %15970

15917:                                            ; preds = %15911
  br label %15918

15918:                                            ; preds = %15917
  br label %15919

15919:                                            ; preds = %15918
  call void @llvm.lifetime.start.p0(i64 4, ptr %267) #8
  %15920 = call ptr @__errno_location() #9
  %15921 = load i32, ptr %15920, align 4, !tbaa !5
  store i32 %15921, ptr %267, align 4, !tbaa !5
  %15922 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15923 = call i32 @s2n_print_stacktrace(ptr noundef %15922)
  %15924 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15925 = trunc i8 %15924 to i1
  br i1 %15925, label %15926, label %15948

15926:                                            ; preds = %15919
  %15927 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15928 = call i32 @fileno(ptr noundef %15927) #8
  %15929 = call i32 @isatty(i32 noundef %15928) #8
  %15930 = icmp ne i32 %15929, 0
  br i1 %15930, label %15931, label %15948

15931:                                            ; preds = %15926
  %15932 = load i32, ptr %267, align 4, !tbaa !5
  %15933 = call ptr @__errno_location() #9
  store i32 %15932, ptr %15933, align 4, !tbaa !5
  %15934 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15935 = load i32, ptr @test_count, align 4, !tbaa !5
  %15936 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15937 = load i32, ptr %15936, align 4, !tbaa !5
  %15938 = call ptr @s2n_strerror(i32 noundef %15937, ptr noundef @.str.4)
  %15939 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15940 = load i32, ptr %15939, align 4, !tbaa !5
  %15941 = call ptr @s2n_strerror_debug(i32 noundef %15940, ptr noundef @.str.4)
  %15942 = call ptr @__errno_location() #9
  %15943 = load i32, ptr %15942, align 4, !tbaa !5
  %15944 = call ptr @strerror(i32 noundef %15943) #8
  %15945 = call ptr @__errno_location() #9
  %15946 = load i32, ptr %15945, align 4, !tbaa !5
  %15947 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15934, ptr noundef @.str.2, i32 noundef %15935, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 376, ptr noundef %15938, ptr noundef %15941, ptr noundef %15944, i32 noundef %15946) #8
  br label %15965

15948:                                            ; preds = %15926, %15919
  %15949 = load i32, ptr %267, align 4, !tbaa !5
  %15950 = call ptr @__errno_location() #9
  store i32 %15949, ptr %15950, align 4, !tbaa !5
  %15951 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15952 = load i32, ptr @test_count, align 4, !tbaa !5
  %15953 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15954 = load i32, ptr %15953, align 4, !tbaa !5
  %15955 = call ptr @s2n_strerror(i32 noundef %15954, ptr noundef @.str.4)
  %15956 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15957 = load i32, ptr %15956, align 4, !tbaa !5
  %15958 = call ptr @s2n_strerror_debug(i32 noundef %15957, ptr noundef @.str.4)
  %15959 = call ptr @__errno_location() #9
  %15960 = load i32, ptr %15959, align 4, !tbaa !5
  %15961 = call ptr @strerror(i32 noundef %15960) #8
  %15962 = call ptr @__errno_location() #9
  %15963 = load i32, ptr %15962, align 4, !tbaa !5
  %15964 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15951, ptr noundef @.str.5, i32 noundef %15952, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 376, ptr noundef %15955, ptr noundef %15958, ptr noundef %15961, i32 noundef %15963) #8
  br label %15965

15965:                                            ; preds = %15948, %15931
  call void @llvm.lifetime.end.p0(i64 4, ptr %267) #8
  br label %15966

15966:                                            ; preds = %15965
  br label %15967

15967:                                            ; preds = %15966
  call void @exit(i32 noundef 1) #10
  unreachable

15968:                                            ; No predecessors!
  br label %15969

15969:                                            ; preds = %15968
  br label %15970

15970:                                            ; preds = %15969, %15911
  br label %15971

15971:                                            ; preds = %15970
  br label %15972

15972:                                            ; preds = %15971
  br label %15973

15973:                                            ; preds = %15972
  %15974 = load i32, ptr @test_count, align 4, !tbaa !5
  %15975 = add nsw i32 %15974, 1
  store i32 %15975, ptr @test_count, align 4, !tbaa !5
  %15976 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15977 = load i32, ptr %15976, align 4, !tbaa !5
  %15978 = call ptr @s2n_strerror_debug(i32 noundef %15977, ptr noundef @.str.4)
  %15979 = icmp eq ptr %15978, null
  br i1 %15979, label %15980, label %16033

15980:                                            ; preds = %15973
  br label %15981

15981:                                            ; preds = %15980
  br label %15982

15982:                                            ; preds = %15981
  call void @llvm.lifetime.start.p0(i64 4, ptr %268) #8
  %15983 = call ptr @__errno_location() #9
  %15984 = load i32, ptr %15983, align 4, !tbaa !5
  store i32 %15984, ptr %268, align 4, !tbaa !5
  %15985 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15986 = call i32 @s2n_print_stacktrace(ptr noundef %15985)
  %15987 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15988 = trunc i8 %15987 to i1
  br i1 %15988, label %15989, label %16011

15989:                                            ; preds = %15982
  %15990 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15991 = call i32 @fileno(ptr noundef %15990) #8
  %15992 = call i32 @isatty(i32 noundef %15991) #8
  %15993 = icmp ne i32 %15992, 0
  br i1 %15993, label %15994, label %16011

15994:                                            ; preds = %15989
  %15995 = load i32, ptr %268, align 4, !tbaa !5
  %15996 = call ptr @__errno_location() #9
  store i32 %15995, ptr %15996, align 4, !tbaa !5
  %15997 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15998 = load i32, ptr @test_count, align 4, !tbaa !5
  %15999 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16000 = load i32, ptr %15999, align 4, !tbaa !5
  %16001 = call ptr @s2n_strerror(i32 noundef %16000, ptr noundef @.str.4)
  %16002 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16003 = load i32, ptr %16002, align 4, !tbaa !5
  %16004 = call ptr @s2n_strerror_debug(i32 noundef %16003, ptr noundef @.str.4)
  %16005 = call ptr @__errno_location() #9
  %16006 = load i32, ptr %16005, align 4, !tbaa !5
  %16007 = call ptr @strerror(i32 noundef %16006) #8
  %16008 = call ptr @__errno_location() #9
  %16009 = load i32, ptr %16008, align 4, !tbaa !5
  %16010 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15997, ptr noundef @.str.2, i32 noundef %15998, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 376, ptr noundef %16001, ptr noundef %16004, ptr noundef %16007, i32 noundef %16009) #8
  br label %16028

16011:                                            ; preds = %15989, %15982
  %16012 = load i32, ptr %268, align 4, !tbaa !5
  %16013 = call ptr @__errno_location() #9
  store i32 %16012, ptr %16013, align 4, !tbaa !5
  %16014 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16015 = load i32, ptr @test_count, align 4, !tbaa !5
  %16016 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16017 = load i32, ptr %16016, align 4, !tbaa !5
  %16018 = call ptr @s2n_strerror(i32 noundef %16017, ptr noundef @.str.4)
  %16019 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16020 = load i32, ptr %16019, align 4, !tbaa !5
  %16021 = call ptr @s2n_strerror_debug(i32 noundef %16020, ptr noundef @.str.4)
  %16022 = call ptr @__errno_location() #9
  %16023 = load i32, ptr %16022, align 4, !tbaa !5
  %16024 = call ptr @strerror(i32 noundef %16023) #8
  %16025 = call ptr @__errno_location() #9
  %16026 = load i32, ptr %16025, align 4, !tbaa !5
  %16027 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16014, ptr noundef @.str.5, i32 noundef %16015, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 376, ptr noundef %16018, ptr noundef %16021, ptr noundef %16024, i32 noundef %16026) #8
  br label %16028

16028:                                            ; preds = %16011, %15994
  call void @llvm.lifetime.end.p0(i64 4, ptr %268) #8
  br label %16029

16029:                                            ; preds = %16028
  br label %16030

16030:                                            ; preds = %16029
  call void @exit(i32 noundef 1) #10
  unreachable

16031:                                            ; No predecessors!
  br label %16032

16032:                                            ; preds = %16031
  br label %16033

16033:                                            ; preds = %16032, %15973
  br label %16034

16034:                                            ; preds = %16033
  br label %16035

16035:                                            ; preds = %16034
  br label %16036

16036:                                            ; preds = %16035
  %16037 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %16037, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %16038 = call ptr @__errno_location() #9
  store i32 0, ptr %16038, align 4, !tbaa !5
  br label %16039

16039:                                            ; preds = %16036
  br label %16040

16040:                                            ; preds = %16039
  br label %16041

16041:                                            ; preds = %16040
  br label %16042

16042:                                            ; preds = %16041
  br label %16043

16043:                                            ; preds = %16042
  br label %16044

16044:                                            ; preds = %16043
  %16045 = load i32, ptr @test_count, align 4, !tbaa !5
  %16046 = add nsw i32 %16045, 1
  store i32 %16046, ptr @test_count, align 4, !tbaa !5
  %16047 = load ptr, ptr %239, align 8, !tbaa !9
  %16048 = call i32 @s2n_test_auth_combo(ptr noundef %16047, ptr noundef @s2n_tls13_aes_128_gcm_sha256, ptr noundef @s2n_rsa_pss_pss_sha256, ptr noundef null)
  %16049 = icmp eq i32 %16048, -1
  br i1 %16049, label %16103, label %16050

16050:                                            ; preds = %16044
  br label %16051

16051:                                            ; preds = %16050
  br label %16052

16052:                                            ; preds = %16051
  call void @llvm.lifetime.start.p0(i64 4, ptr %269) #8
  %16053 = call ptr @__errno_location() #9
  %16054 = load i32, ptr %16053, align 4, !tbaa !5
  store i32 %16054, ptr %269, align 4, !tbaa !5
  %16055 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16056 = call i32 @s2n_print_stacktrace(ptr noundef %16055)
  %16057 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16058 = trunc i8 %16057 to i1
  br i1 %16058, label %16059, label %16081

16059:                                            ; preds = %16052
  %16060 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16061 = call i32 @fileno(ptr noundef %16060) #8
  %16062 = call i32 @isatty(i32 noundef %16061) #8
  %16063 = icmp ne i32 %16062, 0
  br i1 %16063, label %16064, label %16081

16064:                                            ; preds = %16059
  %16065 = load i32, ptr %269, align 4, !tbaa !5
  %16066 = call ptr @__errno_location() #9
  store i32 %16065, ptr %16066, align 4, !tbaa !5
  %16067 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16068 = load i32, ptr @test_count, align 4, !tbaa !5
  %16069 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16070 = load i32, ptr %16069, align 4, !tbaa !5
  %16071 = call ptr @s2n_strerror(i32 noundef %16070, ptr noundef @.str.4)
  %16072 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16073 = load i32, ptr %16072, align 4, !tbaa !5
  %16074 = call ptr @s2n_strerror_debug(i32 noundef %16073, ptr noundef @.str.4)
  %16075 = call ptr @__errno_location() #9
  %16076 = load i32, ptr %16075, align 4, !tbaa !5
  %16077 = call ptr @strerror(i32 noundef %16076) #8
  %16078 = call ptr @__errno_location() #9
  %16079 = load i32, ptr %16078, align 4, !tbaa !5
  %16080 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16067, ptr noundef @.str.2, i32 noundef %16068, ptr noundef @.str.81, ptr noundef @.str.1, i32 noundef 377, ptr noundef %16071, ptr noundef %16074, ptr noundef %16077, i32 noundef %16079) #8
  br label %16098

16081:                                            ; preds = %16059, %16052
  %16082 = load i32, ptr %269, align 4, !tbaa !5
  %16083 = call ptr @__errno_location() #9
  store i32 %16082, ptr %16083, align 4, !tbaa !5
  %16084 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16085 = load i32, ptr @test_count, align 4, !tbaa !5
  %16086 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16087 = load i32, ptr %16086, align 4, !tbaa !5
  %16088 = call ptr @s2n_strerror(i32 noundef %16087, ptr noundef @.str.4)
  %16089 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16090 = load i32, ptr %16089, align 4, !tbaa !5
  %16091 = call ptr @s2n_strerror_debug(i32 noundef %16090, ptr noundef @.str.4)
  %16092 = call ptr @__errno_location() #9
  %16093 = load i32, ptr %16092, align 4, !tbaa !5
  %16094 = call ptr @strerror(i32 noundef %16093) #8
  %16095 = call ptr @__errno_location() #9
  %16096 = load i32, ptr %16095, align 4, !tbaa !5
  %16097 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16084, ptr noundef @.str.5, i32 noundef %16085, ptr noundef @.str.81, ptr noundef @.str.1, i32 noundef 377, ptr noundef %16088, ptr noundef %16091, ptr noundef %16094, i32 noundef %16096) #8
  br label %16098

16098:                                            ; preds = %16081, %16064
  call void @llvm.lifetime.end.p0(i64 4, ptr %269) #8
  br label %16099

16099:                                            ; preds = %16098
  br label %16100

16100:                                            ; preds = %16099
  call void @exit(i32 noundef 1) #10
  unreachable

16101:                                            ; No predecessors!
  br label %16102

16102:                                            ; preds = %16101
  br label %16103

16103:                                            ; preds = %16102, %16044
  br label %16104

16104:                                            ; preds = %16103
  br label %16105

16105:                                            ; preds = %16104
  br label %16106

16106:                                            ; preds = %16105
  %16107 = load i32, ptr @test_count, align 4, !tbaa !5
  %16108 = add nsw i32 %16107, 1
  store i32 %16108, ptr @test_count, align 4, !tbaa !5
  %16109 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16110 = load i32, ptr %16109, align 4, !tbaa !5
  %16111 = icmp eq i32 %16110, 0
  br i1 %16111, label %16112, label %16165

16112:                                            ; preds = %16106
  br label %16113

16113:                                            ; preds = %16112
  br label %16114

16114:                                            ; preds = %16113
  call void @llvm.lifetime.start.p0(i64 4, ptr %270) #8
  %16115 = call ptr @__errno_location() #9
  %16116 = load i32, ptr %16115, align 4, !tbaa !5
  store i32 %16116, ptr %270, align 4, !tbaa !5
  %16117 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16118 = call i32 @s2n_print_stacktrace(ptr noundef %16117)
  %16119 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16120 = trunc i8 %16119 to i1
  br i1 %16120, label %16121, label %16143

16121:                                            ; preds = %16114
  %16122 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16123 = call i32 @fileno(ptr noundef %16122) #8
  %16124 = call i32 @isatty(i32 noundef %16123) #8
  %16125 = icmp ne i32 %16124, 0
  br i1 %16125, label %16126, label %16143

16126:                                            ; preds = %16121
  %16127 = load i32, ptr %270, align 4, !tbaa !5
  %16128 = call ptr @__errno_location() #9
  store i32 %16127, ptr %16128, align 4, !tbaa !5
  %16129 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16130 = load i32, ptr @test_count, align 4, !tbaa !5
  %16131 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16132 = load i32, ptr %16131, align 4, !tbaa !5
  %16133 = call ptr @s2n_strerror(i32 noundef %16132, ptr noundef @.str.4)
  %16134 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16135 = load i32, ptr %16134, align 4, !tbaa !5
  %16136 = call ptr @s2n_strerror_debug(i32 noundef %16135, ptr noundef @.str.4)
  %16137 = call ptr @__errno_location() #9
  %16138 = load i32, ptr %16137, align 4, !tbaa !5
  %16139 = call ptr @strerror(i32 noundef %16138) #8
  %16140 = call ptr @__errno_location() #9
  %16141 = load i32, ptr %16140, align 4, !tbaa !5
  %16142 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16129, ptr noundef @.str.2, i32 noundef %16130, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 377, ptr noundef %16133, ptr noundef %16136, ptr noundef %16139, i32 noundef %16141) #8
  br label %16160

16143:                                            ; preds = %16121, %16114
  %16144 = load i32, ptr %270, align 4, !tbaa !5
  %16145 = call ptr @__errno_location() #9
  store i32 %16144, ptr %16145, align 4, !tbaa !5
  %16146 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16147 = load i32, ptr @test_count, align 4, !tbaa !5
  %16148 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16149 = load i32, ptr %16148, align 4, !tbaa !5
  %16150 = call ptr @s2n_strerror(i32 noundef %16149, ptr noundef @.str.4)
  %16151 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16152 = load i32, ptr %16151, align 4, !tbaa !5
  %16153 = call ptr @s2n_strerror_debug(i32 noundef %16152, ptr noundef @.str.4)
  %16154 = call ptr @__errno_location() #9
  %16155 = load i32, ptr %16154, align 4, !tbaa !5
  %16156 = call ptr @strerror(i32 noundef %16155) #8
  %16157 = call ptr @__errno_location() #9
  %16158 = load i32, ptr %16157, align 4, !tbaa !5
  %16159 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16146, ptr noundef @.str.5, i32 noundef %16147, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 377, ptr noundef %16150, ptr noundef %16153, ptr noundef %16156, i32 noundef %16158) #8
  br label %16160

16160:                                            ; preds = %16143, %16126
  call void @llvm.lifetime.end.p0(i64 4, ptr %270) #8
  br label %16161

16161:                                            ; preds = %16160
  br label %16162

16162:                                            ; preds = %16161
  call void @exit(i32 noundef 1) #10
  unreachable

16163:                                            ; No predecessors!
  br label %16164

16164:                                            ; preds = %16163
  br label %16165

16165:                                            ; preds = %16164, %16106
  br label %16166

16166:                                            ; preds = %16165
  br label %16167

16167:                                            ; preds = %16166
  br label %16168

16168:                                            ; preds = %16167
  %16169 = load i32, ptr @test_count, align 4, !tbaa !5
  %16170 = add nsw i32 %16169, 1
  store i32 %16170, ptr @test_count, align 4, !tbaa !5
  %16171 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16172 = load i32, ptr %16171, align 4, !tbaa !5
  %16173 = call ptr @s2n_strerror_debug(i32 noundef %16172, ptr noundef @.str.4)
  %16174 = icmp eq ptr %16173, null
  br i1 %16174, label %16175, label %16228

16175:                                            ; preds = %16168
  br label %16176

16176:                                            ; preds = %16175
  br label %16177

16177:                                            ; preds = %16176
  call void @llvm.lifetime.start.p0(i64 4, ptr %271) #8
  %16178 = call ptr @__errno_location() #9
  %16179 = load i32, ptr %16178, align 4, !tbaa !5
  store i32 %16179, ptr %271, align 4, !tbaa !5
  %16180 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16181 = call i32 @s2n_print_stacktrace(ptr noundef %16180)
  %16182 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16183 = trunc i8 %16182 to i1
  br i1 %16183, label %16184, label %16206

16184:                                            ; preds = %16177
  %16185 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16186 = call i32 @fileno(ptr noundef %16185) #8
  %16187 = call i32 @isatty(i32 noundef %16186) #8
  %16188 = icmp ne i32 %16187, 0
  br i1 %16188, label %16189, label %16206

16189:                                            ; preds = %16184
  %16190 = load i32, ptr %271, align 4, !tbaa !5
  %16191 = call ptr @__errno_location() #9
  store i32 %16190, ptr %16191, align 4, !tbaa !5
  %16192 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16193 = load i32, ptr @test_count, align 4, !tbaa !5
  %16194 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16195 = load i32, ptr %16194, align 4, !tbaa !5
  %16196 = call ptr @s2n_strerror(i32 noundef %16195, ptr noundef @.str.4)
  %16197 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16198 = load i32, ptr %16197, align 4, !tbaa !5
  %16199 = call ptr @s2n_strerror_debug(i32 noundef %16198, ptr noundef @.str.4)
  %16200 = call ptr @__errno_location() #9
  %16201 = load i32, ptr %16200, align 4, !tbaa !5
  %16202 = call ptr @strerror(i32 noundef %16201) #8
  %16203 = call ptr @__errno_location() #9
  %16204 = load i32, ptr %16203, align 4, !tbaa !5
  %16205 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16192, ptr noundef @.str.2, i32 noundef %16193, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 377, ptr noundef %16196, ptr noundef %16199, ptr noundef %16202, i32 noundef %16204) #8
  br label %16223

16206:                                            ; preds = %16184, %16177
  %16207 = load i32, ptr %271, align 4, !tbaa !5
  %16208 = call ptr @__errno_location() #9
  store i32 %16207, ptr %16208, align 4, !tbaa !5
  %16209 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16210 = load i32, ptr @test_count, align 4, !tbaa !5
  %16211 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16212 = load i32, ptr %16211, align 4, !tbaa !5
  %16213 = call ptr @s2n_strerror(i32 noundef %16212, ptr noundef @.str.4)
  %16214 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16215 = load i32, ptr %16214, align 4, !tbaa !5
  %16216 = call ptr @s2n_strerror_debug(i32 noundef %16215, ptr noundef @.str.4)
  %16217 = call ptr @__errno_location() #9
  %16218 = load i32, ptr %16217, align 4, !tbaa !5
  %16219 = call ptr @strerror(i32 noundef %16218) #8
  %16220 = call ptr @__errno_location() #9
  %16221 = load i32, ptr %16220, align 4, !tbaa !5
  %16222 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16209, ptr noundef @.str.5, i32 noundef %16210, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 377, ptr noundef %16213, ptr noundef %16216, ptr noundef %16219, i32 noundef %16221) #8
  br label %16223

16223:                                            ; preds = %16206, %16189
  call void @llvm.lifetime.end.p0(i64 4, ptr %271) #8
  br label %16224

16224:                                            ; preds = %16223
  br label %16225

16225:                                            ; preds = %16224
  call void @exit(i32 noundef 1) #10
  unreachable

16226:                                            ; No predecessors!
  br label %16227

16227:                                            ; preds = %16226
  br label %16228

16228:                                            ; preds = %16227, %16168
  br label %16229

16229:                                            ; preds = %16228
  br label %16230

16230:                                            ; preds = %16229
  br label %16231

16231:                                            ; preds = %16230
  %16232 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %16232, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %16233 = call ptr @__errno_location() #9
  store i32 0, ptr %16233, align 4, !tbaa !5
  br label %16234

16234:                                            ; preds = %16231
  br label %16235

16235:                                            ; preds = %16234
  br label %16236

16236:                                            ; preds = %16235
  br label %16237

16237:                                            ; preds = %16236
  br label %16238

16238:                                            ; preds = %16237
  br label %16239

16239:                                            ; preds = %16238
  %16240 = load i32, ptr @test_count, align 4, !tbaa !5
  %16241 = add nsw i32 %16240, 1
  store i32 %16241, ptr @test_count, align 4, !tbaa !5
  %16242 = load ptr, ptr %239, align 8, !tbaa !9
  %16243 = call i32 @s2n_test_auth_combo(ptr noundef %16242, ptr noundef @s2n_tls13_aes_128_gcm_sha256, ptr noundef @s2n_rsa_pss_rsae_sha256, ptr noundef null)
  %16244 = icmp eq i32 %16243, -1
  br i1 %16244, label %16298, label %16245

16245:                                            ; preds = %16239
  br label %16246

16246:                                            ; preds = %16245
  br label %16247

16247:                                            ; preds = %16246
  call void @llvm.lifetime.start.p0(i64 4, ptr %272) #8
  %16248 = call ptr @__errno_location() #9
  %16249 = load i32, ptr %16248, align 4, !tbaa !5
  store i32 %16249, ptr %272, align 4, !tbaa !5
  %16250 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16251 = call i32 @s2n_print_stacktrace(ptr noundef %16250)
  %16252 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16253 = trunc i8 %16252 to i1
  br i1 %16253, label %16254, label %16276

16254:                                            ; preds = %16247
  %16255 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16256 = call i32 @fileno(ptr noundef %16255) #8
  %16257 = call i32 @isatty(i32 noundef %16256) #8
  %16258 = icmp ne i32 %16257, 0
  br i1 %16258, label %16259, label %16276

16259:                                            ; preds = %16254
  %16260 = load i32, ptr %272, align 4, !tbaa !5
  %16261 = call ptr @__errno_location() #9
  store i32 %16260, ptr %16261, align 4, !tbaa !5
  %16262 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16263 = load i32, ptr @test_count, align 4, !tbaa !5
  %16264 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16265 = load i32, ptr %16264, align 4, !tbaa !5
  %16266 = call ptr @s2n_strerror(i32 noundef %16265, ptr noundef @.str.4)
  %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_debug(i32 noundef %16268, ptr noundef @.str.4)
  %16270 = call ptr @__errno_location() #9
  %16271 = load i32, ptr %16270, align 4, !tbaa !5
  %16272 = call ptr @strerror(i32 noundef %16271) #8
  %16273 = call ptr @__errno_location() #9
  %16274 = load i32, ptr %16273, align 4, !tbaa !5
  %16275 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16262, ptr noundef @.str.2, i32 noundef %16263, ptr noundef @.str.82, ptr noundef @.str.1, i32 noundef 378, ptr noundef %16266, ptr noundef %16269, ptr noundef %16272, i32 noundef %16274) #8
  br label %16293

16276:                                            ; preds = %16254, %16247
  %16277 = load i32, ptr %272, align 4, !tbaa !5
  %16278 = call ptr @__errno_location() #9
  store i32 %16277, ptr %16278, align 4, !tbaa !5
  %16279 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16280 = load i32, ptr @test_count, align 4, !tbaa !5
  %16281 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16282 = load i32, ptr %16281, align 4, !tbaa !5
  %16283 = call ptr @s2n_strerror(i32 noundef %16282, ptr noundef @.str.4)
  %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_debug(i32 noundef %16285, ptr noundef @.str.4)
  %16287 = call ptr @__errno_location() #9
  %16288 = load i32, ptr %16287, align 4, !tbaa !5
  %16289 = call ptr @strerror(i32 noundef %16288) #8
  %16290 = call ptr @__errno_location() #9
  %16291 = load i32, ptr %16290, align 4, !tbaa !5
  %16292 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16279, ptr noundef @.str.5, i32 noundef %16280, ptr noundef @.str.82, ptr noundef @.str.1, i32 noundef 378, ptr noundef %16283, ptr noundef %16286, ptr noundef %16289, i32 noundef %16291) #8
  br label %16293

16293:                                            ; preds = %16276, %16259
  call void @llvm.lifetime.end.p0(i64 4, ptr %272) #8
  br label %16294

16294:                                            ; preds = %16293
  br label %16295

16295:                                            ; preds = %16294
  call void @exit(i32 noundef 1) #10
  unreachable

16296:                                            ; No predecessors!
  br label %16297

16297:                                            ; preds = %16296
  br label %16298

16298:                                            ; preds = %16297, %16239
  br label %16299

16299:                                            ; preds = %16298
  br label %16300

16300:                                            ; preds = %16299
  br label %16301

16301:                                            ; preds = %16300
  %16302 = load i32, ptr @test_count, align 4, !tbaa !5
  %16303 = add nsw i32 %16302, 1
  store i32 %16303, ptr @test_count, align 4, !tbaa !5
  %16304 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16305 = load i32, ptr %16304, align 4, !tbaa !5
  %16306 = icmp eq i32 %16305, 0
  br i1 %16306, label %16307, label %16360

16307:                                            ; preds = %16301
  br label %16308

16308:                                            ; preds = %16307
  br label %16309

16309:                                            ; preds = %16308
  call void @llvm.lifetime.start.p0(i64 4, ptr %273) #8
  %16310 = call ptr @__errno_location() #9
  %16311 = load i32, ptr %16310, align 4, !tbaa !5
  store i32 %16311, ptr %273, align 4, !tbaa !5
  %16312 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16313 = call i32 @s2n_print_stacktrace(ptr noundef %16312)
  %16314 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16315 = trunc i8 %16314 to i1
  br i1 %16315, label %16316, label %16338

16316:                                            ; preds = %16309
  %16317 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16318 = call i32 @fileno(ptr noundef %16317) #8
  %16319 = call i32 @isatty(i32 noundef %16318) #8
  %16320 = icmp ne i32 %16319, 0
  br i1 %16320, label %16321, label %16338

16321:                                            ; preds = %16316
  %16322 = load i32, ptr %273, align 4, !tbaa !5
  %16323 = call ptr @__errno_location() #9
  store i32 %16322, ptr %16323, align 4, !tbaa !5
  %16324 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16325 = load i32, ptr @test_count, align 4, !tbaa !5
  %16326 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16327 = load i32, ptr %16326, align 4, !tbaa !5
  %16328 = call ptr @s2n_strerror(i32 noundef %16327, ptr noundef @.str.4)
  %16329 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16330 = load i32, ptr %16329, align 4, !tbaa !5
  %16331 = call ptr @s2n_strerror_debug(i32 noundef %16330, ptr noundef @.str.4)
  %16332 = call ptr @__errno_location() #9
  %16333 = load i32, ptr %16332, align 4, !tbaa !5
  %16334 = call ptr @strerror(i32 noundef %16333) #8
  %16335 = call ptr @__errno_location() #9
  %16336 = load i32, ptr %16335, align 4, !tbaa !5
  %16337 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16324, ptr noundef @.str.2, i32 noundef %16325, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 378, ptr noundef %16328, ptr noundef %16331, ptr noundef %16334, i32 noundef %16336) #8
  br label %16355

16338:                                            ; preds = %16316, %16309
  %16339 = load i32, ptr %273, align 4, !tbaa !5
  %16340 = call ptr @__errno_location() #9
  store i32 %16339, ptr %16340, align 4, !tbaa !5
  %16341 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16342 = load i32, ptr @test_count, align 4, !tbaa !5
  %16343 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16344 = load i32, ptr %16343, align 4, !tbaa !5
  %16345 = call ptr @s2n_strerror(i32 noundef %16344, ptr noundef @.str.4)
  %16346 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16347 = load i32, ptr %16346, align 4, !tbaa !5
  %16348 = call ptr @s2n_strerror_debug(i32 noundef %16347, ptr noundef @.str.4)
  %16349 = call ptr @__errno_location() #9
  %16350 = load i32, ptr %16349, align 4, !tbaa !5
  %16351 = call ptr @strerror(i32 noundef %16350) #8
  %16352 = call ptr @__errno_location() #9
  %16353 = load i32, ptr %16352, align 4, !tbaa !5
  %16354 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16341, ptr noundef @.str.5, i32 noundef %16342, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 378, ptr noundef %16345, ptr noundef %16348, ptr noundef %16351, i32 noundef %16353) #8
  br label %16355

16355:                                            ; preds = %16338, %16321
  call void @llvm.lifetime.end.p0(i64 4, ptr %273) #8
  br label %16356

16356:                                            ; preds = %16355
  br label %16357

16357:                                            ; preds = %16356
  call void @exit(i32 noundef 1) #10
  unreachable

16358:                                            ; No predecessors!
  br label %16359

16359:                                            ; preds = %16358
  br label %16360

16360:                                            ; preds = %16359, %16301
  br label %16361

16361:                                            ; preds = %16360
  br label %16362

16362:                                            ; preds = %16361
  br label %16363

16363:                                            ; preds = %16362
  %16364 = load i32, ptr @test_count, align 4, !tbaa !5
  %16365 = add nsw i32 %16364, 1
  store i32 %16365, ptr @test_count, align 4, !tbaa !5
  %16366 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16367 = load i32, ptr %16366, align 4, !tbaa !5
  %16368 = call ptr @s2n_strerror_debug(i32 noundef %16367, ptr noundef @.str.4)
  %16369 = icmp eq ptr %16368, null
  br i1 %16369, label %16370, label %16423

16370:                                            ; preds = %16363
  br label %16371

16371:                                            ; preds = %16370
  br label %16372

16372:                                            ; preds = %16371
  call void @llvm.lifetime.start.p0(i64 4, ptr %274) #8
  %16373 = call ptr @__errno_location() #9
  %16374 = load i32, ptr %16373, align 4, !tbaa !5
  store i32 %16374, ptr %274, align 4, !tbaa !5
  %16375 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16376 = call i32 @s2n_print_stacktrace(ptr noundef %16375)
  %16377 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16378 = trunc i8 %16377 to i1
  br i1 %16378, label %16379, label %16401

16379:                                            ; preds = %16372
  %16380 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16381 = call i32 @fileno(ptr noundef %16380) #8
  %16382 = call i32 @isatty(i32 noundef %16381) #8
  %16383 = icmp ne i32 %16382, 0
  br i1 %16383, label %16384, label %16401

16384:                                            ; preds = %16379
  %16385 = load i32, ptr %274, align 4, !tbaa !5
  %16386 = call ptr @__errno_location() #9
  store i32 %16385, ptr %16386, align 4, !tbaa !5
  %16387 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16388 = load i32, ptr @test_count, align 4, !tbaa !5
  %16389 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16390 = load i32, ptr %16389, align 4, !tbaa !5
  %16391 = call ptr @s2n_strerror(i32 noundef %16390, ptr noundef @.str.4)
  %16392 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16393 = load i32, ptr %16392, align 4, !tbaa !5
  %16394 = call ptr @s2n_strerror_debug(i32 noundef %16393, ptr noundef @.str.4)
  %16395 = call ptr @__errno_location() #9
  %16396 = load i32, ptr %16395, align 4, !tbaa !5
  %16397 = call ptr @strerror(i32 noundef %16396) #8
  %16398 = call ptr @__errno_location() #9
  %16399 = load i32, ptr %16398, align 4, !tbaa !5
  %16400 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16387, ptr noundef @.str.2, i32 noundef %16388, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 378, ptr noundef %16391, ptr noundef %16394, ptr noundef %16397, i32 noundef %16399) #8
  br label %16418

16401:                                            ; preds = %16379, %16372
  %16402 = load i32, ptr %274, align 4, !tbaa !5
  %16403 = call ptr @__errno_location() #9
  store i32 %16402, ptr %16403, align 4, !tbaa !5
  %16404 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16405 = load i32, ptr @test_count, align 4, !tbaa !5
  %16406 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16407 = load i32, ptr %16406, align 4, !tbaa !5
  %16408 = call ptr @s2n_strerror(i32 noundef %16407, ptr noundef @.str.4)
  %16409 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16410 = load i32, ptr %16409, align 4, !tbaa !5
  %16411 = call ptr @s2n_strerror_debug(i32 noundef %16410, ptr noundef @.str.4)
  %16412 = call ptr @__errno_location() #9
  %16413 = load i32, ptr %16412, align 4, !tbaa !5
  %16414 = call ptr @strerror(i32 noundef %16413) #8
  %16415 = call ptr @__errno_location() #9
  %16416 = load i32, ptr %16415, align 4, !tbaa !5
  %16417 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16404, ptr noundef @.str.5, i32 noundef %16405, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 378, ptr noundef %16408, ptr noundef %16411, ptr noundef %16414, i32 noundef %16416) #8
  br label %16418

16418:                                            ; preds = %16401, %16384
  call void @llvm.lifetime.end.p0(i64 4, ptr %274) #8
  br label %16419

16419:                                            ; preds = %16418
  br label %16420

16420:                                            ; preds = %16419
  call void @exit(i32 noundef 1) #10
  unreachable

16421:                                            ; No predecessors!
  br label %16422

16422:                                            ; preds = %16421
  br label %16423

16423:                                            ; preds = %16422, %16363
  br label %16424

16424:                                            ; preds = %16423
  br label %16425

16425:                                            ; preds = %16424
  br label %16426

16426:                                            ; preds = %16425
  %16427 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %16427, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %16428 = call ptr @__errno_location() #9
  store i32 0, ptr %16428, align 4, !tbaa !5
  br label %16429

16429:                                            ; preds = %16426
  br label %16430

16430:                                            ; preds = %16429
  br label %16431

16431:                                            ; preds = %16430
  br label %16432

16432:                                            ; preds = %16431
  br label %16433

16433:                                            ; preds = %16432
  br label %16434

16434:                                            ; preds = %16433
  %16435 = load i32, ptr @test_count, align 4, !tbaa !5
  %16436 = add nsw i32 %16435, 1
  store i32 %16436, ptr @test_count, align 4, !tbaa !5
  %16437 = load ptr, ptr %239, align 8, !tbaa !9
  %16438 = call i32 @s2n_test_auth_combo(ptr noundef %16437, ptr noundef @s2n_tls13_aes_128_gcm_sha256, ptr noundef @s2n_ecdsa_sha384, ptr noundef null)
  %16439 = icmp eq i32 %16438, -1
  br i1 %16439, label %16493, label %16440

16440:                                            ; preds = %16434
  br label %16441

16441:                                            ; preds = %16440
  br label %16442

16442:                                            ; preds = %16441
  call void @llvm.lifetime.start.p0(i64 4, ptr %275) #8
  %16443 = call ptr @__errno_location() #9
  %16444 = load i32, ptr %16443, align 4, !tbaa !5
  store i32 %16444, ptr %275, align 4, !tbaa !5
  %16445 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16446 = call i32 @s2n_print_stacktrace(ptr noundef %16445)
  %16447 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16448 = trunc i8 %16447 to i1
  br i1 %16448, label %16449, label %16471

16449:                                            ; preds = %16442
  %16450 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16451 = call i32 @fileno(ptr noundef %16450) #8
  %16452 = call i32 @isatty(i32 noundef %16451) #8
  %16453 = icmp ne i32 %16452, 0
  br i1 %16453, label %16454, label %16471

16454:                                            ; preds = %16449
  %16455 = load i32, ptr %275, align 4, !tbaa !5
  %16456 = call ptr @__errno_location() #9
  store i32 %16455, ptr %16456, align 4, !tbaa !5
  %16457 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16458 = load i32, ptr @test_count, align 4, !tbaa !5
  %16459 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16460 = load i32, ptr %16459, align 4, !tbaa !5
  %16461 = call ptr @s2n_strerror(i32 noundef %16460, ptr noundef @.str.4)
  %16462 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16463 = load i32, ptr %16462, align 4, !tbaa !5
  %16464 = call ptr @s2n_strerror_debug(i32 noundef %16463, ptr noundef @.str.4)
  %16465 = call ptr @__errno_location() #9
  %16466 = load i32, ptr %16465, align 4, !tbaa !5
  %16467 = call ptr @strerror(i32 noundef %16466) #8
  %16468 = call ptr @__errno_location() #9
  %16469 = load i32, ptr %16468, align 4, !tbaa !5
  %16470 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16457, ptr noundef @.str.2, i32 noundef %16458, ptr noundef @.str.83, ptr noundef @.str.1, i32 noundef 379, ptr noundef %16461, ptr noundef %16464, ptr noundef %16467, i32 noundef %16469) #8
  br label %16488

16471:                                            ; preds = %16449, %16442
  %16472 = load i32, ptr %275, align 4, !tbaa !5
  %16473 = call ptr @__errno_location() #9
  store i32 %16472, ptr %16473, align 4, !tbaa !5
  %16474 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16475 = load i32, ptr @test_count, align 4, !tbaa !5
  %16476 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16477 = load i32, ptr %16476, align 4, !tbaa !5
  %16478 = call ptr @s2n_strerror(i32 noundef %16477, ptr noundef @.str.4)
  %16479 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16480 = load i32, ptr %16479, align 4, !tbaa !5
  %16481 = call ptr @s2n_strerror_debug(i32 noundef %16480, ptr noundef @.str.4)
  %16482 = call ptr @__errno_location() #9
  %16483 = load i32, ptr %16482, align 4, !tbaa !5
  %16484 = call ptr @strerror(i32 noundef %16483) #8
  %16485 = call ptr @__errno_location() #9
  %16486 = load i32, ptr %16485, align 4, !tbaa !5
  %16487 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16474, ptr noundef @.str.5, i32 noundef %16475, ptr noundef @.str.83, ptr noundef @.str.1, i32 noundef 379, ptr noundef %16478, ptr noundef %16481, ptr noundef %16484, i32 noundef %16486) #8
  br label %16488

16488:                                            ; preds = %16471, %16454
  call void @llvm.lifetime.end.p0(i64 4, ptr %275) #8
  br label %16489

16489:                                            ; preds = %16488
  br label %16490

16490:                                            ; preds = %16489
  call void @exit(i32 noundef 1) #10
  unreachable

16491:                                            ; No predecessors!
  br label %16492

16492:                                            ; preds = %16491
  br label %16493

16493:                                            ; preds = %16492, %16434
  br label %16494

16494:                                            ; preds = %16493
  br label %16495

16495:                                            ; preds = %16494
  br label %16496

16496:                                            ; preds = %16495
  %16497 = load i32, ptr @test_count, align 4, !tbaa !5
  %16498 = add nsw i32 %16497, 1
  store i32 %16498, ptr @test_count, align 4, !tbaa !5
  %16499 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16500 = load i32, ptr %16499, align 4, !tbaa !5
  %16501 = icmp eq i32 %16500, 0
  br i1 %16501, label %16502, label %16555

16502:                                            ; preds = %16496
  br label %16503

16503:                                            ; preds = %16502
  br label %16504

16504:                                            ; preds = %16503
  call void @llvm.lifetime.start.p0(i64 4, ptr %276) #8
  %16505 = call ptr @__errno_location() #9
  %16506 = load i32, ptr %16505, align 4, !tbaa !5
  store i32 %16506, ptr %276, align 4, !tbaa !5
  %16507 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16508 = call i32 @s2n_print_stacktrace(ptr noundef %16507)
  %16509 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16510 = trunc i8 %16509 to i1
  br i1 %16510, label %16511, label %16533

16511:                                            ; preds = %16504
  %16512 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16513 = call i32 @fileno(ptr noundef %16512) #8
  %16514 = call i32 @isatty(i32 noundef %16513) #8
  %16515 = icmp ne i32 %16514, 0
  br i1 %16515, label %16516, label %16533

16516:                                            ; preds = %16511
  %16517 = load i32, ptr %276, align 4, !tbaa !5
  %16518 = call ptr @__errno_location() #9
  store i32 %16517, ptr %16518, align 4, !tbaa !5
  %16519 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16520 = load i32, ptr @test_count, align 4, !tbaa !5
  %16521 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16522 = load i32, ptr %16521, align 4, !tbaa !5
  %16523 = call ptr @s2n_strerror(i32 noundef %16522, ptr noundef @.str.4)
  %16524 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16525 = load i32, ptr %16524, align 4, !tbaa !5
  %16526 = call ptr @s2n_strerror_debug(i32 noundef %16525, ptr noundef @.str.4)
  %16527 = call ptr @__errno_location() #9
  %16528 = load i32, ptr %16527, align 4, !tbaa !5
  %16529 = call ptr @strerror(i32 noundef %16528) #8
  %16530 = call ptr @__errno_location() #9
  %16531 = load i32, ptr %16530, align 4, !tbaa !5
  %16532 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16519, ptr noundef @.str.2, i32 noundef %16520, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 379, ptr noundef %16523, ptr noundef %16526, ptr noundef %16529, i32 noundef %16531) #8
  br label %16550

16533:                                            ; preds = %16511, %16504
  %16534 = load i32, ptr %276, align 4, !tbaa !5
  %16535 = call ptr @__errno_location() #9
  store i32 %16534, ptr %16535, align 4, !tbaa !5
  %16536 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16537 = load i32, ptr @test_count, align 4, !tbaa !5
  %16538 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16539 = load i32, ptr %16538, align 4, !tbaa !5
  %16540 = call ptr @s2n_strerror(i32 noundef %16539, ptr noundef @.str.4)
  %16541 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16542 = load i32, ptr %16541, align 4, !tbaa !5
  %16543 = call ptr @s2n_strerror_debug(i32 noundef %16542, ptr noundef @.str.4)
  %16544 = call ptr @__errno_location() #9
  %16545 = load i32, ptr %16544, align 4, !tbaa !5
  %16546 = call ptr @strerror(i32 noundef %16545) #8
  %16547 = call ptr @__errno_location() #9
  %16548 = load i32, ptr %16547, align 4, !tbaa !5
  %16549 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16536, ptr noundef @.str.5, i32 noundef %16537, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 379, ptr noundef %16540, ptr noundef %16543, ptr noundef %16546, i32 noundef %16548) #8
  br label %16550

16550:                                            ; preds = %16533, %16516
  call void @llvm.lifetime.end.p0(i64 4, ptr %276) #8
  br label %16551

16551:                                            ; preds = %16550
  br label %16552

16552:                                            ; preds = %16551
  call void @exit(i32 noundef 1) #10
  unreachable

16553:                                            ; No predecessors!
  br label %16554

16554:                                            ; preds = %16553
  br label %16555

16555:                                            ; preds = %16554, %16496
  br label %16556

16556:                                            ; preds = %16555
  br label %16557

16557:                                            ; preds = %16556
  br label %16558

16558:                                            ; preds = %16557
  %16559 = load i32, ptr @test_count, align 4, !tbaa !5
  %16560 = add nsw i32 %16559, 1
  store i32 %16560, ptr @test_count, align 4, !tbaa !5
  %16561 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16562 = load i32, ptr %16561, align 4, !tbaa !5
  %16563 = call ptr @s2n_strerror_debug(i32 noundef %16562, ptr noundef @.str.4)
  %16564 = icmp eq ptr %16563, null
  br i1 %16564, label %16565, label %16618

16565:                                            ; preds = %16558
  br label %16566

16566:                                            ; preds = %16565
  br label %16567

16567:                                            ; preds = %16566
  call void @llvm.lifetime.start.p0(i64 4, ptr %277) #8
  %16568 = call ptr @__errno_location() #9
  %16569 = load i32, ptr %16568, align 4, !tbaa !5
  store i32 %16569, ptr %277, align 4, !tbaa !5
  %16570 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16571 = call i32 @s2n_print_stacktrace(ptr noundef %16570)
  %16572 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16573 = trunc i8 %16572 to i1
  br i1 %16573, label %16574, label %16596

16574:                                            ; preds = %16567
  %16575 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16576 = call i32 @fileno(ptr noundef %16575) #8
  %16577 = call i32 @isatty(i32 noundef %16576) #8
  %16578 = icmp ne i32 %16577, 0
  br i1 %16578, label %16579, label %16596

16579:                                            ; preds = %16574
  %16580 = load i32, ptr %277, align 4, !tbaa !5
  %16581 = call ptr @__errno_location() #9
  store i32 %16580, ptr %16581, align 4, !tbaa !5
  %16582 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16583 = load i32, ptr @test_count, align 4, !tbaa !5
  %16584 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16585 = load i32, ptr %16584, align 4, !tbaa !5
  %16586 = call ptr @s2n_strerror(i32 noundef %16585, ptr noundef @.str.4)
  %16587 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16588 = load i32, ptr %16587, align 4, !tbaa !5
  %16589 = call ptr @s2n_strerror_debug(i32 noundef %16588, ptr noundef @.str.4)
  %16590 = call ptr @__errno_location() #9
  %16591 = load i32, ptr %16590, align 4, !tbaa !5
  %16592 = call ptr @strerror(i32 noundef %16591) #8
  %16593 = call ptr @__errno_location() #9
  %16594 = load i32, ptr %16593, align 4, !tbaa !5
  %16595 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16582, ptr noundef @.str.2, i32 noundef %16583, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 379, ptr noundef %16586, ptr noundef %16589, ptr noundef %16592, i32 noundef %16594) #8
  br label %16613

16596:                                            ; preds = %16574, %16567
  %16597 = load i32, ptr %277, align 4, !tbaa !5
  %16598 = call ptr @__errno_location() #9
  store i32 %16597, ptr %16598, align 4, !tbaa !5
  %16599 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16600 = load i32, ptr @test_count, align 4, !tbaa !5
  %16601 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16602 = load i32, ptr %16601, align 4, !tbaa !5
  %16603 = call ptr @s2n_strerror(i32 noundef %16602, ptr noundef @.str.4)
  %16604 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16605 = load i32, ptr %16604, align 4, !tbaa !5
  %16606 = call ptr @s2n_strerror_debug(i32 noundef %16605, ptr noundef @.str.4)
  %16607 = call ptr @__errno_location() #9
  %16608 = load i32, ptr %16607, align 4, !tbaa !5
  %16609 = call ptr @strerror(i32 noundef %16608) #8
  %16610 = call ptr @__errno_location() #9
  %16611 = load i32, ptr %16610, align 4, !tbaa !5
  %16612 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16599, ptr noundef @.str.5, i32 noundef %16600, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 379, ptr noundef %16603, ptr noundef %16606, ptr noundef %16609, i32 noundef %16611) #8
  br label %16613

16613:                                            ; preds = %16596, %16579
  call void @llvm.lifetime.end.p0(i64 4, ptr %277) #8
  br label %16614

16614:                                            ; preds = %16613
  br label %16615

16615:                                            ; preds = %16614
  call void @exit(i32 noundef 1) #10
  unreachable

16616:                                            ; No predecessors!
  br label %16617

16617:                                            ; preds = %16616
  br label %16618

16618:                                            ; preds = %16617, %16558
  br label %16619

16619:                                            ; preds = %16618
  br label %16620

16620:                                            ; preds = %16619
  br label %16621

16621:                                            ; preds = %16620
  %16622 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %16622, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %16623 = call ptr @__errno_location() #9
  store i32 0, ptr %16623, align 4, !tbaa !5
  br label %16624

16624:                                            ; preds = %16621
  br label %16625

16625:                                            ; preds = %16624
  br label %16626

16626:                                            ; preds = %16625
  br label %16627

16627:                                            ; preds = %16626
  br label %16628

16628:                                            ; preds = %16627
  %16629 = load i32, ptr @test_count, align 4, !tbaa !5
  %16630 = add nsw i32 %16629, 1
  store i32 %16630, ptr @test_count, align 4, !tbaa !5
  %16631 = load ptr, ptr %239, align 8, !tbaa !9
  %16632 = load ptr, ptr %15, align 8, !tbaa !9
  %16633 = call i32 @s2n_connection_set_config(ptr noundef %16631, ptr noundef %16632)
  %16634 = icmp eq i32 %16633, -1
  br i1 %16634, label %16635, label %16688

16635:                                            ; preds = %16628
  br label %16636

16636:                                            ; preds = %16635
  br label %16637

16637:                                            ; preds = %16636
  call void @llvm.lifetime.start.p0(i64 4, ptr %278) #8
  %16638 = call ptr @__errno_location() #9
  %16639 = load i32, ptr %16638, align 4, !tbaa !5
  store i32 %16639, ptr %278, align 4, !tbaa !5
  %16640 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16641 = call i32 @s2n_print_stacktrace(ptr noundef %16640)
  %16642 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16643 = trunc i8 %16642 to i1
  br i1 %16643, label %16644, label %16666

16644:                                            ; preds = %16637
  %16645 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16646 = call i32 @fileno(ptr noundef %16645) #8
  %16647 = call i32 @isatty(i32 noundef %16646) #8
  %16648 = icmp ne i32 %16647, 0
  br i1 %16648, label %16649, label %16666

16649:                                            ; preds = %16644
  %16650 = load i32, ptr %278, align 4, !tbaa !5
  %16651 = call ptr @__errno_location() #9
  store i32 %16650, ptr %16651, align 4, !tbaa !5
  %16652 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16653 = load i32, ptr @test_count, align 4, !tbaa !5
  %16654 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16655 = load i32, ptr %16654, align 4, !tbaa !5
  %16656 = call ptr @s2n_strerror(i32 noundef %16655, ptr noundef @.str.4)
  %16657 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16658 = load i32, ptr %16657, align 4, !tbaa !5
  %16659 = call ptr @s2n_strerror_debug(i32 noundef %16658, ptr noundef @.str.4)
  %16660 = call ptr @__errno_location() #9
  %16661 = load i32, ptr %16660, align 4, !tbaa !5
  %16662 = call ptr @strerror(i32 noundef %16661) #8
  %16663 = call ptr @__errno_location() #9
  %16664 = load i32, ptr %16663, align 4, !tbaa !5
  %16665 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16652, ptr noundef @.str.2, i32 noundef %16653, ptr noundef @.str.25, ptr noundef @.str.1, i32 noundef 382, ptr noundef %16656, ptr noundef %16659, ptr noundef %16662, i32 noundef %16664) #8
  br label %16683

16666:                                            ; preds = %16644, %16637
  %16667 = load i32, ptr %278, align 4, !tbaa !5
  %16668 = call ptr @__errno_location() #9
  store i32 %16667, ptr %16668, align 4, !tbaa !5
  %16669 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16670 = load i32, ptr @test_count, align 4, !tbaa !5
  %16671 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16672 = load i32, ptr %16671, align 4, !tbaa !5
  %16673 = call ptr @s2n_strerror(i32 noundef %16672, ptr noundef @.str.4)
  %16674 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16675 = load i32, ptr %16674, align 4, !tbaa !5
  %16676 = call ptr @s2n_strerror_debug(i32 noundef %16675, ptr noundef @.str.4)
  %16677 = call ptr @__errno_location() #9
  %16678 = load i32, ptr %16677, align 4, !tbaa !5
  %16679 = call ptr @strerror(i32 noundef %16678) #8
  %16680 = call ptr @__errno_location() #9
  %16681 = load i32, ptr %16680, align 4, !tbaa !5
  %16682 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16669, ptr noundef @.str.5, i32 noundef %16670, ptr noundef @.str.25, ptr noundef @.str.1, i32 noundef 382, ptr noundef %16673, ptr noundef %16676, ptr noundef %16679, i32 noundef %16681) #8
  br label %16683

16683:                                            ; preds = %16666, %16649
  call void @llvm.lifetime.end.p0(i64 4, ptr %278) #8
  br label %16684

16684:                                            ; preds = %16683
  br label %16685

16685:                                            ; preds = %16684
  call void @exit(i32 noundef 1) #10
  unreachable

16686:                                            ; No predecessors!
  br label %16687

16687:                                            ; preds = %16686
  br label %16688

16688:                                            ; preds = %16687, %16628
  br label %16689

16689:                                            ; preds = %16688
  br label %16690

16690:                                            ; preds = %16689
  br label %16691

16691:                                            ; preds = %16690
  %16692 = load i32, ptr @test_count, align 4, !tbaa !5
  %16693 = add nsw i32 %16692, 1
  store i32 %16693, ptr @test_count, align 4, !tbaa !5
  %16694 = load ptr, ptr %239, align 8, !tbaa !9
  %16695 = load ptr, ptr %10, align 8, !tbaa !9
  %16696 = call i32 @s2n_test_auth_combo(ptr noundef %16694, ptr noundef @s2n_dhe_rsa_with_3des_ede_cbc_sha, ptr noundef @s2n_rsa_pkcs1_md5_sha1, ptr noundef %16695)
  %16697 = icmp eq i32 %16696, -1
  br i1 %16697, label %16698, label %16751

16698:                                            ; preds = %16691
  br label %16699

16699:                                            ; preds = %16698
  br label %16700

16700:                                            ; preds = %16699
  call void @llvm.lifetime.start.p0(i64 4, ptr %279) #8
  %16701 = call ptr @__errno_location() #9
  %16702 = load i32, ptr %16701, align 4, !tbaa !5
  store i32 %16702, ptr %279, align 4, !tbaa !5
  %16703 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16704 = call i32 @s2n_print_stacktrace(ptr noundef %16703)
  %16705 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16706 = trunc i8 %16705 to i1
  br i1 %16706, label %16707, label %16729

16707:                                            ; preds = %16700
  %16708 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16709 = call i32 @fileno(ptr noundef %16708) #8
  %16710 = call i32 @isatty(i32 noundef %16709) #8
  %16711 = icmp ne i32 %16710, 0
  br i1 %16711, label %16712, label %16729

16712:                                            ; preds = %16707
  %16713 = load i32, ptr %279, align 4, !tbaa !5
  %16714 = call ptr @__errno_location() #9
  store i32 %16713, ptr %16714, align 4, !tbaa !5
  %16715 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16716 = load i32, ptr @test_count, align 4, !tbaa !5
  %16717 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16718 = load i32, ptr %16717, align 4, !tbaa !5
  %16719 = call ptr @s2n_strerror(i32 noundef %16718, ptr noundef @.str.4)
  %16720 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16721 = load i32, ptr %16720, align 4, !tbaa !5
  %16722 = call ptr @s2n_strerror_debug(i32 noundef %16721, ptr noundef @.str.4)
  %16723 = call ptr @__errno_location() #9
  %16724 = load i32, ptr %16723, align 4, !tbaa !5
  %16725 = call ptr @strerror(i32 noundef %16724) #8
  %16726 = call ptr @__errno_location() #9
  %16727 = load i32, ptr %16726, align 4, !tbaa !5
  %16728 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16715, ptr noundef @.str.2, i32 noundef %16716, ptr noundef @.str.84, ptr noundef @.str.1, i32 noundef 384, ptr noundef %16719, ptr noundef %16722, ptr noundef %16725, i32 noundef %16727) #8
  br label %16746

16729:                                            ; preds = %16707, %16700
  %16730 = load i32, ptr %279, align 4, !tbaa !5
  %16731 = call ptr @__errno_location() #9
  store i32 %16730, ptr %16731, align 4, !tbaa !5
  %16732 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16733 = load i32, ptr @test_count, align 4, !tbaa !5
  %16734 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16735 = load i32, ptr %16734, align 4, !tbaa !5
  %16736 = call ptr @s2n_strerror(i32 noundef %16735, ptr noundef @.str.4)
  %16737 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16738 = load i32, ptr %16737, align 4, !tbaa !5
  %16739 = call ptr @s2n_strerror_debug(i32 noundef %16738, ptr noundef @.str.4)
  %16740 = call ptr @__errno_location() #9
  %16741 = load i32, ptr %16740, align 4, !tbaa !5
  %16742 = call ptr @strerror(i32 noundef %16741) #8
  %16743 = call ptr @__errno_location() #9
  %16744 = load i32, ptr %16743, align 4, !tbaa !5
  %16745 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16732, ptr noundef @.str.5, i32 noundef %16733, ptr noundef @.str.84, ptr noundef @.str.1, i32 noundef 384, ptr noundef %16736, ptr noundef %16739, ptr noundef %16742, i32 noundef %16744) #8
  br label %16746

16746:                                            ; preds = %16729, %16712
  call void @llvm.lifetime.end.p0(i64 4, ptr %279) #8
  br label %16747

16747:                                            ; preds = %16746
  br label %16748

16748:                                            ; preds = %16747
  call void @exit(i32 noundef 1) #10
  unreachable

16749:                                            ; No predecessors!
  br label %16750

16750:                                            ; preds = %16749
  br label %16751

16751:                                            ; preds = %16750, %16691
  br label %16752

16752:                                            ; preds = %16751
  br label %16753

16753:                                            ; preds = %16752
  br label %16754

16754:                                            ; preds = %16753
  br label %16755

16755:                                            ; preds = %16754
  %16756 = load i32, ptr @test_count, align 4, !tbaa !5
  %16757 = add nsw i32 %16756, 1
  store i32 %16757, ptr @test_count, align 4, !tbaa !5
  %16758 = load ptr, ptr %239, align 8, !tbaa !9
  %16759 = call i32 @s2n_test_auth_combo(ptr noundef %16758, ptr noundef @s2n_dhe_rsa_with_3des_ede_cbc_sha, ptr noundef @s2n_rsa_pss_pss_sha256, ptr noundef null)
  %16760 = icmp eq i32 %16759, -1
  br i1 %16760, label %16814, label %16761

16761:                                            ; preds = %16755
  br label %16762

16762:                                            ; preds = %16761
  br label %16763

16763:                                            ; preds = %16762
  call void @llvm.lifetime.start.p0(i64 4, ptr %280) #8
  %16764 = call ptr @__errno_location() #9
  %16765 = load i32, ptr %16764, align 4, !tbaa !5
  store i32 %16765, ptr %280, align 4, !tbaa !5
  %16766 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16767 = call i32 @s2n_print_stacktrace(ptr noundef %16766)
  %16768 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16769 = trunc i8 %16768 to i1
  br i1 %16769, label %16770, label %16792

16770:                                            ; preds = %16763
  %16771 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16772 = call i32 @fileno(ptr noundef %16771) #8
  %16773 = call i32 @isatty(i32 noundef %16772) #8
  %16774 = icmp ne i32 %16773, 0
  br i1 %16774, label %16775, label %16792

16775:                                            ; preds = %16770
  %16776 = load i32, ptr %280, align 4, !tbaa !5
  %16777 = call ptr @__errno_location() #9
  store i32 %16776, ptr %16777, align 4, !tbaa !5
  %16778 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16779 = load i32, ptr @test_count, align 4, !tbaa !5
  %16780 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16781 = load i32, ptr %16780, align 4, !tbaa !5
  %16782 = call ptr @s2n_strerror(i32 noundef %16781, ptr noundef @.str.4)
  %16783 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16784 = load i32, ptr %16783, align 4, !tbaa !5
  %16785 = call ptr @s2n_strerror_debug(i32 noundef %16784, ptr noundef @.str.4)
  %16786 = call ptr @__errno_location() #9
  %16787 = load i32, ptr %16786, align 4, !tbaa !5
  %16788 = call ptr @strerror(i32 noundef %16787) #8
  %16789 = call ptr @__errno_location() #9
  %16790 = load i32, ptr %16789, align 4, !tbaa !5
  %16791 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16778, ptr noundef @.str.2, i32 noundef %16779, ptr noundef @.str.73, ptr noundef @.str.1, i32 noundef 385, ptr noundef %16782, ptr noundef %16785, ptr noundef %16788, i32 noundef %16790) #8
  br label %16809

16792:                                            ; preds = %16770, %16763
  %16793 = load i32, ptr %280, align 4, !tbaa !5
  %16794 = call ptr @__errno_location() #9
  store i32 %16793, ptr %16794, align 4, !tbaa !5
  %16795 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16796 = load i32, ptr @test_count, align 4, !tbaa !5
  %16797 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16798 = load i32, ptr %16797, align 4, !tbaa !5
  %16799 = call ptr @s2n_strerror(i32 noundef %16798, ptr noundef @.str.4)
  %16800 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16801 = load i32, ptr %16800, align 4, !tbaa !5
  %16802 = call ptr @s2n_strerror_debug(i32 noundef %16801, ptr noundef @.str.4)
  %16803 = call ptr @__errno_location() #9
  %16804 = load i32, ptr %16803, align 4, !tbaa !5
  %16805 = call ptr @strerror(i32 noundef %16804) #8
  %16806 = call ptr @__errno_location() #9
  %16807 = load i32, ptr %16806, align 4, !tbaa !5
  %16808 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16795, ptr noundef @.str.5, i32 noundef %16796, ptr noundef @.str.73, ptr noundef @.str.1, i32 noundef 385, ptr noundef %16799, ptr noundef %16802, ptr noundef %16805, i32 noundef %16807) #8
  br label %16809

16809:                                            ; preds = %16792, %16775
  call void @llvm.lifetime.end.p0(i64 4, ptr %280) #8
  br label %16810

16810:                                            ; preds = %16809
  br label %16811

16811:                                            ; preds = %16810
  call void @exit(i32 noundef 1) #10
  unreachable

16812:                                            ; No predecessors!
  br label %16813

16813:                                            ; preds = %16812
  br label %16814

16814:                                            ; preds = %16813, %16755
  br label %16815

16815:                                            ; preds = %16814
  br label %16816

16816:                                            ; preds = %16815
  br label %16817

16817:                                            ; preds = %16816
  %16818 = load i32, ptr @test_count, align 4, !tbaa !5
  %16819 = add nsw i32 %16818, 1
  store i32 %16819, ptr @test_count, align 4, !tbaa !5
  %16820 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16821 = load i32, ptr %16820, align 4, !tbaa !5
  %16822 = icmp eq i32 %16821, 0
  br i1 %16822, label %16823, label %16876

16823:                                            ; preds = %16817
  br label %16824

16824:                                            ; preds = %16823
  br label %16825

16825:                                            ; preds = %16824
  call void @llvm.lifetime.start.p0(i64 4, ptr %281) #8
  %16826 = call ptr @__errno_location() #9
  %16827 = load i32, ptr %16826, align 4, !tbaa !5
  store i32 %16827, ptr %281, align 4, !tbaa !5
  %16828 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16829 = call i32 @s2n_print_stacktrace(ptr noundef %16828)
  %16830 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16831 = trunc i8 %16830 to i1
  br i1 %16831, label %16832, label %16854

16832:                                            ; preds = %16825
  %16833 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16834 = call i32 @fileno(ptr noundef %16833) #8
  %16835 = call i32 @isatty(i32 noundef %16834) #8
  %16836 = icmp ne i32 %16835, 0
  br i1 %16836, label %16837, label %16854

16837:                                            ; preds = %16832
  %16838 = load i32, ptr %281, align 4, !tbaa !5
  %16839 = call ptr @__errno_location() #9
  store i32 %16838, ptr %16839, align 4, !tbaa !5
  %16840 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16841 = load i32, ptr @test_count, align 4, !tbaa !5
  %16842 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16843 = load i32, ptr %16842, align 4, !tbaa !5
  %16844 = call ptr @s2n_strerror(i32 noundef %16843, ptr noundef @.str.4)
  %16845 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16846 = load i32, ptr %16845, align 4, !tbaa !5
  %16847 = call ptr @s2n_strerror_debug(i32 noundef %16846, ptr noundef @.str.4)
  %16848 = call ptr @__errno_location() #9
  %16849 = load i32, ptr %16848, align 4, !tbaa !5
  %16850 = call ptr @strerror(i32 noundef %16849) #8
  %16851 = call ptr @__errno_location() #9
  %16852 = load i32, ptr %16851, align 4, !tbaa !5
  %16853 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16840, ptr noundef @.str.2, i32 noundef %16841, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 385, ptr noundef %16844, ptr noundef %16847, ptr noundef %16850, i32 noundef %16852) #8
  br label %16871

16854:                                            ; preds = %16832, %16825
  %16855 = load i32, ptr %281, align 4, !tbaa !5
  %16856 = call ptr @__errno_location() #9
  store i32 %16855, ptr %16856, align 4, !tbaa !5
  %16857 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16858 = load i32, ptr @test_count, align 4, !tbaa !5
  %16859 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16860 = load i32, ptr %16859, align 4, !tbaa !5
  %16861 = call ptr @s2n_strerror(i32 noundef %16860, ptr noundef @.str.4)
  %16862 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16863 = load i32, ptr %16862, align 4, !tbaa !5
  %16864 = call ptr @s2n_strerror_debug(i32 noundef %16863, ptr noundef @.str.4)
  %16865 = call ptr @__errno_location() #9
  %16866 = load i32, ptr %16865, align 4, !tbaa !5
  %16867 = call ptr @strerror(i32 noundef %16866) #8
  %16868 = call ptr @__errno_location() #9
  %16869 = load i32, ptr %16868, align 4, !tbaa !5
  %16870 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16857, ptr noundef @.str.5, i32 noundef %16858, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 385, ptr noundef %16861, ptr noundef %16864, ptr noundef %16867, i32 noundef %16869) #8
  br label %16871

16871:                                            ; preds = %16854, %16837
  call void @llvm.lifetime.end.p0(i64 4, ptr %281) #8
  br label %16872

16872:                                            ; preds = %16871
  br label %16873

16873:                                            ; preds = %16872
  call void @exit(i32 noundef 1) #10
  unreachable

16874:                                            ; No predecessors!
  br label %16875

16875:                                            ; preds = %16874
  br label %16876

16876:                                            ; preds = %16875, %16817
  br label %16877

16877:                                            ; preds = %16876
  br label %16878

16878:                                            ; preds = %16877
  br label %16879

16879:                                            ; preds = %16878
  %16880 = load i32, ptr @test_count, align 4, !tbaa !5
  %16881 = add nsw i32 %16880, 1
  store i32 %16881, ptr @test_count, align 4, !tbaa !5
  %16882 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16883 = load i32, ptr %16882, align 4, !tbaa !5
  %16884 = call ptr @s2n_strerror_debug(i32 noundef %16883, ptr noundef @.str.4)
  %16885 = icmp eq ptr %16884, null
  br i1 %16885, label %16886, label %16939

16886:                                            ; preds = %16879
  br label %16887

16887:                                            ; preds = %16886
  br label %16888

16888:                                            ; preds = %16887
  call void @llvm.lifetime.start.p0(i64 4, ptr %282) #8
  %16889 = call ptr @__errno_location() #9
  %16890 = load i32, ptr %16889, align 4, !tbaa !5
  store i32 %16890, ptr %282, align 4, !tbaa !5
  %16891 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16892 = call i32 @s2n_print_stacktrace(ptr noundef %16891)
  %16893 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16894 = trunc i8 %16893 to i1
  br i1 %16894, label %16895, label %16917

16895:                                            ; preds = %16888
  %16896 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16897 = call i32 @fileno(ptr noundef %16896) #8
  %16898 = call i32 @isatty(i32 noundef %16897) #8
  %16899 = icmp ne i32 %16898, 0
  br i1 %16899, label %16900, label %16917

16900:                                            ; preds = %16895
  %16901 = load i32, ptr %282, align 4, !tbaa !5
  %16902 = call ptr @__errno_location() #9
  store i32 %16901, ptr %16902, align 4, !tbaa !5
  %16903 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16904 = load i32, ptr @test_count, align 4, !tbaa !5
  %16905 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16906 = load i32, ptr %16905, align 4, !tbaa !5
  %16907 = call ptr @s2n_strerror(i32 noundef %16906, ptr noundef @.str.4)
  %16908 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16909 = load i32, ptr %16908, align 4, !tbaa !5
  %16910 = call ptr @s2n_strerror_debug(i32 noundef %16909, ptr noundef @.str.4)
  %16911 = call ptr @__errno_location() #9
  %16912 = load i32, ptr %16911, align 4, !tbaa !5
  %16913 = call ptr @strerror(i32 noundef %16912) #8
  %16914 = call ptr @__errno_location() #9
  %16915 = load i32, ptr %16914, align 4, !tbaa !5
  %16916 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16903, ptr noundef @.str.2, i32 noundef %16904, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 385, ptr noundef %16907, ptr noundef %16910, ptr noundef %16913, i32 noundef %16915) #8
  br label %16934

16917:                                            ; preds = %16895, %16888
  %16918 = load i32, ptr %282, align 4, !tbaa !5
  %16919 = call ptr @__errno_location() #9
  store i32 %16918, ptr %16919, align 4, !tbaa !5
  %16920 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16921 = load i32, ptr @test_count, align 4, !tbaa !5
  %16922 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16923 = load i32, ptr %16922, align 4, !tbaa !5
  %16924 = call ptr @s2n_strerror(i32 noundef %16923, ptr noundef @.str.4)
  %16925 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16926 = load i32, ptr %16925, align 4, !tbaa !5
  %16927 = call ptr @s2n_strerror_debug(i32 noundef %16926, ptr noundef @.str.4)
  %16928 = call ptr @__errno_location() #9
  %16929 = load i32, ptr %16928, align 4, !tbaa !5
  %16930 = call ptr @strerror(i32 noundef %16929) #8
  %16931 = call ptr @__errno_location() #9
  %16932 = load i32, ptr %16931, align 4, !tbaa !5
  %16933 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16920, ptr noundef @.str.5, i32 noundef %16921, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 385, ptr noundef %16924, ptr noundef %16927, ptr noundef %16930, i32 noundef %16932) #8
  br label %16934

16934:                                            ; preds = %16917, %16900
  call void @llvm.lifetime.end.p0(i64 4, ptr %282) #8
  br label %16935

16935:                                            ; preds = %16934
  br label %16936

16936:                                            ; preds = %16935
  call void @exit(i32 noundef 1) #10
  unreachable

16937:                                            ; No predecessors!
  br label %16938

16938:                                            ; preds = %16937
  br label %16939

16939:                                            ; preds = %16938, %16879
  br label %16940

16940:                                            ; preds = %16939
  br label %16941

16941:                                            ; preds = %16940
  br label %16942

16942:                                            ; preds = %16941
  %16943 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %16943, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %16944 = call ptr @__errno_location() #9
  store i32 0, ptr %16944, align 4, !tbaa !5
  br label %16945

16945:                                            ; preds = %16942
  br label %16946

16946:                                            ; preds = %16945
  br label %16947

16947:                                            ; preds = %16946
  br label %16948

16948:                                            ; preds = %16947
  br label %16949

16949:                                            ; preds = %16948
  %16950 = load i32, ptr @test_count, align 4, !tbaa !5
  %16951 = add nsw i32 %16950, 1
  store i32 %16951, ptr @test_count, align 4, !tbaa !5
  %16952 = load ptr, ptr %239, align 8, !tbaa !9
  %16953 = load ptr, ptr %10, align 8, !tbaa !9
  %16954 = call i32 @s2n_test_auth_combo(ptr noundef %16952, ptr noundef @s2n_dhe_rsa_with_3des_ede_cbc_sha, ptr noundef @s2n_rsa_pss_rsae_sha256, ptr noundef %16953)
  %16955 = icmp eq i32 %16954, -1
  br i1 %16955, label %16956, label %17009

16956:                                            ; preds = %16949
  br label %16957

16957:                                            ; preds = %16956
  br label %16958

16958:                                            ; preds = %16957
  call void @llvm.lifetime.start.p0(i64 4, ptr %283) #8
  %16959 = call ptr @__errno_location() #9
  %16960 = load i32, ptr %16959, align 4, !tbaa !5
  store i32 %16960, ptr %283, align 4, !tbaa !5
  %16961 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16962 = call i32 @s2n_print_stacktrace(ptr noundef %16961)
  %16963 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16964 = trunc i8 %16963 to i1
  br i1 %16964, label %16965, label %16987

16965:                                            ; preds = %16958
  %16966 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16967 = call i32 @fileno(ptr noundef %16966) #8
  %16968 = call i32 @isatty(i32 noundef %16967) #8
  %16969 = icmp ne i32 %16968, 0
  br i1 %16969, label %16970, label %16987

16970:                                            ; preds = %16965
  %16971 = load i32, ptr %283, align 4, !tbaa !5
  %16972 = call ptr @__errno_location() #9
  store i32 %16971, ptr %16972, align 4, !tbaa !5
  %16973 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16974 = load i32, ptr @test_count, align 4, !tbaa !5
  %16975 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16976 = load i32, ptr %16975, align 4, !tbaa !5
  %16977 = call ptr @s2n_strerror(i32 noundef %16976, ptr noundef @.str.4)
  %16978 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16979 = load i32, ptr %16978, align 4, !tbaa !5
  %16980 = call ptr @s2n_strerror_debug(i32 noundef %16979, ptr noundef @.str.4)
  %16981 = call ptr @__errno_location() #9
  %16982 = load i32, ptr %16981, align 4, !tbaa !5
  %16983 = call ptr @strerror(i32 noundef %16982) #8
  %16984 = call ptr @__errno_location() #9
  %16985 = load i32, ptr %16984, align 4, !tbaa !5
  %16986 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16973, ptr noundef @.str.2, i32 noundef %16974, ptr noundef @.str.85, ptr noundef @.str.1, i32 noundef 386, ptr noundef %16977, ptr noundef %16980, ptr noundef %16983, i32 noundef %16985) #8
  br label %17004

16987:                                            ; preds = %16965, %16958
  %16988 = load i32, ptr %283, align 4, !tbaa !5
  %16989 = call ptr @__errno_location() #9
  store i32 %16988, ptr %16989, align 4, !tbaa !5
  %16990 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16991 = load i32, ptr @test_count, align 4, !tbaa !5
  %16992 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16993 = load i32, ptr %16992, align 4, !tbaa !5
  %16994 = call ptr @s2n_strerror(i32 noundef %16993, ptr noundef @.str.4)
  %16995 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16996 = load i32, ptr %16995, align 4, !tbaa !5
  %16997 = call ptr @s2n_strerror_debug(i32 noundef %16996, ptr noundef @.str.4)
  %16998 = call ptr @__errno_location() #9
  %16999 = load i32, ptr %16998, align 4, !tbaa !5
  %17000 = call ptr @strerror(i32 noundef %16999) #8
  %17001 = call ptr @__errno_location() #9
  %17002 = load i32, ptr %17001, align 4, !tbaa !5
  %17003 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16990, ptr noundef @.str.5, i32 noundef %16991, ptr noundef @.str.85, ptr noundef @.str.1, i32 noundef 386, ptr noundef %16994, ptr noundef %16997, ptr noundef %17000, i32 noundef %17002) #8
  br label %17004

17004:                                            ; preds = %16987, %16970
  call void @llvm.lifetime.end.p0(i64 4, ptr %283) #8
  br label %17005

17005:                                            ; preds = %17004
  br label %17006

17006:                                            ; preds = %17005
  call void @exit(i32 noundef 1) #10
  unreachable

17007:                                            ; No predecessors!
  br label %17008

17008:                                            ; preds = %17007
  br label %17009

17009:                                            ; preds = %17008, %16949
  br label %17010

17010:                                            ; preds = %17009
  br label %17011

17011:                                            ; preds = %17010
  br label %17012

17012:                                            ; preds = %17011
  br label %17013

17013:                                            ; preds = %17012
  %17014 = load i32, ptr @test_count, align 4, !tbaa !5
  %17015 = add nsw i32 %17014, 1
  store i32 %17015, ptr @test_count, align 4, !tbaa !5
  %17016 = load ptr, ptr %239, align 8, !tbaa !9
  %17017 = call i32 @s2n_test_auth_combo(ptr noundef %17016, ptr noundef @s2n_dhe_rsa_with_3des_ede_cbc_sha, ptr noundef @s2n_ecdsa_sha384, ptr noundef null)
  %17018 = icmp eq i32 %17017, -1
  br i1 %17018, label %17072, label %17019

17019:                                            ; preds = %17013
  br label %17020

17020:                                            ; preds = %17019
  br label %17021

17021:                                            ; preds = %17020
  call void @llvm.lifetime.start.p0(i64 4, ptr %284) #8
  %17022 = call ptr @__errno_location() #9
  %17023 = load i32, ptr %17022, align 4, !tbaa !5
  store i32 %17023, ptr %284, align 4, !tbaa !5
  %17024 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17025 = call i32 @s2n_print_stacktrace(ptr noundef %17024)
  %17026 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %17027 = trunc i8 %17026 to i1
  br i1 %17027, label %17028, label %17050

17028:                                            ; preds = %17021
  %17029 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17030 = call i32 @fileno(ptr noundef %17029) #8
  %17031 = call i32 @isatty(i32 noundef %17030) #8
  %17032 = icmp ne i32 %17031, 0
  br i1 %17032, label %17033, label %17050

17033:                                            ; preds = %17028
  %17034 = load i32, ptr %284, align 4, !tbaa !5
  %17035 = call ptr @__errno_location() #9
  store i32 %17034, ptr %17035, align 4, !tbaa !5
  %17036 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17037 = load i32, ptr @test_count, align 4, !tbaa !5
  %17038 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17039 = load i32, ptr %17038, align 4, !tbaa !5
  %17040 = call ptr @s2n_strerror(i32 noundef %17039, ptr noundef @.str.4)
  %17041 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17042 = load i32, ptr %17041, align 4, !tbaa !5
  %17043 = call ptr @s2n_strerror_debug(i32 noundef %17042, ptr noundef @.str.4)
  %17044 = call ptr @__errno_location() #9
  %17045 = load i32, ptr %17044, align 4, !tbaa !5
  %17046 = call ptr @strerror(i32 noundef %17045) #8
  %17047 = call ptr @__errno_location() #9
  %17048 = load i32, ptr %17047, align 4, !tbaa !5
  %17049 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17036, ptr noundef @.str.2, i32 noundef %17037, ptr noundef @.str.75, ptr noundef @.str.1, i32 noundef 387, ptr noundef %17040, ptr noundef %17043, ptr noundef %17046, i32 noundef %17048) #8
  br label %17067

17050:                                            ; preds = %17028, %17021
  %17051 = load i32, ptr %284, align 4, !tbaa !5
  %17052 = call ptr @__errno_location() #9
  store i32 %17051, ptr %17052, align 4, !tbaa !5
  %17053 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17054 = load i32, ptr @test_count, align 4, !tbaa !5
  %17055 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17056 = load i32, ptr %17055, align 4, !tbaa !5
  %17057 = call ptr @s2n_strerror(i32 noundef %17056, ptr noundef @.str.4)
  %17058 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17059 = load i32, ptr %17058, align 4, !tbaa !5
  %17060 = call ptr @s2n_strerror_debug(i32 noundef %17059, ptr noundef @.str.4)
  %17061 = call ptr @__errno_location() #9
  %17062 = load i32, ptr %17061, align 4, !tbaa !5
  %17063 = call ptr @strerror(i32 noundef %17062) #8
  %17064 = call ptr @__errno_location() #9
  %17065 = load i32, ptr %17064, align 4, !tbaa !5
  %17066 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17053, ptr noundef @.str.5, i32 noundef %17054, ptr noundef @.str.75, ptr noundef @.str.1, i32 noundef 387, ptr noundef %17057, ptr noundef %17060, ptr noundef %17063, i32 noundef %17065) #8
  br label %17067

17067:                                            ; preds = %17050, %17033
  call void @llvm.lifetime.end.p0(i64 4, ptr %284) #8
  br label %17068

17068:                                            ; preds = %17067
  br label %17069

17069:                                            ; preds = %17068
  call void @exit(i32 noundef 1) #10
  unreachable

17070:                                            ; No predecessors!
  br label %17071

17071:                                            ; preds = %17070
  br label %17072

17072:                                            ; preds = %17071, %17013
  br label %17073

17073:                                            ; preds = %17072
  br label %17074

17074:                                            ; preds = %17073
  br label %17075

17075:                                            ; preds = %17074
  %17076 = load i32, ptr @test_count, align 4, !tbaa !5
  %17077 = add nsw i32 %17076, 1
  store i32 %17077, ptr @test_count, align 4, !tbaa !5
  %17078 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17079 = load i32, ptr %17078, align 4, !tbaa !5
  %17080 = icmp eq i32 %17079, 0
  br i1 %17080, label %17081, label %17134

17081:                                            ; preds = %17075
  br label %17082

17082:                                            ; preds = %17081
  br label %17083

17083:                                            ; preds = %17082
  call void @llvm.lifetime.start.p0(i64 4, ptr %285) #8
  %17084 = call ptr @__errno_location() #9
  %17085 = load i32, ptr %17084, align 4, !tbaa !5
  store i32 %17085, ptr %285, align 4, !tbaa !5
  %17086 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17087 = call i32 @s2n_print_stacktrace(ptr noundef %17086)
  %17088 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %17089 = trunc i8 %17088 to i1
  br i1 %17089, label %17090, label %17112

17090:                                            ; preds = %17083
  %17091 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17092 = call i32 @fileno(ptr noundef %17091) #8
  %17093 = call i32 @isatty(i32 noundef %17092) #8
  %17094 = icmp ne i32 %17093, 0
  br i1 %17094, label %17095, label %17112

17095:                                            ; preds = %17090
  %17096 = load i32, ptr %285, align 4, !tbaa !5
  %17097 = call ptr @__errno_location() #9
  store i32 %17096, ptr %17097, align 4, !tbaa !5
  %17098 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17099 = load i32, ptr @test_count, align 4, !tbaa !5
  %17100 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17101 = load i32, ptr %17100, align 4, !tbaa !5
  %17102 = call ptr @s2n_strerror(i32 noundef %17101, ptr noundef @.str.4)
  %17103 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17104 = load i32, ptr %17103, align 4, !tbaa !5
  %17105 = call ptr @s2n_strerror_debug(i32 noundef %17104, ptr noundef @.str.4)
  %17106 = call ptr @__errno_location() #9
  %17107 = load i32, ptr %17106, align 4, !tbaa !5
  %17108 = call ptr @strerror(i32 noundef %17107) #8
  %17109 = call ptr @__errno_location() #9
  %17110 = load i32, ptr %17109, align 4, !tbaa !5
  %17111 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17098, ptr noundef @.str.2, i32 noundef %17099, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 387, ptr noundef %17102, ptr noundef %17105, ptr noundef %17108, i32 noundef %17110) #8
  br label %17129

17112:                                            ; preds = %17090, %17083
  %17113 = load i32, ptr %285, align 4, !tbaa !5
  %17114 = call ptr @__errno_location() #9
  store i32 %17113, ptr %17114, align 4, !tbaa !5
  %17115 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17116 = load i32, ptr @test_count, align 4, !tbaa !5
  %17117 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17118 = load i32, ptr %17117, align 4, !tbaa !5
  %17119 = call ptr @s2n_strerror(i32 noundef %17118, ptr noundef @.str.4)
  %17120 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17121 = load i32, ptr %17120, align 4, !tbaa !5
  %17122 = call ptr @s2n_strerror_debug(i32 noundef %17121, ptr noundef @.str.4)
  %17123 = call ptr @__errno_location() #9
  %17124 = load i32, ptr %17123, align 4, !tbaa !5
  %17125 = call ptr @strerror(i32 noundef %17124) #8
  %17126 = call ptr @__errno_location() #9
  %17127 = load i32, ptr %17126, align 4, !tbaa !5
  %17128 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17115, ptr noundef @.str.5, i32 noundef %17116, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 387, ptr noundef %17119, ptr noundef %17122, ptr noundef %17125, i32 noundef %17127) #8
  br label %17129

17129:                                            ; preds = %17112, %17095
  call void @llvm.lifetime.end.p0(i64 4, ptr %285) #8
  br label %17130

17130:                                            ; preds = %17129
  br label %17131

17131:                                            ; preds = %17130
  call void @exit(i32 noundef 1) #10
  unreachable

17132:                                            ; No predecessors!
  br label %17133

17133:                                            ; preds = %17132
  br label %17134

17134:                                            ; preds = %17133, %17075
  br label %17135

17135:                                            ; preds = %17134
  br label %17136

17136:                                            ; preds = %17135
  br label %17137

17137:                                            ; preds = %17136
  %17138 = load i32, ptr @test_count, align 4, !tbaa !5
  %17139 = add nsw i32 %17138, 1
  store i32 %17139, ptr @test_count, align 4, !tbaa !5
  %17140 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17141 = load i32, ptr %17140, align 4, !tbaa !5
  %17142 = call ptr @s2n_strerror_debug(i32 noundef %17141, ptr noundef @.str.4)
  %17143 = icmp eq ptr %17142, null
  br i1 %17143, label %17144, label %17197

17144:                                            ; preds = %17137
  br label %17145

17145:                                            ; preds = %17144
  br label %17146

17146:                                            ; preds = %17145
  call void @llvm.lifetime.start.p0(i64 4, ptr %286) #8
  %17147 = call ptr @__errno_location() #9
  %17148 = load i32, ptr %17147, align 4, !tbaa !5
  store i32 %17148, ptr %286, align 4, !tbaa !5
  %17149 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17150 = call i32 @s2n_print_stacktrace(ptr noundef %17149)
  %17151 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %17152 = trunc i8 %17151 to i1
  br i1 %17152, label %17153, label %17175

17153:                                            ; preds = %17146
  %17154 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17155 = call i32 @fileno(ptr noundef %17154) #8
  %17156 = call i32 @isatty(i32 noundef %17155) #8
  %17157 = icmp ne i32 %17156, 0
  br i1 %17157, label %17158, label %17175

17158:                                            ; preds = %17153
  %17159 = load i32, ptr %286, align 4, !tbaa !5
  %17160 = call ptr @__errno_location() #9
  store i32 %17159, ptr %17160, align 4, !tbaa !5
  %17161 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17162 = load i32, ptr @test_count, align 4, !tbaa !5
  %17163 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17164 = load i32, ptr %17163, align 4, !tbaa !5
  %17165 = call ptr @s2n_strerror(i32 noundef %17164, ptr noundef @.str.4)
  %17166 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17167 = load i32, ptr %17166, align 4, !tbaa !5
  %17168 = call ptr @s2n_strerror_debug(i32 noundef %17167, ptr noundef @.str.4)
  %17169 = call ptr @__errno_location() #9
  %17170 = load i32, ptr %17169, align 4, !tbaa !5
  %17171 = call ptr @strerror(i32 noundef %17170) #8
  %17172 = call ptr @__errno_location() #9
  %17173 = load i32, ptr %17172, align 4, !tbaa !5
  %17174 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17161, ptr noundef @.str.2, i32 noundef %17162, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 387, ptr noundef %17165, ptr noundef %17168, ptr noundef %17171, i32 noundef %17173) #8
  br label %17192

17175:                                            ; preds = %17153, %17146
  %17176 = load i32, ptr %286, align 4, !tbaa !5
  %17177 = call ptr @__errno_location() #9
  store i32 %17176, ptr %17177, align 4, !tbaa !5
  %17178 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17179 = load i32, ptr @test_count, align 4, !tbaa !5
  %17180 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17181 = load i32, ptr %17180, align 4, !tbaa !5
  %17182 = call ptr @s2n_strerror(i32 noundef %17181, ptr noundef @.str.4)
  %17183 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17184 = load i32, ptr %17183, align 4, !tbaa !5
  %17185 = call ptr @s2n_strerror_debug(i32 noundef %17184, ptr noundef @.str.4)
  %17186 = call ptr @__errno_location() #9
  %17187 = load i32, ptr %17186, align 4, !tbaa !5
  %17188 = call ptr @strerror(i32 noundef %17187) #8
  %17189 = call ptr @__errno_location() #9
  %17190 = load i32, ptr %17189, align 4, !tbaa !5
  %17191 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17178, ptr noundef @.str.5, i32 noundef %17179, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 387, ptr noundef %17182, ptr noundef %17185, ptr noundef %17188, i32 noundef %17190) #8
  br label %17192

17192:                                            ; preds = %17175, %17158
  call void @llvm.lifetime.end.p0(i64 4, ptr %286) #8
  br label %17193

17193:                                            ; preds = %17192
  br label %17194

17194:                                            ; preds = %17193
  call void @exit(i32 noundef 1) #10
  unreachable

17195:                                            ; No predecessors!
  br label %17196

17196:                                            ; preds = %17195
  br label %17197

17197:                                            ; preds = %17196, %17137
  br label %17198

17198:                                            ; preds = %17197
  br label %17199

17199:                                            ; preds = %17198
  br label %17200

17200:                                            ; preds = %17199
  %17201 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %17201, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %17202 = call ptr @__errno_location() #9
  store i32 0, ptr %17202, align 4, !tbaa !5
  br label %17203

17203:                                            ; preds = %17200
  br label %17204

17204:                                            ; preds = %17203
  br label %17205

17205:                                            ; preds = %17204
  br label %17206

17206:                                            ; preds = %17205
  br label %17207

17207:                                            ; preds = %17206
  br label %17208

17208:                                            ; preds = %17207
  %17209 = load i32, ptr @test_count, align 4, !tbaa !5
  %17210 = add nsw i32 %17209, 1
  store i32 %17210, ptr @test_count, align 4, !tbaa !5
  %17211 = load ptr, ptr %239, align 8, !tbaa !9
  %17212 = call i32 @s2n_test_auth_combo(ptr noundef %17211, ptr noundef @s2n_ecdhe_ecdsa_with_aes_128_cbc_sha, ptr noundef @s2n_rsa_pkcs1_md5_sha1, ptr noundef null)
  %17213 = icmp eq i32 %17212, -1
  br i1 %17213, label %17267, label %17214

17214:                                            ; preds = %17208
  br label %17215

17215:                                            ; preds = %17214
  br label %17216

17216:                                            ; preds = %17215
  call void @llvm.lifetime.start.p0(i64 4, ptr %287) #8
  %17217 = call ptr @__errno_location() #9
  %17218 = load i32, ptr %17217, align 4, !tbaa !5
  store i32 %17218, ptr %287, align 4, !tbaa !5
  %17219 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17220 = call i32 @s2n_print_stacktrace(ptr noundef %17219)
  %17221 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %17222 = trunc i8 %17221 to i1
  br i1 %17222, label %17223, label %17245

17223:                                            ; preds = %17216
  %17224 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17225 = call i32 @fileno(ptr noundef %17224) #8
  %17226 = call i32 @isatty(i32 noundef %17225) #8
  %17227 = icmp ne i32 %17226, 0
  br i1 %17227, label %17228, label %17245

17228:                                            ; preds = %17223
  %17229 = load i32, ptr %287, align 4, !tbaa !5
  %17230 = call ptr @__errno_location() #9
  store i32 %17229, ptr %17230, align 4, !tbaa !5
  %17231 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17232 = load i32, ptr @test_count, align 4, !tbaa !5
  %17233 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17234 = load i32, ptr %17233, align 4, !tbaa !5
  %17235 = call ptr @s2n_strerror(i32 noundef %17234, ptr noundef @.str.4)
  %17236 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17237 = load i32, ptr %17236, align 4, !tbaa !5
  %17238 = call ptr @s2n_strerror_debug(i32 noundef %17237, ptr noundef @.str.4)
  %17239 = call ptr @__errno_location() #9
  %17240 = load i32, ptr %17239, align 4, !tbaa !5
  %17241 = call ptr @strerror(i32 noundef %17240) #8
  %17242 = call ptr @__errno_location() #9
  %17243 = load i32, ptr %17242, align 4, !tbaa !5
  %17244 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17231, ptr noundef @.str.2, i32 noundef %17232, ptr noundef @.str.76, ptr noundef @.str.1, i32 noundef 389, ptr noundef %17235, ptr noundef %17238, ptr noundef %17241, i32 noundef %17243) #8
  br label %17262

17245:                                            ; preds = %17223, %17216
  %17246 = load i32, ptr %287, align 4, !tbaa !5
  %17247 = call ptr @__errno_location() #9
  store i32 %17246, ptr %17247, align 4, !tbaa !5
  %17248 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17249 = load i32, ptr @test_count, align 4, !tbaa !5
  %17250 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17251 = load i32, ptr %17250, align 4, !tbaa !5
  %17252 = call ptr @s2n_strerror(i32 noundef %17251, ptr noundef @.str.4)
  %17253 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17254 = load i32, ptr %17253, align 4, !tbaa !5
  %17255 = call ptr @s2n_strerror_debug(i32 noundef %17254, ptr noundef @.str.4)
  %17256 = call ptr @__errno_location() #9
  %17257 = load i32, ptr %17256, align 4, !tbaa !5
  %17258 = call ptr @strerror(i32 noundef %17257) #8
  %17259 = call ptr @__errno_location() #9
  %17260 = load i32, ptr %17259, align 4, !tbaa !5
  %17261 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17248, ptr noundef @.str.5, i32 noundef %17249, ptr noundef @.str.76, ptr noundef @.str.1, i32 noundef 389, ptr noundef %17252, ptr noundef %17255, ptr noundef %17258, i32 noundef %17260) #8
  br label %17262

17262:                                            ; preds = %17245, %17228
  call void @llvm.lifetime.end.p0(i64 4, ptr %287) #8
  br label %17263

17263:                                            ; preds = %17262
  br label %17264

17264:                                            ; preds = %17263
  call void @exit(i32 noundef 1) #10
  unreachable

17265:                                            ; No predecessors!
  br label %17266

17266:                                            ; preds = %17265
  br label %17267

17267:                                            ; preds = %17266, %17208
  br label %17268

17268:                                            ; preds = %17267
  br label %17269

17269:                                            ; preds = %17268
  br label %17270

17270:                                            ; preds = %17269
  %17271 = load i32, ptr @test_count, align 4, !tbaa !5
  %17272 = add nsw i32 %17271, 1
  store i32 %17272, ptr @test_count, align 4, !tbaa !5
  %17273 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17274 = load i32, ptr %17273, align 4, !tbaa !5
  %17275 = icmp eq i32 %17274, 0
  br i1 %17275, label %17276, label %17329

17276:                                            ; preds = %17270
  br label %17277

17277:                                            ; preds = %17276
  br label %17278

17278:                                            ; preds = %17277
  call void @llvm.lifetime.start.p0(i64 4, ptr %288) #8
  %17279 = call ptr @__errno_location() #9
  %17280 = load i32, ptr %17279, align 4, !tbaa !5
  store i32 %17280, ptr %288, align 4, !tbaa !5
  %17281 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17282 = call i32 @s2n_print_stacktrace(ptr noundef %17281)
  %17283 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %17284 = trunc i8 %17283 to i1
  br i1 %17284, label %17285, label %17307

17285:                                            ; preds = %17278
  %17286 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17287 = call i32 @fileno(ptr noundef %17286) #8
  %17288 = call i32 @isatty(i32 noundef %17287) #8
  %17289 = icmp ne i32 %17288, 0
  br i1 %17289, label %17290, label %17307

17290:                                            ; preds = %17285
  %17291 = load i32, ptr %288, align 4, !tbaa !5
  %17292 = call ptr @__errno_location() #9
  store i32 %17291, ptr %17292, align 4, !tbaa !5
  %17293 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17294 = load i32, ptr @test_count, align 4, !tbaa !5
  %17295 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17296 = load i32, ptr %17295, align 4, !tbaa !5
  %17297 = call ptr @s2n_strerror(i32 noundef %17296, ptr noundef @.str.4)
  %17298 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17299 = load i32, ptr %17298, align 4, !tbaa !5
  %17300 = call ptr @s2n_strerror_debug(i32 noundef %17299, ptr noundef @.str.4)
  %17301 = call ptr @__errno_location() #9
  %17302 = load i32, ptr %17301, align 4, !tbaa !5
  %17303 = call ptr @strerror(i32 noundef %17302) #8
  %17304 = call ptr @__errno_location() #9
  %17305 = load i32, ptr %17304, align 4, !tbaa !5
  %17306 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17293, ptr noundef @.str.2, i32 noundef %17294, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 389, ptr noundef %17297, ptr noundef %17300, ptr noundef %17303, i32 noundef %17305) #8
  br label %17324

17307:                                            ; preds = %17285, %17278
  %17308 = load i32, ptr %288, align 4, !tbaa !5
  %17309 = call ptr @__errno_location() #9
  store i32 %17308, ptr %17309, align 4, !tbaa !5
  %17310 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17311 = load i32, ptr @test_count, align 4, !tbaa !5
  %17312 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17313 = load i32, ptr %17312, align 4, !tbaa !5
  %17314 = call ptr @s2n_strerror(i32 noundef %17313, ptr noundef @.str.4)
  %17315 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17316 = load i32, ptr %17315, align 4, !tbaa !5
  %17317 = call ptr @s2n_strerror_debug(i32 noundef %17316, ptr noundef @.str.4)
  %17318 = call ptr @__errno_location() #9
  %17319 = load i32, ptr %17318, align 4, !tbaa !5
  %17320 = call ptr @strerror(i32 noundef %17319) #8
  %17321 = call ptr @__errno_location() #9
  %17322 = load i32, ptr %17321, align 4, !tbaa !5
  %17323 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17310, ptr noundef @.str.5, i32 noundef %17311, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 389, ptr noundef %17314, ptr noundef %17317, ptr noundef %17320, i32 noundef %17322) #8
  br label %17324

17324:                                            ; preds = %17307, %17290
  call void @llvm.lifetime.end.p0(i64 4, ptr %288) #8
  br label %17325

17325:                                            ; preds = %17324
  br label %17326

17326:                                            ; preds = %17325
  call void @exit(i32 noundef 1) #10
  unreachable

17327:                                            ; No predecessors!
  br label %17328

17328:                                            ; preds = %17327
  br label %17329

17329:                                            ; preds = %17328, %17270
  br label %17330

17330:                                            ; preds = %17329
  br label %17331

17331:                                            ; preds = %17330
  br label %17332

17332:                                            ; preds = %17331
  %17333 = load i32, ptr @test_count, align 4, !tbaa !5
  %17334 = add nsw i32 %17333, 1
  store i32 %17334, ptr @test_count, align 4, !tbaa !5
  %17335 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17336 = load i32, ptr %17335, align 4, !tbaa !5
  %17337 = call ptr @s2n_strerror_debug(i32 noundef %17336, ptr noundef @.str.4)
  %17338 = icmp eq ptr %17337, null
  br i1 %17338, label %17339, label %17392

17339:                                            ; preds = %17332
  br label %17340

17340:                                            ; preds = %17339
  br label %17341

17341:                                            ; preds = %17340
  call void @llvm.lifetime.start.p0(i64 4, ptr %289) #8
  %17342 = call ptr @__errno_location() #9
  %17343 = load i32, ptr %17342, align 4, !tbaa !5
  store i32 %17343, ptr %289, align 4, !tbaa !5
  %17344 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17345 = call i32 @s2n_print_stacktrace(ptr noundef %17344)
  %17346 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %17347 = trunc i8 %17346 to i1
  br i1 %17347, label %17348, label %17370

17348:                                            ; preds = %17341
  %17349 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17350 = call i32 @fileno(ptr noundef %17349) #8
  %17351 = call i32 @isatty(i32 noundef %17350) #8
  %17352 = icmp ne i32 %17351, 0
  br i1 %17352, label %17353, label %17370

17353:                                            ; preds = %17348
  %17354 = load i32, ptr %289, align 4, !tbaa !5
  %17355 = call ptr @__errno_location() #9
  store i32 %17354, ptr %17355, align 4, !tbaa !5
  %17356 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17357 = load i32, ptr @test_count, align 4, !tbaa !5
  %17358 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17359 = load i32, ptr %17358, align 4, !tbaa !5
  %17360 = call ptr @s2n_strerror(i32 noundef %17359, ptr noundef @.str.4)
  %17361 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17362 = load i32, ptr %17361, align 4, !tbaa !5
  %17363 = call ptr @s2n_strerror_debug(i32 noundef %17362, ptr noundef @.str.4)
  %17364 = call ptr @__errno_location() #9
  %17365 = load i32, ptr %17364, align 4, !tbaa !5
  %17366 = call ptr @strerror(i32 noundef %17365) #8
  %17367 = call ptr @__errno_location() #9
  %17368 = load i32, ptr %17367, align 4, !tbaa !5
  %17369 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17356, ptr noundef @.str.2, i32 noundef %17357, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 389, ptr noundef %17360, ptr noundef %17363, ptr noundef %17366, i32 noundef %17368) #8
  br label %17387

17370:                                            ; preds = %17348, %17341
  %17371 = load i32, ptr %289, align 4, !tbaa !5
  %17372 = call ptr @__errno_location() #9
  store i32 %17371, ptr %17372, align 4, !tbaa !5
  %17373 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17374 = load i32, ptr @test_count, align 4, !tbaa !5
  %17375 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17376 = load i32, ptr %17375, align 4, !tbaa !5
  %17377 = call ptr @s2n_strerror(i32 noundef %17376, ptr noundef @.str.4)
  %17378 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17379 = load i32, ptr %17378, align 4, !tbaa !5
  %17380 = call ptr @s2n_strerror_debug(i32 noundef %17379, ptr noundef @.str.4)
  %17381 = call ptr @__errno_location() #9
  %17382 = load i32, ptr %17381, align 4, !tbaa !5
  %17383 = call ptr @strerror(i32 noundef %17382) #8
  %17384 = call ptr @__errno_location() #9
  %17385 = load i32, ptr %17384, align 4, !tbaa !5
  %17386 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17373, ptr noundef @.str.5, i32 noundef %17374, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 389, ptr noundef %17377, ptr noundef %17380, ptr noundef %17383, i32 noundef %17385) #8
  br label %17387

17387:                                            ; preds = %17370, %17353
  call void @llvm.lifetime.end.p0(i64 4, ptr %289) #8
  br label %17388

17388:                                            ; preds = %17387
  br label %17389

17389:                                            ; preds = %17388
  call void @exit(i32 noundef 1) #10
  unreachable

17390:                                            ; No predecessors!
  br label %17391

17391:                                            ; preds = %17390
  br label %17392

17392:                                            ; preds = %17391, %17332
  br label %17393

17393:                                            ; preds = %17392
  br label %17394

17394:                                            ; preds = %17393
  br label %17395

17395:                                            ; preds = %17394
  %17396 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %17396, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %17397 = call ptr @__errno_location() #9
  store i32 0, ptr %17397, align 4, !tbaa !5
  br label %17398

17398:                                            ; preds = %17395
  br label %17399

17399:                                            ; preds = %17398
  br label %17400

17400:                                            ; preds = %17399
  br label %17401

17401:                                            ; preds = %17400
  br label %17402

17402:                                            ; preds = %17401
  br label %17403

17403:                                            ; preds = %17402
  %17404 = load i32, ptr @test_count, align 4, !tbaa !5
  %17405 = add nsw i32 %17404, 1
  store i32 %17405, ptr @test_count, align 4, !tbaa !5
  %17406 = load ptr, ptr %239, align 8, !tbaa !9
  %17407 = call i32 @s2n_test_auth_combo(ptr noundef %17406, ptr noundef @s2n_ecdhe_ecdsa_with_aes_128_cbc_sha, ptr noundef @s2n_rsa_pss_pss_sha256, ptr noundef null)
  %17408 = icmp eq i32 %17407, -1
  br i1 %17408, label %17462, label %17409

17409:                                            ; preds = %17403
  br label %17410

17410:                                            ; preds = %17409
  br label %17411

17411:                                            ; preds = %17410
  call void @llvm.lifetime.start.p0(i64 4, ptr %290) #8
  %17412 = call ptr @__errno_location() #9
  %17413 = load i32, ptr %17412, align 4, !tbaa !5
  store i32 %17413, ptr %290, align 4, !tbaa !5
  %17414 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17415 = call i32 @s2n_print_stacktrace(ptr noundef %17414)
  %17416 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %17417 = trunc i8 %17416 to i1
  br i1 %17417, label %17418, label %17440

17418:                                            ; preds = %17411
  %17419 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17420 = call i32 @fileno(ptr noundef %17419) #8
  %17421 = call i32 @isatty(i32 noundef %17420) #8
  %17422 = icmp ne i32 %17421, 0
  br i1 %17422, label %17423, label %17440

17423:                                            ; preds = %17418
  %17424 = load i32, ptr %290, align 4, !tbaa !5
  %17425 = call ptr @__errno_location() #9
  store i32 %17424, ptr %17425, align 4, !tbaa !5
  %17426 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17427 = load i32, ptr @test_count, align 4, !tbaa !5
  %17428 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17429 = load i32, ptr %17428, align 4, !tbaa !5
  %17430 = call ptr @s2n_strerror(i32 noundef %17429, ptr noundef @.str.4)
  %17431 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17432 = load i32, ptr %17431, align 4, !tbaa !5
  %17433 = call ptr @s2n_strerror_debug(i32 noundef %17432, ptr noundef @.str.4)
  %17434 = call ptr @__errno_location() #9
  %17435 = load i32, ptr %17434, align 4, !tbaa !5
  %17436 = call ptr @strerror(i32 noundef %17435) #8
  %17437 = call ptr @__errno_location() #9
  %17438 = load i32, ptr %17437, align 4, !tbaa !5
  %17439 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17426, ptr noundef @.str.2, i32 noundef %17427, ptr noundef @.str.77, ptr noundef @.str.1, i32 noundef 390, ptr noundef %17430, ptr noundef %17433, ptr noundef %17436, i32 noundef %17438) #8
  br label %17457

17440:                                            ; preds = %17418, %17411
  %17441 = load i32, ptr %290, align 4, !tbaa !5
  %17442 = call ptr @__errno_location() #9
  store i32 %17441, ptr %17442, align 4, !tbaa !5
  %17443 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17444 = load i32, ptr @test_count, align 4, !tbaa !5
  %17445 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17446 = load i32, ptr %17445, align 4, !tbaa !5
  %17447 = call ptr @s2n_strerror(i32 noundef %17446, ptr noundef @.str.4)
  %17448 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17449 = load i32, ptr %17448, align 4, !tbaa !5
  %17450 = call ptr @s2n_strerror_debug(i32 noundef %17449, ptr noundef @.str.4)
  %17451 = call ptr @__errno_location() #9
  %17452 = load i32, ptr %17451, align 4, !tbaa !5
  %17453 = call ptr @strerror(i32 noundef %17452) #8
  %17454 = call ptr @__errno_location() #9
  %17455 = load i32, ptr %17454, align 4, !tbaa !5
  %17456 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17443, ptr noundef @.str.5, i32 noundef %17444, ptr noundef @.str.77, ptr noundef @.str.1, i32 noundef 390, ptr noundef %17447, ptr noundef %17450, ptr noundef %17453, i32 noundef %17455) #8
  br label %17457

17457:                                            ; preds = %17440, %17423
  call void @llvm.lifetime.end.p0(i64 4, ptr %290) #8
  br label %17458

17458:                                            ; preds = %17457
  br label %17459

17459:                                            ; preds = %17458
  call void @exit(i32 noundef 1) #10
  unreachable

17460:                                            ; No predecessors!
  br label %17461

17461:                                            ; preds = %17460
  br label %17462

17462:                                            ; preds = %17461, %17403
  br label %17463

17463:                                            ; preds = %17462
  br label %17464

17464:                                            ; preds = %17463
  br label %17465

17465:                                            ; preds = %17464
  %17466 = load i32, ptr @test_count, align 4, !tbaa !5
  %17467 = add nsw i32 %17466, 1
  store i32 %17467, ptr @test_count, align 4, !tbaa !5
  %17468 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17469 = load i32, ptr %17468, align 4, !tbaa !5
  %17470 = icmp eq i32 %17469, 0
  br i1 %17470, label %17471, label %17524

17471:                                            ; preds = %17465
  br label %17472

17472:                                            ; preds = %17471
  br label %17473

17473:                                            ; preds = %17472
  call void @llvm.lifetime.start.p0(i64 4, ptr %291) #8
  %17474 = call ptr @__errno_location() #9
  %17475 = load i32, ptr %17474, align 4, !tbaa !5
  store i32 %17475, ptr %291, align 4, !tbaa !5
  %17476 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17477 = call i32 @s2n_print_stacktrace(ptr noundef %17476)
  %17478 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %17479 = trunc i8 %17478 to i1
  br i1 %17479, label %17480, label %17502

17480:                                            ; preds = %17473
  %17481 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17482 = call i32 @fileno(ptr noundef %17481) #8
  %17483 = call i32 @isatty(i32 noundef %17482) #8
  %17484 = icmp ne i32 %17483, 0
  br i1 %17484, label %17485, label %17502

17485:                                            ; preds = %17480
  %17486 = load i32, ptr %291, align 4, !tbaa !5
  %17487 = call ptr @__errno_location() #9
  store i32 %17486, ptr %17487, align 4, !tbaa !5
  %17488 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17489 = load i32, ptr @test_count, align 4, !tbaa !5
  %17490 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17491 = load i32, ptr %17490, align 4, !tbaa !5
  %17492 = call ptr @s2n_strerror(i32 noundef %17491, ptr noundef @.str.4)
  %17493 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17494 = load i32, ptr %17493, align 4, !tbaa !5
  %17495 = call ptr @s2n_strerror_debug(i32 noundef %17494, ptr noundef @.str.4)
  %17496 = call ptr @__errno_location() #9
  %17497 = load i32, ptr %17496, align 4, !tbaa !5
  %17498 = call ptr @strerror(i32 noundef %17497) #8
  %17499 = call ptr @__errno_location() #9
  %17500 = load i32, ptr %17499, align 4, !tbaa !5
  %17501 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17488, ptr noundef @.str.2, i32 noundef %17489, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 390, ptr noundef %17492, ptr noundef %17495, ptr noundef %17498, i32 noundef %17500) #8
  br label %17519

17502:                                            ; preds = %17480, %17473
  %17503 = load i32, ptr %291, align 4, !tbaa !5
  %17504 = call ptr @__errno_location() #9
  store i32 %17503, ptr %17504, align 4, !tbaa !5
  %17505 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17506 = load i32, ptr @test_count, align 4, !tbaa !5
  %17507 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17508 = load i32, ptr %17507, align 4, !tbaa !5
  %17509 = call ptr @s2n_strerror(i32 noundef %17508, ptr noundef @.str.4)
  %17510 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17511 = load i32, ptr %17510, align 4, !tbaa !5
  %17512 = call ptr @s2n_strerror_debug(i32 noundef %17511, ptr noundef @.str.4)
  %17513 = call ptr @__errno_location() #9
  %17514 = load i32, ptr %17513, align 4, !tbaa !5
  %17515 = call ptr @strerror(i32 noundef %17514) #8
  %17516 = call ptr @__errno_location() #9
  %17517 = load i32, ptr %17516, align 4, !tbaa !5
  %17518 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17505, ptr noundef @.str.5, i32 noundef %17506, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 390, ptr noundef %17509, ptr noundef %17512, ptr noundef %17515, i32 noundef %17517) #8
  br label %17519

17519:                                            ; preds = %17502, %17485
  call void @llvm.lifetime.end.p0(i64 4, ptr %291) #8
  br label %17520

17520:                                            ; preds = %17519
  br label %17521

17521:                                            ; preds = %17520
  call void @exit(i32 noundef 1) #10
  unreachable

17522:                                            ; No predecessors!
  br label %17523

17523:                                            ; preds = %17522
  br label %17524

17524:                                            ; preds = %17523, %17465
  br label %17525

17525:                                            ; preds = %17524
  br label %17526

17526:                                            ; preds = %17525
  br label %17527

17527:                                            ; preds = %17526
  %17528 = load i32, ptr @test_count, align 4, !tbaa !5
  %17529 = add nsw i32 %17528, 1
  store i32 %17529, ptr @test_count, align 4, !tbaa !5
  %17530 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17531 = load i32, ptr %17530, align 4, !tbaa !5
  %17532 = call ptr @s2n_strerror_debug(i32 noundef %17531, ptr noundef @.str.4)
  %17533 = icmp eq ptr %17532, null
  br i1 %17533, label %17534, label %17587

17534:                                            ; preds = %17527
  br label %17535

17535:                                            ; preds = %17534
  br label %17536

17536:                                            ; preds = %17535
  call void @llvm.lifetime.start.p0(i64 4, ptr %292) #8
  %17537 = call ptr @__errno_location() #9
  %17538 = load i32, ptr %17537, align 4, !tbaa !5
  store i32 %17538, ptr %292, align 4, !tbaa !5
  %17539 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17540 = call i32 @s2n_print_stacktrace(ptr noundef %17539)
  %17541 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %17542 = trunc i8 %17541 to i1
  br i1 %17542, label %17543, label %17565

17543:                                            ; preds = %17536
  %17544 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17545 = call i32 @fileno(ptr noundef %17544) #8
  %17546 = call i32 @isatty(i32 noundef %17545) #8
  %17547 = icmp ne i32 %17546, 0
  br i1 %17547, label %17548, label %17565

17548:                                            ; preds = %17543
  %17549 = load i32, ptr %292, align 4, !tbaa !5
  %17550 = call ptr @__errno_location() #9
  store i32 %17549, ptr %17550, align 4, !tbaa !5
  %17551 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17552 = load i32, ptr @test_count, align 4, !tbaa !5
  %17553 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17554 = load i32, ptr %17553, align 4, !tbaa !5
  %17555 = call ptr @s2n_strerror(i32 noundef %17554, ptr noundef @.str.4)
  %17556 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17557 = load i32, ptr %17556, align 4, !tbaa !5
  %17558 = call ptr @s2n_strerror_debug(i32 noundef %17557, ptr noundef @.str.4)
  %17559 = call ptr @__errno_location() #9
  %17560 = load i32, ptr %17559, align 4, !tbaa !5
  %17561 = call ptr @strerror(i32 noundef %17560) #8
  %17562 = call ptr @__errno_location() #9
  %17563 = load i32, ptr %17562, align 4, !tbaa !5
  %17564 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17551, ptr noundef @.str.2, i32 noundef %17552, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 390, ptr noundef %17555, ptr noundef %17558, ptr noundef %17561, i32 noundef %17563) #8
  br label %17582

17565:                                            ; preds = %17543, %17536
  %17566 = load i32, ptr %292, align 4, !tbaa !5
  %17567 = call ptr @__errno_location() #9
  store i32 %17566, ptr %17567, align 4, !tbaa !5
  %17568 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17569 = load i32, ptr @test_count, align 4, !tbaa !5
  %17570 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17571 = load i32, ptr %17570, align 4, !tbaa !5
  %17572 = call ptr @s2n_strerror(i32 noundef %17571, ptr noundef @.str.4)
  %17573 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17574 = load i32, ptr %17573, align 4, !tbaa !5
  %17575 = call ptr @s2n_strerror_debug(i32 noundef %17574, ptr noundef @.str.4)
  %17576 = call ptr @__errno_location() #9
  %17577 = load i32, ptr %17576, align 4, !tbaa !5
  %17578 = call ptr @strerror(i32 noundef %17577) #8
  %17579 = call ptr @__errno_location() #9
  %17580 = load i32, ptr %17579, align 4, !tbaa !5
  %17581 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17568, ptr noundef @.str.5, i32 noundef %17569, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 390, ptr noundef %17572, ptr noundef %17575, ptr noundef %17578, i32 noundef %17580) #8
  br label %17582

17582:                                            ; preds = %17565, %17548
  call void @llvm.lifetime.end.p0(i64 4, ptr %292) #8
  br label %17583

17583:                                            ; preds = %17582
  br label %17584

17584:                                            ; preds = %17583
  call void @exit(i32 noundef 1) #10
  unreachable

17585:                                            ; No predecessors!
  br label %17586

17586:                                            ; preds = %17585
  br label %17587

17587:                                            ; preds = %17586, %17527
  br label %17588

17588:                                            ; preds = %17587
  br label %17589

17589:                                            ; preds = %17588
  br label %17590

17590:                                            ; preds = %17589
  %17591 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %17591, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %17592 = call ptr @__errno_location() #9
  store i32 0, ptr %17592, align 4, !tbaa !5
  br label %17593

17593:                                            ; preds = %17590
  br label %17594

17594:                                            ; preds = %17593
  br label %17595

17595:                                            ; preds = %17594
  br label %17596

17596:                                            ; preds = %17595
  br label %17597

17597:                                            ; preds = %17596
  br label %17598

17598:                                            ; preds = %17597
  %17599 = load i32, ptr @test_count, align 4, !tbaa !5
  %17600 = add nsw i32 %17599, 1
  store i32 %17600, ptr @test_count, align 4, !tbaa !5
  %17601 = load ptr, ptr %239, align 8, !tbaa !9
  %17602 = call i32 @s2n_test_auth_combo(ptr noundef %17601, ptr noundef @s2n_ecdhe_ecdsa_with_aes_128_cbc_sha, ptr noundef @s2n_rsa_pss_rsae_sha256, ptr noundef null)
  %17603 = icmp eq i32 %17602, -1
  br i1 %17603, label %17657, label %17604

17604:                                            ; preds = %17598
  br label %17605

17605:                                            ; preds = %17604
  br label %17606

17606:                                            ; preds = %17605
  call void @llvm.lifetime.start.p0(i64 4, ptr %293) #8
  %17607 = call ptr @__errno_location() #9
  %17608 = load i32, ptr %17607, align 4, !tbaa !5
  store i32 %17608, ptr %293, align 4, !tbaa !5
  %17609 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17610 = call i32 @s2n_print_stacktrace(ptr noundef %17609)
  %17611 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %17612 = trunc i8 %17611 to i1
  br i1 %17612, label %17613, label %17635

17613:                                            ; preds = %17606
  %17614 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17615 = call i32 @fileno(ptr noundef %17614) #8
  %17616 = call i32 @isatty(i32 noundef %17615) #8
  %17617 = icmp ne i32 %17616, 0
  br i1 %17617, label %17618, label %17635

17618:                                            ; preds = %17613
  %17619 = load i32, ptr %293, align 4, !tbaa !5
  %17620 = call ptr @__errno_location() #9
  store i32 %17619, ptr %17620, align 4, !tbaa !5
  %17621 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17622 = load i32, ptr @test_count, align 4, !tbaa !5
  %17623 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17624 = load i32, ptr %17623, align 4, !tbaa !5
  %17625 = call ptr @s2n_strerror(i32 noundef %17624, ptr noundef @.str.4)
  %17626 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17627 = load i32, ptr %17626, align 4, !tbaa !5
  %17628 = call ptr @s2n_strerror_debug(i32 noundef %17627, ptr noundef @.str.4)
  %17629 = call ptr @__errno_location() #9
  %17630 = load i32, ptr %17629, align 4, !tbaa !5
  %17631 = call ptr @strerror(i32 noundef %17630) #8
  %17632 = call ptr @__errno_location() #9
  %17633 = load i32, ptr %17632, align 4, !tbaa !5
  %17634 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17621, ptr noundef @.str.2, i32 noundef %17622, ptr noundef @.str.78, ptr noundef @.str.1, i32 noundef 391, ptr noundef %17625, ptr noundef %17628, ptr noundef %17631, i32 noundef %17633) #8
  br label %17652

17635:                                            ; preds = %17613, %17606
  %17636 = load i32, ptr %293, align 4, !tbaa !5
  %17637 = call ptr @__errno_location() #9
  store i32 %17636, ptr %17637, align 4, !tbaa !5
  %17638 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17639 = load i32, ptr @test_count, align 4, !tbaa !5
  %17640 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17641 = load i32, ptr %17640, align 4, !tbaa !5
  %17642 = call ptr @s2n_strerror(i32 noundef %17641, ptr noundef @.str.4)
  %17643 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17644 = load i32, ptr %17643, align 4, !tbaa !5
  %17645 = call ptr @s2n_strerror_debug(i32 noundef %17644, ptr noundef @.str.4)
  %17646 = call ptr @__errno_location() #9
  %17647 = load i32, ptr %17646, align 4, !tbaa !5
  %17648 = call ptr @strerror(i32 noundef %17647) #8
  %17649 = call ptr @__errno_location() #9
  %17650 = load i32, ptr %17649, align 4, !tbaa !5
  %17651 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17638, ptr noundef @.str.5, i32 noundef %17639, ptr noundef @.str.78, ptr noundef @.str.1, i32 noundef 391, ptr noundef %17642, ptr noundef %17645, ptr noundef %17648, i32 noundef %17650) #8
  br label %17652

17652:                                            ; preds = %17635, %17618
  call void @llvm.lifetime.end.p0(i64 4, ptr %293) #8
  br label %17653

17653:                                            ; preds = %17652
  br label %17654

17654:                                            ; preds = %17653
  call void @exit(i32 noundef 1) #10
  unreachable

17655:                                            ; No predecessors!
  br label %17656

17656:                                            ; preds = %17655
  br label %17657

17657:                                            ; preds = %17656, %17598
  br label %17658

17658:                                            ; preds = %17657
  br label %17659

17659:                                            ; preds = %17658
  br label %17660

17660:                                            ; preds = %17659
  %17661 = load i32, ptr @test_count, align 4, !tbaa !5
  %17662 = add nsw i32 %17661, 1
  store i32 %17662, ptr @test_count, align 4, !tbaa !5
  %17663 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17664 = load i32, ptr %17663, align 4, !tbaa !5
  %17665 = icmp eq i32 %17664, 0
  br i1 %17665, label %17666, label %17719

17666:                                            ; preds = %17660
  br label %17667

17667:                                            ; preds = %17666
  br label %17668

17668:                                            ; preds = %17667
  call void @llvm.lifetime.start.p0(i64 4, ptr %294) #8
  %17669 = call ptr @__errno_location() #9
  %17670 = load i32, ptr %17669, align 4, !tbaa !5
  store i32 %17670, ptr %294, align 4, !tbaa !5
  %17671 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17672 = call i32 @s2n_print_stacktrace(ptr noundef %17671)
  %17673 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %17674 = trunc i8 %17673 to i1
  br i1 %17674, label %17675, label %17697

17675:                                            ; preds = %17668
  %17676 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17677 = call i32 @fileno(ptr noundef %17676) #8
  %17678 = call i32 @isatty(i32 noundef %17677) #8
  %17679 = icmp ne i32 %17678, 0
  br i1 %17679, label %17680, label %17697

17680:                                            ; preds = %17675
  %17681 = load i32, ptr %294, align 4, !tbaa !5
  %17682 = call ptr @__errno_location() #9
  store i32 %17681, ptr %17682, align 4, !tbaa !5
  %17683 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17684 = load i32, ptr @test_count, align 4, !tbaa !5
  %17685 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17686 = load i32, ptr %17685, align 4, !tbaa !5
  %17687 = call ptr @s2n_strerror(i32 noundef %17686, ptr noundef @.str.4)
  %17688 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17689 = load i32, ptr %17688, align 4, !tbaa !5
  %17690 = call ptr @s2n_strerror_debug(i32 noundef %17689, ptr noundef @.str.4)
  %17691 = call ptr @__errno_location() #9
  %17692 = load i32, ptr %17691, align 4, !tbaa !5
  %17693 = call ptr @strerror(i32 noundef %17692) #8
  %17694 = call ptr @__errno_location() #9
  %17695 = load i32, ptr %17694, align 4, !tbaa !5
  %17696 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17683, ptr noundef @.str.2, i32 noundef %17684, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 391, ptr noundef %17687, ptr noundef %17690, ptr noundef %17693, i32 noundef %17695) #8
  br label %17714

17697:                                            ; preds = %17675, %17668
  %17698 = load i32, ptr %294, align 4, !tbaa !5
  %17699 = call ptr @__errno_location() #9
  store i32 %17698, ptr %17699, align 4, !tbaa !5
  %17700 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17701 = load i32, ptr @test_count, align 4, !tbaa !5
  %17702 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17703 = load i32, ptr %17702, align 4, !tbaa !5
  %17704 = call ptr @s2n_strerror(i32 noundef %17703, ptr noundef @.str.4)
  %17705 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17706 = load i32, ptr %17705, align 4, !tbaa !5
  %17707 = call ptr @s2n_strerror_debug(i32 noundef %17706, ptr noundef @.str.4)
  %17708 = call ptr @__errno_location() #9
  %17709 = load i32, ptr %17708, align 4, !tbaa !5
  %17710 = call ptr @strerror(i32 noundef %17709) #8
  %17711 = call ptr @__errno_location() #9
  %17712 = load i32, ptr %17711, align 4, !tbaa !5
  %17713 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17700, ptr noundef @.str.5, i32 noundef %17701, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 391, ptr noundef %17704, ptr noundef %17707, ptr noundef %17710, i32 noundef %17712) #8
  br label %17714

17714:                                            ; preds = %17697, %17680
  call void @llvm.lifetime.end.p0(i64 4, ptr %294) #8
  br label %17715

17715:                                            ; preds = %17714
  br label %17716

17716:                                            ; preds = %17715
  call void @exit(i32 noundef 1) #10
  unreachable

17717:                                            ; No predecessors!
  br label %17718

17718:                                            ; preds = %17717
  br label %17719

17719:                                            ; preds = %17718, %17660
  br label %17720

17720:                                            ; preds = %17719
  br label %17721

17721:                                            ; preds = %17720
  br label %17722

17722:                                            ; preds = %17721
  %17723 = load i32, ptr @test_count, align 4, !tbaa !5
  %17724 = add nsw i32 %17723, 1
  store i32 %17724, ptr @test_count, align 4, !tbaa !5
  %17725 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17726 = load i32, ptr %17725, align 4, !tbaa !5
  %17727 = call ptr @s2n_strerror_debug(i32 noundef %17726, ptr noundef @.str.4)
  %17728 = icmp eq ptr %17727, null
  br i1 %17728, label %17729, label %17782

17729:                                            ; preds = %17722
  br label %17730

17730:                                            ; preds = %17729
  br label %17731

17731:                                            ; preds = %17730
  call void @llvm.lifetime.start.p0(i64 4, ptr %295) #8
  %17732 = call ptr @__errno_location() #9
  %17733 = load i32, ptr %17732, align 4, !tbaa !5
  store i32 %17733, ptr %295, align 4, !tbaa !5
  %17734 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17735 = call i32 @s2n_print_stacktrace(ptr noundef %17734)
  %17736 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %17737 = trunc i8 %17736 to i1
  br i1 %17737, label %17738, label %17760

17738:                                            ; preds = %17731
  %17739 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17740 = call i32 @fileno(ptr noundef %17739) #8
  %17741 = call i32 @isatty(i32 noundef %17740) #8
  %17742 = icmp ne i32 %17741, 0
  br i1 %17742, label %17743, label %17760

17743:                                            ; preds = %17738
  %17744 = load i32, ptr %295, align 4, !tbaa !5
  %17745 = call ptr @__errno_location() #9
  store i32 %17744, ptr %17745, align 4, !tbaa !5
  %17746 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17747 = load i32, ptr @test_count, align 4, !tbaa !5
  %17748 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17749 = load i32, ptr %17748, align 4, !tbaa !5
  %17750 = call ptr @s2n_strerror(i32 noundef %17749, ptr noundef @.str.4)
  %17751 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17752 = load i32, ptr %17751, align 4, !tbaa !5
  %17753 = call ptr @s2n_strerror_debug(i32 noundef %17752, ptr noundef @.str.4)
  %17754 = call ptr @__errno_location() #9
  %17755 = load i32, ptr %17754, align 4, !tbaa !5
  %17756 = call ptr @strerror(i32 noundef %17755) #8
  %17757 = call ptr @__errno_location() #9
  %17758 = load i32, ptr %17757, align 4, !tbaa !5
  %17759 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17746, ptr noundef @.str.2, i32 noundef %17747, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 391, ptr noundef %17750, ptr noundef %17753, ptr noundef %17756, i32 noundef %17758) #8
  br label %17777

17760:                                            ; preds = %17738, %17731
  %17761 = load i32, ptr %295, align 4, !tbaa !5
  %17762 = call ptr @__errno_location() #9
  store i32 %17761, ptr %17762, align 4, !tbaa !5
  %17763 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17764 = load i32, ptr @test_count, align 4, !tbaa !5
  %17765 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17766 = load i32, ptr %17765, align 4, !tbaa !5
  %17767 = call ptr @s2n_strerror(i32 noundef %17766, ptr noundef @.str.4)
  %17768 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17769 = load i32, ptr %17768, align 4, !tbaa !5
  %17770 = call ptr @s2n_strerror_debug(i32 noundef %17769, ptr noundef @.str.4)
  %17771 = call ptr @__errno_location() #9
  %17772 = load i32, ptr %17771, align 4, !tbaa !5
  %17773 = call ptr @strerror(i32 noundef %17772) #8
  %17774 = call ptr @__errno_location() #9
  %17775 = load i32, ptr %17774, align 4, !tbaa !5
  %17776 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17763, ptr noundef @.str.5, i32 noundef %17764, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 391, ptr noundef %17767, ptr noundef %17770, ptr noundef %17773, i32 noundef %17775) #8
  br label %17777

17777:                                            ; preds = %17760, %17743
  call void @llvm.lifetime.end.p0(i64 4, ptr %295) #8
  br label %17778

17778:                                            ; preds = %17777
  br label %17779

17779:                                            ; preds = %17778
  call void @exit(i32 noundef 1) #10
  unreachable

17780:                                            ; No predecessors!
  br label %17781

17781:                                            ; preds = %17780
  br label %17782

17782:                                            ; preds = %17781, %17722
  br label %17783

17783:                                            ; preds = %17782
  br label %17784

17784:                                            ; preds = %17783
  br label %17785

17785:                                            ; preds = %17784
  %17786 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %17786, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %17787 = call ptr @__errno_location() #9
  store i32 0, ptr %17787, align 4, !tbaa !5
  br label %17788

17788:                                            ; preds = %17785
  br label %17789

17789:                                            ; preds = %17788
  br label %17790

17790:                                            ; preds = %17789
  br label %17791

17791:                                            ; preds = %17790
  br label %17792

17792:                                            ; preds = %17791
  br label %17793

17793:                                            ; preds = %17792
  %17794 = load i32, ptr @test_count, align 4, !tbaa !5
  %17795 = add nsw i32 %17794, 1
  store i32 %17795, ptr @test_count, align 4, !tbaa !5
  %17796 = load ptr, ptr %239, align 8, !tbaa !9
  %17797 = call i32 @s2n_test_auth_combo(ptr noundef %17796, ptr noundef @s2n_ecdhe_ecdsa_with_aes_128_cbc_sha, ptr noundef @s2n_ecdsa_sha384, ptr noundef null)
  %17798 = icmp eq i32 %17797, -1
  br i1 %17798, label %17852, label %17799

17799:                                            ; preds = %17793
  br label %17800

17800:                                            ; preds = %17799
  br label %17801

17801:                                            ; preds = %17800
  call void @llvm.lifetime.start.p0(i64 4, ptr %296) #8
  %17802 = call ptr @__errno_location() #9
  %17803 = load i32, ptr %17802, align 4, !tbaa !5
  store i32 %17803, ptr %296, align 4, !tbaa !5
  %17804 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17805 = call i32 @s2n_print_stacktrace(ptr noundef %17804)
  %17806 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %17807 = trunc i8 %17806 to i1
  br i1 %17807, label %17808, label %17830

17808:                                            ; preds = %17801
  %17809 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17810 = call i32 @fileno(ptr noundef %17809) #8
  %17811 = call i32 @isatty(i32 noundef %17810) #8
  %17812 = icmp ne i32 %17811, 0
  br i1 %17812, label %17813, label %17830

17813:                                            ; preds = %17808
  %17814 = load i32, ptr %296, align 4, !tbaa !5
  %17815 = call ptr @__errno_location() #9
  store i32 %17814, ptr %17815, align 4, !tbaa !5
  %17816 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17817 = load i32, ptr @test_count, align 4, !tbaa !5
  %17818 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17819 = load i32, ptr %17818, align 4, !tbaa !5
  %17820 = call ptr @s2n_strerror(i32 noundef %17819, ptr noundef @.str.4)
  %17821 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17822 = load i32, ptr %17821, align 4, !tbaa !5
  %17823 = call ptr @s2n_strerror_debug(i32 noundef %17822, ptr noundef @.str.4)
  %17824 = call ptr @__errno_location() #9
  %17825 = load i32, ptr %17824, align 4, !tbaa !5
  %17826 = call ptr @strerror(i32 noundef %17825) #8
  %17827 = call ptr @__errno_location() #9
  %17828 = load i32, ptr %17827, align 4, !tbaa !5
  %17829 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17816, ptr noundef @.str.2, i32 noundef %17817, ptr noundef @.str.79, ptr noundef @.str.1, i32 noundef 392, ptr noundef %17820, ptr noundef %17823, ptr noundef %17826, i32 noundef %17828) #8
  br label %17847

17830:                                            ; preds = %17808, %17801
  %17831 = load i32, ptr %296, align 4, !tbaa !5
  %17832 = call ptr @__errno_location() #9
  store i32 %17831, ptr %17832, align 4, !tbaa !5
  %17833 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17834 = load i32, ptr @test_count, align 4, !tbaa !5
  %17835 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17836 = load i32, ptr %17835, align 4, !tbaa !5
  %17837 = call ptr @s2n_strerror(i32 noundef %17836, ptr noundef @.str.4)
  %17838 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17839 = load i32, ptr %17838, align 4, !tbaa !5
  %17840 = call ptr @s2n_strerror_debug(i32 noundef %17839, ptr noundef @.str.4)
  %17841 = call ptr @__errno_location() #9
  %17842 = load i32, ptr %17841, align 4, !tbaa !5
  %17843 = call ptr @strerror(i32 noundef %17842) #8
  %17844 = call ptr @__errno_location() #9
  %17845 = load i32, ptr %17844, align 4, !tbaa !5
  %17846 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17833, ptr noundef @.str.5, i32 noundef %17834, ptr noundef @.str.79, ptr noundef @.str.1, i32 noundef 392, ptr noundef %17837, ptr noundef %17840, ptr noundef %17843, i32 noundef %17845) #8
  br label %17847

17847:                                            ; preds = %17830, %17813
  call void @llvm.lifetime.end.p0(i64 4, ptr %296) #8
  br label %17848

17848:                                            ; preds = %17847
  br label %17849

17849:                                            ; preds = %17848
  call void @exit(i32 noundef 1) #10
  unreachable

17850:                                            ; No predecessors!
  br label %17851

17851:                                            ; preds = %17850
  br label %17852

17852:                                            ; preds = %17851, %17793
  br label %17853

17853:                                            ; preds = %17852
  br label %17854

17854:                                            ; preds = %17853
  br label %17855

17855:                                            ; preds = %17854
  %17856 = load i32, ptr @test_count, align 4, !tbaa !5
  %17857 = add nsw i32 %17856, 1
  store i32 %17857, ptr @test_count, align 4, !tbaa !5
  %17858 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17859 = load i32, ptr %17858, align 4, !tbaa !5
  %17860 = icmp eq i32 %17859, 0
  br i1 %17860, label %17861, label %17914

17861:                                            ; preds = %17855
  br label %17862

17862:                                            ; preds = %17861
  br label %17863

17863:                                            ; preds = %17862
  call void @llvm.lifetime.start.p0(i64 4, ptr %297) #8
  %17864 = call ptr @__errno_location() #9
  %17865 = load i32, ptr %17864, align 4, !tbaa !5
  store i32 %17865, ptr %297, align 4, !tbaa !5
  %17866 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17867 = call i32 @s2n_print_stacktrace(ptr noundef %17866)
  %17868 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %17869 = trunc i8 %17868 to i1
  br i1 %17869, label %17870, label %17892

17870:                                            ; preds = %17863
  %17871 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17872 = call i32 @fileno(ptr noundef %17871) #8
  %17873 = call i32 @isatty(i32 noundef %17872) #8
  %17874 = icmp ne i32 %17873, 0
  br i1 %17874, label %17875, label %17892

17875:                                            ; preds = %17870
  %17876 = load i32, ptr %297, align 4, !tbaa !5
  %17877 = call ptr @__errno_location() #9
  store i32 %17876, ptr %17877, align 4, !tbaa !5
  %17878 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17879 = load i32, ptr @test_count, align 4, !tbaa !5
  %17880 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17881 = load i32, ptr %17880, align 4, !tbaa !5
  %17882 = call ptr @s2n_strerror(i32 noundef %17881, ptr noundef @.str.4)
  %17883 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17884 = load i32, ptr %17883, align 4, !tbaa !5
  %17885 = call ptr @s2n_strerror_debug(i32 noundef %17884, ptr noundef @.str.4)
  %17886 = call ptr @__errno_location() #9
  %17887 = load i32, ptr %17886, align 4, !tbaa !5
  %17888 = call ptr @strerror(i32 noundef %17887) #8
  %17889 = call ptr @__errno_location() #9
  %17890 = load i32, ptr %17889, align 4, !tbaa !5
  %17891 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17878, ptr noundef @.str.2, i32 noundef %17879, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 392, ptr noundef %17882, ptr noundef %17885, ptr noundef %17888, i32 noundef %17890) #8
  br label %17909

17892:                                            ; preds = %17870, %17863
  %17893 = load i32, ptr %297, align 4, !tbaa !5
  %17894 = call ptr @__errno_location() #9
  store i32 %17893, ptr %17894, align 4, !tbaa !5
  %17895 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17896 = load i32, ptr @test_count, align 4, !tbaa !5
  %17897 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17898 = load i32, ptr %17897, align 4, !tbaa !5
  %17899 = call ptr @s2n_strerror(i32 noundef %17898, ptr noundef @.str.4)
  %17900 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17901 = load i32, ptr %17900, align 4, !tbaa !5
  %17902 = call ptr @s2n_strerror_debug(i32 noundef %17901, ptr noundef @.str.4)
  %17903 = call ptr @__errno_location() #9
  %17904 = load i32, ptr %17903, align 4, !tbaa !5
  %17905 = call ptr @strerror(i32 noundef %17904) #8
  %17906 = call ptr @__errno_location() #9
  %17907 = load i32, ptr %17906, align 4, !tbaa !5
  %17908 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17895, ptr noundef @.str.5, i32 noundef %17896, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 392, ptr noundef %17899, ptr noundef %17902, ptr noundef %17905, i32 noundef %17907) #8
  br label %17909

17909:                                            ; preds = %17892, %17875
  call void @llvm.lifetime.end.p0(i64 4, ptr %297) #8
  br label %17910

17910:                                            ; preds = %17909
  br label %17911

17911:                                            ; preds = %17910
  call void @exit(i32 noundef 1) #10
  unreachable

17912:                                            ; No predecessors!
  br label %17913

17913:                                            ; preds = %17912
  br label %17914

17914:                                            ; preds = %17913, %17855
  br label %17915

17915:                                            ; preds = %17914
  br label %17916

17916:                                            ; preds = %17915
  br label %17917

17917:                                            ; preds = %17916
  %17918 = load i32, ptr @test_count, align 4, !tbaa !5
  %17919 = add nsw i32 %17918, 1
  store i32 %17919, ptr @test_count, align 4, !tbaa !5
  %17920 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17921 = load i32, ptr %17920, align 4, !tbaa !5
  %17922 = call ptr @s2n_strerror_debug(i32 noundef %17921, ptr noundef @.str.4)
  %17923 = icmp eq ptr %17922, null
  br i1 %17923, label %17924, label %17977

17924:                                            ; preds = %17917
  br label %17925

17925:                                            ; preds = %17924
  br label %17926

17926:                                            ; preds = %17925
  call void @llvm.lifetime.start.p0(i64 4, ptr %298) #8
  %17927 = call ptr @__errno_location() #9
  %17928 = load i32, ptr %17927, align 4, !tbaa !5
  store i32 %17928, ptr %298, align 4, !tbaa !5
  %17929 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17930 = call i32 @s2n_print_stacktrace(ptr noundef %17929)
  %17931 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %17932 = trunc i8 %17931 to i1
  br i1 %17932, label %17933, label %17955

17933:                                            ; preds = %17926
  %17934 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17935 = call i32 @fileno(ptr noundef %17934) #8
  %17936 = call i32 @isatty(i32 noundef %17935) #8
  %17937 = icmp ne i32 %17936, 0
  br i1 %17937, label %17938, label %17955

17938:                                            ; preds = %17933
  %17939 = load i32, ptr %298, align 4, !tbaa !5
  %17940 = call ptr @__errno_location() #9
  store i32 %17939, ptr %17940, align 4, !tbaa !5
  %17941 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17942 = load i32, ptr @test_count, align 4, !tbaa !5
  %17943 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17944 = load i32, ptr %17943, align 4, !tbaa !5
  %17945 = call ptr @s2n_strerror(i32 noundef %17944, ptr noundef @.str.4)
  %17946 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17947 = load i32, ptr %17946, align 4, !tbaa !5
  %17948 = call ptr @s2n_strerror_debug(i32 noundef %17947, ptr noundef @.str.4)
  %17949 = call ptr @__errno_location() #9
  %17950 = load i32, ptr %17949, align 4, !tbaa !5
  %17951 = call ptr @strerror(i32 noundef %17950) #8
  %17952 = call ptr @__errno_location() #9
  %17953 = load i32, ptr %17952, align 4, !tbaa !5
  %17954 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17941, ptr noundef @.str.2, i32 noundef %17942, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 392, ptr noundef %17945, ptr noundef %17948, ptr noundef %17951, i32 noundef %17953) #8
  br label %17972

17955:                                            ; preds = %17933, %17926
  %17956 = load i32, ptr %298, align 4, !tbaa !5
  %17957 = call ptr @__errno_location() #9
  store i32 %17956, ptr %17957, align 4, !tbaa !5
  %17958 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17959 = load i32, ptr @test_count, align 4, !tbaa !5
  %17960 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17961 = load i32, ptr %17960, align 4, !tbaa !5
  %17962 = call ptr @s2n_strerror(i32 noundef %17961, ptr noundef @.str.4)
  %17963 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17964 = load i32, ptr %17963, align 4, !tbaa !5
  %17965 = call ptr @s2n_strerror_debug(i32 noundef %17964, ptr noundef @.str.4)
  %17966 = call ptr @__errno_location() #9
  %17967 = load i32, ptr %17966, align 4, !tbaa !5
  %17968 = call ptr @strerror(i32 noundef %17967) #8
  %17969 = call ptr @__errno_location() #9
  %17970 = load i32, ptr %17969, align 4, !tbaa !5
  %17971 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17958, ptr noundef @.str.5, i32 noundef %17959, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 392, ptr noundef %17962, ptr noundef %17965, ptr noundef %17968, i32 noundef %17970) #8
  br label %17972

17972:                                            ; preds = %17955, %17938
  call void @llvm.lifetime.end.p0(i64 4, ptr %298) #8
  br label %17973

17973:                                            ; preds = %17972
  br label %17974

17974:                                            ; preds = %17973
  call void @exit(i32 noundef 1) #10
  unreachable

17975:                                            ; No predecessors!
  br label %17976

17976:                                            ; preds = %17975
  br label %17977

17977:                                            ; preds = %17976, %17917
  br label %17978

17978:                                            ; preds = %17977
  br label %17979

17979:                                            ; preds = %17978
  br label %17980

17980:                                            ; preds = %17979
  %17981 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %17981, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %17982 = call ptr @__errno_location() #9
  store i32 0, ptr %17982, align 4, !tbaa !5
  br label %17983

17983:                                            ; preds = %17980
  br label %17984

17984:                                            ; preds = %17983
  br label %17985

17985:                                            ; preds = %17984
  br label %17986

17986:                                            ; preds = %17985
  br label %17987

17987:                                            ; preds = %17986
  %17988 = load i32, ptr @test_count, align 4, !tbaa !5
  %17989 = add nsw i32 %17988, 1
  store i32 %17989, ptr @test_count, align 4, !tbaa !5
  %17990 = load ptr, ptr %239, align 8, !tbaa !9
  %17991 = load ptr, ptr %10, align 8, !tbaa !9
  %17992 = call i32 @s2n_test_auth_combo(ptr noundef %17990, ptr noundef @s2n_tls13_aes_128_gcm_sha256, ptr noundef @s2n_rsa_pkcs1_md5_sha1, ptr noundef %17991)
  %17993 = icmp eq i32 %17992, -1
  br i1 %17993, label %17994, label %18047

17994:                                            ; preds = %17987
  br label %17995

17995:                                            ; preds = %17994
  br label %17996

17996:                                            ; preds = %17995
  call void @llvm.lifetime.start.p0(i64 4, ptr %299) #8
  %17997 = call ptr @__errno_location() #9
  %17998 = load i32, ptr %17997, align 4, !tbaa !5
  store i32 %17998, ptr %299, align 4, !tbaa !5
  %17999 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18000 = call i32 @s2n_print_stacktrace(ptr noundef %17999)
  %18001 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %18002 = trunc i8 %18001 to i1
  br i1 %18002, label %18003, label %18025

18003:                                            ; preds = %17996
  %18004 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18005 = call i32 @fileno(ptr noundef %18004) #8
  %18006 = call i32 @isatty(i32 noundef %18005) #8
  %18007 = icmp ne i32 %18006, 0
  br i1 %18007, label %18008, label %18025

18008:                                            ; preds = %18003
  %18009 = load i32, ptr %299, align 4, !tbaa !5
  %18010 = call ptr @__errno_location() #9
  store i32 %18009, ptr %18010, align 4, !tbaa !5
  %18011 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18012 = load i32, ptr @test_count, align 4, !tbaa !5
  %18013 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18014 = load i32, ptr %18013, align 4, !tbaa !5
  %18015 = call ptr @s2n_strerror(i32 noundef %18014, ptr noundef @.str.4)
  %18016 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18017 = load i32, ptr %18016, align 4, !tbaa !5
  %18018 = call ptr @s2n_strerror_debug(i32 noundef %18017, ptr noundef @.str.4)
  %18019 = call ptr @__errno_location() #9
  %18020 = load i32, ptr %18019, align 4, !tbaa !5
  %18021 = call ptr @strerror(i32 noundef %18020) #8
  %18022 = call ptr @__errno_location() #9
  %18023 = load i32, ptr %18022, align 4, !tbaa !5
  %18024 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18011, ptr noundef @.str.2, i32 noundef %18012, ptr noundef @.str.86, ptr noundef @.str.1, i32 noundef 394, ptr noundef %18015, ptr noundef %18018, ptr noundef %18021, i32 noundef %18023) #8
  br label %18042

18025:                                            ; preds = %18003, %17996
  %18026 = load i32, ptr %299, align 4, !tbaa !5
  %18027 = call ptr @__errno_location() #9
  store i32 %18026, ptr %18027, align 4, !tbaa !5
  %18028 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18029 = load i32, ptr @test_count, align 4, !tbaa !5
  %18030 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18031 = load i32, ptr %18030, align 4, !tbaa !5
  %18032 = call ptr @s2n_strerror(i32 noundef %18031, ptr noundef @.str.4)
  %18033 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18034 = load i32, ptr %18033, align 4, !tbaa !5
  %18035 = call ptr @s2n_strerror_debug(i32 noundef %18034, ptr noundef @.str.4)
  %18036 = call ptr @__errno_location() #9
  %18037 = load i32, ptr %18036, align 4, !tbaa !5
  %18038 = call ptr @strerror(i32 noundef %18037) #8
  %18039 = call ptr @__errno_location() #9
  %18040 = load i32, ptr %18039, align 4, !tbaa !5
  %18041 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18028, ptr noundef @.str.5, i32 noundef %18029, ptr noundef @.str.86, ptr noundef @.str.1, i32 noundef 394, ptr noundef %18032, ptr noundef %18035, ptr noundef %18038, i32 noundef %18040) #8
  br label %18042

18042:                                            ; preds = %18025, %18008
  call void @llvm.lifetime.end.p0(i64 4, ptr %299) #8
  br label %18043

18043:                                            ; preds = %18042
  br label %18044

18044:                                            ; preds = %18043
  call void @exit(i32 noundef 1) #10
  unreachable

18045:                                            ; No predecessors!
  br label %18046

18046:                                            ; preds = %18045
  br label %18047

18047:                                            ; preds = %18046, %17987
  br label %18048

18048:                                            ; preds = %18047
  br label %18049

18049:                                            ; preds = %18048
  br label %18050

18050:                                            ; preds = %18049
  br label %18051

18051:                                            ; preds = %18050
  %18052 = load i32, ptr @test_count, align 4, !tbaa !5
  %18053 = add nsw i32 %18052, 1
  store i32 %18053, ptr @test_count, align 4, !tbaa !5
  %18054 = load ptr, ptr %239, align 8, !tbaa !9
  %18055 = call i32 @s2n_test_auth_combo(ptr noundef %18054, ptr noundef @s2n_tls13_aes_128_gcm_sha256, ptr noundef @s2n_rsa_pss_pss_sha256, ptr noundef null)
  %18056 = icmp eq i32 %18055, -1
  br i1 %18056, label %18110, label %18057

18057:                                            ; preds = %18051
  br label %18058

18058:                                            ; preds = %18057
  br label %18059

18059:                                            ; preds = %18058
  call void @llvm.lifetime.start.p0(i64 4, ptr %300) #8
  %18060 = call ptr @__errno_location() #9
  %18061 = load i32, ptr %18060, align 4, !tbaa !5
  store i32 %18061, ptr %300, align 4, !tbaa !5
  %18062 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18063 = call i32 @s2n_print_stacktrace(ptr noundef %18062)
  %18064 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %18065 = trunc i8 %18064 to i1
  br i1 %18065, label %18066, label %18088

18066:                                            ; preds = %18059
  %18067 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18068 = call i32 @fileno(ptr noundef %18067) #8
  %18069 = call i32 @isatty(i32 noundef %18068) #8
  %18070 = icmp ne i32 %18069, 0
  br i1 %18070, label %18071, label %18088

18071:                                            ; preds = %18066
  %18072 = load i32, ptr %300, align 4, !tbaa !5
  %18073 = call ptr @__errno_location() #9
  store i32 %18072, ptr %18073, align 4, !tbaa !5
  %18074 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18075 = load i32, ptr @test_count, align 4, !tbaa !5
  %18076 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18077 = load i32, ptr %18076, align 4, !tbaa !5
  %18078 = call ptr @s2n_strerror(i32 noundef %18077, ptr noundef @.str.4)
  %18079 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18080 = load i32, ptr %18079, align 4, !tbaa !5
  %18081 = call ptr @s2n_strerror_debug(i32 noundef %18080, ptr noundef @.str.4)
  %18082 = call ptr @__errno_location() #9
  %18083 = load i32, ptr %18082, align 4, !tbaa !5
  %18084 = call ptr @strerror(i32 noundef %18083) #8
  %18085 = call ptr @__errno_location() #9
  %18086 = load i32, ptr %18085, align 4, !tbaa !5
  %18087 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18074, ptr noundef @.str.2, i32 noundef %18075, ptr noundef @.str.81, ptr noundef @.str.1, i32 noundef 395, ptr noundef %18078, ptr noundef %18081, ptr noundef %18084, i32 noundef %18086) #8
  br label %18105

18088:                                            ; preds = %18066, %18059
  %18089 = load i32, ptr %300, align 4, !tbaa !5
  %18090 = call ptr @__errno_location() #9
  store i32 %18089, ptr %18090, align 4, !tbaa !5
  %18091 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18092 = load i32, ptr @test_count, align 4, !tbaa !5
  %18093 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18094 = load i32, ptr %18093, align 4, !tbaa !5
  %18095 = call ptr @s2n_strerror(i32 noundef %18094, ptr noundef @.str.4)
  %18096 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18097 = load i32, ptr %18096, align 4, !tbaa !5
  %18098 = call ptr @s2n_strerror_debug(i32 noundef %18097, ptr noundef @.str.4)
  %18099 = call ptr @__errno_location() #9
  %18100 = load i32, ptr %18099, align 4, !tbaa !5
  %18101 = call ptr @strerror(i32 noundef %18100) #8
  %18102 = call ptr @__errno_location() #9
  %18103 = load i32, ptr %18102, align 4, !tbaa !5
  %18104 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18091, ptr noundef @.str.5, i32 noundef %18092, ptr noundef @.str.81, ptr noundef @.str.1, i32 noundef 395, ptr noundef %18095, ptr noundef %18098, ptr noundef %18101, i32 noundef %18103) #8
  br label %18105

18105:                                            ; preds = %18088, %18071
  call void @llvm.lifetime.end.p0(i64 4, ptr %300) #8
  br label %18106

18106:                                            ; preds = %18105
  br label %18107

18107:                                            ; preds = %18106
  call void @exit(i32 noundef 1) #10
  unreachable

18108:                                            ; No predecessors!
  br label %18109

18109:                                            ; preds = %18108
  br label %18110

18110:                                            ; preds = %18109, %18051
  br label %18111

18111:                                            ; preds = %18110
  br label %18112

18112:                                            ; preds = %18111
  br label %18113

18113:                                            ; preds = %18112
  %18114 = load i32, ptr @test_count, align 4, !tbaa !5
  %18115 = add nsw i32 %18114, 1
  store i32 %18115, ptr @test_count, align 4, !tbaa !5
  %18116 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18117 = load i32, ptr %18116, align 4, !tbaa !5
  %18118 = icmp eq i32 %18117, 0
  br i1 %18118, label %18119, label %18172

18119:                                            ; preds = %18113
  br label %18120

18120:                                            ; preds = %18119
  br label %18121

18121:                                            ; preds = %18120
  call void @llvm.lifetime.start.p0(i64 4, ptr %301) #8
  %18122 = call ptr @__errno_location() #9
  %18123 = load i32, ptr %18122, align 4, !tbaa !5
  store i32 %18123, ptr %301, align 4, !tbaa !5
  %18124 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18125 = call i32 @s2n_print_stacktrace(ptr noundef %18124)
  %18126 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %18127 = trunc i8 %18126 to i1
  br i1 %18127, label %18128, label %18150

18128:                                            ; preds = %18121
  %18129 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18130 = call i32 @fileno(ptr noundef %18129) #8
  %18131 = call i32 @isatty(i32 noundef %18130) #8
  %18132 = icmp ne i32 %18131, 0
  br i1 %18132, label %18133, label %18150

18133:                                            ; preds = %18128
  %18134 = load i32, ptr %301, align 4, !tbaa !5
  %18135 = call ptr @__errno_location() #9
  store i32 %18134, ptr %18135, align 4, !tbaa !5
  %18136 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18137 = load i32, ptr @test_count, align 4, !tbaa !5
  %18138 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18139 = load i32, ptr %18138, align 4, !tbaa !5
  %18140 = call ptr @s2n_strerror(i32 noundef %18139, ptr noundef @.str.4)
  %18141 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18142 = load i32, ptr %18141, align 4, !tbaa !5
  %18143 = call ptr @s2n_strerror_debug(i32 noundef %18142, ptr noundef @.str.4)
  %18144 = call ptr @__errno_location() #9
  %18145 = load i32, ptr %18144, align 4, !tbaa !5
  %18146 = call ptr @strerror(i32 noundef %18145) #8
  %18147 = call ptr @__errno_location() #9
  %18148 = load i32, ptr %18147, align 4, !tbaa !5
  %18149 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18136, ptr noundef @.str.2, i32 noundef %18137, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 395, ptr noundef %18140, ptr noundef %18143, ptr noundef %18146, i32 noundef %18148) #8
  br label %18167

18150:                                            ; preds = %18128, %18121
  %18151 = load i32, ptr %301, align 4, !tbaa !5
  %18152 = call ptr @__errno_location() #9
  store i32 %18151, ptr %18152, align 4, !tbaa !5
  %18153 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18154 = load i32, ptr @test_count, align 4, !tbaa !5
  %18155 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18156 = load i32, ptr %18155, align 4, !tbaa !5
  %18157 = call ptr @s2n_strerror(i32 noundef %18156, ptr noundef @.str.4)
  %18158 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18159 = load i32, ptr %18158, align 4, !tbaa !5
  %18160 = call ptr @s2n_strerror_debug(i32 noundef %18159, ptr noundef @.str.4)
  %18161 = call ptr @__errno_location() #9
  %18162 = load i32, ptr %18161, align 4, !tbaa !5
  %18163 = call ptr @strerror(i32 noundef %18162) #8
  %18164 = call ptr @__errno_location() #9
  %18165 = load i32, ptr %18164, align 4, !tbaa !5
  %18166 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18153, ptr noundef @.str.5, i32 noundef %18154, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 395, ptr noundef %18157, ptr noundef %18160, ptr noundef %18163, i32 noundef %18165) #8
  br label %18167

18167:                                            ; preds = %18150, %18133
  call void @llvm.lifetime.end.p0(i64 4, ptr %301) #8
  br label %18168

18168:                                            ; preds = %18167
  br label %18169

18169:                                            ; preds = %18168
  call void @exit(i32 noundef 1) #10
  unreachable

18170:                                            ; No predecessors!
  br label %18171

18171:                                            ; preds = %18170
  br label %18172

18172:                                            ; preds = %18171, %18113
  br label %18173

18173:                                            ; preds = %18172
  br label %18174

18174:                                            ; preds = %18173
  br label %18175

18175:                                            ; preds = %18174
  %18176 = load i32, ptr @test_count, align 4, !tbaa !5
  %18177 = add nsw i32 %18176, 1
  store i32 %18177, ptr @test_count, align 4, !tbaa !5
  %18178 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18179 = load i32, ptr %18178, align 4, !tbaa !5
  %18180 = call ptr @s2n_strerror_debug(i32 noundef %18179, ptr noundef @.str.4)
  %18181 = icmp eq ptr %18180, null
  br i1 %18181, label %18182, label %18235

18182:                                            ; preds = %18175
  br label %18183

18183:                                            ; preds = %18182
  br label %18184

18184:                                            ; preds = %18183
  call void @llvm.lifetime.start.p0(i64 4, ptr %302) #8
  %18185 = call ptr @__errno_location() #9
  %18186 = load i32, ptr %18185, align 4, !tbaa !5
  store i32 %18186, ptr %302, align 4, !tbaa !5
  %18187 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18188 = call i32 @s2n_print_stacktrace(ptr noundef %18187)
  %18189 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %18190 = trunc i8 %18189 to i1
  br i1 %18190, label %18191, label %18213

18191:                                            ; preds = %18184
  %18192 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18193 = call i32 @fileno(ptr noundef %18192) #8
  %18194 = call i32 @isatty(i32 noundef %18193) #8
  %18195 = icmp ne i32 %18194, 0
  br i1 %18195, label %18196, label %18213

18196:                                            ; preds = %18191
  %18197 = load i32, ptr %302, align 4, !tbaa !5
  %18198 = call ptr @__errno_location() #9
  store i32 %18197, ptr %18198, align 4, !tbaa !5
  %18199 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18200 = load i32, ptr @test_count, align 4, !tbaa !5
  %18201 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18202 = load i32, ptr %18201, align 4, !tbaa !5
  %18203 = call ptr @s2n_strerror(i32 noundef %18202, ptr noundef @.str.4)
  %18204 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18205 = load i32, ptr %18204, align 4, !tbaa !5
  %18206 = call ptr @s2n_strerror_debug(i32 noundef %18205, ptr noundef @.str.4)
  %18207 = call ptr @__errno_location() #9
  %18208 = load i32, ptr %18207, align 4, !tbaa !5
  %18209 = call ptr @strerror(i32 noundef %18208) #8
  %18210 = call ptr @__errno_location() #9
  %18211 = load i32, ptr %18210, align 4, !tbaa !5
  %18212 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18199, ptr noundef @.str.2, i32 noundef %18200, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 395, ptr noundef %18203, ptr noundef %18206, ptr noundef %18209, i32 noundef %18211) #8
  br label %18230

18213:                                            ; preds = %18191, %18184
  %18214 = load i32, ptr %302, align 4, !tbaa !5
  %18215 = call ptr @__errno_location() #9
  store i32 %18214, ptr %18215, align 4, !tbaa !5
  %18216 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18217 = load i32, ptr @test_count, align 4, !tbaa !5
  %18218 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18219 = load i32, ptr %18218, align 4, !tbaa !5
  %18220 = call ptr @s2n_strerror(i32 noundef %18219, ptr noundef @.str.4)
  %18221 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18222 = load i32, ptr %18221, align 4, !tbaa !5
  %18223 = call ptr @s2n_strerror_debug(i32 noundef %18222, ptr noundef @.str.4)
  %18224 = call ptr @__errno_location() #9
  %18225 = load i32, ptr %18224, align 4, !tbaa !5
  %18226 = call ptr @strerror(i32 noundef %18225) #8
  %18227 = call ptr @__errno_location() #9
  %18228 = load i32, ptr %18227, align 4, !tbaa !5
  %18229 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18216, ptr noundef @.str.5, i32 noundef %18217, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 395, ptr noundef %18220, ptr noundef %18223, ptr noundef %18226, i32 noundef %18228) #8
  br label %18230

18230:                                            ; preds = %18213, %18196
  call void @llvm.lifetime.end.p0(i64 4, ptr %302) #8
  br label %18231

18231:                                            ; preds = %18230
  br label %18232

18232:                                            ; preds = %18231
  call void @exit(i32 noundef 1) #10
  unreachable

18233:                                            ; No predecessors!
  br label %18234

18234:                                            ; preds = %18233
  br label %18235

18235:                                            ; preds = %18234, %18175
  br label %18236

18236:                                            ; preds = %18235
  br label %18237

18237:                                            ; preds = %18236
  br label %18238

18238:                                            ; preds = %18237
  %18239 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %18239, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %18240 = call ptr @__errno_location() #9
  store i32 0, ptr %18240, align 4, !tbaa !5
  br label %18241

18241:                                            ; preds = %18238
  br label %18242

18242:                                            ; preds = %18241
  br label %18243

18243:                                            ; preds = %18242
  br label %18244

18244:                                            ; preds = %18243
  br label %18245

18245:                                            ; preds = %18244
  %18246 = load i32, ptr @test_count, align 4, !tbaa !5
  %18247 = add nsw i32 %18246, 1
  store i32 %18247, ptr @test_count, align 4, !tbaa !5
  %18248 = load ptr, ptr %239, align 8, !tbaa !9
  %18249 = load ptr, ptr %10, align 8, !tbaa !9
  %18250 = call i32 @s2n_test_auth_combo(ptr noundef %18248, ptr noundef @s2n_tls13_aes_128_gcm_sha256, ptr noundef @s2n_rsa_pss_rsae_sha256, ptr noundef %18249)
  %18251 = icmp eq i32 %18250, -1
  br i1 %18251, label %18252, label %18305

18252:                                            ; preds = %18245
  br label %18253

18253:                                            ; preds = %18252
  br label %18254

18254:                                            ; preds = %18253
  call void @llvm.lifetime.start.p0(i64 4, ptr %303) #8
  %18255 = call ptr @__errno_location() #9
  %18256 = load i32, ptr %18255, align 4, !tbaa !5
  store i32 %18256, ptr %303, align 4, !tbaa !5
  %18257 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18258 = call i32 @s2n_print_stacktrace(ptr noundef %18257)
  %18259 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %18260 = trunc i8 %18259 to i1
  br i1 %18260, label %18261, label %18283

18261:                                            ; preds = %18254
  %18262 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18263 = call i32 @fileno(ptr noundef %18262) #8
  %18264 = call i32 @isatty(i32 noundef %18263) #8
  %18265 = icmp ne i32 %18264, 0
  br i1 %18265, label %18266, label %18283

18266:                                            ; preds = %18261
  %18267 = load i32, ptr %303, align 4, !tbaa !5
  %18268 = call ptr @__errno_location() #9
  store i32 %18267, ptr %18268, align 4, !tbaa !5
  %18269 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18270 = load i32, ptr @test_count, align 4, !tbaa !5
  %18271 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18272 = load i32, ptr %18271, align 4, !tbaa !5
  %18273 = call ptr @s2n_strerror(i32 noundef %18272, ptr noundef @.str.4)
  %18274 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18275 = load i32, ptr %18274, align 4, !tbaa !5
  %18276 = call ptr @s2n_strerror_debug(i32 noundef %18275, ptr noundef @.str.4)
  %18277 = call ptr @__errno_location() #9
  %18278 = load i32, ptr %18277, align 4, !tbaa !5
  %18279 = call ptr @strerror(i32 noundef %18278) #8
  %18280 = call ptr @__errno_location() #9
  %18281 = load i32, ptr %18280, align 4, !tbaa !5
  %18282 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18269, ptr noundef @.str.2, i32 noundef %18270, ptr noundef @.str.87, ptr noundef @.str.1, i32 noundef 396, ptr noundef %18273, ptr noundef %18276, ptr noundef %18279, i32 noundef %18281) #8
  br label %18300

18283:                                            ; preds = %18261, %18254
  %18284 = load i32, ptr %303, align 4, !tbaa !5
  %18285 = call ptr @__errno_location() #9
  store i32 %18284, ptr %18285, align 4, !tbaa !5
  %18286 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18287 = load i32, ptr @test_count, align 4, !tbaa !5
  %18288 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18289 = load i32, ptr %18288, align 4, !tbaa !5
  %18290 = call ptr @s2n_strerror(i32 noundef %18289, ptr noundef @.str.4)
  %18291 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18292 = load i32, ptr %18291, align 4, !tbaa !5
  %18293 = call ptr @s2n_strerror_debug(i32 noundef %18292, ptr noundef @.str.4)
  %18294 = call ptr @__errno_location() #9
  %18295 = load i32, ptr %18294, align 4, !tbaa !5
  %18296 = call ptr @strerror(i32 noundef %18295) #8
  %18297 = call ptr @__errno_location() #9
  %18298 = load i32, ptr %18297, align 4, !tbaa !5
  %18299 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18286, ptr noundef @.str.5, i32 noundef %18287, ptr noundef @.str.87, ptr noundef @.str.1, i32 noundef 396, ptr noundef %18290, ptr noundef %18293, ptr noundef %18296, i32 noundef %18298) #8
  br label %18300

18300:                                            ; preds = %18283, %18266
  call void @llvm.lifetime.end.p0(i64 4, ptr %303) #8
  br label %18301

18301:                                            ; preds = %18300
  br label %18302

18302:                                            ; preds = %18301
  call void @exit(i32 noundef 1) #10
  unreachable

18303:                                            ; No predecessors!
  br label %18304

18304:                                            ; preds = %18303
  br label %18305

18305:                                            ; preds = %18304, %18245
  br label %18306

18306:                                            ; preds = %18305
  br label %18307

18307:                                            ; preds = %18306
  br label %18308

18308:                                            ; preds = %18307
  br label %18309

18309:                                            ; preds = %18308
  %18310 = load i32, ptr @test_count, align 4, !tbaa !5
  %18311 = add nsw i32 %18310, 1
  store i32 %18311, ptr @test_count, align 4, !tbaa !5
  %18312 = load ptr, ptr %239, align 8, !tbaa !9
  %18313 = call i32 @s2n_test_auth_combo(ptr noundef %18312, ptr noundef @s2n_tls13_aes_128_gcm_sha256, ptr noundef @s2n_ecdsa_sha384, ptr noundef null)
  %18314 = icmp eq i32 %18313, -1
  br i1 %18314, label %18368, label %18315

18315:                                            ; preds = %18309
  br label %18316

18316:                                            ; preds = %18315
  br label %18317

18317:                                            ; preds = %18316
  call void @llvm.lifetime.start.p0(i64 4, ptr %304) #8
  %18318 = call ptr @__errno_location() #9
  %18319 = load i32, ptr %18318, align 4, !tbaa !5
  store i32 %18319, ptr %304, align 4, !tbaa !5
  %18320 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18321 = call i32 @s2n_print_stacktrace(ptr noundef %18320)
  %18322 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %18323 = trunc i8 %18322 to i1
  br i1 %18323, label %18324, label %18346

18324:                                            ; preds = %18317
  %18325 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18326 = call i32 @fileno(ptr noundef %18325) #8
  %18327 = call i32 @isatty(i32 noundef %18326) #8
  %18328 = icmp ne i32 %18327, 0
  br i1 %18328, label %18329, label %18346

18329:                                            ; preds = %18324
  %18330 = load i32, ptr %304, align 4, !tbaa !5
  %18331 = call ptr @__errno_location() #9
  store i32 %18330, ptr %18331, align 4, !tbaa !5
  %18332 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18333 = load i32, ptr @test_count, align 4, !tbaa !5
  %18334 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18335 = load i32, ptr %18334, align 4, !tbaa !5
  %18336 = call ptr @s2n_strerror(i32 noundef %18335, ptr noundef @.str.4)
  %18337 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18338 = load i32, ptr %18337, align 4, !tbaa !5
  %18339 = call ptr @s2n_strerror_debug(i32 noundef %18338, ptr noundef @.str.4)
  %18340 = call ptr @__errno_location() #9
  %18341 = load i32, ptr %18340, align 4, !tbaa !5
  %18342 = call ptr @strerror(i32 noundef %18341) #8
  %18343 = call ptr @__errno_location() #9
  %18344 = load i32, ptr %18343, align 4, !tbaa !5
  %18345 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18332, ptr noundef @.str.2, i32 noundef %18333, ptr noundef @.str.83, ptr noundef @.str.1, i32 noundef 397, ptr noundef %18336, ptr noundef %18339, ptr noundef %18342, i32 noundef %18344) #8
  br label %18363

18346:                                            ; preds = %18324, %18317
  %18347 = load i32, ptr %304, align 4, !tbaa !5
  %18348 = call ptr @__errno_location() #9
  store i32 %18347, ptr %18348, align 4, !tbaa !5
  %18349 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18350 = load i32, ptr @test_count, align 4, !tbaa !5
  %18351 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18352 = load i32, ptr %18351, align 4, !tbaa !5
  %18353 = call ptr @s2n_strerror(i32 noundef %18352, ptr noundef @.str.4)
  %18354 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18355 = load i32, ptr %18354, align 4, !tbaa !5
  %18356 = call ptr @s2n_strerror_debug(i32 noundef %18355, ptr noundef @.str.4)
  %18357 = call ptr @__errno_location() #9
  %18358 = load i32, ptr %18357, align 4, !tbaa !5
  %18359 = call ptr @strerror(i32 noundef %18358) #8
  %18360 = call ptr @__errno_location() #9
  %18361 = load i32, ptr %18360, align 4, !tbaa !5
  %18362 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18349, ptr noundef @.str.5, i32 noundef %18350, ptr noundef @.str.83, ptr noundef @.str.1, i32 noundef 397, ptr noundef %18353, ptr noundef %18356, ptr noundef %18359, i32 noundef %18361) #8
  br label %18363

18363:                                            ; preds = %18346, %18329
  call void @llvm.lifetime.end.p0(i64 4, ptr %304) #8
  br label %18364

18364:                                            ; preds = %18363
  br label %18365

18365:                                            ; preds = %18364
  call void @exit(i32 noundef 1) #10
  unreachable

18366:                                            ; No predecessors!
  br label %18367

18367:                                            ; preds = %18366
  br label %18368

18368:                                            ; preds = %18367, %18309
  br label %18369

18369:                                            ; preds = %18368
  br label %18370

18370:                                            ; preds = %18369
  br label %18371

18371:                                            ; preds = %18370
  %18372 = load i32, ptr @test_count, align 4, !tbaa !5
  %18373 = add nsw i32 %18372, 1
  store i32 %18373, ptr @test_count, align 4, !tbaa !5
  %18374 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18375 = load i32, ptr %18374, align 4, !tbaa !5
  %18376 = icmp eq i32 %18375, 0
  br i1 %18376, label %18377, label %18430

18377:                                            ; preds = %18371
  br label %18378

18378:                                            ; preds = %18377
  br label %18379

18379:                                            ; preds = %18378
  call void @llvm.lifetime.start.p0(i64 4, ptr %305) #8
  %18380 = call ptr @__errno_location() #9
  %18381 = load i32, ptr %18380, align 4, !tbaa !5
  store i32 %18381, ptr %305, align 4, !tbaa !5
  %18382 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18383 = call i32 @s2n_print_stacktrace(ptr noundef %18382)
  %18384 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %18385 = trunc i8 %18384 to i1
  br i1 %18385, label %18386, label %18408

18386:                                            ; preds = %18379
  %18387 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18388 = call i32 @fileno(ptr noundef %18387) #8
  %18389 = call i32 @isatty(i32 noundef %18388) #8
  %18390 = icmp ne i32 %18389, 0
  br i1 %18390, label %18391, label %18408

18391:                                            ; preds = %18386
  %18392 = load i32, ptr %305, align 4, !tbaa !5
  %18393 = call ptr @__errno_location() #9
  store i32 %18392, ptr %18393, align 4, !tbaa !5
  %18394 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18395 = load i32, ptr @test_count, align 4, !tbaa !5
  %18396 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18397 = load i32, ptr %18396, align 4, !tbaa !5
  %18398 = call ptr @s2n_strerror(i32 noundef %18397, ptr noundef @.str.4)
  %18399 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18400 = load i32, ptr %18399, align 4, !tbaa !5
  %18401 = call ptr @s2n_strerror_debug(i32 noundef %18400, ptr noundef @.str.4)
  %18402 = call ptr @__errno_location() #9
  %18403 = load i32, ptr %18402, align 4, !tbaa !5
  %18404 = call ptr @strerror(i32 noundef %18403) #8
  %18405 = call ptr @__errno_location() #9
  %18406 = load i32, ptr %18405, align 4, !tbaa !5
  %18407 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18394, ptr noundef @.str.2, i32 noundef %18395, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 397, ptr noundef %18398, ptr noundef %18401, ptr noundef %18404, i32 noundef %18406) #8
  br label %18425

18408:                                            ; preds = %18386, %18379
  %18409 = load i32, ptr %305, align 4, !tbaa !5
  %18410 = call ptr @__errno_location() #9
  store i32 %18409, ptr %18410, align 4, !tbaa !5
  %18411 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18412 = load i32, ptr @test_count, align 4, !tbaa !5
  %18413 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18414 = load i32, ptr %18413, align 4, !tbaa !5
  %18415 = call ptr @s2n_strerror(i32 noundef %18414, ptr noundef @.str.4)
  %18416 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18417 = load i32, ptr %18416, align 4, !tbaa !5
  %18418 = call ptr @s2n_strerror_debug(i32 noundef %18417, ptr noundef @.str.4)
  %18419 = call ptr @__errno_location() #9
  %18420 = load i32, ptr %18419, align 4, !tbaa !5
  %18421 = call ptr @strerror(i32 noundef %18420) #8
  %18422 = call ptr @__errno_location() #9
  %18423 = load i32, ptr %18422, align 4, !tbaa !5
  %18424 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18411, ptr noundef @.str.5, i32 noundef %18412, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 397, ptr noundef %18415, ptr noundef %18418, ptr noundef %18421, i32 noundef %18423) #8
  br label %18425

18425:                                            ; preds = %18408, %18391
  call void @llvm.lifetime.end.p0(i64 4, ptr %305) #8
  br label %18426

18426:                                            ; preds = %18425
  br label %18427

18427:                                            ; preds = %18426
  call void @exit(i32 noundef 1) #10
  unreachable

18428:                                            ; No predecessors!
  br label %18429

18429:                                            ; preds = %18428
  br label %18430

18430:                                            ; preds = %18429, %18371
  br label %18431

18431:                                            ; preds = %18430
  br label %18432

18432:                                            ; preds = %18431
  br label %18433

18433:                                            ; preds = %18432
  %18434 = load i32, ptr @test_count, align 4, !tbaa !5
  %18435 = add nsw i32 %18434, 1
  store i32 %18435, ptr @test_count, align 4, !tbaa !5
  %18436 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18437 = load i32, ptr %18436, align 4, !tbaa !5
  %18438 = call ptr @s2n_strerror_debug(i32 noundef %18437, ptr noundef @.str.4)
  %18439 = icmp eq ptr %18438, null
  br i1 %18439, label %18440, label %18493

18440:                                            ; preds = %18433
  br label %18441

18441:                                            ; preds = %18440
  br label %18442

18442:                                            ; preds = %18441
  call void @llvm.lifetime.start.p0(i64 4, ptr %306) #8
  %18443 = call ptr @__errno_location() #9
  %18444 = load i32, ptr %18443, align 4, !tbaa !5
  store i32 %18444, ptr %306, align 4, !tbaa !5
  %18445 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18446 = call i32 @s2n_print_stacktrace(ptr noundef %18445)
  %18447 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %18448 = trunc i8 %18447 to i1
  br i1 %18448, label %18449, label %18471

18449:                                            ; preds = %18442
  %18450 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18451 = call i32 @fileno(ptr noundef %18450) #8
  %18452 = call i32 @isatty(i32 noundef %18451) #8
  %18453 = icmp ne i32 %18452, 0
  br i1 %18453, label %18454, label %18471

18454:                                            ; preds = %18449
  %18455 = load i32, ptr %306, align 4, !tbaa !5
  %18456 = call ptr @__errno_location() #9
  store i32 %18455, ptr %18456, align 4, !tbaa !5
  %18457 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18458 = load i32, ptr @test_count, align 4, !tbaa !5
  %18459 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18460 = load i32, ptr %18459, align 4, !tbaa !5
  %18461 = call ptr @s2n_strerror(i32 noundef %18460, ptr noundef @.str.4)
  %18462 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18463 = load i32, ptr %18462, align 4, !tbaa !5
  %18464 = call ptr @s2n_strerror_debug(i32 noundef %18463, ptr noundef @.str.4)
  %18465 = call ptr @__errno_location() #9
  %18466 = load i32, ptr %18465, align 4, !tbaa !5
  %18467 = call ptr @strerror(i32 noundef %18466) #8
  %18468 = call ptr @__errno_location() #9
  %18469 = load i32, ptr %18468, align 4, !tbaa !5
  %18470 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18457, ptr noundef @.str.2, i32 noundef %18458, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 397, ptr noundef %18461, ptr noundef %18464, ptr noundef %18467, i32 noundef %18469) #8
  br label %18488

18471:                                            ; preds = %18449, %18442
  %18472 = load i32, ptr %306, align 4, !tbaa !5
  %18473 = call ptr @__errno_location() #9
  store i32 %18472, ptr %18473, align 4, !tbaa !5
  %18474 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18475 = load i32, ptr @test_count, align 4, !tbaa !5
  %18476 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18477 = load i32, ptr %18476, align 4, !tbaa !5
  %18478 = call ptr @s2n_strerror(i32 noundef %18477, ptr noundef @.str.4)
  %18479 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18480 = load i32, ptr %18479, align 4, !tbaa !5
  %18481 = call ptr @s2n_strerror_debug(i32 noundef %18480, ptr noundef @.str.4)
  %18482 = call ptr @__errno_location() #9
  %18483 = load i32, ptr %18482, align 4, !tbaa !5
  %18484 = call ptr @strerror(i32 noundef %18483) #8
  %18485 = call ptr @__errno_location() #9
  %18486 = load i32, ptr %18485, align 4, !tbaa !5
  %18487 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18474, ptr noundef @.str.5, i32 noundef %18475, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 397, ptr noundef %18478, ptr noundef %18481, ptr noundef %18484, i32 noundef %18486) #8
  br label %18488

18488:                                            ; preds = %18471, %18454
  call void @llvm.lifetime.end.p0(i64 4, ptr %306) #8
  br label %18489

18489:                                            ; preds = %18488
  br label %18490

18490:                                            ; preds = %18489
  call void @exit(i32 noundef 1) #10
  unreachable

18491:                                            ; No predecessors!
  br label %18492

18492:                                            ; preds = %18491
  br label %18493

18493:                                            ; preds = %18492, %18433
  br label %18494

18494:                                            ; preds = %18493
  br label %18495

18495:                                            ; preds = %18494
  br label %18496

18496:                                            ; preds = %18495
  %18497 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %18497, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %18498 = call ptr @__errno_location() #9
  store i32 0, ptr %18498, align 4, !tbaa !5
  br label %18499

18499:                                            ; preds = %18496
  br label %18500

18500:                                            ; preds = %18499
  br label %18501

18501:                                            ; preds = %18500
  br label %18502

18502:                                            ; preds = %18501
  br label %18503

18503:                                            ; preds = %18502
  %18504 = load i32, ptr @test_count, align 4, !tbaa !5
  %18505 = add nsw i32 %18504, 1
  store i32 %18505, ptr @test_count, align 4, !tbaa !5
  %18506 = load ptr, ptr %239, align 8, !tbaa !9
  %18507 = load ptr, ptr %23, align 8, !tbaa !9
  %18508 = call i32 @s2n_connection_set_config(ptr noundef %18506, ptr noundef %18507)
  %18509 = icmp eq i32 %18508, -1
  br i1 %18509, label %18510, label %18563

18510:                                            ; preds = %18503
  br label %18511

18511:                                            ; preds = %18510
  br label %18512

18512:                                            ; preds = %18511
  call void @llvm.lifetime.start.p0(i64 4, ptr %307) #8
  %18513 = call ptr @__errno_location() #9
  %18514 = load i32, ptr %18513, align 4, !tbaa !5
  store i32 %18514, ptr %307, align 4, !tbaa !5
  %18515 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18516 = call i32 @s2n_print_stacktrace(ptr noundef %18515)
  %18517 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %18518 = trunc i8 %18517 to i1
  br i1 %18518, label %18519, label %18541

18519:                                            ; preds = %18512
  %18520 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18521 = call i32 @fileno(ptr noundef %18520) #8
  %18522 = call i32 @isatty(i32 noundef %18521) #8
  %18523 = icmp ne i32 %18522, 0
  br i1 %18523, label %18524, label %18541

18524:                                            ; preds = %18519
  %18525 = load i32, ptr %307, align 4, !tbaa !5
  %18526 = call ptr @__errno_location() #9
  store i32 %18525, ptr %18526, align 4, !tbaa !5
  %18527 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18528 = load i32, ptr @test_count, align 4, !tbaa !5
  %18529 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18530 = load i32, ptr %18529, align 4, !tbaa !5
  %18531 = call ptr @s2n_strerror(i32 noundef %18530, ptr noundef @.str.4)
  %18532 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18533 = load i32, ptr %18532, align 4, !tbaa !5
  %18534 = call ptr @s2n_strerror_debug(i32 noundef %18533, ptr noundef @.str.4)
  %18535 = call ptr @__errno_location() #9
  %18536 = load i32, ptr %18535, align 4, !tbaa !5
  %18537 = call ptr @strerror(i32 noundef %18536) #8
  %18538 = call ptr @__errno_location() #9
  %18539 = load i32, ptr %18538, align 4, !tbaa !5
  %18540 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18527, ptr noundef @.str.2, i32 noundef %18528, ptr noundef @.str.27, ptr noundef @.str.1, i32 noundef 400, ptr noundef %18531, ptr noundef %18534, ptr noundef %18537, i32 noundef %18539) #8
  br label %18558

18541:                                            ; preds = %18519, %18512
  %18542 = load i32, ptr %307, align 4, !tbaa !5
  %18543 = call ptr @__errno_location() #9
  store i32 %18542, ptr %18543, align 4, !tbaa !5
  %18544 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18545 = load i32, ptr @test_count, align 4, !tbaa !5
  %18546 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18547 = load i32, ptr %18546, align 4, !tbaa !5
  %18548 = call ptr @s2n_strerror(i32 noundef %18547, ptr noundef @.str.4)
  %18549 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18550 = load i32, ptr %18549, align 4, !tbaa !5
  %18551 = call ptr @s2n_strerror_debug(i32 noundef %18550, ptr noundef @.str.4)
  %18552 = call ptr @__errno_location() #9
  %18553 = load i32, ptr %18552, align 4, !tbaa !5
  %18554 = call ptr @strerror(i32 noundef %18553) #8
  %18555 = call ptr @__errno_location() #9
  %18556 = load i32, ptr %18555, align 4, !tbaa !5
  %18557 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18544, ptr noundef @.str.5, i32 noundef %18545, ptr noundef @.str.27, ptr noundef @.str.1, i32 noundef 400, ptr noundef %18548, ptr noundef %18551, ptr noundef %18554, i32 noundef %18556) #8
  br label %18558

18558:                                            ; preds = %18541, %18524
  call void @llvm.lifetime.end.p0(i64 4, ptr %307) #8
  br label %18559

18559:                                            ; preds = %18558
  br label %18560

18560:                                            ; preds = %18559
  call void @exit(i32 noundef 1) #10
  unreachable

18561:                                            ; No predecessors!
  br label %18562

18562:                                            ; preds = %18561
  br label %18563

18563:                                            ; preds = %18562, %18503
  br label %18564

18564:                                            ; preds = %18563
  br label %18565

18565:                                            ; preds = %18564
  br label %18566

18566:                                            ; preds = %18565
  br label %18567

18567:                                            ; preds = %18566
  %18568 = load i32, ptr @test_count, align 4, !tbaa !5
  %18569 = add nsw i32 %18568, 1
  store i32 %18569, ptr @test_count, align 4, !tbaa !5
  %18570 = load ptr, ptr %239, align 8, !tbaa !9
  %18571 = call i32 @s2n_test_auth_combo(ptr noundef %18570, ptr noundef @s2n_dhe_rsa_with_3des_ede_cbc_sha, ptr noundef @s2n_rsa_pkcs1_md5_sha1, ptr noundef null)
  %18572 = icmp eq i32 %18571, -1
  br i1 %18572, label %18626, label %18573

18573:                                            ; preds = %18567
  br label %18574

18574:                                            ; preds = %18573
  br label %18575

18575:                                            ; preds = %18574
  call void @llvm.lifetime.start.p0(i64 4, ptr %308) #8
  %18576 = call ptr @__errno_location() #9
  %18577 = load i32, ptr %18576, align 4, !tbaa !5
  store i32 %18577, ptr %308, align 4, !tbaa !5
  %18578 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18579 = call i32 @s2n_print_stacktrace(ptr noundef %18578)
  %18580 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %18581 = trunc i8 %18580 to i1
  br i1 %18581, label %18582, label %18604

18582:                                            ; preds = %18575
  %18583 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18584 = call i32 @fileno(ptr noundef %18583) #8
  %18585 = call i32 @isatty(i32 noundef %18584) #8
  %18586 = icmp ne i32 %18585, 0
  br i1 %18586, label %18587, label %18604

18587:                                            ; preds = %18582
  %18588 = load i32, ptr %308, align 4, !tbaa !5
  %18589 = call ptr @__errno_location() #9
  store i32 %18588, ptr %18589, align 4, !tbaa !5
  %18590 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18591 = load i32, ptr @test_count, align 4, !tbaa !5
  %18592 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18593 = load i32, ptr %18592, align 4, !tbaa !5
  %18594 = call ptr @s2n_strerror(i32 noundef %18593, ptr noundef @.str.4)
  %18595 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18596 = load i32, ptr %18595, align 4, !tbaa !5
  %18597 = call ptr @s2n_strerror_debug(i32 noundef %18596, ptr noundef @.str.4)
  %18598 = call ptr @__errno_location() #9
  %18599 = load i32, ptr %18598, align 4, !tbaa !5
  %18600 = call ptr @strerror(i32 noundef %18599) #8
  %18601 = call ptr @__errno_location() #9
  %18602 = load i32, ptr %18601, align 4, !tbaa !5
  %18603 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18590, ptr noundef @.str.2, i32 noundef %18591, ptr noundef @.str.72, ptr noundef @.str.1, i32 noundef 402, ptr noundef %18594, ptr noundef %18597, ptr noundef %18600, i32 noundef %18602) #8
  br label %18621

18604:                                            ; preds = %18582, %18575
  %18605 = load i32, ptr %308, align 4, !tbaa !5
  %18606 = call ptr @__errno_location() #9
  store i32 %18605, ptr %18606, align 4, !tbaa !5
  %18607 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18608 = load i32, ptr @test_count, align 4, !tbaa !5
  %18609 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18610 = load i32, ptr %18609, align 4, !tbaa !5
  %18611 = call ptr @s2n_strerror(i32 noundef %18610, ptr noundef @.str.4)
  %18612 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18613 = load i32, ptr %18612, align 4, !tbaa !5
  %18614 = call ptr @s2n_strerror_debug(i32 noundef %18613, ptr noundef @.str.4)
  %18615 = call ptr @__errno_location() #9
  %18616 = load i32, ptr %18615, align 4, !tbaa !5
  %18617 = call ptr @strerror(i32 noundef %18616) #8
  %18618 = call ptr @__errno_location() #9
  %18619 = load i32, ptr %18618, align 4, !tbaa !5
  %18620 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18607, ptr noundef @.str.5, i32 noundef %18608, ptr noundef @.str.72, ptr noundef @.str.1, i32 noundef 402, ptr noundef %18611, ptr noundef %18614, ptr noundef %18617, i32 noundef %18619) #8
  br label %18621

18621:                                            ; preds = %18604, %18587
  call void @llvm.lifetime.end.p0(i64 4, ptr %308) #8
  br label %18622

18622:                                            ; preds = %18621
  br label %18623

18623:                                            ; preds = %18622
  call void @exit(i32 noundef 1) #10
  unreachable

18624:                                            ; No predecessors!
  br label %18625

18625:                                            ; preds = %18624
  br label %18626

18626:                                            ; preds = %18625, %18567
  br label %18627

18627:                                            ; preds = %18626
  br label %18628

18628:                                            ; preds = %18627
  br label %18629

18629:                                            ; preds = %18628
  %18630 = load i32, ptr @test_count, align 4, !tbaa !5
  %18631 = add nsw i32 %18630, 1
  store i32 %18631, ptr @test_count, align 4, !tbaa !5
  %18632 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18633 = load i32, ptr %18632, align 4, !tbaa !5
  %18634 = icmp eq i32 %18633, 0
  br i1 %18634, label %18635, label %18688

18635:                                            ; preds = %18629
  br label %18636

18636:                                            ; preds = %18635
  br label %18637

18637:                                            ; preds = %18636
  call void @llvm.lifetime.start.p0(i64 4, ptr %309) #8
  %18638 = call ptr @__errno_location() #9
  %18639 = load i32, ptr %18638, align 4, !tbaa !5
  store i32 %18639, ptr %309, align 4, !tbaa !5
  %18640 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18641 = call i32 @s2n_print_stacktrace(ptr noundef %18640)
  %18642 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %18643 = trunc i8 %18642 to i1
  br i1 %18643, label %18644, label %18666

18644:                                            ; preds = %18637
  %18645 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18646 = call i32 @fileno(ptr noundef %18645) #8
  %18647 = call i32 @isatty(i32 noundef %18646) #8
  %18648 = icmp ne i32 %18647, 0
  br i1 %18648, label %18649, label %18666

18649:                                            ; preds = %18644
  %18650 = load i32, ptr %309, align 4, !tbaa !5
  %18651 = call ptr @__errno_location() #9
  store i32 %18650, ptr %18651, align 4, !tbaa !5
  %18652 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18653 = load i32, ptr @test_count, align 4, !tbaa !5
  %18654 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18655 = load i32, ptr %18654, align 4, !tbaa !5
  %18656 = call ptr @s2n_strerror(i32 noundef %18655, ptr noundef @.str.4)
  %18657 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18658 = load i32, ptr %18657, align 4, !tbaa !5
  %18659 = call ptr @s2n_strerror_debug(i32 noundef %18658, ptr noundef @.str.4)
  %18660 = call ptr @__errno_location() #9
  %18661 = load i32, ptr %18660, align 4, !tbaa !5
  %18662 = call ptr @strerror(i32 noundef %18661) #8
  %18663 = call ptr @__errno_location() #9
  %18664 = load i32, ptr %18663, align 4, !tbaa !5
  %18665 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18652, ptr noundef @.str.2, i32 noundef %18653, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 402, ptr noundef %18656, ptr noundef %18659, ptr noundef %18662, i32 noundef %18664) #8
  br label %18683

18666:                                            ; preds = %18644, %18637
  %18667 = load i32, ptr %309, align 4, !tbaa !5
  %18668 = call ptr @__errno_location() #9
  store i32 %18667, ptr %18668, align 4, !tbaa !5
  %18669 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18670 = load i32, ptr @test_count, align 4, !tbaa !5
  %18671 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18672 = load i32, ptr %18671, align 4, !tbaa !5
  %18673 = call ptr @s2n_strerror(i32 noundef %18672, ptr noundef @.str.4)
  %18674 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18675 = load i32, ptr %18674, align 4, !tbaa !5
  %18676 = call ptr @s2n_strerror_debug(i32 noundef %18675, ptr noundef @.str.4)
  %18677 = call ptr @__errno_location() #9
  %18678 = load i32, ptr %18677, align 4, !tbaa !5
  %18679 = call ptr @strerror(i32 noundef %18678) #8
  %18680 = call ptr @__errno_location() #9
  %18681 = load i32, ptr %18680, align 4, !tbaa !5
  %18682 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18669, ptr noundef @.str.5, i32 noundef %18670, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 402, ptr noundef %18673, ptr noundef %18676, ptr noundef %18679, i32 noundef %18681) #8
  br label %18683

18683:                                            ; preds = %18666, %18649
  call void @llvm.lifetime.end.p0(i64 4, ptr %309) #8
  br label %18684

18684:                                            ; preds = %18683
  br label %18685

18685:                                            ; preds = %18684
  call void @exit(i32 noundef 1) #10
  unreachable

18686:                                            ; No predecessors!
  br label %18687

18687:                                            ; preds = %18686
  br label %18688

18688:                                            ; preds = %18687, %18629
  br label %18689

18689:                                            ; preds = %18688
  br label %18690

18690:                                            ; preds = %18689
  br label %18691

18691:                                            ; preds = %18690
  %18692 = load i32, ptr @test_count, align 4, !tbaa !5
  %18693 = add nsw i32 %18692, 1
  store i32 %18693, ptr @test_count, align 4, !tbaa !5
  %18694 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18695 = load i32, ptr %18694, align 4, !tbaa !5
  %18696 = call ptr @s2n_strerror_debug(i32 noundef %18695, ptr noundef @.str.4)
  %18697 = icmp eq ptr %18696, null
  br i1 %18697, label %18698, label %18751

18698:                                            ; preds = %18691
  br label %18699

18699:                                            ; preds = %18698
  br label %18700

18700:                                            ; preds = %18699
  call void @llvm.lifetime.start.p0(i64 4, ptr %310) #8
  %18701 = call ptr @__errno_location() #9
  %18702 = load i32, ptr %18701, align 4, !tbaa !5
  store i32 %18702, ptr %310, align 4, !tbaa !5
  %18703 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18704 = call i32 @s2n_print_stacktrace(ptr noundef %18703)
  %18705 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %18706 = trunc i8 %18705 to i1
  br i1 %18706, label %18707, label %18729

18707:                                            ; preds = %18700
  %18708 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18709 = call i32 @fileno(ptr noundef %18708) #8
  %18710 = call i32 @isatty(i32 noundef %18709) #8
  %18711 = icmp ne i32 %18710, 0
  br i1 %18711, label %18712, label %18729

18712:                                            ; preds = %18707
  %18713 = load i32, ptr %310, align 4, !tbaa !5
  %18714 = call ptr @__errno_location() #9
  store i32 %18713, ptr %18714, align 4, !tbaa !5
  %18715 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18716 = load i32, ptr @test_count, align 4, !tbaa !5
  %18717 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18718 = load i32, ptr %18717, align 4, !tbaa !5
  %18719 = call ptr @s2n_strerror(i32 noundef %18718, ptr noundef @.str.4)
  %18720 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18721 = load i32, ptr %18720, align 4, !tbaa !5
  %18722 = call ptr @s2n_strerror_debug(i32 noundef %18721, ptr noundef @.str.4)
  %18723 = call ptr @__errno_location() #9
  %18724 = load i32, ptr %18723, align 4, !tbaa !5
  %18725 = call ptr @strerror(i32 noundef %18724) #8
  %18726 = call ptr @__errno_location() #9
  %18727 = load i32, ptr %18726, align 4, !tbaa !5
  %18728 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18715, ptr noundef @.str.2, i32 noundef %18716, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 402, ptr noundef %18719, ptr noundef %18722, ptr noundef %18725, i32 noundef %18727) #8
  br label %18746

18729:                                            ; preds = %18707, %18700
  %18730 = load i32, ptr %310, align 4, !tbaa !5
  %18731 = call ptr @__errno_location() #9
  store i32 %18730, ptr %18731, align 4, !tbaa !5
  %18732 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18733 = load i32, ptr @test_count, align 4, !tbaa !5
  %18734 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18735 = load i32, ptr %18734, align 4, !tbaa !5
  %18736 = call ptr @s2n_strerror(i32 noundef %18735, ptr noundef @.str.4)
  %18737 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18738 = load i32, ptr %18737, align 4, !tbaa !5
  %18739 = call ptr @s2n_strerror_debug(i32 noundef %18738, ptr noundef @.str.4)
  %18740 = call ptr @__errno_location() #9
  %18741 = load i32, ptr %18740, align 4, !tbaa !5
  %18742 = call ptr @strerror(i32 noundef %18741) #8
  %18743 = call ptr @__errno_location() #9
  %18744 = load i32, ptr %18743, align 4, !tbaa !5
  %18745 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18732, ptr noundef @.str.5, i32 noundef %18733, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 402, ptr noundef %18736, ptr noundef %18739, ptr noundef %18742, i32 noundef %18744) #8
  br label %18746

18746:                                            ; preds = %18729, %18712
  call void @llvm.lifetime.end.p0(i64 4, ptr %310) #8
  br label %18747

18747:                                            ; preds = %18746
  br label %18748

18748:                                            ; preds = %18747
  call void @exit(i32 noundef 1) #10
  unreachable

18749:                                            ; No predecessors!
  br label %18750

18750:                                            ; preds = %18749
  br label %18751

18751:                                            ; preds = %18750, %18691
  br label %18752

18752:                                            ; preds = %18751
  br label %18753

18753:                                            ; preds = %18752
  br label %18754

18754:                                            ; preds = %18753
  %18755 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %18755, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %18756 = call ptr @__errno_location() #9
  store i32 0, ptr %18756, align 4, !tbaa !5
  br label %18757

18757:                                            ; preds = %18754
  br label %18758

18758:                                            ; preds = %18757
  br label %18759

18759:                                            ; preds = %18758
  br label %18760

18760:                                            ; preds = %18759
  %18761 = call zeroext i1 (...) @s2n_is_rsa_pss_certs_supported()
  br i1 %18761, label %18762, label %18826

18762:                                            ; preds = %18760
  br label %18763

18763:                                            ; preds = %18762
  %18764 = load i32, ptr @test_count, align 4, !tbaa !5
  %18765 = add nsw i32 %18764, 1
  store i32 %18765, ptr @test_count, align 4, !tbaa !5
  %18766 = load ptr, ptr %239, align 8, !tbaa !9
  %18767 = load ptr, ptr %22, align 8, !tbaa !9
  %18768 = call i32 @s2n_test_auth_combo(ptr noundef %18766, ptr noundef @s2n_dhe_rsa_with_3des_ede_cbc_sha, ptr noundef @s2n_rsa_pss_pss_sha256, ptr noundef %18767)
  %18769 = icmp eq i32 %18768, -1
  br i1 %18769, label %18770, label %18823

18770:                                            ; preds = %18763
  br label %18771

18771:                                            ; preds = %18770
  br label %18772

18772:                                            ; preds = %18771
  call void @llvm.lifetime.start.p0(i64 4, ptr %311) #8
  %18773 = call ptr @__errno_location() #9
  %18774 = load i32, ptr %18773, align 4, !tbaa !5
  store i32 %18774, ptr %311, align 4, !tbaa !5
  %18775 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18776 = call i32 @s2n_print_stacktrace(ptr noundef %18775)
  %18777 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %18778 = trunc i8 %18777 to i1
  br i1 %18778, label %18779, label %18801

18779:                                            ; preds = %18772
  %18780 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18781 = call i32 @fileno(ptr noundef %18780) #8
  %18782 = call i32 @isatty(i32 noundef %18781) #8
  %18783 = icmp ne i32 %18782, 0
  br i1 %18783, label %18784, label %18801

18784:                                            ; preds = %18779
  %18785 = load i32, ptr %311, align 4, !tbaa !5
  %18786 = call ptr @__errno_location() #9
  store i32 %18785, ptr %18786, align 4, !tbaa !5
  %18787 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18788 = load i32, ptr @test_count, align 4, !tbaa !5
  %18789 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18790 = load i32, ptr %18789, align 4, !tbaa !5
  %18791 = call ptr @s2n_strerror(i32 noundef %18790, ptr noundef @.str.4)
  %18792 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18793 = load i32, ptr %18792, align 4, !tbaa !5
  %18794 = call ptr @s2n_strerror_debug(i32 noundef %18793, ptr noundef @.str.4)
  %18795 = call ptr @__errno_location() #9
  %18796 = load i32, ptr %18795, align 4, !tbaa !5
  %18797 = call ptr @strerror(i32 noundef %18796) #8
  %18798 = call ptr @__errno_location() #9
  %18799 = load i32, ptr %18798, align 4, !tbaa !5
  %18800 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18787, ptr noundef @.str.2, i32 noundef %18788, ptr noundef @.str.88, ptr noundef @.str.1, i32 noundef 403, ptr noundef %18791, ptr noundef %18794, ptr noundef %18797, i32 noundef %18799) #8
  br label %18818

18801:                                            ; preds = %18779, %18772
  %18802 = load i32, ptr %311, align 4, !tbaa !5
  %18803 = call ptr @__errno_location() #9
  store i32 %18802, ptr %18803, align 4, !tbaa !5
  %18804 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18805 = load i32, ptr @test_count, align 4, !tbaa !5
  %18806 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18807 = load i32, ptr %18806, align 4, !tbaa !5
  %18808 = call ptr @s2n_strerror(i32 noundef %18807, ptr noundef @.str.4)
  %18809 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18810 = load i32, ptr %18809, align 4, !tbaa !5
  %18811 = call ptr @s2n_strerror_debug(i32 noundef %18810, ptr noundef @.str.4)
  %18812 = call ptr @__errno_location() #9
  %18813 = load i32, ptr %18812, align 4, !tbaa !5
  %18814 = call ptr @strerror(i32 noundef %18813) #8
  %18815 = call ptr @__errno_location() #9
  %18816 = load i32, ptr %18815, align 4, !tbaa !5
  %18817 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18804, ptr noundef @.str.5, i32 noundef %18805, ptr noundef @.str.88, ptr noundef @.str.1, i32 noundef 403, ptr noundef %18808, ptr noundef %18811, ptr noundef %18814, i32 noundef %18816) #8
  br label %18818

18818:                                            ; preds = %18801, %18784
  call void @llvm.lifetime.end.p0(i64 4, ptr %311) #8
  br label %18819

18819:                                            ; preds = %18818
  br label %18820

18820:                                            ; preds = %18819
  call void @exit(i32 noundef 1) #10
  unreachable

18821:                                            ; No predecessors!
  br label %18822

18822:                                            ; preds = %18821
  br label %18823

18823:                                            ; preds = %18822, %18763
  br label %18824

18824:                                            ; preds = %18823
  br label %18825

18825:                                            ; preds = %18824
  br label %19023

18826:                                            ; preds = %18760
  br label %18827

18827:                                            ; preds = %18826
  br label %18828

18828:                                            ; preds = %18827
  %18829 = load i32, ptr @test_count, align 4, !tbaa !5
  %18830 = add nsw i32 %18829, 1
  store i32 %18830, ptr @test_count, align 4, !tbaa !5
  %18831 = load ptr, ptr %239, align 8, !tbaa !9
  %18832 = load ptr, ptr %22, align 8, !tbaa !9
  %18833 = call i32 @s2n_test_auth_combo(ptr noundef %18831, ptr noundef @s2n_dhe_rsa_with_3des_ede_cbc_sha, ptr noundef @s2n_rsa_pss_pss_sha256, ptr noundef %18832)
  %18834 = icmp eq i32 %18833, -1
  br i1 %18834, label %18888, label %18835

18835:                                            ; preds = %18828
  br label %18836

18836:                                            ; preds = %18835
  br label %18837

18837:                                            ; preds = %18836
  call void @llvm.lifetime.start.p0(i64 4, ptr %312) #8
  %18838 = call ptr @__errno_location() #9
  %18839 = load i32, ptr %18838, align 4, !tbaa !5
  store i32 %18839, ptr %312, align 4, !tbaa !5
  %18840 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18841 = call i32 @s2n_print_stacktrace(ptr noundef %18840)
  %18842 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %18843 = trunc i8 %18842 to i1
  br i1 %18843, label %18844, label %18866

18844:                                            ; preds = %18837
  %18845 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18846 = call i32 @fileno(ptr noundef %18845) #8
  %18847 = call i32 @isatty(i32 noundef %18846) #8
  %18848 = icmp ne i32 %18847, 0
  br i1 %18848, label %18849, label %18866

18849:                                            ; preds = %18844
  %18850 = load i32, ptr %312, align 4, !tbaa !5
  %18851 = call ptr @__errno_location() #9
  store i32 %18850, ptr %18851, align 4, !tbaa !5
  %18852 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18853 = load i32, ptr @test_count, align 4, !tbaa !5
  %18854 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18855 = load i32, ptr %18854, align 4, !tbaa !5
  %18856 = call ptr @s2n_strerror(i32 noundef %18855, ptr noundef @.str.4)
  %18857 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18858 = load i32, ptr %18857, align 4, !tbaa !5
  %18859 = call ptr @s2n_strerror_debug(i32 noundef %18858, ptr noundef @.str.4)
  %18860 = call ptr @__errno_location() #9
  %18861 = load i32, ptr %18860, align 4, !tbaa !5
  %18862 = call ptr @strerror(i32 noundef %18861) #8
  %18863 = call ptr @__errno_location() #9
  %18864 = load i32, ptr %18863, align 4, !tbaa !5
  %18865 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18852, ptr noundef @.str.2, i32 noundef %18853, ptr noundef @.str.89, ptr noundef @.str.1, i32 noundef 403, ptr noundef %18856, ptr noundef %18859, ptr noundef %18862, i32 noundef %18864) #8
  br label %18883

18866:                                            ; preds = %18844, %18837
  %18867 = load i32, ptr %312, align 4, !tbaa !5
  %18868 = call ptr @__errno_location() #9
  store i32 %18867, ptr %18868, align 4, !tbaa !5
  %18869 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18870 = load i32, ptr @test_count, align 4, !tbaa !5
  %18871 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18872 = load i32, ptr %18871, align 4, !tbaa !5
  %18873 = call ptr @s2n_strerror(i32 noundef %18872, ptr noundef @.str.4)
  %18874 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18875 = load i32, ptr %18874, align 4, !tbaa !5
  %18876 = call ptr @s2n_strerror_debug(i32 noundef %18875, ptr noundef @.str.4)
  %18877 = call ptr @__errno_location() #9
  %18878 = load i32, ptr %18877, align 4, !tbaa !5
  %18879 = call ptr @strerror(i32 noundef %18878) #8
  %18880 = call ptr @__errno_location() #9
  %18881 = load i32, ptr %18880, align 4, !tbaa !5
  %18882 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18869, ptr noundef @.str.5, i32 noundef %18870, ptr noundef @.str.89, ptr noundef @.str.1, i32 noundef 403, ptr noundef %18873, ptr noundef %18876, ptr noundef %18879, i32 noundef %18881) #8
  br label %18883

18883:                                            ; preds = %18866, %18849
  call void @llvm.lifetime.end.p0(i64 4, ptr %312) #8
  br label %18884

18884:                                            ; preds = %18883
  br label %18885

18885:                                            ; preds = %18884
  call void @exit(i32 noundef 1) #10
  unreachable

18886:                                            ; No predecessors!
  br label %18887

18887:                                            ; preds = %18886
  br label %18888

18888:                                            ; preds = %18887, %18828
  br label %18889

18889:                                            ; preds = %18888
  br label %18890

18890:                                            ; preds = %18889
  br label %18891

18891:                                            ; preds = %18890
  %18892 = load i32, ptr @test_count, align 4, !tbaa !5
  %18893 = add nsw i32 %18892, 1
  store i32 %18893, ptr @test_count, align 4, !tbaa !5
  %18894 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18895 = load i32, ptr %18894, align 4, !tbaa !5
  %18896 = icmp eq i32 %18895, 0
  br i1 %18896, label %18897, label %18950

18897:                                            ; preds = %18891
  br label %18898

18898:                                            ; preds = %18897
  br label %18899

18899:                                            ; preds = %18898
  call void @llvm.lifetime.start.p0(i64 4, ptr %313) #8
  %18900 = call ptr @__errno_location() #9
  %18901 = load i32, ptr %18900, align 4, !tbaa !5
  store i32 %18901, ptr %313, align 4, !tbaa !5
  %18902 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18903 = call i32 @s2n_print_stacktrace(ptr noundef %18902)
  %18904 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %18905 = trunc i8 %18904 to i1
  br i1 %18905, label %18906, label %18928

18906:                                            ; preds = %18899
  %18907 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18908 = call i32 @fileno(ptr noundef %18907) #8
  %18909 = call i32 @isatty(i32 noundef %18908) #8
  %18910 = icmp ne i32 %18909, 0
  br i1 %18910, label %18911, label %18928

18911:                                            ; preds = %18906
  %18912 = load i32, ptr %313, align 4, !tbaa !5
  %18913 = call ptr @__errno_location() #9
  store i32 %18912, ptr %18913, align 4, !tbaa !5
  %18914 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18915 = load i32, ptr @test_count, align 4, !tbaa !5
  %18916 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18917 = load i32, ptr %18916, align 4, !tbaa !5
  %18918 = call ptr @s2n_strerror(i32 noundef %18917, ptr noundef @.str.4)
  %18919 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18920 = load i32, ptr %18919, align 4, !tbaa !5
  %18921 = call ptr @s2n_strerror_debug(i32 noundef %18920, ptr noundef @.str.4)
  %18922 = call ptr @__errno_location() #9
  %18923 = load i32, ptr %18922, align 4, !tbaa !5
  %18924 = call ptr @strerror(i32 noundef %18923) #8
  %18925 = call ptr @__errno_location() #9
  %18926 = load i32, ptr %18925, align 4, !tbaa !5
  %18927 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18914, ptr noundef @.str.2, i32 noundef %18915, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 403, ptr noundef %18918, ptr noundef %18921, ptr noundef %18924, i32 noundef %18926) #8
  br label %18945

18928:                                            ; preds = %18906, %18899
  %18929 = load i32, ptr %313, align 4, !tbaa !5
  %18930 = call ptr @__errno_location() #9
  store i32 %18929, ptr %18930, align 4, !tbaa !5
  %18931 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18932 = load i32, ptr @test_count, align 4, !tbaa !5
  %18933 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18934 = load i32, ptr %18933, align 4, !tbaa !5
  %18935 = call ptr @s2n_strerror(i32 noundef %18934, ptr noundef @.str.4)
  %18936 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18937 = load i32, ptr %18936, align 4, !tbaa !5
  %18938 = call ptr @s2n_strerror_debug(i32 noundef %18937, ptr noundef @.str.4)
  %18939 = call ptr @__errno_location() #9
  %18940 = load i32, ptr %18939, align 4, !tbaa !5
  %18941 = call ptr @strerror(i32 noundef %18940) #8
  %18942 = call ptr @__errno_location() #9
  %18943 = load i32, ptr %18942, align 4, !tbaa !5
  %18944 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18931, ptr noundef @.str.5, i32 noundef %18932, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 403, ptr noundef %18935, ptr noundef %18938, ptr noundef %18941, i32 noundef %18943) #8
  br label %18945

18945:                                            ; preds = %18928, %18911
  call void @llvm.lifetime.end.p0(i64 4, ptr %313) #8
  br label %18946

18946:                                            ; preds = %18945
  br label %18947

18947:                                            ; preds = %18946
  call void @exit(i32 noundef 1) #10
  unreachable

18948:                                            ; No predecessors!
  br label %18949

18949:                                            ; preds = %18948
  br label %18950

18950:                                            ; preds = %18949, %18891
  br label %18951

18951:                                            ; preds = %18950
  br label %18952

18952:                                            ; preds = %18951
  br label %18953

18953:                                            ; preds = %18952
  %18954 = load i32, ptr @test_count, align 4, !tbaa !5
  %18955 = add nsw i32 %18954, 1
  store i32 %18955, ptr @test_count, align 4, !tbaa !5
  %18956 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18957 = load i32, ptr %18956, align 4, !tbaa !5
  %18958 = call ptr @s2n_strerror_debug(i32 noundef %18957, ptr noundef @.str.4)
  %18959 = icmp eq ptr %18958, null
  br i1 %18959, label %18960, label %19013

18960:                                            ; preds = %18953
  br label %18961

18961:                                            ; preds = %18960
  br label %18962

18962:                                            ; preds = %18961
  call void @llvm.lifetime.start.p0(i64 4, ptr %314) #8
  %18963 = call ptr @__errno_location() #9
  %18964 = load i32, ptr %18963, align 4, !tbaa !5
  store i32 %18964, ptr %314, align 4, !tbaa !5
  %18965 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18966 = call i32 @s2n_print_stacktrace(ptr noundef %18965)
  %18967 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %18968 = trunc i8 %18967 to i1
  br i1 %18968, label %18969, label %18991

18969:                                            ; preds = %18962
  %18970 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18971 = call i32 @fileno(ptr noundef %18970) #8
  %18972 = call i32 @isatty(i32 noundef %18971) #8
  %18973 = icmp ne i32 %18972, 0
  br i1 %18973, label %18974, label %18991

18974:                                            ; preds = %18969
  %18975 = load i32, ptr %314, align 4, !tbaa !5
  %18976 = call ptr @__errno_location() #9
  store i32 %18975, ptr %18976, align 4, !tbaa !5
  %18977 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18978 = load i32, ptr @test_count, align 4, !tbaa !5
  %18979 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18980 = load i32, ptr %18979, align 4, !tbaa !5
  %18981 = call ptr @s2n_strerror(i32 noundef %18980, ptr noundef @.str.4)
  %18982 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18983 = load i32, ptr %18982, align 4, !tbaa !5
  %18984 = call ptr @s2n_strerror_debug(i32 noundef %18983, ptr noundef @.str.4)
  %18985 = call ptr @__errno_location() #9
  %18986 = load i32, ptr %18985, align 4, !tbaa !5
  %18987 = call ptr @strerror(i32 noundef %18986) #8
  %18988 = call ptr @__errno_location() #9
  %18989 = load i32, ptr %18988, align 4, !tbaa !5
  %18990 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18977, ptr noundef @.str.2, i32 noundef %18978, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 403, ptr noundef %18981, ptr noundef %18984, ptr noundef %18987, i32 noundef %18989) #8
  br label %19008

18991:                                            ; preds = %18969, %18962
  %18992 = load i32, ptr %314, align 4, !tbaa !5
  %18993 = call ptr @__errno_location() #9
  store i32 %18992, ptr %18993, align 4, !tbaa !5
  %18994 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18995 = load i32, ptr @test_count, align 4, !tbaa !5
  %18996 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18997 = load i32, ptr %18996, align 4, !tbaa !5
  %18998 = call ptr @s2n_strerror(i32 noundef %18997, ptr noundef @.str.4)
  %18999 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19000 = load i32, ptr %18999, align 4, !tbaa !5
  %19001 = call ptr @s2n_strerror_debug(i32 noundef %19000, ptr noundef @.str.4)
  %19002 = call ptr @__errno_location() #9
  %19003 = load i32, ptr %19002, align 4, !tbaa !5
  %19004 = call ptr @strerror(i32 noundef %19003) #8
  %19005 = call ptr @__errno_location() #9
  %19006 = load i32, ptr %19005, align 4, !tbaa !5
  %19007 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18994, ptr noundef @.str.5, i32 noundef %18995, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 403, ptr noundef %18998, ptr noundef %19001, ptr noundef %19004, i32 noundef %19006) #8
  br label %19008

19008:                                            ; preds = %18991, %18974
  call void @llvm.lifetime.end.p0(i64 4, ptr %314) #8
  br label %19009

19009:                                            ; preds = %19008
  br label %19010

19010:                                            ; preds = %19009
  call void @exit(i32 noundef 1) #10
  unreachable

19011:                                            ; No predecessors!
  br label %19012

19012:                                            ; preds = %19011
  br label %19013

19013:                                            ; preds = %19012, %18953
  br label %19014

19014:                                            ; preds = %19013
  br label %19015

19015:                                            ; preds = %19014
  br label %19016

19016:                                            ; preds = %19015
  %19017 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %19017, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %19018 = call ptr @__errno_location() #9
  store i32 0, ptr %19018, align 4, !tbaa !5
  br label %19019

19019:                                            ; preds = %19016
  br label %19020

19020:                                            ; preds = %19019
  br label %19021

19021:                                            ; preds = %19020
  br label %19022

19022:                                            ; preds = %19021
  br label %19023

19023:                                            ; preds = %19022, %18825
  br label %19024

19024:                                            ; preds = %19023
  br label %19025

19025:                                            ; preds = %19024
  %19026 = load i32, ptr @test_count, align 4, !tbaa !5
  %19027 = add nsw i32 %19026, 1
  store i32 %19027, ptr @test_count, align 4, !tbaa !5
  %19028 = load ptr, ptr %239, align 8, !tbaa !9
  %19029 = call i32 @s2n_test_auth_combo(ptr noundef %19028, ptr noundef @s2n_dhe_rsa_with_3des_ede_cbc_sha, ptr noundef @s2n_rsa_pss_rsae_sha256, ptr noundef null)
  %19030 = icmp eq i32 %19029, -1
  br i1 %19030, label %19084, label %19031

19031:                                            ; preds = %19025
  br label %19032

19032:                                            ; preds = %19031
  br label %19033

19033:                                            ; preds = %19032
  call void @llvm.lifetime.start.p0(i64 4, ptr %315) #8
  %19034 = call ptr @__errno_location() #9
  %19035 = load i32, ptr %19034, align 4, !tbaa !5
  store i32 %19035, ptr %315, align 4, !tbaa !5
  %19036 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19037 = call i32 @s2n_print_stacktrace(ptr noundef %19036)
  %19038 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %19039 = trunc i8 %19038 to i1
  br i1 %19039, label %19040, label %19062

19040:                                            ; preds = %19033
  %19041 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19042 = call i32 @fileno(ptr noundef %19041) #8
  %19043 = call i32 @isatty(i32 noundef %19042) #8
  %19044 = icmp ne i32 %19043, 0
  br i1 %19044, label %19045, label %19062

19045:                                            ; preds = %19040
  %19046 = load i32, ptr %315, align 4, !tbaa !5
  %19047 = call ptr @__errno_location() #9
  store i32 %19046, ptr %19047, align 4, !tbaa !5
  %19048 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19049 = load i32, ptr @test_count, align 4, !tbaa !5
  %19050 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19051 = load i32, ptr %19050, align 4, !tbaa !5
  %19052 = call ptr @s2n_strerror(i32 noundef %19051, ptr noundef @.str.4)
  %19053 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19054 = load i32, ptr %19053, align 4, !tbaa !5
  %19055 = call ptr @s2n_strerror_debug(i32 noundef %19054, ptr noundef @.str.4)
  %19056 = call ptr @__errno_location() #9
  %19057 = load i32, ptr %19056, align 4, !tbaa !5
  %19058 = call ptr @strerror(i32 noundef %19057) #8
  %19059 = call ptr @__errno_location() #9
  %19060 = load i32, ptr %19059, align 4, !tbaa !5
  %19061 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19048, ptr noundef @.str.2, i32 noundef %19049, ptr noundef @.str.74, ptr noundef @.str.1, i32 noundef 404, ptr noundef %19052, ptr noundef %19055, ptr noundef %19058, i32 noundef %19060) #8
  br label %19079

19062:                                            ; preds = %19040, %19033
  %19063 = load i32, ptr %315, align 4, !tbaa !5
  %19064 = call ptr @__errno_location() #9
  store i32 %19063, ptr %19064, align 4, !tbaa !5
  %19065 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19066 = load i32, ptr @test_count, align 4, !tbaa !5
  %19067 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19068 = load i32, ptr %19067, align 4, !tbaa !5
  %19069 = call ptr @s2n_strerror(i32 noundef %19068, ptr noundef @.str.4)
  %19070 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19071 = load i32, ptr %19070, align 4, !tbaa !5
  %19072 = call ptr @s2n_strerror_debug(i32 noundef %19071, ptr noundef @.str.4)
  %19073 = call ptr @__errno_location() #9
  %19074 = load i32, ptr %19073, align 4, !tbaa !5
  %19075 = call ptr @strerror(i32 noundef %19074) #8
  %19076 = call ptr @__errno_location() #9
  %19077 = load i32, ptr %19076, align 4, !tbaa !5
  %19078 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19065, ptr noundef @.str.5, i32 noundef %19066, ptr noundef @.str.74, ptr noundef @.str.1, i32 noundef 404, ptr noundef %19069, ptr noundef %19072, ptr noundef %19075, i32 noundef %19077) #8
  br label %19079

19079:                                            ; preds = %19062, %19045
  call void @llvm.lifetime.end.p0(i64 4, ptr %315) #8
  br label %19080

19080:                                            ; preds = %19079
  br label %19081

19081:                                            ; preds = %19080
  call void @exit(i32 noundef 1) #10
  unreachable

19082:                                            ; No predecessors!
  br label %19083

19083:                                            ; preds = %19082
  br label %19084

19084:                                            ; preds = %19083, %19025
  br label %19085

19085:                                            ; preds = %19084
  br label %19086

19086:                                            ; preds = %19085
  br label %19087

19087:                                            ; preds = %19086
  %19088 = load i32, ptr @test_count, align 4, !tbaa !5
  %19089 = add nsw i32 %19088, 1
  store i32 %19089, ptr @test_count, align 4, !tbaa !5
  %19090 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19091 = load i32, ptr %19090, align 4, !tbaa !5
  %19092 = icmp eq i32 %19091, 0
  br i1 %19092, label %19093, label %19146

19093:                                            ; preds = %19087
  br label %19094

19094:                                            ; preds = %19093
  br label %19095

19095:                                            ; preds = %19094
  call void @llvm.lifetime.start.p0(i64 4, ptr %316) #8
  %19096 = call ptr @__errno_location() #9
  %19097 = load i32, ptr %19096, align 4, !tbaa !5
  store i32 %19097, ptr %316, align 4, !tbaa !5
  %19098 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19099 = call i32 @s2n_print_stacktrace(ptr noundef %19098)
  %19100 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %19101 = trunc i8 %19100 to i1
  br i1 %19101, label %19102, label %19124

19102:                                            ; preds = %19095
  %19103 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19104 = call i32 @fileno(ptr noundef %19103) #8
  %19105 = call i32 @isatty(i32 noundef %19104) #8
  %19106 = icmp ne i32 %19105, 0
  br i1 %19106, label %19107, label %19124

19107:                                            ; preds = %19102
  %19108 = load i32, ptr %316, align 4, !tbaa !5
  %19109 = call ptr @__errno_location() #9
  store i32 %19108, ptr %19109, align 4, !tbaa !5
  %19110 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19111 = load i32, ptr @test_count, align 4, !tbaa !5
  %19112 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19113 = load i32, ptr %19112, align 4, !tbaa !5
  %19114 = call ptr @s2n_strerror(i32 noundef %19113, ptr noundef @.str.4)
  %19115 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19116 = load i32, ptr %19115, align 4, !tbaa !5
  %19117 = call ptr @s2n_strerror_debug(i32 noundef %19116, ptr noundef @.str.4)
  %19118 = call ptr @__errno_location() #9
  %19119 = load i32, ptr %19118, align 4, !tbaa !5
  %19120 = call ptr @strerror(i32 noundef %19119) #8
  %19121 = call ptr @__errno_location() #9
  %19122 = load i32, ptr %19121, align 4, !tbaa !5
  %19123 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19110, ptr noundef @.str.2, i32 noundef %19111, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 404, ptr noundef %19114, ptr noundef %19117, ptr noundef %19120, i32 noundef %19122) #8
  br label %19141

19124:                                            ; preds = %19102, %19095
  %19125 = load i32, ptr %316, align 4, !tbaa !5
  %19126 = call ptr @__errno_location() #9
  store i32 %19125, ptr %19126, align 4, !tbaa !5
  %19127 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19128 = load i32, ptr @test_count, align 4, !tbaa !5
  %19129 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19130 = load i32, ptr %19129, align 4, !tbaa !5
  %19131 = call ptr @s2n_strerror(i32 noundef %19130, ptr noundef @.str.4)
  %19132 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19133 = load i32, ptr %19132, align 4, !tbaa !5
  %19134 = call ptr @s2n_strerror_debug(i32 noundef %19133, ptr noundef @.str.4)
  %19135 = call ptr @__errno_location() #9
  %19136 = load i32, ptr %19135, align 4, !tbaa !5
  %19137 = call ptr @strerror(i32 noundef %19136) #8
  %19138 = call ptr @__errno_location() #9
  %19139 = load i32, ptr %19138, align 4, !tbaa !5
  %19140 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19127, ptr noundef @.str.5, i32 noundef %19128, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 404, ptr noundef %19131, ptr noundef %19134, ptr noundef %19137, i32 noundef %19139) #8
  br label %19141

19141:                                            ; preds = %19124, %19107
  call void @llvm.lifetime.end.p0(i64 4, ptr %316) #8
  br label %19142

19142:                                            ; preds = %19141
  br label %19143

19143:                                            ; preds = %19142
  call void @exit(i32 noundef 1) #10
  unreachable

19144:                                            ; No predecessors!
  br label %19145

19145:                                            ; preds = %19144
  br label %19146

19146:                                            ; preds = %19145, %19087
  br label %19147

19147:                                            ; preds = %19146
  br label %19148

19148:                                            ; preds = %19147
  br label %19149

19149:                                            ; preds = %19148
  %19150 = load i32, ptr @test_count, align 4, !tbaa !5
  %19151 = add nsw i32 %19150, 1
  store i32 %19151, ptr @test_count, align 4, !tbaa !5
  %19152 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19153 = load i32, ptr %19152, align 4, !tbaa !5
  %19154 = call ptr @s2n_strerror_debug(i32 noundef %19153, ptr noundef @.str.4)
  %19155 = icmp eq ptr %19154, null
  br i1 %19155, label %19156, label %19209

19156:                                            ; preds = %19149
  br label %19157

19157:                                            ; preds = %19156
  br label %19158

19158:                                            ; preds = %19157
  call void @llvm.lifetime.start.p0(i64 4, ptr %317) #8
  %19159 = call ptr @__errno_location() #9
  %19160 = load i32, ptr %19159, align 4, !tbaa !5
  store i32 %19160, ptr %317, align 4, !tbaa !5
  %19161 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19162 = call i32 @s2n_print_stacktrace(ptr noundef %19161)
  %19163 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %19164 = trunc i8 %19163 to i1
  br i1 %19164, label %19165, label %19187

19165:                                            ; preds = %19158
  %19166 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19167 = call i32 @fileno(ptr noundef %19166) #8
  %19168 = call i32 @isatty(i32 noundef %19167) #8
  %19169 = icmp ne i32 %19168, 0
  br i1 %19169, label %19170, label %19187

19170:                                            ; preds = %19165
  %19171 = load i32, ptr %317, align 4, !tbaa !5
  %19172 = call ptr @__errno_location() #9
  store i32 %19171, ptr %19172, align 4, !tbaa !5
  %19173 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19174 = load i32, ptr @test_count, align 4, !tbaa !5
  %19175 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19176 = load i32, ptr %19175, align 4, !tbaa !5
  %19177 = call ptr @s2n_strerror(i32 noundef %19176, ptr noundef @.str.4)
  %19178 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19179 = load i32, ptr %19178, align 4, !tbaa !5
  %19180 = call ptr @s2n_strerror_debug(i32 noundef %19179, ptr noundef @.str.4)
  %19181 = call ptr @__errno_location() #9
  %19182 = load i32, ptr %19181, align 4, !tbaa !5
  %19183 = call ptr @strerror(i32 noundef %19182) #8
  %19184 = call ptr @__errno_location() #9
  %19185 = load i32, ptr %19184, align 4, !tbaa !5
  %19186 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19173, ptr noundef @.str.2, i32 noundef %19174, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 404, ptr noundef %19177, ptr noundef %19180, ptr noundef %19183, i32 noundef %19185) #8
  br label %19204

19187:                                            ; preds = %19165, %19158
  %19188 = load i32, ptr %317, align 4, !tbaa !5
  %19189 = call ptr @__errno_location() #9
  store i32 %19188, ptr %19189, align 4, !tbaa !5
  %19190 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19191 = load i32, ptr @test_count, align 4, !tbaa !5
  %19192 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19193 = load i32, ptr %19192, align 4, !tbaa !5
  %19194 = call ptr @s2n_strerror(i32 noundef %19193, ptr noundef @.str.4)
  %19195 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19196 = load i32, ptr %19195, align 4, !tbaa !5
  %19197 = call ptr @s2n_strerror_debug(i32 noundef %19196, ptr noundef @.str.4)
  %19198 = call ptr @__errno_location() #9
  %19199 = load i32, ptr %19198, align 4, !tbaa !5
  %19200 = call ptr @strerror(i32 noundef %19199) #8
  %19201 = call ptr @__errno_location() #9
  %19202 = load i32, ptr %19201, align 4, !tbaa !5
  %19203 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19190, ptr noundef @.str.5, i32 noundef %19191, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 404, ptr noundef %19194, ptr noundef %19197, ptr noundef %19200, i32 noundef %19202) #8
  br label %19204

19204:                                            ; preds = %19187, %19170
  call void @llvm.lifetime.end.p0(i64 4, ptr %317) #8
  br label %19205

19205:                                            ; preds = %19204
  br label %19206

19206:                                            ; preds = %19205
  call void @exit(i32 noundef 1) #10
  unreachable

19207:                                            ; No predecessors!
  br label %19208

19208:                                            ; preds = %19207
  br label %19209

19209:                                            ; preds = %19208, %19149
  br label %19210

19210:                                            ; preds = %19209
  br label %19211

19211:                                            ; preds = %19210
  br label %19212

19212:                                            ; preds = %19211
  %19213 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %19213, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %19214 = call ptr @__errno_location() #9
  store i32 0, ptr %19214, align 4, !tbaa !5
  br label %19215

19215:                                            ; preds = %19212
  br label %19216

19216:                                            ; preds = %19215
  br label %19217

19217:                                            ; preds = %19216
  br label %19218

19218:                                            ; preds = %19217
  br label %19219

19219:                                            ; preds = %19218
  br label %19220

19220:                                            ; preds = %19219
  %19221 = load i32, ptr @test_count, align 4, !tbaa !5
  %19222 = add nsw i32 %19221, 1
  store i32 %19222, ptr @test_count, align 4, !tbaa !5
  %19223 = load ptr, ptr %239, align 8, !tbaa !9
  %19224 = call i32 @s2n_test_auth_combo(ptr noundef %19223, ptr noundef @s2n_dhe_rsa_with_3des_ede_cbc_sha, ptr noundef @s2n_ecdsa_sha384, ptr noundef null)
  %19225 = icmp eq i32 %19224, -1
  br i1 %19225, label %19279, label %19226

19226:                                            ; preds = %19220
  br label %19227

19227:                                            ; preds = %19226
  br label %19228

19228:                                            ; preds = %19227
  call void @llvm.lifetime.start.p0(i64 4, ptr %318) #8
  %19229 = call ptr @__errno_location() #9
  %19230 = load i32, ptr %19229, align 4, !tbaa !5
  store i32 %19230, ptr %318, align 4, !tbaa !5
  %19231 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19232 = call i32 @s2n_print_stacktrace(ptr noundef %19231)
  %19233 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %19234 = trunc i8 %19233 to i1
  br i1 %19234, label %19235, label %19257

19235:                                            ; preds = %19228
  %19236 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19237 = call i32 @fileno(ptr noundef %19236) #8
  %19238 = call i32 @isatty(i32 noundef %19237) #8
  %19239 = icmp ne i32 %19238, 0
  br i1 %19239, label %19240, label %19257

19240:                                            ; preds = %19235
  %19241 = load i32, ptr %318, align 4, !tbaa !5
  %19242 = call ptr @__errno_location() #9
  store i32 %19241, ptr %19242, align 4, !tbaa !5
  %19243 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19244 = load i32, ptr @test_count, align 4, !tbaa !5
  %19245 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19246 = load i32, ptr %19245, align 4, !tbaa !5
  %19247 = call ptr @s2n_strerror(i32 noundef %19246, ptr noundef @.str.4)
  %19248 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19249 = load i32, ptr %19248, align 4, !tbaa !5
  %19250 = call ptr @s2n_strerror_debug(i32 noundef %19249, ptr noundef @.str.4)
  %19251 = call ptr @__errno_location() #9
  %19252 = load i32, ptr %19251, align 4, !tbaa !5
  %19253 = call ptr @strerror(i32 noundef %19252) #8
  %19254 = call ptr @__errno_location() #9
  %19255 = load i32, ptr %19254, align 4, !tbaa !5
  %19256 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19243, ptr noundef @.str.2, i32 noundef %19244, ptr noundef @.str.75, ptr noundef @.str.1, i32 noundef 405, ptr noundef %19247, ptr noundef %19250, ptr noundef %19253, i32 noundef %19255) #8
  br label %19274

19257:                                            ; preds = %19235, %19228
  %19258 = load i32, ptr %318, align 4, !tbaa !5
  %19259 = call ptr @__errno_location() #9
  store i32 %19258, ptr %19259, align 4, !tbaa !5
  %19260 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19261 = load i32, ptr @test_count, align 4, !tbaa !5
  %19262 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19263 = load i32, ptr %19262, align 4, !tbaa !5
  %19264 = call ptr @s2n_strerror(i32 noundef %19263, ptr noundef @.str.4)
  %19265 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19266 = load i32, ptr %19265, align 4, !tbaa !5
  %19267 = call ptr @s2n_strerror_debug(i32 noundef %19266, ptr noundef @.str.4)
  %19268 = call ptr @__errno_location() #9
  %19269 = load i32, ptr %19268, align 4, !tbaa !5
  %19270 = call ptr @strerror(i32 noundef %19269) #8
  %19271 = call ptr @__errno_location() #9
  %19272 = load i32, ptr %19271, align 4, !tbaa !5
  %19273 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19260, ptr noundef @.str.5, i32 noundef %19261, ptr noundef @.str.75, ptr noundef @.str.1, i32 noundef 405, ptr noundef %19264, ptr noundef %19267, ptr noundef %19270, i32 noundef %19272) #8
  br label %19274

19274:                                            ; preds = %19257, %19240
  call void @llvm.lifetime.end.p0(i64 4, ptr %318) #8
  br label %19275

19275:                                            ; preds = %19274
  br label %19276

19276:                                            ; preds = %19275
  call void @exit(i32 noundef 1) #10
  unreachable

19277:                                            ; No predecessors!
  br label %19278

19278:                                            ; preds = %19277
  br label %19279

19279:                                            ; preds = %19278, %19220
  br label %19280

19280:                                            ; preds = %19279
  br label %19281

19281:                                            ; preds = %19280
  br label %19282

19282:                                            ; preds = %19281
  %19283 = load i32, ptr @test_count, align 4, !tbaa !5
  %19284 = add nsw i32 %19283, 1
  store i32 %19284, ptr @test_count, align 4, !tbaa !5
  %19285 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19286 = load i32, ptr %19285, align 4, !tbaa !5
  %19287 = icmp eq i32 %19286, 0
  br i1 %19287, label %19288, label %19341

19288:                                            ; preds = %19282
  br label %19289

19289:                                            ; preds = %19288
  br label %19290

19290:                                            ; preds = %19289
  call void @llvm.lifetime.start.p0(i64 4, ptr %319) #8
  %19291 = call ptr @__errno_location() #9
  %19292 = load i32, ptr %19291, align 4, !tbaa !5
  store i32 %19292, ptr %319, align 4, !tbaa !5
  %19293 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19294 = call i32 @s2n_print_stacktrace(ptr noundef %19293)
  %19295 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %19296 = trunc i8 %19295 to i1
  br i1 %19296, label %19297, label %19319

19297:                                            ; preds = %19290
  %19298 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19299 = call i32 @fileno(ptr noundef %19298) #8
  %19300 = call i32 @isatty(i32 noundef %19299) #8
  %19301 = icmp ne i32 %19300, 0
  br i1 %19301, label %19302, label %19319

19302:                                            ; preds = %19297
  %19303 = load i32, ptr %319, align 4, !tbaa !5
  %19304 = call ptr @__errno_location() #9
  store i32 %19303, ptr %19304, align 4, !tbaa !5
  %19305 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19306 = load i32, ptr @test_count, align 4, !tbaa !5
  %19307 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19308 = load i32, ptr %19307, align 4, !tbaa !5
  %19309 = call ptr @s2n_strerror(i32 noundef %19308, ptr noundef @.str.4)
  %19310 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19311 = load i32, ptr %19310, align 4, !tbaa !5
  %19312 = call ptr @s2n_strerror_debug(i32 noundef %19311, ptr noundef @.str.4)
  %19313 = call ptr @__errno_location() #9
  %19314 = load i32, ptr %19313, align 4, !tbaa !5
  %19315 = call ptr @strerror(i32 noundef %19314) #8
  %19316 = call ptr @__errno_location() #9
  %19317 = load i32, ptr %19316, align 4, !tbaa !5
  %19318 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19305, ptr noundef @.str.2, i32 noundef %19306, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 405, ptr noundef %19309, ptr noundef %19312, ptr noundef %19315, i32 noundef %19317) #8
  br label %19336

19319:                                            ; preds = %19297, %19290
  %19320 = load i32, ptr %319, align 4, !tbaa !5
  %19321 = call ptr @__errno_location() #9
  store i32 %19320, ptr %19321, align 4, !tbaa !5
  %19322 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19323 = load i32, ptr @test_count, align 4, !tbaa !5
  %19324 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19325 = load i32, ptr %19324, align 4, !tbaa !5
  %19326 = call ptr @s2n_strerror(i32 noundef %19325, ptr noundef @.str.4)
  %19327 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19328 = load i32, ptr %19327, align 4, !tbaa !5
  %19329 = call ptr @s2n_strerror_debug(i32 noundef %19328, ptr noundef @.str.4)
  %19330 = call ptr @__errno_location() #9
  %19331 = load i32, ptr %19330, align 4, !tbaa !5
  %19332 = call ptr @strerror(i32 noundef %19331) #8
  %19333 = call ptr @__errno_location() #9
  %19334 = load i32, ptr %19333, align 4, !tbaa !5
  %19335 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19322, ptr noundef @.str.5, i32 noundef %19323, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 405, ptr noundef %19326, ptr noundef %19329, ptr noundef %19332, i32 noundef %19334) #8
  br label %19336

19336:                                            ; preds = %19319, %19302
  call void @llvm.lifetime.end.p0(i64 4, ptr %319) #8
  br label %19337

19337:                                            ; preds = %19336
  br label %19338

19338:                                            ; preds = %19337
  call void @exit(i32 noundef 1) #10
  unreachable

19339:                                            ; No predecessors!
  br label %19340

19340:                                            ; preds = %19339
  br label %19341

19341:                                            ; preds = %19340, %19282
  br label %19342

19342:                                            ; preds = %19341
  br label %19343

19343:                                            ; preds = %19342
  br label %19344

19344:                                            ; preds = %19343
  %19345 = load i32, ptr @test_count, align 4, !tbaa !5
  %19346 = add nsw i32 %19345, 1
  store i32 %19346, ptr @test_count, align 4, !tbaa !5
  %19347 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19348 = load i32, ptr %19347, align 4, !tbaa !5
  %19349 = call ptr @s2n_strerror_debug(i32 noundef %19348, ptr noundef @.str.4)
  %19350 = icmp eq ptr %19349, null
  br i1 %19350, label %19351, label %19404

19351:                                            ; preds = %19344
  br label %19352

19352:                                            ; preds = %19351
  br label %19353

19353:                                            ; preds = %19352
  call void @llvm.lifetime.start.p0(i64 4, ptr %320) #8
  %19354 = call ptr @__errno_location() #9
  %19355 = load i32, ptr %19354, align 4, !tbaa !5
  store i32 %19355, ptr %320, align 4, !tbaa !5
  %19356 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19357 = call i32 @s2n_print_stacktrace(ptr noundef %19356)
  %19358 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %19359 = trunc i8 %19358 to i1
  br i1 %19359, label %19360, label %19382

19360:                                            ; preds = %19353
  %19361 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19362 = call i32 @fileno(ptr noundef %19361) #8
  %19363 = call i32 @isatty(i32 noundef %19362) #8
  %19364 = icmp ne i32 %19363, 0
  br i1 %19364, label %19365, label %19382

19365:                                            ; preds = %19360
  %19366 = load i32, ptr %320, align 4, !tbaa !5
  %19367 = call ptr @__errno_location() #9
  store i32 %19366, ptr %19367, align 4, !tbaa !5
  %19368 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19369 = load i32, ptr @test_count, align 4, !tbaa !5
  %19370 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19371 = load i32, ptr %19370, align 4, !tbaa !5
  %19372 = call ptr @s2n_strerror(i32 noundef %19371, ptr noundef @.str.4)
  %19373 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19374 = load i32, ptr %19373, align 4, !tbaa !5
  %19375 = call ptr @s2n_strerror_debug(i32 noundef %19374, ptr noundef @.str.4)
  %19376 = call ptr @__errno_location() #9
  %19377 = load i32, ptr %19376, align 4, !tbaa !5
  %19378 = call ptr @strerror(i32 noundef %19377) #8
  %19379 = call ptr @__errno_location() #9
  %19380 = load i32, ptr %19379, align 4, !tbaa !5
  %19381 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19368, ptr noundef @.str.2, i32 noundef %19369, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 405, ptr noundef %19372, ptr noundef %19375, ptr noundef %19378, i32 noundef %19380) #8
  br label %19399

19382:                                            ; preds = %19360, %19353
  %19383 = load i32, ptr %320, align 4, !tbaa !5
  %19384 = call ptr @__errno_location() #9
  store i32 %19383, ptr %19384, align 4, !tbaa !5
  %19385 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19386 = load i32, ptr @test_count, align 4, !tbaa !5
  %19387 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19388 = load i32, ptr %19387, align 4, !tbaa !5
  %19389 = call ptr @s2n_strerror(i32 noundef %19388, ptr noundef @.str.4)
  %19390 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19391 = load i32, ptr %19390, align 4, !tbaa !5
  %19392 = call ptr @s2n_strerror_debug(i32 noundef %19391, ptr noundef @.str.4)
  %19393 = call ptr @__errno_location() #9
  %19394 = load i32, ptr %19393, align 4, !tbaa !5
  %19395 = call ptr @strerror(i32 noundef %19394) #8
  %19396 = call ptr @__errno_location() #9
  %19397 = load i32, ptr %19396, align 4, !tbaa !5
  %19398 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19385, ptr noundef @.str.5, i32 noundef %19386, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 405, ptr noundef %19389, ptr noundef %19392, ptr noundef %19395, i32 noundef %19397) #8
  br label %19399

19399:                                            ; preds = %19382, %19365
  call void @llvm.lifetime.end.p0(i64 4, ptr %320) #8
  br label %19400

19400:                                            ; preds = %19399
  br label %19401

19401:                                            ; preds = %19400
  call void @exit(i32 noundef 1) #10
  unreachable

19402:                                            ; No predecessors!
  br label %19403

19403:                                            ; preds = %19402
  br label %19404

19404:                                            ; preds = %19403, %19344
  br label %19405

19405:                                            ; preds = %19404
  br label %19406

19406:                                            ; preds = %19405
  br label %19407

19407:                                            ; preds = %19406
  %19408 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %19408, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %19409 = call ptr @__errno_location() #9
  store i32 0, ptr %19409, align 4, !tbaa !5
  br label %19410

19410:                                            ; preds = %19407
  br label %19411

19411:                                            ; preds = %19410
  br label %19412

19412:                                            ; preds = %19411
  br label %19413

19413:                                            ; preds = %19412
  br label %19414

19414:                                            ; preds = %19413
  br label %19415

19415:                                            ; preds = %19414
  %19416 = load i32, ptr @test_count, align 4, !tbaa !5
  %19417 = add nsw i32 %19416, 1
  store i32 %19417, ptr @test_count, align 4, !tbaa !5
  %19418 = load ptr, ptr %239, align 8, !tbaa !9
  %19419 = call i32 @s2n_test_auth_combo(ptr noundef %19418, ptr noundef @s2n_ecdhe_ecdsa_with_aes_128_cbc_sha, ptr noundef @s2n_rsa_pkcs1_md5_sha1, ptr noundef null)
  %19420 = icmp eq i32 %19419, -1
  br i1 %19420, label %19474, label %19421

19421:                                            ; preds = %19415
  br label %19422

19422:                                            ; preds = %19421
  br label %19423

19423:                                            ; preds = %19422
  call void @llvm.lifetime.start.p0(i64 4, ptr %321) #8
  %19424 = call ptr @__errno_location() #9
  %19425 = load i32, ptr %19424, align 4, !tbaa !5
  store i32 %19425, ptr %321, align 4, !tbaa !5
  %19426 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19427 = call i32 @s2n_print_stacktrace(ptr noundef %19426)
  %19428 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %19429 = trunc i8 %19428 to i1
  br i1 %19429, label %19430, label %19452

19430:                                            ; preds = %19423
  %19431 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19432 = call i32 @fileno(ptr noundef %19431) #8
  %19433 = call i32 @isatty(i32 noundef %19432) #8
  %19434 = icmp ne i32 %19433, 0
  br i1 %19434, label %19435, label %19452

19435:                                            ; preds = %19430
  %19436 = load i32, ptr %321, align 4, !tbaa !5
  %19437 = call ptr @__errno_location() #9
  store i32 %19436, ptr %19437, align 4, !tbaa !5
  %19438 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19439 = load i32, ptr @test_count, align 4, !tbaa !5
  %19440 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19441 = load i32, ptr %19440, align 4, !tbaa !5
  %19442 = call ptr @s2n_strerror(i32 noundef %19441, ptr noundef @.str.4)
  %19443 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19444 = load i32, ptr %19443, align 4, !tbaa !5
  %19445 = call ptr @s2n_strerror_debug(i32 noundef %19444, ptr noundef @.str.4)
  %19446 = call ptr @__errno_location() #9
  %19447 = load i32, ptr %19446, align 4, !tbaa !5
  %19448 = call ptr @strerror(i32 noundef %19447) #8
  %19449 = call ptr @__errno_location() #9
  %19450 = load i32, ptr %19449, align 4, !tbaa !5
  %19451 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19438, ptr noundef @.str.2, i32 noundef %19439, ptr noundef @.str.76, ptr noundef @.str.1, i32 noundef 407, ptr noundef %19442, ptr noundef %19445, ptr noundef %19448, i32 noundef %19450) #8
  br label %19469

19452:                                            ; preds = %19430, %19423
  %19453 = load i32, ptr %321, align 4, !tbaa !5
  %19454 = call ptr @__errno_location() #9
  store i32 %19453, ptr %19454, align 4, !tbaa !5
  %19455 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19456 = load i32, ptr @test_count, align 4, !tbaa !5
  %19457 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19458 = load i32, ptr %19457, align 4, !tbaa !5
  %19459 = call ptr @s2n_strerror(i32 noundef %19458, ptr noundef @.str.4)
  %19460 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19461 = load i32, ptr %19460, align 4, !tbaa !5
  %19462 = call ptr @s2n_strerror_debug(i32 noundef %19461, ptr noundef @.str.4)
  %19463 = call ptr @__errno_location() #9
  %19464 = load i32, ptr %19463, align 4, !tbaa !5
  %19465 = call ptr @strerror(i32 noundef %19464) #8
  %19466 = call ptr @__errno_location() #9
  %19467 = load i32, ptr %19466, align 4, !tbaa !5
  %19468 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19455, ptr noundef @.str.5, i32 noundef %19456, ptr noundef @.str.76, ptr noundef @.str.1, i32 noundef 407, ptr noundef %19459, ptr noundef %19462, ptr noundef %19465, i32 noundef %19467) #8
  br label %19469

19469:                                            ; preds = %19452, %19435
  call void @llvm.lifetime.end.p0(i64 4, ptr %321) #8
  br label %19470

19470:                                            ; preds = %19469
  br label %19471

19471:                                            ; preds = %19470
  call void @exit(i32 noundef 1) #10
  unreachable

19472:                                            ; No predecessors!
  br label %19473

19473:                                            ; preds = %19472
  br label %19474

19474:                                            ; preds = %19473, %19415
  br label %19475

19475:                                            ; preds = %19474
  br label %19476

19476:                                            ; preds = %19475
  br label %19477

19477:                                            ; preds = %19476
  %19478 = load i32, ptr @test_count, align 4, !tbaa !5
  %19479 = add nsw i32 %19478, 1
  store i32 %19479, ptr @test_count, align 4, !tbaa !5
  %19480 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19481 = load i32, ptr %19480, align 4, !tbaa !5
  %19482 = icmp eq i32 %19481, 0
  br i1 %19482, label %19483, label %19536

19483:                                            ; preds = %19477
  br label %19484

19484:                                            ; preds = %19483
  br label %19485

19485:                                            ; preds = %19484
  call void @llvm.lifetime.start.p0(i64 4, ptr %322) #8
  %19486 = call ptr @__errno_location() #9
  %19487 = load i32, ptr %19486, align 4, !tbaa !5
  store i32 %19487, ptr %322, align 4, !tbaa !5
  %19488 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19489 = call i32 @s2n_print_stacktrace(ptr noundef %19488)
  %19490 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %19491 = trunc i8 %19490 to i1
  br i1 %19491, label %19492, label %19514

19492:                                            ; preds = %19485
  %19493 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19494 = call i32 @fileno(ptr noundef %19493) #8
  %19495 = call i32 @isatty(i32 noundef %19494) #8
  %19496 = icmp ne i32 %19495, 0
  br i1 %19496, label %19497, label %19514

19497:                                            ; preds = %19492
  %19498 = load i32, ptr %322, align 4, !tbaa !5
  %19499 = call ptr @__errno_location() #9
  store i32 %19498, ptr %19499, align 4, !tbaa !5
  %19500 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19501 = load i32, ptr @test_count, align 4, !tbaa !5
  %19502 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19503 = load i32, ptr %19502, align 4, !tbaa !5
  %19504 = call ptr @s2n_strerror(i32 noundef %19503, ptr noundef @.str.4)
  %19505 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19506 = load i32, ptr %19505, align 4, !tbaa !5
  %19507 = call ptr @s2n_strerror_debug(i32 noundef %19506, ptr noundef @.str.4)
  %19508 = call ptr @__errno_location() #9
  %19509 = load i32, ptr %19508, align 4, !tbaa !5
  %19510 = call ptr @strerror(i32 noundef %19509) #8
  %19511 = call ptr @__errno_location() #9
  %19512 = load i32, ptr %19511, align 4, !tbaa !5
  %19513 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19500, ptr noundef @.str.2, i32 noundef %19501, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 407, ptr noundef %19504, ptr noundef %19507, ptr noundef %19510, i32 noundef %19512) #8
  br label %19531

19514:                                            ; preds = %19492, %19485
  %19515 = load i32, ptr %322, align 4, !tbaa !5
  %19516 = call ptr @__errno_location() #9
  store i32 %19515, ptr %19516, align 4, !tbaa !5
  %19517 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19518 = load i32, ptr @test_count, align 4, !tbaa !5
  %19519 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19520 = load i32, ptr %19519, align 4, !tbaa !5
  %19521 = call ptr @s2n_strerror(i32 noundef %19520, ptr noundef @.str.4)
  %19522 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19523 = load i32, ptr %19522, align 4, !tbaa !5
  %19524 = call ptr @s2n_strerror_debug(i32 noundef %19523, ptr noundef @.str.4)
  %19525 = call ptr @__errno_location() #9
  %19526 = load i32, ptr %19525, align 4, !tbaa !5
  %19527 = call ptr @strerror(i32 noundef %19526) #8
  %19528 = call ptr @__errno_location() #9
  %19529 = load i32, ptr %19528, align 4, !tbaa !5
  %19530 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19517, ptr noundef @.str.5, i32 noundef %19518, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 407, ptr noundef %19521, ptr noundef %19524, ptr noundef %19527, i32 noundef %19529) #8
  br label %19531

19531:                                            ; preds = %19514, %19497
  call void @llvm.lifetime.end.p0(i64 4, ptr %322) #8
  br label %19532

19532:                                            ; preds = %19531
  br label %19533

19533:                                            ; preds = %19532
  call void @exit(i32 noundef 1) #10
  unreachable

19534:                                            ; No predecessors!
  br label %19535

19535:                                            ; preds = %19534
  br label %19536

19536:                                            ; preds = %19535, %19477
  br label %19537

19537:                                            ; preds = %19536
  br label %19538

19538:                                            ; preds = %19537
  br label %19539

19539:                                            ; preds = %19538
  %19540 = load i32, ptr @test_count, align 4, !tbaa !5
  %19541 = add nsw i32 %19540, 1
  store i32 %19541, ptr @test_count, align 4, !tbaa !5
  %19542 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19543 = load i32, ptr %19542, align 4, !tbaa !5
  %19544 = call ptr @s2n_strerror_debug(i32 noundef %19543, ptr noundef @.str.4)
  %19545 = icmp eq ptr %19544, null
  br i1 %19545, label %19546, label %19599

19546:                                            ; preds = %19539
  br label %19547

19547:                                            ; preds = %19546
  br label %19548

19548:                                            ; preds = %19547
  call void @llvm.lifetime.start.p0(i64 4, ptr %323) #8
  %19549 = call ptr @__errno_location() #9
  %19550 = load i32, ptr %19549, align 4, !tbaa !5
  store i32 %19550, ptr %323, align 4, !tbaa !5
  %19551 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19552 = call i32 @s2n_print_stacktrace(ptr noundef %19551)
  %19553 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %19554 = trunc i8 %19553 to i1
  br i1 %19554, label %19555, label %19577

19555:                                            ; preds = %19548
  %19556 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19557 = call i32 @fileno(ptr noundef %19556) #8
  %19558 = call i32 @isatty(i32 noundef %19557) #8
  %19559 = icmp ne i32 %19558, 0
  br i1 %19559, label %19560, label %19577

19560:                                            ; preds = %19555
  %19561 = load i32, ptr %323, align 4, !tbaa !5
  %19562 = call ptr @__errno_location() #9
  store i32 %19561, ptr %19562, align 4, !tbaa !5
  %19563 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19564 = load i32, ptr @test_count, align 4, !tbaa !5
  %19565 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19566 = load i32, ptr %19565, align 4, !tbaa !5
  %19567 = call ptr @s2n_strerror(i32 noundef %19566, ptr noundef @.str.4)
  %19568 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19569 = load i32, ptr %19568, align 4, !tbaa !5
  %19570 = call ptr @s2n_strerror_debug(i32 noundef %19569, ptr noundef @.str.4)
  %19571 = call ptr @__errno_location() #9
  %19572 = load i32, ptr %19571, align 4, !tbaa !5
  %19573 = call ptr @strerror(i32 noundef %19572) #8
  %19574 = call ptr @__errno_location() #9
  %19575 = load i32, ptr %19574, align 4, !tbaa !5
  %19576 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19563, ptr noundef @.str.2, i32 noundef %19564, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 407, ptr noundef %19567, ptr noundef %19570, ptr noundef %19573, i32 noundef %19575) #8
  br label %19594

19577:                                            ; preds = %19555, %19548
  %19578 = load i32, ptr %323, align 4, !tbaa !5
  %19579 = call ptr @__errno_location() #9
  store i32 %19578, ptr %19579, align 4, !tbaa !5
  %19580 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19581 = load i32, ptr @test_count, align 4, !tbaa !5
  %19582 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19583 = load i32, ptr %19582, align 4, !tbaa !5
  %19584 = call ptr @s2n_strerror(i32 noundef %19583, ptr noundef @.str.4)
  %19585 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19586 = load i32, ptr %19585, align 4, !tbaa !5
  %19587 = call ptr @s2n_strerror_debug(i32 noundef %19586, ptr noundef @.str.4)
  %19588 = call ptr @__errno_location() #9
  %19589 = load i32, ptr %19588, align 4, !tbaa !5
  %19590 = call ptr @strerror(i32 noundef %19589) #8
  %19591 = call ptr @__errno_location() #9
  %19592 = load i32, ptr %19591, align 4, !tbaa !5
  %19593 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19580, ptr noundef @.str.5, i32 noundef %19581, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 407, ptr noundef %19584, ptr noundef %19587, ptr noundef %19590, i32 noundef %19592) #8
  br label %19594

19594:                                            ; preds = %19577, %19560
  call void @llvm.lifetime.end.p0(i64 4, ptr %323) #8
  br label %19595

19595:                                            ; preds = %19594
  br label %19596

19596:                                            ; preds = %19595
  call void @exit(i32 noundef 1) #10
  unreachable

19597:                                            ; No predecessors!
  br label %19598

19598:                                            ; preds = %19597
  br label %19599

19599:                                            ; preds = %19598, %19539
  br label %19600

19600:                                            ; preds = %19599
  br label %19601

19601:                                            ; preds = %19600
  br label %19602

19602:                                            ; preds = %19601
  %19603 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %19603, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %19604 = call ptr @__errno_location() #9
  store i32 0, ptr %19604, align 4, !tbaa !5
  br label %19605

19605:                                            ; preds = %19602
  br label %19606

19606:                                            ; preds = %19605
  br label %19607

19607:                                            ; preds = %19606
  br label %19608

19608:                                            ; preds = %19607
  br label %19609

19609:                                            ; preds = %19608
  br label %19610

19610:                                            ; preds = %19609
  %19611 = load i32, ptr @test_count, align 4, !tbaa !5
  %19612 = add nsw i32 %19611, 1
  store i32 %19612, ptr @test_count, align 4, !tbaa !5
  %19613 = load ptr, ptr %239, align 8, !tbaa !9
  %19614 = call i32 @s2n_test_auth_combo(ptr noundef %19613, ptr noundef @s2n_ecdhe_ecdsa_with_aes_128_cbc_sha, ptr noundef @s2n_rsa_pss_pss_sha256, ptr noundef null)
  %19615 = icmp eq i32 %19614, -1
  br i1 %19615, label %19669, label %19616

19616:                                            ; preds = %19610
  br label %19617

19617:                                            ; preds = %19616
  br label %19618

19618:                                            ; preds = %19617
  call void @llvm.lifetime.start.p0(i64 4, ptr %324) #8
  %19619 = call ptr @__errno_location() #9
  %19620 = load i32, ptr %19619, align 4, !tbaa !5
  store i32 %19620, ptr %324, align 4, !tbaa !5
  %19621 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19622 = call i32 @s2n_print_stacktrace(ptr noundef %19621)
  %19623 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %19624 = trunc i8 %19623 to i1
  br i1 %19624, label %19625, label %19647

19625:                                            ; preds = %19618
  %19626 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19627 = call i32 @fileno(ptr noundef %19626) #8
  %19628 = call i32 @isatty(i32 noundef %19627) #8
  %19629 = icmp ne i32 %19628, 0
  br i1 %19629, label %19630, label %19647

19630:                                            ; preds = %19625
  %19631 = load i32, ptr %324, align 4, !tbaa !5
  %19632 = call ptr @__errno_location() #9
  store i32 %19631, ptr %19632, align 4, !tbaa !5
  %19633 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19634 = load i32, ptr @test_count, align 4, !tbaa !5
  %19635 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19636 = load i32, ptr %19635, align 4, !tbaa !5
  %19637 = call ptr @s2n_strerror(i32 noundef %19636, ptr noundef @.str.4)
  %19638 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19639 = load i32, ptr %19638, align 4, !tbaa !5
  %19640 = call ptr @s2n_strerror_debug(i32 noundef %19639, ptr noundef @.str.4)
  %19641 = call ptr @__errno_location() #9
  %19642 = load i32, ptr %19641, align 4, !tbaa !5
  %19643 = call ptr @strerror(i32 noundef %19642) #8
  %19644 = call ptr @__errno_location() #9
  %19645 = load i32, ptr %19644, align 4, !tbaa !5
  %19646 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19633, ptr noundef @.str.2, i32 noundef %19634, ptr noundef @.str.77, ptr noundef @.str.1, i32 noundef 408, ptr noundef %19637, ptr noundef %19640, ptr noundef %19643, i32 noundef %19645) #8
  br label %19664

19647:                                            ; preds = %19625, %19618
  %19648 = load i32, ptr %324, align 4, !tbaa !5
  %19649 = call ptr @__errno_location() #9
  store i32 %19648, ptr %19649, align 4, !tbaa !5
  %19650 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19651 = load i32, ptr @test_count, align 4, !tbaa !5
  %19652 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19653 = load i32, ptr %19652, align 4, !tbaa !5
  %19654 = call ptr @s2n_strerror(i32 noundef %19653, ptr noundef @.str.4)
  %19655 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19656 = load i32, ptr %19655, align 4, !tbaa !5
  %19657 = call ptr @s2n_strerror_debug(i32 noundef %19656, ptr noundef @.str.4)
  %19658 = call ptr @__errno_location() #9
  %19659 = load i32, ptr %19658, align 4, !tbaa !5
  %19660 = call ptr @strerror(i32 noundef %19659) #8
  %19661 = call ptr @__errno_location() #9
  %19662 = load i32, ptr %19661, align 4, !tbaa !5
  %19663 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19650, ptr noundef @.str.5, i32 noundef %19651, ptr noundef @.str.77, ptr noundef @.str.1, i32 noundef 408, ptr noundef %19654, ptr noundef %19657, ptr noundef %19660, i32 noundef %19662) #8
  br label %19664

19664:                                            ; preds = %19647, %19630
  call void @llvm.lifetime.end.p0(i64 4, ptr %324) #8
  br label %19665

19665:                                            ; preds = %19664
  br label %19666

19666:                                            ; preds = %19665
  call void @exit(i32 noundef 1) #10
  unreachable

19667:                                            ; No predecessors!
  br label %19668

19668:                                            ; preds = %19667
  br label %19669

19669:                                            ; preds = %19668, %19610
  br label %19670

19670:                                            ; preds = %19669
  br label %19671

19671:                                            ; preds = %19670
  br label %19672

19672:                                            ; preds = %19671
  %19673 = load i32, ptr @test_count, align 4, !tbaa !5
  %19674 = add nsw i32 %19673, 1
  store i32 %19674, ptr @test_count, align 4, !tbaa !5
  %19675 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19676 = load i32, ptr %19675, align 4, !tbaa !5
  %19677 = icmp eq i32 %19676, 0
  br i1 %19677, label %19678, label %19731

19678:                                            ; preds = %19672
  br label %19679

19679:                                            ; preds = %19678
  br label %19680

19680:                                            ; preds = %19679
  call void @llvm.lifetime.start.p0(i64 4, ptr %325) #8
  %19681 = call ptr @__errno_location() #9
  %19682 = load i32, ptr %19681, align 4, !tbaa !5
  store i32 %19682, ptr %325, align 4, !tbaa !5
  %19683 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19684 = call i32 @s2n_print_stacktrace(ptr noundef %19683)
  %19685 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %19686 = trunc i8 %19685 to i1
  br i1 %19686, label %19687, label %19709

19687:                                            ; preds = %19680
  %19688 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19689 = call i32 @fileno(ptr noundef %19688) #8
  %19690 = call i32 @isatty(i32 noundef %19689) #8
  %19691 = icmp ne i32 %19690, 0
  br i1 %19691, label %19692, label %19709

19692:                                            ; preds = %19687
  %19693 = load i32, ptr %325, align 4, !tbaa !5
  %19694 = call ptr @__errno_location() #9
  store i32 %19693, ptr %19694, align 4, !tbaa !5
  %19695 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19696 = load i32, ptr @test_count, align 4, !tbaa !5
  %19697 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19698 = load i32, ptr %19697, align 4, !tbaa !5
  %19699 = call ptr @s2n_strerror(i32 noundef %19698, ptr noundef @.str.4)
  %19700 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19701 = load i32, ptr %19700, align 4, !tbaa !5
  %19702 = call ptr @s2n_strerror_debug(i32 noundef %19701, ptr noundef @.str.4)
  %19703 = call ptr @__errno_location() #9
  %19704 = load i32, ptr %19703, align 4, !tbaa !5
  %19705 = call ptr @strerror(i32 noundef %19704) #8
  %19706 = call ptr @__errno_location() #9
  %19707 = load i32, ptr %19706, align 4, !tbaa !5
  %19708 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19695, ptr noundef @.str.2, i32 noundef %19696, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 408, ptr noundef %19699, ptr noundef %19702, ptr noundef %19705, i32 noundef %19707) #8
  br label %19726

19709:                                            ; preds = %19687, %19680
  %19710 = load i32, ptr %325, align 4, !tbaa !5
  %19711 = call ptr @__errno_location() #9
  store i32 %19710, ptr %19711, align 4, !tbaa !5
  %19712 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19713 = load i32, ptr @test_count, align 4, !tbaa !5
  %19714 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19715 = load i32, ptr %19714, align 4, !tbaa !5
  %19716 = call ptr @s2n_strerror(i32 noundef %19715, ptr noundef @.str.4)
  %19717 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19718 = load i32, ptr %19717, align 4, !tbaa !5
  %19719 = call ptr @s2n_strerror_debug(i32 noundef %19718, ptr noundef @.str.4)
  %19720 = call ptr @__errno_location() #9
  %19721 = load i32, ptr %19720, align 4, !tbaa !5
  %19722 = call ptr @strerror(i32 noundef %19721) #8
  %19723 = call ptr @__errno_location() #9
  %19724 = load i32, ptr %19723, align 4, !tbaa !5
  %19725 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19712, ptr noundef @.str.5, i32 noundef %19713, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 408, ptr noundef %19716, ptr noundef %19719, ptr noundef %19722, i32 noundef %19724) #8
  br label %19726

19726:                                            ; preds = %19709, %19692
  call void @llvm.lifetime.end.p0(i64 4, ptr %325) #8
  br label %19727

19727:                                            ; preds = %19726
  br label %19728

19728:                                            ; preds = %19727
  call void @exit(i32 noundef 1) #10
  unreachable

19729:                                            ; No predecessors!
  br label %19730

19730:                                            ; preds = %19729
  br label %19731

19731:                                            ; preds = %19730, %19672
  br label %19732

19732:                                            ; preds = %19731
  br label %19733

19733:                                            ; preds = %19732
  br label %19734

19734:                                            ; preds = %19733
  %19735 = load i32, ptr @test_count, align 4, !tbaa !5
  %19736 = add nsw i32 %19735, 1
  store i32 %19736, ptr @test_count, align 4, !tbaa !5
  %19737 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19738 = load i32, ptr %19737, align 4, !tbaa !5
  %19739 = call ptr @s2n_strerror_debug(i32 noundef %19738, ptr noundef @.str.4)
  %19740 = icmp eq ptr %19739, null
  br i1 %19740, label %19741, label %19794

19741:                                            ; preds = %19734
  br label %19742

19742:                                            ; preds = %19741
  br label %19743

19743:                                            ; preds = %19742
  call void @llvm.lifetime.start.p0(i64 4, ptr %326) #8
  %19744 = call ptr @__errno_location() #9
  %19745 = load i32, ptr %19744, align 4, !tbaa !5
  store i32 %19745, ptr %326, align 4, !tbaa !5
  %19746 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19747 = call i32 @s2n_print_stacktrace(ptr noundef %19746)
  %19748 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %19749 = trunc i8 %19748 to i1
  br i1 %19749, label %19750, label %19772

19750:                                            ; preds = %19743
  %19751 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19752 = call i32 @fileno(ptr noundef %19751) #8
  %19753 = call i32 @isatty(i32 noundef %19752) #8
  %19754 = icmp ne i32 %19753, 0
  br i1 %19754, label %19755, label %19772

19755:                                            ; preds = %19750
  %19756 = load i32, ptr %326, align 4, !tbaa !5
  %19757 = call ptr @__errno_location() #9
  store i32 %19756, ptr %19757, align 4, !tbaa !5
  %19758 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19759 = load i32, ptr @test_count, align 4, !tbaa !5
  %19760 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19761 = load i32, ptr %19760, align 4, !tbaa !5
  %19762 = call ptr @s2n_strerror(i32 noundef %19761, ptr noundef @.str.4)
  %19763 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19764 = load i32, ptr %19763, align 4, !tbaa !5
  %19765 = call ptr @s2n_strerror_debug(i32 noundef %19764, ptr noundef @.str.4)
  %19766 = call ptr @__errno_location() #9
  %19767 = load i32, ptr %19766, align 4, !tbaa !5
  %19768 = call ptr @strerror(i32 noundef %19767) #8
  %19769 = call ptr @__errno_location() #9
  %19770 = load i32, ptr %19769, align 4, !tbaa !5
  %19771 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19758, ptr noundef @.str.2, i32 noundef %19759, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 408, ptr noundef %19762, ptr noundef %19765, ptr noundef %19768, i32 noundef %19770) #8
  br label %19789

19772:                                            ; preds = %19750, %19743
  %19773 = load i32, ptr %326, align 4, !tbaa !5
  %19774 = call ptr @__errno_location() #9
  store i32 %19773, ptr %19774, align 4, !tbaa !5
  %19775 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19776 = load i32, ptr @test_count, align 4, !tbaa !5
  %19777 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19778 = load i32, ptr %19777, align 4, !tbaa !5
  %19779 = call ptr @s2n_strerror(i32 noundef %19778, ptr noundef @.str.4)
  %19780 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19781 = load i32, ptr %19780, align 4, !tbaa !5
  %19782 = call ptr @s2n_strerror_debug(i32 noundef %19781, ptr noundef @.str.4)
  %19783 = call ptr @__errno_location() #9
  %19784 = load i32, ptr %19783, align 4, !tbaa !5
  %19785 = call ptr @strerror(i32 noundef %19784) #8
  %19786 = call ptr @__errno_location() #9
  %19787 = load i32, ptr %19786, align 4, !tbaa !5
  %19788 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19775, ptr noundef @.str.5, i32 noundef %19776, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 408, ptr noundef %19779, ptr noundef %19782, ptr noundef %19785, i32 noundef %19787) #8
  br label %19789

19789:                                            ; preds = %19772, %19755
  call void @llvm.lifetime.end.p0(i64 4, ptr %326) #8
  br label %19790

19790:                                            ; preds = %19789
  br label %19791

19791:                                            ; preds = %19790
  call void @exit(i32 noundef 1) #10
  unreachable

19792:                                            ; No predecessors!
  br label %19793

19793:                                            ; preds = %19792
  br label %19794

19794:                                            ; preds = %19793, %19734
  br label %19795

19795:                                            ; preds = %19794
  br label %19796

19796:                                            ; preds = %19795
  br label %19797

19797:                                            ; preds = %19796
  %19798 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %19798, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %19799 = call ptr @__errno_location() #9
  store i32 0, ptr %19799, align 4, !tbaa !5
  br label %19800

19800:                                            ; preds = %19797
  br label %19801

19801:                                            ; preds = %19800
  br label %19802

19802:                                            ; preds = %19801
  br label %19803

19803:                                            ; preds = %19802
  br label %19804

19804:                                            ; preds = %19803
  br label %19805

19805:                                            ; preds = %19804
  %19806 = load i32, ptr @test_count, align 4, !tbaa !5
  %19807 = add nsw i32 %19806, 1
  store i32 %19807, ptr @test_count, align 4, !tbaa !5
  %19808 = load ptr, ptr %239, align 8, !tbaa !9
  %19809 = call i32 @s2n_test_auth_combo(ptr noundef %19808, ptr noundef @s2n_ecdhe_ecdsa_with_aes_128_cbc_sha, ptr noundef @s2n_rsa_pss_rsae_sha256, ptr noundef null)
  %19810 = icmp eq i32 %19809, -1
  br i1 %19810, label %19864, label %19811

19811:                                            ; preds = %19805
  br label %19812

19812:                                            ; preds = %19811
  br label %19813

19813:                                            ; preds = %19812
  call void @llvm.lifetime.start.p0(i64 4, ptr %327) #8
  %19814 = call ptr @__errno_location() #9
  %19815 = load i32, ptr %19814, align 4, !tbaa !5
  store i32 %19815, ptr %327, align 4, !tbaa !5
  %19816 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19817 = call i32 @s2n_print_stacktrace(ptr noundef %19816)
  %19818 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %19819 = trunc i8 %19818 to i1
  br i1 %19819, label %19820, label %19842

19820:                                            ; preds = %19813
  %19821 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19822 = call i32 @fileno(ptr noundef %19821) #8
  %19823 = call i32 @isatty(i32 noundef %19822) #8
  %19824 = icmp ne i32 %19823, 0
  br i1 %19824, label %19825, label %19842

19825:                                            ; preds = %19820
  %19826 = load i32, ptr %327, align 4, !tbaa !5
  %19827 = call ptr @__errno_location() #9
  store i32 %19826, ptr %19827, align 4, !tbaa !5
  %19828 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19829 = load i32, ptr @test_count, align 4, !tbaa !5
  %19830 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19831 = load i32, ptr %19830, align 4, !tbaa !5
  %19832 = call ptr @s2n_strerror(i32 noundef %19831, ptr noundef @.str.4)
  %19833 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19834 = load i32, ptr %19833, align 4, !tbaa !5
  %19835 = call ptr @s2n_strerror_debug(i32 noundef %19834, ptr noundef @.str.4)
  %19836 = call ptr @__errno_location() #9
  %19837 = load i32, ptr %19836, align 4, !tbaa !5
  %19838 = call ptr @strerror(i32 noundef %19837) #8
  %19839 = call ptr @__errno_location() #9
  %19840 = load i32, ptr %19839, align 4, !tbaa !5
  %19841 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19828, ptr noundef @.str.2, i32 noundef %19829, ptr noundef @.str.78, ptr noundef @.str.1, i32 noundef 409, ptr noundef %19832, ptr noundef %19835, ptr noundef %19838, i32 noundef %19840) #8
  br label %19859

19842:                                            ; preds = %19820, %19813
  %19843 = load i32, ptr %327, align 4, !tbaa !5
  %19844 = call ptr @__errno_location() #9
  store i32 %19843, ptr %19844, align 4, !tbaa !5
  %19845 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19846 = load i32, ptr @test_count, align 4, !tbaa !5
  %19847 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19848 = load i32, ptr %19847, align 4, !tbaa !5
  %19849 = call ptr @s2n_strerror(i32 noundef %19848, ptr noundef @.str.4)
  %19850 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19851 = load i32, ptr %19850, align 4, !tbaa !5
  %19852 = call ptr @s2n_strerror_debug(i32 noundef %19851, ptr noundef @.str.4)
  %19853 = call ptr @__errno_location() #9
  %19854 = load i32, ptr %19853, align 4, !tbaa !5
  %19855 = call ptr @strerror(i32 noundef %19854) #8
  %19856 = call ptr @__errno_location() #9
  %19857 = load i32, ptr %19856, align 4, !tbaa !5
  %19858 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19845, ptr noundef @.str.5, i32 noundef %19846, ptr noundef @.str.78, ptr noundef @.str.1, i32 noundef 409, ptr noundef %19849, ptr noundef %19852, ptr noundef %19855, i32 noundef %19857) #8
  br label %19859

19859:                                            ; preds = %19842, %19825
  call void @llvm.lifetime.end.p0(i64 4, ptr %327) #8
  br label %19860

19860:                                            ; preds = %19859
  br label %19861

19861:                                            ; preds = %19860
  call void @exit(i32 noundef 1) #10
  unreachable

19862:                                            ; No predecessors!
  br label %19863

19863:                                            ; preds = %19862
  br label %19864

19864:                                            ; preds = %19863, %19805
  br label %19865

19865:                                            ; preds = %19864
  br label %19866

19866:                                            ; preds = %19865
  br label %19867

19867:                                            ; preds = %19866
  %19868 = load i32, ptr @test_count, align 4, !tbaa !5
  %19869 = add nsw i32 %19868, 1
  store i32 %19869, ptr @test_count, align 4, !tbaa !5
  %19870 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19871 = load i32, ptr %19870, align 4, !tbaa !5
  %19872 = icmp eq i32 %19871, 0
  br i1 %19872, label %19873, label %19926

19873:                                            ; preds = %19867
  br label %19874

19874:                                            ; preds = %19873
  br label %19875

19875:                                            ; preds = %19874
  call void @llvm.lifetime.start.p0(i64 4, ptr %328) #8
  %19876 = call ptr @__errno_location() #9
  %19877 = load i32, ptr %19876, align 4, !tbaa !5
  store i32 %19877, ptr %328, align 4, !tbaa !5
  %19878 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19879 = call i32 @s2n_print_stacktrace(ptr noundef %19878)
  %19880 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %19881 = trunc i8 %19880 to i1
  br i1 %19881, label %19882, label %19904

19882:                                            ; preds = %19875
  %19883 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19884 = call i32 @fileno(ptr noundef %19883) #8
  %19885 = call i32 @isatty(i32 noundef %19884) #8
  %19886 = icmp ne i32 %19885, 0
  br i1 %19886, label %19887, label %19904

19887:                                            ; preds = %19882
  %19888 = load i32, ptr %328, align 4, !tbaa !5
  %19889 = call ptr @__errno_location() #9
  store i32 %19888, ptr %19889, align 4, !tbaa !5
  %19890 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19891 = load i32, ptr @test_count, align 4, !tbaa !5
  %19892 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19893 = load i32, ptr %19892, align 4, !tbaa !5
  %19894 = call ptr @s2n_strerror(i32 noundef %19893, ptr noundef @.str.4)
  %19895 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19896 = load i32, ptr %19895, align 4, !tbaa !5
  %19897 = call ptr @s2n_strerror_debug(i32 noundef %19896, ptr noundef @.str.4)
  %19898 = call ptr @__errno_location() #9
  %19899 = load i32, ptr %19898, align 4, !tbaa !5
  %19900 = call ptr @strerror(i32 noundef %19899) #8
  %19901 = call ptr @__errno_location() #9
  %19902 = load i32, ptr %19901, align 4, !tbaa !5
  %19903 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19890, ptr noundef @.str.2, i32 noundef %19891, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 409, ptr noundef %19894, ptr noundef %19897, ptr noundef %19900, i32 noundef %19902) #8
  br label %19921

19904:                                            ; preds = %19882, %19875
  %19905 = load i32, ptr %328, align 4, !tbaa !5
  %19906 = call ptr @__errno_location() #9
  store i32 %19905, ptr %19906, align 4, !tbaa !5
  %19907 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19908 = load i32, ptr @test_count, align 4, !tbaa !5
  %19909 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19910 = load i32, ptr %19909, align 4, !tbaa !5
  %19911 = call ptr @s2n_strerror(i32 noundef %19910, ptr noundef @.str.4)
  %19912 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19913 = load i32, ptr %19912, align 4, !tbaa !5
  %19914 = call ptr @s2n_strerror_debug(i32 noundef %19913, ptr noundef @.str.4)
  %19915 = call ptr @__errno_location() #9
  %19916 = load i32, ptr %19915, align 4, !tbaa !5
  %19917 = call ptr @strerror(i32 noundef %19916) #8
  %19918 = call ptr @__errno_location() #9
  %19919 = load i32, ptr %19918, align 4, !tbaa !5
  %19920 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19907, ptr noundef @.str.5, i32 noundef %19908, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 409, ptr noundef %19911, ptr noundef %19914, ptr noundef %19917, i32 noundef %19919) #8
  br label %19921

19921:                                            ; preds = %19904, %19887
  call void @llvm.lifetime.end.p0(i64 4, ptr %328) #8
  br label %19922

19922:                                            ; preds = %19921
  br label %19923

19923:                                            ; preds = %19922
  call void @exit(i32 noundef 1) #10
  unreachable

19924:                                            ; No predecessors!
  br label %19925

19925:                                            ; preds = %19924
  br label %19926

19926:                                            ; preds = %19925, %19867
  br label %19927

19927:                                            ; preds = %19926
  br label %19928

19928:                                            ; preds = %19927
  br label %19929

19929:                                            ; preds = %19928
  %19930 = load i32, ptr @test_count, align 4, !tbaa !5
  %19931 = add nsw i32 %19930, 1
  store i32 %19931, ptr @test_count, align 4, !tbaa !5
  %19932 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19933 = load i32, ptr %19932, align 4, !tbaa !5
  %19934 = call ptr @s2n_strerror_debug(i32 noundef %19933, ptr noundef @.str.4)
  %19935 = icmp eq ptr %19934, null
  br i1 %19935, label %19936, label %19989

19936:                                            ; preds = %19929
  br label %19937

19937:                                            ; preds = %19936
  br label %19938

19938:                                            ; preds = %19937
  call void @llvm.lifetime.start.p0(i64 4, ptr %329) #8
  %19939 = call ptr @__errno_location() #9
  %19940 = load i32, ptr %19939, align 4, !tbaa !5
  store i32 %19940, ptr %329, align 4, !tbaa !5
  %19941 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19942 = call i32 @s2n_print_stacktrace(ptr noundef %19941)
  %19943 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %19944 = trunc i8 %19943 to i1
  br i1 %19944, label %19945, label %19967

19945:                                            ; preds = %19938
  %19946 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19947 = call i32 @fileno(ptr noundef %19946) #8
  %19948 = call i32 @isatty(i32 noundef %19947) #8
  %19949 = icmp ne i32 %19948, 0
  br i1 %19949, label %19950, label %19967

19950:                                            ; preds = %19945
  %19951 = load i32, ptr %329, align 4, !tbaa !5
  %19952 = call ptr @__errno_location() #9
  store i32 %19951, ptr %19952, align 4, !tbaa !5
  %19953 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19954 = load i32, ptr @test_count, align 4, !tbaa !5
  %19955 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19956 = load i32, ptr %19955, align 4, !tbaa !5
  %19957 = call ptr @s2n_strerror(i32 noundef %19956, ptr noundef @.str.4)
  %19958 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19959 = load i32, ptr %19958, align 4, !tbaa !5
  %19960 = call ptr @s2n_strerror_debug(i32 noundef %19959, ptr noundef @.str.4)
  %19961 = call ptr @__errno_location() #9
  %19962 = load i32, ptr %19961, align 4, !tbaa !5
  %19963 = call ptr @strerror(i32 noundef %19962) #8
  %19964 = call ptr @__errno_location() #9
  %19965 = load i32, ptr %19964, align 4, !tbaa !5
  %19966 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19953, ptr noundef @.str.2, i32 noundef %19954, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 409, ptr noundef %19957, ptr noundef %19960, ptr noundef %19963, i32 noundef %19965) #8
  br label %19984

19967:                                            ; preds = %19945, %19938
  %19968 = load i32, ptr %329, align 4, !tbaa !5
  %19969 = call ptr @__errno_location() #9
  store i32 %19968, ptr %19969, align 4, !tbaa !5
  %19970 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19971 = load i32, ptr @test_count, align 4, !tbaa !5
  %19972 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19973 = load i32, ptr %19972, align 4, !tbaa !5
  %19974 = call ptr @s2n_strerror(i32 noundef %19973, ptr noundef @.str.4)
  %19975 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19976 = load i32, ptr %19975, align 4, !tbaa !5
  %19977 = call ptr @s2n_strerror_debug(i32 noundef %19976, ptr noundef @.str.4)
  %19978 = call ptr @__errno_location() #9
  %19979 = load i32, ptr %19978, align 4, !tbaa !5
  %19980 = call ptr @strerror(i32 noundef %19979) #8
  %19981 = call ptr @__errno_location() #9
  %19982 = load i32, ptr %19981, align 4, !tbaa !5
  %19983 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19970, ptr noundef @.str.5, i32 noundef %19971, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 409, ptr noundef %19974, ptr noundef %19977, ptr noundef %19980, i32 noundef %19982) #8
  br label %19984

19984:                                            ; preds = %19967, %19950
  call void @llvm.lifetime.end.p0(i64 4, ptr %329) #8
  br label %19985

19985:                                            ; preds = %19984
  br label %19986

19986:                                            ; preds = %19985
  call void @exit(i32 noundef 1) #10
  unreachable

19987:                                            ; No predecessors!
  br label %19988

19988:                                            ; preds = %19987
  br label %19989

19989:                                            ; preds = %19988, %19929
  br label %19990

19990:                                            ; preds = %19989
  br label %19991

19991:                                            ; preds = %19990
  br label %19992

19992:                                            ; preds = %19991
  %19993 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %19993, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %19994 = call ptr @__errno_location() #9
  store i32 0, ptr %19994, align 4, !tbaa !5
  br label %19995

19995:                                            ; preds = %19992
  br label %19996

19996:                                            ; preds = %19995
  br label %19997

19997:                                            ; preds = %19996
  br label %19998

19998:                                            ; preds = %19997
  br label %19999

19999:                                            ; preds = %19998
  br label %20000

20000:                                            ; preds = %19999
  %20001 = load i32, ptr @test_count, align 4, !tbaa !5
  %20002 = add nsw i32 %20001, 1
  store i32 %20002, ptr @test_count, align 4, !tbaa !5
  %20003 = load ptr, ptr %239, align 8, !tbaa !9
  %20004 = call i32 @s2n_test_auth_combo(ptr noundef %20003, ptr noundef @s2n_ecdhe_ecdsa_with_aes_128_cbc_sha, ptr noundef @s2n_ecdsa_sha384, ptr noundef null)
  %20005 = icmp eq i32 %20004, -1
  br i1 %20005, label %20059, label %20006

20006:                                            ; preds = %20000
  br label %20007

20007:                                            ; preds = %20006
  br label %20008

20008:                                            ; preds = %20007
  call void @llvm.lifetime.start.p0(i64 4, ptr %330) #8
  %20009 = call ptr @__errno_location() #9
  %20010 = load i32, ptr %20009, align 4, !tbaa !5
  store i32 %20010, ptr %330, align 4, !tbaa !5
  %20011 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20012 = call i32 @s2n_print_stacktrace(ptr noundef %20011)
  %20013 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %20014 = trunc i8 %20013 to i1
  br i1 %20014, label %20015, label %20037

20015:                                            ; preds = %20008
  %20016 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20017 = call i32 @fileno(ptr noundef %20016) #8
  %20018 = call i32 @isatty(i32 noundef %20017) #8
  %20019 = icmp ne i32 %20018, 0
  br i1 %20019, label %20020, label %20037

20020:                                            ; preds = %20015
  %20021 = load i32, ptr %330, align 4, !tbaa !5
  %20022 = call ptr @__errno_location() #9
  store i32 %20021, ptr %20022, align 4, !tbaa !5
  %20023 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20024 = load i32, ptr @test_count, align 4, !tbaa !5
  %20025 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20026 = load i32, ptr %20025, align 4, !tbaa !5
  %20027 = call ptr @s2n_strerror(i32 noundef %20026, ptr noundef @.str.4)
  %20028 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20029 = load i32, ptr %20028, align 4, !tbaa !5
  %20030 = call ptr @s2n_strerror_debug(i32 noundef %20029, ptr noundef @.str.4)
  %20031 = call ptr @__errno_location() #9
  %20032 = load i32, ptr %20031, align 4, !tbaa !5
  %20033 = call ptr @strerror(i32 noundef %20032) #8
  %20034 = call ptr @__errno_location() #9
  %20035 = load i32, ptr %20034, align 4, !tbaa !5
  %20036 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20023, ptr noundef @.str.2, i32 noundef %20024, ptr noundef @.str.79, ptr noundef @.str.1, i32 noundef 410, ptr noundef %20027, ptr noundef %20030, ptr noundef %20033, i32 noundef %20035) #8
  br label %20054

20037:                                            ; preds = %20015, %20008
  %20038 = load i32, ptr %330, align 4, !tbaa !5
  %20039 = call ptr @__errno_location() #9
  store i32 %20038, ptr %20039, align 4, !tbaa !5
  %20040 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20041 = load i32, ptr @test_count, align 4, !tbaa !5
  %20042 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20043 = load i32, ptr %20042, align 4, !tbaa !5
  %20044 = call ptr @s2n_strerror(i32 noundef %20043, ptr noundef @.str.4)
  %20045 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20046 = load i32, ptr %20045, align 4, !tbaa !5
  %20047 = call ptr @s2n_strerror_debug(i32 noundef %20046, ptr noundef @.str.4)
  %20048 = call ptr @__errno_location() #9
  %20049 = load i32, ptr %20048, align 4, !tbaa !5
  %20050 = call ptr @strerror(i32 noundef %20049) #8
  %20051 = call ptr @__errno_location() #9
  %20052 = load i32, ptr %20051, align 4, !tbaa !5
  %20053 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20040, ptr noundef @.str.5, i32 noundef %20041, ptr noundef @.str.79, ptr noundef @.str.1, i32 noundef 410, ptr noundef %20044, ptr noundef %20047, ptr noundef %20050, i32 noundef %20052) #8
  br label %20054

20054:                                            ; preds = %20037, %20020
  call void @llvm.lifetime.end.p0(i64 4, ptr %330) #8
  br label %20055

20055:                                            ; preds = %20054
  br label %20056

20056:                                            ; preds = %20055
  call void @exit(i32 noundef 1) #10
  unreachable

20057:                                            ; No predecessors!
  br label %20058

20058:                                            ; preds = %20057
  br label %20059

20059:                                            ; preds = %20058, %20000
  br label %20060

20060:                                            ; preds = %20059
  br label %20061

20061:                                            ; preds = %20060
  br label %20062

20062:                                            ; preds = %20061
  %20063 = load i32, ptr @test_count, align 4, !tbaa !5
  %20064 = add nsw i32 %20063, 1
  store i32 %20064, ptr @test_count, align 4, !tbaa !5
  %20065 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20066 = load i32, ptr %20065, align 4, !tbaa !5
  %20067 = icmp eq i32 %20066, 0
  br i1 %20067, label %20068, label %20121

20068:                                            ; preds = %20062
  br label %20069

20069:                                            ; preds = %20068
  br label %20070

20070:                                            ; preds = %20069
  call void @llvm.lifetime.start.p0(i64 4, ptr %331) #8
  %20071 = call ptr @__errno_location() #9
  %20072 = load i32, ptr %20071, align 4, !tbaa !5
  store i32 %20072, ptr %331, align 4, !tbaa !5
  %20073 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20074 = call i32 @s2n_print_stacktrace(ptr noundef %20073)
  %20075 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %20076 = trunc i8 %20075 to i1
  br i1 %20076, label %20077, label %20099

20077:                                            ; preds = %20070
  %20078 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20079 = call i32 @fileno(ptr noundef %20078) #8
  %20080 = call i32 @isatty(i32 noundef %20079) #8
  %20081 = icmp ne i32 %20080, 0
  br i1 %20081, label %20082, label %20099

20082:                                            ; preds = %20077
  %20083 = load i32, ptr %331, align 4, !tbaa !5
  %20084 = call ptr @__errno_location() #9
  store i32 %20083, ptr %20084, align 4, !tbaa !5
  %20085 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20086 = load i32, ptr @test_count, align 4, !tbaa !5
  %20087 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20088 = load i32, ptr %20087, align 4, !tbaa !5
  %20089 = call ptr @s2n_strerror(i32 noundef %20088, ptr noundef @.str.4)
  %20090 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20091 = load i32, ptr %20090, align 4, !tbaa !5
  %20092 = call ptr @s2n_strerror_debug(i32 noundef %20091, ptr noundef @.str.4)
  %20093 = call ptr @__errno_location() #9
  %20094 = load i32, ptr %20093, align 4, !tbaa !5
  %20095 = call ptr @strerror(i32 noundef %20094) #8
  %20096 = call ptr @__errno_location() #9
  %20097 = load i32, ptr %20096, align 4, !tbaa !5
  %20098 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20085, ptr noundef @.str.2, i32 noundef %20086, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 410, ptr noundef %20089, ptr noundef %20092, ptr noundef %20095, i32 noundef %20097) #8
  br label %20116

20099:                                            ; preds = %20077, %20070
  %20100 = load i32, ptr %331, align 4, !tbaa !5
  %20101 = call ptr @__errno_location() #9
  store i32 %20100, ptr %20101, align 4, !tbaa !5
  %20102 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20103 = load i32, ptr @test_count, align 4, !tbaa !5
  %20104 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20105 = load i32, ptr %20104, align 4, !tbaa !5
  %20106 = call ptr @s2n_strerror(i32 noundef %20105, ptr noundef @.str.4)
  %20107 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20108 = load i32, ptr %20107, align 4, !tbaa !5
  %20109 = call ptr @s2n_strerror_debug(i32 noundef %20108, ptr noundef @.str.4)
  %20110 = call ptr @__errno_location() #9
  %20111 = load i32, ptr %20110, align 4, !tbaa !5
  %20112 = call ptr @strerror(i32 noundef %20111) #8
  %20113 = call ptr @__errno_location() #9
  %20114 = load i32, ptr %20113, align 4, !tbaa !5
  %20115 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20102, ptr noundef @.str.5, i32 noundef %20103, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 410, ptr noundef %20106, ptr noundef %20109, ptr noundef %20112, i32 noundef %20114) #8
  br label %20116

20116:                                            ; preds = %20099, %20082
  call void @llvm.lifetime.end.p0(i64 4, ptr %331) #8
  br label %20117

20117:                                            ; preds = %20116
  br label %20118

20118:                                            ; preds = %20117
  call void @exit(i32 noundef 1) #10
  unreachable

20119:                                            ; No predecessors!
  br label %20120

20120:                                            ; preds = %20119
  br label %20121

20121:                                            ; preds = %20120, %20062
  br label %20122

20122:                                            ; preds = %20121
  br label %20123

20123:                                            ; preds = %20122
  br label %20124

20124:                                            ; preds = %20123
  %20125 = load i32, ptr @test_count, align 4, !tbaa !5
  %20126 = add nsw i32 %20125, 1
  store i32 %20126, ptr @test_count, align 4, !tbaa !5
  %20127 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20128 = load i32, ptr %20127, align 4, !tbaa !5
  %20129 = call ptr @s2n_strerror_debug(i32 noundef %20128, ptr noundef @.str.4)
  %20130 = icmp eq ptr %20129, null
  br i1 %20130, label %20131, label %20184

20131:                                            ; preds = %20124
  br label %20132

20132:                                            ; preds = %20131
  br label %20133

20133:                                            ; preds = %20132
  call void @llvm.lifetime.start.p0(i64 4, ptr %332) #8
  %20134 = call ptr @__errno_location() #9
  %20135 = load i32, ptr %20134, align 4, !tbaa !5
  store i32 %20135, ptr %332, align 4, !tbaa !5
  %20136 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20137 = call i32 @s2n_print_stacktrace(ptr noundef %20136)
  %20138 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %20139 = trunc i8 %20138 to i1
  br i1 %20139, label %20140, label %20162

20140:                                            ; preds = %20133
  %20141 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20142 = call i32 @fileno(ptr noundef %20141) #8
  %20143 = call i32 @isatty(i32 noundef %20142) #8
  %20144 = icmp ne i32 %20143, 0
  br i1 %20144, label %20145, label %20162

20145:                                            ; preds = %20140
  %20146 = load i32, ptr %332, align 4, !tbaa !5
  %20147 = call ptr @__errno_location() #9
  store i32 %20146, ptr %20147, align 4, !tbaa !5
  %20148 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20149 = load i32, ptr @test_count, align 4, !tbaa !5
  %20150 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20151 = load i32, ptr %20150, align 4, !tbaa !5
  %20152 = call ptr @s2n_strerror(i32 noundef %20151, ptr noundef @.str.4)
  %20153 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20154 = load i32, ptr %20153, align 4, !tbaa !5
  %20155 = call ptr @s2n_strerror_debug(i32 noundef %20154, ptr noundef @.str.4)
  %20156 = call ptr @__errno_location() #9
  %20157 = load i32, ptr %20156, align 4, !tbaa !5
  %20158 = call ptr @strerror(i32 noundef %20157) #8
  %20159 = call ptr @__errno_location() #9
  %20160 = load i32, ptr %20159, align 4, !tbaa !5
  %20161 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20148, ptr noundef @.str.2, i32 noundef %20149, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 410, ptr noundef %20152, ptr noundef %20155, ptr noundef %20158, i32 noundef %20160) #8
  br label %20179

20162:                                            ; preds = %20140, %20133
  %20163 = load i32, ptr %332, align 4, !tbaa !5
  %20164 = call ptr @__errno_location() #9
  store i32 %20163, ptr %20164, align 4, !tbaa !5
  %20165 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20166 = load i32, ptr @test_count, align 4, !tbaa !5
  %20167 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20168 = load i32, ptr %20167, align 4, !tbaa !5
  %20169 = call ptr @s2n_strerror(i32 noundef %20168, ptr noundef @.str.4)
  %20170 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20171 = load i32, ptr %20170, align 4, !tbaa !5
  %20172 = call ptr @s2n_strerror_debug(i32 noundef %20171, ptr noundef @.str.4)
  %20173 = call ptr @__errno_location() #9
  %20174 = load i32, ptr %20173, align 4, !tbaa !5
  %20175 = call ptr @strerror(i32 noundef %20174) #8
  %20176 = call ptr @__errno_location() #9
  %20177 = load i32, ptr %20176, align 4, !tbaa !5
  %20178 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20165, ptr noundef @.str.5, i32 noundef %20166, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 410, ptr noundef %20169, ptr noundef %20172, ptr noundef %20175, i32 noundef %20177) #8
  br label %20179

20179:                                            ; preds = %20162, %20145
  call void @llvm.lifetime.end.p0(i64 4, ptr %332) #8
  br label %20180

20180:                                            ; preds = %20179
  br label %20181

20181:                                            ; preds = %20180
  call void @exit(i32 noundef 1) #10
  unreachable

20182:                                            ; No predecessors!
  br label %20183

20183:                                            ; preds = %20182
  br label %20184

20184:                                            ; preds = %20183, %20124
  br label %20185

20185:                                            ; preds = %20184
  br label %20186

20186:                                            ; preds = %20185
  br label %20187

20187:                                            ; preds = %20186
  %20188 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %20188, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %20189 = call ptr @__errno_location() #9
  store i32 0, ptr %20189, align 4, !tbaa !5
  br label %20190

20190:                                            ; preds = %20187
  br label %20191

20191:                                            ; preds = %20190
  br label %20192

20192:                                            ; preds = %20191
  br label %20193

20193:                                            ; preds = %20192
  br label %20194

20194:                                            ; preds = %20193
  br label %20195

20195:                                            ; preds = %20194
  %20196 = load i32, ptr @test_count, align 4, !tbaa !5
  %20197 = add nsw i32 %20196, 1
  store i32 %20197, ptr @test_count, align 4, !tbaa !5
  %20198 = load ptr, ptr %239, align 8, !tbaa !9
  %20199 = call i32 @s2n_test_auth_combo(ptr noundef %20198, ptr noundef @s2n_tls13_aes_128_gcm_sha256, ptr noundef @s2n_rsa_pkcs1_md5_sha1, ptr noundef null)
  %20200 = icmp eq i32 %20199, -1
  br i1 %20200, label %20254, label %20201

20201:                                            ; preds = %20195
  br label %20202

20202:                                            ; preds = %20201
  br label %20203

20203:                                            ; preds = %20202
  call void @llvm.lifetime.start.p0(i64 4, ptr %333) #8
  %20204 = call ptr @__errno_location() #9
  %20205 = load i32, ptr %20204, align 4, !tbaa !5
  store i32 %20205, ptr %333, align 4, !tbaa !5
  %20206 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20207 = call i32 @s2n_print_stacktrace(ptr noundef %20206)
  %20208 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %20209 = trunc i8 %20208 to i1
  br i1 %20209, label %20210, label %20232

20210:                                            ; preds = %20203
  %20211 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20212 = call i32 @fileno(ptr noundef %20211) #8
  %20213 = call i32 @isatty(i32 noundef %20212) #8
  %20214 = icmp ne i32 %20213, 0
  br i1 %20214, label %20215, label %20232

20215:                                            ; preds = %20210
  %20216 = load i32, ptr %333, align 4, !tbaa !5
  %20217 = call ptr @__errno_location() #9
  store i32 %20216, ptr %20217, align 4, !tbaa !5
  %20218 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20219 = load i32, ptr @test_count, align 4, !tbaa !5
  %20220 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20221 = load i32, ptr %20220, align 4, !tbaa !5
  %20222 = call ptr @s2n_strerror(i32 noundef %20221, ptr noundef @.str.4)
  %20223 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20224 = load i32, ptr %20223, align 4, !tbaa !5
  %20225 = call ptr @s2n_strerror_debug(i32 noundef %20224, ptr noundef @.str.4)
  %20226 = call ptr @__errno_location() #9
  %20227 = load i32, ptr %20226, align 4, !tbaa !5
  %20228 = call ptr @strerror(i32 noundef %20227) #8
  %20229 = call ptr @__errno_location() #9
  %20230 = load i32, ptr %20229, align 4, !tbaa !5
  %20231 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20218, ptr noundef @.str.2, i32 noundef %20219, ptr noundef @.str.80, ptr noundef @.str.1, i32 noundef 412, ptr noundef %20222, ptr noundef %20225, ptr noundef %20228, i32 noundef %20230) #8
  br label %20249

20232:                                            ; preds = %20210, %20203
  %20233 = load i32, ptr %333, align 4, !tbaa !5
  %20234 = call ptr @__errno_location() #9
  store i32 %20233, ptr %20234, align 4, !tbaa !5
  %20235 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20236 = load i32, ptr @test_count, align 4, !tbaa !5
  %20237 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20238 = load i32, ptr %20237, align 4, !tbaa !5
  %20239 = call ptr @s2n_strerror(i32 noundef %20238, ptr noundef @.str.4)
  %20240 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20241 = load i32, ptr %20240, align 4, !tbaa !5
  %20242 = call ptr @s2n_strerror_debug(i32 noundef %20241, ptr noundef @.str.4)
  %20243 = call ptr @__errno_location() #9
  %20244 = load i32, ptr %20243, align 4, !tbaa !5
  %20245 = call ptr @strerror(i32 noundef %20244) #8
  %20246 = call ptr @__errno_location() #9
  %20247 = load i32, ptr %20246, align 4, !tbaa !5
  %20248 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20235, ptr noundef @.str.5, i32 noundef %20236, ptr noundef @.str.80, ptr noundef @.str.1, i32 noundef 412, ptr noundef %20239, ptr noundef %20242, ptr noundef %20245, i32 noundef %20247) #8
  br label %20249

20249:                                            ; preds = %20232, %20215
  call void @llvm.lifetime.end.p0(i64 4, ptr %333) #8
  br label %20250

20250:                                            ; preds = %20249
  br label %20251

20251:                                            ; preds = %20250
  call void @exit(i32 noundef 1) #10
  unreachable

20252:                                            ; No predecessors!
  br label %20253

20253:                                            ; preds = %20252
  br label %20254

20254:                                            ; preds = %20253, %20195
  br label %20255

20255:                                            ; preds = %20254
  br label %20256

20256:                                            ; preds = %20255
  br label %20257

20257:                                            ; preds = %20256
  %20258 = load i32, ptr @test_count, align 4, !tbaa !5
  %20259 = add nsw i32 %20258, 1
  store i32 %20259, ptr @test_count, align 4, !tbaa !5
  %20260 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20261 = load i32, ptr %20260, align 4, !tbaa !5
  %20262 = icmp eq i32 %20261, 0
  br i1 %20262, label %20263, label %20316

20263:                                            ; preds = %20257
  br label %20264

20264:                                            ; preds = %20263
  br label %20265

20265:                                            ; preds = %20264
  call void @llvm.lifetime.start.p0(i64 4, ptr %334) #8
  %20266 = call ptr @__errno_location() #9
  %20267 = load i32, ptr %20266, align 4, !tbaa !5
  store i32 %20267, ptr %334, align 4, !tbaa !5
  %20268 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20269 = call i32 @s2n_print_stacktrace(ptr noundef %20268)
  %20270 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %20271 = trunc i8 %20270 to i1
  br i1 %20271, label %20272, label %20294

20272:                                            ; preds = %20265
  %20273 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20274 = call i32 @fileno(ptr noundef %20273) #8
  %20275 = call i32 @isatty(i32 noundef %20274) #8
  %20276 = icmp ne i32 %20275, 0
  br i1 %20276, label %20277, label %20294

20277:                                            ; preds = %20272
  %20278 = load i32, ptr %334, align 4, !tbaa !5
  %20279 = call ptr @__errno_location() #9
  store i32 %20278, ptr %20279, align 4, !tbaa !5
  %20280 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20281 = load i32, ptr @test_count, align 4, !tbaa !5
  %20282 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20283 = load i32, ptr %20282, align 4, !tbaa !5
  %20284 = call ptr @s2n_strerror(i32 noundef %20283, ptr noundef @.str.4)
  %20285 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20286 = load i32, ptr %20285, align 4, !tbaa !5
  %20287 = call ptr @s2n_strerror_debug(i32 noundef %20286, ptr noundef @.str.4)
  %20288 = call ptr @__errno_location() #9
  %20289 = load i32, ptr %20288, align 4, !tbaa !5
  %20290 = call ptr @strerror(i32 noundef %20289) #8
  %20291 = call ptr @__errno_location() #9
  %20292 = load i32, ptr %20291, align 4, !tbaa !5
  %20293 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20280, ptr noundef @.str.2, i32 noundef %20281, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 412, ptr noundef %20284, ptr noundef %20287, ptr noundef %20290, i32 noundef %20292) #8
  br label %20311

20294:                                            ; preds = %20272, %20265
  %20295 = load i32, ptr %334, align 4, !tbaa !5
  %20296 = call ptr @__errno_location() #9
  store i32 %20295, ptr %20296, align 4, !tbaa !5
  %20297 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20298 = load i32, ptr @test_count, align 4, !tbaa !5
  %20299 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20300 = load i32, ptr %20299, align 4, !tbaa !5
  %20301 = call ptr @s2n_strerror(i32 noundef %20300, ptr noundef @.str.4)
  %20302 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20303 = load i32, ptr %20302, align 4, !tbaa !5
  %20304 = call ptr @s2n_strerror_debug(i32 noundef %20303, ptr noundef @.str.4)
  %20305 = call ptr @__errno_location() #9
  %20306 = load i32, ptr %20305, align 4, !tbaa !5
  %20307 = call ptr @strerror(i32 noundef %20306) #8
  %20308 = call ptr @__errno_location() #9
  %20309 = load i32, ptr %20308, align 4, !tbaa !5
  %20310 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20297, ptr noundef @.str.5, i32 noundef %20298, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 412, ptr noundef %20301, ptr noundef %20304, ptr noundef %20307, i32 noundef %20309) #8
  br label %20311

20311:                                            ; preds = %20294, %20277
  call void @llvm.lifetime.end.p0(i64 4, ptr %334) #8
  br label %20312

20312:                                            ; preds = %20311
  br label %20313

20313:                                            ; preds = %20312
  call void @exit(i32 noundef 1) #10
  unreachable

20314:                                            ; No predecessors!
  br label %20315

20315:                                            ; preds = %20314
  br label %20316

20316:                                            ; preds = %20315, %20257
  br label %20317

20317:                                            ; preds = %20316
  br label %20318

20318:                                            ; preds = %20317
  br label %20319

20319:                                            ; preds = %20318
  %20320 = load i32, ptr @test_count, align 4, !tbaa !5
  %20321 = add nsw i32 %20320, 1
  store i32 %20321, ptr @test_count, align 4, !tbaa !5
  %20322 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20323 = load i32, ptr %20322, align 4, !tbaa !5
  %20324 = call ptr @s2n_strerror_debug(i32 noundef %20323, ptr noundef @.str.4)
  %20325 = icmp eq ptr %20324, null
  br i1 %20325, label %20326, label %20379

20326:                                            ; preds = %20319
  br label %20327

20327:                                            ; preds = %20326
  br label %20328

20328:                                            ; preds = %20327
  call void @llvm.lifetime.start.p0(i64 4, ptr %335) #8
  %20329 = call ptr @__errno_location() #9
  %20330 = load i32, ptr %20329, align 4, !tbaa !5
  store i32 %20330, ptr %335, align 4, !tbaa !5
  %20331 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20332 = call i32 @s2n_print_stacktrace(ptr noundef %20331)
  %20333 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %20334 = trunc i8 %20333 to i1
  br i1 %20334, label %20335, label %20357

20335:                                            ; preds = %20328
  %20336 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20337 = call i32 @fileno(ptr noundef %20336) #8
  %20338 = call i32 @isatty(i32 noundef %20337) #8
  %20339 = icmp ne i32 %20338, 0
  br i1 %20339, label %20340, label %20357

20340:                                            ; preds = %20335
  %20341 = load i32, ptr %335, align 4, !tbaa !5
  %20342 = call ptr @__errno_location() #9
  store i32 %20341, ptr %20342, align 4, !tbaa !5
  %20343 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20344 = load i32, ptr @test_count, align 4, !tbaa !5
  %20345 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20346 = load i32, ptr %20345, align 4, !tbaa !5
  %20347 = call ptr @s2n_strerror(i32 noundef %20346, ptr noundef @.str.4)
  %20348 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20349 = load i32, ptr %20348, align 4, !tbaa !5
  %20350 = call ptr @s2n_strerror_debug(i32 noundef %20349, ptr noundef @.str.4)
  %20351 = call ptr @__errno_location() #9
  %20352 = load i32, ptr %20351, align 4, !tbaa !5
  %20353 = call ptr @strerror(i32 noundef %20352) #8
  %20354 = call ptr @__errno_location() #9
  %20355 = load i32, ptr %20354, align 4, !tbaa !5
  %20356 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20343, ptr noundef @.str.2, i32 noundef %20344, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 412, ptr noundef %20347, ptr noundef %20350, ptr noundef %20353, i32 noundef %20355) #8
  br label %20374

20357:                                            ; preds = %20335, %20328
  %20358 = load i32, ptr %335, align 4, !tbaa !5
  %20359 = call ptr @__errno_location() #9
  store i32 %20358, ptr %20359, align 4, !tbaa !5
  %20360 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20361 = load i32, ptr @test_count, align 4, !tbaa !5
  %20362 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20363 = load i32, ptr %20362, align 4, !tbaa !5
  %20364 = call ptr @s2n_strerror(i32 noundef %20363, ptr noundef @.str.4)
  %20365 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20366 = load i32, ptr %20365, align 4, !tbaa !5
  %20367 = call ptr @s2n_strerror_debug(i32 noundef %20366, ptr noundef @.str.4)
  %20368 = call ptr @__errno_location() #9
  %20369 = load i32, ptr %20368, align 4, !tbaa !5
  %20370 = call ptr @strerror(i32 noundef %20369) #8
  %20371 = call ptr @__errno_location() #9
  %20372 = load i32, ptr %20371, align 4, !tbaa !5
  %20373 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20360, ptr noundef @.str.5, i32 noundef %20361, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 412, ptr noundef %20364, ptr noundef %20367, ptr noundef %20370, i32 noundef %20372) #8
  br label %20374

20374:                                            ; preds = %20357, %20340
  call void @llvm.lifetime.end.p0(i64 4, ptr %335) #8
  br label %20375

20375:                                            ; preds = %20374
  br label %20376

20376:                                            ; preds = %20375
  call void @exit(i32 noundef 1) #10
  unreachable

20377:                                            ; No predecessors!
  br label %20378

20378:                                            ; preds = %20377
  br label %20379

20379:                                            ; preds = %20378, %20319
  br label %20380

20380:                                            ; preds = %20379
  br label %20381

20381:                                            ; preds = %20380
  br label %20382

20382:                                            ; preds = %20381
  %20383 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %20383, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %20384 = call ptr @__errno_location() #9
  store i32 0, ptr %20384, align 4, !tbaa !5
  br label %20385

20385:                                            ; preds = %20382
  br label %20386

20386:                                            ; preds = %20385
  br label %20387

20387:                                            ; preds = %20386
  br label %20388

20388:                                            ; preds = %20387
  %20389 = call zeroext i1 (...) @s2n_is_rsa_pss_certs_supported()
  br i1 %20389, label %20390, label %20454

20390:                                            ; preds = %20388
  br label %20391

20391:                                            ; preds = %20390
  %20392 = load i32, ptr @test_count, align 4, !tbaa !5
  %20393 = add nsw i32 %20392, 1
  store i32 %20393, ptr @test_count, align 4, !tbaa !5
  %20394 = load ptr, ptr %239, align 8, !tbaa !9
  %20395 = load ptr, ptr %22, align 8, !tbaa !9
  %20396 = call i32 @s2n_test_auth_combo(ptr noundef %20394, ptr noundef @s2n_tls13_aes_128_gcm_sha256, ptr noundef @s2n_rsa_pss_pss_sha256, ptr noundef %20395)
  %20397 = icmp eq i32 %20396, -1
  br i1 %20397, label %20398, label %20451

20398:                                            ; preds = %20391
  br label %20399

20399:                                            ; preds = %20398
  br label %20400

20400:                                            ; preds = %20399
  call void @llvm.lifetime.start.p0(i64 4, ptr %336) #8
  %20401 = call ptr @__errno_location() #9
  %20402 = load i32, ptr %20401, align 4, !tbaa !5
  store i32 %20402, ptr %336, align 4, !tbaa !5
  %20403 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20404 = call i32 @s2n_print_stacktrace(ptr noundef %20403)
  %20405 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %20406 = trunc i8 %20405 to i1
  br i1 %20406, label %20407, label %20429

20407:                                            ; preds = %20400
  %20408 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20409 = call i32 @fileno(ptr noundef %20408) #8
  %20410 = call i32 @isatty(i32 noundef %20409) #8
  %20411 = icmp ne i32 %20410, 0
  br i1 %20411, label %20412, label %20429

20412:                                            ; preds = %20407
  %20413 = load i32, ptr %336, align 4, !tbaa !5
  %20414 = call ptr @__errno_location() #9
  store i32 %20413, ptr %20414, align 4, !tbaa !5
  %20415 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20416 = load i32, ptr @test_count, align 4, !tbaa !5
  %20417 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20418 = load i32, ptr %20417, align 4, !tbaa !5
  %20419 = call ptr @s2n_strerror(i32 noundef %20418, ptr noundef @.str.4)
  %20420 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20421 = load i32, ptr %20420, align 4, !tbaa !5
  %20422 = call ptr @s2n_strerror_debug(i32 noundef %20421, ptr noundef @.str.4)
  %20423 = call ptr @__errno_location() #9
  %20424 = load i32, ptr %20423, align 4, !tbaa !5
  %20425 = call ptr @strerror(i32 noundef %20424) #8
  %20426 = call ptr @__errno_location() #9
  %20427 = load i32, ptr %20426, align 4, !tbaa !5
  %20428 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20415, ptr noundef @.str.2, i32 noundef %20416, ptr noundef @.str.90, ptr noundef @.str.1, i32 noundef 413, ptr noundef %20419, ptr noundef %20422, ptr noundef %20425, i32 noundef %20427) #8
  br label %20446

20429:                                            ; preds = %20407, %20400
  %20430 = load i32, ptr %336, align 4, !tbaa !5
  %20431 = call ptr @__errno_location() #9
  store i32 %20430, ptr %20431, align 4, !tbaa !5
  %20432 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20433 = load i32, ptr @test_count, align 4, !tbaa !5
  %20434 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20435 = load i32, ptr %20434, align 4, !tbaa !5
  %20436 = call ptr @s2n_strerror(i32 noundef %20435, ptr noundef @.str.4)
  %20437 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20438 = load i32, ptr %20437, align 4, !tbaa !5
  %20439 = call ptr @s2n_strerror_debug(i32 noundef %20438, ptr noundef @.str.4)
  %20440 = call ptr @__errno_location() #9
  %20441 = load i32, ptr %20440, align 4, !tbaa !5
  %20442 = call ptr @strerror(i32 noundef %20441) #8
  %20443 = call ptr @__errno_location() #9
  %20444 = load i32, ptr %20443, align 4, !tbaa !5
  %20445 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20432, ptr noundef @.str.5, i32 noundef %20433, ptr noundef @.str.90, ptr noundef @.str.1, i32 noundef 413, ptr noundef %20436, ptr noundef %20439, ptr noundef %20442, i32 noundef %20444) #8
  br label %20446

20446:                                            ; preds = %20429, %20412
  call void @llvm.lifetime.end.p0(i64 4, ptr %336) #8
  br label %20447

20447:                                            ; preds = %20446
  br label %20448

20448:                                            ; preds = %20447
  call void @exit(i32 noundef 1) #10
  unreachable

20449:                                            ; No predecessors!
  br label %20450

20450:                                            ; preds = %20449
  br label %20451

20451:                                            ; preds = %20450, %20391
  br label %20452

20452:                                            ; preds = %20451
  br label %20453

20453:                                            ; preds = %20452
  br label %20651

20454:                                            ; preds = %20388
  br label %20455

20455:                                            ; preds = %20454
  br label %20456

20456:                                            ; preds = %20455
  %20457 = load i32, ptr @test_count, align 4, !tbaa !5
  %20458 = add nsw i32 %20457, 1
  store i32 %20458, ptr @test_count, align 4, !tbaa !5
  %20459 = load ptr, ptr %239, align 8, !tbaa !9
  %20460 = load ptr, ptr %22, align 8, !tbaa !9
  %20461 = call i32 @s2n_test_auth_combo(ptr noundef %20459, ptr noundef @s2n_tls13_aes_128_gcm_sha256, ptr noundef @s2n_rsa_pss_pss_sha256, ptr noundef %20460)
  %20462 = icmp eq i32 %20461, -1
  br i1 %20462, label %20516, label %20463

20463:                                            ; preds = %20456
  br label %20464

20464:                                            ; preds = %20463
  br label %20465

20465:                                            ; preds = %20464
  call void @llvm.lifetime.start.p0(i64 4, ptr %337) #8
  %20466 = call ptr @__errno_location() #9
  %20467 = load i32, ptr %20466, align 4, !tbaa !5
  store i32 %20467, ptr %337, align 4, !tbaa !5
  %20468 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20469 = call i32 @s2n_print_stacktrace(ptr noundef %20468)
  %20470 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %20471 = trunc i8 %20470 to i1
  br i1 %20471, label %20472, label %20494

20472:                                            ; preds = %20465
  %20473 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20474 = call i32 @fileno(ptr noundef %20473) #8
  %20475 = call i32 @isatty(i32 noundef %20474) #8
  %20476 = icmp ne i32 %20475, 0
  br i1 %20476, label %20477, label %20494

20477:                                            ; preds = %20472
  %20478 = load i32, ptr %337, align 4, !tbaa !5
  %20479 = call ptr @__errno_location() #9
  store i32 %20478, ptr %20479, align 4, !tbaa !5
  %20480 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20481 = load i32, ptr @test_count, align 4, !tbaa !5
  %20482 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20483 = load i32, ptr %20482, align 4, !tbaa !5
  %20484 = call ptr @s2n_strerror(i32 noundef %20483, ptr noundef @.str.4)
  %20485 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20486 = load i32, ptr %20485, align 4, !tbaa !5
  %20487 = call ptr @s2n_strerror_debug(i32 noundef %20486, ptr noundef @.str.4)
  %20488 = call ptr @__errno_location() #9
  %20489 = load i32, ptr %20488, align 4, !tbaa !5
  %20490 = call ptr @strerror(i32 noundef %20489) #8
  %20491 = call ptr @__errno_location() #9
  %20492 = load i32, ptr %20491, align 4, !tbaa !5
  %20493 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20480, ptr noundef @.str.2, i32 noundef %20481, ptr noundef @.str.91, ptr noundef @.str.1, i32 noundef 413, ptr noundef %20484, ptr noundef %20487, ptr noundef %20490, i32 noundef %20492) #8
  br label %20511

20494:                                            ; preds = %20472, %20465
  %20495 = load i32, ptr %337, align 4, !tbaa !5
  %20496 = call ptr @__errno_location() #9
  store i32 %20495, ptr %20496, align 4, !tbaa !5
  %20497 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20498 = load i32, ptr @test_count, align 4, !tbaa !5
  %20499 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20500 = load i32, ptr %20499, align 4, !tbaa !5
  %20501 = call ptr @s2n_strerror(i32 noundef %20500, ptr noundef @.str.4)
  %20502 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20503 = load i32, ptr %20502, align 4, !tbaa !5
  %20504 = call ptr @s2n_strerror_debug(i32 noundef %20503, ptr noundef @.str.4)
  %20505 = call ptr @__errno_location() #9
  %20506 = load i32, ptr %20505, align 4, !tbaa !5
  %20507 = call ptr @strerror(i32 noundef %20506) #8
  %20508 = call ptr @__errno_location() #9
  %20509 = load i32, ptr %20508, align 4, !tbaa !5
  %20510 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20497, ptr noundef @.str.5, i32 noundef %20498, ptr noundef @.str.91, ptr noundef @.str.1, i32 noundef 413, ptr noundef %20501, ptr noundef %20504, ptr noundef %20507, i32 noundef %20509) #8
  br label %20511

20511:                                            ; preds = %20494, %20477
  call void @llvm.lifetime.end.p0(i64 4, ptr %337) #8
  br label %20512

20512:                                            ; preds = %20511
  br label %20513

20513:                                            ; preds = %20512
  call void @exit(i32 noundef 1) #10
  unreachable

20514:                                            ; No predecessors!
  br label %20515

20515:                                            ; preds = %20514
  br label %20516

20516:                                            ; preds = %20515, %20456
  br label %20517

20517:                                            ; preds = %20516
  br label %20518

20518:                                            ; preds = %20517
  br label %20519

20519:                                            ; preds = %20518
  %20520 = load i32, ptr @test_count, align 4, !tbaa !5
  %20521 = add nsw i32 %20520, 1
  store i32 %20521, ptr @test_count, align 4, !tbaa !5
  %20522 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20523 = load i32, ptr %20522, align 4, !tbaa !5
  %20524 = icmp eq i32 %20523, 0
  br i1 %20524, label %20525, label %20578

20525:                                            ; preds = %20519
  br label %20526

20526:                                            ; preds = %20525
  br label %20527

20527:                                            ; preds = %20526
  call void @llvm.lifetime.start.p0(i64 4, ptr %338) #8
  %20528 = call ptr @__errno_location() #9
  %20529 = load i32, ptr %20528, align 4, !tbaa !5
  store i32 %20529, ptr %338, align 4, !tbaa !5
  %20530 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20531 = call i32 @s2n_print_stacktrace(ptr noundef %20530)
  %20532 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %20533 = trunc i8 %20532 to i1
  br i1 %20533, label %20534, label %20556

20534:                                            ; preds = %20527
  %20535 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20536 = call i32 @fileno(ptr noundef %20535) #8
  %20537 = call i32 @isatty(i32 noundef %20536) #8
  %20538 = icmp ne i32 %20537, 0
  br i1 %20538, label %20539, label %20556

20539:                                            ; preds = %20534
  %20540 = load i32, ptr %338, align 4, !tbaa !5
  %20541 = call ptr @__errno_location() #9
  store i32 %20540, ptr %20541, align 4, !tbaa !5
  %20542 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20543 = load i32, ptr @test_count, align 4, !tbaa !5
  %20544 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20545 = load i32, ptr %20544, align 4, !tbaa !5
  %20546 = call ptr @s2n_strerror(i32 noundef %20545, ptr noundef @.str.4)
  %20547 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20548 = load i32, ptr %20547, align 4, !tbaa !5
  %20549 = call ptr @s2n_strerror_debug(i32 noundef %20548, ptr noundef @.str.4)
  %20550 = call ptr @__errno_location() #9
  %20551 = load i32, ptr %20550, align 4, !tbaa !5
  %20552 = call ptr @strerror(i32 noundef %20551) #8
  %20553 = call ptr @__errno_location() #9
  %20554 = load i32, ptr %20553, align 4, !tbaa !5
  %20555 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20542, ptr noundef @.str.2, i32 noundef %20543, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 413, ptr noundef %20546, ptr noundef %20549, ptr noundef %20552, i32 noundef %20554) #8
  br label %20573

20556:                                            ; preds = %20534, %20527
  %20557 = load i32, ptr %338, align 4, !tbaa !5
  %20558 = call ptr @__errno_location() #9
  store i32 %20557, ptr %20558, align 4, !tbaa !5
  %20559 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20560 = load i32, ptr @test_count, align 4, !tbaa !5
  %20561 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20562 = load i32, ptr %20561, align 4, !tbaa !5
  %20563 = call ptr @s2n_strerror(i32 noundef %20562, ptr noundef @.str.4)
  %20564 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20565 = load i32, ptr %20564, align 4, !tbaa !5
  %20566 = call ptr @s2n_strerror_debug(i32 noundef %20565, ptr noundef @.str.4)
  %20567 = call ptr @__errno_location() #9
  %20568 = load i32, ptr %20567, align 4, !tbaa !5
  %20569 = call ptr @strerror(i32 noundef %20568) #8
  %20570 = call ptr @__errno_location() #9
  %20571 = load i32, ptr %20570, align 4, !tbaa !5
  %20572 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20559, ptr noundef @.str.5, i32 noundef %20560, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 413, ptr noundef %20563, ptr noundef %20566, ptr noundef %20569, i32 noundef %20571) #8
  br label %20573

20573:                                            ; preds = %20556, %20539
  call void @llvm.lifetime.end.p0(i64 4, ptr %338) #8
  br label %20574

20574:                                            ; preds = %20573
  br label %20575

20575:                                            ; preds = %20574
  call void @exit(i32 noundef 1) #10
  unreachable

20576:                                            ; No predecessors!
  br label %20577

20577:                                            ; preds = %20576
  br label %20578

20578:                                            ; preds = %20577, %20519
  br label %20579

20579:                                            ; preds = %20578
  br label %20580

20580:                                            ; preds = %20579
  br label %20581

20581:                                            ; preds = %20580
  %20582 = load i32, ptr @test_count, align 4, !tbaa !5
  %20583 = add nsw i32 %20582, 1
  store i32 %20583, ptr @test_count, align 4, !tbaa !5
  %20584 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20585 = load i32, ptr %20584, align 4, !tbaa !5
  %20586 = call ptr @s2n_strerror_debug(i32 noundef %20585, ptr noundef @.str.4)
  %20587 = icmp eq ptr %20586, null
  br i1 %20587, label %20588, label %20641

20588:                                            ; preds = %20581
  br label %20589

20589:                                            ; preds = %20588
  br label %20590

20590:                                            ; preds = %20589
  call void @llvm.lifetime.start.p0(i64 4, ptr %339) #8
  %20591 = call ptr @__errno_location() #9
  %20592 = load i32, ptr %20591, align 4, !tbaa !5
  store i32 %20592, ptr %339, align 4, !tbaa !5
  %20593 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20594 = call i32 @s2n_print_stacktrace(ptr noundef %20593)
  %20595 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %20596 = trunc i8 %20595 to i1
  br i1 %20596, label %20597, label %20619

20597:                                            ; preds = %20590
  %20598 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20599 = call i32 @fileno(ptr noundef %20598) #8
  %20600 = call i32 @isatty(i32 noundef %20599) #8
  %20601 = icmp ne i32 %20600, 0
  br i1 %20601, label %20602, label %20619

20602:                                            ; preds = %20597
  %20603 = load i32, ptr %339, align 4, !tbaa !5
  %20604 = call ptr @__errno_location() #9
  store i32 %20603, ptr %20604, align 4, !tbaa !5
  %20605 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20606 = load i32, ptr @test_count, align 4, !tbaa !5
  %20607 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20608 = load i32, ptr %20607, align 4, !tbaa !5
  %20609 = call ptr @s2n_strerror(i32 noundef %20608, ptr noundef @.str.4)
  %20610 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20611 = load i32, ptr %20610, align 4, !tbaa !5
  %20612 = call ptr @s2n_strerror_debug(i32 noundef %20611, ptr noundef @.str.4)
  %20613 = call ptr @__errno_location() #9
  %20614 = load i32, ptr %20613, align 4, !tbaa !5
  %20615 = call ptr @strerror(i32 noundef %20614) #8
  %20616 = call ptr @__errno_location() #9
  %20617 = load i32, ptr %20616, align 4, !tbaa !5
  %20618 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20605, ptr noundef @.str.2, i32 noundef %20606, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 413, ptr noundef %20609, ptr noundef %20612, ptr noundef %20615, i32 noundef %20617) #8
  br label %20636

20619:                                            ; preds = %20597, %20590
  %20620 = load i32, ptr %339, align 4, !tbaa !5
  %20621 = call ptr @__errno_location() #9
  store i32 %20620, ptr %20621, align 4, !tbaa !5
  %20622 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20623 = load i32, ptr @test_count, align 4, !tbaa !5
  %20624 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20625 = load i32, ptr %20624, align 4, !tbaa !5
  %20626 = call ptr @s2n_strerror(i32 noundef %20625, ptr noundef @.str.4)
  %20627 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20628 = load i32, ptr %20627, align 4, !tbaa !5
  %20629 = call ptr @s2n_strerror_debug(i32 noundef %20628, ptr noundef @.str.4)
  %20630 = call ptr @__errno_location() #9
  %20631 = load i32, ptr %20630, align 4, !tbaa !5
  %20632 = call ptr @strerror(i32 noundef %20631) #8
  %20633 = call ptr @__errno_location() #9
  %20634 = load i32, ptr %20633, align 4, !tbaa !5
  %20635 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20622, ptr noundef @.str.5, i32 noundef %20623, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 413, ptr noundef %20626, ptr noundef %20629, ptr noundef %20632, i32 noundef %20634) #8
  br label %20636

20636:                                            ; preds = %20619, %20602
  call void @llvm.lifetime.end.p0(i64 4, ptr %339) #8
  br label %20637

20637:                                            ; preds = %20636
  br label %20638

20638:                                            ; preds = %20637
  call void @exit(i32 noundef 1) #10
  unreachable

20639:                                            ; No predecessors!
  br label %20640

20640:                                            ; preds = %20639
  br label %20641

20641:                                            ; preds = %20640, %20581
  br label %20642

20642:                                            ; preds = %20641
  br label %20643

20643:                                            ; preds = %20642
  br label %20644

20644:                                            ; preds = %20643
  %20645 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %20645, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %20646 = call ptr @__errno_location() #9
  store i32 0, ptr %20646, align 4, !tbaa !5
  br label %20647

20647:                                            ; preds = %20644
  br label %20648

20648:                                            ; preds = %20647
  br label %20649

20649:                                            ; preds = %20648
  br label %20650

20650:                                            ; preds = %20649
  br label %20651

20651:                                            ; preds = %20650, %20453
  br label %20652

20652:                                            ; preds = %20651
  br label %20653

20653:                                            ; preds = %20652
  %20654 = load i32, ptr @test_count, align 4, !tbaa !5
  %20655 = add nsw i32 %20654, 1
  store i32 %20655, ptr @test_count, align 4, !tbaa !5
  %20656 = load ptr, ptr %239, align 8, !tbaa !9
  %20657 = call i32 @s2n_test_auth_combo(ptr noundef %20656, ptr noundef @s2n_tls13_aes_128_gcm_sha256, ptr noundef @s2n_rsa_pss_rsae_sha256, ptr noundef null)
  %20658 = icmp eq i32 %20657, -1
  br i1 %20658, label %20712, label %20659

20659:                                            ; preds = %20653
  br label %20660

20660:                                            ; preds = %20659
  br label %20661

20661:                                            ; preds = %20660
  call void @llvm.lifetime.start.p0(i64 4, ptr %340) #8
  %20662 = call ptr @__errno_location() #9
  %20663 = load i32, ptr %20662, align 4, !tbaa !5
  store i32 %20663, ptr %340, align 4, !tbaa !5
  %20664 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20665 = call i32 @s2n_print_stacktrace(ptr noundef %20664)
  %20666 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %20667 = trunc i8 %20666 to i1
  br i1 %20667, label %20668, label %20690

20668:                                            ; preds = %20661
  %20669 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20670 = call i32 @fileno(ptr noundef %20669) #8
  %20671 = call i32 @isatty(i32 noundef %20670) #8
  %20672 = icmp ne i32 %20671, 0
  br i1 %20672, label %20673, label %20690

20673:                                            ; preds = %20668
  %20674 = load i32, ptr %340, align 4, !tbaa !5
  %20675 = call ptr @__errno_location() #9
  store i32 %20674, ptr %20675, align 4, !tbaa !5
  %20676 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20677 = load i32, ptr @test_count, align 4, !tbaa !5
  %20678 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20679 = load i32, ptr %20678, align 4, !tbaa !5
  %20680 = call ptr @s2n_strerror(i32 noundef %20679, ptr noundef @.str.4)
  %20681 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20682 = load i32, ptr %20681, align 4, !tbaa !5
  %20683 = call ptr @s2n_strerror_debug(i32 noundef %20682, ptr noundef @.str.4)
  %20684 = call ptr @__errno_location() #9
  %20685 = load i32, ptr %20684, align 4, !tbaa !5
  %20686 = call ptr @strerror(i32 noundef %20685) #8
  %20687 = call ptr @__errno_location() #9
  %20688 = load i32, ptr %20687, align 4, !tbaa !5
  %20689 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20676, ptr noundef @.str.2, i32 noundef %20677, ptr noundef @.str.82, ptr noundef @.str.1, i32 noundef 414, ptr noundef %20680, ptr noundef %20683, ptr noundef %20686, i32 noundef %20688) #8
  br label %20707

20690:                                            ; preds = %20668, %20661
  %20691 = load i32, ptr %340, align 4, !tbaa !5
  %20692 = call ptr @__errno_location() #9
  store i32 %20691, ptr %20692, align 4, !tbaa !5
  %20693 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20694 = load i32, ptr @test_count, align 4, !tbaa !5
  %20695 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20696 = load i32, ptr %20695, align 4, !tbaa !5
  %20697 = call ptr @s2n_strerror(i32 noundef %20696, ptr noundef @.str.4)
  %20698 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20699 = load i32, ptr %20698, align 4, !tbaa !5
  %20700 = call ptr @s2n_strerror_debug(i32 noundef %20699, ptr noundef @.str.4)
  %20701 = call ptr @__errno_location() #9
  %20702 = load i32, ptr %20701, align 4, !tbaa !5
  %20703 = call ptr @strerror(i32 noundef %20702) #8
  %20704 = call ptr @__errno_location() #9
  %20705 = load i32, ptr %20704, align 4, !tbaa !5
  %20706 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20693, ptr noundef @.str.5, i32 noundef %20694, ptr noundef @.str.82, ptr noundef @.str.1, i32 noundef 414, ptr noundef %20697, ptr noundef %20700, ptr noundef %20703, i32 noundef %20705) #8
  br label %20707

20707:                                            ; preds = %20690, %20673
  call void @llvm.lifetime.end.p0(i64 4, ptr %340) #8
  br label %20708

20708:                                            ; preds = %20707
  br label %20709

20709:                                            ; preds = %20708
  call void @exit(i32 noundef 1) #10
  unreachable

20710:                                            ; No predecessors!
  br label %20711

20711:                                            ; preds = %20710
  br label %20712

20712:                                            ; preds = %20711, %20653
  br label %20713

20713:                                            ; preds = %20712
  br label %20714

20714:                                            ; preds = %20713
  br label %20715

20715:                                            ; preds = %20714
  %20716 = load i32, ptr @test_count, align 4, !tbaa !5
  %20717 = add nsw i32 %20716, 1
  store i32 %20717, ptr @test_count, align 4, !tbaa !5
  %20718 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20719 = load i32, ptr %20718, align 4, !tbaa !5
  %20720 = icmp eq i32 %20719, 0
  br i1 %20720, label %20721, label %20774

20721:                                            ; preds = %20715
  br label %20722

20722:                                            ; preds = %20721
  br label %20723

20723:                                            ; preds = %20722
  call void @llvm.lifetime.start.p0(i64 4, ptr %341) #8
  %20724 = call ptr @__errno_location() #9
  %20725 = load i32, ptr %20724, align 4, !tbaa !5
  store i32 %20725, ptr %341, align 4, !tbaa !5
  %20726 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20727 = call i32 @s2n_print_stacktrace(ptr noundef %20726)
  %20728 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %20729 = trunc i8 %20728 to i1
  br i1 %20729, label %20730, label %20752

20730:                                            ; preds = %20723
  %20731 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20732 = call i32 @fileno(ptr noundef %20731) #8
  %20733 = call i32 @isatty(i32 noundef %20732) #8
  %20734 = icmp ne i32 %20733, 0
  br i1 %20734, label %20735, label %20752

20735:                                            ; preds = %20730
  %20736 = load i32, ptr %341, align 4, !tbaa !5
  %20737 = call ptr @__errno_location() #9
  store i32 %20736, ptr %20737, align 4, !tbaa !5
  %20738 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20739 = load i32, ptr @test_count, align 4, !tbaa !5
  %20740 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20741 = load i32, ptr %20740, align 4, !tbaa !5
  %20742 = call ptr @s2n_strerror(i32 noundef %20741, ptr noundef @.str.4)
  %20743 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20744 = load i32, ptr %20743, align 4, !tbaa !5
  %20745 = call ptr @s2n_strerror_debug(i32 noundef %20744, ptr noundef @.str.4)
  %20746 = call ptr @__errno_location() #9
  %20747 = load i32, ptr %20746, align 4, !tbaa !5
  %20748 = call ptr @strerror(i32 noundef %20747) #8
  %20749 = call ptr @__errno_location() #9
  %20750 = load i32, ptr %20749, align 4, !tbaa !5
  %20751 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20738, ptr noundef @.str.2, i32 noundef %20739, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 414, ptr noundef %20742, ptr noundef %20745, ptr noundef %20748, i32 noundef %20750) #8
  br label %20769

20752:                                            ; preds = %20730, %20723
  %20753 = load i32, ptr %341, align 4, !tbaa !5
  %20754 = call ptr @__errno_location() #9
  store i32 %20753, ptr %20754, align 4, !tbaa !5
  %20755 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20756 = load i32, ptr @test_count, align 4, !tbaa !5
  %20757 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20758 = load i32, ptr %20757, align 4, !tbaa !5
  %20759 = call ptr @s2n_strerror(i32 noundef %20758, ptr noundef @.str.4)
  %20760 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20761 = load i32, ptr %20760, align 4, !tbaa !5
  %20762 = call ptr @s2n_strerror_debug(i32 noundef %20761, ptr noundef @.str.4)
  %20763 = call ptr @__errno_location() #9
  %20764 = load i32, ptr %20763, align 4, !tbaa !5
  %20765 = call ptr @strerror(i32 noundef %20764) #8
  %20766 = call ptr @__errno_location() #9
  %20767 = load i32, ptr %20766, align 4, !tbaa !5
  %20768 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20755, ptr noundef @.str.5, i32 noundef %20756, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 414, ptr noundef %20759, ptr noundef %20762, ptr noundef %20765, i32 noundef %20767) #8
  br label %20769

20769:                                            ; preds = %20752, %20735
  call void @llvm.lifetime.end.p0(i64 4, ptr %341) #8
  br label %20770

20770:                                            ; preds = %20769
  br label %20771

20771:                                            ; preds = %20770
  call void @exit(i32 noundef 1) #10
  unreachable

20772:                                            ; No predecessors!
  br label %20773

20773:                                            ; preds = %20772
  br label %20774

20774:                                            ; preds = %20773, %20715
  br label %20775

20775:                                            ; preds = %20774
  br label %20776

20776:                                            ; preds = %20775
  br label %20777

20777:                                            ; preds = %20776
  %20778 = load i32, ptr @test_count, align 4, !tbaa !5
  %20779 = add nsw i32 %20778, 1
  store i32 %20779, ptr @test_count, align 4, !tbaa !5
  %20780 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20781 = load i32, ptr %20780, align 4, !tbaa !5
  %20782 = call ptr @s2n_strerror_debug(i32 noundef %20781, ptr noundef @.str.4)
  %20783 = icmp eq ptr %20782, null
  br i1 %20783, label %20784, label %20837

20784:                                            ; preds = %20777
  br label %20785

20785:                                            ; preds = %20784
  br label %20786

20786:                                            ; preds = %20785
  call void @llvm.lifetime.start.p0(i64 4, ptr %342) #8
  %20787 = call ptr @__errno_location() #9
  %20788 = load i32, ptr %20787, align 4, !tbaa !5
  store i32 %20788, ptr %342, align 4, !tbaa !5
  %20789 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20790 = call i32 @s2n_print_stacktrace(ptr noundef %20789)
  %20791 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %20792 = trunc i8 %20791 to i1
  br i1 %20792, label %20793, label %20815

20793:                                            ; preds = %20786
  %20794 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20795 = call i32 @fileno(ptr noundef %20794) #8
  %20796 = call i32 @isatty(i32 noundef %20795) #8
  %20797 = icmp ne i32 %20796, 0
  br i1 %20797, label %20798, label %20815

20798:                                            ; preds = %20793
  %20799 = load i32, ptr %342, align 4, !tbaa !5
  %20800 = call ptr @__errno_location() #9
  store i32 %20799, ptr %20800, align 4, !tbaa !5
  %20801 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20802 = load i32, ptr @test_count, align 4, !tbaa !5
  %20803 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20804 = load i32, ptr %20803, align 4, !tbaa !5
  %20805 = call ptr @s2n_strerror(i32 noundef %20804, ptr noundef @.str.4)
  %20806 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20807 = load i32, ptr %20806, align 4, !tbaa !5
  %20808 = call ptr @s2n_strerror_debug(i32 noundef %20807, ptr noundef @.str.4)
  %20809 = call ptr @__errno_location() #9
  %20810 = load i32, ptr %20809, align 4, !tbaa !5
  %20811 = call ptr @strerror(i32 noundef %20810) #8
  %20812 = call ptr @__errno_location() #9
  %20813 = load i32, ptr %20812, align 4, !tbaa !5
  %20814 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20801, ptr noundef @.str.2, i32 noundef %20802, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 414, ptr noundef %20805, ptr noundef %20808, ptr noundef %20811, i32 noundef %20813) #8
  br label %20832

20815:                                            ; preds = %20793, %20786
  %20816 = load i32, ptr %342, align 4, !tbaa !5
  %20817 = call ptr @__errno_location() #9
  store i32 %20816, ptr %20817, align 4, !tbaa !5
  %20818 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20819 = load i32, ptr @test_count, align 4, !tbaa !5
  %20820 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20821 = load i32, ptr %20820, align 4, !tbaa !5
  %20822 = call ptr @s2n_strerror(i32 noundef %20821, ptr noundef @.str.4)
  %20823 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20824 = load i32, ptr %20823, align 4, !tbaa !5
  %20825 = call ptr @s2n_strerror_debug(i32 noundef %20824, ptr noundef @.str.4)
  %20826 = call ptr @__errno_location() #9
  %20827 = load i32, ptr %20826, align 4, !tbaa !5
  %20828 = call ptr @strerror(i32 noundef %20827) #8
  %20829 = call ptr @__errno_location() #9
  %20830 = load i32, ptr %20829, align 4, !tbaa !5
  %20831 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20818, ptr noundef @.str.5, i32 noundef %20819, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 414, ptr noundef %20822, ptr noundef %20825, ptr noundef %20828, i32 noundef %20830) #8
  br label %20832

20832:                                            ; preds = %20815, %20798
  call void @llvm.lifetime.end.p0(i64 4, ptr %342) #8
  br label %20833

20833:                                            ; preds = %20832
  br label %20834

20834:                                            ; preds = %20833
  call void @exit(i32 noundef 1) #10
  unreachable

20835:                                            ; No predecessors!
  br label %20836

20836:                                            ; preds = %20835
  br label %20837

20837:                                            ; preds = %20836, %20777
  br label %20838

20838:                                            ; preds = %20837
  br label %20839

20839:                                            ; preds = %20838
  br label %20840

20840:                                            ; preds = %20839
  %20841 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %20841, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %20842 = call ptr @__errno_location() #9
  store i32 0, ptr %20842, align 4, !tbaa !5
  br label %20843

20843:                                            ; preds = %20840
  br label %20844

20844:                                            ; preds = %20843
  br label %20845

20845:                                            ; preds = %20844
  br label %20846

20846:                                            ; preds = %20845
  br label %20847

20847:                                            ; preds = %20846
  br label %20848

20848:                                            ; preds = %20847
  %20849 = load i32, ptr @test_count, align 4, !tbaa !5
  %20850 = add nsw i32 %20849, 1
  store i32 %20850, ptr @test_count, align 4, !tbaa !5
  %20851 = load ptr, ptr %239, align 8, !tbaa !9
  %20852 = call i32 @s2n_test_auth_combo(ptr noundef %20851, ptr noundef @s2n_tls13_aes_128_gcm_sha256, ptr noundef @s2n_ecdsa_sha384, ptr noundef null)
  %20853 = icmp eq i32 %20852, -1
  br i1 %20853, label %20907, label %20854

20854:                                            ; preds = %20848
  br label %20855

20855:                                            ; preds = %20854
  br label %20856

20856:                                            ; preds = %20855
  call void @llvm.lifetime.start.p0(i64 4, ptr %343) #8
  %20857 = call ptr @__errno_location() #9
  %20858 = load i32, ptr %20857, align 4, !tbaa !5
  store i32 %20858, ptr %343, align 4, !tbaa !5
  %20859 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20860 = call i32 @s2n_print_stacktrace(ptr noundef %20859)
  %20861 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %20862 = trunc i8 %20861 to i1
  br i1 %20862, label %20863, label %20885

20863:                                            ; preds = %20856
  %20864 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20865 = call i32 @fileno(ptr noundef %20864) #8
  %20866 = call i32 @isatty(i32 noundef %20865) #8
  %20867 = icmp ne i32 %20866, 0
  br i1 %20867, label %20868, label %20885

20868:                                            ; preds = %20863
  %20869 = load i32, ptr %343, align 4, !tbaa !5
  %20870 = call ptr @__errno_location() #9
  store i32 %20869, ptr %20870, align 4, !tbaa !5
  %20871 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20872 = load i32, ptr @test_count, align 4, !tbaa !5
  %20873 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20874 = load i32, ptr %20873, align 4, !tbaa !5
  %20875 = call ptr @s2n_strerror(i32 noundef %20874, ptr noundef @.str.4)
  %20876 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20877 = load i32, ptr %20876, align 4, !tbaa !5
  %20878 = call ptr @s2n_strerror_debug(i32 noundef %20877, ptr noundef @.str.4)
  %20879 = call ptr @__errno_location() #9
  %20880 = load i32, ptr %20879, align 4, !tbaa !5
  %20881 = call ptr @strerror(i32 noundef %20880) #8
  %20882 = call ptr @__errno_location() #9
  %20883 = load i32, ptr %20882, align 4, !tbaa !5
  %20884 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20871, ptr noundef @.str.2, i32 noundef %20872, ptr noundef @.str.83, ptr noundef @.str.1, i32 noundef 415, ptr noundef %20875, ptr noundef %20878, ptr noundef %20881, i32 noundef %20883) #8
  br label %20902

20885:                                            ; preds = %20863, %20856
  %20886 = load i32, ptr %343, align 4, !tbaa !5
  %20887 = call ptr @__errno_location() #9
  store i32 %20886, ptr %20887, align 4, !tbaa !5
  %20888 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20889 = load i32, ptr @test_count, align 4, !tbaa !5
  %20890 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20891 = load i32, ptr %20890, align 4, !tbaa !5
  %20892 = call ptr @s2n_strerror(i32 noundef %20891, ptr noundef @.str.4)
  %20893 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20894 = load i32, ptr %20893, align 4, !tbaa !5
  %20895 = call ptr @s2n_strerror_debug(i32 noundef %20894, ptr noundef @.str.4)
  %20896 = call ptr @__errno_location() #9
  %20897 = load i32, ptr %20896, align 4, !tbaa !5
  %20898 = call ptr @strerror(i32 noundef %20897) #8
  %20899 = call ptr @__errno_location() #9
  %20900 = load i32, ptr %20899, align 4, !tbaa !5
  %20901 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20888, ptr noundef @.str.5, i32 noundef %20889, ptr noundef @.str.83, ptr noundef @.str.1, i32 noundef 415, ptr noundef %20892, ptr noundef %20895, ptr noundef %20898, i32 noundef %20900) #8
  br label %20902

20902:                                            ; preds = %20885, %20868
  call void @llvm.lifetime.end.p0(i64 4, ptr %343) #8
  br label %20903

20903:                                            ; preds = %20902
  br label %20904

20904:                                            ; preds = %20903
  call void @exit(i32 noundef 1) #10
  unreachable

20905:                                            ; No predecessors!
  br label %20906

20906:                                            ; preds = %20905
  br label %20907

20907:                                            ; preds = %20906, %20848
  br label %20908

20908:                                            ; preds = %20907
  br label %20909

20909:                                            ; preds = %20908
  br label %20910

20910:                                            ; preds = %20909
  %20911 = load i32, ptr @test_count, align 4, !tbaa !5
  %20912 = add nsw i32 %20911, 1
  store i32 %20912, ptr @test_count, align 4, !tbaa !5
  %20913 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20914 = load i32, ptr %20913, align 4, !tbaa !5
  %20915 = icmp eq i32 %20914, 0
  br i1 %20915, label %20916, label %20969

20916:                                            ; preds = %20910
  br label %20917

20917:                                            ; preds = %20916
  br label %20918

20918:                                            ; preds = %20917
  call void @llvm.lifetime.start.p0(i64 4, ptr %344) #8
  %20919 = call ptr @__errno_location() #9
  %20920 = load i32, ptr %20919, align 4, !tbaa !5
  store i32 %20920, ptr %344, align 4, !tbaa !5
  %20921 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20922 = call i32 @s2n_print_stacktrace(ptr noundef %20921)
  %20923 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %20924 = trunc i8 %20923 to i1
  br i1 %20924, label %20925, label %20947

20925:                                            ; preds = %20918
  %20926 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20927 = call i32 @fileno(ptr noundef %20926) #8
  %20928 = call i32 @isatty(i32 noundef %20927) #8
  %20929 = icmp ne i32 %20928, 0
  br i1 %20929, label %20930, label %20947

20930:                                            ; preds = %20925
  %20931 = load i32, ptr %344, align 4, !tbaa !5
  %20932 = call ptr @__errno_location() #9
  store i32 %20931, ptr %20932, align 4, !tbaa !5
  %20933 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20934 = load i32, ptr @test_count, align 4, !tbaa !5
  %20935 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20936 = load i32, ptr %20935, align 4, !tbaa !5
  %20937 = call ptr @s2n_strerror(i32 noundef %20936, ptr noundef @.str.4)
  %20938 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20939 = load i32, ptr %20938, align 4, !tbaa !5
  %20940 = call ptr @s2n_strerror_debug(i32 noundef %20939, ptr noundef @.str.4)
  %20941 = call ptr @__errno_location() #9
  %20942 = load i32, ptr %20941, align 4, !tbaa !5
  %20943 = call ptr @strerror(i32 noundef %20942) #8
  %20944 = call ptr @__errno_location() #9
  %20945 = load i32, ptr %20944, align 4, !tbaa !5
  %20946 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20933, ptr noundef @.str.2, i32 noundef %20934, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 415, ptr noundef %20937, ptr noundef %20940, ptr noundef %20943, i32 noundef %20945) #8
  br label %20964

20947:                                            ; preds = %20925, %20918
  %20948 = load i32, ptr %344, align 4, !tbaa !5
  %20949 = call ptr @__errno_location() #9
  store i32 %20948, ptr %20949, align 4, !tbaa !5
  %20950 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20951 = load i32, ptr @test_count, align 4, !tbaa !5
  %20952 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20953 = load i32, ptr %20952, align 4, !tbaa !5
  %20954 = call ptr @s2n_strerror(i32 noundef %20953, ptr noundef @.str.4)
  %20955 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20956 = load i32, ptr %20955, align 4, !tbaa !5
  %20957 = call ptr @s2n_strerror_debug(i32 noundef %20956, ptr noundef @.str.4)
  %20958 = call ptr @__errno_location() #9
  %20959 = load i32, ptr %20958, align 4, !tbaa !5
  %20960 = call ptr @strerror(i32 noundef %20959) #8
  %20961 = call ptr @__errno_location() #9
  %20962 = load i32, ptr %20961, align 4, !tbaa !5
  %20963 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20950, ptr noundef @.str.5, i32 noundef %20951, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 415, ptr noundef %20954, ptr noundef %20957, ptr noundef %20960, i32 noundef %20962) #8
  br label %20964

20964:                                            ; preds = %20947, %20930
  call void @llvm.lifetime.end.p0(i64 4, ptr %344) #8
  br label %20965

20965:                                            ; preds = %20964
  br label %20966

20966:                                            ; preds = %20965
  call void @exit(i32 noundef 1) #10
  unreachable

20967:                                            ; No predecessors!
  br label %20968

20968:                                            ; preds = %20967
  br label %20969

20969:                                            ; preds = %20968, %20910
  br label %20970

20970:                                            ; preds = %20969
  br label %20971

20971:                                            ; preds = %20970
  br label %20972

20972:                                            ; preds = %20971
  %20973 = load i32, ptr @test_count, align 4, !tbaa !5
  %20974 = add nsw i32 %20973, 1
  store i32 %20974, ptr @test_count, align 4, !tbaa !5
  %20975 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20976 = load i32, ptr %20975, align 4, !tbaa !5
  %20977 = call ptr @s2n_strerror_debug(i32 noundef %20976, ptr noundef @.str.4)
  %20978 = icmp eq ptr %20977, null
  br i1 %20978, label %20979, label %21032

20979:                                            ; preds = %20972
  br label %20980

20980:                                            ; preds = %20979
  br label %20981

20981:                                            ; preds = %20980
  call void @llvm.lifetime.start.p0(i64 4, ptr %345) #8
  %20982 = call ptr @__errno_location() #9
  %20983 = load i32, ptr %20982, align 4, !tbaa !5
  store i32 %20983, ptr %345, align 4, !tbaa !5
  %20984 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20985 = call i32 @s2n_print_stacktrace(ptr noundef %20984)
  %20986 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %20987 = trunc i8 %20986 to i1
  br i1 %20987, label %20988, label %21010

20988:                                            ; preds = %20981
  %20989 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20990 = call i32 @fileno(ptr noundef %20989) #8
  %20991 = call i32 @isatty(i32 noundef %20990) #8
  %20992 = icmp ne i32 %20991, 0
  br i1 %20992, label %20993, label %21010

20993:                                            ; preds = %20988
  %20994 = load i32, ptr %345, align 4, !tbaa !5
  %20995 = call ptr @__errno_location() #9
  store i32 %20994, ptr %20995, align 4, !tbaa !5
  %20996 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20997 = load i32, ptr @test_count, align 4, !tbaa !5
  %20998 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20999 = load i32, ptr %20998, align 4, !tbaa !5
  %21000 = call ptr @s2n_strerror(i32 noundef %20999, ptr noundef @.str.4)
  %21001 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21002 = load i32, ptr %21001, align 4, !tbaa !5
  %21003 = call ptr @s2n_strerror_debug(i32 noundef %21002, ptr noundef @.str.4)
  %21004 = call ptr @__errno_location() #9
  %21005 = load i32, ptr %21004, align 4, !tbaa !5
  %21006 = call ptr @strerror(i32 noundef %21005) #8
  %21007 = call ptr @__errno_location() #9
  %21008 = load i32, ptr %21007, align 4, !tbaa !5
  %21009 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20996, ptr noundef @.str.2, i32 noundef %20997, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 415, ptr noundef %21000, ptr noundef %21003, ptr noundef %21006, i32 noundef %21008) #8
  br label %21027

21010:                                            ; preds = %20988, %20981
  %21011 = load i32, ptr %345, align 4, !tbaa !5
  %21012 = call ptr @__errno_location() #9
  store i32 %21011, ptr %21012, align 4, !tbaa !5
  %21013 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21014 = load i32, ptr @test_count, align 4, !tbaa !5
  %21015 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21016 = load i32, ptr %21015, align 4, !tbaa !5
  %21017 = call ptr @s2n_strerror(i32 noundef %21016, ptr noundef @.str.4)
  %21018 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21019 = load i32, ptr %21018, align 4, !tbaa !5
  %21020 = call ptr @s2n_strerror_debug(i32 noundef %21019, ptr noundef @.str.4)
  %21021 = call ptr @__errno_location() #9
  %21022 = load i32, ptr %21021, align 4, !tbaa !5
  %21023 = call ptr @strerror(i32 noundef %21022) #8
  %21024 = call ptr @__errno_location() #9
  %21025 = load i32, ptr %21024, align 4, !tbaa !5
  %21026 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21013, ptr noundef @.str.5, i32 noundef %21014, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 415, ptr noundef %21017, ptr noundef %21020, ptr noundef %21023, i32 noundef %21025) #8
  br label %21027

21027:                                            ; preds = %21010, %20993
  call void @llvm.lifetime.end.p0(i64 4, ptr %345) #8
  br label %21028

21028:                                            ; preds = %21027
  br label %21029

21029:                                            ; preds = %21028
  call void @exit(i32 noundef 1) #10
  unreachable

21030:                                            ; No predecessors!
  br label %21031

21031:                                            ; preds = %21030
  br label %21032

21032:                                            ; preds = %21031, %20972
  br label %21033

21033:                                            ; preds = %21032
  br label %21034

21034:                                            ; preds = %21033
  br label %21035

21035:                                            ; preds = %21034
  %21036 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %21036, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %21037 = call ptr @__errno_location() #9
  store i32 0, ptr %21037, align 4, !tbaa !5
  br label %21038

21038:                                            ; preds = %21035
  br label %21039

21039:                                            ; preds = %21038
  br label %21040

21040:                                            ; preds = %21039
  br label %21041

21041:                                            ; preds = %21040
  br label %21042

21042:                                            ; preds = %21041
  %21043 = load i32, ptr @test_count, align 4, !tbaa !5
  %21044 = add nsw i32 %21043, 1
  store i32 %21044, ptr @test_count, align 4, !tbaa !5
  %21045 = load ptr, ptr %239, align 8, !tbaa !9
  %21046 = load ptr, ptr %17, align 8, !tbaa !9
  %21047 = call i32 @s2n_connection_set_config(ptr noundef %21045, ptr noundef %21046)
  %21048 = icmp eq i32 %21047, -1
  br i1 %21048, label %21049, label %21102

21049:                                            ; preds = %21042
  br label %21050

21050:                                            ; preds = %21049
  br label %21051

21051:                                            ; preds = %21050
  call void @llvm.lifetime.start.p0(i64 4, ptr %346) #8
  %21052 = call ptr @__errno_location() #9
  %21053 = load i32, ptr %21052, align 4, !tbaa !5
  store i32 %21053, ptr %346, align 4, !tbaa !5
  %21054 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21055 = call i32 @s2n_print_stacktrace(ptr noundef %21054)
  %21056 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %21057 = trunc i8 %21056 to i1
  br i1 %21057, label %21058, label %21080

21058:                                            ; preds = %21051
  %21059 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21060 = call i32 @fileno(ptr noundef %21059) #8
  %21061 = call i32 @isatty(i32 noundef %21060) #8
  %21062 = icmp ne i32 %21061, 0
  br i1 %21062, label %21063, label %21080

21063:                                            ; preds = %21058
  %21064 = load i32, ptr %346, align 4, !tbaa !5
  %21065 = call ptr @__errno_location() #9
  store i32 %21064, ptr %21065, align 4, !tbaa !5
  %21066 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21067 = load i32, ptr @test_count, align 4, !tbaa !5
  %21068 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21069 = load i32, ptr %21068, align 4, !tbaa !5
  %21070 = call ptr @s2n_strerror(i32 noundef %21069, ptr noundef @.str.4)
  %21071 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21072 = load i32, ptr %21071, align 4, !tbaa !5
  %21073 = call ptr @s2n_strerror_debug(i32 noundef %21072, ptr noundef @.str.4)
  %21074 = call ptr @__errno_location() #9
  %21075 = load i32, ptr %21074, align 4, !tbaa !5
  %21076 = call ptr @strerror(i32 noundef %21075) #8
  %21077 = call ptr @__errno_location() #9
  %21078 = load i32, ptr %21077, align 4, !tbaa !5
  %21079 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21066, ptr noundef @.str.2, i32 noundef %21067, ptr noundef @.str.28, ptr noundef @.str.1, i32 noundef 418, ptr noundef %21070, ptr noundef %21073, ptr noundef %21076, i32 noundef %21078) #8
  br label %21097

21080:                                            ; preds = %21058, %21051
  %21081 = load i32, ptr %346, align 4, !tbaa !5
  %21082 = call ptr @__errno_location() #9
  store i32 %21081, ptr %21082, align 4, !tbaa !5
  %21083 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21084 = load i32, ptr @test_count, align 4, !tbaa !5
  %21085 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21086 = load i32, ptr %21085, align 4, !tbaa !5
  %21087 = call ptr @s2n_strerror(i32 noundef %21086, ptr noundef @.str.4)
  %21088 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21089 = load i32, ptr %21088, align 4, !tbaa !5
  %21090 = call ptr @s2n_strerror_debug(i32 noundef %21089, ptr noundef @.str.4)
  %21091 = call ptr @__errno_location() #9
  %21092 = load i32, ptr %21091, align 4, !tbaa !5
  %21093 = call ptr @strerror(i32 noundef %21092) #8
  %21094 = call ptr @__errno_location() #9
  %21095 = load i32, ptr %21094, align 4, !tbaa !5
  %21096 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21083, ptr noundef @.str.5, i32 noundef %21084, ptr noundef @.str.28, ptr noundef @.str.1, i32 noundef 418, ptr noundef %21087, ptr noundef %21090, ptr noundef %21093, i32 noundef %21095) #8
  br label %21097

21097:                                            ; preds = %21080, %21063
  call void @llvm.lifetime.end.p0(i64 4, ptr %346) #8
  br label %21098

21098:                                            ; preds = %21097
  br label %21099

21099:                                            ; preds = %21098
  call void @exit(i32 noundef 1) #10
  unreachable

21100:                                            ; No predecessors!
  br label %21101

21101:                                            ; preds = %21100
  br label %21102

21102:                                            ; preds = %21101, %21042
  br label %21103

21103:                                            ; preds = %21102
  br label %21104

21104:                                            ; preds = %21103
  br label %21105

21105:                                            ; preds = %21104
  br label %21106

21106:                                            ; preds = %21105
  %21107 = load i32, ptr @test_count, align 4, !tbaa !5
  %21108 = add nsw i32 %21107, 1
  store i32 %21108, ptr @test_count, align 4, !tbaa !5
  %21109 = load ptr, ptr %239, align 8, !tbaa !9
  %21110 = call i32 @s2n_test_auth_combo(ptr noundef %21109, ptr noundef @s2n_dhe_rsa_with_3des_ede_cbc_sha, ptr noundef @s2n_rsa_pkcs1_md5_sha1, ptr noundef null)
  %21111 = icmp eq i32 %21110, -1
  br i1 %21111, label %21165, label %21112

21112:                                            ; preds = %21106
  br label %21113

21113:                                            ; preds = %21112
  br label %21114

21114:                                            ; preds = %21113
  call void @llvm.lifetime.start.p0(i64 4, ptr %347) #8
  %21115 = call ptr @__errno_location() #9
  %21116 = load i32, ptr %21115, align 4, !tbaa !5
  store i32 %21116, ptr %347, align 4, !tbaa !5
  %21117 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21118 = call i32 @s2n_print_stacktrace(ptr noundef %21117)
  %21119 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %21120 = trunc i8 %21119 to i1
  br i1 %21120, label %21121, label %21143

21121:                                            ; preds = %21114
  %21122 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21123 = call i32 @fileno(ptr noundef %21122) #8
  %21124 = call i32 @isatty(i32 noundef %21123) #8
  %21125 = icmp ne i32 %21124, 0
  br i1 %21125, label %21126, label %21143

21126:                                            ; preds = %21121
  %21127 = load i32, ptr %347, align 4, !tbaa !5
  %21128 = call ptr @__errno_location() #9
  store i32 %21127, ptr %21128, align 4, !tbaa !5
  %21129 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21130 = load i32, ptr @test_count, align 4, !tbaa !5
  %21131 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21132 = load i32, ptr %21131, align 4, !tbaa !5
  %21133 = call ptr @s2n_strerror(i32 noundef %21132, ptr noundef @.str.4)
  %21134 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21135 = load i32, ptr %21134, align 4, !tbaa !5
  %21136 = call ptr @s2n_strerror_debug(i32 noundef %21135, ptr noundef @.str.4)
  %21137 = call ptr @__errno_location() #9
  %21138 = load i32, ptr %21137, align 4, !tbaa !5
  %21139 = call ptr @strerror(i32 noundef %21138) #8
  %21140 = call ptr @__errno_location() #9
  %21141 = load i32, ptr %21140, align 4, !tbaa !5
  %21142 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21129, ptr noundef @.str.2, i32 noundef %21130, ptr noundef @.str.72, ptr noundef @.str.1, i32 noundef 420, ptr noundef %21133, ptr noundef %21136, ptr noundef %21139, i32 noundef %21141) #8
  br label %21160

21143:                                            ; preds = %21121, %21114
  %21144 = load i32, ptr %347, align 4, !tbaa !5
  %21145 = call ptr @__errno_location() #9
  store i32 %21144, ptr %21145, align 4, !tbaa !5
  %21146 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21147 = load i32, ptr @test_count, align 4, !tbaa !5
  %21148 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21149 = load i32, ptr %21148, align 4, !tbaa !5
  %21150 = call ptr @s2n_strerror(i32 noundef %21149, ptr noundef @.str.4)
  %21151 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21152 = load i32, ptr %21151, align 4, !tbaa !5
  %21153 = call ptr @s2n_strerror_debug(i32 noundef %21152, ptr noundef @.str.4)
  %21154 = call ptr @__errno_location() #9
  %21155 = load i32, ptr %21154, align 4, !tbaa !5
  %21156 = call ptr @strerror(i32 noundef %21155) #8
  %21157 = call ptr @__errno_location() #9
  %21158 = load i32, ptr %21157, align 4, !tbaa !5
  %21159 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21146, ptr noundef @.str.5, i32 noundef %21147, ptr noundef @.str.72, ptr noundef @.str.1, i32 noundef 420, ptr noundef %21150, ptr noundef %21153, ptr noundef %21156, i32 noundef %21158) #8
  br label %21160

21160:                                            ; preds = %21143, %21126
  call void @llvm.lifetime.end.p0(i64 4, ptr %347) #8
  br label %21161

21161:                                            ; preds = %21160
  br label %21162

21162:                                            ; preds = %21161
  call void @exit(i32 noundef 1) #10
  unreachable

21163:                                            ; No predecessors!
  br label %21164

21164:                                            ; preds = %21163
  br label %21165

21165:                                            ; preds = %21164, %21106
  br label %21166

21166:                                            ; preds = %21165
  br label %21167

21167:                                            ; preds = %21166
  br label %21168

21168:                                            ; preds = %21167
  %21169 = load i32, ptr @test_count, align 4, !tbaa !5
  %21170 = add nsw i32 %21169, 1
  store i32 %21170, ptr @test_count, align 4, !tbaa !5
  %21171 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21172 = load i32, ptr %21171, align 4, !tbaa !5
  %21173 = icmp eq i32 %21172, 0
  br i1 %21173, label %21174, label %21227

21174:                                            ; preds = %21168
  br label %21175

21175:                                            ; preds = %21174
  br label %21176

21176:                                            ; preds = %21175
  call void @llvm.lifetime.start.p0(i64 4, ptr %348) #8
  %21177 = call ptr @__errno_location() #9
  %21178 = load i32, ptr %21177, align 4, !tbaa !5
  store i32 %21178, ptr %348, align 4, !tbaa !5
  %21179 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21180 = call i32 @s2n_print_stacktrace(ptr noundef %21179)
  %21181 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %21182 = trunc i8 %21181 to i1
  br i1 %21182, label %21183, label %21205

21183:                                            ; preds = %21176
  %21184 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21185 = call i32 @fileno(ptr noundef %21184) #8
  %21186 = call i32 @isatty(i32 noundef %21185) #8
  %21187 = icmp ne i32 %21186, 0
  br i1 %21187, label %21188, label %21205

21188:                                            ; preds = %21183
  %21189 = load i32, ptr %348, align 4, !tbaa !5
  %21190 = call ptr @__errno_location() #9
  store i32 %21189, ptr %21190, align 4, !tbaa !5
  %21191 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21192 = load i32, ptr @test_count, align 4, !tbaa !5
  %21193 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21194 = load i32, ptr %21193, align 4, !tbaa !5
  %21195 = call ptr @s2n_strerror(i32 noundef %21194, ptr noundef @.str.4)
  %21196 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21197 = load i32, ptr %21196, align 4, !tbaa !5
  %21198 = call ptr @s2n_strerror_debug(i32 noundef %21197, ptr noundef @.str.4)
  %21199 = call ptr @__errno_location() #9
  %21200 = load i32, ptr %21199, align 4, !tbaa !5
  %21201 = call ptr @strerror(i32 noundef %21200) #8
  %21202 = call ptr @__errno_location() #9
  %21203 = load i32, ptr %21202, align 4, !tbaa !5
  %21204 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21191, ptr noundef @.str.2, i32 noundef %21192, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 420, ptr noundef %21195, ptr noundef %21198, ptr noundef %21201, i32 noundef %21203) #8
  br label %21222

21205:                                            ; preds = %21183, %21176
  %21206 = load i32, ptr %348, align 4, !tbaa !5
  %21207 = call ptr @__errno_location() #9
  store i32 %21206, ptr %21207, align 4, !tbaa !5
  %21208 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21209 = load i32, ptr @test_count, align 4, !tbaa !5
  %21210 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21211 = load i32, ptr %21210, align 4, !tbaa !5
  %21212 = call ptr @s2n_strerror(i32 noundef %21211, ptr noundef @.str.4)
  %21213 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21214 = load i32, ptr %21213, align 4, !tbaa !5
  %21215 = call ptr @s2n_strerror_debug(i32 noundef %21214, ptr noundef @.str.4)
  %21216 = call ptr @__errno_location() #9
  %21217 = load i32, ptr %21216, align 4, !tbaa !5
  %21218 = call ptr @strerror(i32 noundef %21217) #8
  %21219 = call ptr @__errno_location() #9
  %21220 = load i32, ptr %21219, align 4, !tbaa !5
  %21221 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21208, ptr noundef @.str.5, i32 noundef %21209, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 420, ptr noundef %21212, ptr noundef %21215, ptr noundef %21218, i32 noundef %21220) #8
  br label %21222

21222:                                            ; preds = %21205, %21188
  call void @llvm.lifetime.end.p0(i64 4, ptr %348) #8
  br label %21223

21223:                                            ; preds = %21222
  br label %21224

21224:                                            ; preds = %21223
  call void @exit(i32 noundef 1) #10
  unreachable

21225:                                            ; No predecessors!
  br label %21226

21226:                                            ; preds = %21225
  br label %21227

21227:                                            ; preds = %21226, %21168
  br label %21228

21228:                                            ; preds = %21227
  br label %21229

21229:                                            ; preds = %21228
  br label %21230

21230:                                            ; preds = %21229
  %21231 = load i32, ptr @test_count, align 4, !tbaa !5
  %21232 = add nsw i32 %21231, 1
  store i32 %21232, ptr @test_count, align 4, !tbaa !5
  %21233 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21234 = load i32, ptr %21233, align 4, !tbaa !5
  %21235 = call ptr @s2n_strerror_debug(i32 noundef %21234, ptr noundef @.str.4)
  %21236 = icmp eq ptr %21235, null
  br i1 %21236, label %21237, label %21290

21237:                                            ; preds = %21230
  br label %21238

21238:                                            ; preds = %21237
  br label %21239

21239:                                            ; preds = %21238
  call void @llvm.lifetime.start.p0(i64 4, ptr %349) #8
  %21240 = call ptr @__errno_location() #9
  %21241 = load i32, ptr %21240, align 4, !tbaa !5
  store i32 %21241, ptr %349, align 4, !tbaa !5
  %21242 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21243 = call i32 @s2n_print_stacktrace(ptr noundef %21242)
  %21244 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %21245 = trunc i8 %21244 to i1
  br i1 %21245, label %21246, label %21268

21246:                                            ; preds = %21239
  %21247 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21248 = call i32 @fileno(ptr noundef %21247) #8
  %21249 = call i32 @isatty(i32 noundef %21248) #8
  %21250 = icmp ne i32 %21249, 0
  br i1 %21250, label %21251, label %21268

21251:                                            ; preds = %21246
  %21252 = load i32, ptr %349, align 4, !tbaa !5
  %21253 = call ptr @__errno_location() #9
  store i32 %21252, ptr %21253, align 4, !tbaa !5
  %21254 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21255 = load i32, ptr @test_count, align 4, !tbaa !5
  %21256 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21257 = load i32, ptr %21256, align 4, !tbaa !5
  %21258 = call ptr @s2n_strerror(i32 noundef %21257, ptr noundef @.str.4)
  %21259 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21260 = load i32, ptr %21259, align 4, !tbaa !5
  %21261 = call ptr @s2n_strerror_debug(i32 noundef %21260, ptr noundef @.str.4)
  %21262 = call ptr @__errno_location() #9
  %21263 = load i32, ptr %21262, align 4, !tbaa !5
  %21264 = call ptr @strerror(i32 noundef %21263) #8
  %21265 = call ptr @__errno_location() #9
  %21266 = load i32, ptr %21265, align 4, !tbaa !5
  %21267 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21254, ptr noundef @.str.2, i32 noundef %21255, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 420, ptr noundef %21258, ptr noundef %21261, ptr noundef %21264, i32 noundef %21266) #8
  br label %21285

21268:                                            ; preds = %21246, %21239
  %21269 = load i32, ptr %349, align 4, !tbaa !5
  %21270 = call ptr @__errno_location() #9
  store i32 %21269, ptr %21270, align 4, !tbaa !5
  %21271 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21272 = load i32, ptr @test_count, align 4, !tbaa !5
  %21273 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21274 = load i32, ptr %21273, align 4, !tbaa !5
  %21275 = call ptr @s2n_strerror(i32 noundef %21274, ptr noundef @.str.4)
  %21276 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21277 = load i32, ptr %21276, align 4, !tbaa !5
  %21278 = call ptr @s2n_strerror_debug(i32 noundef %21277, ptr noundef @.str.4)
  %21279 = call ptr @__errno_location() #9
  %21280 = load i32, ptr %21279, align 4, !tbaa !5
  %21281 = call ptr @strerror(i32 noundef %21280) #8
  %21282 = call ptr @__errno_location() #9
  %21283 = load i32, ptr %21282, align 4, !tbaa !5
  %21284 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21271, ptr noundef @.str.5, i32 noundef %21272, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 420, ptr noundef %21275, ptr noundef %21278, ptr noundef %21281, i32 noundef %21283) #8
  br label %21285

21285:                                            ; preds = %21268, %21251
  call void @llvm.lifetime.end.p0(i64 4, ptr %349) #8
  br label %21286

21286:                                            ; preds = %21285
  br label %21287

21287:                                            ; preds = %21286
  call void @exit(i32 noundef 1) #10
  unreachable

21288:                                            ; No predecessors!
  br label %21289

21289:                                            ; preds = %21288
  br label %21290

21290:                                            ; preds = %21289, %21230
  br label %21291

21291:                                            ; preds = %21290
  br label %21292

21292:                                            ; preds = %21291
  br label %21293

21293:                                            ; preds = %21292
  %21294 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %21294, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %21295 = call ptr @__errno_location() #9
  store i32 0, ptr %21295, align 4, !tbaa !5
  br label %21296

21296:                                            ; preds = %21293
  br label %21297

21297:                                            ; preds = %21296
  br label %21298

21298:                                            ; preds = %21297
  br label %21299

21299:                                            ; preds = %21298
  br label %21300

21300:                                            ; preds = %21299
  br label %21301

21301:                                            ; preds = %21300
  %21302 = load i32, ptr @test_count, align 4, !tbaa !5
  %21303 = add nsw i32 %21302, 1
  store i32 %21303, ptr @test_count, align 4, !tbaa !5
  %21304 = load ptr, ptr %239, align 8, !tbaa !9
  %21305 = call i32 @s2n_test_auth_combo(ptr noundef %21304, ptr noundef @s2n_dhe_rsa_with_3des_ede_cbc_sha, ptr noundef @s2n_rsa_pss_pss_sha256, ptr noundef null)
  %21306 = icmp eq i32 %21305, -1
  br i1 %21306, label %21360, label %21307

21307:                                            ; preds = %21301
  br label %21308

21308:                                            ; preds = %21307
  br label %21309

21309:                                            ; preds = %21308
  call void @llvm.lifetime.start.p0(i64 4, ptr %350) #8
  %21310 = call ptr @__errno_location() #9
  %21311 = load i32, ptr %21310, align 4, !tbaa !5
  store i32 %21311, ptr %350, align 4, !tbaa !5
  %21312 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21313 = call i32 @s2n_print_stacktrace(ptr noundef %21312)
  %21314 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %21315 = trunc i8 %21314 to i1
  br i1 %21315, label %21316, label %21338

21316:                                            ; preds = %21309
  %21317 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21318 = call i32 @fileno(ptr noundef %21317) #8
  %21319 = call i32 @isatty(i32 noundef %21318) #8
  %21320 = icmp ne i32 %21319, 0
  br i1 %21320, label %21321, label %21338

21321:                                            ; preds = %21316
  %21322 = load i32, ptr %350, align 4, !tbaa !5
  %21323 = call ptr @__errno_location() #9
  store i32 %21322, ptr %21323, align 4, !tbaa !5
  %21324 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21325 = load i32, ptr @test_count, align 4, !tbaa !5
  %21326 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21327 = load i32, ptr %21326, align 4, !tbaa !5
  %21328 = call ptr @s2n_strerror(i32 noundef %21327, ptr noundef @.str.4)
  %21329 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21330 = load i32, ptr %21329, align 4, !tbaa !5
  %21331 = call ptr @s2n_strerror_debug(i32 noundef %21330, ptr noundef @.str.4)
  %21332 = call ptr @__errno_location() #9
  %21333 = load i32, ptr %21332, align 4, !tbaa !5
  %21334 = call ptr @strerror(i32 noundef %21333) #8
  %21335 = call ptr @__errno_location() #9
  %21336 = load i32, ptr %21335, align 4, !tbaa !5
  %21337 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21324, ptr noundef @.str.2, i32 noundef %21325, ptr noundef @.str.73, ptr noundef @.str.1, i32 noundef 421, ptr noundef %21328, ptr noundef %21331, ptr noundef %21334, i32 noundef %21336) #8
  br label %21355

21338:                                            ; preds = %21316, %21309
  %21339 = load i32, ptr %350, align 4, !tbaa !5
  %21340 = call ptr @__errno_location() #9
  store i32 %21339, ptr %21340, align 4, !tbaa !5
  %21341 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21342 = load i32, ptr @test_count, align 4, !tbaa !5
  %21343 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21344 = load i32, ptr %21343, align 4, !tbaa !5
  %21345 = call ptr @s2n_strerror(i32 noundef %21344, ptr noundef @.str.4)
  %21346 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21347 = load i32, ptr %21346, align 4, !tbaa !5
  %21348 = call ptr @s2n_strerror_debug(i32 noundef %21347, ptr noundef @.str.4)
  %21349 = call ptr @__errno_location() #9
  %21350 = load i32, ptr %21349, align 4, !tbaa !5
  %21351 = call ptr @strerror(i32 noundef %21350) #8
  %21352 = call ptr @__errno_location() #9
  %21353 = load i32, ptr %21352, align 4, !tbaa !5
  %21354 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21341, ptr noundef @.str.5, i32 noundef %21342, ptr noundef @.str.73, ptr noundef @.str.1, i32 noundef 421, ptr noundef %21345, ptr noundef %21348, ptr noundef %21351, i32 noundef %21353) #8
  br label %21355

21355:                                            ; preds = %21338, %21321
  call void @llvm.lifetime.end.p0(i64 4, ptr %350) #8
  br label %21356

21356:                                            ; preds = %21355
  br label %21357

21357:                                            ; preds = %21356
  call void @exit(i32 noundef 1) #10
  unreachable

21358:                                            ; No predecessors!
  br label %21359

21359:                                            ; preds = %21358
  br label %21360

21360:                                            ; preds = %21359, %21301
  br label %21361

21361:                                            ; preds = %21360
  br label %21362

21362:                                            ; preds = %21361
  br label %21363

21363:                                            ; preds = %21362
  %21364 = load i32, ptr @test_count, align 4, !tbaa !5
  %21365 = add nsw i32 %21364, 1
  store i32 %21365, ptr @test_count, align 4, !tbaa !5
  %21366 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21367 = load i32, ptr %21366, align 4, !tbaa !5
  %21368 = icmp eq i32 %21367, 0
  br i1 %21368, label %21369, label %21422

21369:                                            ; preds = %21363
  br label %21370

21370:                                            ; preds = %21369
  br label %21371

21371:                                            ; preds = %21370
  call void @llvm.lifetime.start.p0(i64 4, ptr %351) #8
  %21372 = call ptr @__errno_location() #9
  %21373 = load i32, ptr %21372, align 4, !tbaa !5
  store i32 %21373, ptr %351, align 4, !tbaa !5
  %21374 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21375 = call i32 @s2n_print_stacktrace(ptr noundef %21374)
  %21376 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %21377 = trunc i8 %21376 to i1
  br i1 %21377, label %21378, label %21400

21378:                                            ; preds = %21371
  %21379 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21380 = call i32 @fileno(ptr noundef %21379) #8
  %21381 = call i32 @isatty(i32 noundef %21380) #8
  %21382 = icmp ne i32 %21381, 0
  br i1 %21382, label %21383, label %21400

21383:                                            ; preds = %21378
  %21384 = load i32, ptr %351, align 4, !tbaa !5
  %21385 = call ptr @__errno_location() #9
  store i32 %21384, ptr %21385, align 4, !tbaa !5
  %21386 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21387 = load i32, ptr @test_count, align 4, !tbaa !5
  %21388 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21389 = load i32, ptr %21388, align 4, !tbaa !5
  %21390 = call ptr @s2n_strerror(i32 noundef %21389, ptr noundef @.str.4)
  %21391 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21392 = load i32, ptr %21391, align 4, !tbaa !5
  %21393 = call ptr @s2n_strerror_debug(i32 noundef %21392, ptr noundef @.str.4)
  %21394 = call ptr @__errno_location() #9
  %21395 = load i32, ptr %21394, align 4, !tbaa !5
  %21396 = call ptr @strerror(i32 noundef %21395) #8
  %21397 = call ptr @__errno_location() #9
  %21398 = load i32, ptr %21397, align 4, !tbaa !5
  %21399 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21386, ptr noundef @.str.2, i32 noundef %21387, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 421, ptr noundef %21390, ptr noundef %21393, ptr noundef %21396, i32 noundef %21398) #8
  br label %21417

21400:                                            ; preds = %21378, %21371
  %21401 = load i32, ptr %351, align 4, !tbaa !5
  %21402 = call ptr @__errno_location() #9
  store i32 %21401, ptr %21402, align 4, !tbaa !5
  %21403 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21404 = load i32, ptr @test_count, align 4, !tbaa !5
  %21405 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21406 = load i32, ptr %21405, align 4, !tbaa !5
  %21407 = call ptr @s2n_strerror(i32 noundef %21406, ptr noundef @.str.4)
  %21408 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21409 = load i32, ptr %21408, align 4, !tbaa !5
  %21410 = call ptr @s2n_strerror_debug(i32 noundef %21409, ptr noundef @.str.4)
  %21411 = call ptr @__errno_location() #9
  %21412 = load i32, ptr %21411, align 4, !tbaa !5
  %21413 = call ptr @strerror(i32 noundef %21412) #8
  %21414 = call ptr @__errno_location() #9
  %21415 = load i32, ptr %21414, align 4, !tbaa !5
  %21416 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21403, ptr noundef @.str.5, i32 noundef %21404, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 421, ptr noundef %21407, ptr noundef %21410, ptr noundef %21413, i32 noundef %21415) #8
  br label %21417

21417:                                            ; preds = %21400, %21383
  call void @llvm.lifetime.end.p0(i64 4, ptr %351) #8
  br label %21418

21418:                                            ; preds = %21417
  br label %21419

21419:                                            ; preds = %21418
  call void @exit(i32 noundef 1) #10
  unreachable

21420:                                            ; No predecessors!
  br label %21421

21421:                                            ; preds = %21420
  br label %21422

21422:                                            ; preds = %21421, %21363
  br label %21423

21423:                                            ; preds = %21422
  br label %21424

21424:                                            ; preds = %21423
  br label %21425

21425:                                            ; preds = %21424
  %21426 = load i32, ptr @test_count, align 4, !tbaa !5
  %21427 = add nsw i32 %21426, 1
  store i32 %21427, ptr @test_count, align 4, !tbaa !5
  %21428 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21429 = load i32, ptr %21428, align 4, !tbaa !5
  %21430 = call ptr @s2n_strerror_debug(i32 noundef %21429, ptr noundef @.str.4)
  %21431 = icmp eq ptr %21430, null
  br i1 %21431, label %21432, label %21485

21432:                                            ; preds = %21425
  br label %21433

21433:                                            ; preds = %21432
  br label %21434

21434:                                            ; preds = %21433
  call void @llvm.lifetime.start.p0(i64 4, ptr %352) #8
  %21435 = call ptr @__errno_location() #9
  %21436 = load i32, ptr %21435, align 4, !tbaa !5
  store i32 %21436, ptr %352, align 4, !tbaa !5
  %21437 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21438 = call i32 @s2n_print_stacktrace(ptr noundef %21437)
  %21439 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %21440 = trunc i8 %21439 to i1
  br i1 %21440, label %21441, label %21463

21441:                                            ; preds = %21434
  %21442 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21443 = call i32 @fileno(ptr noundef %21442) #8
  %21444 = call i32 @isatty(i32 noundef %21443) #8
  %21445 = icmp ne i32 %21444, 0
  br i1 %21445, label %21446, label %21463

21446:                                            ; preds = %21441
  %21447 = load i32, ptr %352, align 4, !tbaa !5
  %21448 = call ptr @__errno_location() #9
  store i32 %21447, ptr %21448, align 4, !tbaa !5
  %21449 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21450 = load i32, ptr @test_count, align 4, !tbaa !5
  %21451 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21452 = load i32, ptr %21451, align 4, !tbaa !5
  %21453 = call ptr @s2n_strerror(i32 noundef %21452, ptr noundef @.str.4)
  %21454 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21455 = load i32, ptr %21454, align 4, !tbaa !5
  %21456 = call ptr @s2n_strerror_debug(i32 noundef %21455, ptr noundef @.str.4)
  %21457 = call ptr @__errno_location() #9
  %21458 = load i32, ptr %21457, align 4, !tbaa !5
  %21459 = call ptr @strerror(i32 noundef %21458) #8
  %21460 = call ptr @__errno_location() #9
  %21461 = load i32, ptr %21460, align 4, !tbaa !5
  %21462 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21449, ptr noundef @.str.2, i32 noundef %21450, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 421, ptr noundef %21453, ptr noundef %21456, ptr noundef %21459, i32 noundef %21461) #8
  br label %21480

21463:                                            ; preds = %21441, %21434
  %21464 = load i32, ptr %352, align 4, !tbaa !5
  %21465 = call ptr @__errno_location() #9
  store i32 %21464, ptr %21465, align 4, !tbaa !5
  %21466 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21467 = load i32, ptr @test_count, align 4, !tbaa !5
  %21468 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21469 = load i32, ptr %21468, align 4, !tbaa !5
  %21470 = call ptr @s2n_strerror(i32 noundef %21469, ptr noundef @.str.4)
  %21471 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21472 = load i32, ptr %21471, align 4, !tbaa !5
  %21473 = call ptr @s2n_strerror_debug(i32 noundef %21472, ptr noundef @.str.4)
  %21474 = call ptr @__errno_location() #9
  %21475 = load i32, ptr %21474, align 4, !tbaa !5
  %21476 = call ptr @strerror(i32 noundef %21475) #8
  %21477 = call ptr @__errno_location() #9
  %21478 = load i32, ptr %21477, align 4, !tbaa !5
  %21479 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21466, ptr noundef @.str.5, i32 noundef %21467, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 421, ptr noundef %21470, ptr noundef %21473, ptr noundef %21476, i32 noundef %21478) #8
  br label %21480

21480:                                            ; preds = %21463, %21446
  call void @llvm.lifetime.end.p0(i64 4, ptr %352) #8
  br label %21481

21481:                                            ; preds = %21480
  br label %21482

21482:                                            ; preds = %21481
  call void @exit(i32 noundef 1) #10
  unreachable

21483:                                            ; No predecessors!
  br label %21484

21484:                                            ; preds = %21483
  br label %21485

21485:                                            ; preds = %21484, %21425
  br label %21486

21486:                                            ; preds = %21485
  br label %21487

21487:                                            ; preds = %21486
  br label %21488

21488:                                            ; preds = %21487
  %21489 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %21489, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %21490 = call ptr @__errno_location() #9
  store i32 0, ptr %21490, align 4, !tbaa !5
  br label %21491

21491:                                            ; preds = %21488
  br label %21492

21492:                                            ; preds = %21491
  br label %21493

21493:                                            ; preds = %21492
  br label %21494

21494:                                            ; preds = %21493
  br label %21495

21495:                                            ; preds = %21494
  br label %21496

21496:                                            ; preds = %21495
  %21497 = load i32, ptr @test_count, align 4, !tbaa !5
  %21498 = add nsw i32 %21497, 1
  store i32 %21498, ptr @test_count, align 4, !tbaa !5
  %21499 = load ptr, ptr %239, align 8, !tbaa !9
  %21500 = call i32 @s2n_test_auth_combo(ptr noundef %21499, ptr noundef @s2n_dhe_rsa_with_3des_ede_cbc_sha, ptr noundef @s2n_rsa_pss_rsae_sha256, ptr noundef null)
  %21501 = icmp eq i32 %21500, -1
  br i1 %21501, label %21555, label %21502

21502:                                            ; preds = %21496
  br label %21503

21503:                                            ; preds = %21502
  br label %21504

21504:                                            ; preds = %21503
  call void @llvm.lifetime.start.p0(i64 4, ptr %353) #8
  %21505 = call ptr @__errno_location() #9
  %21506 = load i32, ptr %21505, align 4, !tbaa !5
  store i32 %21506, ptr %353, align 4, !tbaa !5
  %21507 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21508 = call i32 @s2n_print_stacktrace(ptr noundef %21507)
  %21509 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %21510 = trunc i8 %21509 to i1
  br i1 %21510, label %21511, label %21533

21511:                                            ; preds = %21504
  %21512 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21513 = call i32 @fileno(ptr noundef %21512) #8
  %21514 = call i32 @isatty(i32 noundef %21513) #8
  %21515 = icmp ne i32 %21514, 0
  br i1 %21515, label %21516, label %21533

21516:                                            ; preds = %21511
  %21517 = load i32, ptr %353, align 4, !tbaa !5
  %21518 = call ptr @__errno_location() #9
  store i32 %21517, ptr %21518, align 4, !tbaa !5
  %21519 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21520 = load i32, ptr @test_count, align 4, !tbaa !5
  %21521 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21522 = load i32, ptr %21521, align 4, !tbaa !5
  %21523 = call ptr @s2n_strerror(i32 noundef %21522, ptr noundef @.str.4)
  %21524 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21525 = load i32, ptr %21524, align 4, !tbaa !5
  %21526 = call ptr @s2n_strerror_debug(i32 noundef %21525, ptr noundef @.str.4)
  %21527 = call ptr @__errno_location() #9
  %21528 = load i32, ptr %21527, align 4, !tbaa !5
  %21529 = call ptr @strerror(i32 noundef %21528) #8
  %21530 = call ptr @__errno_location() #9
  %21531 = load i32, ptr %21530, align 4, !tbaa !5
  %21532 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21519, ptr noundef @.str.2, i32 noundef %21520, ptr noundef @.str.74, ptr noundef @.str.1, i32 noundef 422, ptr noundef %21523, ptr noundef %21526, ptr noundef %21529, i32 noundef %21531) #8
  br label %21550

21533:                                            ; preds = %21511, %21504
  %21534 = load i32, ptr %353, align 4, !tbaa !5
  %21535 = call ptr @__errno_location() #9
  store i32 %21534, ptr %21535, align 4, !tbaa !5
  %21536 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21537 = load i32, ptr @test_count, align 4, !tbaa !5
  %21538 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21539 = load i32, ptr %21538, align 4, !tbaa !5
  %21540 = call ptr @s2n_strerror(i32 noundef %21539, ptr noundef @.str.4)
  %21541 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21542 = load i32, ptr %21541, align 4, !tbaa !5
  %21543 = call ptr @s2n_strerror_debug(i32 noundef %21542, ptr noundef @.str.4)
  %21544 = call ptr @__errno_location() #9
  %21545 = load i32, ptr %21544, align 4, !tbaa !5
  %21546 = call ptr @strerror(i32 noundef %21545) #8
  %21547 = call ptr @__errno_location() #9
  %21548 = load i32, ptr %21547, align 4, !tbaa !5
  %21549 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21536, ptr noundef @.str.5, i32 noundef %21537, ptr noundef @.str.74, ptr noundef @.str.1, i32 noundef 422, ptr noundef %21540, ptr noundef %21543, ptr noundef %21546, i32 noundef %21548) #8
  br label %21550

21550:                                            ; preds = %21533, %21516
  call void @llvm.lifetime.end.p0(i64 4, ptr %353) #8
  br label %21551

21551:                                            ; preds = %21550
  br label %21552

21552:                                            ; preds = %21551
  call void @exit(i32 noundef 1) #10
  unreachable

21553:                                            ; No predecessors!
  br label %21554

21554:                                            ; preds = %21553
  br label %21555

21555:                                            ; preds = %21554, %21496
  br label %21556

21556:                                            ; preds = %21555
  br label %21557

21557:                                            ; preds = %21556
  br label %21558

21558:                                            ; preds = %21557
  %21559 = load i32, ptr @test_count, align 4, !tbaa !5
  %21560 = add nsw i32 %21559, 1
  store i32 %21560, ptr @test_count, align 4, !tbaa !5
  %21561 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21562 = load i32, ptr %21561, align 4, !tbaa !5
  %21563 = icmp eq i32 %21562, 0
  br i1 %21563, label %21564, label %21617

21564:                                            ; preds = %21558
  br label %21565

21565:                                            ; preds = %21564
  br label %21566

21566:                                            ; preds = %21565
  call void @llvm.lifetime.start.p0(i64 4, ptr %354) #8
  %21567 = call ptr @__errno_location() #9
  %21568 = load i32, ptr %21567, align 4, !tbaa !5
  store i32 %21568, ptr %354, align 4, !tbaa !5
  %21569 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21570 = call i32 @s2n_print_stacktrace(ptr noundef %21569)
  %21571 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %21572 = trunc i8 %21571 to i1
  br i1 %21572, label %21573, label %21595

21573:                                            ; preds = %21566
  %21574 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21575 = call i32 @fileno(ptr noundef %21574) #8
  %21576 = call i32 @isatty(i32 noundef %21575) #8
  %21577 = icmp ne i32 %21576, 0
  br i1 %21577, label %21578, label %21595

21578:                                            ; preds = %21573
  %21579 = load i32, ptr %354, align 4, !tbaa !5
  %21580 = call ptr @__errno_location() #9
  store i32 %21579, ptr %21580, align 4, !tbaa !5
  %21581 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21582 = load i32, ptr @test_count, align 4, !tbaa !5
  %21583 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21584 = load i32, ptr %21583, align 4, !tbaa !5
  %21585 = call ptr @s2n_strerror(i32 noundef %21584, ptr noundef @.str.4)
  %21586 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21587 = load i32, ptr %21586, align 4, !tbaa !5
  %21588 = call ptr @s2n_strerror_debug(i32 noundef %21587, ptr noundef @.str.4)
  %21589 = call ptr @__errno_location() #9
  %21590 = load i32, ptr %21589, align 4, !tbaa !5
  %21591 = call ptr @strerror(i32 noundef %21590) #8
  %21592 = call ptr @__errno_location() #9
  %21593 = load i32, ptr %21592, align 4, !tbaa !5
  %21594 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21581, ptr noundef @.str.2, i32 noundef %21582, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 422, ptr noundef %21585, ptr noundef %21588, ptr noundef %21591, i32 noundef %21593) #8
  br label %21612

21595:                                            ; preds = %21573, %21566
  %21596 = load i32, ptr %354, align 4, !tbaa !5
  %21597 = call ptr @__errno_location() #9
  store i32 %21596, ptr %21597, align 4, !tbaa !5
  %21598 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21599 = load i32, ptr @test_count, align 4, !tbaa !5
  %21600 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21601 = load i32, ptr %21600, align 4, !tbaa !5
  %21602 = call ptr @s2n_strerror(i32 noundef %21601, ptr noundef @.str.4)
  %21603 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21604 = load i32, ptr %21603, align 4, !tbaa !5
  %21605 = call ptr @s2n_strerror_debug(i32 noundef %21604, ptr noundef @.str.4)
  %21606 = call ptr @__errno_location() #9
  %21607 = load i32, ptr %21606, align 4, !tbaa !5
  %21608 = call ptr @strerror(i32 noundef %21607) #8
  %21609 = call ptr @__errno_location() #9
  %21610 = load i32, ptr %21609, align 4, !tbaa !5
  %21611 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21598, ptr noundef @.str.5, i32 noundef %21599, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 422, ptr noundef %21602, ptr noundef %21605, ptr noundef %21608, i32 noundef %21610) #8
  br label %21612

21612:                                            ; preds = %21595, %21578
  call void @llvm.lifetime.end.p0(i64 4, ptr %354) #8
  br label %21613

21613:                                            ; preds = %21612
  br label %21614

21614:                                            ; preds = %21613
  call void @exit(i32 noundef 1) #10
  unreachable

21615:                                            ; No predecessors!
  br label %21616

21616:                                            ; preds = %21615
  br label %21617

21617:                                            ; preds = %21616, %21558
  br label %21618

21618:                                            ; preds = %21617
  br label %21619

21619:                                            ; preds = %21618
  br label %21620

21620:                                            ; preds = %21619
  %21621 = load i32, ptr @test_count, align 4, !tbaa !5
  %21622 = add nsw i32 %21621, 1
  store i32 %21622, ptr @test_count, align 4, !tbaa !5
  %21623 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21624 = load i32, ptr %21623, align 4, !tbaa !5
  %21625 = call ptr @s2n_strerror_debug(i32 noundef %21624, ptr noundef @.str.4)
  %21626 = icmp eq ptr %21625, null
  br i1 %21626, label %21627, label %21680

21627:                                            ; preds = %21620
  br label %21628

21628:                                            ; preds = %21627
  br label %21629

21629:                                            ; preds = %21628
  call void @llvm.lifetime.start.p0(i64 4, ptr %355) #8
  %21630 = call ptr @__errno_location() #9
  %21631 = load i32, ptr %21630, align 4, !tbaa !5
  store i32 %21631, ptr %355, align 4, !tbaa !5
  %21632 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21633 = call i32 @s2n_print_stacktrace(ptr noundef %21632)
  %21634 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %21635 = trunc i8 %21634 to i1
  br i1 %21635, label %21636, label %21658

21636:                                            ; preds = %21629
  %21637 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21638 = call i32 @fileno(ptr noundef %21637) #8
  %21639 = call i32 @isatty(i32 noundef %21638) #8
  %21640 = icmp ne i32 %21639, 0
  br i1 %21640, label %21641, label %21658

21641:                                            ; preds = %21636
  %21642 = load i32, ptr %355, align 4, !tbaa !5
  %21643 = call ptr @__errno_location() #9
  store i32 %21642, ptr %21643, align 4, !tbaa !5
  %21644 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21645 = load i32, ptr @test_count, align 4, !tbaa !5
  %21646 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21647 = load i32, ptr %21646, align 4, !tbaa !5
  %21648 = call ptr @s2n_strerror(i32 noundef %21647, ptr noundef @.str.4)
  %21649 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21650 = load i32, ptr %21649, align 4, !tbaa !5
  %21651 = call ptr @s2n_strerror_debug(i32 noundef %21650, ptr noundef @.str.4)
  %21652 = call ptr @__errno_location() #9
  %21653 = load i32, ptr %21652, align 4, !tbaa !5
  %21654 = call ptr @strerror(i32 noundef %21653) #8
  %21655 = call ptr @__errno_location() #9
  %21656 = load i32, ptr %21655, align 4, !tbaa !5
  %21657 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21644, ptr noundef @.str.2, i32 noundef %21645, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 422, ptr noundef %21648, ptr noundef %21651, ptr noundef %21654, i32 noundef %21656) #8
  br label %21675

21658:                                            ; preds = %21636, %21629
  %21659 = load i32, ptr %355, align 4, !tbaa !5
  %21660 = call ptr @__errno_location() #9
  store i32 %21659, ptr %21660, align 4, !tbaa !5
  %21661 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21662 = load i32, ptr @test_count, align 4, !tbaa !5
  %21663 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21664 = load i32, ptr %21663, align 4, !tbaa !5
  %21665 = call ptr @s2n_strerror(i32 noundef %21664, ptr noundef @.str.4)
  %21666 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21667 = load i32, ptr %21666, align 4, !tbaa !5
  %21668 = call ptr @s2n_strerror_debug(i32 noundef %21667, ptr noundef @.str.4)
  %21669 = call ptr @__errno_location() #9
  %21670 = load i32, ptr %21669, align 4, !tbaa !5
  %21671 = call ptr @strerror(i32 noundef %21670) #8
  %21672 = call ptr @__errno_location() #9
  %21673 = load i32, ptr %21672, align 4, !tbaa !5
  %21674 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21661, ptr noundef @.str.5, i32 noundef %21662, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 422, ptr noundef %21665, ptr noundef %21668, ptr noundef %21671, i32 noundef %21673) #8
  br label %21675

21675:                                            ; preds = %21658, %21641
  call void @llvm.lifetime.end.p0(i64 4, ptr %355) #8
  br label %21676

21676:                                            ; preds = %21675
  br label %21677

21677:                                            ; preds = %21676
  call void @exit(i32 noundef 1) #10
  unreachable

21678:                                            ; No predecessors!
  br label %21679

21679:                                            ; preds = %21678
  br label %21680

21680:                                            ; preds = %21679, %21620
  br label %21681

21681:                                            ; preds = %21680
  br label %21682

21682:                                            ; preds = %21681
  br label %21683

21683:                                            ; preds = %21682
  %21684 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %21684, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %21685 = call ptr @__errno_location() #9
  store i32 0, ptr %21685, align 4, !tbaa !5
  br label %21686

21686:                                            ; preds = %21683
  br label %21687

21687:                                            ; preds = %21686
  br label %21688

21688:                                            ; preds = %21687
  br label %21689

21689:                                            ; preds = %21688
  br label %21690

21690:                                            ; preds = %21689
  br label %21691

21691:                                            ; preds = %21690
  %21692 = load i32, ptr @test_count, align 4, !tbaa !5
  %21693 = add nsw i32 %21692, 1
  store i32 %21693, ptr @test_count, align 4, !tbaa !5
  %21694 = load ptr, ptr %239, align 8, !tbaa !9
  %21695 = call i32 @s2n_test_auth_combo(ptr noundef %21694, ptr noundef @s2n_dhe_rsa_with_3des_ede_cbc_sha, ptr noundef @s2n_ecdsa_sha384, ptr noundef null)
  %21696 = icmp eq i32 %21695, -1
  br i1 %21696, label %21750, label %21697

21697:                                            ; preds = %21691
  br label %21698

21698:                                            ; preds = %21697
  br label %21699

21699:                                            ; preds = %21698
  call void @llvm.lifetime.start.p0(i64 4, ptr %356) #8
  %21700 = call ptr @__errno_location() #9
  %21701 = load i32, ptr %21700, align 4, !tbaa !5
  store i32 %21701, ptr %356, align 4, !tbaa !5
  %21702 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21703 = call i32 @s2n_print_stacktrace(ptr noundef %21702)
  %21704 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %21705 = trunc i8 %21704 to i1
  br i1 %21705, label %21706, label %21728

21706:                                            ; preds = %21699
  %21707 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21708 = call i32 @fileno(ptr noundef %21707) #8
  %21709 = call i32 @isatty(i32 noundef %21708) #8
  %21710 = icmp ne i32 %21709, 0
  br i1 %21710, label %21711, label %21728

21711:                                            ; preds = %21706
  %21712 = load i32, ptr %356, align 4, !tbaa !5
  %21713 = call ptr @__errno_location() #9
  store i32 %21712, ptr %21713, align 4, !tbaa !5
  %21714 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21715 = load i32, ptr @test_count, align 4, !tbaa !5
  %21716 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21717 = load i32, ptr %21716, align 4, !tbaa !5
  %21718 = call ptr @s2n_strerror(i32 noundef %21717, ptr noundef @.str.4)
  %21719 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21720 = load i32, ptr %21719, align 4, !tbaa !5
  %21721 = call ptr @s2n_strerror_debug(i32 noundef %21720, ptr noundef @.str.4)
  %21722 = call ptr @__errno_location() #9
  %21723 = load i32, ptr %21722, align 4, !tbaa !5
  %21724 = call ptr @strerror(i32 noundef %21723) #8
  %21725 = call ptr @__errno_location() #9
  %21726 = load i32, ptr %21725, align 4, !tbaa !5
  %21727 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21714, ptr noundef @.str.2, i32 noundef %21715, ptr noundef @.str.75, ptr noundef @.str.1, i32 noundef 423, ptr noundef %21718, ptr noundef %21721, ptr noundef %21724, i32 noundef %21726) #8
  br label %21745

21728:                                            ; preds = %21706, %21699
  %21729 = load i32, ptr %356, align 4, !tbaa !5
  %21730 = call ptr @__errno_location() #9
  store i32 %21729, ptr %21730, align 4, !tbaa !5
  %21731 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21732 = load i32, ptr @test_count, align 4, !tbaa !5
  %21733 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21734 = load i32, ptr %21733, align 4, !tbaa !5
  %21735 = call ptr @s2n_strerror(i32 noundef %21734, ptr noundef @.str.4)
  %21736 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21737 = load i32, ptr %21736, align 4, !tbaa !5
  %21738 = call ptr @s2n_strerror_debug(i32 noundef %21737, ptr noundef @.str.4)
  %21739 = call ptr @__errno_location() #9
  %21740 = load i32, ptr %21739, align 4, !tbaa !5
  %21741 = call ptr @strerror(i32 noundef %21740) #8
  %21742 = call ptr @__errno_location() #9
  %21743 = load i32, ptr %21742, align 4, !tbaa !5
  %21744 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21731, ptr noundef @.str.5, i32 noundef %21732, ptr noundef @.str.75, ptr noundef @.str.1, i32 noundef 423, ptr noundef %21735, ptr noundef %21738, ptr noundef %21741, i32 noundef %21743) #8
  br label %21745

21745:                                            ; preds = %21728, %21711
  call void @llvm.lifetime.end.p0(i64 4, ptr %356) #8
  br label %21746

21746:                                            ; preds = %21745
  br label %21747

21747:                                            ; preds = %21746
  call void @exit(i32 noundef 1) #10
  unreachable

21748:                                            ; No predecessors!
  br label %21749

21749:                                            ; preds = %21748
  br label %21750

21750:                                            ; preds = %21749, %21691
  br label %21751

21751:                                            ; preds = %21750
  br label %21752

21752:                                            ; preds = %21751
  br label %21753

21753:                                            ; preds = %21752
  %21754 = load i32, ptr @test_count, align 4, !tbaa !5
  %21755 = add nsw i32 %21754, 1
  store i32 %21755, ptr @test_count, align 4, !tbaa !5
  %21756 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21757 = load i32, ptr %21756, align 4, !tbaa !5
  %21758 = icmp eq i32 %21757, 0
  br i1 %21758, label %21759, label %21812

21759:                                            ; preds = %21753
  br label %21760

21760:                                            ; preds = %21759
  br label %21761

21761:                                            ; preds = %21760
  call void @llvm.lifetime.start.p0(i64 4, ptr %357) #8
  %21762 = call ptr @__errno_location() #9
  %21763 = load i32, ptr %21762, align 4, !tbaa !5
  store i32 %21763, ptr %357, align 4, !tbaa !5
  %21764 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21765 = call i32 @s2n_print_stacktrace(ptr noundef %21764)
  %21766 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %21767 = trunc i8 %21766 to i1
  br i1 %21767, label %21768, label %21790

21768:                                            ; preds = %21761
  %21769 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21770 = call i32 @fileno(ptr noundef %21769) #8
  %21771 = call i32 @isatty(i32 noundef %21770) #8
  %21772 = icmp ne i32 %21771, 0
  br i1 %21772, label %21773, label %21790

21773:                                            ; preds = %21768
  %21774 = load i32, ptr %357, align 4, !tbaa !5
  %21775 = call ptr @__errno_location() #9
  store i32 %21774, ptr %21775, align 4, !tbaa !5
  %21776 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21777 = load i32, ptr @test_count, align 4, !tbaa !5
  %21778 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21779 = load i32, ptr %21778, align 4, !tbaa !5
  %21780 = call ptr @s2n_strerror(i32 noundef %21779, ptr noundef @.str.4)
  %21781 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21782 = load i32, ptr %21781, align 4, !tbaa !5
  %21783 = call ptr @s2n_strerror_debug(i32 noundef %21782, ptr noundef @.str.4)
  %21784 = call ptr @__errno_location() #9
  %21785 = load i32, ptr %21784, align 4, !tbaa !5
  %21786 = call ptr @strerror(i32 noundef %21785) #8
  %21787 = call ptr @__errno_location() #9
  %21788 = load i32, ptr %21787, align 4, !tbaa !5
  %21789 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21776, ptr noundef @.str.2, i32 noundef %21777, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 423, ptr noundef %21780, ptr noundef %21783, ptr noundef %21786, i32 noundef %21788) #8
  br label %21807

21790:                                            ; preds = %21768, %21761
  %21791 = load i32, ptr %357, align 4, !tbaa !5
  %21792 = call ptr @__errno_location() #9
  store i32 %21791, ptr %21792, align 4, !tbaa !5
  %21793 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21794 = load i32, ptr @test_count, align 4, !tbaa !5
  %21795 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21796 = load i32, ptr %21795, align 4, !tbaa !5
  %21797 = call ptr @s2n_strerror(i32 noundef %21796, ptr noundef @.str.4)
  %21798 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21799 = load i32, ptr %21798, align 4, !tbaa !5
  %21800 = call ptr @s2n_strerror_debug(i32 noundef %21799, ptr noundef @.str.4)
  %21801 = call ptr @__errno_location() #9
  %21802 = load i32, ptr %21801, align 4, !tbaa !5
  %21803 = call ptr @strerror(i32 noundef %21802) #8
  %21804 = call ptr @__errno_location() #9
  %21805 = load i32, ptr %21804, align 4, !tbaa !5
  %21806 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21793, ptr noundef @.str.5, i32 noundef %21794, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 423, ptr noundef %21797, ptr noundef %21800, ptr noundef %21803, i32 noundef %21805) #8
  br label %21807

21807:                                            ; preds = %21790, %21773
  call void @llvm.lifetime.end.p0(i64 4, ptr %357) #8
  br label %21808

21808:                                            ; preds = %21807
  br label %21809

21809:                                            ; preds = %21808
  call void @exit(i32 noundef 1) #10
  unreachable

21810:                                            ; No predecessors!
  br label %21811

21811:                                            ; preds = %21810
  br label %21812

21812:                                            ; preds = %21811, %21753
  br label %21813

21813:                                            ; preds = %21812
  br label %21814

21814:                                            ; preds = %21813
  br label %21815

21815:                                            ; preds = %21814
  %21816 = load i32, ptr @test_count, align 4, !tbaa !5
  %21817 = add nsw i32 %21816, 1
  store i32 %21817, ptr @test_count, align 4, !tbaa !5
  %21818 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21819 = load i32, ptr %21818, align 4, !tbaa !5
  %21820 = call ptr @s2n_strerror_debug(i32 noundef %21819, ptr noundef @.str.4)
  %21821 = icmp eq ptr %21820, null
  br i1 %21821, label %21822, label %21875

21822:                                            ; preds = %21815
  br label %21823

21823:                                            ; preds = %21822
  br label %21824

21824:                                            ; preds = %21823
  call void @llvm.lifetime.start.p0(i64 4, ptr %358) #8
  %21825 = call ptr @__errno_location() #9
  %21826 = load i32, ptr %21825, align 4, !tbaa !5
  store i32 %21826, ptr %358, align 4, !tbaa !5
  %21827 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21828 = call i32 @s2n_print_stacktrace(ptr noundef %21827)
  %21829 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %21830 = trunc i8 %21829 to i1
  br i1 %21830, label %21831, label %21853

21831:                                            ; preds = %21824
  %21832 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21833 = call i32 @fileno(ptr noundef %21832) #8
  %21834 = call i32 @isatty(i32 noundef %21833) #8
  %21835 = icmp ne i32 %21834, 0
  br i1 %21835, label %21836, label %21853

21836:                                            ; preds = %21831
  %21837 = load i32, ptr %358, align 4, !tbaa !5
  %21838 = call ptr @__errno_location() #9
  store i32 %21837, ptr %21838, align 4, !tbaa !5
  %21839 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21840 = load i32, ptr @test_count, align 4, !tbaa !5
  %21841 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21842 = load i32, ptr %21841, align 4, !tbaa !5
  %21843 = call ptr @s2n_strerror(i32 noundef %21842, ptr noundef @.str.4)
  %21844 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21845 = load i32, ptr %21844, align 4, !tbaa !5
  %21846 = call ptr @s2n_strerror_debug(i32 noundef %21845, ptr noundef @.str.4)
  %21847 = call ptr @__errno_location() #9
  %21848 = load i32, ptr %21847, align 4, !tbaa !5
  %21849 = call ptr @strerror(i32 noundef %21848) #8
  %21850 = call ptr @__errno_location() #9
  %21851 = load i32, ptr %21850, align 4, !tbaa !5
  %21852 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21839, ptr noundef @.str.2, i32 noundef %21840, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 423, ptr noundef %21843, ptr noundef %21846, ptr noundef %21849, i32 noundef %21851) #8
  br label %21870

21853:                                            ; preds = %21831, %21824
  %21854 = load i32, ptr %358, align 4, !tbaa !5
  %21855 = call ptr @__errno_location() #9
  store i32 %21854, ptr %21855, align 4, !tbaa !5
  %21856 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21857 = load i32, ptr @test_count, align 4, !tbaa !5
  %21858 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21859 = load i32, ptr %21858, align 4, !tbaa !5
  %21860 = call ptr @s2n_strerror(i32 noundef %21859, ptr noundef @.str.4)
  %21861 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21862 = load i32, ptr %21861, align 4, !tbaa !5
  %21863 = call ptr @s2n_strerror_debug(i32 noundef %21862, ptr noundef @.str.4)
  %21864 = call ptr @__errno_location() #9
  %21865 = load i32, ptr %21864, align 4, !tbaa !5
  %21866 = call ptr @strerror(i32 noundef %21865) #8
  %21867 = call ptr @__errno_location() #9
  %21868 = load i32, ptr %21867, align 4, !tbaa !5
  %21869 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21856, ptr noundef @.str.5, i32 noundef %21857, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 423, ptr noundef %21860, ptr noundef %21863, ptr noundef %21866, i32 noundef %21868) #8
  br label %21870

21870:                                            ; preds = %21853, %21836
  call void @llvm.lifetime.end.p0(i64 4, ptr %358) #8
  br label %21871

21871:                                            ; preds = %21870
  br label %21872

21872:                                            ; preds = %21871
  call void @exit(i32 noundef 1) #10
  unreachable

21873:                                            ; No predecessors!
  br label %21874

21874:                                            ; preds = %21873
  br label %21875

21875:                                            ; preds = %21874, %21815
  br label %21876

21876:                                            ; preds = %21875
  br label %21877

21877:                                            ; preds = %21876
  br label %21878

21878:                                            ; preds = %21877
  %21879 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %21879, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %21880 = call ptr @__errno_location() #9
  store i32 0, ptr %21880, align 4, !tbaa !5
  br label %21881

21881:                                            ; preds = %21878
  br label %21882

21882:                                            ; preds = %21881
  br label %21883

21883:                                            ; preds = %21882
  br label %21884

21884:                                            ; preds = %21883
  br label %21885

21885:                                            ; preds = %21884
  br label %21886

21886:                                            ; preds = %21885
  %21887 = load i32, ptr @test_count, align 4, !tbaa !5
  %21888 = add nsw i32 %21887, 1
  store i32 %21888, ptr @test_count, align 4, !tbaa !5
  %21889 = load ptr, ptr %239, align 8, !tbaa !9
  %21890 = call i32 @s2n_test_auth_combo(ptr noundef %21889, ptr noundef @s2n_ecdhe_ecdsa_with_aes_128_cbc_sha, ptr noundef @s2n_rsa_pkcs1_md5_sha1, ptr noundef null)
  %21891 = icmp eq i32 %21890, -1
  br i1 %21891, label %21945, label %21892

21892:                                            ; preds = %21886
  br label %21893

21893:                                            ; preds = %21892
  br label %21894

21894:                                            ; preds = %21893
  call void @llvm.lifetime.start.p0(i64 4, ptr %359) #8
  %21895 = call ptr @__errno_location() #9
  %21896 = load i32, ptr %21895, align 4, !tbaa !5
  store i32 %21896, ptr %359, align 4, !tbaa !5
  %21897 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21898 = call i32 @s2n_print_stacktrace(ptr noundef %21897)
  %21899 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %21900 = trunc i8 %21899 to i1
  br i1 %21900, label %21901, label %21923

21901:                                            ; preds = %21894
  %21902 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21903 = call i32 @fileno(ptr noundef %21902) #8
  %21904 = call i32 @isatty(i32 noundef %21903) #8
  %21905 = icmp ne i32 %21904, 0
  br i1 %21905, label %21906, label %21923

21906:                                            ; preds = %21901
  %21907 = load i32, ptr %359, align 4, !tbaa !5
  %21908 = call ptr @__errno_location() #9
  store i32 %21907, ptr %21908, align 4, !tbaa !5
  %21909 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21910 = load i32, ptr @test_count, align 4, !tbaa !5
  %21911 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21912 = load i32, ptr %21911, align 4, !tbaa !5
  %21913 = call ptr @s2n_strerror(i32 noundef %21912, ptr noundef @.str.4)
  %21914 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21915 = load i32, ptr %21914, align 4, !tbaa !5
  %21916 = call ptr @s2n_strerror_debug(i32 noundef %21915, ptr noundef @.str.4)
  %21917 = call ptr @__errno_location() #9
  %21918 = load i32, ptr %21917, align 4, !tbaa !5
  %21919 = call ptr @strerror(i32 noundef %21918) #8
  %21920 = call ptr @__errno_location() #9
  %21921 = load i32, ptr %21920, align 4, !tbaa !5
  %21922 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21909, ptr noundef @.str.2, i32 noundef %21910, ptr noundef @.str.76, ptr noundef @.str.1, i32 noundef 425, ptr noundef %21913, ptr noundef %21916, ptr noundef %21919, i32 noundef %21921) #8
  br label %21940

21923:                                            ; preds = %21901, %21894
  %21924 = load i32, ptr %359, align 4, !tbaa !5
  %21925 = call ptr @__errno_location() #9
  store i32 %21924, ptr %21925, align 4, !tbaa !5
  %21926 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21927 = load i32, ptr @test_count, align 4, !tbaa !5
  %21928 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21929 = load i32, ptr %21928, align 4, !tbaa !5
  %21930 = call ptr @s2n_strerror(i32 noundef %21929, ptr noundef @.str.4)
  %21931 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21932 = load i32, ptr %21931, align 4, !tbaa !5
  %21933 = call ptr @s2n_strerror_debug(i32 noundef %21932, ptr noundef @.str.4)
  %21934 = call ptr @__errno_location() #9
  %21935 = load i32, ptr %21934, align 4, !tbaa !5
  %21936 = call ptr @strerror(i32 noundef %21935) #8
  %21937 = call ptr @__errno_location() #9
  %21938 = load i32, ptr %21937, align 4, !tbaa !5
  %21939 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21926, ptr noundef @.str.5, i32 noundef %21927, ptr noundef @.str.76, ptr noundef @.str.1, i32 noundef 425, ptr noundef %21930, ptr noundef %21933, ptr noundef %21936, i32 noundef %21938) #8
  br label %21940

21940:                                            ; preds = %21923, %21906
  call void @llvm.lifetime.end.p0(i64 4, ptr %359) #8
  br label %21941

21941:                                            ; preds = %21940
  br label %21942

21942:                                            ; preds = %21941
  call void @exit(i32 noundef 1) #10
  unreachable

21943:                                            ; No predecessors!
  br label %21944

21944:                                            ; preds = %21943
  br label %21945

21945:                                            ; preds = %21944, %21886
  br label %21946

21946:                                            ; preds = %21945
  br label %21947

21947:                                            ; preds = %21946
  br label %21948

21948:                                            ; preds = %21947
  %21949 = load i32, ptr @test_count, align 4, !tbaa !5
  %21950 = add nsw i32 %21949, 1
  store i32 %21950, ptr @test_count, align 4, !tbaa !5
  %21951 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21952 = load i32, ptr %21951, align 4, !tbaa !5
  %21953 = icmp eq i32 %21952, 0
  br i1 %21953, label %21954, label %22007

21954:                                            ; preds = %21948
  br label %21955

21955:                                            ; preds = %21954
  br label %21956

21956:                                            ; preds = %21955
  call void @llvm.lifetime.start.p0(i64 4, ptr %360) #8
  %21957 = call ptr @__errno_location() #9
  %21958 = load i32, ptr %21957, align 4, !tbaa !5
  store i32 %21958, ptr %360, align 4, !tbaa !5
  %21959 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21960 = call i32 @s2n_print_stacktrace(ptr noundef %21959)
  %21961 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %21962 = trunc i8 %21961 to i1
  br i1 %21962, label %21963, label %21985

21963:                                            ; preds = %21956
  %21964 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21965 = call i32 @fileno(ptr noundef %21964) #8
  %21966 = call i32 @isatty(i32 noundef %21965) #8
  %21967 = icmp ne i32 %21966, 0
  br i1 %21967, label %21968, label %21985

21968:                                            ; preds = %21963
  %21969 = load i32, ptr %360, align 4, !tbaa !5
  %21970 = call ptr @__errno_location() #9
  store i32 %21969, ptr %21970, align 4, !tbaa !5
  %21971 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21972 = load i32, ptr @test_count, align 4, !tbaa !5
  %21973 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21974 = load i32, ptr %21973, align 4, !tbaa !5
  %21975 = call ptr @s2n_strerror(i32 noundef %21974, ptr noundef @.str.4)
  %21976 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21977 = load i32, ptr %21976, align 4, !tbaa !5
  %21978 = call ptr @s2n_strerror_debug(i32 noundef %21977, ptr noundef @.str.4)
  %21979 = call ptr @__errno_location() #9
  %21980 = load i32, ptr %21979, align 4, !tbaa !5
  %21981 = call ptr @strerror(i32 noundef %21980) #8
  %21982 = call ptr @__errno_location() #9
  %21983 = load i32, ptr %21982, align 4, !tbaa !5
  %21984 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21971, ptr noundef @.str.2, i32 noundef %21972, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 425, ptr noundef %21975, ptr noundef %21978, ptr noundef %21981, i32 noundef %21983) #8
  br label %22002

21985:                                            ; preds = %21963, %21956
  %21986 = load i32, ptr %360, align 4, !tbaa !5
  %21987 = call ptr @__errno_location() #9
  store i32 %21986, ptr %21987, align 4, !tbaa !5
  %21988 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21989 = load i32, ptr @test_count, align 4, !tbaa !5
  %21990 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21991 = load i32, ptr %21990, align 4, !tbaa !5
  %21992 = call ptr @s2n_strerror(i32 noundef %21991, ptr noundef @.str.4)
  %21993 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21994 = load i32, ptr %21993, align 4, !tbaa !5
  %21995 = call ptr @s2n_strerror_debug(i32 noundef %21994, ptr noundef @.str.4)
  %21996 = call ptr @__errno_location() #9
  %21997 = load i32, ptr %21996, align 4, !tbaa !5
  %21998 = call ptr @strerror(i32 noundef %21997) #8
  %21999 = call ptr @__errno_location() #9
  %22000 = load i32, ptr %21999, align 4, !tbaa !5
  %22001 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21988, ptr noundef @.str.5, i32 noundef %21989, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 425, ptr noundef %21992, ptr noundef %21995, ptr noundef %21998, i32 noundef %22000) #8
  br label %22002

22002:                                            ; preds = %21985, %21968
  call void @llvm.lifetime.end.p0(i64 4, ptr %360) #8
  br label %22003

22003:                                            ; preds = %22002
  br label %22004

22004:                                            ; preds = %22003
  call void @exit(i32 noundef 1) #10
  unreachable

22005:                                            ; No predecessors!
  br label %22006

22006:                                            ; preds = %22005
  br label %22007

22007:                                            ; preds = %22006, %21948
  br label %22008

22008:                                            ; preds = %22007
  br label %22009

22009:                                            ; preds = %22008
  br label %22010

22010:                                            ; preds = %22009
  %22011 = load i32, ptr @test_count, align 4, !tbaa !5
  %22012 = add nsw i32 %22011, 1
  store i32 %22012, ptr @test_count, align 4, !tbaa !5
  %22013 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22014 = load i32, ptr %22013, align 4, !tbaa !5
  %22015 = call ptr @s2n_strerror_debug(i32 noundef %22014, ptr noundef @.str.4)
  %22016 = icmp eq ptr %22015, null
  br i1 %22016, label %22017, label %22070

22017:                                            ; preds = %22010
  br label %22018

22018:                                            ; preds = %22017
  br label %22019

22019:                                            ; preds = %22018
  call void @llvm.lifetime.start.p0(i64 4, ptr %361) #8
  %22020 = call ptr @__errno_location() #9
  %22021 = load i32, ptr %22020, align 4, !tbaa !5
  store i32 %22021, ptr %361, align 4, !tbaa !5
  %22022 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22023 = call i32 @s2n_print_stacktrace(ptr noundef %22022)
  %22024 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %22025 = trunc i8 %22024 to i1
  br i1 %22025, label %22026, label %22048

22026:                                            ; preds = %22019
  %22027 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22028 = call i32 @fileno(ptr noundef %22027) #8
  %22029 = call i32 @isatty(i32 noundef %22028) #8
  %22030 = icmp ne i32 %22029, 0
  br i1 %22030, label %22031, label %22048

22031:                                            ; preds = %22026
  %22032 = load i32, ptr %361, align 4, !tbaa !5
  %22033 = call ptr @__errno_location() #9
  store i32 %22032, ptr %22033, align 4, !tbaa !5
  %22034 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22035 = load i32, ptr @test_count, align 4, !tbaa !5
  %22036 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22037 = load i32, ptr %22036, align 4, !tbaa !5
  %22038 = call ptr @s2n_strerror(i32 noundef %22037, ptr noundef @.str.4)
  %22039 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22040 = load i32, ptr %22039, align 4, !tbaa !5
  %22041 = call ptr @s2n_strerror_debug(i32 noundef %22040, ptr noundef @.str.4)
  %22042 = call ptr @__errno_location() #9
  %22043 = load i32, ptr %22042, align 4, !tbaa !5
  %22044 = call ptr @strerror(i32 noundef %22043) #8
  %22045 = call ptr @__errno_location() #9
  %22046 = load i32, ptr %22045, align 4, !tbaa !5
  %22047 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22034, ptr noundef @.str.2, i32 noundef %22035, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 425, ptr noundef %22038, ptr noundef %22041, ptr noundef %22044, i32 noundef %22046) #8
  br label %22065

22048:                                            ; preds = %22026, %22019
  %22049 = load i32, ptr %361, align 4, !tbaa !5
  %22050 = call ptr @__errno_location() #9
  store i32 %22049, ptr %22050, align 4, !tbaa !5
  %22051 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22052 = load i32, ptr @test_count, align 4, !tbaa !5
  %22053 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22054 = load i32, ptr %22053, align 4, !tbaa !5
  %22055 = call ptr @s2n_strerror(i32 noundef %22054, ptr noundef @.str.4)
  %22056 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22057 = load i32, ptr %22056, align 4, !tbaa !5
  %22058 = call ptr @s2n_strerror_debug(i32 noundef %22057, ptr noundef @.str.4)
  %22059 = call ptr @__errno_location() #9
  %22060 = load i32, ptr %22059, align 4, !tbaa !5
  %22061 = call ptr @strerror(i32 noundef %22060) #8
  %22062 = call ptr @__errno_location() #9
  %22063 = load i32, ptr %22062, align 4, !tbaa !5
  %22064 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22051, ptr noundef @.str.5, i32 noundef %22052, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 425, ptr noundef %22055, ptr noundef %22058, ptr noundef %22061, i32 noundef %22063) #8
  br label %22065

22065:                                            ; preds = %22048, %22031
  call void @llvm.lifetime.end.p0(i64 4, ptr %361) #8
  br label %22066

22066:                                            ; preds = %22065
  br label %22067

22067:                                            ; preds = %22066
  call void @exit(i32 noundef 1) #10
  unreachable

22068:                                            ; No predecessors!
  br label %22069

22069:                                            ; preds = %22068
  br label %22070

22070:                                            ; preds = %22069, %22010
  br label %22071

22071:                                            ; preds = %22070
  br label %22072

22072:                                            ; preds = %22071
  br label %22073

22073:                                            ; preds = %22072
  %22074 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %22074, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %22075 = call ptr @__errno_location() #9
  store i32 0, ptr %22075, align 4, !tbaa !5
  br label %22076

22076:                                            ; preds = %22073
  br label %22077

22077:                                            ; preds = %22076
  br label %22078

22078:                                            ; preds = %22077
  br label %22079

22079:                                            ; preds = %22078
  br label %22080

22080:                                            ; preds = %22079
  br label %22081

22081:                                            ; preds = %22080
  %22082 = load i32, ptr @test_count, align 4, !tbaa !5
  %22083 = add nsw i32 %22082, 1
  store i32 %22083, ptr @test_count, align 4, !tbaa !5
  %22084 = load ptr, ptr %239, align 8, !tbaa !9
  %22085 = call i32 @s2n_test_auth_combo(ptr noundef %22084, ptr noundef @s2n_ecdhe_ecdsa_with_aes_128_cbc_sha, ptr noundef @s2n_rsa_pss_pss_sha256, ptr noundef null)
  %22086 = icmp eq i32 %22085, -1
  br i1 %22086, label %22140, label %22087

22087:                                            ; preds = %22081
  br label %22088

22088:                                            ; preds = %22087
  br label %22089

22089:                                            ; preds = %22088
  call void @llvm.lifetime.start.p0(i64 4, ptr %362) #8
  %22090 = call ptr @__errno_location() #9
  %22091 = load i32, ptr %22090, align 4, !tbaa !5
  store i32 %22091, ptr %362, align 4, !tbaa !5
  %22092 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22093 = call i32 @s2n_print_stacktrace(ptr noundef %22092)
  %22094 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %22095 = trunc i8 %22094 to i1
  br i1 %22095, label %22096, label %22118

22096:                                            ; preds = %22089
  %22097 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22098 = call i32 @fileno(ptr noundef %22097) #8
  %22099 = call i32 @isatty(i32 noundef %22098) #8
  %22100 = icmp ne i32 %22099, 0
  br i1 %22100, label %22101, label %22118

22101:                                            ; preds = %22096
  %22102 = load i32, ptr %362, align 4, !tbaa !5
  %22103 = call ptr @__errno_location() #9
  store i32 %22102, ptr %22103, align 4, !tbaa !5
  %22104 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22105 = load i32, ptr @test_count, align 4, !tbaa !5
  %22106 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22107 = load i32, ptr %22106, align 4, !tbaa !5
  %22108 = call ptr @s2n_strerror(i32 noundef %22107, ptr noundef @.str.4)
  %22109 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22110 = load i32, ptr %22109, align 4, !tbaa !5
  %22111 = call ptr @s2n_strerror_debug(i32 noundef %22110, ptr noundef @.str.4)
  %22112 = call ptr @__errno_location() #9
  %22113 = load i32, ptr %22112, align 4, !tbaa !5
  %22114 = call ptr @strerror(i32 noundef %22113) #8
  %22115 = call ptr @__errno_location() #9
  %22116 = load i32, ptr %22115, align 4, !tbaa !5
  %22117 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22104, ptr noundef @.str.2, i32 noundef %22105, ptr noundef @.str.77, ptr noundef @.str.1, i32 noundef 426, ptr noundef %22108, ptr noundef %22111, ptr noundef %22114, i32 noundef %22116) #8
  br label %22135

22118:                                            ; preds = %22096, %22089
  %22119 = load i32, ptr %362, align 4, !tbaa !5
  %22120 = call ptr @__errno_location() #9
  store i32 %22119, ptr %22120, align 4, !tbaa !5
  %22121 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22122 = load i32, ptr @test_count, align 4, !tbaa !5
  %22123 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22124 = load i32, ptr %22123, align 4, !tbaa !5
  %22125 = call ptr @s2n_strerror(i32 noundef %22124, ptr noundef @.str.4)
  %22126 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22127 = load i32, ptr %22126, align 4, !tbaa !5
  %22128 = call ptr @s2n_strerror_debug(i32 noundef %22127, ptr noundef @.str.4)
  %22129 = call ptr @__errno_location() #9
  %22130 = load i32, ptr %22129, align 4, !tbaa !5
  %22131 = call ptr @strerror(i32 noundef %22130) #8
  %22132 = call ptr @__errno_location() #9
  %22133 = load i32, ptr %22132, align 4, !tbaa !5
  %22134 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22121, ptr noundef @.str.5, i32 noundef %22122, ptr noundef @.str.77, ptr noundef @.str.1, i32 noundef 426, ptr noundef %22125, ptr noundef %22128, ptr noundef %22131, i32 noundef %22133) #8
  br label %22135

22135:                                            ; preds = %22118, %22101
  call void @llvm.lifetime.end.p0(i64 4, ptr %362) #8
  br label %22136

22136:                                            ; preds = %22135
  br label %22137

22137:                                            ; preds = %22136
  call void @exit(i32 noundef 1) #10
  unreachable

22138:                                            ; No predecessors!
  br label %22139

22139:                                            ; preds = %22138
  br label %22140

22140:                                            ; preds = %22139, %22081
  br label %22141

22141:                                            ; preds = %22140
  br label %22142

22142:                                            ; preds = %22141
  br label %22143

22143:                                            ; preds = %22142
  %22144 = load i32, ptr @test_count, align 4, !tbaa !5
  %22145 = add nsw i32 %22144, 1
  store i32 %22145, ptr @test_count, align 4, !tbaa !5
  %22146 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22147 = load i32, ptr %22146, align 4, !tbaa !5
  %22148 = icmp eq i32 %22147, 0
  br i1 %22148, label %22149, label %22202

22149:                                            ; preds = %22143
  br label %22150

22150:                                            ; preds = %22149
  br label %22151

22151:                                            ; preds = %22150
  call void @llvm.lifetime.start.p0(i64 4, ptr %363) #8
  %22152 = call ptr @__errno_location() #9
  %22153 = load i32, ptr %22152, align 4, !tbaa !5
  store i32 %22153, ptr %363, align 4, !tbaa !5
  %22154 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22155 = call i32 @s2n_print_stacktrace(ptr noundef %22154)
  %22156 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %22157 = trunc i8 %22156 to i1
  br i1 %22157, label %22158, label %22180

22158:                                            ; preds = %22151
  %22159 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22160 = call i32 @fileno(ptr noundef %22159) #8
  %22161 = call i32 @isatty(i32 noundef %22160) #8
  %22162 = icmp ne i32 %22161, 0
  br i1 %22162, label %22163, label %22180

22163:                                            ; preds = %22158
  %22164 = load i32, ptr %363, align 4, !tbaa !5
  %22165 = call ptr @__errno_location() #9
  store i32 %22164, ptr %22165, align 4, !tbaa !5
  %22166 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22167 = load i32, ptr @test_count, align 4, !tbaa !5
  %22168 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22169 = load i32, ptr %22168, align 4, !tbaa !5
  %22170 = call ptr @s2n_strerror(i32 noundef %22169, ptr noundef @.str.4)
  %22171 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22172 = load i32, ptr %22171, align 4, !tbaa !5
  %22173 = call ptr @s2n_strerror_debug(i32 noundef %22172, ptr noundef @.str.4)
  %22174 = call ptr @__errno_location() #9
  %22175 = load i32, ptr %22174, align 4, !tbaa !5
  %22176 = call ptr @strerror(i32 noundef %22175) #8
  %22177 = call ptr @__errno_location() #9
  %22178 = load i32, ptr %22177, align 4, !tbaa !5
  %22179 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22166, ptr noundef @.str.2, i32 noundef %22167, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 426, ptr noundef %22170, ptr noundef %22173, ptr noundef %22176, i32 noundef %22178) #8
  br label %22197

22180:                                            ; preds = %22158, %22151
  %22181 = load i32, ptr %363, align 4, !tbaa !5
  %22182 = call ptr @__errno_location() #9
  store i32 %22181, ptr %22182, align 4, !tbaa !5
  %22183 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22184 = load i32, ptr @test_count, align 4, !tbaa !5
  %22185 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22186 = load i32, ptr %22185, align 4, !tbaa !5
  %22187 = call ptr @s2n_strerror(i32 noundef %22186, ptr noundef @.str.4)
  %22188 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22189 = load i32, ptr %22188, align 4, !tbaa !5
  %22190 = call ptr @s2n_strerror_debug(i32 noundef %22189, ptr noundef @.str.4)
  %22191 = call ptr @__errno_location() #9
  %22192 = load i32, ptr %22191, align 4, !tbaa !5
  %22193 = call ptr @strerror(i32 noundef %22192) #8
  %22194 = call ptr @__errno_location() #9
  %22195 = load i32, ptr %22194, align 4, !tbaa !5
  %22196 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22183, ptr noundef @.str.5, i32 noundef %22184, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 426, ptr noundef %22187, ptr noundef %22190, ptr noundef %22193, i32 noundef %22195) #8
  br label %22197

22197:                                            ; preds = %22180, %22163
  call void @llvm.lifetime.end.p0(i64 4, ptr %363) #8
  br label %22198

22198:                                            ; preds = %22197
  br label %22199

22199:                                            ; preds = %22198
  call void @exit(i32 noundef 1) #10
  unreachable

22200:                                            ; No predecessors!
  br label %22201

22201:                                            ; preds = %22200
  br label %22202

22202:                                            ; preds = %22201, %22143
  br label %22203

22203:                                            ; preds = %22202
  br label %22204

22204:                                            ; preds = %22203
  br label %22205

22205:                                            ; preds = %22204
  %22206 = load i32, ptr @test_count, align 4, !tbaa !5
  %22207 = add nsw i32 %22206, 1
  store i32 %22207, ptr @test_count, align 4, !tbaa !5
  %22208 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22209 = load i32, ptr %22208, align 4, !tbaa !5
  %22210 = call ptr @s2n_strerror_debug(i32 noundef %22209, ptr noundef @.str.4)
  %22211 = icmp eq ptr %22210, null
  br i1 %22211, label %22212, label %22265

22212:                                            ; preds = %22205
  br label %22213

22213:                                            ; preds = %22212
  br label %22214

22214:                                            ; preds = %22213
  call void @llvm.lifetime.start.p0(i64 4, ptr %364) #8
  %22215 = call ptr @__errno_location() #9
  %22216 = load i32, ptr %22215, align 4, !tbaa !5
  store i32 %22216, ptr %364, align 4, !tbaa !5
  %22217 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22218 = call i32 @s2n_print_stacktrace(ptr noundef %22217)
  %22219 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %22220 = trunc i8 %22219 to i1
  br i1 %22220, label %22221, label %22243

22221:                                            ; preds = %22214
  %22222 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22223 = call i32 @fileno(ptr noundef %22222) #8
  %22224 = call i32 @isatty(i32 noundef %22223) #8
  %22225 = icmp ne i32 %22224, 0
  br i1 %22225, label %22226, label %22243

22226:                                            ; preds = %22221
  %22227 = load i32, ptr %364, align 4, !tbaa !5
  %22228 = call ptr @__errno_location() #9
  store i32 %22227, ptr %22228, align 4, !tbaa !5
  %22229 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22230 = load i32, ptr @test_count, align 4, !tbaa !5
  %22231 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22232 = load i32, ptr %22231, align 4, !tbaa !5
  %22233 = call ptr @s2n_strerror(i32 noundef %22232, ptr noundef @.str.4)
  %22234 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22235 = load i32, ptr %22234, align 4, !tbaa !5
  %22236 = call ptr @s2n_strerror_debug(i32 noundef %22235, ptr noundef @.str.4)
  %22237 = call ptr @__errno_location() #9
  %22238 = load i32, ptr %22237, align 4, !tbaa !5
  %22239 = call ptr @strerror(i32 noundef %22238) #8
  %22240 = call ptr @__errno_location() #9
  %22241 = load i32, ptr %22240, align 4, !tbaa !5
  %22242 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22229, ptr noundef @.str.2, i32 noundef %22230, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 426, ptr noundef %22233, ptr noundef %22236, ptr noundef %22239, i32 noundef %22241) #8
  br label %22260

22243:                                            ; preds = %22221, %22214
  %22244 = load i32, ptr %364, align 4, !tbaa !5
  %22245 = call ptr @__errno_location() #9
  store i32 %22244, ptr %22245, align 4, !tbaa !5
  %22246 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22247 = load i32, ptr @test_count, align 4, !tbaa !5
  %22248 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22249 = load i32, ptr %22248, align 4, !tbaa !5
  %22250 = call ptr @s2n_strerror(i32 noundef %22249, ptr noundef @.str.4)
  %22251 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22252 = load i32, ptr %22251, align 4, !tbaa !5
  %22253 = call ptr @s2n_strerror_debug(i32 noundef %22252, ptr noundef @.str.4)
  %22254 = call ptr @__errno_location() #9
  %22255 = load i32, ptr %22254, align 4, !tbaa !5
  %22256 = call ptr @strerror(i32 noundef %22255) #8
  %22257 = call ptr @__errno_location() #9
  %22258 = load i32, ptr %22257, align 4, !tbaa !5
  %22259 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22246, ptr noundef @.str.5, i32 noundef %22247, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 426, ptr noundef %22250, ptr noundef %22253, ptr noundef %22256, i32 noundef %22258) #8
  br label %22260

22260:                                            ; preds = %22243, %22226
  call void @llvm.lifetime.end.p0(i64 4, ptr %364) #8
  br label %22261

22261:                                            ; preds = %22260
  br label %22262

22262:                                            ; preds = %22261
  call void @exit(i32 noundef 1) #10
  unreachable

22263:                                            ; No predecessors!
  br label %22264

22264:                                            ; preds = %22263
  br label %22265

22265:                                            ; preds = %22264, %22205
  br label %22266

22266:                                            ; preds = %22265
  br label %22267

22267:                                            ; preds = %22266
  br label %22268

22268:                                            ; preds = %22267
  %22269 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %22269, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %22270 = call ptr @__errno_location() #9
  store i32 0, ptr %22270, align 4, !tbaa !5
  br label %22271

22271:                                            ; preds = %22268
  br label %22272

22272:                                            ; preds = %22271
  br label %22273

22273:                                            ; preds = %22272
  br label %22274

22274:                                            ; preds = %22273
  br label %22275

22275:                                            ; preds = %22274
  br label %22276

22276:                                            ; preds = %22275
  %22277 = load i32, ptr @test_count, align 4, !tbaa !5
  %22278 = add nsw i32 %22277, 1
  store i32 %22278, ptr @test_count, align 4, !tbaa !5
  %22279 = load ptr, ptr %239, align 8, !tbaa !9
  %22280 = call i32 @s2n_test_auth_combo(ptr noundef %22279, ptr noundef @s2n_ecdhe_ecdsa_with_aes_128_cbc_sha, ptr noundef @s2n_rsa_pss_rsae_sha256, ptr noundef null)
  %22281 = icmp eq i32 %22280, -1
  br i1 %22281, label %22335, label %22282

22282:                                            ; preds = %22276
  br label %22283

22283:                                            ; preds = %22282
  br label %22284

22284:                                            ; preds = %22283
  call void @llvm.lifetime.start.p0(i64 4, ptr %365) #8
  %22285 = call ptr @__errno_location() #9
  %22286 = load i32, ptr %22285, align 4, !tbaa !5
  store i32 %22286, ptr %365, align 4, !tbaa !5
  %22287 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22288 = call i32 @s2n_print_stacktrace(ptr noundef %22287)
  %22289 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %22290 = trunc i8 %22289 to i1
  br i1 %22290, label %22291, label %22313

22291:                                            ; preds = %22284
  %22292 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22293 = call i32 @fileno(ptr noundef %22292) #8
  %22294 = call i32 @isatty(i32 noundef %22293) #8
  %22295 = icmp ne i32 %22294, 0
  br i1 %22295, label %22296, label %22313

22296:                                            ; preds = %22291
  %22297 = load i32, ptr %365, align 4, !tbaa !5
  %22298 = call ptr @__errno_location() #9
  store i32 %22297, ptr %22298, align 4, !tbaa !5
  %22299 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22300 = load i32, ptr @test_count, align 4, !tbaa !5
  %22301 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22302 = load i32, ptr %22301, align 4, !tbaa !5
  %22303 = call ptr @s2n_strerror(i32 noundef %22302, ptr noundef @.str.4)
  %22304 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22305 = load i32, ptr %22304, align 4, !tbaa !5
  %22306 = call ptr @s2n_strerror_debug(i32 noundef %22305, ptr noundef @.str.4)
  %22307 = call ptr @__errno_location() #9
  %22308 = load i32, ptr %22307, align 4, !tbaa !5
  %22309 = call ptr @strerror(i32 noundef %22308) #8
  %22310 = call ptr @__errno_location() #9
  %22311 = load i32, ptr %22310, align 4, !tbaa !5
  %22312 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22299, ptr noundef @.str.2, i32 noundef %22300, ptr noundef @.str.78, ptr noundef @.str.1, i32 noundef 427, ptr noundef %22303, ptr noundef %22306, ptr noundef %22309, i32 noundef %22311) #8
  br label %22330

22313:                                            ; preds = %22291, %22284
  %22314 = load i32, ptr %365, align 4, !tbaa !5
  %22315 = call ptr @__errno_location() #9
  store i32 %22314, ptr %22315, align 4, !tbaa !5
  %22316 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22317 = load i32, ptr @test_count, align 4, !tbaa !5
  %22318 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22319 = load i32, ptr %22318, align 4, !tbaa !5
  %22320 = call ptr @s2n_strerror(i32 noundef %22319, ptr noundef @.str.4)
  %22321 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22322 = load i32, ptr %22321, align 4, !tbaa !5
  %22323 = call ptr @s2n_strerror_debug(i32 noundef %22322, ptr noundef @.str.4)
  %22324 = call ptr @__errno_location() #9
  %22325 = load i32, ptr %22324, align 4, !tbaa !5
  %22326 = call ptr @strerror(i32 noundef %22325) #8
  %22327 = call ptr @__errno_location() #9
  %22328 = load i32, ptr %22327, align 4, !tbaa !5
  %22329 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22316, ptr noundef @.str.5, i32 noundef %22317, ptr noundef @.str.78, ptr noundef @.str.1, i32 noundef 427, ptr noundef %22320, ptr noundef %22323, ptr noundef %22326, i32 noundef %22328) #8
  br label %22330

22330:                                            ; preds = %22313, %22296
  call void @llvm.lifetime.end.p0(i64 4, ptr %365) #8
  br label %22331

22331:                                            ; preds = %22330
  br label %22332

22332:                                            ; preds = %22331
  call void @exit(i32 noundef 1) #10
  unreachable

22333:                                            ; No predecessors!
  br label %22334

22334:                                            ; preds = %22333
  br label %22335

22335:                                            ; preds = %22334, %22276
  br label %22336

22336:                                            ; preds = %22335
  br label %22337

22337:                                            ; preds = %22336
  br label %22338

22338:                                            ; preds = %22337
  %22339 = load i32, ptr @test_count, align 4, !tbaa !5
  %22340 = add nsw i32 %22339, 1
  store i32 %22340, ptr @test_count, align 4, !tbaa !5
  %22341 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22342 = load i32, ptr %22341, align 4, !tbaa !5
  %22343 = icmp eq i32 %22342, 0
  br i1 %22343, label %22344, label %22397

22344:                                            ; preds = %22338
  br label %22345

22345:                                            ; preds = %22344
  br label %22346

22346:                                            ; preds = %22345
  call void @llvm.lifetime.start.p0(i64 4, ptr %366) #8
  %22347 = call ptr @__errno_location() #9
  %22348 = load i32, ptr %22347, align 4, !tbaa !5
  store i32 %22348, ptr %366, align 4, !tbaa !5
  %22349 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22350 = call i32 @s2n_print_stacktrace(ptr noundef %22349)
  %22351 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %22352 = trunc i8 %22351 to i1
  br i1 %22352, label %22353, label %22375

22353:                                            ; preds = %22346
  %22354 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22355 = call i32 @fileno(ptr noundef %22354) #8
  %22356 = call i32 @isatty(i32 noundef %22355) #8
  %22357 = icmp ne i32 %22356, 0
  br i1 %22357, label %22358, label %22375

22358:                                            ; preds = %22353
  %22359 = load i32, ptr %366, align 4, !tbaa !5
  %22360 = call ptr @__errno_location() #9
  store i32 %22359, ptr %22360, align 4, !tbaa !5
  %22361 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22362 = load i32, ptr @test_count, align 4, !tbaa !5
  %22363 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22364 = load i32, ptr %22363, align 4, !tbaa !5
  %22365 = call ptr @s2n_strerror(i32 noundef %22364, ptr noundef @.str.4)
  %22366 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22367 = load i32, ptr %22366, align 4, !tbaa !5
  %22368 = call ptr @s2n_strerror_debug(i32 noundef %22367, ptr noundef @.str.4)
  %22369 = call ptr @__errno_location() #9
  %22370 = load i32, ptr %22369, align 4, !tbaa !5
  %22371 = call ptr @strerror(i32 noundef %22370) #8
  %22372 = call ptr @__errno_location() #9
  %22373 = load i32, ptr %22372, align 4, !tbaa !5
  %22374 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22361, ptr noundef @.str.2, i32 noundef %22362, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 427, ptr noundef %22365, ptr noundef %22368, ptr noundef %22371, i32 noundef %22373) #8
  br label %22392

22375:                                            ; preds = %22353, %22346
  %22376 = load i32, ptr %366, align 4, !tbaa !5
  %22377 = call ptr @__errno_location() #9
  store i32 %22376, ptr %22377, align 4, !tbaa !5
  %22378 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22379 = load i32, ptr @test_count, align 4, !tbaa !5
  %22380 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22381 = load i32, ptr %22380, align 4, !tbaa !5
  %22382 = call ptr @s2n_strerror(i32 noundef %22381, ptr noundef @.str.4)
  %22383 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22384 = load i32, ptr %22383, align 4, !tbaa !5
  %22385 = call ptr @s2n_strerror_debug(i32 noundef %22384, ptr noundef @.str.4)
  %22386 = call ptr @__errno_location() #9
  %22387 = load i32, ptr %22386, align 4, !tbaa !5
  %22388 = call ptr @strerror(i32 noundef %22387) #8
  %22389 = call ptr @__errno_location() #9
  %22390 = load i32, ptr %22389, align 4, !tbaa !5
  %22391 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22378, ptr noundef @.str.5, i32 noundef %22379, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 427, ptr noundef %22382, ptr noundef %22385, ptr noundef %22388, i32 noundef %22390) #8
  br label %22392

22392:                                            ; preds = %22375, %22358
  call void @llvm.lifetime.end.p0(i64 4, ptr %366) #8
  br label %22393

22393:                                            ; preds = %22392
  br label %22394

22394:                                            ; preds = %22393
  call void @exit(i32 noundef 1) #10
  unreachable

22395:                                            ; No predecessors!
  br label %22396

22396:                                            ; preds = %22395
  br label %22397

22397:                                            ; preds = %22396, %22338
  br label %22398

22398:                                            ; preds = %22397
  br label %22399

22399:                                            ; preds = %22398
  br label %22400

22400:                                            ; preds = %22399
  %22401 = load i32, ptr @test_count, align 4, !tbaa !5
  %22402 = add nsw i32 %22401, 1
  store i32 %22402, ptr @test_count, align 4, !tbaa !5
  %22403 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22404 = load i32, ptr %22403, align 4, !tbaa !5
  %22405 = call ptr @s2n_strerror_debug(i32 noundef %22404, ptr noundef @.str.4)
  %22406 = icmp eq ptr %22405, null
  br i1 %22406, label %22407, label %22460

22407:                                            ; preds = %22400
  br label %22408

22408:                                            ; preds = %22407
  br label %22409

22409:                                            ; preds = %22408
  call void @llvm.lifetime.start.p0(i64 4, ptr %367) #8
  %22410 = call ptr @__errno_location() #9
  %22411 = load i32, ptr %22410, align 4, !tbaa !5
  store i32 %22411, ptr %367, align 4, !tbaa !5
  %22412 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22413 = call i32 @s2n_print_stacktrace(ptr noundef %22412)
  %22414 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %22415 = trunc i8 %22414 to i1
  br i1 %22415, label %22416, label %22438

22416:                                            ; preds = %22409
  %22417 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22418 = call i32 @fileno(ptr noundef %22417) #8
  %22419 = call i32 @isatty(i32 noundef %22418) #8
  %22420 = icmp ne i32 %22419, 0
  br i1 %22420, label %22421, label %22438

22421:                                            ; preds = %22416
  %22422 = load i32, ptr %367, align 4, !tbaa !5
  %22423 = call ptr @__errno_location() #9
  store i32 %22422, ptr %22423, align 4, !tbaa !5
  %22424 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22425 = load i32, ptr @test_count, align 4, !tbaa !5
  %22426 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22427 = load i32, ptr %22426, align 4, !tbaa !5
  %22428 = call ptr @s2n_strerror(i32 noundef %22427, ptr noundef @.str.4)
  %22429 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22430 = load i32, ptr %22429, align 4, !tbaa !5
  %22431 = call ptr @s2n_strerror_debug(i32 noundef %22430, ptr noundef @.str.4)
  %22432 = call ptr @__errno_location() #9
  %22433 = load i32, ptr %22432, align 4, !tbaa !5
  %22434 = call ptr @strerror(i32 noundef %22433) #8
  %22435 = call ptr @__errno_location() #9
  %22436 = load i32, ptr %22435, align 4, !tbaa !5
  %22437 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22424, ptr noundef @.str.2, i32 noundef %22425, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 427, ptr noundef %22428, ptr noundef %22431, ptr noundef %22434, i32 noundef %22436) #8
  br label %22455

22438:                                            ; preds = %22416, %22409
  %22439 = load i32, ptr %367, align 4, !tbaa !5
  %22440 = call ptr @__errno_location() #9
  store i32 %22439, ptr %22440, align 4, !tbaa !5
  %22441 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22442 = load i32, ptr @test_count, align 4, !tbaa !5
  %22443 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22444 = load i32, ptr %22443, align 4, !tbaa !5
  %22445 = call ptr @s2n_strerror(i32 noundef %22444, ptr noundef @.str.4)
  %22446 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22447 = load i32, ptr %22446, align 4, !tbaa !5
  %22448 = call ptr @s2n_strerror_debug(i32 noundef %22447, ptr noundef @.str.4)
  %22449 = call ptr @__errno_location() #9
  %22450 = load i32, ptr %22449, align 4, !tbaa !5
  %22451 = call ptr @strerror(i32 noundef %22450) #8
  %22452 = call ptr @__errno_location() #9
  %22453 = load i32, ptr %22452, align 4, !tbaa !5
  %22454 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22441, ptr noundef @.str.5, i32 noundef %22442, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 427, ptr noundef %22445, ptr noundef %22448, ptr noundef %22451, i32 noundef %22453) #8
  br label %22455

22455:                                            ; preds = %22438, %22421
  call void @llvm.lifetime.end.p0(i64 4, ptr %367) #8
  br label %22456

22456:                                            ; preds = %22455
  br label %22457

22457:                                            ; preds = %22456
  call void @exit(i32 noundef 1) #10
  unreachable

22458:                                            ; No predecessors!
  br label %22459

22459:                                            ; preds = %22458
  br label %22460

22460:                                            ; preds = %22459, %22400
  br label %22461

22461:                                            ; preds = %22460
  br label %22462

22462:                                            ; preds = %22461
  br label %22463

22463:                                            ; preds = %22462
  %22464 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %22464, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %22465 = call ptr @__errno_location() #9
  store i32 0, ptr %22465, align 4, !tbaa !5
  br label %22466

22466:                                            ; preds = %22463
  br label %22467

22467:                                            ; preds = %22466
  br label %22468

22468:                                            ; preds = %22467
  br label %22469

22469:                                            ; preds = %22468
  br label %22470

22470:                                            ; preds = %22469
  %22471 = load i32, ptr @test_count, align 4, !tbaa !5
  %22472 = add nsw i32 %22471, 1
  store i32 %22472, ptr @test_count, align 4, !tbaa !5
  %22473 = load ptr, ptr %239, align 8, !tbaa !9
  %22474 = load ptr, ptr %12, align 8, !tbaa !9
  %22475 = call i32 @s2n_test_auth_combo(ptr noundef %22473, ptr noundef @s2n_ecdhe_ecdsa_with_aes_128_cbc_sha, ptr noundef @s2n_ecdsa_sha384, ptr noundef %22474)
  %22476 = icmp eq i32 %22475, -1
  br i1 %22476, label %22477, label %22530

22477:                                            ; preds = %22470
  br label %22478

22478:                                            ; preds = %22477
  br label %22479

22479:                                            ; preds = %22478
  call void @llvm.lifetime.start.p0(i64 4, ptr %368) #8
  %22480 = call ptr @__errno_location() #9
  %22481 = load i32, ptr %22480, align 4, !tbaa !5
  store i32 %22481, ptr %368, align 4, !tbaa !5
  %22482 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22483 = call i32 @s2n_print_stacktrace(ptr noundef %22482)
  %22484 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %22485 = trunc i8 %22484 to i1
  br i1 %22485, label %22486, label %22508

22486:                                            ; preds = %22479
  %22487 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22488 = call i32 @fileno(ptr noundef %22487) #8
  %22489 = call i32 @isatty(i32 noundef %22488) #8
  %22490 = icmp ne i32 %22489, 0
  br i1 %22490, label %22491, label %22508

22491:                                            ; preds = %22486
  %22492 = load i32, ptr %368, align 4, !tbaa !5
  %22493 = call ptr @__errno_location() #9
  store i32 %22492, ptr %22493, align 4, !tbaa !5
  %22494 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22495 = load i32, ptr @test_count, align 4, !tbaa !5
  %22496 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22497 = load i32, ptr %22496, align 4, !tbaa !5
  %22498 = call ptr @s2n_strerror(i32 noundef %22497, ptr noundef @.str.4)
  %22499 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22500 = load i32, ptr %22499, align 4, !tbaa !5
  %22501 = call ptr @s2n_strerror_debug(i32 noundef %22500, ptr noundef @.str.4)
  %22502 = call ptr @__errno_location() #9
  %22503 = load i32, ptr %22502, align 4, !tbaa !5
  %22504 = call ptr @strerror(i32 noundef %22503) #8
  %22505 = call ptr @__errno_location() #9
  %22506 = load i32, ptr %22505, align 4, !tbaa !5
  %22507 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22494, ptr noundef @.str.2, i32 noundef %22495, ptr noundef @.str.92, ptr noundef @.str.1, i32 noundef 428, ptr noundef %22498, ptr noundef %22501, ptr noundef %22504, i32 noundef %22506) #8
  br label %22525

22508:                                            ; preds = %22486, %22479
  %22509 = load i32, ptr %368, align 4, !tbaa !5
  %22510 = call ptr @__errno_location() #9
  store i32 %22509, ptr %22510, align 4, !tbaa !5
  %22511 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22512 = load i32, ptr @test_count, align 4, !tbaa !5
  %22513 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22514 = load i32, ptr %22513, align 4, !tbaa !5
  %22515 = call ptr @s2n_strerror(i32 noundef %22514, ptr noundef @.str.4)
  %22516 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22517 = load i32, ptr %22516, align 4, !tbaa !5
  %22518 = call ptr @s2n_strerror_debug(i32 noundef %22517, ptr noundef @.str.4)
  %22519 = call ptr @__errno_location() #9
  %22520 = load i32, ptr %22519, align 4, !tbaa !5
  %22521 = call ptr @strerror(i32 noundef %22520) #8
  %22522 = call ptr @__errno_location() #9
  %22523 = load i32, ptr %22522, align 4, !tbaa !5
  %22524 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22511, ptr noundef @.str.5, i32 noundef %22512, ptr noundef @.str.92, ptr noundef @.str.1, i32 noundef 428, ptr noundef %22515, ptr noundef %22518, ptr noundef %22521, i32 noundef %22523) #8
  br label %22525

22525:                                            ; preds = %22508, %22491
  call void @llvm.lifetime.end.p0(i64 4, ptr %368) #8
  br label %22526

22526:                                            ; preds = %22525
  br label %22527

22527:                                            ; preds = %22526
  call void @exit(i32 noundef 1) #10
  unreachable

22528:                                            ; No predecessors!
  br label %22529

22529:                                            ; preds = %22528
  br label %22530

22530:                                            ; preds = %22529, %22470
  br label %22531

22531:                                            ; preds = %22530
  br label %22532

22532:                                            ; preds = %22531
  br label %22533

22533:                                            ; preds = %22532
  br label %22534

22534:                                            ; preds = %22533
  %22535 = load i32, ptr @test_count, align 4, !tbaa !5
  %22536 = add nsw i32 %22535, 1
  store i32 %22536, ptr @test_count, align 4, !tbaa !5
  %22537 = load ptr, ptr %239, align 8, !tbaa !9
  %22538 = call i32 @s2n_test_auth_combo(ptr noundef %22537, ptr noundef @s2n_tls13_aes_128_gcm_sha256, ptr noundef @s2n_rsa_pkcs1_md5_sha1, ptr noundef null)
  %22539 = icmp eq i32 %22538, -1
  br i1 %22539, label %22593, label %22540

22540:                                            ; preds = %22534
  br label %22541

22541:                                            ; preds = %22540
  br label %22542

22542:                                            ; preds = %22541
  call void @llvm.lifetime.start.p0(i64 4, ptr %369) #8
  %22543 = call ptr @__errno_location() #9
  %22544 = load i32, ptr %22543, align 4, !tbaa !5
  store i32 %22544, ptr %369, align 4, !tbaa !5
  %22545 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22546 = call i32 @s2n_print_stacktrace(ptr noundef %22545)
  %22547 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %22548 = trunc i8 %22547 to i1
  br i1 %22548, label %22549, label %22571

22549:                                            ; preds = %22542
  %22550 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22551 = call i32 @fileno(ptr noundef %22550) #8
  %22552 = call i32 @isatty(i32 noundef %22551) #8
  %22553 = icmp ne i32 %22552, 0
  br i1 %22553, label %22554, label %22571

22554:                                            ; preds = %22549
  %22555 = load i32, ptr %369, align 4, !tbaa !5
  %22556 = call ptr @__errno_location() #9
  store i32 %22555, ptr %22556, align 4, !tbaa !5
  %22557 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22558 = load i32, ptr @test_count, align 4, !tbaa !5
  %22559 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22560 = load i32, ptr %22559, align 4, !tbaa !5
  %22561 = call ptr @s2n_strerror(i32 noundef %22560, ptr noundef @.str.4)
  %22562 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22563 = load i32, ptr %22562, align 4, !tbaa !5
  %22564 = call ptr @s2n_strerror_debug(i32 noundef %22563, ptr noundef @.str.4)
  %22565 = call ptr @__errno_location() #9
  %22566 = load i32, ptr %22565, align 4, !tbaa !5
  %22567 = call ptr @strerror(i32 noundef %22566) #8
  %22568 = call ptr @__errno_location() #9
  %22569 = load i32, ptr %22568, align 4, !tbaa !5
  %22570 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22557, ptr noundef @.str.2, i32 noundef %22558, ptr noundef @.str.80, ptr noundef @.str.1, i32 noundef 430, ptr noundef %22561, ptr noundef %22564, ptr noundef %22567, i32 noundef %22569) #8
  br label %22588

22571:                                            ; preds = %22549, %22542
  %22572 = load i32, ptr %369, align 4, !tbaa !5
  %22573 = call ptr @__errno_location() #9
  store i32 %22572, ptr %22573, align 4, !tbaa !5
  %22574 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22575 = load i32, ptr @test_count, align 4, !tbaa !5
  %22576 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22577 = load i32, ptr %22576, align 4, !tbaa !5
  %22578 = call ptr @s2n_strerror(i32 noundef %22577, ptr noundef @.str.4)
  %22579 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22580 = load i32, ptr %22579, align 4, !tbaa !5
  %22581 = call ptr @s2n_strerror_debug(i32 noundef %22580, ptr noundef @.str.4)
  %22582 = call ptr @__errno_location() #9
  %22583 = load i32, ptr %22582, align 4, !tbaa !5
  %22584 = call ptr @strerror(i32 noundef %22583) #8
  %22585 = call ptr @__errno_location() #9
  %22586 = load i32, ptr %22585, align 4, !tbaa !5
  %22587 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22574, ptr noundef @.str.5, i32 noundef %22575, ptr noundef @.str.80, ptr noundef @.str.1, i32 noundef 430, ptr noundef %22578, ptr noundef %22581, ptr noundef %22584, i32 noundef %22586) #8
  br label %22588

22588:                                            ; preds = %22571, %22554
  call void @llvm.lifetime.end.p0(i64 4, ptr %369) #8
  br label %22589

22589:                                            ; preds = %22588
  br label %22590

22590:                                            ; preds = %22589
  call void @exit(i32 noundef 1) #10
  unreachable

22591:                                            ; No predecessors!
  br label %22592

22592:                                            ; preds = %22591
  br label %22593

22593:                                            ; preds = %22592, %22534
  br label %22594

22594:                                            ; preds = %22593
  br label %22595

22595:                                            ; preds = %22594
  br label %22596

22596:                                            ; preds = %22595
  %22597 = load i32, ptr @test_count, align 4, !tbaa !5
  %22598 = add nsw i32 %22597, 1
  store i32 %22598, ptr @test_count, align 4, !tbaa !5
  %22599 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22600 = load i32, ptr %22599, align 4, !tbaa !5
  %22601 = icmp eq i32 %22600, 0
  br i1 %22601, label %22602, label %22655

22602:                                            ; preds = %22596
  br label %22603

22603:                                            ; preds = %22602
  br label %22604

22604:                                            ; preds = %22603
  call void @llvm.lifetime.start.p0(i64 4, ptr %370) #8
  %22605 = call ptr @__errno_location() #9
  %22606 = load i32, ptr %22605, align 4, !tbaa !5
  store i32 %22606, ptr %370, align 4, !tbaa !5
  %22607 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22608 = call i32 @s2n_print_stacktrace(ptr noundef %22607)
  %22609 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %22610 = trunc i8 %22609 to i1
  br i1 %22610, label %22611, label %22633

22611:                                            ; preds = %22604
  %22612 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22613 = call i32 @fileno(ptr noundef %22612) #8
  %22614 = call i32 @isatty(i32 noundef %22613) #8
  %22615 = icmp ne i32 %22614, 0
  br i1 %22615, label %22616, label %22633

22616:                                            ; preds = %22611
  %22617 = load i32, ptr %370, align 4, !tbaa !5
  %22618 = call ptr @__errno_location() #9
  store i32 %22617, ptr %22618, align 4, !tbaa !5
  %22619 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22620 = load i32, ptr @test_count, align 4, !tbaa !5
  %22621 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22622 = load i32, ptr %22621, align 4, !tbaa !5
  %22623 = call ptr @s2n_strerror(i32 noundef %22622, ptr noundef @.str.4)
  %22624 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22625 = load i32, ptr %22624, align 4, !tbaa !5
  %22626 = call ptr @s2n_strerror_debug(i32 noundef %22625, ptr noundef @.str.4)
  %22627 = call ptr @__errno_location() #9
  %22628 = load i32, ptr %22627, align 4, !tbaa !5
  %22629 = call ptr @strerror(i32 noundef %22628) #8
  %22630 = call ptr @__errno_location() #9
  %22631 = load i32, ptr %22630, align 4, !tbaa !5
  %22632 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22619, ptr noundef @.str.2, i32 noundef %22620, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 430, ptr noundef %22623, ptr noundef %22626, ptr noundef %22629, i32 noundef %22631) #8
  br label %22650

22633:                                            ; preds = %22611, %22604
  %22634 = load i32, ptr %370, align 4, !tbaa !5
  %22635 = call ptr @__errno_location() #9
  store i32 %22634, ptr %22635, align 4, !tbaa !5
  %22636 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22637 = load i32, ptr @test_count, align 4, !tbaa !5
  %22638 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22639 = load i32, ptr %22638, align 4, !tbaa !5
  %22640 = call ptr @s2n_strerror(i32 noundef %22639, ptr noundef @.str.4)
  %22641 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22642 = load i32, ptr %22641, align 4, !tbaa !5
  %22643 = call ptr @s2n_strerror_debug(i32 noundef %22642, ptr noundef @.str.4)
  %22644 = call ptr @__errno_location() #9
  %22645 = load i32, ptr %22644, align 4, !tbaa !5
  %22646 = call ptr @strerror(i32 noundef %22645) #8
  %22647 = call ptr @__errno_location() #9
  %22648 = load i32, ptr %22647, align 4, !tbaa !5
  %22649 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22636, ptr noundef @.str.5, i32 noundef %22637, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 430, ptr noundef %22640, ptr noundef %22643, ptr noundef %22646, i32 noundef %22648) #8
  br label %22650

22650:                                            ; preds = %22633, %22616
  call void @llvm.lifetime.end.p0(i64 4, ptr %370) #8
  br label %22651

22651:                                            ; preds = %22650
  br label %22652

22652:                                            ; preds = %22651
  call void @exit(i32 noundef 1) #10
  unreachable

22653:                                            ; No predecessors!
  br label %22654

22654:                                            ; preds = %22653
  br label %22655

22655:                                            ; preds = %22654, %22596
  br label %22656

22656:                                            ; preds = %22655
  br label %22657

22657:                                            ; preds = %22656
  br label %22658

22658:                                            ; preds = %22657
  %22659 = load i32, ptr @test_count, align 4, !tbaa !5
  %22660 = add nsw i32 %22659, 1
  store i32 %22660, ptr @test_count, align 4, !tbaa !5
  %22661 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22662 = load i32, ptr %22661, align 4, !tbaa !5
  %22663 = call ptr @s2n_strerror_debug(i32 noundef %22662, ptr noundef @.str.4)
  %22664 = icmp eq ptr %22663, null
  br i1 %22664, label %22665, label %22718

22665:                                            ; preds = %22658
  br label %22666

22666:                                            ; preds = %22665
  br label %22667

22667:                                            ; preds = %22666
  call void @llvm.lifetime.start.p0(i64 4, ptr %371) #8
  %22668 = call ptr @__errno_location() #9
  %22669 = load i32, ptr %22668, align 4, !tbaa !5
  store i32 %22669, ptr %371, align 4, !tbaa !5
  %22670 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22671 = call i32 @s2n_print_stacktrace(ptr noundef %22670)
  %22672 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %22673 = trunc i8 %22672 to i1
  br i1 %22673, label %22674, label %22696

22674:                                            ; preds = %22667
  %22675 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22676 = call i32 @fileno(ptr noundef %22675) #8
  %22677 = call i32 @isatty(i32 noundef %22676) #8
  %22678 = icmp ne i32 %22677, 0
  br i1 %22678, label %22679, label %22696

22679:                                            ; preds = %22674
  %22680 = load i32, ptr %371, align 4, !tbaa !5
  %22681 = call ptr @__errno_location() #9
  store i32 %22680, ptr %22681, align 4, !tbaa !5
  %22682 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22683 = load i32, ptr @test_count, align 4, !tbaa !5
  %22684 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22685 = load i32, ptr %22684, align 4, !tbaa !5
  %22686 = call ptr @s2n_strerror(i32 noundef %22685, ptr noundef @.str.4)
  %22687 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22688 = load i32, ptr %22687, align 4, !tbaa !5
  %22689 = call ptr @s2n_strerror_debug(i32 noundef %22688, ptr noundef @.str.4)
  %22690 = call ptr @__errno_location() #9
  %22691 = load i32, ptr %22690, align 4, !tbaa !5
  %22692 = call ptr @strerror(i32 noundef %22691) #8
  %22693 = call ptr @__errno_location() #9
  %22694 = load i32, ptr %22693, align 4, !tbaa !5
  %22695 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22682, ptr noundef @.str.2, i32 noundef %22683, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 430, ptr noundef %22686, ptr noundef %22689, ptr noundef %22692, i32 noundef %22694) #8
  br label %22713

22696:                                            ; preds = %22674, %22667
  %22697 = load i32, ptr %371, align 4, !tbaa !5
  %22698 = call ptr @__errno_location() #9
  store i32 %22697, ptr %22698, align 4, !tbaa !5
  %22699 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22700 = load i32, ptr @test_count, align 4, !tbaa !5
  %22701 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22702 = load i32, ptr %22701, align 4, !tbaa !5
  %22703 = call ptr @s2n_strerror(i32 noundef %22702, ptr noundef @.str.4)
  %22704 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22705 = load i32, ptr %22704, align 4, !tbaa !5
  %22706 = call ptr @s2n_strerror_debug(i32 noundef %22705, ptr noundef @.str.4)
  %22707 = call ptr @__errno_location() #9
  %22708 = load i32, ptr %22707, align 4, !tbaa !5
  %22709 = call ptr @strerror(i32 noundef %22708) #8
  %22710 = call ptr @__errno_location() #9
  %22711 = load i32, ptr %22710, align 4, !tbaa !5
  %22712 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22699, ptr noundef @.str.5, i32 noundef %22700, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 430, ptr noundef %22703, ptr noundef %22706, ptr noundef %22709, i32 noundef %22711) #8
  br label %22713

22713:                                            ; preds = %22696, %22679
  call void @llvm.lifetime.end.p0(i64 4, ptr %371) #8
  br label %22714

22714:                                            ; preds = %22713
  br label %22715

22715:                                            ; preds = %22714
  call void @exit(i32 noundef 1) #10
  unreachable

22716:                                            ; No predecessors!
  br label %22717

22717:                                            ; preds = %22716
  br label %22718

22718:                                            ; preds = %22717, %22658
  br label %22719

22719:                                            ; preds = %22718
  br label %22720

22720:                                            ; preds = %22719
  br label %22721

22721:                                            ; preds = %22720
  %22722 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %22722, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %22723 = call ptr @__errno_location() #9
  store i32 0, ptr %22723, align 4, !tbaa !5
  br label %22724

22724:                                            ; preds = %22721
  br label %22725

22725:                                            ; preds = %22724
  br label %22726

22726:                                            ; preds = %22725
  br label %22727

22727:                                            ; preds = %22726
  br label %22728

22728:                                            ; preds = %22727
  br label %22729

22729:                                            ; preds = %22728
  %22730 = load i32, ptr @test_count, align 4, !tbaa !5
  %22731 = add nsw i32 %22730, 1
  store i32 %22731, ptr @test_count, align 4, !tbaa !5
  %22732 = load ptr, ptr %239, align 8, !tbaa !9
  %22733 = call i32 @s2n_test_auth_combo(ptr noundef %22732, ptr noundef @s2n_tls13_aes_128_gcm_sha256, ptr noundef @s2n_rsa_pss_pss_sha256, ptr noundef null)
  %22734 = icmp eq i32 %22733, -1
  br i1 %22734, label %22788, label %22735

22735:                                            ; preds = %22729
  br label %22736

22736:                                            ; preds = %22735
  br label %22737

22737:                                            ; preds = %22736
  call void @llvm.lifetime.start.p0(i64 4, ptr %372) #8
  %22738 = call ptr @__errno_location() #9
  %22739 = load i32, ptr %22738, align 4, !tbaa !5
  store i32 %22739, ptr %372, align 4, !tbaa !5
  %22740 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22741 = call i32 @s2n_print_stacktrace(ptr noundef %22740)
  %22742 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %22743 = trunc i8 %22742 to i1
  br i1 %22743, label %22744, label %22766

22744:                                            ; preds = %22737
  %22745 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22746 = call i32 @fileno(ptr noundef %22745) #8
  %22747 = call i32 @isatty(i32 noundef %22746) #8
  %22748 = icmp ne i32 %22747, 0
  br i1 %22748, label %22749, label %22766

22749:                                            ; preds = %22744
  %22750 = load i32, ptr %372, align 4, !tbaa !5
  %22751 = call ptr @__errno_location() #9
  store i32 %22750, ptr %22751, align 4, !tbaa !5
  %22752 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22753 = load i32, ptr @test_count, align 4, !tbaa !5
  %22754 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22755 = load i32, ptr %22754, align 4, !tbaa !5
  %22756 = call ptr @s2n_strerror(i32 noundef %22755, ptr noundef @.str.4)
  %22757 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22758 = load i32, ptr %22757, align 4, !tbaa !5
  %22759 = call ptr @s2n_strerror_debug(i32 noundef %22758, ptr noundef @.str.4)
  %22760 = call ptr @__errno_location() #9
  %22761 = load i32, ptr %22760, align 4, !tbaa !5
  %22762 = call ptr @strerror(i32 noundef %22761) #8
  %22763 = call ptr @__errno_location() #9
  %22764 = load i32, ptr %22763, align 4, !tbaa !5
  %22765 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22752, ptr noundef @.str.2, i32 noundef %22753, ptr noundef @.str.81, ptr noundef @.str.1, i32 noundef 431, ptr noundef %22756, ptr noundef %22759, ptr noundef %22762, i32 noundef %22764) #8
  br label %22783

22766:                                            ; preds = %22744, %22737
  %22767 = load i32, ptr %372, align 4, !tbaa !5
  %22768 = call ptr @__errno_location() #9
  store i32 %22767, ptr %22768, align 4, !tbaa !5
  %22769 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22770 = load i32, ptr @test_count, align 4, !tbaa !5
  %22771 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22772 = load i32, ptr %22771, align 4, !tbaa !5
  %22773 = call ptr @s2n_strerror(i32 noundef %22772, ptr noundef @.str.4)
  %22774 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22775 = load i32, ptr %22774, align 4, !tbaa !5
  %22776 = call ptr @s2n_strerror_debug(i32 noundef %22775, ptr noundef @.str.4)
  %22777 = call ptr @__errno_location() #9
  %22778 = load i32, ptr %22777, align 4, !tbaa !5
  %22779 = call ptr @strerror(i32 noundef %22778) #8
  %22780 = call ptr @__errno_location() #9
  %22781 = load i32, ptr %22780, align 4, !tbaa !5
  %22782 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22769, ptr noundef @.str.5, i32 noundef %22770, ptr noundef @.str.81, ptr noundef @.str.1, i32 noundef 431, ptr noundef %22773, ptr noundef %22776, ptr noundef %22779, i32 noundef %22781) #8
  br label %22783

22783:                                            ; preds = %22766, %22749
  call void @llvm.lifetime.end.p0(i64 4, ptr %372) #8
  br label %22784

22784:                                            ; preds = %22783
  br label %22785

22785:                                            ; preds = %22784
  call void @exit(i32 noundef 1) #10
  unreachable

22786:                                            ; No predecessors!
  br label %22787

22787:                                            ; preds = %22786
  br label %22788

22788:                                            ; preds = %22787, %22729
  br label %22789

22789:                                            ; preds = %22788
  br label %22790

22790:                                            ; preds = %22789
  br label %22791

22791:                                            ; preds = %22790
  %22792 = load i32, ptr @test_count, align 4, !tbaa !5
  %22793 = add nsw i32 %22792, 1
  store i32 %22793, ptr @test_count, align 4, !tbaa !5
  %22794 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22795 = load i32, ptr %22794, align 4, !tbaa !5
  %22796 = icmp eq i32 %22795, 0
  br i1 %22796, label %22797, label %22850

22797:                                            ; preds = %22791
  br label %22798

22798:                                            ; preds = %22797
  br label %22799

22799:                                            ; preds = %22798
  call void @llvm.lifetime.start.p0(i64 4, ptr %373) #8
  %22800 = call ptr @__errno_location() #9
  %22801 = load i32, ptr %22800, align 4, !tbaa !5
  store i32 %22801, ptr %373, align 4, !tbaa !5
  %22802 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22803 = call i32 @s2n_print_stacktrace(ptr noundef %22802)
  %22804 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %22805 = trunc i8 %22804 to i1
  br i1 %22805, label %22806, label %22828

22806:                                            ; preds = %22799
  %22807 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22808 = call i32 @fileno(ptr noundef %22807) #8
  %22809 = call i32 @isatty(i32 noundef %22808) #8
  %22810 = icmp ne i32 %22809, 0
  br i1 %22810, label %22811, label %22828

22811:                                            ; preds = %22806
  %22812 = load i32, ptr %373, align 4, !tbaa !5
  %22813 = call ptr @__errno_location() #9
  store i32 %22812, ptr %22813, align 4, !tbaa !5
  %22814 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22815 = load i32, ptr @test_count, align 4, !tbaa !5
  %22816 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22817 = load i32, ptr %22816, align 4, !tbaa !5
  %22818 = call ptr @s2n_strerror(i32 noundef %22817, ptr noundef @.str.4)
  %22819 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22820 = load i32, ptr %22819, align 4, !tbaa !5
  %22821 = call ptr @s2n_strerror_debug(i32 noundef %22820, ptr noundef @.str.4)
  %22822 = call ptr @__errno_location() #9
  %22823 = load i32, ptr %22822, align 4, !tbaa !5
  %22824 = call ptr @strerror(i32 noundef %22823) #8
  %22825 = call ptr @__errno_location() #9
  %22826 = load i32, ptr %22825, align 4, !tbaa !5
  %22827 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22814, ptr noundef @.str.2, i32 noundef %22815, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 431, ptr noundef %22818, ptr noundef %22821, ptr noundef %22824, i32 noundef %22826) #8
  br label %22845

22828:                                            ; preds = %22806, %22799
  %22829 = load i32, ptr %373, align 4, !tbaa !5
  %22830 = call ptr @__errno_location() #9
  store i32 %22829, ptr %22830, align 4, !tbaa !5
  %22831 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22832 = load i32, ptr @test_count, align 4, !tbaa !5
  %22833 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22834 = load i32, ptr %22833, align 4, !tbaa !5
  %22835 = call ptr @s2n_strerror(i32 noundef %22834, ptr noundef @.str.4)
  %22836 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22837 = load i32, ptr %22836, align 4, !tbaa !5
  %22838 = call ptr @s2n_strerror_debug(i32 noundef %22837, ptr noundef @.str.4)
  %22839 = call ptr @__errno_location() #9
  %22840 = load i32, ptr %22839, align 4, !tbaa !5
  %22841 = call ptr @strerror(i32 noundef %22840) #8
  %22842 = call ptr @__errno_location() #9
  %22843 = load i32, ptr %22842, align 4, !tbaa !5
  %22844 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22831, ptr noundef @.str.5, i32 noundef %22832, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 431, ptr noundef %22835, ptr noundef %22838, ptr noundef %22841, i32 noundef %22843) #8
  br label %22845

22845:                                            ; preds = %22828, %22811
  call void @llvm.lifetime.end.p0(i64 4, ptr %373) #8
  br label %22846

22846:                                            ; preds = %22845
  br label %22847

22847:                                            ; preds = %22846
  call void @exit(i32 noundef 1) #10
  unreachable

22848:                                            ; No predecessors!
  br label %22849

22849:                                            ; preds = %22848
  br label %22850

22850:                                            ; preds = %22849, %22791
  br label %22851

22851:                                            ; preds = %22850
  br label %22852

22852:                                            ; preds = %22851
  br label %22853

22853:                                            ; preds = %22852
  %22854 = load i32, ptr @test_count, align 4, !tbaa !5
  %22855 = add nsw i32 %22854, 1
  store i32 %22855, ptr @test_count, align 4, !tbaa !5
  %22856 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22857 = load i32, ptr %22856, align 4, !tbaa !5
  %22858 = call ptr @s2n_strerror_debug(i32 noundef %22857, ptr noundef @.str.4)
  %22859 = icmp eq ptr %22858, null
  br i1 %22859, label %22860, label %22913

22860:                                            ; preds = %22853
  br label %22861

22861:                                            ; preds = %22860
  br label %22862

22862:                                            ; preds = %22861
  call void @llvm.lifetime.start.p0(i64 4, ptr %374) #8
  %22863 = call ptr @__errno_location() #9
  %22864 = load i32, ptr %22863, align 4, !tbaa !5
  store i32 %22864, ptr %374, align 4, !tbaa !5
  %22865 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22866 = call i32 @s2n_print_stacktrace(ptr noundef %22865)
  %22867 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %22868 = trunc i8 %22867 to i1
  br i1 %22868, label %22869, label %22891

22869:                                            ; preds = %22862
  %22870 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22871 = call i32 @fileno(ptr noundef %22870) #8
  %22872 = call i32 @isatty(i32 noundef %22871) #8
  %22873 = icmp ne i32 %22872, 0
  br i1 %22873, label %22874, label %22891

22874:                                            ; preds = %22869
  %22875 = load i32, ptr %374, align 4, !tbaa !5
  %22876 = call ptr @__errno_location() #9
  store i32 %22875, ptr %22876, align 4, !tbaa !5
  %22877 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22878 = load i32, ptr @test_count, align 4, !tbaa !5
  %22879 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22880 = load i32, ptr %22879, align 4, !tbaa !5
  %22881 = call ptr @s2n_strerror(i32 noundef %22880, ptr noundef @.str.4)
  %22882 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22883 = load i32, ptr %22882, align 4, !tbaa !5
  %22884 = call ptr @s2n_strerror_debug(i32 noundef %22883, ptr noundef @.str.4)
  %22885 = call ptr @__errno_location() #9
  %22886 = load i32, ptr %22885, align 4, !tbaa !5
  %22887 = call ptr @strerror(i32 noundef %22886) #8
  %22888 = call ptr @__errno_location() #9
  %22889 = load i32, ptr %22888, align 4, !tbaa !5
  %22890 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22877, ptr noundef @.str.2, i32 noundef %22878, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 431, ptr noundef %22881, ptr noundef %22884, ptr noundef %22887, i32 noundef %22889) #8
  br label %22908

22891:                                            ; preds = %22869, %22862
  %22892 = load i32, ptr %374, align 4, !tbaa !5
  %22893 = call ptr @__errno_location() #9
  store i32 %22892, ptr %22893, align 4, !tbaa !5
  %22894 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22895 = load i32, ptr @test_count, align 4, !tbaa !5
  %22896 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22897 = load i32, ptr %22896, align 4, !tbaa !5
  %22898 = call ptr @s2n_strerror(i32 noundef %22897, ptr noundef @.str.4)
  %22899 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22900 = load i32, ptr %22899, align 4, !tbaa !5
  %22901 = call ptr @s2n_strerror_debug(i32 noundef %22900, ptr noundef @.str.4)
  %22902 = call ptr @__errno_location() #9
  %22903 = load i32, ptr %22902, align 4, !tbaa !5
  %22904 = call ptr @strerror(i32 noundef %22903) #8
  %22905 = call ptr @__errno_location() #9
  %22906 = load i32, ptr %22905, align 4, !tbaa !5
  %22907 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22894, ptr noundef @.str.5, i32 noundef %22895, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 431, ptr noundef %22898, ptr noundef %22901, ptr noundef %22904, i32 noundef %22906) #8
  br label %22908

22908:                                            ; preds = %22891, %22874
  call void @llvm.lifetime.end.p0(i64 4, ptr %374) #8
  br label %22909

22909:                                            ; preds = %22908
  br label %22910

22910:                                            ; preds = %22909
  call void @exit(i32 noundef 1) #10
  unreachable

22911:                                            ; No predecessors!
  br label %22912

22912:                                            ; preds = %22911
  br label %22913

22913:                                            ; preds = %22912, %22853
  br label %22914

22914:                                            ; preds = %22913
  br label %22915

22915:                                            ; preds = %22914
  br label %22916

22916:                                            ; preds = %22915
  %22917 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %22917, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %22918 = call ptr @__errno_location() #9
  store i32 0, ptr %22918, align 4, !tbaa !5
  br label %22919

22919:                                            ; preds = %22916
  br label %22920

22920:                                            ; preds = %22919
  br label %22921

22921:                                            ; preds = %22920
  br label %22922

22922:                                            ; preds = %22921
  br label %22923

22923:                                            ; preds = %22922
  br label %22924

22924:                                            ; preds = %22923
  %22925 = load i32, ptr @test_count, align 4, !tbaa !5
  %22926 = add nsw i32 %22925, 1
  store i32 %22926, ptr @test_count, align 4, !tbaa !5
  %22927 = load ptr, ptr %239, align 8, !tbaa !9
  %22928 = call i32 @s2n_test_auth_combo(ptr noundef %22927, ptr noundef @s2n_tls13_aes_128_gcm_sha256, ptr noundef @s2n_rsa_pss_rsae_sha256, ptr noundef null)
  %22929 = icmp eq i32 %22928, -1
  br i1 %22929, label %22983, label %22930

22930:                                            ; preds = %22924
  br label %22931

22931:                                            ; preds = %22930
  br label %22932

22932:                                            ; preds = %22931
  call void @llvm.lifetime.start.p0(i64 4, ptr %375) #8
  %22933 = call ptr @__errno_location() #9
  %22934 = load i32, ptr %22933, align 4, !tbaa !5
  store i32 %22934, ptr %375, align 4, !tbaa !5
  %22935 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22936 = call i32 @s2n_print_stacktrace(ptr noundef %22935)
  %22937 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %22938 = trunc i8 %22937 to i1
  br i1 %22938, label %22939, label %22961

22939:                                            ; preds = %22932
  %22940 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22941 = call i32 @fileno(ptr noundef %22940) #8
  %22942 = call i32 @isatty(i32 noundef %22941) #8
  %22943 = icmp ne i32 %22942, 0
  br i1 %22943, label %22944, label %22961

22944:                                            ; preds = %22939
  %22945 = load i32, ptr %375, align 4, !tbaa !5
  %22946 = call ptr @__errno_location() #9
  store i32 %22945, ptr %22946, align 4, !tbaa !5
  %22947 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22948 = load i32, ptr @test_count, align 4, !tbaa !5
  %22949 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22950 = load i32, ptr %22949, align 4, !tbaa !5
  %22951 = call ptr @s2n_strerror(i32 noundef %22950, ptr noundef @.str.4)
  %22952 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22953 = load i32, ptr %22952, align 4, !tbaa !5
  %22954 = call ptr @s2n_strerror_debug(i32 noundef %22953, ptr noundef @.str.4)
  %22955 = call ptr @__errno_location() #9
  %22956 = load i32, ptr %22955, align 4, !tbaa !5
  %22957 = call ptr @strerror(i32 noundef %22956) #8
  %22958 = call ptr @__errno_location() #9
  %22959 = load i32, ptr %22958, align 4, !tbaa !5
  %22960 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22947, ptr noundef @.str.2, i32 noundef %22948, ptr noundef @.str.82, ptr noundef @.str.1, i32 noundef 432, ptr noundef %22951, ptr noundef %22954, ptr noundef %22957, i32 noundef %22959) #8
  br label %22978

22961:                                            ; preds = %22939, %22932
  %22962 = load i32, ptr %375, align 4, !tbaa !5
  %22963 = call ptr @__errno_location() #9
  store i32 %22962, ptr %22963, align 4, !tbaa !5
  %22964 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22965 = load i32, ptr @test_count, align 4, !tbaa !5
  %22966 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22967 = load i32, ptr %22966, align 4, !tbaa !5
  %22968 = call ptr @s2n_strerror(i32 noundef %22967, ptr noundef @.str.4)
  %22969 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22970 = load i32, ptr %22969, align 4, !tbaa !5
  %22971 = call ptr @s2n_strerror_debug(i32 noundef %22970, ptr noundef @.str.4)
  %22972 = call ptr @__errno_location() #9
  %22973 = load i32, ptr %22972, align 4, !tbaa !5
  %22974 = call ptr @strerror(i32 noundef %22973) #8
  %22975 = call ptr @__errno_location() #9
  %22976 = load i32, ptr %22975, align 4, !tbaa !5
  %22977 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22964, ptr noundef @.str.5, i32 noundef %22965, ptr noundef @.str.82, ptr noundef @.str.1, i32 noundef 432, ptr noundef %22968, ptr noundef %22971, ptr noundef %22974, i32 noundef %22976) #8
  br label %22978

22978:                                            ; preds = %22961, %22944
  call void @llvm.lifetime.end.p0(i64 4, ptr %375) #8
  br label %22979

22979:                                            ; preds = %22978
  br label %22980

22980:                                            ; preds = %22979
  call void @exit(i32 noundef 1) #10
  unreachable

22981:                                            ; No predecessors!
  br label %22982

22982:                                            ; preds = %22981
  br label %22983

22983:                                            ; preds = %22982, %22924
  br label %22984

22984:                                            ; preds = %22983
  br label %22985

22985:                                            ; preds = %22984
  br label %22986

22986:                                            ; preds = %22985
  %22987 = load i32, ptr @test_count, align 4, !tbaa !5
  %22988 = add nsw i32 %22987, 1
  store i32 %22988, ptr @test_count, align 4, !tbaa !5
  %22989 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22990 = load i32, ptr %22989, align 4, !tbaa !5
  %22991 = icmp eq i32 %22990, 0
  br i1 %22991, label %22992, label %23045

22992:                                            ; preds = %22986
  br label %22993

22993:                                            ; preds = %22992
  br label %22994

22994:                                            ; preds = %22993
  call void @llvm.lifetime.start.p0(i64 4, ptr %376) #8
  %22995 = call ptr @__errno_location() #9
  %22996 = load i32, ptr %22995, align 4, !tbaa !5
  store i32 %22996, ptr %376, align 4, !tbaa !5
  %22997 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22998 = call i32 @s2n_print_stacktrace(ptr noundef %22997)
  %22999 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %23000 = trunc i8 %22999 to i1
  br i1 %23000, label %23001, label %23023

23001:                                            ; preds = %22994
  %23002 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23003 = call i32 @fileno(ptr noundef %23002) #8
  %23004 = call i32 @isatty(i32 noundef %23003) #8
  %23005 = icmp ne i32 %23004, 0
  br i1 %23005, label %23006, label %23023

23006:                                            ; preds = %23001
  %23007 = load i32, ptr %376, align 4, !tbaa !5
  %23008 = call ptr @__errno_location() #9
  store i32 %23007, ptr %23008, align 4, !tbaa !5
  %23009 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23010 = load i32, ptr @test_count, align 4, !tbaa !5
  %23011 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23012 = load i32, ptr %23011, align 4, !tbaa !5
  %23013 = call ptr @s2n_strerror(i32 noundef %23012, ptr noundef @.str.4)
  %23014 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23015 = load i32, ptr %23014, align 4, !tbaa !5
  %23016 = call ptr @s2n_strerror_debug(i32 noundef %23015, ptr noundef @.str.4)
  %23017 = call ptr @__errno_location() #9
  %23018 = load i32, ptr %23017, align 4, !tbaa !5
  %23019 = call ptr @strerror(i32 noundef %23018) #8
  %23020 = call ptr @__errno_location() #9
  %23021 = load i32, ptr %23020, align 4, !tbaa !5
  %23022 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23009, ptr noundef @.str.2, i32 noundef %23010, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 432, ptr noundef %23013, ptr noundef %23016, ptr noundef %23019, i32 noundef %23021) #8
  br label %23040

23023:                                            ; preds = %23001, %22994
  %23024 = load i32, ptr %376, align 4, !tbaa !5
  %23025 = call ptr @__errno_location() #9
  store i32 %23024, ptr %23025, align 4, !tbaa !5
  %23026 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23027 = load i32, ptr @test_count, align 4, !tbaa !5
  %23028 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23029 = load i32, ptr %23028, align 4, !tbaa !5
  %23030 = call ptr @s2n_strerror(i32 noundef %23029, ptr noundef @.str.4)
  %23031 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23032 = load i32, ptr %23031, align 4, !tbaa !5
  %23033 = call ptr @s2n_strerror_debug(i32 noundef %23032, ptr noundef @.str.4)
  %23034 = call ptr @__errno_location() #9
  %23035 = load i32, ptr %23034, align 4, !tbaa !5
  %23036 = call ptr @strerror(i32 noundef %23035) #8
  %23037 = call ptr @__errno_location() #9
  %23038 = load i32, ptr %23037, align 4, !tbaa !5
  %23039 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23026, ptr noundef @.str.5, i32 noundef %23027, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 432, ptr noundef %23030, ptr noundef %23033, ptr noundef %23036, i32 noundef %23038) #8
  br label %23040

23040:                                            ; preds = %23023, %23006
  call void @llvm.lifetime.end.p0(i64 4, ptr %376) #8
  br label %23041

23041:                                            ; preds = %23040
  br label %23042

23042:                                            ; preds = %23041
  call void @exit(i32 noundef 1) #10
  unreachable

23043:                                            ; No predecessors!
  br label %23044

23044:                                            ; preds = %23043
  br label %23045

23045:                                            ; preds = %23044, %22986
  br label %23046

23046:                                            ; preds = %23045
  br label %23047

23047:                                            ; preds = %23046
  br label %23048

23048:                                            ; preds = %23047
  %23049 = load i32, ptr @test_count, align 4, !tbaa !5
  %23050 = add nsw i32 %23049, 1
  store i32 %23050, ptr @test_count, align 4, !tbaa !5
  %23051 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23052 = load i32, ptr %23051, align 4, !tbaa !5
  %23053 = call ptr @s2n_strerror_debug(i32 noundef %23052, ptr noundef @.str.4)
  %23054 = icmp eq ptr %23053, null
  br i1 %23054, label %23055, label %23108

23055:                                            ; preds = %23048
  br label %23056

23056:                                            ; preds = %23055
  br label %23057

23057:                                            ; preds = %23056
  call void @llvm.lifetime.start.p0(i64 4, ptr %377) #8
  %23058 = call ptr @__errno_location() #9
  %23059 = load i32, ptr %23058, align 4, !tbaa !5
  store i32 %23059, ptr %377, align 4, !tbaa !5
  %23060 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23061 = call i32 @s2n_print_stacktrace(ptr noundef %23060)
  %23062 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %23063 = trunc i8 %23062 to i1
  br i1 %23063, label %23064, label %23086

23064:                                            ; preds = %23057
  %23065 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23066 = call i32 @fileno(ptr noundef %23065) #8
  %23067 = call i32 @isatty(i32 noundef %23066) #8
  %23068 = icmp ne i32 %23067, 0
  br i1 %23068, label %23069, label %23086

23069:                                            ; preds = %23064
  %23070 = load i32, ptr %377, align 4, !tbaa !5
  %23071 = call ptr @__errno_location() #9
  store i32 %23070, ptr %23071, align 4, !tbaa !5
  %23072 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23073 = load i32, ptr @test_count, align 4, !tbaa !5
  %23074 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23075 = load i32, ptr %23074, align 4, !tbaa !5
  %23076 = call ptr @s2n_strerror(i32 noundef %23075, ptr noundef @.str.4)
  %23077 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23078 = load i32, ptr %23077, align 4, !tbaa !5
  %23079 = call ptr @s2n_strerror_debug(i32 noundef %23078, ptr noundef @.str.4)
  %23080 = call ptr @__errno_location() #9
  %23081 = load i32, ptr %23080, align 4, !tbaa !5
  %23082 = call ptr @strerror(i32 noundef %23081) #8
  %23083 = call ptr @__errno_location() #9
  %23084 = load i32, ptr %23083, align 4, !tbaa !5
  %23085 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23072, ptr noundef @.str.2, i32 noundef %23073, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 432, ptr noundef %23076, ptr noundef %23079, ptr noundef %23082, i32 noundef %23084) #8
  br label %23103

23086:                                            ; preds = %23064, %23057
  %23087 = load i32, ptr %377, align 4, !tbaa !5
  %23088 = call ptr @__errno_location() #9
  store i32 %23087, ptr %23088, align 4, !tbaa !5
  %23089 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23090 = load i32, ptr @test_count, align 4, !tbaa !5
  %23091 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23092 = load i32, ptr %23091, align 4, !tbaa !5
  %23093 = call ptr @s2n_strerror(i32 noundef %23092, ptr noundef @.str.4)
  %23094 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23095 = load i32, ptr %23094, align 4, !tbaa !5
  %23096 = call ptr @s2n_strerror_debug(i32 noundef %23095, ptr noundef @.str.4)
  %23097 = call ptr @__errno_location() #9
  %23098 = load i32, ptr %23097, align 4, !tbaa !5
  %23099 = call ptr @strerror(i32 noundef %23098) #8
  %23100 = call ptr @__errno_location() #9
  %23101 = load i32, ptr %23100, align 4, !tbaa !5
  %23102 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23089, ptr noundef @.str.5, i32 noundef %23090, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 432, ptr noundef %23093, ptr noundef %23096, ptr noundef %23099, i32 noundef %23101) #8
  br label %23103

23103:                                            ; preds = %23086, %23069
  call void @llvm.lifetime.end.p0(i64 4, ptr %377) #8
  br label %23104

23104:                                            ; preds = %23103
  br label %23105

23105:                                            ; preds = %23104
  call void @exit(i32 noundef 1) #10
  unreachable

23106:                                            ; No predecessors!
  br label %23107

23107:                                            ; preds = %23106
  br label %23108

23108:                                            ; preds = %23107, %23048
  br label %23109

23109:                                            ; preds = %23108
  br label %23110

23110:                                            ; preds = %23109
  br label %23111

23111:                                            ; preds = %23110
  %23112 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %23112, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %23113 = call ptr @__errno_location() #9
  store i32 0, ptr %23113, align 4, !tbaa !5
  br label %23114

23114:                                            ; preds = %23111
  br label %23115

23115:                                            ; preds = %23114
  br label %23116

23116:                                            ; preds = %23115
  br label %23117

23117:                                            ; preds = %23116
  br label %23118

23118:                                            ; preds = %23117
  %23119 = load i32, ptr @test_count, align 4, !tbaa !5
  %23120 = add nsw i32 %23119, 1
  store i32 %23120, ptr @test_count, align 4, !tbaa !5
  %23121 = load ptr, ptr %239, align 8, !tbaa !9
  %23122 = load ptr, ptr %12, align 8, !tbaa !9
  %23123 = call i32 @s2n_test_auth_combo(ptr noundef %23121, ptr noundef @s2n_tls13_aes_128_gcm_sha256, ptr noundef @s2n_ecdsa_sha384, ptr noundef %23122)
  %23124 = icmp eq i32 %23123, -1
  br i1 %23124, label %23125, label %23178

23125:                                            ; preds = %23118
  br label %23126

23126:                                            ; preds = %23125
  br label %23127

23127:                                            ; preds = %23126
  call void @llvm.lifetime.start.p0(i64 4, ptr %378) #8
  %23128 = call ptr @__errno_location() #9
  %23129 = load i32, ptr %23128, align 4, !tbaa !5
  store i32 %23129, ptr %378, align 4, !tbaa !5
  %23130 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23131 = call i32 @s2n_print_stacktrace(ptr noundef %23130)
  %23132 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %23133 = trunc i8 %23132 to i1
  br i1 %23133, label %23134, label %23156

23134:                                            ; preds = %23127
  %23135 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23136 = call i32 @fileno(ptr noundef %23135) #8
  %23137 = call i32 @isatty(i32 noundef %23136) #8
  %23138 = icmp ne i32 %23137, 0
  br i1 %23138, label %23139, label %23156

23139:                                            ; preds = %23134
  %23140 = load i32, ptr %378, align 4, !tbaa !5
  %23141 = call ptr @__errno_location() #9
  store i32 %23140, ptr %23141, align 4, !tbaa !5
  %23142 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23143 = load i32, ptr @test_count, align 4, !tbaa !5
  %23144 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23145 = load i32, ptr %23144, align 4, !tbaa !5
  %23146 = call ptr @s2n_strerror(i32 noundef %23145, ptr noundef @.str.4)
  %23147 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23148 = load i32, ptr %23147, align 4, !tbaa !5
  %23149 = call ptr @s2n_strerror_debug(i32 noundef %23148, ptr noundef @.str.4)
  %23150 = call ptr @__errno_location() #9
  %23151 = load i32, ptr %23150, align 4, !tbaa !5
  %23152 = call ptr @strerror(i32 noundef %23151) #8
  %23153 = call ptr @__errno_location() #9
  %23154 = load i32, ptr %23153, align 4, !tbaa !5
  %23155 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23142, ptr noundef @.str.2, i32 noundef %23143, ptr noundef @.str.93, ptr noundef @.str.1, i32 noundef 433, ptr noundef %23146, ptr noundef %23149, ptr noundef %23152, i32 noundef %23154) #8
  br label %23173

23156:                                            ; preds = %23134, %23127
  %23157 = load i32, ptr %378, align 4, !tbaa !5
  %23158 = call ptr @__errno_location() #9
  store i32 %23157, ptr %23158, align 4, !tbaa !5
  %23159 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23160 = load i32, ptr @test_count, align 4, !tbaa !5
  %23161 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23162 = load i32, ptr %23161, align 4, !tbaa !5
  %23163 = call ptr @s2n_strerror(i32 noundef %23162, ptr noundef @.str.4)
  %23164 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23165 = load i32, ptr %23164, align 4, !tbaa !5
  %23166 = call ptr @s2n_strerror_debug(i32 noundef %23165, ptr noundef @.str.4)
  %23167 = call ptr @__errno_location() #9
  %23168 = load i32, ptr %23167, align 4, !tbaa !5
  %23169 = call ptr @strerror(i32 noundef %23168) #8
  %23170 = call ptr @__errno_location() #9
  %23171 = load i32, ptr %23170, align 4, !tbaa !5
  %23172 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23159, ptr noundef @.str.5, i32 noundef %23160, ptr noundef @.str.93, ptr noundef @.str.1, i32 noundef 433, ptr noundef %23163, ptr noundef %23166, ptr noundef %23169, i32 noundef %23171) #8
  br label %23173

23173:                                            ; preds = %23156, %23139
  call void @llvm.lifetime.end.p0(i64 4, ptr %378) #8
  br label %23174

23174:                                            ; preds = %23173
  br label %23175

23175:                                            ; preds = %23174
  call void @exit(i32 noundef 1) #10
  unreachable

23176:                                            ; No predecessors!
  br label %23177

23177:                                            ; preds = %23176
  br label %23178

23178:                                            ; preds = %23177, %23118
  br label %23179

23179:                                            ; preds = %23178
  br label %23180

23180:                                            ; preds = %23179
  br label %23181

23181:                                            ; preds = %23180
  %23182 = load i32, ptr @test_count, align 4, !tbaa !5
  %23183 = add nsw i32 %23182, 1
  store i32 %23183, ptr @test_count, align 4, !tbaa !5
  %23184 = load ptr, ptr %239, align 8, !tbaa !9
  %23185 = load ptr, ptr %19, align 8, !tbaa !9
  %23186 = call i32 @s2n_connection_set_config(ptr noundef %23184, ptr noundef %23185)
  %23187 = icmp eq i32 %23186, -1
  br i1 %23187, label %23188, label %23241

23188:                                            ; preds = %23181
  br label %23189

23189:                                            ; preds = %23188
  br label %23190

23190:                                            ; preds = %23189
  call void @llvm.lifetime.start.p0(i64 4, ptr %379) #8
  %23191 = call ptr @__errno_location() #9
  %23192 = load i32, ptr %23191, align 4, !tbaa !5
  store i32 %23192, ptr %379, align 4, !tbaa !5
  %23193 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23194 = call i32 @s2n_print_stacktrace(ptr noundef %23193)
  %23195 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %23196 = trunc i8 %23195 to i1
  br i1 %23196, label %23197, label %23219

23197:                                            ; preds = %23190
  %23198 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23199 = call i32 @fileno(ptr noundef %23198) #8
  %23200 = call i32 @isatty(i32 noundef %23199) #8
  %23201 = icmp ne i32 %23200, 0
  br i1 %23201, label %23202, label %23219

23202:                                            ; preds = %23197
  %23203 = load i32, ptr %379, align 4, !tbaa !5
  %23204 = call ptr @__errno_location() #9
  store i32 %23203, ptr %23204, align 4, !tbaa !5
  %23205 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23206 = load i32, ptr @test_count, align 4, !tbaa !5
  %23207 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23208 = load i32, ptr %23207, align 4, !tbaa !5
  %23209 = call ptr @s2n_strerror(i32 noundef %23208, ptr noundef @.str.4)
  %23210 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23211 = load i32, ptr %23210, align 4, !tbaa !5
  %23212 = call ptr @s2n_strerror_debug(i32 noundef %23211, ptr noundef @.str.4)
  %23213 = call ptr @__errno_location() #9
  %23214 = load i32, ptr %23213, align 4, !tbaa !5
  %23215 = call ptr @strerror(i32 noundef %23214) #8
  %23216 = call ptr @__errno_location() #9
  %23217 = load i32, ptr %23216, align 4, !tbaa !5
  %23218 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23205, ptr noundef @.str.2, i32 noundef %23206, ptr noundef @.str.30, ptr noundef @.str.1, i32 noundef 436, ptr noundef %23209, ptr noundef %23212, ptr noundef %23215, i32 noundef %23217) #8
  br label %23236

23219:                                            ; preds = %23197, %23190
  %23220 = load i32, ptr %379, align 4, !tbaa !5
  %23221 = call ptr @__errno_location() #9
  store i32 %23220, ptr %23221, align 4, !tbaa !5
  %23222 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23223 = load i32, ptr @test_count, align 4, !tbaa !5
  %23224 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23225 = load i32, ptr %23224, align 4, !tbaa !5
  %23226 = call ptr @s2n_strerror(i32 noundef %23225, ptr noundef @.str.4)
  %23227 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23228 = load i32, ptr %23227, align 4, !tbaa !5
  %23229 = call ptr @s2n_strerror_debug(i32 noundef %23228, ptr noundef @.str.4)
  %23230 = call ptr @__errno_location() #9
  %23231 = load i32, ptr %23230, align 4, !tbaa !5
  %23232 = call ptr @strerror(i32 noundef %23231) #8
  %23233 = call ptr @__errno_location() #9
  %23234 = load i32, ptr %23233, align 4, !tbaa !5
  %23235 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23222, ptr noundef @.str.5, i32 noundef %23223, ptr noundef @.str.30, ptr noundef @.str.1, i32 noundef 436, ptr noundef %23226, ptr noundef %23229, ptr noundef %23232, i32 noundef %23234) #8
  br label %23236

23236:                                            ; preds = %23219, %23202
  call void @llvm.lifetime.end.p0(i64 4, ptr %379) #8
  br label %23237

23237:                                            ; preds = %23236
  br label %23238

23238:                                            ; preds = %23237
  call void @exit(i32 noundef 1) #10
  unreachable

23239:                                            ; No predecessors!
  br label %23240

23240:                                            ; preds = %23239
  br label %23241

23241:                                            ; preds = %23240, %23181
  br label %23242

23242:                                            ; preds = %23241
  br label %23243

23243:                                            ; preds = %23242
  br label %23244

23244:                                            ; preds = %23243
  %23245 = load i32, ptr @test_count, align 4, !tbaa !5
  %23246 = add nsw i32 %23245, 1
  store i32 %23246, ptr @test_count, align 4, !tbaa !5
  %23247 = load ptr, ptr %239, align 8, !tbaa !9
  %23248 = load ptr, ptr %10, align 8, !tbaa !9
  %23249 = call i32 @s2n_test_auth_combo(ptr noundef %23247, ptr noundef @s2n_dhe_rsa_with_3des_ede_cbc_sha, ptr noundef @s2n_rsa_pkcs1_md5_sha1, ptr noundef %23248)
  %23250 = icmp eq i32 %23249, -1
  br i1 %23250, label %23251, label %23304

23251:                                            ; preds = %23244
  br label %23252

23252:                                            ; preds = %23251
  br label %23253

23253:                                            ; preds = %23252
  call void @llvm.lifetime.start.p0(i64 4, ptr %380) #8
  %23254 = call ptr @__errno_location() #9
  %23255 = load i32, ptr %23254, align 4, !tbaa !5
  store i32 %23255, ptr %380, align 4, !tbaa !5
  %23256 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23257 = call i32 @s2n_print_stacktrace(ptr noundef %23256)
  %23258 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %23259 = trunc i8 %23258 to i1
  br i1 %23259, label %23260, label %23282

23260:                                            ; preds = %23253
  %23261 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23262 = call i32 @fileno(ptr noundef %23261) #8
  %23263 = call i32 @isatty(i32 noundef %23262) #8
  %23264 = icmp ne i32 %23263, 0
  br i1 %23264, label %23265, label %23282

23265:                                            ; preds = %23260
  %23266 = load i32, ptr %380, align 4, !tbaa !5
  %23267 = call ptr @__errno_location() #9
  store i32 %23266, ptr %23267, align 4, !tbaa !5
  %23268 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23269 = load i32, ptr @test_count, align 4, !tbaa !5
  %23270 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23271 = load i32, ptr %23270, align 4, !tbaa !5
  %23272 = call ptr @s2n_strerror(i32 noundef %23271, ptr noundef @.str.4)
  %23273 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23274 = load i32, ptr %23273, align 4, !tbaa !5
  %23275 = call ptr @s2n_strerror_debug(i32 noundef %23274, ptr noundef @.str.4)
  %23276 = call ptr @__errno_location() #9
  %23277 = load i32, ptr %23276, align 4, !tbaa !5
  %23278 = call ptr @strerror(i32 noundef %23277) #8
  %23279 = call ptr @__errno_location() #9
  %23280 = load i32, ptr %23279, align 4, !tbaa !5
  %23281 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23268, ptr noundef @.str.2, i32 noundef %23269, ptr noundef @.str.84, ptr noundef @.str.1, i32 noundef 438, ptr noundef %23272, ptr noundef %23275, ptr noundef %23278, i32 noundef %23280) #8
  br label %23299

23282:                                            ; preds = %23260, %23253
  %23283 = load i32, ptr %380, align 4, !tbaa !5
  %23284 = call ptr @__errno_location() #9
  store i32 %23283, ptr %23284, align 4, !tbaa !5
  %23285 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23286 = load i32, ptr @test_count, align 4, !tbaa !5
  %23287 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23288 = load i32, ptr %23287, align 4, !tbaa !5
  %23289 = call ptr @s2n_strerror(i32 noundef %23288, ptr noundef @.str.4)
  %23290 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23291 = load i32, ptr %23290, align 4, !tbaa !5
  %23292 = call ptr @s2n_strerror_debug(i32 noundef %23291, ptr noundef @.str.4)
  %23293 = call ptr @__errno_location() #9
  %23294 = load i32, ptr %23293, align 4, !tbaa !5
  %23295 = call ptr @strerror(i32 noundef %23294) #8
  %23296 = call ptr @__errno_location() #9
  %23297 = load i32, ptr %23296, align 4, !tbaa !5
  %23298 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23285, ptr noundef @.str.5, i32 noundef %23286, ptr noundef @.str.84, ptr noundef @.str.1, i32 noundef 438, ptr noundef %23289, ptr noundef %23292, ptr noundef %23295, i32 noundef %23297) #8
  br label %23299

23299:                                            ; preds = %23282, %23265
  call void @llvm.lifetime.end.p0(i64 4, ptr %380) #8
  br label %23300

23300:                                            ; preds = %23299
  br label %23301

23301:                                            ; preds = %23300
  call void @exit(i32 noundef 1) #10
  unreachable

23302:                                            ; No predecessors!
  br label %23303

23303:                                            ; preds = %23302
  br label %23304

23304:                                            ; preds = %23303, %23244
  br label %23305

23305:                                            ; preds = %23304
  br label %23306

23306:                                            ; preds = %23305
  %23307 = call zeroext i1 (...) @s2n_is_rsa_pss_certs_supported()
  br i1 %23307, label %23308, label %23372

23308:                                            ; preds = %23306
  br label %23309

23309:                                            ; preds = %23308
  %23310 = load i32, ptr @test_count, align 4, !tbaa !5
  %23311 = add nsw i32 %23310, 1
  store i32 %23311, ptr @test_count, align 4, !tbaa !5
  %23312 = load ptr, ptr %239, align 8, !tbaa !9
  %23313 = load ptr, ptr %22, align 8, !tbaa !9
  %23314 = call i32 @s2n_test_auth_combo(ptr noundef %23312, ptr noundef @s2n_dhe_rsa_with_3des_ede_cbc_sha, ptr noundef @s2n_rsa_pss_pss_sha256, ptr noundef %23313)
  %23315 = icmp eq i32 %23314, -1
  br i1 %23315, label %23316, label %23369

23316:                                            ; preds = %23309
  br label %23317

23317:                                            ; preds = %23316
  br label %23318

23318:                                            ; preds = %23317
  call void @llvm.lifetime.start.p0(i64 4, ptr %381) #8
  %23319 = call ptr @__errno_location() #9
  %23320 = load i32, ptr %23319, align 4, !tbaa !5
  store i32 %23320, ptr %381, align 4, !tbaa !5
  %23321 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23322 = call i32 @s2n_print_stacktrace(ptr noundef %23321)
  %23323 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %23324 = trunc i8 %23323 to i1
  br i1 %23324, label %23325, label %23347

23325:                                            ; preds = %23318
  %23326 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23327 = call i32 @fileno(ptr noundef %23326) #8
  %23328 = call i32 @isatty(i32 noundef %23327) #8
  %23329 = icmp ne i32 %23328, 0
  br i1 %23329, label %23330, label %23347

23330:                                            ; preds = %23325
  %23331 = load i32, ptr %381, align 4, !tbaa !5
  %23332 = call ptr @__errno_location() #9
  store i32 %23331, ptr %23332, align 4, !tbaa !5
  %23333 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23334 = load i32, ptr @test_count, align 4, !tbaa !5
  %23335 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23336 = load i32, ptr %23335, align 4, !tbaa !5
  %23337 = call ptr @s2n_strerror(i32 noundef %23336, ptr noundef @.str.4)
  %23338 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23339 = load i32, ptr %23338, align 4, !tbaa !5
  %23340 = call ptr @s2n_strerror_debug(i32 noundef %23339, ptr noundef @.str.4)
  %23341 = call ptr @__errno_location() #9
  %23342 = load i32, ptr %23341, align 4, !tbaa !5
  %23343 = call ptr @strerror(i32 noundef %23342) #8
  %23344 = call ptr @__errno_location() #9
  %23345 = load i32, ptr %23344, align 4, !tbaa !5
  %23346 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23333, ptr noundef @.str.2, i32 noundef %23334, ptr noundef @.str.88, ptr noundef @.str.1, i32 noundef 439, ptr noundef %23337, ptr noundef %23340, ptr noundef %23343, i32 noundef %23345) #8
  br label %23364

23347:                                            ; preds = %23325, %23318
  %23348 = load i32, ptr %381, align 4, !tbaa !5
  %23349 = call ptr @__errno_location() #9
  store i32 %23348, ptr %23349, align 4, !tbaa !5
  %23350 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23351 = load i32, ptr @test_count, align 4, !tbaa !5
  %23352 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23353 = load i32, ptr %23352, align 4, !tbaa !5
  %23354 = call ptr @s2n_strerror(i32 noundef %23353, ptr noundef @.str.4)
  %23355 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23356 = load i32, ptr %23355, align 4, !tbaa !5
  %23357 = call ptr @s2n_strerror_debug(i32 noundef %23356, ptr noundef @.str.4)
  %23358 = call ptr @__errno_location() #9
  %23359 = load i32, ptr %23358, align 4, !tbaa !5
  %23360 = call ptr @strerror(i32 noundef %23359) #8
  %23361 = call ptr @__errno_location() #9
  %23362 = load i32, ptr %23361, align 4, !tbaa !5
  %23363 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23350, ptr noundef @.str.5, i32 noundef %23351, ptr noundef @.str.88, ptr noundef @.str.1, i32 noundef 439, ptr noundef %23354, ptr noundef %23357, ptr noundef %23360, i32 noundef %23362) #8
  br label %23364

23364:                                            ; preds = %23347, %23330
  call void @llvm.lifetime.end.p0(i64 4, ptr %381) #8
  br label %23365

23365:                                            ; preds = %23364
  br label %23366

23366:                                            ; preds = %23365
  call void @exit(i32 noundef 1) #10
  unreachable

23367:                                            ; No predecessors!
  br label %23368

23368:                                            ; preds = %23367
  br label %23369

23369:                                            ; preds = %23368, %23309
  br label %23370

23370:                                            ; preds = %23369
  br label %23371

23371:                                            ; preds = %23370
  br label %23569

23372:                                            ; preds = %23306
  br label %23373

23373:                                            ; preds = %23372
  br label %23374

23374:                                            ; preds = %23373
  %23375 = load i32, ptr @test_count, align 4, !tbaa !5
  %23376 = add nsw i32 %23375, 1
  store i32 %23376, ptr @test_count, align 4, !tbaa !5
  %23377 = load ptr, ptr %239, align 8, !tbaa !9
  %23378 = load ptr, ptr %22, align 8, !tbaa !9
  %23379 = call i32 @s2n_test_auth_combo(ptr noundef %23377, ptr noundef @s2n_dhe_rsa_with_3des_ede_cbc_sha, ptr noundef @s2n_rsa_pss_pss_sha256, ptr noundef %23378)
  %23380 = icmp eq i32 %23379, -1
  br i1 %23380, label %23434, label %23381

23381:                                            ; preds = %23374
  br label %23382

23382:                                            ; preds = %23381
  br label %23383

23383:                                            ; preds = %23382
  call void @llvm.lifetime.start.p0(i64 4, ptr %382) #8
  %23384 = call ptr @__errno_location() #9
  %23385 = load i32, ptr %23384, align 4, !tbaa !5
  store i32 %23385, ptr %382, align 4, !tbaa !5
  %23386 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23387 = call i32 @s2n_print_stacktrace(ptr noundef %23386)
  %23388 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %23389 = trunc i8 %23388 to i1
  br i1 %23389, label %23390, label %23412

23390:                                            ; preds = %23383
  %23391 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23392 = call i32 @fileno(ptr noundef %23391) #8
  %23393 = call i32 @isatty(i32 noundef %23392) #8
  %23394 = icmp ne i32 %23393, 0
  br i1 %23394, label %23395, label %23412

23395:                                            ; preds = %23390
  %23396 = load i32, ptr %382, align 4, !tbaa !5
  %23397 = call ptr @__errno_location() #9
  store i32 %23396, ptr %23397, align 4, !tbaa !5
  %23398 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23399 = load i32, ptr @test_count, align 4, !tbaa !5
  %23400 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23401 = load i32, ptr %23400, align 4, !tbaa !5
  %23402 = call ptr @s2n_strerror(i32 noundef %23401, ptr noundef @.str.4)
  %23403 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23404 = load i32, ptr %23403, align 4, !tbaa !5
  %23405 = call ptr @s2n_strerror_debug(i32 noundef %23404, ptr noundef @.str.4)
  %23406 = call ptr @__errno_location() #9
  %23407 = load i32, ptr %23406, align 4, !tbaa !5
  %23408 = call ptr @strerror(i32 noundef %23407) #8
  %23409 = call ptr @__errno_location() #9
  %23410 = load i32, ptr %23409, align 4, !tbaa !5
  %23411 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23398, ptr noundef @.str.2, i32 noundef %23399, ptr noundef @.str.89, ptr noundef @.str.1, i32 noundef 439, ptr noundef %23402, ptr noundef %23405, ptr noundef %23408, i32 noundef %23410) #8
  br label %23429

23412:                                            ; preds = %23390, %23383
  %23413 = load i32, ptr %382, align 4, !tbaa !5
  %23414 = call ptr @__errno_location() #9
  store i32 %23413, ptr %23414, align 4, !tbaa !5
  %23415 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23416 = load i32, ptr @test_count, align 4, !tbaa !5
  %23417 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23418 = load i32, ptr %23417, align 4, !tbaa !5
  %23419 = call ptr @s2n_strerror(i32 noundef %23418, ptr noundef @.str.4)
  %23420 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23421 = load i32, ptr %23420, align 4, !tbaa !5
  %23422 = call ptr @s2n_strerror_debug(i32 noundef %23421, ptr noundef @.str.4)
  %23423 = call ptr @__errno_location() #9
  %23424 = load i32, ptr %23423, align 4, !tbaa !5
  %23425 = call ptr @strerror(i32 noundef %23424) #8
  %23426 = call ptr @__errno_location() #9
  %23427 = load i32, ptr %23426, align 4, !tbaa !5
  %23428 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23415, ptr noundef @.str.5, i32 noundef %23416, ptr noundef @.str.89, ptr noundef @.str.1, i32 noundef 439, ptr noundef %23419, ptr noundef %23422, ptr noundef %23425, i32 noundef %23427) #8
  br label %23429

23429:                                            ; preds = %23412, %23395
  call void @llvm.lifetime.end.p0(i64 4, ptr %382) #8
  br label %23430

23430:                                            ; preds = %23429
  br label %23431

23431:                                            ; preds = %23430
  call void @exit(i32 noundef 1) #10
  unreachable

23432:                                            ; No predecessors!
  br label %23433

23433:                                            ; preds = %23432
  br label %23434

23434:                                            ; preds = %23433, %23374
  br label %23435

23435:                                            ; preds = %23434
  br label %23436

23436:                                            ; preds = %23435
  br label %23437

23437:                                            ; preds = %23436
  %23438 = load i32, ptr @test_count, align 4, !tbaa !5
  %23439 = add nsw i32 %23438, 1
  store i32 %23439, ptr @test_count, align 4, !tbaa !5
  %23440 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23441 = load i32, ptr %23440, align 4, !tbaa !5
  %23442 = icmp eq i32 %23441, 0
  br i1 %23442, label %23443, label %23496

23443:                                            ; preds = %23437
  br label %23444

23444:                                            ; preds = %23443
  br label %23445

23445:                                            ; preds = %23444
  call void @llvm.lifetime.start.p0(i64 4, ptr %383) #8
  %23446 = call ptr @__errno_location() #9
  %23447 = load i32, ptr %23446, align 4, !tbaa !5
  store i32 %23447, ptr %383, align 4, !tbaa !5
  %23448 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23449 = call i32 @s2n_print_stacktrace(ptr noundef %23448)
  %23450 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %23451 = trunc i8 %23450 to i1
  br i1 %23451, label %23452, label %23474

23452:                                            ; preds = %23445
  %23453 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23454 = call i32 @fileno(ptr noundef %23453) #8
  %23455 = call i32 @isatty(i32 noundef %23454) #8
  %23456 = icmp ne i32 %23455, 0
  br i1 %23456, label %23457, label %23474

23457:                                            ; preds = %23452
  %23458 = load i32, ptr %383, align 4, !tbaa !5
  %23459 = call ptr @__errno_location() #9
  store i32 %23458, ptr %23459, align 4, !tbaa !5
  %23460 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23461 = load i32, ptr @test_count, align 4, !tbaa !5
  %23462 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23463 = load i32, ptr %23462, align 4, !tbaa !5
  %23464 = call ptr @s2n_strerror(i32 noundef %23463, ptr noundef @.str.4)
  %23465 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23466 = load i32, ptr %23465, align 4, !tbaa !5
  %23467 = call ptr @s2n_strerror_debug(i32 noundef %23466, ptr noundef @.str.4)
  %23468 = call ptr @__errno_location() #9
  %23469 = load i32, ptr %23468, align 4, !tbaa !5
  %23470 = call ptr @strerror(i32 noundef %23469) #8
  %23471 = call ptr @__errno_location() #9
  %23472 = load i32, ptr %23471, align 4, !tbaa !5
  %23473 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23460, ptr noundef @.str.2, i32 noundef %23461, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 439, ptr noundef %23464, ptr noundef %23467, ptr noundef %23470, i32 noundef %23472) #8
  br label %23491

23474:                                            ; preds = %23452, %23445
  %23475 = load i32, ptr %383, align 4, !tbaa !5
  %23476 = call ptr @__errno_location() #9
  store i32 %23475, ptr %23476, align 4, !tbaa !5
  %23477 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23478 = load i32, ptr @test_count, align 4, !tbaa !5
  %23479 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23480 = load i32, ptr %23479, align 4, !tbaa !5
  %23481 = call ptr @s2n_strerror(i32 noundef %23480, ptr noundef @.str.4)
  %23482 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23483 = load i32, ptr %23482, align 4, !tbaa !5
  %23484 = call ptr @s2n_strerror_debug(i32 noundef %23483, ptr noundef @.str.4)
  %23485 = call ptr @__errno_location() #9
  %23486 = load i32, ptr %23485, align 4, !tbaa !5
  %23487 = call ptr @strerror(i32 noundef %23486) #8
  %23488 = call ptr @__errno_location() #9
  %23489 = load i32, ptr %23488, align 4, !tbaa !5
  %23490 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23477, ptr noundef @.str.5, i32 noundef %23478, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 439, ptr noundef %23481, ptr noundef %23484, ptr noundef %23487, i32 noundef %23489) #8
  br label %23491

23491:                                            ; preds = %23474, %23457
  call void @llvm.lifetime.end.p0(i64 4, ptr %383) #8
  br label %23492

23492:                                            ; preds = %23491
  br label %23493

23493:                                            ; preds = %23492
  call void @exit(i32 noundef 1) #10
  unreachable

23494:                                            ; No predecessors!
  br label %23495

23495:                                            ; preds = %23494
  br label %23496

23496:                                            ; preds = %23495, %23437
  br label %23497

23497:                                            ; preds = %23496
  br label %23498

23498:                                            ; preds = %23497
  br label %23499

23499:                                            ; preds = %23498
  %23500 = load i32, ptr @test_count, align 4, !tbaa !5
  %23501 = add nsw i32 %23500, 1
  store i32 %23501, ptr @test_count, align 4, !tbaa !5
  %23502 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23503 = load i32, ptr %23502, align 4, !tbaa !5
  %23504 = call ptr @s2n_strerror_debug(i32 noundef %23503, ptr noundef @.str.4)
  %23505 = icmp eq ptr %23504, null
  br i1 %23505, label %23506, label %23559

23506:                                            ; preds = %23499
  br label %23507

23507:                                            ; preds = %23506
  br label %23508

23508:                                            ; preds = %23507
  call void @llvm.lifetime.start.p0(i64 4, ptr %384) #8
  %23509 = call ptr @__errno_location() #9
  %23510 = load i32, ptr %23509, align 4, !tbaa !5
  store i32 %23510, ptr %384, align 4, !tbaa !5
  %23511 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23512 = call i32 @s2n_print_stacktrace(ptr noundef %23511)
  %23513 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %23514 = trunc i8 %23513 to i1
  br i1 %23514, label %23515, label %23537

23515:                                            ; preds = %23508
  %23516 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23517 = call i32 @fileno(ptr noundef %23516) #8
  %23518 = call i32 @isatty(i32 noundef %23517) #8
  %23519 = icmp ne i32 %23518, 0
  br i1 %23519, label %23520, label %23537

23520:                                            ; preds = %23515
  %23521 = load i32, ptr %384, align 4, !tbaa !5
  %23522 = call ptr @__errno_location() #9
  store i32 %23521, ptr %23522, align 4, !tbaa !5
  %23523 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23524 = load i32, ptr @test_count, align 4, !tbaa !5
  %23525 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23526 = load i32, ptr %23525, align 4, !tbaa !5
  %23527 = call ptr @s2n_strerror(i32 noundef %23526, ptr noundef @.str.4)
  %23528 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23529 = load i32, ptr %23528, align 4, !tbaa !5
  %23530 = call ptr @s2n_strerror_debug(i32 noundef %23529, ptr noundef @.str.4)
  %23531 = call ptr @__errno_location() #9
  %23532 = load i32, ptr %23531, align 4, !tbaa !5
  %23533 = call ptr @strerror(i32 noundef %23532) #8
  %23534 = call ptr @__errno_location() #9
  %23535 = load i32, ptr %23534, align 4, !tbaa !5
  %23536 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23523, ptr noundef @.str.2, i32 noundef %23524, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 439, ptr noundef %23527, ptr noundef %23530, ptr noundef %23533, i32 noundef %23535) #8
  br label %23554

23537:                                            ; preds = %23515, %23508
  %23538 = load i32, ptr %384, align 4, !tbaa !5
  %23539 = call ptr @__errno_location() #9
  store i32 %23538, ptr %23539, align 4, !tbaa !5
  %23540 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23541 = load i32, ptr @test_count, align 4, !tbaa !5
  %23542 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23543 = load i32, ptr %23542, align 4, !tbaa !5
  %23544 = call ptr @s2n_strerror(i32 noundef %23543, ptr noundef @.str.4)
  %23545 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23546 = load i32, ptr %23545, align 4, !tbaa !5
  %23547 = call ptr @s2n_strerror_debug(i32 noundef %23546, ptr noundef @.str.4)
  %23548 = call ptr @__errno_location() #9
  %23549 = load i32, ptr %23548, align 4, !tbaa !5
  %23550 = call ptr @strerror(i32 noundef %23549) #8
  %23551 = call ptr @__errno_location() #9
  %23552 = load i32, ptr %23551, align 4, !tbaa !5
  %23553 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23540, ptr noundef @.str.5, i32 noundef %23541, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 439, ptr noundef %23544, ptr noundef %23547, ptr noundef %23550, i32 noundef %23552) #8
  br label %23554

23554:                                            ; preds = %23537, %23520
  call void @llvm.lifetime.end.p0(i64 4, ptr %384) #8
  br label %23555

23555:                                            ; preds = %23554
  br label %23556

23556:                                            ; preds = %23555
  call void @exit(i32 noundef 1) #10
  unreachable

23557:                                            ; No predecessors!
  br label %23558

23558:                                            ; preds = %23557
  br label %23559

23559:                                            ; preds = %23558, %23499
  br label %23560

23560:                                            ; preds = %23559
  br label %23561

23561:                                            ; preds = %23560
  br label %23562

23562:                                            ; preds = %23561
  %23563 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %23563, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %23564 = call ptr @__errno_location() #9
  store i32 0, ptr %23564, align 4, !tbaa !5
  br label %23565

23565:                                            ; preds = %23562
  br label %23566

23566:                                            ; preds = %23565
  br label %23567

23567:                                            ; preds = %23566
  br label %23568

23568:                                            ; preds = %23567
  br label %23569

23569:                                            ; preds = %23568, %23371
  br label %23570

23570:                                            ; preds = %23569
  %23571 = load i32, ptr @test_count, align 4, !tbaa !5
  %23572 = add nsw i32 %23571, 1
  store i32 %23572, ptr @test_count, align 4, !tbaa !5
  %23573 = load ptr, ptr %239, align 8, !tbaa !9
  %23574 = load ptr, ptr %10, align 8, !tbaa !9
  %23575 = call i32 @s2n_test_auth_combo(ptr noundef %23573, ptr noundef @s2n_dhe_rsa_with_3des_ede_cbc_sha, ptr noundef @s2n_rsa_pss_rsae_sha256, ptr noundef %23574)
  %23576 = icmp eq i32 %23575, -1
  br i1 %23576, label %23577, label %23630

23577:                                            ; preds = %23570
  br label %23578

23578:                                            ; preds = %23577
  br label %23579

23579:                                            ; preds = %23578
  call void @llvm.lifetime.start.p0(i64 4, ptr %385) #8
  %23580 = call ptr @__errno_location() #9
  %23581 = load i32, ptr %23580, align 4, !tbaa !5
  store i32 %23581, ptr %385, align 4, !tbaa !5
  %23582 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23583 = call i32 @s2n_print_stacktrace(ptr noundef %23582)
  %23584 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %23585 = trunc i8 %23584 to i1
  br i1 %23585, label %23586, label %23608

23586:                                            ; preds = %23579
  %23587 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23588 = call i32 @fileno(ptr noundef %23587) #8
  %23589 = call i32 @isatty(i32 noundef %23588) #8
  %23590 = icmp ne i32 %23589, 0
  br i1 %23590, label %23591, label %23608

23591:                                            ; preds = %23586
  %23592 = load i32, ptr %385, align 4, !tbaa !5
  %23593 = call ptr @__errno_location() #9
  store i32 %23592, ptr %23593, align 4, !tbaa !5
  %23594 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23595 = load i32, ptr @test_count, align 4, !tbaa !5
  %23596 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23597 = load i32, ptr %23596, align 4, !tbaa !5
  %23598 = call ptr @s2n_strerror(i32 noundef %23597, ptr noundef @.str.4)
  %23599 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23600 = load i32, ptr %23599, align 4, !tbaa !5
  %23601 = call ptr @s2n_strerror_debug(i32 noundef %23600, ptr noundef @.str.4)
  %23602 = call ptr @__errno_location() #9
  %23603 = load i32, ptr %23602, align 4, !tbaa !5
  %23604 = call ptr @strerror(i32 noundef %23603) #8
  %23605 = call ptr @__errno_location() #9
  %23606 = load i32, ptr %23605, align 4, !tbaa !5
  %23607 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23594, ptr noundef @.str.2, i32 noundef %23595, ptr noundef @.str.85, ptr noundef @.str.1, i32 noundef 440, ptr noundef %23598, ptr noundef %23601, ptr noundef %23604, i32 noundef %23606) #8
  br label %23625

23608:                                            ; preds = %23586, %23579
  %23609 = load i32, ptr %385, align 4, !tbaa !5
  %23610 = call ptr @__errno_location() #9
  store i32 %23609, ptr %23610, align 4, !tbaa !5
  %23611 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23612 = load i32, ptr @test_count, align 4, !tbaa !5
  %23613 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23614 = load i32, ptr %23613, align 4, !tbaa !5
  %23615 = call ptr @s2n_strerror(i32 noundef %23614, ptr noundef @.str.4)
  %23616 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23617 = load i32, ptr %23616, align 4, !tbaa !5
  %23618 = call ptr @s2n_strerror_debug(i32 noundef %23617, ptr noundef @.str.4)
  %23619 = call ptr @__errno_location() #9
  %23620 = load i32, ptr %23619, align 4, !tbaa !5
  %23621 = call ptr @strerror(i32 noundef %23620) #8
  %23622 = call ptr @__errno_location() #9
  %23623 = load i32, ptr %23622, align 4, !tbaa !5
  %23624 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23611, ptr noundef @.str.5, i32 noundef %23612, ptr noundef @.str.85, ptr noundef @.str.1, i32 noundef 440, ptr noundef %23615, ptr noundef %23618, ptr noundef %23621, i32 noundef %23623) #8
  br label %23625

23625:                                            ; preds = %23608, %23591
  call void @llvm.lifetime.end.p0(i64 4, ptr %385) #8
  br label %23626

23626:                                            ; preds = %23625
  br label %23627

23627:                                            ; preds = %23626
  call void @exit(i32 noundef 1) #10
  unreachable

23628:                                            ; No predecessors!
  br label %23629

23629:                                            ; preds = %23628
  br label %23630

23630:                                            ; preds = %23629, %23570
  br label %23631

23631:                                            ; preds = %23630
  br label %23632

23632:                                            ; preds = %23631
  br label %23633

23633:                                            ; preds = %23632
  br label %23634

23634:                                            ; preds = %23633
  %23635 = load i32, ptr @test_count, align 4, !tbaa !5
  %23636 = add nsw i32 %23635, 1
  store i32 %23636, ptr @test_count, align 4, !tbaa !5
  %23637 = load ptr, ptr %239, align 8, !tbaa !9
  %23638 = call i32 @s2n_test_auth_combo(ptr noundef %23637, ptr noundef @s2n_dhe_rsa_with_3des_ede_cbc_sha, ptr noundef @s2n_ecdsa_sha384, ptr noundef null)
  %23639 = icmp eq i32 %23638, -1
  br i1 %23639, label %23693, label %23640

23640:                                            ; preds = %23634
  br label %23641

23641:                                            ; preds = %23640
  br label %23642

23642:                                            ; preds = %23641
  call void @llvm.lifetime.start.p0(i64 4, ptr %386) #8
  %23643 = call ptr @__errno_location() #9
  %23644 = load i32, ptr %23643, align 4, !tbaa !5
  store i32 %23644, ptr %386, align 4, !tbaa !5
  %23645 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23646 = call i32 @s2n_print_stacktrace(ptr noundef %23645)
  %23647 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %23648 = trunc i8 %23647 to i1
  br i1 %23648, label %23649, label %23671

23649:                                            ; preds = %23642
  %23650 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23651 = call i32 @fileno(ptr noundef %23650) #8
  %23652 = call i32 @isatty(i32 noundef %23651) #8
  %23653 = icmp ne i32 %23652, 0
  br i1 %23653, label %23654, label %23671

23654:                                            ; preds = %23649
  %23655 = load i32, ptr %386, align 4, !tbaa !5
  %23656 = call ptr @__errno_location() #9
  store i32 %23655, ptr %23656, align 4, !tbaa !5
  %23657 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23658 = load i32, ptr @test_count, align 4, !tbaa !5
  %23659 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23660 = load i32, ptr %23659, align 4, !tbaa !5
  %23661 = call ptr @s2n_strerror(i32 noundef %23660, ptr noundef @.str.4)
  %23662 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23663 = load i32, ptr %23662, align 4, !tbaa !5
  %23664 = call ptr @s2n_strerror_debug(i32 noundef %23663, ptr noundef @.str.4)
  %23665 = call ptr @__errno_location() #9
  %23666 = load i32, ptr %23665, align 4, !tbaa !5
  %23667 = call ptr @strerror(i32 noundef %23666) #8
  %23668 = call ptr @__errno_location() #9
  %23669 = load i32, ptr %23668, align 4, !tbaa !5
  %23670 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23657, ptr noundef @.str.2, i32 noundef %23658, ptr noundef @.str.75, ptr noundef @.str.1, i32 noundef 441, ptr noundef %23661, ptr noundef %23664, ptr noundef %23667, i32 noundef %23669) #8
  br label %23688

23671:                                            ; preds = %23649, %23642
  %23672 = load i32, ptr %386, align 4, !tbaa !5
  %23673 = call ptr @__errno_location() #9
  store i32 %23672, ptr %23673, align 4, !tbaa !5
  %23674 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23675 = load i32, ptr @test_count, align 4, !tbaa !5
  %23676 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23677 = load i32, ptr %23676, align 4, !tbaa !5
  %23678 = call ptr @s2n_strerror(i32 noundef %23677, ptr noundef @.str.4)
  %23679 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23680 = load i32, ptr %23679, align 4, !tbaa !5
  %23681 = call ptr @s2n_strerror_debug(i32 noundef %23680, ptr noundef @.str.4)
  %23682 = call ptr @__errno_location() #9
  %23683 = load i32, ptr %23682, align 4, !tbaa !5
  %23684 = call ptr @strerror(i32 noundef %23683) #8
  %23685 = call ptr @__errno_location() #9
  %23686 = load i32, ptr %23685, align 4, !tbaa !5
  %23687 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23674, ptr noundef @.str.5, i32 noundef %23675, ptr noundef @.str.75, ptr noundef @.str.1, i32 noundef 441, ptr noundef %23678, ptr noundef %23681, ptr noundef %23684, i32 noundef %23686) #8
  br label %23688

23688:                                            ; preds = %23671, %23654
  call void @llvm.lifetime.end.p0(i64 4, ptr %386) #8
  br label %23689

23689:                                            ; preds = %23688
  br label %23690

23690:                                            ; preds = %23689
  call void @exit(i32 noundef 1) #10
  unreachable

23691:                                            ; No predecessors!
  br label %23692

23692:                                            ; preds = %23691
  br label %23693

23693:                                            ; preds = %23692, %23634
  br label %23694

23694:                                            ; preds = %23693
  br label %23695

23695:                                            ; preds = %23694
  br label %23696

23696:                                            ; preds = %23695
  %23697 = load i32, ptr @test_count, align 4, !tbaa !5
  %23698 = add nsw i32 %23697, 1
  store i32 %23698, ptr @test_count, align 4, !tbaa !5
  %23699 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23700 = load i32, ptr %23699, align 4, !tbaa !5
  %23701 = icmp eq i32 %23700, 0
  br i1 %23701, label %23702, label %23755

23702:                                            ; preds = %23696
  br label %23703

23703:                                            ; preds = %23702
  br label %23704

23704:                                            ; preds = %23703
  call void @llvm.lifetime.start.p0(i64 4, ptr %387) #8
  %23705 = call ptr @__errno_location() #9
  %23706 = load i32, ptr %23705, align 4, !tbaa !5
  store i32 %23706, ptr %387, align 4, !tbaa !5
  %23707 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23708 = call i32 @s2n_print_stacktrace(ptr noundef %23707)
  %23709 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %23710 = trunc i8 %23709 to i1
  br i1 %23710, label %23711, label %23733

23711:                                            ; preds = %23704
  %23712 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23713 = call i32 @fileno(ptr noundef %23712) #8
  %23714 = call i32 @isatty(i32 noundef %23713) #8
  %23715 = icmp ne i32 %23714, 0
  br i1 %23715, label %23716, label %23733

23716:                                            ; preds = %23711
  %23717 = load i32, ptr %387, align 4, !tbaa !5
  %23718 = call ptr @__errno_location() #9
  store i32 %23717, ptr %23718, align 4, !tbaa !5
  %23719 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23720 = load i32, ptr @test_count, align 4, !tbaa !5
  %23721 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23722 = load i32, ptr %23721, align 4, !tbaa !5
  %23723 = call ptr @s2n_strerror(i32 noundef %23722, ptr noundef @.str.4)
  %23724 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23725 = load i32, ptr %23724, align 4, !tbaa !5
  %23726 = call ptr @s2n_strerror_debug(i32 noundef %23725, ptr noundef @.str.4)
  %23727 = call ptr @__errno_location() #9
  %23728 = load i32, ptr %23727, align 4, !tbaa !5
  %23729 = call ptr @strerror(i32 noundef %23728) #8
  %23730 = call ptr @__errno_location() #9
  %23731 = load i32, ptr %23730, align 4, !tbaa !5
  %23732 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23719, ptr noundef @.str.2, i32 noundef %23720, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 441, ptr noundef %23723, ptr noundef %23726, ptr noundef %23729, i32 noundef %23731) #8
  br label %23750

23733:                                            ; preds = %23711, %23704
  %23734 = load i32, ptr %387, align 4, !tbaa !5
  %23735 = call ptr @__errno_location() #9
  store i32 %23734, ptr %23735, align 4, !tbaa !5
  %23736 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23737 = load i32, ptr @test_count, align 4, !tbaa !5
  %23738 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23739 = load i32, ptr %23738, align 4, !tbaa !5
  %23740 = call ptr @s2n_strerror(i32 noundef %23739, ptr noundef @.str.4)
  %23741 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23742 = load i32, ptr %23741, align 4, !tbaa !5
  %23743 = call ptr @s2n_strerror_debug(i32 noundef %23742, ptr noundef @.str.4)
  %23744 = call ptr @__errno_location() #9
  %23745 = load i32, ptr %23744, align 4, !tbaa !5
  %23746 = call ptr @strerror(i32 noundef %23745) #8
  %23747 = call ptr @__errno_location() #9
  %23748 = load i32, ptr %23747, align 4, !tbaa !5
  %23749 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23736, ptr noundef @.str.5, i32 noundef %23737, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 441, ptr noundef %23740, ptr noundef %23743, ptr noundef %23746, i32 noundef %23748) #8
  br label %23750

23750:                                            ; preds = %23733, %23716
  call void @llvm.lifetime.end.p0(i64 4, ptr %387) #8
  br label %23751

23751:                                            ; preds = %23750
  br label %23752

23752:                                            ; preds = %23751
  call void @exit(i32 noundef 1) #10
  unreachable

23753:                                            ; No predecessors!
  br label %23754

23754:                                            ; preds = %23753
  br label %23755

23755:                                            ; preds = %23754, %23696
  br label %23756

23756:                                            ; preds = %23755
  br label %23757

23757:                                            ; preds = %23756
  br label %23758

23758:                                            ; preds = %23757
  %23759 = load i32, ptr @test_count, align 4, !tbaa !5
  %23760 = add nsw i32 %23759, 1
  store i32 %23760, ptr @test_count, align 4, !tbaa !5
  %23761 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23762 = load i32, ptr %23761, align 4, !tbaa !5
  %23763 = call ptr @s2n_strerror_debug(i32 noundef %23762, ptr noundef @.str.4)
  %23764 = icmp eq ptr %23763, null
  br i1 %23764, label %23765, label %23818

23765:                                            ; preds = %23758
  br label %23766

23766:                                            ; preds = %23765
  br label %23767

23767:                                            ; preds = %23766
  call void @llvm.lifetime.start.p0(i64 4, ptr %388) #8
  %23768 = call ptr @__errno_location() #9
  %23769 = load i32, ptr %23768, align 4, !tbaa !5
  store i32 %23769, ptr %388, align 4, !tbaa !5
  %23770 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23771 = call i32 @s2n_print_stacktrace(ptr noundef %23770)
  %23772 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %23773 = trunc i8 %23772 to i1
  br i1 %23773, label %23774, label %23796

23774:                                            ; preds = %23767
  %23775 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23776 = call i32 @fileno(ptr noundef %23775) #8
  %23777 = call i32 @isatty(i32 noundef %23776) #8
  %23778 = icmp ne i32 %23777, 0
  br i1 %23778, label %23779, label %23796

23779:                                            ; preds = %23774
  %23780 = load i32, ptr %388, align 4, !tbaa !5
  %23781 = call ptr @__errno_location() #9
  store i32 %23780, ptr %23781, align 4, !tbaa !5
  %23782 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23783 = load i32, ptr @test_count, align 4, !tbaa !5
  %23784 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23785 = load i32, ptr %23784, align 4, !tbaa !5
  %23786 = call ptr @s2n_strerror(i32 noundef %23785, ptr noundef @.str.4)
  %23787 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23788 = load i32, ptr %23787, align 4, !tbaa !5
  %23789 = call ptr @s2n_strerror_debug(i32 noundef %23788, ptr noundef @.str.4)
  %23790 = call ptr @__errno_location() #9
  %23791 = load i32, ptr %23790, align 4, !tbaa !5
  %23792 = call ptr @strerror(i32 noundef %23791) #8
  %23793 = call ptr @__errno_location() #9
  %23794 = load i32, ptr %23793, align 4, !tbaa !5
  %23795 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23782, ptr noundef @.str.2, i32 noundef %23783, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 441, ptr noundef %23786, ptr noundef %23789, ptr noundef %23792, i32 noundef %23794) #8
  br label %23813

23796:                                            ; preds = %23774, %23767
  %23797 = load i32, ptr %388, align 4, !tbaa !5
  %23798 = call ptr @__errno_location() #9
  store i32 %23797, ptr %23798, align 4, !tbaa !5
  %23799 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23800 = load i32, ptr @test_count, align 4, !tbaa !5
  %23801 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23802 = load i32, ptr %23801, align 4, !tbaa !5
  %23803 = call ptr @s2n_strerror(i32 noundef %23802, ptr noundef @.str.4)
  %23804 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23805 = load i32, ptr %23804, align 4, !tbaa !5
  %23806 = call ptr @s2n_strerror_debug(i32 noundef %23805, ptr noundef @.str.4)
  %23807 = call ptr @__errno_location() #9
  %23808 = load i32, ptr %23807, align 4, !tbaa !5
  %23809 = call ptr @strerror(i32 noundef %23808) #8
  %23810 = call ptr @__errno_location() #9
  %23811 = load i32, ptr %23810, align 4, !tbaa !5
  %23812 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23799, ptr noundef @.str.5, i32 noundef %23800, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 441, ptr noundef %23803, ptr noundef %23806, ptr noundef %23809, i32 noundef %23811) #8
  br label %23813

23813:                                            ; preds = %23796, %23779
  call void @llvm.lifetime.end.p0(i64 4, ptr %388) #8
  br label %23814

23814:                                            ; preds = %23813
  br label %23815

23815:                                            ; preds = %23814
  call void @exit(i32 noundef 1) #10
  unreachable

23816:                                            ; No predecessors!
  br label %23817

23817:                                            ; preds = %23816
  br label %23818

23818:                                            ; preds = %23817, %23758
  br label %23819

23819:                                            ; preds = %23818
  br label %23820

23820:                                            ; preds = %23819
  br label %23821

23821:                                            ; preds = %23820
  %23822 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %23822, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %23823 = call ptr @__errno_location() #9
  store i32 0, ptr %23823, align 4, !tbaa !5
  br label %23824

23824:                                            ; preds = %23821
  br label %23825

23825:                                            ; preds = %23824
  br label %23826

23826:                                            ; preds = %23825
  br label %23827

23827:                                            ; preds = %23826
  br label %23828

23828:                                            ; preds = %23827
  br label %23829

23829:                                            ; preds = %23828
  %23830 = load i32, ptr @test_count, align 4, !tbaa !5
  %23831 = add nsw i32 %23830, 1
  store i32 %23831, ptr @test_count, align 4, !tbaa !5
  %23832 = load ptr, ptr %239, align 8, !tbaa !9
  %23833 = call i32 @s2n_test_auth_combo(ptr noundef %23832, ptr noundef @s2n_ecdhe_ecdsa_with_aes_128_cbc_sha, ptr noundef @s2n_rsa_pkcs1_md5_sha1, ptr noundef null)
  %23834 = icmp eq i32 %23833, -1
  br i1 %23834, label %23888, label %23835

23835:                                            ; preds = %23829
  br label %23836

23836:                                            ; preds = %23835
  br label %23837

23837:                                            ; preds = %23836
  call void @llvm.lifetime.start.p0(i64 4, ptr %389) #8
  %23838 = call ptr @__errno_location() #9
  %23839 = load i32, ptr %23838, align 4, !tbaa !5
  store i32 %23839, ptr %389, align 4, !tbaa !5
  %23840 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23841 = call i32 @s2n_print_stacktrace(ptr noundef %23840)
  %23842 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %23843 = trunc i8 %23842 to i1
  br i1 %23843, label %23844, label %23866

23844:                                            ; preds = %23837
  %23845 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23846 = call i32 @fileno(ptr noundef %23845) #8
  %23847 = call i32 @isatty(i32 noundef %23846) #8
  %23848 = icmp ne i32 %23847, 0
  br i1 %23848, label %23849, label %23866

23849:                                            ; preds = %23844
  %23850 = load i32, ptr %389, align 4, !tbaa !5
  %23851 = call ptr @__errno_location() #9
  store i32 %23850, ptr %23851, align 4, !tbaa !5
  %23852 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23853 = load i32, ptr @test_count, align 4, !tbaa !5
  %23854 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23855 = load i32, ptr %23854, align 4, !tbaa !5
  %23856 = call ptr @s2n_strerror(i32 noundef %23855, ptr noundef @.str.4)
  %23857 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23858 = load i32, ptr %23857, align 4, !tbaa !5
  %23859 = call ptr @s2n_strerror_debug(i32 noundef %23858, ptr noundef @.str.4)
  %23860 = call ptr @__errno_location() #9
  %23861 = load i32, ptr %23860, align 4, !tbaa !5
  %23862 = call ptr @strerror(i32 noundef %23861) #8
  %23863 = call ptr @__errno_location() #9
  %23864 = load i32, ptr %23863, align 4, !tbaa !5
  %23865 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23852, ptr noundef @.str.2, i32 noundef %23853, ptr noundef @.str.76, ptr noundef @.str.1, i32 noundef 443, ptr noundef %23856, ptr noundef %23859, ptr noundef %23862, i32 noundef %23864) #8
  br label %23883

23866:                                            ; preds = %23844, %23837
  %23867 = load i32, ptr %389, align 4, !tbaa !5
  %23868 = call ptr @__errno_location() #9
  store i32 %23867, ptr %23868, align 4, !tbaa !5
  %23869 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23870 = load i32, ptr @test_count, align 4, !tbaa !5
  %23871 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23872 = load i32, ptr %23871, align 4, !tbaa !5
  %23873 = call ptr @s2n_strerror(i32 noundef %23872, ptr noundef @.str.4)
  %23874 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23875 = load i32, ptr %23874, align 4, !tbaa !5
  %23876 = call ptr @s2n_strerror_debug(i32 noundef %23875, ptr noundef @.str.4)
  %23877 = call ptr @__errno_location() #9
  %23878 = load i32, ptr %23877, align 4, !tbaa !5
  %23879 = call ptr @strerror(i32 noundef %23878) #8
  %23880 = call ptr @__errno_location() #9
  %23881 = load i32, ptr %23880, align 4, !tbaa !5
  %23882 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23869, ptr noundef @.str.5, i32 noundef %23870, ptr noundef @.str.76, ptr noundef @.str.1, i32 noundef 443, ptr noundef %23873, ptr noundef %23876, ptr noundef %23879, i32 noundef %23881) #8
  br label %23883

23883:                                            ; preds = %23866, %23849
  call void @llvm.lifetime.end.p0(i64 4, ptr %389) #8
  br label %23884

23884:                                            ; preds = %23883
  br label %23885

23885:                                            ; preds = %23884
  call void @exit(i32 noundef 1) #10
  unreachable

23886:                                            ; No predecessors!
  br label %23887

23887:                                            ; preds = %23886
  br label %23888

23888:                                            ; preds = %23887, %23829
  br label %23889

23889:                                            ; preds = %23888
  br label %23890

23890:                                            ; preds = %23889
  br label %23891

23891:                                            ; preds = %23890
  %23892 = load i32, ptr @test_count, align 4, !tbaa !5
  %23893 = add nsw i32 %23892, 1
  store i32 %23893, ptr @test_count, align 4, !tbaa !5
  %23894 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23895 = load i32, ptr %23894, align 4, !tbaa !5
  %23896 = icmp eq i32 %23895, 0
  br i1 %23896, label %23897, label %23950

23897:                                            ; preds = %23891
  br label %23898

23898:                                            ; preds = %23897
  br label %23899

23899:                                            ; preds = %23898
  call void @llvm.lifetime.start.p0(i64 4, ptr %390) #8
  %23900 = call ptr @__errno_location() #9
  %23901 = load i32, ptr %23900, align 4, !tbaa !5
  store i32 %23901, ptr %390, align 4, !tbaa !5
  %23902 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23903 = call i32 @s2n_print_stacktrace(ptr noundef %23902)
  %23904 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %23905 = trunc i8 %23904 to i1
  br i1 %23905, label %23906, label %23928

23906:                                            ; preds = %23899
  %23907 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23908 = call i32 @fileno(ptr noundef %23907) #8
  %23909 = call i32 @isatty(i32 noundef %23908) #8
  %23910 = icmp ne i32 %23909, 0
  br i1 %23910, label %23911, label %23928

23911:                                            ; preds = %23906
  %23912 = load i32, ptr %390, align 4, !tbaa !5
  %23913 = call ptr @__errno_location() #9
  store i32 %23912, ptr %23913, align 4, !tbaa !5
  %23914 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23915 = load i32, ptr @test_count, align 4, !tbaa !5
  %23916 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23917 = load i32, ptr %23916, align 4, !tbaa !5
  %23918 = call ptr @s2n_strerror(i32 noundef %23917, ptr noundef @.str.4)
  %23919 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23920 = load i32, ptr %23919, align 4, !tbaa !5
  %23921 = call ptr @s2n_strerror_debug(i32 noundef %23920, ptr noundef @.str.4)
  %23922 = call ptr @__errno_location() #9
  %23923 = load i32, ptr %23922, align 4, !tbaa !5
  %23924 = call ptr @strerror(i32 noundef %23923) #8
  %23925 = call ptr @__errno_location() #9
  %23926 = load i32, ptr %23925, align 4, !tbaa !5
  %23927 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23914, ptr noundef @.str.2, i32 noundef %23915, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 443, ptr noundef %23918, ptr noundef %23921, ptr noundef %23924, i32 noundef %23926) #8
  br label %23945

23928:                                            ; preds = %23906, %23899
  %23929 = load i32, ptr %390, align 4, !tbaa !5
  %23930 = call ptr @__errno_location() #9
  store i32 %23929, ptr %23930, align 4, !tbaa !5
  %23931 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23932 = load i32, ptr @test_count, align 4, !tbaa !5
  %23933 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23934 = load i32, ptr %23933, align 4, !tbaa !5
  %23935 = call ptr @s2n_strerror(i32 noundef %23934, ptr noundef @.str.4)
  %23936 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23937 = load i32, ptr %23936, align 4, !tbaa !5
  %23938 = call ptr @s2n_strerror_debug(i32 noundef %23937, ptr noundef @.str.4)
  %23939 = call ptr @__errno_location() #9
  %23940 = load i32, ptr %23939, align 4, !tbaa !5
  %23941 = call ptr @strerror(i32 noundef %23940) #8
  %23942 = call ptr @__errno_location() #9
  %23943 = load i32, ptr %23942, align 4, !tbaa !5
  %23944 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23931, ptr noundef @.str.5, i32 noundef %23932, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 443, ptr noundef %23935, ptr noundef %23938, ptr noundef %23941, i32 noundef %23943) #8
  br label %23945

23945:                                            ; preds = %23928, %23911
  call void @llvm.lifetime.end.p0(i64 4, ptr %390) #8
  br label %23946

23946:                                            ; preds = %23945
  br label %23947

23947:                                            ; preds = %23946
  call void @exit(i32 noundef 1) #10
  unreachable

23948:                                            ; No predecessors!
  br label %23949

23949:                                            ; preds = %23948
  br label %23950

23950:                                            ; preds = %23949, %23891
  br label %23951

23951:                                            ; preds = %23950
  br label %23952

23952:                                            ; preds = %23951
  br label %23953

23953:                                            ; preds = %23952
  %23954 = load i32, ptr @test_count, align 4, !tbaa !5
  %23955 = add nsw i32 %23954, 1
  store i32 %23955, ptr @test_count, align 4, !tbaa !5
  %23956 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23957 = load i32, ptr %23956, align 4, !tbaa !5
  %23958 = call ptr @s2n_strerror_debug(i32 noundef %23957, ptr noundef @.str.4)
  %23959 = icmp eq ptr %23958, null
  br i1 %23959, label %23960, label %24013

23960:                                            ; preds = %23953
  br label %23961

23961:                                            ; preds = %23960
  br label %23962

23962:                                            ; preds = %23961
  call void @llvm.lifetime.start.p0(i64 4, ptr %391) #8
  %23963 = call ptr @__errno_location() #9
  %23964 = load i32, ptr %23963, align 4, !tbaa !5
  store i32 %23964, ptr %391, align 4, !tbaa !5
  %23965 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23966 = call i32 @s2n_print_stacktrace(ptr noundef %23965)
  %23967 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %23968 = trunc i8 %23967 to i1
  br i1 %23968, label %23969, label %23991

23969:                                            ; preds = %23962
  %23970 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23971 = call i32 @fileno(ptr noundef %23970) #8
  %23972 = call i32 @isatty(i32 noundef %23971) #8
  %23973 = icmp ne i32 %23972, 0
  br i1 %23973, label %23974, label %23991

23974:                                            ; preds = %23969
  %23975 = load i32, ptr %391, align 4, !tbaa !5
  %23976 = call ptr @__errno_location() #9
  store i32 %23975, ptr %23976, align 4, !tbaa !5
  %23977 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23978 = load i32, ptr @test_count, align 4, !tbaa !5
  %23979 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23980 = load i32, ptr %23979, align 4, !tbaa !5
  %23981 = call ptr @s2n_strerror(i32 noundef %23980, ptr noundef @.str.4)
  %23982 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23983 = load i32, ptr %23982, align 4, !tbaa !5
  %23984 = call ptr @s2n_strerror_debug(i32 noundef %23983, ptr noundef @.str.4)
  %23985 = call ptr @__errno_location() #9
  %23986 = load i32, ptr %23985, align 4, !tbaa !5
  %23987 = call ptr @strerror(i32 noundef %23986) #8
  %23988 = call ptr @__errno_location() #9
  %23989 = load i32, ptr %23988, align 4, !tbaa !5
  %23990 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23977, ptr noundef @.str.2, i32 noundef %23978, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 443, ptr noundef %23981, ptr noundef %23984, ptr noundef %23987, i32 noundef %23989) #8
  br label %24008

23991:                                            ; preds = %23969, %23962
  %23992 = load i32, ptr %391, align 4, !tbaa !5
  %23993 = call ptr @__errno_location() #9
  store i32 %23992, ptr %23993, align 4, !tbaa !5
  %23994 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23995 = load i32, ptr @test_count, align 4, !tbaa !5
  %23996 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23997 = load i32, ptr %23996, align 4, !tbaa !5
  %23998 = call ptr @s2n_strerror(i32 noundef %23997, ptr noundef @.str.4)
  %23999 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24000 = load i32, ptr %23999, align 4, !tbaa !5
  %24001 = call ptr @s2n_strerror_debug(i32 noundef %24000, ptr noundef @.str.4)
  %24002 = call ptr @__errno_location() #9
  %24003 = load i32, ptr %24002, align 4, !tbaa !5
  %24004 = call ptr @strerror(i32 noundef %24003) #8
  %24005 = call ptr @__errno_location() #9
  %24006 = load i32, ptr %24005, align 4, !tbaa !5
  %24007 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23994, ptr noundef @.str.5, i32 noundef %23995, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 443, ptr noundef %23998, ptr noundef %24001, ptr noundef %24004, i32 noundef %24006) #8
  br label %24008

24008:                                            ; preds = %23991, %23974
  call void @llvm.lifetime.end.p0(i64 4, ptr %391) #8
  br label %24009

24009:                                            ; preds = %24008
  br label %24010

24010:                                            ; preds = %24009
  call void @exit(i32 noundef 1) #10
  unreachable

24011:                                            ; No predecessors!
  br label %24012

24012:                                            ; preds = %24011
  br label %24013

24013:                                            ; preds = %24012, %23953
  br label %24014

24014:                                            ; preds = %24013
  br label %24015

24015:                                            ; preds = %24014
  br label %24016

24016:                                            ; preds = %24015
  %24017 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %24017, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %24018 = call ptr @__errno_location() #9
  store i32 0, ptr %24018, align 4, !tbaa !5
  br label %24019

24019:                                            ; preds = %24016
  br label %24020

24020:                                            ; preds = %24019
  br label %24021

24021:                                            ; preds = %24020
  br label %24022

24022:                                            ; preds = %24021
  br label %24023

24023:                                            ; preds = %24022
  br label %24024

24024:                                            ; preds = %24023
  %24025 = load i32, ptr @test_count, align 4, !tbaa !5
  %24026 = add nsw i32 %24025, 1
  store i32 %24026, ptr @test_count, align 4, !tbaa !5
  %24027 = load ptr, ptr %239, align 8, !tbaa !9
  %24028 = call i32 @s2n_test_auth_combo(ptr noundef %24027, ptr noundef @s2n_ecdhe_ecdsa_with_aes_128_cbc_sha, ptr noundef @s2n_rsa_pss_pss_sha256, ptr noundef null)
  %24029 = icmp eq i32 %24028, -1
  br i1 %24029, label %24083, label %24030

24030:                                            ; preds = %24024
  br label %24031

24031:                                            ; preds = %24030
  br label %24032

24032:                                            ; preds = %24031
  call void @llvm.lifetime.start.p0(i64 4, ptr %392) #8
  %24033 = call ptr @__errno_location() #9
  %24034 = load i32, ptr %24033, align 4, !tbaa !5
  store i32 %24034, ptr %392, align 4, !tbaa !5
  %24035 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24036 = call i32 @s2n_print_stacktrace(ptr noundef %24035)
  %24037 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %24038 = trunc i8 %24037 to i1
  br i1 %24038, label %24039, label %24061

24039:                                            ; preds = %24032
  %24040 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24041 = call i32 @fileno(ptr noundef %24040) #8
  %24042 = call i32 @isatty(i32 noundef %24041) #8
  %24043 = icmp ne i32 %24042, 0
  br i1 %24043, label %24044, label %24061

24044:                                            ; preds = %24039
  %24045 = load i32, ptr %392, align 4, !tbaa !5
  %24046 = call ptr @__errno_location() #9
  store i32 %24045, ptr %24046, align 4, !tbaa !5
  %24047 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24048 = load i32, ptr @test_count, align 4, !tbaa !5
  %24049 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24050 = load i32, ptr %24049, align 4, !tbaa !5
  %24051 = call ptr @s2n_strerror(i32 noundef %24050, ptr noundef @.str.4)
  %24052 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24053 = load i32, ptr %24052, align 4, !tbaa !5
  %24054 = call ptr @s2n_strerror_debug(i32 noundef %24053, ptr noundef @.str.4)
  %24055 = call ptr @__errno_location() #9
  %24056 = load i32, ptr %24055, align 4, !tbaa !5
  %24057 = call ptr @strerror(i32 noundef %24056) #8
  %24058 = call ptr @__errno_location() #9
  %24059 = load i32, ptr %24058, align 4, !tbaa !5
  %24060 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24047, ptr noundef @.str.2, i32 noundef %24048, ptr noundef @.str.77, ptr noundef @.str.1, i32 noundef 444, ptr noundef %24051, ptr noundef %24054, ptr noundef %24057, i32 noundef %24059) #8
  br label %24078

24061:                                            ; preds = %24039, %24032
  %24062 = load i32, ptr %392, align 4, !tbaa !5
  %24063 = call ptr @__errno_location() #9
  store i32 %24062, ptr %24063, align 4, !tbaa !5
  %24064 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24065 = load i32, ptr @test_count, align 4, !tbaa !5
  %24066 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24067 = load i32, ptr %24066, align 4, !tbaa !5
  %24068 = call ptr @s2n_strerror(i32 noundef %24067, ptr noundef @.str.4)
  %24069 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24070 = load i32, ptr %24069, align 4, !tbaa !5
  %24071 = call ptr @s2n_strerror_debug(i32 noundef %24070, ptr noundef @.str.4)
  %24072 = call ptr @__errno_location() #9
  %24073 = load i32, ptr %24072, align 4, !tbaa !5
  %24074 = call ptr @strerror(i32 noundef %24073) #8
  %24075 = call ptr @__errno_location() #9
  %24076 = load i32, ptr %24075, align 4, !tbaa !5
  %24077 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24064, ptr noundef @.str.5, i32 noundef %24065, ptr noundef @.str.77, ptr noundef @.str.1, i32 noundef 444, ptr noundef %24068, ptr noundef %24071, ptr noundef %24074, i32 noundef %24076) #8
  br label %24078

24078:                                            ; preds = %24061, %24044
  call void @llvm.lifetime.end.p0(i64 4, ptr %392) #8
  br label %24079

24079:                                            ; preds = %24078
  br label %24080

24080:                                            ; preds = %24079
  call void @exit(i32 noundef 1) #10
  unreachable

24081:                                            ; No predecessors!
  br label %24082

24082:                                            ; preds = %24081
  br label %24083

24083:                                            ; preds = %24082, %24024
  br label %24084

24084:                                            ; preds = %24083
  br label %24085

24085:                                            ; preds = %24084
  br label %24086

24086:                                            ; preds = %24085
  %24087 = load i32, ptr @test_count, align 4, !tbaa !5
  %24088 = add nsw i32 %24087, 1
  store i32 %24088, ptr @test_count, align 4, !tbaa !5
  %24089 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24090 = load i32, ptr %24089, align 4, !tbaa !5
  %24091 = icmp eq i32 %24090, 0
  br i1 %24091, label %24092, label %24145

24092:                                            ; preds = %24086
  br label %24093

24093:                                            ; preds = %24092
  br label %24094

24094:                                            ; preds = %24093
  call void @llvm.lifetime.start.p0(i64 4, ptr %393) #8
  %24095 = call ptr @__errno_location() #9
  %24096 = load i32, ptr %24095, align 4, !tbaa !5
  store i32 %24096, ptr %393, align 4, !tbaa !5
  %24097 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24098 = call i32 @s2n_print_stacktrace(ptr noundef %24097)
  %24099 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %24100 = trunc i8 %24099 to i1
  br i1 %24100, label %24101, label %24123

24101:                                            ; preds = %24094
  %24102 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24103 = call i32 @fileno(ptr noundef %24102) #8
  %24104 = call i32 @isatty(i32 noundef %24103) #8
  %24105 = icmp ne i32 %24104, 0
  br i1 %24105, label %24106, label %24123

24106:                                            ; preds = %24101
  %24107 = load i32, ptr %393, align 4, !tbaa !5
  %24108 = call ptr @__errno_location() #9
  store i32 %24107, ptr %24108, align 4, !tbaa !5
  %24109 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24110 = load i32, ptr @test_count, align 4, !tbaa !5
  %24111 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24112 = load i32, ptr %24111, align 4, !tbaa !5
  %24113 = call ptr @s2n_strerror(i32 noundef %24112, ptr noundef @.str.4)
  %24114 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24115 = load i32, ptr %24114, align 4, !tbaa !5
  %24116 = call ptr @s2n_strerror_debug(i32 noundef %24115, ptr noundef @.str.4)
  %24117 = call ptr @__errno_location() #9
  %24118 = load i32, ptr %24117, align 4, !tbaa !5
  %24119 = call ptr @strerror(i32 noundef %24118) #8
  %24120 = call ptr @__errno_location() #9
  %24121 = load i32, ptr %24120, align 4, !tbaa !5
  %24122 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24109, ptr noundef @.str.2, i32 noundef %24110, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 444, ptr noundef %24113, ptr noundef %24116, ptr noundef %24119, i32 noundef %24121) #8
  br label %24140

24123:                                            ; preds = %24101, %24094
  %24124 = load i32, ptr %393, align 4, !tbaa !5
  %24125 = call ptr @__errno_location() #9
  store i32 %24124, ptr %24125, align 4, !tbaa !5
  %24126 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24127 = load i32, ptr @test_count, align 4, !tbaa !5
  %24128 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24129 = load i32, ptr %24128, align 4, !tbaa !5
  %24130 = call ptr @s2n_strerror(i32 noundef %24129, ptr noundef @.str.4)
  %24131 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24132 = load i32, ptr %24131, align 4, !tbaa !5
  %24133 = call ptr @s2n_strerror_debug(i32 noundef %24132, ptr noundef @.str.4)
  %24134 = call ptr @__errno_location() #9
  %24135 = load i32, ptr %24134, align 4, !tbaa !5
  %24136 = call ptr @strerror(i32 noundef %24135) #8
  %24137 = call ptr @__errno_location() #9
  %24138 = load i32, ptr %24137, align 4, !tbaa !5
  %24139 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24126, ptr noundef @.str.5, i32 noundef %24127, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 444, ptr noundef %24130, ptr noundef %24133, ptr noundef %24136, i32 noundef %24138) #8
  br label %24140

24140:                                            ; preds = %24123, %24106
  call void @llvm.lifetime.end.p0(i64 4, ptr %393) #8
  br label %24141

24141:                                            ; preds = %24140
  br label %24142

24142:                                            ; preds = %24141
  call void @exit(i32 noundef 1) #10
  unreachable

24143:                                            ; No predecessors!
  br label %24144

24144:                                            ; preds = %24143
  br label %24145

24145:                                            ; preds = %24144, %24086
  br label %24146

24146:                                            ; preds = %24145
  br label %24147

24147:                                            ; preds = %24146
  br label %24148

24148:                                            ; preds = %24147
  %24149 = load i32, ptr @test_count, align 4, !tbaa !5
  %24150 = add nsw i32 %24149, 1
  store i32 %24150, ptr @test_count, align 4, !tbaa !5
  %24151 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24152 = load i32, ptr %24151, align 4, !tbaa !5
  %24153 = call ptr @s2n_strerror_debug(i32 noundef %24152, ptr noundef @.str.4)
  %24154 = icmp eq ptr %24153, null
  br i1 %24154, label %24155, label %24208

24155:                                            ; preds = %24148
  br label %24156

24156:                                            ; preds = %24155
  br label %24157

24157:                                            ; preds = %24156
  call void @llvm.lifetime.start.p0(i64 4, ptr %394) #8
  %24158 = call ptr @__errno_location() #9
  %24159 = load i32, ptr %24158, align 4, !tbaa !5
  store i32 %24159, ptr %394, align 4, !tbaa !5
  %24160 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24161 = call i32 @s2n_print_stacktrace(ptr noundef %24160)
  %24162 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %24163 = trunc i8 %24162 to i1
  br i1 %24163, label %24164, label %24186

24164:                                            ; preds = %24157
  %24165 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24166 = call i32 @fileno(ptr noundef %24165) #8
  %24167 = call i32 @isatty(i32 noundef %24166) #8
  %24168 = icmp ne i32 %24167, 0
  br i1 %24168, label %24169, label %24186

24169:                                            ; preds = %24164
  %24170 = load i32, ptr %394, align 4, !tbaa !5
  %24171 = call ptr @__errno_location() #9
  store i32 %24170, ptr %24171, align 4, !tbaa !5
  %24172 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24173 = load i32, ptr @test_count, align 4, !tbaa !5
  %24174 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24175 = load i32, ptr %24174, align 4, !tbaa !5
  %24176 = call ptr @s2n_strerror(i32 noundef %24175, ptr noundef @.str.4)
  %24177 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24178 = load i32, ptr %24177, align 4, !tbaa !5
  %24179 = call ptr @s2n_strerror_debug(i32 noundef %24178, ptr noundef @.str.4)
  %24180 = call ptr @__errno_location() #9
  %24181 = load i32, ptr %24180, align 4, !tbaa !5
  %24182 = call ptr @strerror(i32 noundef %24181) #8
  %24183 = call ptr @__errno_location() #9
  %24184 = load i32, ptr %24183, align 4, !tbaa !5
  %24185 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24172, ptr noundef @.str.2, i32 noundef %24173, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 444, ptr noundef %24176, ptr noundef %24179, ptr noundef %24182, i32 noundef %24184) #8
  br label %24203

24186:                                            ; preds = %24164, %24157
  %24187 = load i32, ptr %394, align 4, !tbaa !5
  %24188 = call ptr @__errno_location() #9
  store i32 %24187, ptr %24188, align 4, !tbaa !5
  %24189 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24190 = load i32, ptr @test_count, align 4, !tbaa !5
  %24191 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24192 = load i32, ptr %24191, align 4, !tbaa !5
  %24193 = call ptr @s2n_strerror(i32 noundef %24192, ptr noundef @.str.4)
  %24194 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24195 = load i32, ptr %24194, align 4, !tbaa !5
  %24196 = call ptr @s2n_strerror_debug(i32 noundef %24195, ptr noundef @.str.4)
  %24197 = call ptr @__errno_location() #9
  %24198 = load i32, ptr %24197, align 4, !tbaa !5
  %24199 = call ptr @strerror(i32 noundef %24198) #8
  %24200 = call ptr @__errno_location() #9
  %24201 = load i32, ptr %24200, align 4, !tbaa !5
  %24202 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24189, ptr noundef @.str.5, i32 noundef %24190, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 444, ptr noundef %24193, ptr noundef %24196, ptr noundef %24199, i32 noundef %24201) #8
  br label %24203

24203:                                            ; preds = %24186, %24169
  call void @llvm.lifetime.end.p0(i64 4, ptr %394) #8
  br label %24204

24204:                                            ; preds = %24203
  br label %24205

24205:                                            ; preds = %24204
  call void @exit(i32 noundef 1) #10
  unreachable

24206:                                            ; No predecessors!
  br label %24207

24207:                                            ; preds = %24206
  br label %24208

24208:                                            ; preds = %24207, %24148
  br label %24209

24209:                                            ; preds = %24208
  br label %24210

24210:                                            ; preds = %24209
  br label %24211

24211:                                            ; preds = %24210
  %24212 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %24212, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %24213 = call ptr @__errno_location() #9
  store i32 0, ptr %24213, align 4, !tbaa !5
  br label %24214

24214:                                            ; preds = %24211
  br label %24215

24215:                                            ; preds = %24214
  br label %24216

24216:                                            ; preds = %24215
  br label %24217

24217:                                            ; preds = %24216
  br label %24218

24218:                                            ; preds = %24217
  br label %24219

24219:                                            ; preds = %24218
  %24220 = load i32, ptr @test_count, align 4, !tbaa !5
  %24221 = add nsw i32 %24220, 1
  store i32 %24221, ptr @test_count, align 4, !tbaa !5
  %24222 = load ptr, ptr %239, align 8, !tbaa !9
  %24223 = call i32 @s2n_test_auth_combo(ptr noundef %24222, ptr noundef @s2n_ecdhe_ecdsa_with_aes_128_cbc_sha, ptr noundef @s2n_rsa_pss_rsae_sha256, ptr noundef null)
  %24224 = icmp eq i32 %24223, -1
  br i1 %24224, label %24278, label %24225

24225:                                            ; preds = %24219
  br label %24226

24226:                                            ; preds = %24225
  br label %24227

24227:                                            ; preds = %24226
  call void @llvm.lifetime.start.p0(i64 4, ptr %395) #8
  %24228 = call ptr @__errno_location() #9
  %24229 = load i32, ptr %24228, align 4, !tbaa !5
  store i32 %24229, ptr %395, align 4, !tbaa !5
  %24230 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24231 = call i32 @s2n_print_stacktrace(ptr noundef %24230)
  %24232 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %24233 = trunc i8 %24232 to i1
  br i1 %24233, label %24234, label %24256

24234:                                            ; preds = %24227
  %24235 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24236 = call i32 @fileno(ptr noundef %24235) #8
  %24237 = call i32 @isatty(i32 noundef %24236) #8
  %24238 = icmp ne i32 %24237, 0
  br i1 %24238, label %24239, label %24256

24239:                                            ; preds = %24234
  %24240 = load i32, ptr %395, align 4, !tbaa !5
  %24241 = call ptr @__errno_location() #9
  store i32 %24240, ptr %24241, align 4, !tbaa !5
  %24242 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24243 = load i32, ptr @test_count, align 4, !tbaa !5
  %24244 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24245 = load i32, ptr %24244, align 4, !tbaa !5
  %24246 = call ptr @s2n_strerror(i32 noundef %24245, ptr noundef @.str.4)
  %24247 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24248 = load i32, ptr %24247, align 4, !tbaa !5
  %24249 = call ptr @s2n_strerror_debug(i32 noundef %24248, ptr noundef @.str.4)
  %24250 = call ptr @__errno_location() #9
  %24251 = load i32, ptr %24250, align 4, !tbaa !5
  %24252 = call ptr @strerror(i32 noundef %24251) #8
  %24253 = call ptr @__errno_location() #9
  %24254 = load i32, ptr %24253, align 4, !tbaa !5
  %24255 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24242, ptr noundef @.str.2, i32 noundef %24243, ptr noundef @.str.78, ptr noundef @.str.1, i32 noundef 445, ptr noundef %24246, ptr noundef %24249, ptr noundef %24252, i32 noundef %24254) #8
  br label %24273

24256:                                            ; preds = %24234, %24227
  %24257 = load i32, ptr %395, align 4, !tbaa !5
  %24258 = call ptr @__errno_location() #9
  store i32 %24257, ptr %24258, align 4, !tbaa !5
  %24259 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24260 = load i32, ptr @test_count, align 4, !tbaa !5
  %24261 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24262 = load i32, ptr %24261, align 4, !tbaa !5
  %24263 = call ptr @s2n_strerror(i32 noundef %24262, ptr noundef @.str.4)
  %24264 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24265 = load i32, ptr %24264, align 4, !tbaa !5
  %24266 = call ptr @s2n_strerror_debug(i32 noundef %24265, ptr noundef @.str.4)
  %24267 = call ptr @__errno_location() #9
  %24268 = load i32, ptr %24267, align 4, !tbaa !5
  %24269 = call ptr @strerror(i32 noundef %24268) #8
  %24270 = call ptr @__errno_location() #9
  %24271 = load i32, ptr %24270, align 4, !tbaa !5
  %24272 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24259, ptr noundef @.str.5, i32 noundef %24260, ptr noundef @.str.78, ptr noundef @.str.1, i32 noundef 445, ptr noundef %24263, ptr noundef %24266, ptr noundef %24269, i32 noundef %24271) #8
  br label %24273

24273:                                            ; preds = %24256, %24239
  call void @llvm.lifetime.end.p0(i64 4, ptr %395) #8
  br label %24274

24274:                                            ; preds = %24273
  br label %24275

24275:                                            ; preds = %24274
  call void @exit(i32 noundef 1) #10
  unreachable

24276:                                            ; No predecessors!
  br label %24277

24277:                                            ; preds = %24276
  br label %24278

24278:                                            ; preds = %24277, %24219
  br label %24279

24279:                                            ; preds = %24278
  br label %24280

24280:                                            ; preds = %24279
  br label %24281

24281:                                            ; preds = %24280
  %24282 = load i32, ptr @test_count, align 4, !tbaa !5
  %24283 = add nsw i32 %24282, 1
  store i32 %24283, ptr @test_count, align 4, !tbaa !5
  %24284 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24285 = load i32, ptr %24284, align 4, !tbaa !5
  %24286 = icmp eq i32 %24285, 0
  br i1 %24286, label %24287, label %24340

24287:                                            ; preds = %24281
  br label %24288

24288:                                            ; preds = %24287
  br label %24289

24289:                                            ; preds = %24288
  call void @llvm.lifetime.start.p0(i64 4, ptr %396) #8
  %24290 = call ptr @__errno_location() #9
  %24291 = load i32, ptr %24290, align 4, !tbaa !5
  store i32 %24291, ptr %396, align 4, !tbaa !5
  %24292 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24293 = call i32 @s2n_print_stacktrace(ptr noundef %24292)
  %24294 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %24295 = trunc i8 %24294 to i1
  br i1 %24295, label %24296, label %24318

24296:                                            ; preds = %24289
  %24297 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24298 = call i32 @fileno(ptr noundef %24297) #8
  %24299 = call i32 @isatty(i32 noundef %24298) #8
  %24300 = icmp ne i32 %24299, 0
  br i1 %24300, label %24301, label %24318

24301:                                            ; preds = %24296
  %24302 = load i32, ptr %396, align 4, !tbaa !5
  %24303 = call ptr @__errno_location() #9
  store i32 %24302, ptr %24303, align 4, !tbaa !5
  %24304 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24305 = load i32, ptr @test_count, align 4, !tbaa !5
  %24306 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24307 = load i32, ptr %24306, align 4, !tbaa !5
  %24308 = call ptr @s2n_strerror(i32 noundef %24307, ptr noundef @.str.4)
  %24309 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24310 = load i32, ptr %24309, align 4, !tbaa !5
  %24311 = call ptr @s2n_strerror_debug(i32 noundef %24310, ptr noundef @.str.4)
  %24312 = call ptr @__errno_location() #9
  %24313 = load i32, ptr %24312, align 4, !tbaa !5
  %24314 = call ptr @strerror(i32 noundef %24313) #8
  %24315 = call ptr @__errno_location() #9
  %24316 = load i32, ptr %24315, align 4, !tbaa !5
  %24317 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24304, ptr noundef @.str.2, i32 noundef %24305, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 445, ptr noundef %24308, ptr noundef %24311, ptr noundef %24314, i32 noundef %24316) #8
  br label %24335

24318:                                            ; preds = %24296, %24289
  %24319 = load i32, ptr %396, align 4, !tbaa !5
  %24320 = call ptr @__errno_location() #9
  store i32 %24319, ptr %24320, align 4, !tbaa !5
  %24321 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24322 = load i32, ptr @test_count, align 4, !tbaa !5
  %24323 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24324 = load i32, ptr %24323, align 4, !tbaa !5
  %24325 = call ptr @s2n_strerror(i32 noundef %24324, ptr noundef @.str.4)
  %24326 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24327 = load i32, ptr %24326, align 4, !tbaa !5
  %24328 = call ptr @s2n_strerror_debug(i32 noundef %24327, ptr noundef @.str.4)
  %24329 = call ptr @__errno_location() #9
  %24330 = load i32, ptr %24329, align 4, !tbaa !5
  %24331 = call ptr @strerror(i32 noundef %24330) #8
  %24332 = call ptr @__errno_location() #9
  %24333 = load i32, ptr %24332, align 4, !tbaa !5
  %24334 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24321, ptr noundef @.str.5, i32 noundef %24322, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 445, ptr noundef %24325, ptr noundef %24328, ptr noundef %24331, i32 noundef %24333) #8
  br label %24335

24335:                                            ; preds = %24318, %24301
  call void @llvm.lifetime.end.p0(i64 4, ptr %396) #8
  br label %24336

24336:                                            ; preds = %24335
  br label %24337

24337:                                            ; preds = %24336
  call void @exit(i32 noundef 1) #10
  unreachable

24338:                                            ; No predecessors!
  br label %24339

24339:                                            ; preds = %24338
  br label %24340

24340:                                            ; preds = %24339, %24281
  br label %24341

24341:                                            ; preds = %24340
  br label %24342

24342:                                            ; preds = %24341
  br label %24343

24343:                                            ; preds = %24342
  %24344 = load i32, ptr @test_count, align 4, !tbaa !5
  %24345 = add nsw i32 %24344, 1
  store i32 %24345, ptr @test_count, align 4, !tbaa !5
  %24346 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24347 = load i32, ptr %24346, align 4, !tbaa !5
  %24348 = call ptr @s2n_strerror_debug(i32 noundef %24347, ptr noundef @.str.4)
  %24349 = icmp eq ptr %24348, null
  br i1 %24349, label %24350, label %24403

24350:                                            ; preds = %24343
  br label %24351

24351:                                            ; preds = %24350
  br label %24352

24352:                                            ; preds = %24351
  call void @llvm.lifetime.start.p0(i64 4, ptr %397) #8
  %24353 = call ptr @__errno_location() #9
  %24354 = load i32, ptr %24353, align 4, !tbaa !5
  store i32 %24354, ptr %397, align 4, !tbaa !5
  %24355 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24356 = call i32 @s2n_print_stacktrace(ptr noundef %24355)
  %24357 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %24358 = trunc i8 %24357 to i1
  br i1 %24358, label %24359, label %24381

24359:                                            ; preds = %24352
  %24360 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24361 = call i32 @fileno(ptr noundef %24360) #8
  %24362 = call i32 @isatty(i32 noundef %24361) #8
  %24363 = icmp ne i32 %24362, 0
  br i1 %24363, label %24364, label %24381

24364:                                            ; preds = %24359
  %24365 = load i32, ptr %397, align 4, !tbaa !5
  %24366 = call ptr @__errno_location() #9
  store i32 %24365, ptr %24366, align 4, !tbaa !5
  %24367 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24368 = load i32, ptr @test_count, align 4, !tbaa !5
  %24369 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24370 = load i32, ptr %24369, align 4, !tbaa !5
  %24371 = call ptr @s2n_strerror(i32 noundef %24370, ptr noundef @.str.4)
  %24372 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24373 = load i32, ptr %24372, align 4, !tbaa !5
  %24374 = call ptr @s2n_strerror_debug(i32 noundef %24373, ptr noundef @.str.4)
  %24375 = call ptr @__errno_location() #9
  %24376 = load i32, ptr %24375, align 4, !tbaa !5
  %24377 = call ptr @strerror(i32 noundef %24376) #8
  %24378 = call ptr @__errno_location() #9
  %24379 = load i32, ptr %24378, align 4, !tbaa !5
  %24380 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24367, ptr noundef @.str.2, i32 noundef %24368, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 445, ptr noundef %24371, ptr noundef %24374, ptr noundef %24377, i32 noundef %24379) #8
  br label %24398

24381:                                            ; preds = %24359, %24352
  %24382 = load i32, ptr %397, align 4, !tbaa !5
  %24383 = call ptr @__errno_location() #9
  store i32 %24382, ptr %24383, align 4, !tbaa !5
  %24384 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24385 = load i32, ptr @test_count, align 4, !tbaa !5
  %24386 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24387 = load i32, ptr %24386, align 4, !tbaa !5
  %24388 = call ptr @s2n_strerror(i32 noundef %24387, ptr noundef @.str.4)
  %24389 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24390 = load i32, ptr %24389, align 4, !tbaa !5
  %24391 = call ptr @s2n_strerror_debug(i32 noundef %24390, ptr noundef @.str.4)
  %24392 = call ptr @__errno_location() #9
  %24393 = load i32, ptr %24392, align 4, !tbaa !5
  %24394 = call ptr @strerror(i32 noundef %24393) #8
  %24395 = call ptr @__errno_location() #9
  %24396 = load i32, ptr %24395, align 4, !tbaa !5
  %24397 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24384, ptr noundef @.str.5, i32 noundef %24385, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 445, ptr noundef %24388, ptr noundef %24391, ptr noundef %24394, i32 noundef %24396) #8
  br label %24398

24398:                                            ; preds = %24381, %24364
  call void @llvm.lifetime.end.p0(i64 4, ptr %397) #8
  br label %24399

24399:                                            ; preds = %24398
  br label %24400

24400:                                            ; preds = %24399
  call void @exit(i32 noundef 1) #10
  unreachable

24401:                                            ; No predecessors!
  br label %24402

24402:                                            ; preds = %24401
  br label %24403

24403:                                            ; preds = %24402, %24343
  br label %24404

24404:                                            ; preds = %24403
  br label %24405

24405:                                            ; preds = %24404
  br label %24406

24406:                                            ; preds = %24405
  %24407 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %24407, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %24408 = call ptr @__errno_location() #9
  store i32 0, ptr %24408, align 4, !tbaa !5
  br label %24409

24409:                                            ; preds = %24406
  br label %24410

24410:                                            ; preds = %24409
  br label %24411

24411:                                            ; preds = %24410
  br label %24412

24412:                                            ; preds = %24411
  br label %24413

24413:                                            ; preds = %24412
  %24414 = load i32, ptr @test_count, align 4, !tbaa !5
  %24415 = add nsw i32 %24414, 1
  store i32 %24415, ptr @test_count, align 4, !tbaa !5
  %24416 = load ptr, ptr %239, align 8, !tbaa !9
  %24417 = load ptr, ptr %12, align 8, !tbaa !9
  %24418 = call i32 @s2n_test_auth_combo(ptr noundef %24416, ptr noundef @s2n_ecdhe_ecdsa_with_aes_128_cbc_sha, ptr noundef @s2n_ecdsa_sha384, ptr noundef %24417)
  %24419 = icmp eq i32 %24418, -1
  br i1 %24419, label %24420, label %24473

24420:                                            ; preds = %24413
  br label %24421

24421:                                            ; preds = %24420
  br label %24422

24422:                                            ; preds = %24421
  call void @llvm.lifetime.start.p0(i64 4, ptr %398) #8
  %24423 = call ptr @__errno_location() #9
  %24424 = load i32, ptr %24423, align 4, !tbaa !5
  store i32 %24424, ptr %398, align 4, !tbaa !5
  %24425 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24426 = call i32 @s2n_print_stacktrace(ptr noundef %24425)
  %24427 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %24428 = trunc i8 %24427 to i1
  br i1 %24428, label %24429, label %24451

24429:                                            ; preds = %24422
  %24430 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24431 = call i32 @fileno(ptr noundef %24430) #8
  %24432 = call i32 @isatty(i32 noundef %24431) #8
  %24433 = icmp ne i32 %24432, 0
  br i1 %24433, label %24434, label %24451

24434:                                            ; preds = %24429
  %24435 = load i32, ptr %398, align 4, !tbaa !5
  %24436 = call ptr @__errno_location() #9
  store i32 %24435, ptr %24436, align 4, !tbaa !5
  %24437 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24438 = load i32, ptr @test_count, align 4, !tbaa !5
  %24439 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24440 = load i32, ptr %24439, align 4, !tbaa !5
  %24441 = call ptr @s2n_strerror(i32 noundef %24440, ptr noundef @.str.4)
  %24442 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24443 = load i32, ptr %24442, align 4, !tbaa !5
  %24444 = call ptr @s2n_strerror_debug(i32 noundef %24443, ptr noundef @.str.4)
  %24445 = call ptr @__errno_location() #9
  %24446 = load i32, ptr %24445, align 4, !tbaa !5
  %24447 = call ptr @strerror(i32 noundef %24446) #8
  %24448 = call ptr @__errno_location() #9
  %24449 = load i32, ptr %24448, align 4, !tbaa !5
  %24450 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24437, ptr noundef @.str.2, i32 noundef %24438, ptr noundef @.str.92, ptr noundef @.str.1, i32 noundef 446, ptr noundef %24441, ptr noundef %24444, ptr noundef %24447, i32 noundef %24449) #8
  br label %24468

24451:                                            ; preds = %24429, %24422
  %24452 = load i32, ptr %398, align 4, !tbaa !5
  %24453 = call ptr @__errno_location() #9
  store i32 %24452, ptr %24453, align 4, !tbaa !5
  %24454 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24455 = load i32, ptr @test_count, align 4, !tbaa !5
  %24456 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24457 = load i32, ptr %24456, align 4, !tbaa !5
  %24458 = call ptr @s2n_strerror(i32 noundef %24457, ptr noundef @.str.4)
  %24459 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24460 = load i32, ptr %24459, align 4, !tbaa !5
  %24461 = call ptr @s2n_strerror_debug(i32 noundef %24460, ptr noundef @.str.4)
  %24462 = call ptr @__errno_location() #9
  %24463 = load i32, ptr %24462, align 4, !tbaa !5
  %24464 = call ptr @strerror(i32 noundef %24463) #8
  %24465 = call ptr @__errno_location() #9
  %24466 = load i32, ptr %24465, align 4, !tbaa !5
  %24467 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24454, ptr noundef @.str.5, i32 noundef %24455, ptr noundef @.str.92, ptr noundef @.str.1, i32 noundef 446, ptr noundef %24458, ptr noundef %24461, ptr noundef %24464, i32 noundef %24466) #8
  br label %24468

24468:                                            ; preds = %24451, %24434
  call void @llvm.lifetime.end.p0(i64 4, ptr %398) #8
  br label %24469

24469:                                            ; preds = %24468
  br label %24470

24470:                                            ; preds = %24469
  call void @exit(i32 noundef 1) #10
  unreachable

24471:                                            ; No predecessors!
  br label %24472

24472:                                            ; preds = %24471
  br label %24473

24473:                                            ; preds = %24472, %24413
  br label %24474

24474:                                            ; preds = %24473
  br label %24475

24475:                                            ; preds = %24474
  br label %24476

24476:                                            ; preds = %24475
  %24477 = load i32, ptr @test_count, align 4, !tbaa !5
  %24478 = add nsw i32 %24477, 1
  store i32 %24478, ptr @test_count, align 4, !tbaa !5
  %24479 = load ptr, ptr %239, align 8, !tbaa !9
  %24480 = load ptr, ptr %10, align 8, !tbaa !9
  %24481 = call i32 @s2n_test_auth_combo(ptr noundef %24479, ptr noundef @s2n_tls13_aes_128_gcm_sha256, ptr noundef @s2n_rsa_pkcs1_md5_sha1, ptr noundef %24480)
  %24482 = icmp eq i32 %24481, -1
  br i1 %24482, label %24483, label %24536

24483:                                            ; preds = %24476
  br label %24484

24484:                                            ; preds = %24483
  br label %24485

24485:                                            ; preds = %24484
  call void @llvm.lifetime.start.p0(i64 4, ptr %399) #8
  %24486 = call ptr @__errno_location() #9
  %24487 = load i32, ptr %24486, align 4, !tbaa !5
  store i32 %24487, ptr %399, align 4, !tbaa !5
  %24488 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24489 = call i32 @s2n_print_stacktrace(ptr noundef %24488)
  %24490 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %24491 = trunc i8 %24490 to i1
  br i1 %24491, label %24492, label %24514

24492:                                            ; preds = %24485
  %24493 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24494 = call i32 @fileno(ptr noundef %24493) #8
  %24495 = call i32 @isatty(i32 noundef %24494) #8
  %24496 = icmp ne i32 %24495, 0
  br i1 %24496, label %24497, label %24514

24497:                                            ; preds = %24492
  %24498 = load i32, ptr %399, align 4, !tbaa !5
  %24499 = call ptr @__errno_location() #9
  store i32 %24498, ptr %24499, align 4, !tbaa !5
  %24500 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24501 = load i32, ptr @test_count, align 4, !tbaa !5
  %24502 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24503 = load i32, ptr %24502, align 4, !tbaa !5
  %24504 = call ptr @s2n_strerror(i32 noundef %24503, ptr noundef @.str.4)
  %24505 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24506 = load i32, ptr %24505, align 4, !tbaa !5
  %24507 = call ptr @s2n_strerror_debug(i32 noundef %24506, ptr noundef @.str.4)
  %24508 = call ptr @__errno_location() #9
  %24509 = load i32, ptr %24508, align 4, !tbaa !5
  %24510 = call ptr @strerror(i32 noundef %24509) #8
  %24511 = call ptr @__errno_location() #9
  %24512 = load i32, ptr %24511, align 4, !tbaa !5
  %24513 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24500, ptr noundef @.str.2, i32 noundef %24501, ptr noundef @.str.86, ptr noundef @.str.1, i32 noundef 448, ptr noundef %24504, ptr noundef %24507, ptr noundef %24510, i32 noundef %24512) #8
  br label %24531

24514:                                            ; preds = %24492, %24485
  %24515 = load i32, ptr %399, align 4, !tbaa !5
  %24516 = call ptr @__errno_location() #9
  store i32 %24515, ptr %24516, align 4, !tbaa !5
  %24517 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24518 = load i32, ptr @test_count, align 4, !tbaa !5
  %24519 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24520 = load i32, ptr %24519, align 4, !tbaa !5
  %24521 = call ptr @s2n_strerror(i32 noundef %24520, ptr noundef @.str.4)
  %24522 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24523 = load i32, ptr %24522, align 4, !tbaa !5
  %24524 = call ptr @s2n_strerror_debug(i32 noundef %24523, ptr noundef @.str.4)
  %24525 = call ptr @__errno_location() #9
  %24526 = load i32, ptr %24525, align 4, !tbaa !5
  %24527 = call ptr @strerror(i32 noundef %24526) #8
  %24528 = call ptr @__errno_location() #9
  %24529 = load i32, ptr %24528, align 4, !tbaa !5
  %24530 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24517, ptr noundef @.str.5, i32 noundef %24518, ptr noundef @.str.86, ptr noundef @.str.1, i32 noundef 448, ptr noundef %24521, ptr noundef %24524, ptr noundef %24527, i32 noundef %24529) #8
  br label %24531

24531:                                            ; preds = %24514, %24497
  call void @llvm.lifetime.end.p0(i64 4, ptr %399) #8
  br label %24532

24532:                                            ; preds = %24531
  br label %24533

24533:                                            ; preds = %24532
  call void @exit(i32 noundef 1) #10
  unreachable

24534:                                            ; No predecessors!
  br label %24535

24535:                                            ; preds = %24534
  br label %24536

24536:                                            ; preds = %24535, %24476
  br label %24537

24537:                                            ; preds = %24536
  br label %24538

24538:                                            ; preds = %24537
  %24539 = call zeroext i1 (...) @s2n_is_rsa_pss_certs_supported()
  br i1 %24539, label %24540, label %24604

24540:                                            ; preds = %24538
  br label %24541

24541:                                            ; preds = %24540
  %24542 = load i32, ptr @test_count, align 4, !tbaa !5
  %24543 = add nsw i32 %24542, 1
  store i32 %24543, ptr @test_count, align 4, !tbaa !5
  %24544 = load ptr, ptr %239, align 8, !tbaa !9
  %24545 = load ptr, ptr %22, align 8, !tbaa !9
  %24546 = call i32 @s2n_test_auth_combo(ptr noundef %24544, ptr noundef @s2n_tls13_aes_128_gcm_sha256, ptr noundef @s2n_rsa_pss_pss_sha256, ptr noundef %24545)
  %24547 = icmp eq i32 %24546, -1
  br i1 %24547, label %24548, label %24601

24548:                                            ; preds = %24541
  br label %24549

24549:                                            ; preds = %24548
  br label %24550

24550:                                            ; preds = %24549
  call void @llvm.lifetime.start.p0(i64 4, ptr %400) #8
  %24551 = call ptr @__errno_location() #9
  %24552 = load i32, ptr %24551, align 4, !tbaa !5
  store i32 %24552, ptr %400, align 4, !tbaa !5
  %24553 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24554 = call i32 @s2n_print_stacktrace(ptr noundef %24553)
  %24555 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %24556 = trunc i8 %24555 to i1
  br i1 %24556, label %24557, label %24579

24557:                                            ; preds = %24550
  %24558 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24559 = call i32 @fileno(ptr noundef %24558) #8
  %24560 = call i32 @isatty(i32 noundef %24559) #8
  %24561 = icmp ne i32 %24560, 0
  br i1 %24561, label %24562, label %24579

24562:                                            ; preds = %24557
  %24563 = load i32, ptr %400, align 4, !tbaa !5
  %24564 = call ptr @__errno_location() #9
  store i32 %24563, ptr %24564, align 4, !tbaa !5
  %24565 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24566 = load i32, ptr @test_count, align 4, !tbaa !5
  %24567 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24568 = load i32, ptr %24567, align 4, !tbaa !5
  %24569 = call ptr @s2n_strerror(i32 noundef %24568, ptr noundef @.str.4)
  %24570 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24571 = load i32, ptr %24570, align 4, !tbaa !5
  %24572 = call ptr @s2n_strerror_debug(i32 noundef %24571, ptr noundef @.str.4)
  %24573 = call ptr @__errno_location() #9
  %24574 = load i32, ptr %24573, align 4, !tbaa !5
  %24575 = call ptr @strerror(i32 noundef %24574) #8
  %24576 = call ptr @__errno_location() #9
  %24577 = load i32, ptr %24576, align 4, !tbaa !5
  %24578 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24565, ptr noundef @.str.2, i32 noundef %24566, ptr noundef @.str.90, ptr noundef @.str.1, i32 noundef 449, ptr noundef %24569, ptr noundef %24572, ptr noundef %24575, i32 noundef %24577) #8
  br label %24596

24579:                                            ; preds = %24557, %24550
  %24580 = load i32, ptr %400, align 4, !tbaa !5
  %24581 = call ptr @__errno_location() #9
  store i32 %24580, ptr %24581, align 4, !tbaa !5
  %24582 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24583 = load i32, ptr @test_count, align 4, !tbaa !5
  %24584 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24585 = load i32, ptr %24584, align 4, !tbaa !5
  %24586 = call ptr @s2n_strerror(i32 noundef %24585, ptr noundef @.str.4)
  %24587 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24588 = load i32, ptr %24587, align 4, !tbaa !5
  %24589 = call ptr @s2n_strerror_debug(i32 noundef %24588, ptr noundef @.str.4)
  %24590 = call ptr @__errno_location() #9
  %24591 = load i32, ptr %24590, align 4, !tbaa !5
  %24592 = call ptr @strerror(i32 noundef %24591) #8
  %24593 = call ptr @__errno_location() #9
  %24594 = load i32, ptr %24593, align 4, !tbaa !5
  %24595 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24582, ptr noundef @.str.5, i32 noundef %24583, ptr noundef @.str.90, ptr noundef @.str.1, i32 noundef 449, ptr noundef %24586, ptr noundef %24589, ptr noundef %24592, i32 noundef %24594) #8
  br label %24596

24596:                                            ; preds = %24579, %24562
  call void @llvm.lifetime.end.p0(i64 4, ptr %400) #8
  br label %24597

24597:                                            ; preds = %24596
  br label %24598

24598:                                            ; preds = %24597
  call void @exit(i32 noundef 1) #10
  unreachable

24599:                                            ; No predecessors!
  br label %24600

24600:                                            ; preds = %24599
  br label %24601

24601:                                            ; preds = %24600, %24541
  br label %24602

24602:                                            ; preds = %24601
  br label %24603

24603:                                            ; preds = %24602
  br label %24801

24604:                                            ; preds = %24538
  br label %24605

24605:                                            ; preds = %24604
  br label %24606

24606:                                            ; preds = %24605
  %24607 = load i32, ptr @test_count, align 4, !tbaa !5
  %24608 = add nsw i32 %24607, 1
  store i32 %24608, ptr @test_count, align 4, !tbaa !5
  %24609 = load ptr, ptr %239, align 8, !tbaa !9
  %24610 = load ptr, ptr %22, align 8, !tbaa !9
  %24611 = call i32 @s2n_test_auth_combo(ptr noundef %24609, ptr noundef @s2n_tls13_aes_128_gcm_sha256, ptr noundef @s2n_rsa_pss_pss_sha256, ptr noundef %24610)
  %24612 = icmp eq i32 %24611, -1
  br i1 %24612, label %24666, label %24613

24613:                                            ; preds = %24606
  br label %24614

24614:                                            ; preds = %24613
  br label %24615

24615:                                            ; preds = %24614
  call void @llvm.lifetime.start.p0(i64 4, ptr %401) #8
  %24616 = call ptr @__errno_location() #9
  %24617 = load i32, ptr %24616, align 4, !tbaa !5
  store i32 %24617, ptr %401, align 4, !tbaa !5
  %24618 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24619 = call i32 @s2n_print_stacktrace(ptr noundef %24618)
  %24620 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %24621 = trunc i8 %24620 to i1
  br i1 %24621, label %24622, label %24644

24622:                                            ; preds = %24615
  %24623 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24624 = call i32 @fileno(ptr noundef %24623) #8
  %24625 = call i32 @isatty(i32 noundef %24624) #8
  %24626 = icmp ne i32 %24625, 0
  br i1 %24626, label %24627, label %24644

24627:                                            ; preds = %24622
  %24628 = load i32, ptr %401, align 4, !tbaa !5
  %24629 = call ptr @__errno_location() #9
  store i32 %24628, ptr %24629, align 4, !tbaa !5
  %24630 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24631 = load i32, ptr @test_count, align 4, !tbaa !5
  %24632 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24633 = load i32, ptr %24632, align 4, !tbaa !5
  %24634 = call ptr @s2n_strerror(i32 noundef %24633, ptr noundef @.str.4)
  %24635 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24636 = load i32, ptr %24635, align 4, !tbaa !5
  %24637 = call ptr @s2n_strerror_debug(i32 noundef %24636, ptr noundef @.str.4)
  %24638 = call ptr @__errno_location() #9
  %24639 = load i32, ptr %24638, align 4, !tbaa !5
  %24640 = call ptr @strerror(i32 noundef %24639) #8
  %24641 = call ptr @__errno_location() #9
  %24642 = load i32, ptr %24641, align 4, !tbaa !5
  %24643 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24630, ptr noundef @.str.2, i32 noundef %24631, ptr noundef @.str.91, ptr noundef @.str.1, i32 noundef 449, ptr noundef %24634, ptr noundef %24637, ptr noundef %24640, i32 noundef %24642) #8
  br label %24661

24644:                                            ; preds = %24622, %24615
  %24645 = load i32, ptr %401, align 4, !tbaa !5
  %24646 = call ptr @__errno_location() #9
  store i32 %24645, ptr %24646, align 4, !tbaa !5
  %24647 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24648 = load i32, ptr @test_count, align 4, !tbaa !5
  %24649 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24650 = load i32, ptr %24649, align 4, !tbaa !5
  %24651 = call ptr @s2n_strerror(i32 noundef %24650, ptr noundef @.str.4)
  %24652 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24653 = load i32, ptr %24652, align 4, !tbaa !5
  %24654 = call ptr @s2n_strerror_debug(i32 noundef %24653, ptr noundef @.str.4)
  %24655 = call ptr @__errno_location() #9
  %24656 = load i32, ptr %24655, align 4, !tbaa !5
  %24657 = call ptr @strerror(i32 noundef %24656) #8
  %24658 = call ptr @__errno_location() #9
  %24659 = load i32, ptr %24658, align 4, !tbaa !5
  %24660 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24647, ptr noundef @.str.5, i32 noundef %24648, ptr noundef @.str.91, ptr noundef @.str.1, i32 noundef 449, ptr noundef %24651, ptr noundef %24654, ptr noundef %24657, i32 noundef %24659) #8
  br label %24661

24661:                                            ; preds = %24644, %24627
  call void @llvm.lifetime.end.p0(i64 4, ptr %401) #8
  br label %24662

24662:                                            ; preds = %24661
  br label %24663

24663:                                            ; preds = %24662
  call void @exit(i32 noundef 1) #10
  unreachable

24664:                                            ; No predecessors!
  br label %24665

24665:                                            ; preds = %24664
  br label %24666

24666:                                            ; preds = %24665, %24606
  br label %24667

24667:                                            ; preds = %24666
  br label %24668

24668:                                            ; preds = %24667
  br label %24669

24669:                                            ; preds = %24668
  %24670 = load i32, ptr @test_count, align 4, !tbaa !5
  %24671 = add nsw i32 %24670, 1
  store i32 %24671, ptr @test_count, align 4, !tbaa !5
  %24672 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24673 = load i32, ptr %24672, align 4, !tbaa !5
  %24674 = icmp eq i32 %24673, 0
  br i1 %24674, label %24675, label %24728

24675:                                            ; preds = %24669
  br label %24676

24676:                                            ; preds = %24675
  br label %24677

24677:                                            ; preds = %24676
  call void @llvm.lifetime.start.p0(i64 4, ptr %402) #8
  %24678 = call ptr @__errno_location() #9
  %24679 = load i32, ptr %24678, align 4, !tbaa !5
  store i32 %24679, ptr %402, align 4, !tbaa !5
  %24680 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24681 = call i32 @s2n_print_stacktrace(ptr noundef %24680)
  %24682 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %24683 = trunc i8 %24682 to i1
  br i1 %24683, label %24684, label %24706

24684:                                            ; preds = %24677
  %24685 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24686 = call i32 @fileno(ptr noundef %24685) #8
  %24687 = call i32 @isatty(i32 noundef %24686) #8
  %24688 = icmp ne i32 %24687, 0
  br i1 %24688, label %24689, label %24706

24689:                                            ; preds = %24684
  %24690 = load i32, ptr %402, align 4, !tbaa !5
  %24691 = call ptr @__errno_location() #9
  store i32 %24690, ptr %24691, align 4, !tbaa !5
  %24692 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24693 = load i32, ptr @test_count, align 4, !tbaa !5
  %24694 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24695 = load i32, ptr %24694, align 4, !tbaa !5
  %24696 = call ptr @s2n_strerror(i32 noundef %24695, ptr noundef @.str.4)
  %24697 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24698 = load i32, ptr %24697, align 4, !tbaa !5
  %24699 = call ptr @s2n_strerror_debug(i32 noundef %24698, ptr noundef @.str.4)
  %24700 = call ptr @__errno_location() #9
  %24701 = load i32, ptr %24700, align 4, !tbaa !5
  %24702 = call ptr @strerror(i32 noundef %24701) #8
  %24703 = call ptr @__errno_location() #9
  %24704 = load i32, ptr %24703, align 4, !tbaa !5
  %24705 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24692, ptr noundef @.str.2, i32 noundef %24693, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 449, ptr noundef %24696, ptr noundef %24699, ptr noundef %24702, i32 noundef %24704) #8
  br label %24723

24706:                                            ; preds = %24684, %24677
  %24707 = load i32, ptr %402, align 4, !tbaa !5
  %24708 = call ptr @__errno_location() #9
  store i32 %24707, ptr %24708, align 4, !tbaa !5
  %24709 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24710 = load i32, ptr @test_count, align 4, !tbaa !5
  %24711 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24712 = load i32, ptr %24711, align 4, !tbaa !5
  %24713 = call ptr @s2n_strerror(i32 noundef %24712, ptr noundef @.str.4)
  %24714 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24715 = load i32, ptr %24714, align 4, !tbaa !5
  %24716 = call ptr @s2n_strerror_debug(i32 noundef %24715, ptr noundef @.str.4)
  %24717 = call ptr @__errno_location() #9
  %24718 = load i32, ptr %24717, align 4, !tbaa !5
  %24719 = call ptr @strerror(i32 noundef %24718) #8
  %24720 = call ptr @__errno_location() #9
  %24721 = load i32, ptr %24720, align 4, !tbaa !5
  %24722 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24709, ptr noundef @.str.5, i32 noundef %24710, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 449, ptr noundef %24713, ptr noundef %24716, ptr noundef %24719, i32 noundef %24721) #8
  br label %24723

24723:                                            ; preds = %24706, %24689
  call void @llvm.lifetime.end.p0(i64 4, ptr %402) #8
  br label %24724

24724:                                            ; preds = %24723
  br label %24725

24725:                                            ; preds = %24724
  call void @exit(i32 noundef 1) #10
  unreachable

24726:                                            ; No predecessors!
  br label %24727

24727:                                            ; preds = %24726
  br label %24728

24728:                                            ; preds = %24727, %24669
  br label %24729

24729:                                            ; preds = %24728
  br label %24730

24730:                                            ; preds = %24729
  br label %24731

24731:                                            ; preds = %24730
  %24732 = load i32, ptr @test_count, align 4, !tbaa !5
  %24733 = add nsw i32 %24732, 1
  store i32 %24733, ptr @test_count, align 4, !tbaa !5
  %24734 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24735 = load i32, ptr %24734, align 4, !tbaa !5
  %24736 = call ptr @s2n_strerror_debug(i32 noundef %24735, ptr noundef @.str.4)
  %24737 = icmp eq ptr %24736, null
  br i1 %24737, label %24738, label %24791

24738:                                            ; preds = %24731
  br label %24739

24739:                                            ; preds = %24738
  br label %24740

24740:                                            ; preds = %24739
  call void @llvm.lifetime.start.p0(i64 4, ptr %403) #8
  %24741 = call ptr @__errno_location() #9
  %24742 = load i32, ptr %24741, align 4, !tbaa !5
  store i32 %24742, ptr %403, align 4, !tbaa !5
  %24743 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24744 = call i32 @s2n_print_stacktrace(ptr noundef %24743)
  %24745 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %24746 = trunc i8 %24745 to i1
  br i1 %24746, label %24747, label %24769

24747:                                            ; preds = %24740
  %24748 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24749 = call i32 @fileno(ptr noundef %24748) #8
  %24750 = call i32 @isatty(i32 noundef %24749) #8
  %24751 = icmp ne i32 %24750, 0
  br i1 %24751, label %24752, label %24769

24752:                                            ; preds = %24747
  %24753 = load i32, ptr %403, align 4, !tbaa !5
  %24754 = call ptr @__errno_location() #9
  store i32 %24753, ptr %24754, align 4, !tbaa !5
  %24755 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24756 = load i32, ptr @test_count, align 4, !tbaa !5
  %24757 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24758 = load i32, ptr %24757, align 4, !tbaa !5
  %24759 = call ptr @s2n_strerror(i32 noundef %24758, ptr noundef @.str.4)
  %24760 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24761 = load i32, ptr %24760, align 4, !tbaa !5
  %24762 = call ptr @s2n_strerror_debug(i32 noundef %24761, ptr noundef @.str.4)
  %24763 = call ptr @__errno_location() #9
  %24764 = load i32, ptr %24763, align 4, !tbaa !5
  %24765 = call ptr @strerror(i32 noundef %24764) #8
  %24766 = call ptr @__errno_location() #9
  %24767 = load i32, ptr %24766, align 4, !tbaa !5
  %24768 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24755, ptr noundef @.str.2, i32 noundef %24756, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 449, ptr noundef %24759, ptr noundef %24762, ptr noundef %24765, i32 noundef %24767) #8
  br label %24786

24769:                                            ; preds = %24747, %24740
  %24770 = load i32, ptr %403, align 4, !tbaa !5
  %24771 = call ptr @__errno_location() #9
  store i32 %24770, ptr %24771, align 4, !tbaa !5
  %24772 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24773 = load i32, ptr @test_count, align 4, !tbaa !5
  %24774 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24775 = load i32, ptr %24774, align 4, !tbaa !5
  %24776 = call ptr @s2n_strerror(i32 noundef %24775, ptr noundef @.str.4)
  %24777 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24778 = load i32, ptr %24777, align 4, !tbaa !5
  %24779 = call ptr @s2n_strerror_debug(i32 noundef %24778, ptr noundef @.str.4)
  %24780 = call ptr @__errno_location() #9
  %24781 = load i32, ptr %24780, align 4, !tbaa !5
  %24782 = call ptr @strerror(i32 noundef %24781) #8
  %24783 = call ptr @__errno_location() #9
  %24784 = load i32, ptr %24783, align 4, !tbaa !5
  %24785 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24772, ptr noundef @.str.5, i32 noundef %24773, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 449, ptr noundef %24776, ptr noundef %24779, ptr noundef %24782, i32 noundef %24784) #8
  br label %24786

24786:                                            ; preds = %24769, %24752
  call void @llvm.lifetime.end.p0(i64 4, ptr %403) #8
  br label %24787

24787:                                            ; preds = %24786
  br label %24788

24788:                                            ; preds = %24787
  call void @exit(i32 noundef 1) #10
  unreachable

24789:                                            ; No predecessors!
  br label %24790

24790:                                            ; preds = %24789
  br label %24791

24791:                                            ; preds = %24790, %24731
  br label %24792

24792:                                            ; preds = %24791
  br label %24793

24793:                                            ; preds = %24792
  br label %24794

24794:                                            ; preds = %24793
  %24795 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %24795, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %24796 = call ptr @__errno_location() #9
  store i32 0, ptr %24796, align 4, !tbaa !5
  br label %24797

24797:                                            ; preds = %24794
  br label %24798

24798:                                            ; preds = %24797
  br label %24799

24799:                                            ; preds = %24798
  br label %24800

24800:                                            ; preds = %24799
  br label %24801

24801:                                            ; preds = %24800, %24603
  br label %24802

24802:                                            ; preds = %24801
  %24803 = load i32, ptr @test_count, align 4, !tbaa !5
  %24804 = add nsw i32 %24803, 1
  store i32 %24804, ptr @test_count, align 4, !tbaa !5
  %24805 = load ptr, ptr %239, align 8, !tbaa !9
  %24806 = load ptr, ptr %10, align 8, !tbaa !9
  %24807 = call i32 @s2n_test_auth_combo(ptr noundef %24805, ptr noundef @s2n_tls13_aes_128_gcm_sha256, ptr noundef @s2n_rsa_pss_rsae_sha256, ptr noundef %24806)
  %24808 = icmp eq i32 %24807, -1
  br i1 %24808, label %24809, label %24862

24809:                                            ; preds = %24802
  br label %24810

24810:                                            ; preds = %24809
  br label %24811

24811:                                            ; preds = %24810
  call void @llvm.lifetime.start.p0(i64 4, ptr %404) #8
  %24812 = call ptr @__errno_location() #9
  %24813 = load i32, ptr %24812, align 4, !tbaa !5
  store i32 %24813, ptr %404, align 4, !tbaa !5
  %24814 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24815 = call i32 @s2n_print_stacktrace(ptr noundef %24814)
  %24816 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %24817 = trunc i8 %24816 to i1
  br i1 %24817, label %24818, label %24840

24818:                                            ; preds = %24811
  %24819 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24820 = call i32 @fileno(ptr noundef %24819) #8
  %24821 = call i32 @isatty(i32 noundef %24820) #8
  %24822 = icmp ne i32 %24821, 0
  br i1 %24822, label %24823, label %24840

24823:                                            ; preds = %24818
  %24824 = load i32, ptr %404, align 4, !tbaa !5
  %24825 = call ptr @__errno_location() #9
  store i32 %24824, ptr %24825, align 4, !tbaa !5
  %24826 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24827 = load i32, ptr @test_count, align 4, !tbaa !5
  %24828 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24829 = load i32, ptr %24828, align 4, !tbaa !5
  %24830 = call ptr @s2n_strerror(i32 noundef %24829, ptr noundef @.str.4)
  %24831 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24832 = load i32, ptr %24831, align 4, !tbaa !5
  %24833 = call ptr @s2n_strerror_debug(i32 noundef %24832, ptr noundef @.str.4)
  %24834 = call ptr @__errno_location() #9
  %24835 = load i32, ptr %24834, align 4, !tbaa !5
  %24836 = call ptr @strerror(i32 noundef %24835) #8
  %24837 = call ptr @__errno_location() #9
  %24838 = load i32, ptr %24837, align 4, !tbaa !5
  %24839 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24826, ptr noundef @.str.2, i32 noundef %24827, ptr noundef @.str.87, ptr noundef @.str.1, i32 noundef 450, ptr noundef %24830, ptr noundef %24833, ptr noundef %24836, i32 noundef %24838) #8
  br label %24857

24840:                                            ; preds = %24818, %24811
  %24841 = load i32, ptr %404, align 4, !tbaa !5
  %24842 = call ptr @__errno_location() #9
  store i32 %24841, ptr %24842, align 4, !tbaa !5
  %24843 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24844 = load i32, ptr @test_count, align 4, !tbaa !5
  %24845 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24846 = load i32, ptr %24845, align 4, !tbaa !5
  %24847 = call ptr @s2n_strerror(i32 noundef %24846, ptr noundef @.str.4)
  %24848 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24849 = load i32, ptr %24848, align 4, !tbaa !5
  %24850 = call ptr @s2n_strerror_debug(i32 noundef %24849, ptr noundef @.str.4)
  %24851 = call ptr @__errno_location() #9
  %24852 = load i32, ptr %24851, align 4, !tbaa !5
  %24853 = call ptr @strerror(i32 noundef %24852) #8
  %24854 = call ptr @__errno_location() #9
  %24855 = load i32, ptr %24854, align 4, !tbaa !5
  %24856 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24843, ptr noundef @.str.5, i32 noundef %24844, ptr noundef @.str.87, ptr noundef @.str.1, i32 noundef 450, ptr noundef %24847, ptr noundef %24850, ptr noundef %24853, i32 noundef %24855) #8
  br label %24857

24857:                                            ; preds = %24840, %24823
  call void @llvm.lifetime.end.p0(i64 4, ptr %404) #8
  br label %24858

24858:                                            ; preds = %24857
  br label %24859

24859:                                            ; preds = %24858
  call void @exit(i32 noundef 1) #10
  unreachable

24860:                                            ; No predecessors!
  br label %24861

24861:                                            ; preds = %24860
  br label %24862

24862:                                            ; preds = %24861, %24802
  br label %24863

24863:                                            ; preds = %24862
  br label %24864

24864:                                            ; preds = %24863
  br label %24865

24865:                                            ; preds = %24864
  %24866 = load i32, ptr @test_count, align 4, !tbaa !5
  %24867 = add nsw i32 %24866, 1
  store i32 %24867, ptr @test_count, align 4, !tbaa !5
  %24868 = load ptr, ptr %239, align 8, !tbaa !9
  %24869 = load ptr, ptr %12, align 8, !tbaa !9
  %24870 = call i32 @s2n_test_auth_combo(ptr noundef %24868, ptr noundef @s2n_tls13_aes_128_gcm_sha256, ptr noundef @s2n_ecdsa_sha384, ptr noundef %24869)
  %24871 = icmp eq i32 %24870, -1
  br i1 %24871, label %24872, label %24925

24872:                                            ; preds = %24865
  br label %24873

24873:                                            ; preds = %24872
  br label %24874

24874:                                            ; preds = %24873
  call void @llvm.lifetime.start.p0(i64 4, ptr %405) #8
  %24875 = call ptr @__errno_location() #9
  %24876 = load i32, ptr %24875, align 4, !tbaa !5
  store i32 %24876, ptr %405, align 4, !tbaa !5
  %24877 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24878 = call i32 @s2n_print_stacktrace(ptr noundef %24877)
  %24879 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %24880 = trunc i8 %24879 to i1
  br i1 %24880, label %24881, label %24903

24881:                                            ; preds = %24874
  %24882 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24883 = call i32 @fileno(ptr noundef %24882) #8
  %24884 = call i32 @isatty(i32 noundef %24883) #8
  %24885 = icmp ne i32 %24884, 0
  br i1 %24885, label %24886, label %24903

24886:                                            ; preds = %24881
  %24887 = load i32, ptr %405, align 4, !tbaa !5
  %24888 = call ptr @__errno_location() #9
  store i32 %24887, ptr %24888, align 4, !tbaa !5
  %24889 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24890 = load i32, ptr @test_count, align 4, !tbaa !5
  %24891 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24892 = load i32, ptr %24891, align 4, !tbaa !5
  %24893 = call ptr @s2n_strerror(i32 noundef %24892, ptr noundef @.str.4)
  %24894 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24895 = load i32, ptr %24894, align 4, !tbaa !5
  %24896 = call ptr @s2n_strerror_debug(i32 noundef %24895, ptr noundef @.str.4)
  %24897 = call ptr @__errno_location() #9
  %24898 = load i32, ptr %24897, align 4, !tbaa !5
  %24899 = call ptr @strerror(i32 noundef %24898) #8
  %24900 = call ptr @__errno_location() #9
  %24901 = load i32, ptr %24900, align 4, !tbaa !5
  %24902 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24889, ptr noundef @.str.2, i32 noundef %24890, ptr noundef @.str.93, ptr noundef @.str.1, i32 noundef 451, ptr noundef %24893, ptr noundef %24896, ptr noundef %24899, i32 noundef %24901) #8
  br label %24920

24903:                                            ; preds = %24881, %24874
  %24904 = load i32, ptr %405, align 4, !tbaa !5
  %24905 = call ptr @__errno_location() #9
  store i32 %24904, ptr %24905, align 4, !tbaa !5
  %24906 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24907 = load i32, ptr @test_count, align 4, !tbaa !5
  %24908 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24909 = load i32, ptr %24908, align 4, !tbaa !5
  %24910 = call ptr @s2n_strerror(i32 noundef %24909, ptr noundef @.str.4)
  %24911 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24912 = load i32, ptr %24911, align 4, !tbaa !5
  %24913 = call ptr @s2n_strerror_debug(i32 noundef %24912, ptr noundef @.str.4)
  %24914 = call ptr @__errno_location() #9
  %24915 = load i32, ptr %24914, align 4, !tbaa !5
  %24916 = call ptr @strerror(i32 noundef %24915) #8
  %24917 = call ptr @__errno_location() #9
  %24918 = load i32, ptr %24917, align 4, !tbaa !5
  %24919 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24906, ptr noundef @.str.5, i32 noundef %24907, ptr noundef @.str.93, ptr noundef @.str.1, i32 noundef 451, ptr noundef %24910, ptr noundef %24913, ptr noundef %24916, i32 noundef %24918) #8
  br label %24920

24920:                                            ; preds = %24903, %24886
  call void @llvm.lifetime.end.p0(i64 4, ptr %405) #8
  br label %24921

24921:                                            ; preds = %24920
  br label %24922

24922:                                            ; preds = %24921
  call void @exit(i32 noundef 1) #10
  unreachable

24923:                                            ; No predecessors!
  br label %24924

24924:                                            ; preds = %24923
  br label %24925

24925:                                            ; preds = %24924, %24865
  br label %24926

24926:                                            ; preds = %24925
  br label %24927

24927:                                            ; preds = %24926
  br label %24928

24928:                                            ; preds = %24927
  %24929 = load i32, ptr @test_count, align 4, !tbaa !5
  %24930 = add nsw i32 %24929, 1
  store i32 %24930, ptr @test_count, align 4, !tbaa !5
  %24931 = load ptr, ptr %239, align 8, !tbaa !9
  %24932 = call i32 @s2n_connection_free(ptr noundef %24931)
  %24933 = icmp eq i32 %24932, -1
  br i1 %24933, label %24934, label %24987

24934:                                            ; preds = %24928
  br label %24935

24935:                                            ; preds = %24934
  br label %24936

24936:                                            ; preds = %24935
  call void @llvm.lifetime.start.p0(i64 4, ptr %406) #8
  %24937 = call ptr @__errno_location() #9
  %24938 = load i32, ptr %24937, align 4, !tbaa !5
  store i32 %24938, ptr %406, align 4, !tbaa !5
  %24939 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24940 = call i32 @s2n_print_stacktrace(ptr noundef %24939)
  %24941 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %24942 = trunc i8 %24941 to i1
  br i1 %24942, label %24943, label %24965

24943:                                            ; preds = %24936
  %24944 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24945 = call i32 @fileno(ptr noundef %24944) #8
  %24946 = call i32 @isatty(i32 noundef %24945) #8
  %24947 = icmp ne i32 %24946, 0
  br i1 %24947, label %24948, label %24965

24948:                                            ; preds = %24943
  %24949 = load i32, ptr %406, align 4, !tbaa !5
  %24950 = call ptr @__errno_location() #9
  store i32 %24949, ptr %24950, align 4, !tbaa !5
  %24951 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24952 = load i32, ptr @test_count, align 4, !tbaa !5
  %24953 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24954 = load i32, ptr %24953, align 4, !tbaa !5
  %24955 = call ptr @s2n_strerror(i32 noundef %24954, ptr noundef @.str.4)
  %24956 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24957 = load i32, ptr %24956, align 4, !tbaa !5
  %24958 = call ptr @s2n_strerror_debug(i32 noundef %24957, ptr noundef @.str.4)
  %24959 = call ptr @__errno_location() #9
  %24960 = load i32, ptr %24959, align 4, !tbaa !5
  %24961 = call ptr @strerror(i32 noundef %24960) #8
  %24962 = call ptr @__errno_location() #9
  %24963 = load i32, ptr %24962, align 4, !tbaa !5
  %24964 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24951, ptr noundef @.str.2, i32 noundef %24952, ptr noundef @.str.31, ptr noundef @.str.1, i32 noundef 453, ptr noundef %24955, ptr noundef %24958, ptr noundef %24961, i32 noundef %24963) #8
  br label %24982

24965:                                            ; preds = %24943, %24936
  %24966 = load i32, ptr %406, align 4, !tbaa !5
  %24967 = call ptr @__errno_location() #9
  store i32 %24966, ptr %24967, align 4, !tbaa !5
  %24968 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24969 = load i32, ptr @test_count, align 4, !tbaa !5
  %24970 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24971 = load i32, ptr %24970, align 4, !tbaa !5
  %24972 = call ptr @s2n_strerror(i32 noundef %24971, ptr noundef @.str.4)
  %24973 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24974 = load i32, ptr %24973, align 4, !tbaa !5
  %24975 = call ptr @s2n_strerror_debug(i32 noundef %24974, ptr noundef @.str.4)
  %24976 = call ptr @__errno_location() #9
  %24977 = load i32, ptr %24976, align 4, !tbaa !5
  %24978 = call ptr @strerror(i32 noundef %24977) #8
  %24979 = call ptr @__errno_location() #9
  %24980 = load i32, ptr %24979, align 4, !tbaa !5
  %24981 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24968, ptr noundef @.str.5, i32 noundef %24969, ptr noundef @.str.31, ptr noundef @.str.1, i32 noundef 453, ptr noundef %24972, ptr noundef %24975, ptr noundef %24978, i32 noundef %24980) #8
  br label %24982

24982:                                            ; preds = %24965, %24948
  call void @llvm.lifetime.end.p0(i64 4, ptr %406) #8
  br label %24983

24983:                                            ; preds = %24982
  br label %24984

24984:                                            ; preds = %24983
  call void @exit(i32 noundef 1) #10
  unreachable

24985:                                            ; No predecessors!
  br label %24986

24986:                                            ; preds = %24985
  br label %24987

24987:                                            ; preds = %24986, %24928
  br label %24988

24988:                                            ; preds = %24987
  br label %24989

24989:                                            ; preds = %24988
  call void @llvm.lifetime.end.p0(i64 8, ptr %239) #8
  br label %24990

24990:                                            ; preds = %24989
  %24991 = load i32, ptr @test_count, align 4, !tbaa !5
  %24992 = add nsw i32 %24991, 1
  store i32 %24992, ptr @test_count, align 4, !tbaa !5
  %24993 = load ptr, ptr %15, align 8, !tbaa !9
  %24994 = call i32 @s2n_config_free(ptr noundef %24993)
  %24995 = icmp eq i32 %24994, -1
  br i1 %24995, label %24996, label %25049

24996:                                            ; preds = %24990
  br label %24997

24997:                                            ; preds = %24996
  br label %24998

24998:                                            ; preds = %24997
  call void @llvm.lifetime.start.p0(i64 4, ptr %407) #8
  %24999 = call ptr @__errno_location() #9
  %25000 = load i32, ptr %24999, align 4, !tbaa !5
  store i32 %25000, ptr %407, align 4, !tbaa !5
  %25001 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25002 = call i32 @s2n_print_stacktrace(ptr noundef %25001)
  %25003 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %25004 = trunc i8 %25003 to i1
  br i1 %25004, label %25005, label %25027

25005:                                            ; preds = %24998
  %25006 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25007 = call i32 @fileno(ptr noundef %25006) #8
  %25008 = call i32 @isatty(i32 noundef %25007) #8
  %25009 = icmp ne i32 %25008, 0
  br i1 %25009, label %25010, label %25027

25010:                                            ; preds = %25005
  %25011 = load i32, ptr %407, align 4, !tbaa !5
  %25012 = call ptr @__errno_location() #9
  store i32 %25011, ptr %25012, align 4, !tbaa !5
  %25013 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25014 = load i32, ptr @test_count, align 4, !tbaa !5
  %25015 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25016 = load i32, ptr %25015, align 4, !tbaa !5
  %25017 = call ptr @s2n_strerror(i32 noundef %25016, ptr noundef @.str.4)
  %25018 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25019 = load i32, ptr %25018, align 4, !tbaa !5
  %25020 = call ptr @s2n_strerror_debug(i32 noundef %25019, ptr noundef @.str.4)
  %25021 = call ptr @__errno_location() #9
  %25022 = load i32, ptr %25021, align 4, !tbaa !5
  %25023 = call ptr @strerror(i32 noundef %25022) #8
  %25024 = call ptr @__errno_location() #9
  %25025 = load i32, ptr %25024, align 4, !tbaa !5
  %25026 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25013, ptr noundef @.str.2, i32 noundef %25014, ptr noundef @.str.94, ptr noundef @.str.1, i32 noundef 456, ptr noundef %25017, ptr noundef %25020, ptr noundef %25023, i32 noundef %25025) #8
  br label %25044

25027:                                            ; preds = %25005, %24998
  %25028 = load i32, ptr %407, align 4, !tbaa !5
  %25029 = call ptr @__errno_location() #9
  store i32 %25028, ptr %25029, align 4, !tbaa !5
  %25030 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25031 = load i32, ptr @test_count, align 4, !tbaa !5
  %25032 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25033 = load i32, ptr %25032, align 4, !tbaa !5
  %25034 = call ptr @s2n_strerror(i32 noundef %25033, ptr noundef @.str.4)
  %25035 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25036 = load i32, ptr %25035, align 4, !tbaa !5
  %25037 = call ptr @s2n_strerror_debug(i32 noundef %25036, ptr noundef @.str.4)
  %25038 = call ptr @__errno_location() #9
  %25039 = load i32, ptr %25038, align 4, !tbaa !5
  %25040 = call ptr @strerror(i32 noundef %25039) #8
  %25041 = call ptr @__errno_location() #9
  %25042 = load i32, ptr %25041, align 4, !tbaa !5
  %25043 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25030, ptr noundef @.str.5, i32 noundef %25031, ptr noundef @.str.94, ptr noundef @.str.1, i32 noundef 456, ptr noundef %25034, ptr noundef %25037, ptr noundef %25040, i32 noundef %25042) #8
  br label %25044

25044:                                            ; preds = %25027, %25010
  call void @llvm.lifetime.end.p0(i64 4, ptr %407) #8
  br label %25045

25045:                                            ; preds = %25044
  br label %25046

25046:                                            ; preds = %25045
  call void @exit(i32 noundef 1) #10
  unreachable

25047:                                            ; No predecessors!
  br label %25048

25048:                                            ; preds = %25047
  br label %25049

25049:                                            ; preds = %25048, %24990
  br label %25050

25050:                                            ; preds = %25049
  br label %25051

25051:                                            ; preds = %25050
  br label %25052

25052:                                            ; preds = %25051
  %25053 = load i32, ptr @test_count, align 4, !tbaa !5
  %25054 = add nsw i32 %25053, 1
  store i32 %25054, ptr @test_count, align 4, !tbaa !5
  %25055 = load ptr, ptr %23, align 8, !tbaa !9
  %25056 = call i32 @s2n_config_free(ptr noundef %25055)
  %25057 = icmp eq i32 %25056, -1
  br i1 %25057, label %25058, label %25111

25058:                                            ; preds = %25052
  br label %25059

25059:                                            ; preds = %25058
  br label %25060

25060:                                            ; preds = %25059
  call void @llvm.lifetime.start.p0(i64 4, ptr %408) #8
  %25061 = call ptr @__errno_location() #9
  %25062 = load i32, ptr %25061, align 4, !tbaa !5
  store i32 %25062, ptr %408, align 4, !tbaa !5
  %25063 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25064 = call i32 @s2n_print_stacktrace(ptr noundef %25063)
  %25065 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %25066 = trunc i8 %25065 to i1
  br i1 %25066, label %25067, label %25089

25067:                                            ; preds = %25060
  %25068 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25069 = call i32 @fileno(ptr noundef %25068) #8
  %25070 = call i32 @isatty(i32 noundef %25069) #8
  %25071 = icmp ne i32 %25070, 0
  br i1 %25071, label %25072, label %25089

25072:                                            ; preds = %25067
  %25073 = load i32, ptr %408, align 4, !tbaa !5
  %25074 = call ptr @__errno_location() #9
  store i32 %25073, ptr %25074, align 4, !tbaa !5
  %25075 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25076 = load i32, ptr @test_count, align 4, !tbaa !5
  %25077 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25078 = load i32, ptr %25077, align 4, !tbaa !5
  %25079 = call ptr @s2n_strerror(i32 noundef %25078, ptr noundef @.str.4)
  %25080 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25081 = load i32, ptr %25080, align 4, !tbaa !5
  %25082 = call ptr @s2n_strerror_debug(i32 noundef %25081, ptr noundef @.str.4)
  %25083 = call ptr @__errno_location() #9
  %25084 = load i32, ptr %25083, align 4, !tbaa !5
  %25085 = call ptr @strerror(i32 noundef %25084) #8
  %25086 = call ptr @__errno_location() #9
  %25087 = load i32, ptr %25086, align 4, !tbaa !5
  %25088 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25075, ptr noundef @.str.2, i32 noundef %25076, ptr noundef @.str.95, ptr noundef @.str.1, i32 noundef 457, ptr noundef %25079, ptr noundef %25082, ptr noundef %25085, i32 noundef %25087) #8
  br label %25106

25089:                                            ; preds = %25067, %25060
  %25090 = load i32, ptr %408, align 4, !tbaa !5
  %25091 = call ptr @__errno_location() #9
  store i32 %25090, ptr %25091, align 4, !tbaa !5
  %25092 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25093 = load i32, ptr @test_count, align 4, !tbaa !5
  %25094 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25095 = load i32, ptr %25094, align 4, !tbaa !5
  %25096 = call ptr @s2n_strerror(i32 noundef %25095, ptr noundef @.str.4)
  %25097 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25098 = load i32, ptr %25097, align 4, !tbaa !5
  %25099 = call ptr @s2n_strerror_debug(i32 noundef %25098, ptr noundef @.str.4)
  %25100 = call ptr @__errno_location() #9
  %25101 = load i32, ptr %25100, align 4, !tbaa !5
  %25102 = call ptr @strerror(i32 noundef %25101) #8
  %25103 = call ptr @__errno_location() #9
  %25104 = load i32, ptr %25103, align 4, !tbaa !5
  %25105 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25092, ptr noundef @.str.5, i32 noundef %25093, ptr noundef @.str.95, ptr noundef @.str.1, i32 noundef 457, ptr noundef %25096, ptr noundef %25099, ptr noundef %25102, i32 noundef %25104) #8
  br label %25106

25106:                                            ; preds = %25089, %25072
  call void @llvm.lifetime.end.p0(i64 4, ptr %408) #8
  br label %25107

25107:                                            ; preds = %25106
  br label %25108

25108:                                            ; preds = %25107
  call void @exit(i32 noundef 1) #10
  unreachable

25109:                                            ; No predecessors!
  br label %25110

25110:                                            ; preds = %25109
  br label %25111

25111:                                            ; preds = %25110, %25052
  br label %25112

25112:                                            ; preds = %25111
  br label %25113

25113:                                            ; preds = %25112
  br label %25114

25114:                                            ; preds = %25113
  %25115 = load i32, ptr @test_count, align 4, !tbaa !5
  %25116 = add nsw i32 %25115, 1
  store i32 %25116, ptr @test_count, align 4, !tbaa !5
  %25117 = load ptr, ptr %17, align 8, !tbaa !9
  %25118 = call i32 @s2n_config_free(ptr noundef %25117)
  %25119 = icmp eq i32 %25118, -1
  br i1 %25119, label %25120, label %25173

25120:                                            ; preds = %25114
  br label %25121

25121:                                            ; preds = %25120
  br label %25122

25122:                                            ; preds = %25121
  call void @llvm.lifetime.start.p0(i64 4, ptr %409) #8
  %25123 = call ptr @__errno_location() #9
  %25124 = load i32, ptr %25123, align 4, !tbaa !5
  store i32 %25124, ptr %409, align 4, !tbaa !5
  %25125 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25126 = call i32 @s2n_print_stacktrace(ptr noundef %25125)
  %25127 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %25128 = trunc i8 %25127 to i1
  br i1 %25128, label %25129, label %25151

25129:                                            ; preds = %25122
  %25130 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25131 = call i32 @fileno(ptr noundef %25130) #8
  %25132 = call i32 @isatty(i32 noundef %25131) #8
  %25133 = icmp ne i32 %25132, 0
  br i1 %25133, label %25134, label %25151

25134:                                            ; preds = %25129
  %25135 = load i32, ptr %409, align 4, !tbaa !5
  %25136 = call ptr @__errno_location() #9
  store i32 %25135, ptr %25136, align 4, !tbaa !5
  %25137 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25138 = load i32, ptr @test_count, align 4, !tbaa !5
  %25139 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25140 = load i32, ptr %25139, align 4, !tbaa !5
  %25141 = call ptr @s2n_strerror(i32 noundef %25140, ptr noundef @.str.4)
  %25142 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25143 = load i32, ptr %25142, align 4, !tbaa !5
  %25144 = call ptr @s2n_strerror_debug(i32 noundef %25143, ptr noundef @.str.4)
  %25145 = call ptr @__errno_location() #9
  %25146 = load i32, ptr %25145, align 4, !tbaa !5
  %25147 = call ptr @strerror(i32 noundef %25146) #8
  %25148 = call ptr @__errno_location() #9
  %25149 = load i32, ptr %25148, align 4, !tbaa !5
  %25150 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25137, ptr noundef @.str.2, i32 noundef %25138, ptr noundef @.str.96, ptr noundef @.str.1, i32 noundef 458, ptr noundef %25141, ptr noundef %25144, ptr noundef %25147, i32 noundef %25149) #8
  br label %25168

25151:                                            ; preds = %25129, %25122
  %25152 = load i32, ptr %409, align 4, !tbaa !5
  %25153 = call ptr @__errno_location() #9
  store i32 %25152, ptr %25153, align 4, !tbaa !5
  %25154 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25155 = load i32, ptr @test_count, align 4, !tbaa !5
  %25156 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25157 = load i32, ptr %25156, align 4, !tbaa !5
  %25158 = call ptr @s2n_strerror(i32 noundef %25157, ptr noundef @.str.4)
  %25159 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25160 = load i32, ptr %25159, align 4, !tbaa !5
  %25161 = call ptr @s2n_strerror_debug(i32 noundef %25160, ptr noundef @.str.4)
  %25162 = call ptr @__errno_location() #9
  %25163 = load i32, ptr %25162, align 4, !tbaa !5
  %25164 = call ptr @strerror(i32 noundef %25163) #8
  %25165 = call ptr @__errno_location() #9
  %25166 = load i32, ptr %25165, align 4, !tbaa !5
  %25167 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25154, ptr noundef @.str.5, i32 noundef %25155, ptr noundef @.str.96, ptr noundef @.str.1, i32 noundef 458, ptr noundef %25158, ptr noundef %25161, ptr noundef %25164, i32 noundef %25166) #8
  br label %25168

25168:                                            ; preds = %25151, %25134
  call void @llvm.lifetime.end.p0(i64 4, ptr %409) #8
  br label %25169

25169:                                            ; preds = %25168
  br label %25170

25170:                                            ; preds = %25169
  call void @exit(i32 noundef 1) #10
  unreachable

25171:                                            ; No predecessors!
  br label %25172

25172:                                            ; preds = %25171
  br label %25173

25173:                                            ; preds = %25172, %25114
  br label %25174

25174:                                            ; preds = %25173
  br label %25175

25175:                                            ; preds = %25174
  br label %25176

25176:                                            ; preds = %25175
  %25177 = load i32, ptr @test_count, align 4, !tbaa !5
  %25178 = add nsw i32 %25177, 1
  store i32 %25178, ptr @test_count, align 4, !tbaa !5
  %25179 = load ptr, ptr %19, align 8, !tbaa !9
  %25180 = call i32 @s2n_config_free(ptr noundef %25179)
  %25181 = icmp eq i32 %25180, -1
  br i1 %25181, label %25182, label %25235

25182:                                            ; preds = %25176
  br label %25183

25183:                                            ; preds = %25182
  br label %25184

25184:                                            ; preds = %25183
  call void @llvm.lifetime.start.p0(i64 4, ptr %410) #8
  %25185 = call ptr @__errno_location() #9
  %25186 = load i32, ptr %25185, align 4, !tbaa !5
  store i32 %25186, ptr %410, align 4, !tbaa !5
  %25187 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25188 = call i32 @s2n_print_stacktrace(ptr noundef %25187)
  %25189 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %25190 = trunc i8 %25189 to i1
  br i1 %25190, label %25191, label %25213

25191:                                            ; preds = %25184
  %25192 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25193 = call i32 @fileno(ptr noundef %25192) #8
  %25194 = call i32 @isatty(i32 noundef %25193) #8
  %25195 = icmp ne i32 %25194, 0
  br i1 %25195, label %25196, label %25213

25196:                                            ; preds = %25191
  %25197 = load i32, ptr %410, align 4, !tbaa !5
  %25198 = call ptr @__errno_location() #9
  store i32 %25197, ptr %25198, align 4, !tbaa !5
  %25199 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25200 = load i32, ptr @test_count, align 4, !tbaa !5
  %25201 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25202 = load i32, ptr %25201, align 4, !tbaa !5
  %25203 = call ptr @s2n_strerror(i32 noundef %25202, ptr noundef @.str.4)
  %25204 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25205 = load i32, ptr %25204, align 4, !tbaa !5
  %25206 = call ptr @s2n_strerror_debug(i32 noundef %25205, ptr noundef @.str.4)
  %25207 = call ptr @__errno_location() #9
  %25208 = load i32, ptr %25207, align 4, !tbaa !5
  %25209 = call ptr @strerror(i32 noundef %25208) #8
  %25210 = call ptr @__errno_location() #9
  %25211 = load i32, ptr %25210, align 4, !tbaa !5
  %25212 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25199, ptr noundef @.str.2, i32 noundef %25200, ptr noundef @.str.97, ptr noundef @.str.1, i32 noundef 459, ptr noundef %25203, ptr noundef %25206, ptr noundef %25209, i32 noundef %25211) #8
  br label %25230

25213:                                            ; preds = %25191, %25184
  %25214 = load i32, ptr %410, align 4, !tbaa !5
  %25215 = call ptr @__errno_location() #9
  store i32 %25214, ptr %25215, align 4, !tbaa !5
  %25216 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25217 = load i32, ptr @test_count, align 4, !tbaa !5
  %25218 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25219 = load i32, ptr %25218, align 4, !tbaa !5
  %25220 = call ptr @s2n_strerror(i32 noundef %25219, ptr noundef @.str.4)
  %25221 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25222 = load i32, ptr %25221, align 4, !tbaa !5
  %25223 = call ptr @s2n_strerror_debug(i32 noundef %25222, ptr noundef @.str.4)
  %25224 = call ptr @__errno_location() #9
  %25225 = load i32, ptr %25224, align 4, !tbaa !5
  %25226 = call ptr @strerror(i32 noundef %25225) #8
  %25227 = call ptr @__errno_location() #9
  %25228 = load i32, ptr %25227, align 4, !tbaa !5
  %25229 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25216, ptr noundef @.str.5, i32 noundef %25217, ptr noundef @.str.97, ptr noundef @.str.1, i32 noundef 459, ptr noundef %25220, ptr noundef %25223, ptr noundef %25226, i32 noundef %25228) #8
  br label %25230

25230:                                            ; preds = %25213, %25196
  call void @llvm.lifetime.end.p0(i64 4, ptr %410) #8
  br label %25231

25231:                                            ; preds = %25230
  br label %25232

25232:                                            ; preds = %25231
  call void @exit(i32 noundef 1) #10
  unreachable

25233:                                            ; No predecessors!
  br label %25234

25234:                                            ; preds = %25233
  br label %25235

25235:                                            ; preds = %25234, %25176
  br label %25236

25236:                                            ; preds = %25235
  br label %25237

25237:                                            ; preds = %25236
  br label %25238

25238:                                            ; preds = %25237
  %25239 = load i32, ptr @test_count, align 4, !tbaa !5
  %25240 = add nsw i32 %25239, 1
  store i32 %25240, ptr @test_count, align 4, !tbaa !5
  %25241 = load ptr, ptr %14, align 8, !tbaa !9
  %25242 = call i32 @s2n_config_free(ptr noundef %25241)
  %25243 = icmp eq i32 %25242, -1
  br i1 %25243, label %25244, label %25297

25244:                                            ; preds = %25238
  br label %25245

25245:                                            ; preds = %25244
  br label %25246

25246:                                            ; preds = %25245
  call void @llvm.lifetime.start.p0(i64 4, ptr %411) #8
  %25247 = call ptr @__errno_location() #9
  %25248 = load i32, ptr %25247, align 4, !tbaa !5
  store i32 %25248, ptr %411, align 4, !tbaa !5
  %25249 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25250 = call i32 @s2n_print_stacktrace(ptr noundef %25249)
  %25251 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %25252 = trunc i8 %25251 to i1
  br i1 %25252, label %25253, label %25275

25253:                                            ; preds = %25246
  %25254 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25255 = call i32 @fileno(ptr noundef %25254) #8
  %25256 = call i32 @isatty(i32 noundef %25255) #8
  %25257 = icmp ne i32 %25256, 0
  br i1 %25257, label %25258, label %25275

25258:                                            ; preds = %25253
  %25259 = load i32, ptr %411, align 4, !tbaa !5
  %25260 = call ptr @__errno_location() #9
  store i32 %25259, ptr %25260, align 4, !tbaa !5
  %25261 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25262 = load i32, ptr @test_count, align 4, !tbaa !5
  %25263 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25264 = load i32, ptr %25263, align 4, !tbaa !5
  %25265 = call ptr @s2n_strerror(i32 noundef %25264, ptr noundef @.str.4)
  %25266 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25267 = load i32, ptr %25266, align 4, !tbaa !5
  %25268 = call ptr @s2n_strerror_debug(i32 noundef %25267, ptr noundef @.str.4)
  %25269 = call ptr @__errno_location() #9
  %25270 = load i32, ptr %25269, align 4, !tbaa !5
  %25271 = call ptr @strerror(i32 noundef %25270) #8
  %25272 = call ptr @__errno_location() #9
  %25273 = load i32, ptr %25272, align 4, !tbaa !5
  %25274 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25261, ptr noundef @.str.2, i32 noundef %25262, ptr noundef @.str.98, ptr noundef @.str.1, i32 noundef 460, ptr noundef %25265, ptr noundef %25268, ptr noundef %25271, i32 noundef %25273) #8
  br label %25292

25275:                                            ; preds = %25253, %25246
  %25276 = load i32, ptr %411, align 4, !tbaa !5
  %25277 = call ptr @__errno_location() #9
  store i32 %25276, ptr %25277, align 4, !tbaa !5
  %25278 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25279 = load i32, ptr @test_count, align 4, !tbaa !5
  %25280 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25281 = load i32, ptr %25280, align 4, !tbaa !5
  %25282 = call ptr @s2n_strerror(i32 noundef %25281, ptr noundef @.str.4)
  %25283 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25284 = load i32, ptr %25283, align 4, !tbaa !5
  %25285 = call ptr @s2n_strerror_debug(i32 noundef %25284, ptr noundef @.str.4)
  %25286 = call ptr @__errno_location() #9
  %25287 = load i32, ptr %25286, align 4, !tbaa !5
  %25288 = call ptr @strerror(i32 noundef %25287) #8
  %25289 = call ptr @__errno_location() #9
  %25290 = load i32, ptr %25289, align 4, !tbaa !5
  %25291 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25278, ptr noundef @.str.5, i32 noundef %25279, ptr noundef @.str.98, ptr noundef @.str.1, i32 noundef 460, ptr noundef %25282, ptr noundef %25285, ptr noundef %25288, i32 noundef %25290) #8
  br label %25292

25292:                                            ; preds = %25275, %25258
  call void @llvm.lifetime.end.p0(i64 4, ptr %411) #8
  br label %25293

25293:                                            ; preds = %25292
  br label %25294

25294:                                            ; preds = %25293
  call void @exit(i32 noundef 1) #10
  unreachable

25295:                                            ; No predecessors!
  br label %25296

25296:                                            ; preds = %25295
  br label %25297

25297:                                            ; preds = %25296, %25238
  br label %25298

25298:                                            ; preds = %25297
  br label %25299

25299:                                            ; preds = %25298
  br label %25300

25300:                                            ; preds = %25299
  %25301 = load i32, ptr @test_count, align 4, !tbaa !5
  %25302 = add nsw i32 %25301, 1
  store i32 %25302, ptr @test_count, align 4, !tbaa !5
  %25303 = load ptr, ptr %10, align 8, !tbaa !9
  %25304 = call i32 @s2n_cert_chain_and_key_free(ptr noundef %25303)
  %25305 = icmp eq i32 %25304, -1
  br i1 %25305, label %25306, label %25359

25306:                                            ; preds = %25300
  br label %25307

25307:                                            ; preds = %25306
  br label %25308

25308:                                            ; preds = %25307
  call void @llvm.lifetime.start.p0(i64 4, ptr %412) #8
  %25309 = call ptr @__errno_location() #9
  %25310 = load i32, ptr %25309, align 4, !tbaa !5
  store i32 %25310, ptr %412, align 4, !tbaa !5
  %25311 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25312 = call i32 @s2n_print_stacktrace(ptr noundef %25311)
  %25313 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %25314 = trunc i8 %25313 to i1
  br i1 %25314, label %25315, label %25337

25315:                                            ; preds = %25308
  %25316 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25317 = call i32 @fileno(ptr noundef %25316) #8
  %25318 = call i32 @isatty(i32 noundef %25317) #8
  %25319 = icmp ne i32 %25318, 0
  br i1 %25319, label %25320, label %25337

25320:                                            ; preds = %25315
  %25321 = load i32, ptr %412, align 4, !tbaa !5
  %25322 = call ptr @__errno_location() #9
  store i32 %25321, ptr %25322, align 4, !tbaa !5
  %25323 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25324 = load i32, ptr @test_count, align 4, !tbaa !5
  %25325 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25326 = load i32, ptr %25325, align 4, !tbaa !5
  %25327 = call ptr @s2n_strerror(i32 noundef %25326, ptr noundef @.str.4)
  %25328 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25329 = load i32, ptr %25328, align 4, !tbaa !5
  %25330 = call ptr @s2n_strerror_debug(i32 noundef %25329, ptr noundef @.str.4)
  %25331 = call ptr @__errno_location() #9
  %25332 = load i32, ptr %25331, align 4, !tbaa !5
  %25333 = call ptr @strerror(i32 noundef %25332) #8
  %25334 = call ptr @__errno_location() #9
  %25335 = load i32, ptr %25334, align 4, !tbaa !5
  %25336 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25323, ptr noundef @.str.2, i32 noundef %25324, ptr noundef @.str.99, ptr noundef @.str.1, i32 noundef 461, ptr noundef %25327, ptr noundef %25330, ptr noundef %25333, i32 noundef %25335) #8
  br label %25354

25337:                                            ; preds = %25315, %25308
  %25338 = load i32, ptr %412, align 4, !tbaa !5
  %25339 = call ptr @__errno_location() #9
  store i32 %25338, ptr %25339, align 4, !tbaa !5
  %25340 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25341 = load i32, ptr @test_count, align 4, !tbaa !5
  %25342 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25343 = load i32, ptr %25342, align 4, !tbaa !5
  %25344 = call ptr @s2n_strerror(i32 noundef %25343, ptr noundef @.str.4)
  %25345 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25346 = load i32, ptr %25345, align 4, !tbaa !5
  %25347 = call ptr @s2n_strerror_debug(i32 noundef %25346, ptr noundef @.str.4)
  %25348 = call ptr @__errno_location() #9
  %25349 = load i32, ptr %25348, align 4, !tbaa !5
  %25350 = call ptr @strerror(i32 noundef %25349) #8
  %25351 = call ptr @__errno_location() #9
  %25352 = load i32, ptr %25351, align 4, !tbaa !5
  %25353 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25340, ptr noundef @.str.5, i32 noundef %25341, ptr noundef @.str.99, ptr noundef @.str.1, i32 noundef 461, ptr noundef %25344, ptr noundef %25347, ptr noundef %25350, i32 noundef %25352) #8
  br label %25354

25354:                                            ; preds = %25337, %25320
  call void @llvm.lifetime.end.p0(i64 4, ptr %412) #8
  br label %25355

25355:                                            ; preds = %25354
  br label %25356

25356:                                            ; preds = %25355
  call void @exit(i32 noundef 1) #10
  unreachable

25357:                                            ; No predecessors!
  br label %25358

25358:                                            ; preds = %25357
  br label %25359

25359:                                            ; preds = %25358, %25300
  br label %25360

25360:                                            ; preds = %25359
  br label %25361

25361:                                            ; preds = %25360
  br label %25362

25362:                                            ; preds = %25361
  %25363 = load i32, ptr @test_count, align 4, !tbaa !5
  %25364 = add nsw i32 %25363, 1
  store i32 %25364, ptr @test_count, align 4, !tbaa !5
  %25365 = load ptr, ptr %22, align 8, !tbaa !9
  %25366 = call i32 @s2n_cert_chain_and_key_free(ptr noundef %25365)
  %25367 = icmp eq i32 %25366, -1
  br i1 %25367, label %25368, label %25421

25368:                                            ; preds = %25362
  br label %25369

25369:                                            ; preds = %25368
  br label %25370

25370:                                            ; preds = %25369
  call void @llvm.lifetime.start.p0(i64 4, ptr %413) #8
  %25371 = call ptr @__errno_location() #9
  %25372 = load i32, ptr %25371, align 4, !tbaa !5
  store i32 %25372, ptr %413, align 4, !tbaa !5
  %25373 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25374 = call i32 @s2n_print_stacktrace(ptr noundef %25373)
  %25375 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %25376 = trunc i8 %25375 to i1
  br i1 %25376, label %25377, label %25399

25377:                                            ; preds = %25370
  %25378 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25379 = call i32 @fileno(ptr noundef %25378) #8
  %25380 = call i32 @isatty(i32 noundef %25379) #8
  %25381 = icmp ne i32 %25380, 0
  br i1 %25381, label %25382, label %25399

25382:                                            ; preds = %25377
  %25383 = load i32, ptr %413, align 4, !tbaa !5
  %25384 = call ptr @__errno_location() #9
  store i32 %25383, ptr %25384, align 4, !tbaa !5
  %25385 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25386 = load i32, ptr @test_count, align 4, !tbaa !5
  %25387 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25388 = load i32, ptr %25387, align 4, !tbaa !5
  %25389 = call ptr @s2n_strerror(i32 noundef %25388, ptr noundef @.str.4)
  %25390 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25391 = load i32, ptr %25390, align 4, !tbaa !5
  %25392 = call ptr @s2n_strerror_debug(i32 noundef %25391, ptr noundef @.str.4)
  %25393 = call ptr @__errno_location() #9
  %25394 = load i32, ptr %25393, align 4, !tbaa !5
  %25395 = call ptr @strerror(i32 noundef %25394) #8
  %25396 = call ptr @__errno_location() #9
  %25397 = load i32, ptr %25396, align 4, !tbaa !5
  %25398 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25385, ptr noundef @.str.2, i32 noundef %25386, ptr noundef @.str.100, ptr noundef @.str.1, i32 noundef 462, ptr noundef %25389, ptr noundef %25392, ptr noundef %25395, i32 noundef %25397) #8
  br label %25416

25399:                                            ; preds = %25377, %25370
  %25400 = load i32, ptr %413, align 4, !tbaa !5
  %25401 = call ptr @__errno_location() #9
  store i32 %25400, ptr %25401, align 4, !tbaa !5
  %25402 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25403 = load i32, ptr @test_count, align 4, !tbaa !5
  %25404 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25405 = load i32, ptr %25404, align 4, !tbaa !5
  %25406 = call ptr @s2n_strerror(i32 noundef %25405, ptr noundef @.str.4)
  %25407 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25408 = load i32, ptr %25407, align 4, !tbaa !5
  %25409 = call ptr @s2n_strerror_debug(i32 noundef %25408, ptr noundef @.str.4)
  %25410 = call ptr @__errno_location() #9
  %25411 = load i32, ptr %25410, align 4, !tbaa !5
  %25412 = call ptr @strerror(i32 noundef %25411) #8
  %25413 = call ptr @__errno_location() #9
  %25414 = load i32, ptr %25413, align 4, !tbaa !5
  %25415 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25402, ptr noundef @.str.5, i32 noundef %25403, ptr noundef @.str.100, ptr noundef @.str.1, i32 noundef 462, ptr noundef %25406, ptr noundef %25409, ptr noundef %25412, i32 noundef %25414) #8
  br label %25416

25416:                                            ; preds = %25399, %25382
  call void @llvm.lifetime.end.p0(i64 4, ptr %413) #8
  br label %25417

25417:                                            ; preds = %25416
  br label %25418

25418:                                            ; preds = %25417
  call void @exit(i32 noundef 1) #10
  unreachable

25419:                                            ; No predecessors!
  br label %25420

25420:                                            ; preds = %25419
  br label %25421

25421:                                            ; preds = %25420, %25362
  br label %25422

25422:                                            ; preds = %25421
  br label %25423

25423:                                            ; preds = %25422
  br label %25424

25424:                                            ; preds = %25423
  %25425 = load i32, ptr @test_count, align 4, !tbaa !5
  %25426 = add nsw i32 %25425, 1
  store i32 %25426, ptr @test_count, align 4, !tbaa !5
  %25427 = load ptr, ptr %12, align 8, !tbaa !9
  %25428 = call i32 @s2n_cert_chain_and_key_free(ptr noundef %25427)
  %25429 = icmp eq i32 %25428, -1
  br i1 %25429, label %25430, label %25483

25430:                                            ; preds = %25424
  br label %25431

25431:                                            ; preds = %25430
  br label %25432

25432:                                            ; preds = %25431
  call void @llvm.lifetime.start.p0(i64 4, ptr %414) #8
  %25433 = call ptr @__errno_location() #9
  %25434 = load i32, ptr %25433, align 4, !tbaa !5
  store i32 %25434, ptr %414, align 4, !tbaa !5
  %25435 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25436 = call i32 @s2n_print_stacktrace(ptr noundef %25435)
  %25437 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %25438 = trunc i8 %25437 to i1
  br i1 %25438, label %25439, label %25461

25439:                                            ; preds = %25432
  %25440 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25441 = call i32 @fileno(ptr noundef %25440) #8
  %25442 = call i32 @isatty(i32 noundef %25441) #8
  %25443 = icmp ne i32 %25442, 0
  br i1 %25443, label %25444, label %25461

25444:                                            ; preds = %25439
  %25445 = load i32, ptr %414, align 4, !tbaa !5
  %25446 = call ptr @__errno_location() #9
  store i32 %25445, ptr %25446, align 4, !tbaa !5
  %25447 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25448 = load i32, ptr @test_count, align 4, !tbaa !5
  %25449 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25450 = load i32, ptr %25449, align 4, !tbaa !5
  %25451 = call ptr @s2n_strerror(i32 noundef %25450, ptr noundef @.str.4)
  %25452 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25453 = load i32, ptr %25452, align 4, !tbaa !5
  %25454 = call ptr @s2n_strerror_debug(i32 noundef %25453, ptr noundef @.str.4)
  %25455 = call ptr @__errno_location() #9
  %25456 = load i32, ptr %25455, align 4, !tbaa !5
  %25457 = call ptr @strerror(i32 noundef %25456) #8
  %25458 = call ptr @__errno_location() #9
  %25459 = load i32, ptr %25458, align 4, !tbaa !5
  %25460 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25447, ptr noundef @.str.2, i32 noundef %25448, ptr noundef @.str.101, ptr noundef @.str.1, i32 noundef 463, ptr noundef %25451, ptr noundef %25454, ptr noundef %25457, i32 noundef %25459) #8
  br label %25478

25461:                                            ; preds = %25439, %25432
  %25462 = load i32, ptr %414, align 4, !tbaa !5
  %25463 = call ptr @__errno_location() #9
  store i32 %25462, ptr %25463, align 4, !tbaa !5
  %25464 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25465 = load i32, ptr @test_count, align 4, !tbaa !5
  %25466 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25467 = load i32, ptr %25466, align 4, !tbaa !5
  %25468 = call ptr @s2n_strerror(i32 noundef %25467, ptr noundef @.str.4)
  %25469 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25470 = load i32, ptr %25469, align 4, !tbaa !5
  %25471 = call ptr @s2n_strerror_debug(i32 noundef %25470, ptr noundef @.str.4)
  %25472 = call ptr @__errno_location() #9
  %25473 = load i32, ptr %25472, align 4, !tbaa !5
  %25474 = call ptr @strerror(i32 noundef %25473) #8
  %25475 = call ptr @__errno_location() #9
  %25476 = load i32, ptr %25475, align 4, !tbaa !5
  %25477 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25464, ptr noundef @.str.5, i32 noundef %25465, ptr noundef @.str.101, ptr noundef @.str.1, i32 noundef 463, ptr noundef %25468, ptr noundef %25471, ptr noundef %25474, i32 noundef %25476) #8
  br label %25478

25478:                                            ; preds = %25461, %25444
  call void @llvm.lifetime.end.p0(i64 4, ptr %414) #8
  br label %25479

25479:                                            ; preds = %25478
  br label %25480

25480:                                            ; preds = %25479
  call void @exit(i32 noundef 1) #10
  unreachable

25481:                                            ; No predecessors!
  br label %25482

25482:                                            ; preds = %25481
  br label %25483

25483:                                            ; preds = %25482, %25424
  br label %25484

25484:                                            ; preds = %25483
  br label %25485

25485:                                            ; preds = %25484
  br label %25486

25486:                                            ; preds = %25485
  br label %25487

25487:                                            ; preds = %25486
  %25488 = call i32 @s2n_cleanup()
  %25489 = icmp eq i32 %25488, -1
  br i1 %25489, label %25490, label %25543

25490:                                            ; preds = %25487
  br label %25491

25491:                                            ; preds = %25490
  br label %25492

25492:                                            ; preds = %25491
  call void @llvm.lifetime.start.p0(i64 4, ptr %415) #8
  %25493 = call ptr @__errno_location() #9
  %25494 = load i32, ptr %25493, align 4, !tbaa !5
  store i32 %25494, ptr %415, align 4, !tbaa !5
  %25495 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25496 = call i32 @s2n_print_stacktrace(ptr noundef %25495)
  %25497 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %25498 = trunc i8 %25497 to i1
  br i1 %25498, label %25499, label %25521

25499:                                            ; preds = %25492
  %25500 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25501 = call i32 @fileno(ptr noundef %25500) #8
  %25502 = call i32 @isatty(i32 noundef %25501) #8
  %25503 = icmp ne i32 %25502, 0
  br i1 %25503, label %25504, label %25521

25504:                                            ; preds = %25499
  %25505 = load i32, ptr %415, align 4, !tbaa !5
  %25506 = call ptr @__errno_location() #9
  store i32 %25505, ptr %25506, align 4, !tbaa !5
  %25507 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25508 = load i32, ptr @test_count, align 4, !tbaa !5
  %25509 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25510 = load i32, ptr %25509, align 4, !tbaa !5
  %25511 = call ptr @s2n_strerror(i32 noundef %25510, ptr noundef @.str.4)
  %25512 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25513 = load i32, ptr %25512, align 4, !tbaa !5
  %25514 = call ptr @s2n_strerror_debug(i32 noundef %25513, ptr noundef @.str.4)
  %25515 = call ptr @__errno_location() #9
  %25516 = load i32, ptr %25515, align 4, !tbaa !5
  %25517 = call ptr @strerror(i32 noundef %25516) #8
  %25518 = call ptr @__errno_location() #9
  %25519 = load i32, ptr %25518, align 4, !tbaa !5
  %25520 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25507, ptr noundef @.str.2, i32 noundef %25508, ptr noundef @.str.102, ptr noundef @.str.1, i32 noundef 465, ptr noundef %25511, ptr noundef %25514, ptr noundef %25517, i32 noundef %25519) #8
  br label %25538

25521:                                            ; preds = %25499, %25492
  %25522 = load i32, ptr %415, align 4, !tbaa !5
  %25523 = call ptr @__errno_location() #9
  store i32 %25522, ptr %25523, align 4, !tbaa !5
  %25524 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25525 = load i32, ptr @test_count, align 4, !tbaa !5
  %25526 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25527 = load i32, ptr %25526, align 4, !tbaa !5
  %25528 = call ptr @s2n_strerror(i32 noundef %25527, ptr noundef @.str.4)
  %25529 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25530 = load i32, ptr %25529, align 4, !tbaa !5
  %25531 = call ptr @s2n_strerror_debug(i32 noundef %25530, ptr noundef @.str.4)
  %25532 = call ptr @__errno_location() #9
  %25533 = load i32, ptr %25532, align 4, !tbaa !5
  %25534 = call ptr @strerror(i32 noundef %25533) #8
  %25535 = call ptr @__errno_location() #9
  %25536 = load i32, ptr %25535, align 4, !tbaa !5
  %25537 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25524, ptr noundef @.str.5, i32 noundef %25525, ptr noundef @.str.102, ptr noundef @.str.1, i32 noundef 465, ptr noundef %25528, ptr noundef %25531, ptr noundef %25534, i32 noundef %25536) #8
  br label %25538

25538:                                            ; preds = %25521, %25504
  call void @llvm.lifetime.end.p0(i64 4, ptr %415) #8
  br label %25539

25539:                                            ; preds = %25538
  br label %25540

25540:                                            ; preds = %25539
  call void @exit(i32 noundef 1) #10
  unreachable

25541:                                            ; No predecessors!
  br label %25542

25542:                                            ; preds = %25541
  br label %25543

25543:                                            ; preds = %25542, %25487
  br label %25544

25544:                                            ; preds = %25543
  br label %25545

25545:                                            ; preds = %25544
  br label %25546

25546:                                            ; preds = %25545
  br label %25547

25547:                                            ; preds = %25546
  %25548 = call i32 @s2n_in_unit_test_set(i1 noundef zeroext false)
  %25549 = icmp eq i32 %25548, -1
  br i1 %25549, label %25550, label %25603

25550:                                            ; preds = %25547
  br label %25551

25551:                                            ; preds = %25550
  br label %25552

25552:                                            ; preds = %25551
  call void @llvm.lifetime.start.p0(i64 4, ptr %416) #8
  %25553 = call ptr @__errno_location() #9
  %25554 = load i32, ptr %25553, align 4, !tbaa !5
  store i32 %25554, ptr %416, align 4, !tbaa !5
  %25555 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25556 = call i32 @s2n_print_stacktrace(ptr noundef %25555)
  %25557 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %25558 = trunc i8 %25557 to i1
  br i1 %25558, label %25559, label %25581

25559:                                            ; preds = %25552
  %25560 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25561 = call i32 @fileno(ptr noundef %25560) #8
  %25562 = call i32 @isatty(i32 noundef %25561) #8
  %25563 = icmp ne i32 %25562, 0
  br i1 %25563, label %25564, label %25581

25564:                                            ; preds = %25559
  %25565 = load i32, ptr %416, align 4, !tbaa !5
  %25566 = call ptr @__errno_location() #9
  store i32 %25565, ptr %25566, align 4, !tbaa !5
  %25567 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25568 = load i32, ptr @test_count, align 4, !tbaa !5
  %25569 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25570 = load i32, ptr %25569, align 4, !tbaa !5
  %25571 = call ptr @s2n_strerror(i32 noundef %25570, ptr noundef @.str.4)
  %25572 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25573 = load i32, ptr %25572, align 4, !tbaa !5
  %25574 = call ptr @s2n_strerror_debug(i32 noundef %25573, ptr noundef @.str.4)
  %25575 = call ptr @__errno_location() #9
  %25576 = load i32, ptr %25575, align 4, !tbaa !5
  %25577 = call ptr @strerror(i32 noundef %25576) #8
  %25578 = call ptr @__errno_location() #9
  %25579 = load i32, ptr %25578, align 4, !tbaa !5
  %25580 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25567, ptr noundef @.str.2, i32 noundef %25568, ptr noundef @.str.103, ptr noundef @.str.1, i32 noundef 465, ptr noundef %25571, ptr noundef %25574, ptr noundef %25577, i32 noundef %25579) #8
  br label %25598

25581:                                            ; preds = %25559, %25552
  %25582 = load i32, ptr %416, align 4, !tbaa !5
  %25583 = call ptr @__errno_location() #9
  store i32 %25582, ptr %25583, align 4, !tbaa !5
  %25584 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25585 = load i32, ptr @test_count, align 4, !tbaa !5
  %25586 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25587 = load i32, ptr %25586, align 4, !tbaa !5
  %25588 = call ptr @s2n_strerror(i32 noundef %25587, ptr noundef @.str.4)
  %25589 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25590 = load i32, ptr %25589, align 4, !tbaa !5
  %25591 = call ptr @s2n_strerror_debug(i32 noundef %25590, ptr noundef @.str.4)
  %25592 = call ptr @__errno_location() #9
  %25593 = load i32, ptr %25592, align 4, !tbaa !5
  %25594 = call ptr @strerror(i32 noundef %25593) #8
  %25595 = call ptr @__errno_location() #9
  %25596 = load i32, ptr %25595, align 4, !tbaa !5
  %25597 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25584, ptr noundef @.str.5, i32 noundef %25585, ptr noundef @.str.103, ptr noundef @.str.1, i32 noundef 465, ptr noundef %25588, ptr noundef %25591, ptr noundef %25594, i32 noundef %25596) #8
  br label %25598

25598:                                            ; preds = %25581, %25564
  call void @llvm.lifetime.end.p0(i64 4, ptr %416) #8
  br label %25599

25599:                                            ; preds = %25598
  br label %25600

25600:                                            ; preds = %25599
  call void @exit(i32 noundef 1) #10
  unreachable

25601:                                            ; No predecessors!
  br label %25602

25602:                                            ; preds = %25601
  br label %25603

25603:                                            ; preds = %25602, %25547
  br label %25604

25604:                                            ; preds = %25603
  br label %25605

25605:                                            ; preds = %25604
  %25606 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %25607 = trunc i8 %25606 to i1
  br i1 %25607, label %25608, label %25624

25608:                                            ; preds = %25605
  %25609 = load ptr, ptr @stdout, align 8, !tbaa !9
  %25610 = call i32 @fileno(ptr noundef %25609) #8
  %25611 = call i32 @isatty(i32 noundef %25610) #8
  %25612 = icmp ne i32 %25611, 0
  br i1 %25612, label %25613, label %25624

25613:                                            ; preds = %25608
  %25614 = load i32, ptr @test_count, align 4, !tbaa !5
  %25615 = icmp ne i32 %25614, 0
  br i1 %25615, label %25616, label %25620

25616:                                            ; preds = %25613
  %25617 = load ptr, ptr @stdout, align 8, !tbaa !9
  %25618 = load i32, ptr @test_count, align 4, !tbaa !5
  %25619 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25617, ptr noundef @.str.104, i32 noundef %25618) #8
  br label %25623

25620:                                            ; preds = %25613
  %25621 = load ptr, ptr @stdout, align 8, !tbaa !9
  %25622 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25621, ptr noundef @.str.105) #8
  br label %25623

25623:                                            ; preds = %25620, %25616
  br label %25635

25624:                                            ; preds = %25608, %25605
  %25625 = load i32, ptr @test_count, align 4, !tbaa !5
  %25626 = icmp ne i32 %25625, 0
  br i1 %25626, label %25627, label %25631

25627:                                            ; preds = %25624
  %25628 = load ptr, ptr @stdout, align 8, !tbaa !9
  %25629 = load i32, ptr @test_count, align 4, !tbaa !5
  %25630 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25628, ptr noundef @.str.106, i32 noundef %25629) #8
  br label %25634

25631:                                            ; preds = %25624
  %25632 = load ptr, ptr @stdout, align 8, !tbaa !9
  %25633 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25632, ptr noundef @.str.107) #8
  br label %25634

25634:                                            ; preds = %25631, %25627
  br label %25635

25635:                                            ; preds = %25634, %25623
  store i32 0, ptr %3, align 4
  store i32 1, ptr %417, align 4
  br label %25640

25636:                                            ; No predecessors!
  br label %25637

25637:                                            ; preds = %25636
  br label %25638

25638:                                            ; preds = %25637
  br label %25639

25639:                                            ; preds = %25638
  store i32 0, ptr %3, align 4
  store i32 1, ptr %417, align 4
  br label %25640

25640:                                            ; preds = %25639, %25635
  call void @llvm.lifetime.end.p0(i64 8, ptr %23) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %22) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %19) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %17) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %15) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %14) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %12) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %10) #8
  %25641 = load i32, ptr %3, align 4
  ret i32 %25641
}

; Function Attrs: nounwind
declare i32 @fprintf(ptr noundef, ptr noundef, ...) #1

declare i32 @fflush(ptr noundef) #2

declare i32 @s2n_in_unit_test_set(i1 noundef zeroext) #2

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

; Function Attrs: nounwind willreturn memory(none)
declare ptr @__errno_location() #4

declare i32 @s2n_print_stacktrace(ptr noundef) #2

; Function Attrs: nounwind
declare i32 @isatty(i32 noundef) #1

; Function Attrs: nounwind
declare i32 @fileno(ptr noundef) #1

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

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

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

; Function Attrs: nounwind
declare ptr @strerror(i32 noundef) #1

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

; Function Attrs: noreturn nounwind
declare void @exit(i32 noundef) #6

declare i32 @s2n_enable_atexit() #2

declare i32 @s2n_init() #2

declare i32 @s2n_disable_tls13_in_test(...) #2

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

declare ptr @s2n_config_new() #2

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

declare ptr @s2n_connection_new(i32 noundef) #2

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

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

declare void @s2n_debug_info_reset() #2

declare zeroext i1 @s2n_is_rsa_pss_certs_supported(...) #2

declare i32 @s2n_connection_free(ptr noundef) #2

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

declare i32 @s2n_connection_ptr_free(ptr noundef) #2

declare i32 @s2n_config_free(ptr noundef) #2

declare i32 @s2n_cert_chain_and_key_free(ptr noundef) #2

declare i32 @s2n_is_cert_type_valid_for_auth(ptr noundef, i32 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_select_certs_for_server_auth(ptr noundef, ptr noundef) #2

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

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 = { nounwind }
attributes #9 = { nounwind willreturn memory(none) }
attributes #10 = { 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 232}
!16 = !{!"s2n_connection", !6, i64 0, !6, i64 0, !6, i64 0, !6, i64 0, !6, i64 0, !6, i64 0, !6, i64 0, !6, i64 0, !6, i64 1, !6, i64 1, !6, i64 1, !6, i64 1, !6, i64 1, !6, i64 1, !6, i64 1, !6, i64 1, !6, i64 2, !6, i64 2, !6, i64 2, !6, i64 2, !6, i64 2, !6, i64 2, !6, i64 2, !10, i64 8, !10, i64 16, !10, i64 24, !10, i64 32, !10, i64 40, !10, i64 48, !10, i64 56, !10, i64 64, !10, i64 72, !7, i64 80, !7, i64 102, !7, i64 124, !6, i64 148, !6, i64 152, !17, i64 160, !18, i64 168, !18, i64 176, !7, i64 184, !7, i64 216, !7, i64 217, !7, i64 218, !7, i64 219, !7, i64 220, !7, i64 221, !7, i64 222, !10, i64 224, !10, i64 232, !19, i64 240, !10, i64 632, !10, i64 640, !20, i64 648, !26, i64 1144, !29, i64 1688, !10, i64 1752, !7, i64 1760, !6, i64 1764, !7, i64 1768, !32, i64 1776, !32, i64 1816, !32, i64 1856, !32, i64 1896, !6, i64 1936, !18, i64 1944, !7, i64 1952, !32, i64 1960, !7, i64 2000, !7, i64 2001, !7, i64 2002, !12, i64 2003, !33, i64 2004, !33, i64 2008, !34, i64 2016, !31, i64 2208, !6, i64 2212, !31, i64 2216, !18, i64 2224, !7, i64 2232, !18, i64 2240, !18, i64 2248, !18, i64 2256, !33, i64 2264, !33, i64 2268, !7, i64 2272, !7, i64 2528, !6, i64 2784, !25, i64 2792, !6, i64 2816, !25, i64 2824, !25, i64 2848, !25, i64 2872, !36, i64 2896, !38, i64 3704, !10, i64 3760, !10, i64 3768, !7, i64 3776, !6, i64 3780, !25, i64 3784, !6, i64 3808, !40, i64 3816, !7, i64 3848, !32, i64 3992, !25, i64 4032, !25, i64 4056, !12, i64 4080, !12, i64 4081, !12, i64 4082, !31, i64 4084, !31, i64 4086, !6, i64 4088, !6, i64 4092, !25, i64 4096, !6, i64 4120, !41, i64 4128, !33, i64 4176, !7, i64 4180, !7, i64 4181}
!17 = !{!"s2n_timer", !18, i64 0}
!18 = !{!"long", !7, i64 0}
!19 = !{!"s2n_secrets", !7, i64 0, !6, i64 388}
!20 = !{!"s2n_kex_parameters", !21, i64 0, !22, i64 8, !7, i64 24, !22, i64 56, !23, i64 72, !23, i64 184, !7, i64 296, !24, i64 360, !25, i64 448, !25, i64 472}
!21 = !{!"s2n_dh_params", !10, i64 0}
!22 = !{!"s2n_ecc_evp_params", !10, i64 0, !10, i64 8}
!23 = !{!"s2n_kem_group_params", !10, i64 0, !24, i64 8, !22, i64 96}
!24 = !{!"s2n_kem_params", !10, i64 0, !25, i64 8, !25, i64 32, !25, i64 56, !12, i64 80}
!25 = !{!"s2n_blob", !10, i64 0, !6, i64 8, !6, i64 12, !6, i64 16}
!26 = !{!"s2n_handshake_parameters", !27, i64 0, !27, i64 48, !25, i64 96, !6, i64 120, !28, i64 124, !10, i64 384, !10, i64 392, !10, i64 400, !7, i64 408, !7, i64 440, !7, i64 472, !7, i64 473, !7, i64 474, !7, i64 506}
!27 = !{!"s2n_pkey", !10, i64 0, !10, i64 8, !10, i64 16, !10, i64 24, !10, i64 32, !10, i64 40}
!28 = !{!"s2n_sig_scheme_list", !7, i64 0, !7, i64 256}
!29 = !{!"s2n_psk_parameters", !6, i64 0, !30, i64 8, !31, i64 40, !31, i64 42, !10, i64 48, !6, i64 56}
!30 = !{!"s2n_array", !25, i64 0, !6, i64 24, !6, i64 28}
!31 = !{!"short", !7, i64 0}
!32 = !{!"s2n_stuffer", !25, i64 0, !6, i64 24, !6, i64 28, !6, i64 32, !6, i64 36, !6, i64 36, !6, i64 36}
!33 = !{!"", !6, i64 0}
!34 = !{!"s2n_handshake", !32, i64 0, !10, i64 40, !7, i64 48, !7, i64 56, !7, i64 104, !7, i64 152, !6, i64 156, !6, i64 160, !6, i64 164, !6, i64 168, !35, i64 176, !6, i64 184, !6, i64 184, !6, i64 184, !6, i64 184, !6, i64 188}
!35 = !{!"s2n_offered_early_data", !10, i64 0}
!36 = !{!"s2n_client_hello", !25, i64 0, !37, i64 24, !25, i64 728, !25, i64 752, !25, i64 776, !7, i64 800, !7, i64 801, !6, i64 802, !6, i64 802, !6, i64 802, !6, i64 802, !6, i64 802, !6, i64 802, !6, i64 802}
!37 = !{!"", !7, i64 0, !25, i64 672, !31, i64 696}
!38 = !{!"s2n_x509_validator", !10, i64 0, !10, i64 8, !7, i64 16, !7, i64 17, !31, i64 18, !10, i64 24, !6, i64 32, !10, i64 40, !39, i64 48, !12, i64 52}
!39 = !{!"s2n_cert_validation_info", !6, i64 0, !6, i64 0}
!40 = !{!"s2n_ticket_fields", !25, i64 0, !6, i64 24}
!41 = !{!"s2n_post_handshake", !32, i64 0, !7, i64 40}
!42 = !{!43, !10, i64 0}
!43 = !{!"s2n_crypto_parameters", !10, i64 0, !44, i64 8, !44, i64 16, !45, i64 24, !45, i64 456, !7, i64 888, !7, i64 904, !7, i64 920, !7, i64 928}
!44 = !{!"s2n_session_key", !10, i64 0}
!45 = !{!"s2n_hmac_state", !6, i64 0, !31, i64 4, !6, i64 8, !31, i64 12, !7, i64 14, !46, i64 16, !46, i64 72, !46, i64 128, !46, i64 184, !7, i64 240, !7, i64 368}
!46 = !{!"s2n_hash_state", !10, i64 0, !6, i64 8, !7, i64 12, !18, i64 16, !7, i64 24}
!47 = !{!16, !7, i64 220}
!48 = !{!16, !10, i64 1528}
!49 = !{!50, !6, i64 20}
!50 = !{!"s2n_signature_scheme", !31, i64 0, !10, i64 8, !6, i64 16, !6, i64 20, !7, i64 24, !7, i64 25, !31, i64 26, !10, i64 32}


; Optimized IR (opt -passes='default<O3>'):
target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-i128:128-f80:128-n8:16:32:64-S128"
target triple = "x86_64-unknown-linux-gnu"

%struct.s2n_cipher_suite = type { i8, ptr, ptr, [2 x i8], ptr, i32, ptr, [2 x ptr], i8, ptr, ptr, i32, i8 }
%struct.s2n_signature_scheme = type { i16, ptr, i32, i32, i8, i8, i16, ptr }

@s2n_use_color_in_output = external dso_local local_unnamed_addr global i8, align 1
@test_count = external dso_local local_unnamed_addr global i32, align 4
@stdout = external local_unnamed_addr global ptr, align 8
@.str = external hidden unnamed_addr constant [19 x i8], align 1
@.str.1 = external hidden unnamed_addr constant [82 x i8], align 1
@stderr = external local_unnamed_addr global ptr, align 8
@.str.2 = external hidden unnamed_addr constant [101 x i8], align 1
@.str.3 = external hidden unnamed_addr constant [52 x i8], align 1
@s2n_errno = external thread_local local_unnamed_addr global i32, align 4
@.str.4 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.5 = external hidden unnamed_addr constant [90 x i8], align 1
@.str.6 = external hidden unnamed_addr constant [48 x i8], align 1
@.str.7 = external hidden unnamed_addr constant [39 x i8], align 1
@.str.8 = external hidden unnamed_addr constant [56 x i8], align 1
@.str.9 = external hidden unnamed_addr constant [32 x i8], align 1
@.str.10 = external hidden unnamed_addr constant [31 x i8], align 1
@.str.11 = external hidden unnamed_addr constant [146 x i8], align 1
@.str.12 = external hidden unnamed_addr constant [34 x i8], align 1
@.str.13 = external hidden unnamed_addr constant [33 x i8], align 1
@.str.14 = external hidden unnamed_addr constant [152 x i8], align 1
@.str.15 = external hidden unnamed_addr constant [104 x i8], align 1
@.str.16 = external hidden unnamed_addr constant [108 x i8], align 1
@.str.17 = external hidden unnamed_addr constant [105 x i8], align 1
@.str.18 = external hidden unnamed_addr constant [107 x i8], align 1
@.str.19 = external hidden unnamed_addr constant [77 x i8], align 1
@s2n_dhe_rsa_with_3des_ede_cbc_sha = external global %struct.s2n_cipher_suite, align 8
@.str.20 = external hidden unnamed_addr constant [102 x i8], align 1
@.str.21 = external hidden unnamed_addr constant [35 x i8], align 1
@.str.22 = external hidden unnamed_addr constant [70 x i8], align 1
@s2n_ecdhe_ecdsa_with_aes_128_cbc_sha = external global %struct.s2n_cipher_suite, align 8
@.str.23 = external hidden unnamed_addr constant [105 x i8], align 1
@s2n_tls13_aes_128_gcm_sha256 = external global %struct.s2n_cipher_suite, align 8
@.str.24 = external hidden unnamed_addr constant [100 x i8], align 1
@.str.25 = external hidden unnamed_addr constant [77 x i8], align 1
@.str.26 = external hidden unnamed_addr constant [105 x i8], align 1
@.str.27 = external hidden unnamed_addr constant [81 x i8], align 1
@.str.28 = external hidden unnamed_addr constant [79 x i8], align 1
@.str.29 = external hidden unnamed_addr constant [108 x i8], align 1
@.str.30 = external hidden unnamed_addr constant [78 x i8], align 1
@.str.31 = external hidden unnamed_addr constant [54 x i8], align 1
@s2n_rsa_pkcs1_md5_sha1 = external constant %struct.s2n_signature_scheme, align 8
@.str.32 = external hidden unnamed_addr constant [89 x i8], align 1
@s2n_rsa_pss_pss_sha256 = external constant %struct.s2n_signature_scheme, align 8
@.str.33 = external hidden unnamed_addr constant [89 x i8], align 1
@s2n_rsa_pss_rsae_sha256 = external constant %struct.s2n_signature_scheme, align 8
@.str.34 = external hidden unnamed_addr constant [90 x i8], align 1
@s2n_ecdsa_sha384 = external constant %struct.s2n_signature_scheme, align 8
@.str.35 = external hidden unnamed_addr constant [83 x i8], align 1
@.str.36 = external hidden unnamed_addr constant [92 x i8], align 1
@.str.37 = external hidden unnamed_addr constant [93 x i8], align 1
@.str.38 = external hidden unnamed_addr constant [92 x i8], align 1
@.str.39 = external hidden unnamed_addr constant [86 x i8], align 1
@.str.40 = external hidden unnamed_addr constant [34 x i8], align 1
@.str.41 = external hidden unnamed_addr constant [33 x i8], align 1
@.str.42 = external hidden unnamed_addr constant [168 x i8], align 1
@.str.43 = external hidden unnamed_addr constant [141 x i8], align 1
@.str.44 = external hidden unnamed_addr constant [84 x i8], align 1
@.str.45 = external hidden unnamed_addr constant [91 x i8], align 1
@s2n_ecdsa_sha256 = external constant %struct.s2n_signature_scheme, align 8
@.str.46 = external hidden unnamed_addr constant [88 x i8], align 1
@.str.47 = external hidden unnamed_addr constant [100 x i8], align 1
@.str.48 = external hidden unnamed_addr constant [88 x i8], align 1
@.str.49 = external hidden unnamed_addr constant [91 x i8], align 1
@.str.50 = external hidden unnamed_addr constant [79 x i8], align 1
@.str.51 = external hidden unnamed_addr constant [90 x i8], align 1
@.str.52 = external hidden unnamed_addr constant [46 x i8], align 1
@.str.53 = external hidden unnamed_addr constant [84 x i8], align 1
@.str.54 = external hidden unnamed_addr constant [99 x i8], align 1
@.str.55 = external hidden unnamed_addr constant [100 x i8], align 1
@.str.56 = external hidden unnamed_addr constant [86 x i8], align 1
@.str.57 = external hidden unnamed_addr constant [93 x i8], align 1
@.str.58 = external hidden unnamed_addr constant [61 x i8], align 1
@s2n_rsa_with_aes_128_cbc_sha = external global %struct.s2n_cipher_suite, align 8
@.str.59 = external hidden unnamed_addr constant [85 x i8], align 1
@.str.60 = external hidden unnamed_addr constant [89 x i8], align 1
@.str.61 = external hidden unnamed_addr constant [84 x i8], align 1
@.str.62 = external hidden unnamed_addr constant [86 x i8], align 1
@.str.63 = external hidden unnamed_addr constant [82 x i8], align 1
@.str.64 = external hidden unnamed_addr constant [86 x i8], align 1
@.str.65 = external hidden unnamed_addr constant [87 x i8], align 1
@.str.66 = external hidden unnamed_addr constant [82 x i8], align 1
@.str.67 = external hidden unnamed_addr constant [48 x i8], align 1
@.str.68 = external hidden unnamed_addr constant [79 x i8], align 1
@.str.69 = external hidden unnamed_addr constant [52 x i8], align 1
@.str.70 = external hidden unnamed_addr constant [50 x i8], align 1
@.str.71 = external hidden unnamed_addr constant [44 x i8], align 1
@.str.72 = external hidden unnamed_addr constant [124 x i8], align 1
@.str.73 = external hidden unnamed_addr constant [124 x i8], align 1
@.str.74 = external hidden unnamed_addr constant [125 x i8], align 1
@.str.75 = external hidden unnamed_addr constant [118 x i8], align 1
@.str.76 = external hidden unnamed_addr constant [127 x i8], align 1
@.str.77 = external hidden unnamed_addr constant [127 x i8], align 1
@.str.78 = external hidden unnamed_addr constant [128 x i8], align 1
@.str.79 = external hidden unnamed_addr constant [121 x i8], align 1
@.str.80 = external hidden unnamed_addr constant [119 x i8], align 1
@.str.81 = external hidden unnamed_addr constant [119 x i8], align 1
@.str.82 = external hidden unnamed_addr constant [120 x i8], align 1
@.str.83 = external hidden unnamed_addr constant [113 x i8], align 1
@.str.84 = external hidden unnamed_addr constant [131 x i8], align 1
@.str.85 = external hidden unnamed_addr constant [132 x i8], align 1
@.str.86 = external hidden unnamed_addr constant [126 x i8], align 1
@.str.87 = external hidden unnamed_addr constant [127 x i8], align 1
@.str.88 = external hidden unnamed_addr constant [135 x i8], align 1
@.str.89 = external hidden unnamed_addr constant [132 x i8], align 1
@.str.90 = external hidden unnamed_addr constant [130 x i8], align 1
@.str.91 = external hidden unnamed_addr constant [127 x i8], align 1
@.str.92 = external hidden unnamed_addr constant [130 x i8], align 1
@.str.93 = external hidden unnamed_addr constant [122 x i8], align 1
@.str.94 = external hidden unnamed_addr constant [61 x i8], align 1
@.str.95 = external hidden unnamed_addr constant [65 x i8], align 1
@.str.96 = external hidden unnamed_addr constant [63 x i8], align 1
@.str.97 = external hidden unnamed_addr constant [62 x i8], align 1
@.str.98 = external hidden unnamed_addr constant [61 x i8], align 1
@.str.99 = external hidden unnamed_addr constant [72 x i8], align 1
@.str.100 = external hidden unnamed_addr constant [76 x i8], align 1
@.str.101 = external hidden unnamed_addr constant [74 x i8], align 1
@.str.102 = external hidden unnamed_addr constant [42 x i8], align 1
@.str.103 = external hidden unnamed_addr constant [52 x i8], align 1
@.str.104 = external hidden unnamed_addr constant [30 x i8], align 1
@.str.105 = external hidden unnamed_addr constant [36 x i8], align 1
@.str.106 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.107 = 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 ptr, align 8
  %6 = alloca ptr, align 8
  %7 = alloca ptr, align 8
  %8 = alloca %struct.s2n_signature_scheme, align 8
  store i32 0, ptr @test_count, align 4, !tbaa !5
  %9 = load ptr, ptr @stdout, align 8, !tbaa !9
  %10 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9, ptr noundef nonnull @.str, ptr noundef nonnull @.str.1) #9
  %11 = load ptr, ptr @stdout, align 8, !tbaa !9
  %12 = tail call i32 @fflush(ptr noundef %11)
  %13 = tail call i32 @s2n_in_unit_test_set(i1 noundef zeroext true) #9
  %14 = icmp eq i32 %13, -1
  br i1 %14, label %15, label %39

15:                                               ; preds = %2
  %16 = tail call ptr @__errno_location() #10
  %17 = load i32, ptr %16, align 4, !tbaa !5
  %18 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19 = tail call i32 @s2n_print_stacktrace(ptr noundef %18) #9
  %20 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %21 = trunc nuw i8 %20 to i1
  br i1 %21, label %22, label %26

22:                                               ; preds = %15
  %23 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24 = tail call i32 @fileno(ptr noundef %23) #9
  %25 = tail call i32 @isatty(i32 noundef %24) #9
  %.not1408 = icmp eq i32 %25, 0
  br i1 %.not1408, label %26, label %27

26:                                               ; preds = %22, %15
  br label %27

27:                                               ; preds = %22, %26
  %.str.5.sink = phi ptr [ @.str.5, %26 ], [ @.str.2, %22 ]
  store i32 %17, ptr %16, align 4, !tbaa !5
  %28 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29 = load i32, ptr @test_count, align 4, !tbaa !5
  %30 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31 = load i32, ptr %30, align 4, !tbaa !5
  %32 = tail call ptr @s2n_strerror(i32 noundef %31, ptr noundef nonnull @.str.4) #9
  %33 = load i32, ptr %30, align 4, !tbaa !5
  %34 = tail call ptr @s2n_strerror_debug(i32 noundef %33, ptr noundef nonnull @.str.4) #9
  %35 = load i32, ptr %16, align 4, !tbaa !5
  %36 = tail call ptr @strerror(i32 noundef %35) #9
  %37 = load i32, ptr %16, align 4, !tbaa !5
  %38 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %28, ptr noundef nonnull %.str.5.sink, i32 noundef %29, ptr noundef nonnull @.str.3, ptr noundef nonnull @.str.1, i32 noundef 65, ptr noundef %32, ptr noundef %34, ptr noundef %36, i32 noundef %37) #11
  tail call void @exit(i32 noundef 1) #12
  unreachable

39:                                               ; preds = %2
  %40 = load i32, ptr @test_count, align 4, !tbaa !5
  %41 = add nsw i32 %40, 1
  store i32 %41, ptr @test_count, align 4, !tbaa !5
  %42 = tail call i32 @s2n_enable_atexit() #9
  %43 = icmp eq i32 %42, -1
  br i1 %43, label %44, label %68

44:                                               ; preds = %39
  %45 = tail call ptr @__errno_location() #10
  %46 = load i32, ptr %45, align 4, !tbaa !5
  %47 = load ptr, ptr @stderr, align 8, !tbaa !9
  %48 = tail call i32 @s2n_print_stacktrace(ptr noundef %47) #9
  %49 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %50 = trunc nuw i8 %49 to i1
  br i1 %50, label %51, label %55

51:                                               ; preds = %44
  %52 = load ptr, ptr @stderr, align 8, !tbaa !9
  %53 = tail call i32 @fileno(ptr noundef %52) #9
  %54 = tail call i32 @isatty(i32 noundef %53) #9
  %.not1407 = icmp eq i32 %54, 0
  br i1 %.not1407, label %55, label %56

55:                                               ; preds = %51, %44
  br label %56

56:                                               ; preds = %51, %55
  %.str.5.sink1419 = phi ptr [ @.str.5, %55 ], [ @.str.2, %51 ]
  store i32 %46, ptr %45, align 4, !tbaa !5
  %57 = load ptr, ptr @stderr, align 8, !tbaa !9
  %58 = load i32, ptr @test_count, align 4, !tbaa !5
  %59 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %60 = load i32, ptr %59, align 4, !tbaa !5
  %61 = tail call ptr @s2n_strerror(i32 noundef %60, ptr noundef nonnull @.str.4) #9
  %62 = load i32, ptr %59, align 4, !tbaa !5
  %63 = tail call ptr @s2n_strerror_debug(i32 noundef %62, ptr noundef nonnull @.str.4) #9
  %64 = load i32, ptr %45, align 4, !tbaa !5
  %65 = tail call ptr @strerror(i32 noundef %64) #9
  %66 = load i32, ptr %45, align 4, !tbaa !5
  %67 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %57, ptr noundef nonnull %.str.5.sink1419, i32 noundef %58, ptr noundef nonnull @.str.6, ptr noundef nonnull @.str.1, i32 noundef 65, ptr noundef %61, ptr noundef %63, ptr noundef %65, i32 noundef %66) #11
  tail call void @exit(i32 noundef 1) #12
  unreachable

68:                                               ; preds = %39
  %69 = tail call i32 @s2n_init() #9
  %70 = icmp eq i32 %69, -1
  br i1 %70, label %71, label %95

71:                                               ; preds = %68
  %72 = tail call ptr @__errno_location() #10
  %73 = load i32, ptr %72, align 4, !tbaa !5
  %74 = load ptr, ptr @stderr, align 8, !tbaa !9
  %75 = tail call i32 @s2n_print_stacktrace(ptr noundef %74) #9
  %76 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %77 = trunc nuw i8 %76 to i1
  br i1 %77, label %78, label %82

78:                                               ; preds = %71
  %79 = load ptr, ptr @stderr, align 8, !tbaa !9
  %80 = tail call i32 @fileno(ptr noundef %79) #9
  %81 = tail call i32 @isatty(i32 noundef %80) #9
  %.not1406 = icmp eq i32 %81, 0
  br i1 %.not1406, label %82, label %83

82:                                               ; preds = %78, %71
  br label %83

83:                                               ; preds = %78, %82
  %.str.5.sink1430 = phi ptr [ @.str.5, %82 ], [ @.str.2, %78 ]
  store i32 %73, ptr %72, align 4, !tbaa !5
  %84 = load ptr, ptr @stderr, align 8, !tbaa !9
  %85 = load i32, ptr @test_count, align 4, !tbaa !5
  %86 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %87 = load i32, ptr %86, align 4, !tbaa !5
  %88 = tail call ptr @s2n_strerror(i32 noundef %87, ptr noundef nonnull @.str.4) #9
  %89 = load i32, ptr %86, align 4, !tbaa !5
  %90 = tail call ptr @s2n_strerror_debug(i32 noundef %89, ptr noundef nonnull @.str.4) #9
  %91 = load i32, ptr %72, align 4, !tbaa !5
  %92 = tail call ptr @strerror(i32 noundef %91) #9
  %93 = load i32, ptr %72, align 4, !tbaa !5
  %94 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %84, ptr noundef nonnull %.str.5.sink1430, i32 noundef %85, ptr noundef nonnull @.str.7, ptr noundef nonnull @.str.1, i32 noundef 65, ptr noundef %88, ptr noundef %90, ptr noundef %92, i32 noundef %93) #11
  tail call void @exit(i32 noundef 1) #12
  unreachable

95:                                               ; preds = %68
  %96 = load i32, ptr @test_count, align 4, !tbaa !5
  %97 = add nsw i32 %96, 1
  store i32 %97, ptr @test_count, align 4, !tbaa !5
  %98 = tail call i32 (...) @s2n_disable_tls13_in_test() #9
  %99 = icmp eq i32 %98, -1
  br i1 %99, label %100, label %124

100:                                              ; preds = %95
  %101 = tail call ptr @__errno_location() #10
  %102 = load i32, ptr %101, align 4, !tbaa !5
  %103 = load ptr, ptr @stderr, align 8, !tbaa !9
  %104 = tail call i32 @s2n_print_stacktrace(ptr noundef %103) #9
  %105 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %106 = trunc nuw i8 %105 to i1
  br i1 %106, label %107, label %111

107:                                              ; preds = %100
  %108 = load ptr, ptr @stderr, align 8, !tbaa !9
  %109 = tail call i32 @fileno(ptr noundef %108) #9
  %110 = tail call i32 @isatty(i32 noundef %109) #9
  %.not1405 = icmp eq i32 %110, 0
  br i1 %.not1405, label %111, label %112

111:                                              ; preds = %107, %100
  br label %112

112:                                              ; preds = %107, %111
  %.str.5.sink1441 = phi ptr [ @.str.5, %111 ], [ @.str.2, %107 ]
  store i32 %102, ptr %101, align 4, !tbaa !5
  %113 = load ptr, ptr @stderr, align 8, !tbaa !9
  %114 = load i32, ptr @test_count, align 4, !tbaa !5
  %115 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %116 = load i32, ptr %115, align 4, !tbaa !5
  %117 = tail call ptr @s2n_strerror(i32 noundef %116, ptr noundef nonnull @.str.4) #9
  %118 = load i32, ptr %115, align 4, !tbaa !5
  %119 = tail call ptr @s2n_strerror_debug(i32 noundef %118, ptr noundef nonnull @.str.4) #9
  %120 = load i32, ptr %101, align 4, !tbaa !5
  %121 = tail call ptr @strerror(i32 noundef %120) #9
  %122 = load i32, ptr %101, align 4, !tbaa !5
  %123 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %113, ptr noundef nonnull %.str.5.sink1441, i32 noundef %114, ptr noundef nonnull @.str.8, ptr noundef nonnull @.str.1, i32 noundef 66, ptr noundef %117, ptr noundef %119, ptr noundef %121, i32 noundef %122) #11
  tail call void @exit(i32 noundef 1) #12
  unreachable

124:                                              ; preds = %95
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %3) #9
  store ptr null, ptr %3, align 8, !tbaa !9
  %125 = load i32, ptr @test_count, align 4, !tbaa !5
  %126 = add nsw i32 %125, 1
  store i32 %126, ptr @test_count, align 4, !tbaa !5
  %127 = call i32 @s2n_test_cert_chain_and_key_new(ptr noundef nonnull %3, ptr noundef nonnull @.str.9, ptr noundef nonnull @.str.10) #9
  %128 = icmp eq i32 %127, -1
  br i1 %128, label %129, label %153

129:                                              ; preds = %124
  %130 = tail call ptr @__errno_location() #10
  %131 = load i32, ptr %130, align 4, !tbaa !5
  %132 = load ptr, ptr @stderr, align 8, !tbaa !9
  %133 = call i32 @s2n_print_stacktrace(ptr noundef %132) #9
  %134 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %135 = trunc nuw i8 %134 to i1
  br i1 %135, label %136, label %140

136:                                              ; preds = %129
  %137 = load ptr, ptr @stderr, align 8, !tbaa !9
  %138 = call i32 @fileno(ptr noundef %137) #9
  %139 = call i32 @isatty(i32 noundef %138) #9
  %.not1404 = icmp eq i32 %139, 0
  br i1 %.not1404, label %140, label %141

140:                                              ; preds = %136, %129
  br label %141

141:                                              ; preds = %136, %140
  %.str.5.sink1452 = phi ptr [ @.str.5, %140 ], [ @.str.2, %136 ]
  store i32 %131, ptr %130, align 4, !tbaa !5
  %142 = load ptr, ptr @stderr, align 8, !tbaa !9
  %143 = load i32, ptr @test_count, align 4, !tbaa !5
  %144 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %145 = load i32, ptr %144, align 4, !tbaa !5
  %146 = call ptr @s2n_strerror(i32 noundef %145, ptr noundef nonnull @.str.4) #9
  %147 = load i32, ptr %144, align 4, !tbaa !5
  %148 = call ptr @s2n_strerror_debug(i32 noundef %147, ptr noundef nonnull @.str.4) #9
  %149 = load i32, ptr %130, align 4, !tbaa !5
  %150 = call ptr @strerror(i32 noundef %149) #9
  %151 = load i32, ptr %130, align 4, !tbaa !5
  %152 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %142, ptr noundef nonnull %.str.5.sink1452, i32 noundef %143, ptr noundef nonnull @.str.11, ptr noundef nonnull @.str.1, i32 noundef 70, ptr noundef %146, ptr noundef %148, ptr noundef %150, i32 noundef %151) #11
  call void @exit(i32 noundef 1) #12
  unreachable

153:                                              ; preds = %124
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %4) #9
  store ptr null, ptr %4, align 8, !tbaa !9
  %154 = load i32, ptr @test_count, align 4, !tbaa !5
  %155 = add nsw i32 %154, 1
  store i32 %155, ptr @test_count, align 4, !tbaa !5
  %156 = call i32 @s2n_test_cert_chain_and_key_new(ptr noundef nonnull %4, ptr noundef nonnull @.str.12, ptr noundef nonnull @.str.13) #9
  %157 = icmp eq i32 %156, -1
  br i1 %157, label %158, label %182

158:                                              ; preds = %153
  %159 = tail call ptr @__errno_location() #10
  %160 = load i32, ptr %159, align 4, !tbaa !5
  %161 = load ptr, ptr @stderr, align 8, !tbaa !9
  %162 = call i32 @s2n_print_stacktrace(ptr noundef %161) #9
  %163 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %164 = trunc nuw i8 %163 to i1
  br i1 %164, label %165, label %169

165:                                              ; preds = %158
  %166 = load ptr, ptr @stderr, align 8, !tbaa !9
  %167 = call i32 @fileno(ptr noundef %166) #9
  %168 = call i32 @isatty(i32 noundef %167) #9
  %.not1403 = icmp eq i32 %168, 0
  br i1 %.not1403, label %169, label %170

169:                                              ; preds = %165, %158
  br label %170

170:                                              ; preds = %165, %169
  %.str.5.sink1463 = phi ptr [ @.str.5, %169 ], [ @.str.2, %165 ]
  store i32 %160, ptr %159, align 4, !tbaa !5
  %171 = load ptr, ptr @stderr, align 8, !tbaa !9
  %172 = load i32, ptr @test_count, align 4, !tbaa !5
  %173 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %174 = load i32, ptr %173, align 4, !tbaa !5
  %175 = call ptr @s2n_strerror(i32 noundef %174, ptr noundef nonnull @.str.4) #9
  %176 = load i32, ptr %173, align 4, !tbaa !5
  %177 = call ptr @s2n_strerror_debug(i32 noundef %176, ptr noundef nonnull @.str.4) #9
  %178 = load i32, ptr %159, align 4, !tbaa !5
  %179 = call ptr @strerror(i32 noundef %178) #9
  %180 = load i32, ptr %159, align 4, !tbaa !5
  %181 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %171, ptr noundef nonnull %.str.5.sink1463, i32 noundef %172, ptr noundef nonnull @.str.14, ptr noundef nonnull @.str.1, i32 noundef 74, ptr noundef %175, ptr noundef %177, ptr noundef %179, i32 noundef %180) #11
  call void @exit(i32 noundef 1) #12
  unreachable

182:                                              ; preds = %153
  %183 = call ptr @s2n_config_new() #9
  %184 = call ptr @s2n_config_new() #9
  %185 = load i32, ptr @test_count, align 4, !tbaa !5
  %186 = add nsw i32 %185, 1
  store i32 %186, ptr @test_count, align 4, !tbaa !5
  %187 = load ptr, ptr %3, align 8, !tbaa !9
  %188 = call i32 @s2n_config_add_cert_chain_and_key_to_store(ptr noundef %184, ptr noundef %187) #9
  %189 = icmp eq i32 %188, -1
  br i1 %189, label %190, label %214

190:                                              ; preds = %182
  %191 = tail call ptr @__errno_location() #10
  %192 = load i32, ptr %191, align 4, !tbaa !5
  %193 = load ptr, ptr @stderr, align 8, !tbaa !9
  %194 = call i32 @s2n_print_stacktrace(ptr noundef %193) #9
  %195 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %196 = trunc nuw i8 %195 to i1
  br i1 %196, label %197, label %201

197:                                              ; preds = %190
  %198 = load ptr, ptr @stderr, align 8, !tbaa !9
  %199 = call i32 @fileno(ptr noundef %198) #9
  %200 = call i32 @isatty(i32 noundef %199) #9
  %.not1402 = icmp eq i32 %200, 0
  br i1 %.not1402, label %201, label %202

201:                                              ; preds = %197, %190
  br label %202

202:                                              ; preds = %197, %201
  %.str.5.sink1474 = phi ptr [ @.str.5, %201 ], [ @.str.2, %197 ]
  store i32 %192, ptr %191, align 4, !tbaa !5
  %203 = load ptr, ptr @stderr, align 8, !tbaa !9
  %204 = load i32, ptr @test_count, align 4, !tbaa !5
  %205 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %206 = load i32, ptr %205, align 4, !tbaa !5
  %207 = call ptr @s2n_strerror(i32 noundef %206, ptr noundef nonnull @.str.4) #9
  %208 = load i32, ptr %205, align 4, !tbaa !5
  %209 = call ptr @s2n_strerror_debug(i32 noundef %208, ptr noundef nonnull @.str.4) #9
  %210 = load i32, ptr %191, align 4, !tbaa !5
  %211 = call ptr @strerror(i32 noundef %210) #9
  %212 = load i32, ptr %191, align 4, !tbaa !5
  %213 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %203, ptr noundef nonnull %.str.5.sink1474, i32 noundef %204, ptr noundef nonnull @.str.15, ptr noundef nonnull @.str.1, i32 noundef 79, ptr noundef %207, ptr noundef %209, ptr noundef %211, i32 noundef %212) #11
  call void @exit(i32 noundef 1) #12
  unreachable

214:                                              ; preds = %182
  %215 = call ptr @s2n_config_new() #9
  %216 = load i32, ptr @test_count, align 4, !tbaa !5
  %217 = add nsw i32 %216, 1
  store i32 %217, ptr @test_count, align 4, !tbaa !5
  %218 = load ptr, ptr %4, align 8, !tbaa !9
  %219 = call i32 @s2n_config_add_cert_chain_and_key_to_store(ptr noundef %215, ptr noundef %218) #9
  %220 = icmp eq i32 %219, -1
  br i1 %220, label %221, label %245

221:                                              ; preds = %214
  %222 = tail call ptr @__errno_location() #10
  %223 = load i32, ptr %222, align 4, !tbaa !5
  %224 = load ptr, ptr @stderr, align 8, !tbaa !9
  %225 = call i32 @s2n_print_stacktrace(ptr noundef %224) #9
  %226 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %227 = trunc nuw i8 %226 to i1
  br i1 %227, label %228, label %232

228:                                              ; preds = %221
  %229 = load ptr, ptr @stderr, align 8, !tbaa !9
  %230 = call i32 @fileno(ptr noundef %229) #9
  %231 = call i32 @isatty(i32 noundef %230) #9
  %.not1401 = icmp eq i32 %231, 0
  br i1 %.not1401, label %232, label %233

232:                                              ; preds = %228, %221
  br label %233

233:                                              ; preds = %228, %232
  %.str.5.sink1485 = phi ptr [ @.str.5, %232 ], [ @.str.2, %228 ]
  store i32 %223, ptr %222, align 4, !tbaa !5
  %234 = load ptr, ptr @stderr, align 8, !tbaa !9
  %235 = load i32, ptr @test_count, align 4, !tbaa !5
  %236 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %237 = load i32, ptr %236, align 4, !tbaa !5
  %238 = call ptr @s2n_strerror(i32 noundef %237, ptr noundef nonnull @.str.4) #9
  %239 = load i32, ptr %236, align 4, !tbaa !5
  %240 = call ptr @s2n_strerror_debug(i32 noundef %239, ptr noundef nonnull @.str.4) #9
  %241 = load i32, ptr %222, align 4, !tbaa !5
  %242 = call ptr @strerror(i32 noundef %241) #9
  %243 = load i32, ptr %222, align 4, !tbaa !5
  %244 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %234, ptr noundef nonnull %.str.5.sink1485, i32 noundef %235, ptr noundef nonnull @.str.16, ptr noundef nonnull @.str.1, i32 noundef 82, ptr noundef %238, ptr noundef %240, ptr noundef %242, i32 noundef %243) #11
  call void @exit(i32 noundef 1) #12
  unreachable

245:                                              ; preds = %214
  %246 = call ptr @s2n_config_new() #9
  %247 = load i32, ptr @test_count, align 4, !tbaa !5
  %248 = add nsw i32 %247, 1
  store i32 %248, ptr @test_count, align 4, !tbaa !5
  %249 = load ptr, ptr %3, align 8, !tbaa !9
  %250 = call i32 @s2n_config_add_cert_chain_and_key_to_store(ptr noundef %246, ptr noundef %249) #9
  %251 = icmp eq i32 %250, -1
  br i1 %251, label %252, label %276

252:                                              ; preds = %245
  %253 = tail call ptr @__errno_location() #10
  %254 = load i32, ptr %253, align 4, !tbaa !5
  %255 = load ptr, ptr @stderr, align 8, !tbaa !9
  %256 = call i32 @s2n_print_stacktrace(ptr noundef %255) #9
  %257 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %258 = trunc nuw i8 %257 to i1
  br i1 %258, label %259, label %263

259:                                              ; preds = %252
  %260 = load ptr, ptr @stderr, align 8, !tbaa !9
  %261 = call i32 @fileno(ptr noundef %260) #9
  %262 = call i32 @isatty(i32 noundef %261) #9
  %.not1400 = icmp eq i32 %262, 0
  br i1 %.not1400, label %263, label %264

263:                                              ; preds = %259, %252
  br label %264

264:                                              ; preds = %259, %263
  %.str.5.sink1496 = phi ptr [ @.str.5, %263 ], [ @.str.2, %259 ]
  store i32 %254, ptr %253, align 4, !tbaa !5
  %265 = load ptr, ptr @stderr, align 8, !tbaa !9
  %266 = load i32, ptr @test_count, align 4, !tbaa !5
  %267 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %268 = load i32, ptr %267, align 4, !tbaa !5
  %269 = call ptr @s2n_strerror(i32 noundef %268, ptr noundef nonnull @.str.4) #9
  %270 = load i32, ptr %267, align 4, !tbaa !5
  %271 = call ptr @s2n_strerror_debug(i32 noundef %270, ptr noundef nonnull @.str.4) #9
  %272 = load i32, ptr %253, align 4, !tbaa !5
  %273 = call ptr @strerror(i32 noundef %272) #9
  %274 = load i32, ptr %253, align 4, !tbaa !5
  %275 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %265, ptr noundef nonnull %.str.5.sink1496, i32 noundef %266, ptr noundef nonnull @.str.17, ptr noundef nonnull @.str.1, i32 noundef 85, ptr noundef %269, ptr noundef %271, ptr noundef %273, i32 noundef %274) #11
  call void @exit(i32 noundef 1) #12
  unreachable

276:                                              ; preds = %245
  %277 = load i32, ptr @test_count, align 4, !tbaa !5
  %278 = add nsw i32 %277, 1
  store i32 %278, ptr @test_count, align 4, !tbaa !5
  %279 = load ptr, ptr %4, align 8, !tbaa !9
  %280 = call i32 @s2n_config_add_cert_chain_and_key_to_store(ptr noundef %246, ptr noundef %279) #9
  %281 = icmp eq i32 %280, -1
  br i1 %281, label %282, label %306

282:                                              ; preds = %276
  %283 = tail call ptr @__errno_location() #10
  %284 = load i32, ptr %283, align 4, !tbaa !5
  %285 = load ptr, ptr @stderr, align 8, !tbaa !9
  %286 = call i32 @s2n_print_stacktrace(ptr noundef %285) #9
  %287 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %288 = trunc nuw i8 %287 to i1
  br i1 %288, label %289, label %293

289:                                              ; preds = %282
  %290 = load ptr, ptr @stderr, align 8, !tbaa !9
  %291 = call i32 @fileno(ptr noundef %290) #9
  %292 = call i32 @isatty(i32 noundef %291) #9
  %.not1399 = icmp eq i32 %292, 0
  br i1 %.not1399, label %293, label %294

293:                                              ; preds = %289, %282
  br label %294

294:                                              ; preds = %289, %293
  %.str.5.sink1507 = phi ptr [ @.str.5, %293 ], [ @.str.2, %289 ]
  store i32 %284, ptr %283, align 4, !tbaa !5
  %295 = load ptr, ptr @stderr, align 8, !tbaa !9
  %296 = load i32, ptr @test_count, align 4, !tbaa !5
  %297 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %298 = load i32, ptr %297, align 4, !tbaa !5
  %299 = call ptr @s2n_strerror(i32 noundef %298, ptr noundef nonnull @.str.4) #9
  %300 = load i32, ptr %297, align 4, !tbaa !5
  %301 = call ptr @s2n_strerror_debug(i32 noundef %300, ptr noundef nonnull @.str.4) #9
  %302 = load i32, ptr %283, align 4, !tbaa !5
  %303 = call ptr @strerror(i32 noundef %302) #9
  %304 = load i32, ptr %283, align 4, !tbaa !5
  %305 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %295, ptr noundef nonnull %.str.5.sink1507, i32 noundef %296, ptr noundef nonnull @.str.18, ptr noundef nonnull @.str.1, i32 noundef 86, ptr noundef %299, ptr noundef %301, ptr noundef %303, i32 noundef %304) #11
  call void @exit(i32 noundef 1) #12
  unreachable

306:                                              ; preds = %276
  %307 = call ptr @s2n_config_new() #9
  %308 = call ptr @s2n_connection_new(i32 noundef 0) #9
  %309 = load i32, ptr @test_count, align 4, !tbaa !5
  %310 = add nsw i32 %309, 1
  store i32 %310, ptr @test_count, align 4, !tbaa !5
  %311 = call i32 @s2n_connection_set_config(ptr noundef %308, ptr noundef %183) #9
  %312 = icmp eq i32 %311, -1
  br i1 %312, label %313, label %337

313:                                              ; preds = %306
  %314 = tail call ptr @__errno_location() #10
  %315 = load i32, ptr %314, align 4, !tbaa !5
  %316 = load ptr, ptr @stderr, align 8, !tbaa !9
  %317 = call i32 @s2n_print_stacktrace(ptr noundef %316) #9
  %318 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %319 = trunc nuw i8 %318 to i1
  br i1 %319, label %320, label %324

320:                                              ; preds = %313
  %321 = load ptr, ptr @stderr, align 8, !tbaa !9
  %322 = call i32 @fileno(ptr noundef %321) #9
  %323 = call i32 @isatty(i32 noundef %322) #9
  %.not1398 = icmp eq i32 %323, 0
  br i1 %.not1398, label %324, label %325

324:                                              ; preds = %320, %313
  br label %325

325:                                              ; preds = %320, %324
  %.str.5.sink1518 = phi ptr [ @.str.5, %324 ], [ @.str.2, %320 ]
  store i32 %315, ptr %314, align 4, !tbaa !5
  %326 = load ptr, ptr @stderr, align 8, !tbaa !9
  %327 = load i32, ptr @test_count, align 4, !tbaa !5
  %328 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %329 = load i32, ptr %328, align 4, !tbaa !5
  %330 = call ptr @s2n_strerror(i32 noundef %329, ptr noundef nonnull @.str.4) #9
  %331 = load i32, ptr %328, align 4, !tbaa !5
  %332 = call ptr @s2n_strerror_debug(i32 noundef %331, ptr noundef nonnull @.str.4) #9
  %333 = load i32, ptr %314, align 4, !tbaa !5
  %334 = call ptr @strerror(i32 noundef %333) #9
  %335 = load i32, ptr %314, align 4, !tbaa !5
  %336 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %326, ptr noundef nonnull %.str.5.sink1518, i32 noundef %327, ptr noundef nonnull @.str.19, ptr noundef nonnull @.str.1, i32 noundef 105, ptr noundef %330, ptr noundef %332, ptr noundef %334, i32 noundef %335) #11
  call void @exit(i32 noundef 1) #12
  unreachable

337:                                              ; preds = %306
  %338 = load i32, ptr @test_count, align 4, !tbaa !5
  %339 = add nsw i32 %338, 1
  store i32 %339, ptr @test_count, align 4, !tbaa !5
  %340 = call i32 @s2n_is_cipher_suite_valid_for_auth(ptr noundef %308, ptr noundef nonnull @s2n_dhe_rsa_with_3des_ede_cbc_sha) #9
  %341 = icmp eq i32 %340, -1
  br i1 %341, label %366, label %342

342:                                              ; preds = %337
  %343 = tail call ptr @__errno_location() #10
  %344 = load i32, ptr %343, align 4, !tbaa !5
  %345 = load ptr, ptr @stderr, align 8, !tbaa !9
  %346 = call i32 @s2n_print_stacktrace(ptr noundef %345) #9
  %347 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %348 = trunc nuw i8 %347 to i1
  br i1 %348, label %349, label %353

349:                                              ; preds = %342
  %350 = load ptr, ptr @stderr, align 8, !tbaa !9
  %351 = call i32 @fileno(ptr noundef %350) #9
  %352 = call i32 @isatty(i32 noundef %351) #9
  %.not = icmp eq i32 %352, 0
  br i1 %.not, label %353, label %354

353:                                              ; preds = %349, %342
  br label %354

354:                                              ; preds = %349, %353
  %.str.5.sink1529 = phi ptr [ @.str.5, %353 ], [ @.str.2, %349 ]
  store i32 %344, ptr %343, align 4, !tbaa !5
  %355 = load ptr, ptr @stderr, align 8, !tbaa !9
  %356 = load i32, ptr @test_count, align 4, !tbaa !5
  %357 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %358 = load i32, ptr %357, align 4, !tbaa !5
  %359 = call ptr @s2n_strerror(i32 noundef %358, ptr noundef nonnull @.str.4) #9
  %360 = load i32, ptr %357, align 4, !tbaa !5
  %361 = call ptr @s2n_strerror_debug(i32 noundef %360, ptr noundef nonnull @.str.4) #9
  %362 = load i32, ptr %343, align 4, !tbaa !5
  %363 = call ptr @strerror(i32 noundef %362) #9
  %364 = load i32, ptr %343, align 4, !tbaa !5
  %365 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %355, ptr noundef nonnull %.str.5.sink1529, i32 noundef %356, ptr noundef nonnull @.str.20, ptr noundef nonnull @.str.1, i32 noundef 106, ptr noundef %359, ptr noundef %361, ptr noundef %363, i32 noundef %364) #11
  call void @exit(i32 noundef 1) #12
  unreachable

366:                                              ; preds = %337
  %367 = load i32, ptr @test_count, align 4, !tbaa !5
  %368 = add nsw i32 %367, 1
  store i32 %368, ptr @test_count, align 4, !tbaa !5
  %369 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %370 = load i32, ptr %369, align 4, !tbaa !5
  %371 = icmp eq i32 %370, 0
  br i1 %371, label %372, label %395

372:                                              ; preds = %366
  %373 = tail call ptr @__errno_location() #10
  %374 = load i32, ptr %373, align 4, !tbaa !5
  %375 = load ptr, ptr @stderr, align 8, !tbaa !9
  %376 = call i32 @s2n_print_stacktrace(ptr noundef %375) #9
  %377 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %378 = trunc nuw i8 %377 to i1
  br i1 %378, label %379, label %383

379:                                              ; preds = %372
  %380 = load ptr, ptr @stderr, align 8, !tbaa !9
  %381 = call i32 @fileno(ptr noundef %380) #9
  %382 = call i32 @isatty(i32 noundef %381) #9
  %.not1397 = icmp eq i32 %382, 0
  br i1 %.not1397, label %383, label %384

383:                                              ; preds = %379, %372
  br label %384

384:                                              ; preds = %379, %383
  %.str.5.sink1540 = phi ptr [ @.str.5, %383 ], [ @.str.2, %379 ]
  store i32 %374, ptr %373, align 4, !tbaa !5
  %385 = load ptr, ptr @stderr, align 8, !tbaa !9
  %386 = load i32, ptr @test_count, align 4, !tbaa !5
  %387 = load i32, ptr %369, align 4, !tbaa !5
  %388 = call ptr @s2n_strerror(i32 noundef %387, ptr noundef nonnull @.str.4) #9
  %389 = load i32, ptr %369, align 4, !tbaa !5
  %390 = call ptr @s2n_strerror_debug(i32 noundef %389, ptr noundef nonnull @.str.4) #9
  %391 = load i32, ptr %373, align 4, !tbaa !5
  %392 = call ptr @strerror(i32 noundef %391) #9
  %393 = load i32, ptr %373, align 4, !tbaa !5
  %394 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %385, ptr noundef nonnull %.str.5.sink1540, i32 noundef %386, ptr noundef nonnull @.str.21, ptr noundef nonnull @.str.1, i32 noundef 106, ptr noundef %388, ptr noundef %390, ptr noundef %392, i32 noundef %393) #11
  call void @exit(i32 noundef 1) #12
  unreachable

395:                                              ; preds = %366
  %396 = add nsw i32 %367, 2
  store i32 %396, ptr @test_count, align 4, !tbaa !5
  %397 = call ptr @s2n_strerror_debug(i32 noundef %370, ptr noundef nonnull @.str.4) #9
  %398 = icmp eq ptr %397, null
  br i1 %398, label %399, label %422

399:                                              ; preds = %395
  %400 = tail call ptr @__errno_location() #10
  %401 = load i32, ptr %400, align 4, !tbaa !5
  %402 = load ptr, ptr @stderr, align 8, !tbaa !9
  %403 = call i32 @s2n_print_stacktrace(ptr noundef %402) #9
  %404 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %405 = trunc nuw i8 %404 to i1
  br i1 %405, label %406, label %410

406:                                              ; preds = %399
  %407 = load ptr, ptr @stderr, align 8, !tbaa !9
  %408 = call i32 @fileno(ptr noundef %407) #9
  %409 = call i32 @isatty(i32 noundef %408) #9
  %.not1396 = icmp eq i32 %409, 0
  br i1 %.not1396, label %410, label %411

410:                                              ; preds = %406, %399
  br label %411

411:                                              ; preds = %406, %410
  %.str.5.sink1549 = phi ptr [ @.str.5, %410 ], [ @.str.2, %406 ]
  store i32 %401, ptr %400, align 4, !tbaa !5
  %412 = load ptr, ptr @stderr, align 8, !tbaa !9
  %413 = load i32, ptr @test_count, align 4, !tbaa !5
  %414 = load i32, ptr %369, align 4, !tbaa !5
  %415 = call ptr @s2n_strerror(i32 noundef %414, ptr noundef nonnull @.str.4) #9
  %416 = load i32, ptr %369, align 4, !tbaa !5
  %417 = call ptr @s2n_strerror_debug(i32 noundef %416, ptr noundef nonnull @.str.4) #9
  %418 = load i32, ptr %400, align 4, !tbaa !5
  %419 = call ptr @strerror(i32 noundef %418) #9
  %420 = load i32, ptr %400, align 4, !tbaa !5
  %421 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %412, ptr noundef nonnull %.str.5.sink1549, i32 noundef %413, ptr noundef nonnull @.str.22, ptr noundef nonnull @.str.1, i32 noundef 106, ptr noundef %415, ptr noundef %417, ptr noundef %419, i32 noundef %420) #11
  call void @exit(i32 noundef 1) #12
  unreachable

422:                                              ; preds = %395
  store i32 0, ptr %369, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #9
  %423 = tail call ptr @__errno_location() #10
  store i32 0, ptr %423, align 4, !tbaa !5
  %424 = load i32, ptr @test_count, align 4, !tbaa !5
  %425 = add nsw i32 %424, 1
  store i32 %425, ptr @test_count, align 4, !tbaa !5
  %426 = call i32 @s2n_is_cipher_suite_valid_for_auth(ptr noundef %308, ptr noundef nonnull @s2n_ecdhe_ecdsa_with_aes_128_cbc_sha) #9
  %427 = icmp eq i32 %426, -1
  br i1 %427, label %450, label %428

428:                                              ; preds = %422
  %429 = load i32, ptr %423, align 4, !tbaa !5
  %430 = load ptr, ptr @stderr, align 8, !tbaa !9
  %431 = call i32 @s2n_print_stacktrace(ptr noundef %430) #9
  %432 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %433 = trunc nuw i8 %432 to i1
  br i1 %433, label %434, label %438

434:                                              ; preds = %428
  %435 = load ptr, ptr @stderr, align 8, !tbaa !9
  %436 = call i32 @fileno(ptr noundef %435) #9
  %437 = call i32 @isatty(i32 noundef %436) #9
  %.not1016 = icmp eq i32 %437, 0
  br i1 %.not1016, label %438, label %439

438:                                              ; preds = %434, %428
  br label %439

439:                                              ; preds = %434, %438
  %.str.5.sink1558 = phi ptr [ @.str.5, %438 ], [ @.str.2, %434 ]
  store i32 %429, ptr %423, align 4, !tbaa !5
  %440 = load ptr, ptr @stderr, align 8, !tbaa !9
  %441 = load i32, ptr @test_count, align 4, !tbaa !5
  %442 = load i32, ptr %369, align 4, !tbaa !5
  %443 = call ptr @s2n_strerror(i32 noundef %442, ptr noundef nonnull @.str.4) #9
  %444 = load i32, ptr %369, align 4, !tbaa !5
  %445 = call ptr @s2n_strerror_debug(i32 noundef %444, ptr noundef nonnull @.str.4) #9
  %446 = load i32, ptr %423, align 4, !tbaa !5
  %447 = call ptr @strerror(i32 noundef %446) #9
  %448 = load i32, ptr %423, align 4, !tbaa !5
  %449 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %440, ptr noundef nonnull %.str.5.sink1558, i32 noundef %441, ptr noundef nonnull @.str.23, ptr noundef nonnull @.str.1, i32 noundef 107, ptr noundef %443, ptr noundef %445, ptr noundef %447, i32 noundef %448) #11
  call void @exit(i32 noundef 1) #12
  unreachable

450:                                              ; preds = %422
  %451 = load i32, ptr @test_count, align 4, !tbaa !5
  %452 = add nsw i32 %451, 1
  store i32 %452, ptr @test_count, align 4, !tbaa !5
  %453 = load i32, ptr %369, align 4, !tbaa !5
  %454 = icmp eq i32 %453, 0
  br i1 %454, label %455, label %477

455:                                              ; preds = %450
  %456 = load i32, ptr %423, align 4, !tbaa !5
  %457 = load ptr, ptr @stderr, align 8, !tbaa !9
  %458 = call i32 @s2n_print_stacktrace(ptr noundef %457) #9
  %459 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %460 = trunc nuw i8 %459 to i1
  br i1 %460, label %461, label %465

461:                                              ; preds = %455
  %462 = load ptr, ptr @stderr, align 8, !tbaa !9
  %463 = call i32 @fileno(ptr noundef %462) #9
  %464 = call i32 @isatty(i32 noundef %463) #9
  %.not1395 = icmp eq i32 %464, 0
  br i1 %.not1395, label %465, label %466

465:                                              ; preds = %461, %455
  br label %466

466:                                              ; preds = %461, %465
  %.str.5.sink1567 = phi ptr [ @.str.5, %465 ], [ @.str.2, %461 ]
  store i32 %456, ptr %423, align 4, !tbaa !5
  %467 = load ptr, ptr @stderr, align 8, !tbaa !9
  %468 = load i32, ptr @test_count, align 4, !tbaa !5
  %469 = load i32, ptr %369, align 4, !tbaa !5
  %470 = call ptr @s2n_strerror(i32 noundef %469, ptr noundef nonnull @.str.4) #9
  %471 = load i32, ptr %369, align 4, !tbaa !5
  %472 = call ptr @s2n_strerror_debug(i32 noundef %471, ptr noundef nonnull @.str.4) #9
  %473 = load i32, ptr %423, align 4, !tbaa !5
  %474 = call ptr @strerror(i32 noundef %473) #9
  %475 = load i32, ptr %423, align 4, !tbaa !5
  %476 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %467, ptr noundef nonnull %.str.5.sink1567, i32 noundef %468, ptr noundef nonnull @.str.21, ptr noundef nonnull @.str.1, i32 noundef 107, ptr noundef %470, ptr noundef %472, ptr noundef %474, i32 noundef %475) #11
  call void @exit(i32 noundef 1) #12
  unreachable

477:                                              ; preds = %450
  %478 = add nsw i32 %451, 2
  store i32 %478, ptr @test_count, align 4, !tbaa !5
  %479 = call ptr @s2n_strerror_debug(i32 noundef %453, ptr noundef nonnull @.str.4) #9
  %480 = icmp eq ptr %479, null
  br i1 %480, label %481, label %503

481:                                              ; preds = %477
  %482 = load i32, ptr %423, align 4, !tbaa !5
  %483 = load ptr, ptr @stderr, align 8, !tbaa !9
  %484 = call i32 @s2n_print_stacktrace(ptr noundef %483) #9
  %485 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %486 = trunc nuw i8 %485 to i1
  br i1 %486, label %487, label %491

487:                                              ; preds = %481
  %488 = load ptr, ptr @stderr, align 8, !tbaa !9
  %489 = call i32 @fileno(ptr noundef %488) #9
  %490 = call i32 @isatty(i32 noundef %489) #9
  %.not1394 = icmp eq i32 %490, 0
  br i1 %.not1394, label %491, label %492

491:                                              ; preds = %487, %481
  br label %492

492:                                              ; preds = %487, %491
  %.str.5.sink1576 = phi ptr [ @.str.5, %491 ], [ @.str.2, %487 ]
  store i32 %482, ptr %423, align 4, !tbaa !5
  %493 = load ptr, ptr @stderr, align 8, !tbaa !9
  %494 = load i32, ptr @test_count, align 4, !tbaa !5
  %495 = load i32, ptr %369, align 4, !tbaa !5
  %496 = call ptr @s2n_strerror(i32 noundef %495, ptr noundef nonnull @.str.4) #9
  %497 = load i32, ptr %369, align 4, !tbaa !5
  %498 = call ptr @s2n_strerror_debug(i32 noundef %497, ptr noundef nonnull @.str.4) #9
  %499 = load i32, ptr %423, align 4, !tbaa !5
  %500 = call ptr @strerror(i32 noundef %499) #9
  %501 = load i32, ptr %423, align 4, !tbaa !5
  %502 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %493, ptr noundef nonnull %.str.5.sink1576, i32 noundef %494, ptr noundef nonnull @.str.22, ptr noundef nonnull @.str.1, i32 noundef 107, ptr noundef %496, ptr noundef %498, ptr noundef %500, i32 noundef %501) #11
  call void @exit(i32 noundef 1) #12
  unreachable

503:                                              ; preds = %477
  store i32 0, ptr %369, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #9
  store i32 0, ptr %423, align 4, !tbaa !5
  %504 = load i32, ptr @test_count, align 4, !tbaa !5
  %505 = add nsw i32 %504, 1
  store i32 %505, ptr @test_count, align 4, !tbaa !5
  %506 = call i32 @s2n_is_cipher_suite_valid_for_auth(ptr noundef %308, ptr noundef nonnull @s2n_tls13_aes_128_gcm_sha256) #9
  %507 = icmp eq i32 %506, -1
  br i1 %507, label %508, label %530

508:                                              ; preds = %503
  %509 = load i32, ptr %423, align 4, !tbaa !5
  %510 = load ptr, ptr @stderr, align 8, !tbaa !9
  %511 = call i32 @s2n_print_stacktrace(ptr noundef %510) #9
  %512 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %513 = trunc nuw i8 %512 to i1
  br i1 %513, label %514, label %518

514:                                              ; preds = %508
  %515 = load ptr, ptr @stderr, align 8, !tbaa !9
  %516 = call i32 @fileno(ptr noundef %515) #9
  %517 = call i32 @isatty(i32 noundef %516) #9
  %.not1393 = icmp eq i32 %517, 0
  br i1 %.not1393, label %518, label %519

518:                                              ; preds = %514, %508
  br label %519

519:                                              ; preds = %514, %518
  %.str.5.sink1585 = phi ptr [ @.str.5, %518 ], [ @.str.2, %514 ]
  store i32 %509, ptr %423, align 4, !tbaa !5
  %520 = load ptr, ptr @stderr, align 8, !tbaa !9
  %521 = load i32, ptr @test_count, align 4, !tbaa !5
  %522 = load i32, ptr %369, align 4, !tbaa !5
  %523 = call ptr @s2n_strerror(i32 noundef %522, ptr noundef nonnull @.str.4) #9
  %524 = load i32, ptr %369, align 4, !tbaa !5
  %525 = call ptr @s2n_strerror_debug(i32 noundef %524, ptr noundef nonnull @.str.4) #9
  %526 = load i32, ptr %423, align 4, !tbaa !5
  %527 = call ptr @strerror(i32 noundef %526) #9
  %528 = load i32, ptr %423, align 4, !tbaa !5
  %529 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %520, ptr noundef nonnull %.str.5.sink1585, i32 noundef %521, ptr noundef nonnull @.str.24, ptr noundef nonnull @.str.1, i32 noundef 108, ptr noundef %523, ptr noundef %525, ptr noundef %527, i32 noundef %528) #11
  call void @exit(i32 noundef 1) #12
  unreachable

530:                                              ; preds = %503
  %531 = load i32, ptr @test_count, align 4, !tbaa !5
  %532 = add nsw i32 %531, 1
  store i32 %532, ptr @test_count, align 4, !tbaa !5
  %533 = call i32 @s2n_connection_set_config(ptr noundef %308, ptr noundef %184) #9
  %534 = icmp eq i32 %533, -1
  br i1 %534, label %535, label %557

535:                                              ; preds = %530
  %536 = load i32, ptr %423, align 4, !tbaa !5
  %537 = load ptr, ptr @stderr, align 8, !tbaa !9
  %538 = call i32 @s2n_print_stacktrace(ptr noundef %537) #9
  %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 = %535
  %542 = load ptr, ptr @stderr, align 8, !tbaa !9
  %543 = call i32 @fileno(ptr noundef %542) #9
  %544 = call i32 @isatty(i32 noundef %543) #9
  %.not1392 = icmp eq i32 %544, 0
  br i1 %.not1392, label %545, label %546

545:                                              ; preds = %541, %535
  br label %546

546:                                              ; preds = %541, %545
  %.str.5.sink1594 = phi ptr [ @.str.5, %545 ], [ @.str.2, %541 ]
  store i32 %536, ptr %423, align 4, !tbaa !5
  %547 = load ptr, ptr @stderr, align 8, !tbaa !9
  %548 = load i32, ptr @test_count, align 4, !tbaa !5
  %549 = load i32, ptr %369, align 4, !tbaa !5
  %550 = call ptr @s2n_strerror(i32 noundef %549, ptr noundef nonnull @.str.4) #9
  %551 = load i32, ptr %369, align 4, !tbaa !5
  %552 = call ptr @s2n_strerror_debug(i32 noundef %551, ptr noundef nonnull @.str.4) #9
  %553 = load i32, ptr %423, align 4, !tbaa !5
  %554 = call ptr @strerror(i32 noundef %553) #9
  %555 = load i32, ptr %423, align 4, !tbaa !5
  %556 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %547, ptr noundef nonnull %.str.5.sink1594, i32 noundef %548, ptr noundef nonnull @.str.25, ptr noundef nonnull @.str.1, i32 noundef 111, ptr noundef %550, ptr noundef %552, ptr noundef %554, i32 noundef %555) #11
  call void @exit(i32 noundef 1) #12
  unreachable

557:                                              ; preds = %530
  %558 = load i32, ptr @test_count, align 4, !tbaa !5
  %559 = add nsw i32 %558, 1
  store i32 %559, ptr @test_count, align 4, !tbaa !5
  %560 = call i32 @s2n_is_cipher_suite_valid_for_auth(ptr noundef %308, ptr noundef nonnull @s2n_dhe_rsa_with_3des_ede_cbc_sha) #9
  %561 = icmp eq i32 %560, -1
  br i1 %561, label %562, label %584

562:                                              ; preds = %557
  %563 = load i32, ptr %423, align 4, !tbaa !5
  %564 = load ptr, ptr @stderr, align 8, !tbaa !9
  %565 = call i32 @s2n_print_stacktrace(ptr noundef %564) #9
  %566 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %567 = trunc nuw i8 %566 to i1
  br i1 %567, label %568, label %572

568:                                              ; preds = %562
  %569 = load ptr, ptr @stderr, align 8, !tbaa !9
  %570 = call i32 @fileno(ptr noundef %569) #9
  %571 = call i32 @isatty(i32 noundef %570) #9
  %.not1391 = icmp eq i32 %571, 0
  br i1 %.not1391, label %572, label %573

572:                                              ; preds = %568, %562
  br label %573

573:                                              ; preds = %568, %572
  %.str.5.sink1603 = phi ptr [ @.str.5, %572 ], [ @.str.2, %568 ]
  store i32 %563, ptr %423, align 4, !tbaa !5
  %574 = load ptr, ptr @stderr, align 8, !tbaa !9
  %575 = load i32, ptr @test_count, align 4, !tbaa !5
  %576 = load i32, ptr %369, align 4, !tbaa !5
  %577 = call ptr @s2n_strerror(i32 noundef %576, ptr noundef nonnull @.str.4) #9
  %578 = load i32, ptr %369, align 4, !tbaa !5
  %579 = call ptr @s2n_strerror_debug(i32 noundef %578, ptr noundef nonnull @.str.4) #9
  %580 = load i32, ptr %423, align 4, !tbaa !5
  %581 = call ptr @strerror(i32 noundef %580) #9
  %582 = load i32, ptr %423, align 4, !tbaa !5
  %583 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %574, ptr noundef nonnull %.str.5.sink1603, i32 noundef %575, ptr noundef nonnull @.str.26, ptr noundef nonnull @.str.1, i32 noundef 112, ptr noundef %577, ptr noundef %579, ptr noundef %581, i32 noundef %582) #11
  call void @exit(i32 noundef 1) #12
  unreachable

584:                                              ; preds = %557
  %585 = load i32, ptr @test_count, align 4, !tbaa !5
  %586 = add nsw i32 %585, 1
  store i32 %586, ptr @test_count, align 4, !tbaa !5
  %587 = call i32 @s2n_is_cipher_suite_valid_for_auth(ptr noundef %308, ptr noundef nonnull @s2n_ecdhe_ecdsa_with_aes_128_cbc_sha) #9
  %588 = icmp eq i32 %587, -1
  br i1 %588, label %611, label %589

589:                                              ; preds = %584
  %590 = load i32, ptr %423, align 4, !tbaa !5
  %591 = load ptr, ptr @stderr, align 8, !tbaa !9
  %592 = call i32 @s2n_print_stacktrace(ptr noundef %591) #9
  %593 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %594 = trunc nuw i8 %593 to i1
  br i1 %594, label %595, label %599

595:                                              ; preds = %589
  %596 = load ptr, ptr @stderr, align 8, !tbaa !9
  %597 = call i32 @fileno(ptr noundef %596) #9
  %598 = call i32 @isatty(i32 noundef %597) #9
  %.not1017 = icmp eq i32 %598, 0
  br i1 %.not1017, label %599, label %600

599:                                              ; preds = %595, %589
  br label %600

600:                                              ; preds = %595, %599
  %.str.5.sink1612 = phi ptr [ @.str.5, %599 ], [ @.str.2, %595 ]
  store i32 %590, ptr %423, align 4, !tbaa !5
  %601 = load ptr, ptr @stderr, align 8, !tbaa !9
  %602 = load i32, ptr @test_count, align 4, !tbaa !5
  %603 = load i32, ptr %369, align 4, !tbaa !5
  %604 = call ptr @s2n_strerror(i32 noundef %603, ptr noundef nonnull @.str.4) #9
  %605 = load i32, ptr %369, align 4, !tbaa !5
  %606 = call ptr @s2n_strerror_debug(i32 noundef %605, ptr noundef nonnull @.str.4) #9
  %607 = load i32, ptr %423, align 4, !tbaa !5
  %608 = call ptr @strerror(i32 noundef %607) #9
  %609 = load i32, ptr %423, align 4, !tbaa !5
  %610 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %601, ptr noundef nonnull %.str.5.sink1612, i32 noundef %602, ptr noundef nonnull @.str.23, ptr noundef nonnull @.str.1, i32 noundef 113, ptr noundef %604, ptr noundef %606, ptr noundef %608, i32 noundef %609) #11
  call void @exit(i32 noundef 1) #12
  unreachable

611:                                              ; preds = %584
  %612 = load i32, ptr @test_count, align 4, !tbaa !5
  %613 = add nsw i32 %612, 1
  store i32 %613, ptr @test_count, align 4, !tbaa !5
  %614 = load i32, ptr %369, align 4, !tbaa !5
  %615 = icmp eq i32 %614, 0
  br i1 %615, label %616, label %638

616:                                              ; preds = %611
  %617 = load i32, ptr %423, align 4, !tbaa !5
  %618 = load ptr, ptr @stderr, align 8, !tbaa !9
  %619 = call i32 @s2n_print_stacktrace(ptr noundef %618) #9
  %620 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %621 = trunc nuw i8 %620 to i1
  br i1 %621, label %622, label %626

622:                                              ; preds = %616
  %623 = load ptr, ptr @stderr, align 8, !tbaa !9
  %624 = call i32 @fileno(ptr noundef %623) #9
  %625 = call i32 @isatty(i32 noundef %624) #9
  %.not1390 = icmp eq i32 %625, 0
  br i1 %.not1390, label %626, label %627

626:                                              ; preds = %622, %616
  br label %627

627:                                              ; preds = %622, %626
  %.str.5.sink1621 = phi ptr [ @.str.5, %626 ], [ @.str.2, %622 ]
  store i32 %617, ptr %423, align 4, !tbaa !5
  %628 = load ptr, ptr @stderr, align 8, !tbaa !9
  %629 = load i32, ptr @test_count, align 4, !tbaa !5
  %630 = load i32, ptr %369, align 4, !tbaa !5
  %631 = call ptr @s2n_strerror(i32 noundef %630, ptr noundef nonnull @.str.4) #9
  %632 = load i32, ptr %369, align 4, !tbaa !5
  %633 = call ptr @s2n_strerror_debug(i32 noundef %632, ptr noundef nonnull @.str.4) #9
  %634 = load i32, ptr %423, align 4, !tbaa !5
  %635 = call ptr @strerror(i32 noundef %634) #9
  %636 = load i32, ptr %423, align 4, !tbaa !5
  %637 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %628, ptr noundef nonnull %.str.5.sink1621, i32 noundef %629, ptr noundef nonnull @.str.21, ptr noundef nonnull @.str.1, i32 noundef 113, ptr noundef %631, ptr noundef %633, ptr noundef %635, i32 noundef %636) #11
  call void @exit(i32 noundef 1) #12
  unreachable

638:                                              ; preds = %611
  %639 = add nsw i32 %612, 2
  store i32 %639, ptr @test_count, align 4, !tbaa !5
  %640 = call ptr @s2n_strerror_debug(i32 noundef %614, ptr noundef nonnull @.str.4) #9
  %641 = icmp eq ptr %640, null
  br i1 %641, label %642, label %664

642:                                              ; preds = %638
  %643 = load i32, ptr %423, align 4, !tbaa !5
  %644 = load ptr, ptr @stderr, align 8, !tbaa !9
  %645 = call i32 @s2n_print_stacktrace(ptr noundef %644) #9
  %646 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %647 = trunc nuw i8 %646 to i1
  br i1 %647, label %648, label %652

648:                                              ; preds = %642
  %649 = load ptr, ptr @stderr, align 8, !tbaa !9
  %650 = call i32 @fileno(ptr noundef %649) #9
  %651 = call i32 @isatty(i32 noundef %650) #9
  %.not1389 = icmp eq i32 %651, 0
  br i1 %.not1389, label %652, label %653

652:                                              ; preds = %648, %642
  br label %653

653:                                              ; preds = %648, %652
  %.str.5.sink1630 = phi ptr [ @.str.5, %652 ], [ @.str.2, %648 ]
  store i32 %643, ptr %423, align 4, !tbaa !5
  %654 = load ptr, ptr @stderr, align 8, !tbaa !9
  %655 = load i32, ptr @test_count, align 4, !tbaa !5
  %656 = load i32, ptr %369, align 4, !tbaa !5
  %657 = call ptr @s2n_strerror(i32 noundef %656, ptr noundef nonnull @.str.4) #9
  %658 = load i32, ptr %369, align 4, !tbaa !5
  %659 = call ptr @s2n_strerror_debug(i32 noundef %658, ptr noundef nonnull @.str.4) #9
  %660 = load i32, ptr %423, align 4, !tbaa !5
  %661 = call ptr @strerror(i32 noundef %660) #9
  %662 = load i32, ptr %423, align 4, !tbaa !5
  %663 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %654, ptr noundef nonnull %.str.5.sink1630, i32 noundef %655, ptr noundef nonnull @.str.22, ptr noundef nonnull @.str.1, i32 noundef 113, ptr noundef %657, ptr noundef %659, ptr noundef %661, i32 noundef %662) #11
  call void @exit(i32 noundef 1) #12
  unreachable

664:                                              ; preds = %638
  store i32 0, ptr %369, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #9
  store i32 0, ptr %423, align 4, !tbaa !5
  %665 = load i32, ptr @test_count, align 4, !tbaa !5
  %666 = add nsw i32 %665, 1
  store i32 %666, ptr @test_count, align 4, !tbaa !5
  %667 = call i32 @s2n_is_cipher_suite_valid_for_auth(ptr noundef %308, ptr noundef nonnull @s2n_tls13_aes_128_gcm_sha256) #9
  %668 = icmp eq i32 %667, -1
  br i1 %668, label %669, label %691

669:                                              ; preds = %664
  %670 = load i32, ptr %423, align 4, !tbaa !5
  %671 = load ptr, ptr @stderr, align 8, !tbaa !9
  %672 = call i32 @s2n_print_stacktrace(ptr noundef %671) #9
  %673 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %674 = trunc nuw i8 %673 to i1
  br i1 %674, label %675, label %679

675:                                              ; preds = %669
  %676 = load ptr, ptr @stderr, align 8, !tbaa !9
  %677 = call i32 @fileno(ptr noundef %676) #9
  %678 = call i32 @isatty(i32 noundef %677) #9
  %.not1388 = icmp eq i32 %678, 0
  br i1 %.not1388, label %679, label %680

679:                                              ; preds = %675, %669
  br label %680

680:                                              ; preds = %675, %679
  %.str.5.sink1639 = phi ptr [ @.str.5, %679 ], [ @.str.2, %675 ]
  store i32 %670, ptr %423, align 4, !tbaa !5
  %681 = load ptr, ptr @stderr, align 8, !tbaa !9
  %682 = load i32, ptr @test_count, align 4, !tbaa !5
  %683 = load i32, ptr %369, align 4, !tbaa !5
  %684 = call ptr @s2n_strerror(i32 noundef %683, ptr noundef nonnull @.str.4) #9
  %685 = load i32, ptr %369, align 4, !tbaa !5
  %686 = call ptr @s2n_strerror_debug(i32 noundef %685, ptr noundef nonnull @.str.4) #9
  %687 = load i32, ptr %423, align 4, !tbaa !5
  %688 = call ptr @strerror(i32 noundef %687) #9
  %689 = load i32, ptr %423, align 4, !tbaa !5
  %690 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %681, ptr noundef nonnull %.str.5.sink1639, i32 noundef %682, ptr noundef nonnull @.str.24, ptr noundef nonnull @.str.1, i32 noundef 114, ptr noundef %684, ptr noundef %686, ptr noundef %688, i32 noundef %689) #11
  call void @exit(i32 noundef 1) #12
  unreachable

691:                                              ; preds = %664
  %692 = load i32, ptr @test_count, align 4, !tbaa !5
  %693 = add nsw i32 %692, 1
  store i32 %693, ptr @test_count, align 4, !tbaa !5
  %694 = call i32 @s2n_connection_set_config(ptr noundef %308, ptr noundef %307) #9
  %695 = icmp eq i32 %694, -1
  br i1 %695, label %696, label %718

696:                                              ; preds = %691
  %697 = load i32, ptr %423, align 4, !tbaa !5
  %698 = load ptr, ptr @stderr, align 8, !tbaa !9
  %699 = call i32 @s2n_print_stacktrace(ptr noundef %698) #9
  %700 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %701 = trunc nuw i8 %700 to i1
  br i1 %701, label %702, label %706

702:                                              ; preds = %696
  %703 = load ptr, ptr @stderr, align 8, !tbaa !9
  %704 = call i32 @fileno(ptr noundef %703) #9
  %705 = call i32 @isatty(i32 noundef %704) #9
  %.not1387 = icmp eq i32 %705, 0
  br i1 %.not1387, label %706, label %707

706:                                              ; preds = %702, %696
  br label %707

707:                                              ; preds = %702, %706
  %.str.5.sink1648 = phi ptr [ @.str.5, %706 ], [ @.str.2, %702 ]
  store i32 %697, ptr %423, align 4, !tbaa !5
  %708 = load ptr, ptr @stderr, align 8, !tbaa !9
  %709 = load i32, ptr @test_count, align 4, !tbaa !5
  %710 = load i32, ptr %369, align 4, !tbaa !5
  %711 = call ptr @s2n_strerror(i32 noundef %710, ptr noundef nonnull @.str.4) #9
  %712 = load i32, ptr %369, align 4, !tbaa !5
  %713 = call ptr @s2n_strerror_debug(i32 noundef %712, ptr noundef nonnull @.str.4) #9
  %714 = load i32, ptr %423, align 4, !tbaa !5
  %715 = call ptr @strerror(i32 noundef %714) #9
  %716 = load i32, ptr %423, align 4, !tbaa !5
  %717 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %708, ptr noundef nonnull %.str.5.sink1648, i32 noundef %709, ptr noundef nonnull @.str.27, ptr noundef nonnull @.str.1, i32 noundef 117, ptr noundef %711, ptr noundef %713, ptr noundef %715, i32 noundef %716) #11
  call void @exit(i32 noundef 1) #12
  unreachable

718:                                              ; preds = %691
  %719 = call zeroext i1 (...) @s2n_is_rsa_pss_certs_supported() #9
  %720 = load i32, ptr @test_count, align 4, !tbaa !5
  %721 = add nsw i32 %720, 1
  store i32 %721, ptr @test_count, align 4, !tbaa !5
  %722 = call i32 @s2n_is_cipher_suite_valid_for_auth(ptr noundef %308, ptr noundef nonnull @s2n_dhe_rsa_with_3des_ede_cbc_sha) #9
  %723 = icmp eq i32 %722, -1
  br i1 %719, label %724, label %747

724:                                              ; preds = %718
  br i1 %723, label %725, label %824

725:                                              ; preds = %724
  %726 = load i32, ptr %423, align 4, !tbaa !5
  %727 = load ptr, ptr @stderr, align 8, !tbaa !9
  %728 = call i32 @s2n_print_stacktrace(ptr noundef %727) #9
  %729 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %730 = trunc nuw i8 %729 to i1
  br i1 %730, label %731, label %735

731:                                              ; preds = %725
  %732 = load ptr, ptr @stderr, align 8, !tbaa !9
  %733 = call i32 @fileno(ptr noundef %732) #9
  %734 = call i32 @isatty(i32 noundef %733) #9
  %.not1386 = icmp eq i32 %734, 0
  br i1 %.not1386, label %735, label %736

735:                                              ; preds = %731, %725
  br label %736

736:                                              ; preds = %731, %735
  %.str.5.sink1657 = phi ptr [ @.str.5, %735 ], [ @.str.2, %731 ]
  store i32 %726, ptr %423, align 4, !tbaa !5
  %737 = load ptr, ptr @stderr, align 8, !tbaa !9
  %738 = load i32, ptr @test_count, align 4, !tbaa !5
  %739 = load i32, ptr %369, align 4, !tbaa !5
  %740 = call ptr @s2n_strerror(i32 noundef %739, ptr noundef nonnull @.str.4) #9
  %741 = load i32, ptr %369, align 4, !tbaa !5
  %742 = call ptr @s2n_strerror_debug(i32 noundef %741, ptr noundef nonnull @.str.4) #9
  %743 = load i32, ptr %423, align 4, !tbaa !5
  %744 = call ptr @strerror(i32 noundef %743) #9
  %745 = load i32, ptr %423, align 4, !tbaa !5
  %746 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %737, ptr noundef nonnull %.str.5.sink1657, i32 noundef %738, ptr noundef nonnull @.str.26, ptr noundef nonnull @.str.1, i32 noundef 118, ptr noundef %740, ptr noundef %742, ptr noundef %744, i32 noundef %745) #11
  call void @exit(i32 noundef 1) #12
  unreachable

747:                                              ; preds = %718
  br i1 %723, label %770, label %748

748:                                              ; preds = %747
  %749 = load i32, ptr %423, align 4, !tbaa !5
  %750 = load ptr, ptr @stderr, align 8, !tbaa !9
  %751 = call i32 @s2n_print_stacktrace(ptr noundef %750) #9
  %752 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %753 = trunc nuw i8 %752 to i1
  br i1 %753, label %754, label %758

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

758:                                              ; preds = %754, %748
  br label %759

759:                                              ; preds = %754, %758
  %.str.5.sink1666 = phi ptr [ @.str.5, %758 ], [ @.str.2, %754 ]
  store i32 %749, ptr %423, align 4, !tbaa !5
  %760 = load ptr, ptr @stderr, align 8, !tbaa !9
  %761 = load i32, ptr @test_count, align 4, !tbaa !5
  %762 = load i32, ptr %369, align 4, !tbaa !5
  %763 = call ptr @s2n_strerror(i32 noundef %762, ptr noundef nonnull @.str.4) #9
  %764 = load i32, ptr %369, align 4, !tbaa !5
  %765 = call ptr @s2n_strerror_debug(i32 noundef %764, ptr noundef nonnull @.str.4) #9
  %766 = load i32, ptr %423, align 4, !tbaa !5
  %767 = call ptr @strerror(i32 noundef %766) #9
  %768 = load i32, ptr %423, align 4, !tbaa !5
  %769 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %760, ptr noundef nonnull %.str.5.sink1666, i32 noundef %761, ptr noundef nonnull @.str.20, ptr noundef nonnull @.str.1, i32 noundef 118, ptr noundef %763, ptr noundef %765, ptr noundef %767, i32 noundef %768) #11
  call void @exit(i32 noundef 1) #12
  unreachable

770:                                              ; preds = %747
  %771 = load i32, ptr @test_count, align 4, !tbaa !5
  %772 = add nsw i32 %771, 1
  store i32 %772, ptr @test_count, align 4, !tbaa !5
  %773 = load i32, ptr %369, align 4, !tbaa !5
  %774 = icmp eq i32 %773, 0
  br i1 %774, label %775, label %797

775:                                              ; preds = %770
  %776 = load i32, ptr %423, align 4, !tbaa !5
  %777 = load ptr, ptr @stderr, align 8, !tbaa !9
  %778 = call i32 @s2n_print_stacktrace(ptr noundef %777) #9
  %779 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %780 = trunc nuw i8 %779 to i1
  br i1 %780, label %781, label %785

781:                                              ; preds = %775
  %782 = load ptr, ptr @stderr, align 8, !tbaa !9
  %783 = call i32 @fileno(ptr noundef %782) #9
  %784 = call i32 @isatty(i32 noundef %783) #9
  %.not1020 = icmp eq i32 %784, 0
  br i1 %.not1020, label %785, label %786

785:                                              ; preds = %781, %775
  br label %786

786:                                              ; preds = %781, %785
  %.str.5.sink1675 = phi ptr [ @.str.5, %785 ], [ @.str.2, %781 ]
  store i32 %776, ptr %423, align 4, !tbaa !5
  %787 = load ptr, ptr @stderr, align 8, !tbaa !9
  %788 = load i32, ptr @test_count, align 4, !tbaa !5
  %789 = load i32, ptr %369, align 4, !tbaa !5
  %790 = call ptr @s2n_strerror(i32 noundef %789, ptr noundef nonnull @.str.4) #9
  %791 = load i32, ptr %369, align 4, !tbaa !5
  %792 = call ptr @s2n_strerror_debug(i32 noundef %791, ptr noundef nonnull @.str.4) #9
  %793 = load i32, ptr %423, align 4, !tbaa !5
  %794 = call ptr @strerror(i32 noundef %793) #9
  %795 = load i32, ptr %423, align 4, !tbaa !5
  %796 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %787, ptr noundef nonnull %.str.5.sink1675, i32 noundef %788, ptr noundef nonnull @.str.21, ptr noundef nonnull @.str.1, i32 noundef 118, ptr noundef %790, ptr noundef %792, ptr noundef %794, i32 noundef %795) #11
  call void @exit(i32 noundef 1) #12
  unreachable

797:                                              ; preds = %770
  %798 = add nsw i32 %771, 2
  store i32 %798, ptr @test_count, align 4, !tbaa !5
  %799 = call ptr @s2n_strerror_debug(i32 noundef %773, ptr noundef nonnull @.str.4) #9
  %800 = icmp eq ptr %799, null
  br i1 %800, label %801, label %823

801:                                              ; preds = %797
  %802 = load i32, ptr %423, align 4, !tbaa !5
  %803 = load ptr, ptr @stderr, align 8, !tbaa !9
  %804 = call i32 @s2n_print_stacktrace(ptr noundef %803) #9
  %805 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %806 = trunc nuw i8 %805 to i1
  br i1 %806, label %807, label %811

807:                                              ; preds = %801
  %808 = load ptr, ptr @stderr, align 8, !tbaa !9
  %809 = call i32 @fileno(ptr noundef %808) #9
  %810 = call i32 @isatty(i32 noundef %809) #9
  %.not1019 = icmp eq i32 %810, 0
  br i1 %.not1019, label %811, label %812

811:                                              ; preds = %807, %801
  br label %812

812:                                              ; preds = %807, %811
  %.str.5.sink1684 = phi ptr [ @.str.5, %811 ], [ @.str.2, %807 ]
  store i32 %802, ptr %423, align 4, !tbaa !5
  %813 = load ptr, ptr @stderr, align 8, !tbaa !9
  %814 = load i32, ptr @test_count, align 4, !tbaa !5
  %815 = load i32, ptr %369, align 4, !tbaa !5
  %816 = call ptr @s2n_strerror(i32 noundef %815, ptr noundef nonnull @.str.4) #9
  %817 = load i32, ptr %369, align 4, !tbaa !5
  %818 = call ptr @s2n_strerror_debug(i32 noundef %817, ptr noundef nonnull @.str.4) #9
  %819 = load i32, ptr %423, align 4, !tbaa !5
  %820 = call ptr @strerror(i32 noundef %819) #9
  %821 = load i32, ptr %423, align 4, !tbaa !5
  %822 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %813, ptr noundef nonnull %.str.5.sink1684, i32 noundef %814, ptr noundef nonnull @.str.22, ptr noundef nonnull @.str.1, i32 noundef 118, ptr noundef %816, ptr noundef %818, ptr noundef %820, i32 noundef %821) #11
  call void @exit(i32 noundef 1) #12
  unreachable

823:                                              ; preds = %797
  store i32 0, ptr %369, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #9
  store i32 0, ptr %423, align 4, !tbaa !5
  br label %824

824:                                              ; preds = %724, %823
  %825 = load i32, ptr @test_count, align 4, !tbaa !5
  %826 = add nsw i32 %825, 1
  store i32 %826, ptr @test_count, align 4, !tbaa !5
  %827 = call i32 @s2n_is_cipher_suite_valid_for_auth(ptr noundef %308, ptr noundef nonnull @s2n_ecdhe_ecdsa_with_aes_128_cbc_sha) #9
  %828 = icmp eq i32 %827, -1
  br i1 %828, label %851, label %829

829:                                              ; preds = %824
  %830 = load i32, ptr %423, align 4, !tbaa !5
  %831 = load ptr, ptr @stderr, align 8, !tbaa !9
  %832 = call i32 @s2n_print_stacktrace(ptr noundef %831) #9
  %833 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %834 = trunc nuw i8 %833 to i1
  br i1 %834, label %835, label %839

835:                                              ; preds = %829
  %836 = load ptr, ptr @stderr, align 8, !tbaa !9
  %837 = call i32 @fileno(ptr noundef %836) #9
  %838 = call i32 @isatty(i32 noundef %837) #9
  %.not1021 = icmp eq i32 %838, 0
  br i1 %.not1021, label %839, label %840

839:                                              ; preds = %835, %829
  br label %840

840:                                              ; preds = %835, %839
  %.str.5.sink1693 = phi ptr [ @.str.5, %839 ], [ @.str.2, %835 ]
  store i32 %830, ptr %423, align 4, !tbaa !5
  %841 = load ptr, ptr @stderr, align 8, !tbaa !9
  %842 = load i32, ptr @test_count, align 4, !tbaa !5
  %843 = load i32, ptr %369, align 4, !tbaa !5
  %844 = call ptr @s2n_strerror(i32 noundef %843, ptr noundef nonnull @.str.4) #9
  %845 = load i32, ptr %369, align 4, !tbaa !5
  %846 = call ptr @s2n_strerror_debug(i32 noundef %845, ptr noundef nonnull @.str.4) #9
  %847 = load i32, ptr %423, align 4, !tbaa !5
  %848 = call ptr @strerror(i32 noundef %847) #9
  %849 = load i32, ptr %423, align 4, !tbaa !5
  %850 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %841, ptr noundef nonnull %.str.5.sink1693, i32 noundef %842, ptr noundef nonnull @.str.23, ptr noundef nonnull @.str.1, i32 noundef 119, ptr noundef %844, ptr noundef %846, ptr noundef %848, i32 noundef %849) #11
  call void @exit(i32 noundef 1) #12
  unreachable

851:                                              ; preds = %824
  %852 = load i32, ptr @test_count, align 4, !tbaa !5
  %853 = add nsw i32 %852, 1
  store i32 %853, ptr @test_count, align 4, !tbaa !5
  %854 = load i32, ptr %369, align 4, !tbaa !5
  %855 = icmp eq i32 %854, 0
  br i1 %855, label %856, label %878

856:                                              ; preds = %851
  %857 = load i32, ptr %423, align 4, !tbaa !5
  %858 = load ptr, ptr @stderr, align 8, !tbaa !9
  %859 = call i32 @s2n_print_stacktrace(ptr noundef %858) #9
  %860 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %861 = trunc nuw i8 %860 to i1
  br i1 %861, label %862, label %866

862:                                              ; preds = %856
  %863 = load ptr, ptr @stderr, align 8, !tbaa !9
  %864 = call i32 @fileno(ptr noundef %863) #9
  %865 = call i32 @isatty(i32 noundef %864) #9
  %.not1385 = icmp eq i32 %865, 0
  br i1 %.not1385, label %866, label %867

866:                                              ; preds = %862, %856
  br label %867

867:                                              ; preds = %862, %866
  %.str.5.sink1702 = phi ptr [ @.str.5, %866 ], [ @.str.2, %862 ]
  store i32 %857, ptr %423, align 4, !tbaa !5
  %868 = load ptr, ptr @stderr, align 8, !tbaa !9
  %869 = load i32, ptr @test_count, align 4, !tbaa !5
  %870 = load i32, ptr %369, align 4, !tbaa !5
  %871 = call ptr @s2n_strerror(i32 noundef %870, ptr noundef nonnull @.str.4) #9
  %872 = load i32, ptr %369, align 4, !tbaa !5
  %873 = call ptr @s2n_strerror_debug(i32 noundef %872, ptr noundef nonnull @.str.4) #9
  %874 = load i32, ptr %423, align 4, !tbaa !5
  %875 = call ptr @strerror(i32 noundef %874) #9
  %876 = load i32, ptr %423, align 4, !tbaa !5
  %877 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %868, ptr noundef nonnull %.str.5.sink1702, i32 noundef %869, ptr noundef nonnull @.str.21, ptr noundef nonnull @.str.1, i32 noundef 119, ptr noundef %871, ptr noundef %873, ptr noundef %875, i32 noundef %876) #11
  call void @exit(i32 noundef 1) #12
  unreachable

878:                                              ; preds = %851
  %879 = add nsw i32 %852, 2
  store i32 %879, ptr @test_count, align 4, !tbaa !5
  %880 = call ptr @s2n_strerror_debug(i32 noundef %854, ptr noundef nonnull @.str.4) #9
  %881 = icmp eq ptr %880, null
  br i1 %881, label %882, label %904

882:                                              ; preds = %878
  %883 = load i32, ptr %423, align 4, !tbaa !5
  %884 = load ptr, ptr @stderr, align 8, !tbaa !9
  %885 = call i32 @s2n_print_stacktrace(ptr noundef %884) #9
  %886 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %887 = trunc nuw i8 %886 to i1
  br i1 %887, label %888, label %892

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

892:                                              ; preds = %888, %882
  br label %893

893:                                              ; preds = %888, %892
  %.str.5.sink1711 = phi ptr [ @.str.5, %892 ], [ @.str.2, %888 ]
  store i32 %883, ptr %423, align 4, !tbaa !5
  %894 = load ptr, ptr @stderr, align 8, !tbaa !9
  %895 = load i32, ptr @test_count, align 4, !tbaa !5
  %896 = load i32, ptr %369, align 4, !tbaa !5
  %897 = call ptr @s2n_strerror(i32 noundef %896, ptr noundef nonnull @.str.4) #9
  %898 = load i32, ptr %369, align 4, !tbaa !5
  %899 = call ptr @s2n_strerror_debug(i32 noundef %898, ptr noundef nonnull @.str.4) #9
  %900 = load i32, ptr %423, align 4, !tbaa !5
  %901 = call ptr @strerror(i32 noundef %900) #9
  %902 = load i32, ptr %423, align 4, !tbaa !5
  %903 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %894, ptr noundef nonnull %.str.5.sink1711, i32 noundef %895, ptr noundef nonnull @.str.22, ptr noundef nonnull @.str.1, i32 noundef 119, ptr noundef %897, ptr noundef %899, ptr noundef %901, i32 noundef %902) #11
  call void @exit(i32 noundef 1) #12
  unreachable

904:                                              ; preds = %878
  store i32 0, ptr %369, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #9
  store i32 0, ptr %423, align 4, !tbaa !5
  %905 = load i32, ptr @test_count, align 4, !tbaa !5
  %906 = add nsw i32 %905, 1
  store i32 %906, ptr @test_count, align 4, !tbaa !5
  %907 = call i32 @s2n_is_cipher_suite_valid_for_auth(ptr noundef %308, ptr noundef nonnull @s2n_tls13_aes_128_gcm_sha256) #9
  %908 = icmp eq i32 %907, -1
  br i1 %908, label %909, label %931

909:                                              ; preds = %904
  %910 = load i32, ptr %423, align 4, !tbaa !5
  %911 = load ptr, ptr @stderr, align 8, !tbaa !9
  %912 = call i32 @s2n_print_stacktrace(ptr noundef %911) #9
  %913 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %914 = trunc nuw i8 %913 to i1
  br i1 %914, label %915, label %919

915:                                              ; preds = %909
  %916 = load ptr, ptr @stderr, align 8, !tbaa !9
  %917 = call i32 @fileno(ptr noundef %916) #9
  %918 = call i32 @isatty(i32 noundef %917) #9
  %.not1383 = icmp eq i32 %918, 0
  br i1 %.not1383, label %919, label %920

919:                                              ; preds = %915, %909
  br label %920

920:                                              ; preds = %915, %919
  %.str.5.sink1720 = phi ptr [ @.str.5, %919 ], [ @.str.2, %915 ]
  store i32 %910, ptr %423, align 4, !tbaa !5
  %921 = load ptr, ptr @stderr, align 8, !tbaa !9
  %922 = load i32, ptr @test_count, align 4, !tbaa !5
  %923 = load i32, ptr %369, align 4, !tbaa !5
  %924 = call ptr @s2n_strerror(i32 noundef %923, ptr noundef nonnull @.str.4) #9
  %925 = load i32, ptr %369, align 4, !tbaa !5
  %926 = call ptr @s2n_strerror_debug(i32 noundef %925, ptr noundef nonnull @.str.4) #9
  %927 = load i32, ptr %423, align 4, !tbaa !5
  %928 = call ptr @strerror(i32 noundef %927) #9
  %929 = load i32, ptr %423, align 4, !tbaa !5
  %930 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %921, ptr noundef nonnull %.str.5.sink1720, i32 noundef %922, ptr noundef nonnull @.str.24, ptr noundef nonnull @.str.1, i32 noundef 120, ptr noundef %924, ptr noundef %926, ptr noundef %928, i32 noundef %929) #11
  call void @exit(i32 noundef 1) #12
  unreachable

931:                                              ; preds = %904
  %932 = load i32, ptr @test_count, align 4, !tbaa !5
  %933 = add nsw i32 %932, 1
  store i32 %933, ptr @test_count, align 4, !tbaa !5
  %934 = call i32 @s2n_connection_set_config(ptr noundef %308, ptr noundef %215) #9
  %935 = icmp eq i32 %934, -1
  br i1 %935, label %936, label %958

936:                                              ; preds = %931
  %937 = load i32, ptr %423, align 4, !tbaa !5
  %938 = load ptr, ptr @stderr, align 8, !tbaa !9
  %939 = call i32 @s2n_print_stacktrace(ptr noundef %938) #9
  %940 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %941 = trunc nuw i8 %940 to i1
  br i1 %941, label %942, label %946

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

946:                                              ; preds = %942, %936
  br label %947

947:                                              ; preds = %942, %946
  %.str.5.sink1729 = phi ptr [ @.str.5, %946 ], [ @.str.2, %942 ]
  store i32 %937, ptr %423, align 4, !tbaa !5
  %948 = load ptr, ptr @stderr, align 8, !tbaa !9
  %949 = load i32, ptr @test_count, align 4, !tbaa !5
  %950 = load i32, ptr %369, align 4, !tbaa !5
  %951 = call ptr @s2n_strerror(i32 noundef %950, ptr noundef nonnull @.str.4) #9
  %952 = load i32, ptr %369, align 4, !tbaa !5
  %953 = call ptr @s2n_strerror_debug(i32 noundef %952, ptr noundef nonnull @.str.4) #9
  %954 = load i32, ptr %423, align 4, !tbaa !5
  %955 = call ptr @strerror(i32 noundef %954) #9
  %956 = load i32, ptr %423, align 4, !tbaa !5
  %957 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %948, ptr noundef nonnull %.str.5.sink1729, i32 noundef %949, ptr noundef nonnull @.str.28, ptr noundef nonnull @.str.1, i32 noundef 123, ptr noundef %951, ptr noundef %953, ptr noundef %955, i32 noundef %956) #11
  call void @exit(i32 noundef 1) #12
  unreachable

958:                                              ; preds = %931
  %959 = load i32, ptr @test_count, align 4, !tbaa !5
  %960 = add nsw i32 %959, 1
  store i32 %960, ptr @test_count, align 4, !tbaa !5
  %961 = call i32 @s2n_is_cipher_suite_valid_for_auth(ptr noundef %308, ptr noundef nonnull @s2n_dhe_rsa_with_3des_ede_cbc_sha) #9
  %962 = icmp eq i32 %961, -1
  br i1 %962, label %985, label %963

963:                                              ; preds = %958
  %964 = load i32, ptr %423, align 4, !tbaa !5
  %965 = load ptr, ptr @stderr, align 8, !tbaa !9
  %966 = call i32 @s2n_print_stacktrace(ptr noundef %965) #9
  %967 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %968 = trunc nuw i8 %967 to i1
  br i1 %968, label %969, label %973

969:                                              ; preds = %963
  %970 = load ptr, ptr @stderr, align 8, !tbaa !9
  %971 = call i32 @fileno(ptr noundef %970) #9
  %972 = call i32 @isatty(i32 noundef %971) #9
  %.not1022 = icmp eq i32 %972, 0
  br i1 %.not1022, label %973, label %974

973:                                              ; preds = %969, %963
  br label %974

974:                                              ; preds = %969, %973
  %.str.5.sink1738 = phi ptr [ @.str.5, %973 ], [ @.str.2, %969 ]
  store i32 %964, ptr %423, align 4, !tbaa !5
  %975 = load ptr, ptr @stderr, align 8, !tbaa !9
  %976 = load i32, ptr @test_count, align 4, !tbaa !5
  %977 = load i32, ptr %369, align 4, !tbaa !5
  %978 = call ptr @s2n_strerror(i32 noundef %977, ptr noundef nonnull @.str.4) #9
  %979 = load i32, ptr %369, align 4, !tbaa !5
  %980 = call ptr @s2n_strerror_debug(i32 noundef %979, ptr noundef nonnull @.str.4) #9
  %981 = load i32, ptr %423, align 4, !tbaa !5
  %982 = call ptr @strerror(i32 noundef %981) #9
  %983 = load i32, ptr %423, align 4, !tbaa !5
  %984 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %975, ptr noundef nonnull %.str.5.sink1738, i32 noundef %976, ptr noundef nonnull @.str.20, ptr noundef nonnull @.str.1, i32 noundef 124, ptr noundef %978, ptr noundef %980, ptr noundef %982, i32 noundef %983) #11
  call void @exit(i32 noundef 1) #12
  unreachable

985:                                              ; preds = %958
  %986 = load i32, ptr @test_count, align 4, !tbaa !5
  %987 = add nsw i32 %986, 1
  store i32 %987, ptr @test_count, align 4, !tbaa !5
  %988 = load i32, ptr %369, align 4, !tbaa !5
  %989 = icmp eq i32 %988, 0
  br i1 %989, label %990, label %1012

990:                                              ; preds = %985
  %991 = load i32, ptr %423, align 4, !tbaa !5
  %992 = load ptr, ptr @stderr, align 8, !tbaa !9
  %993 = call i32 @s2n_print_stacktrace(ptr noundef %992) #9
  %994 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %995 = trunc nuw i8 %994 to i1
  br i1 %995, label %996, label %1000

996:                                              ; preds = %990
  %997 = load ptr, ptr @stderr, align 8, !tbaa !9
  %998 = call i32 @fileno(ptr noundef %997) #9
  %999 = call i32 @isatty(i32 noundef %998) #9
  %.not1381 = icmp eq i32 %999, 0
  br i1 %.not1381, label %1000, label %1001

1000:                                             ; preds = %996, %990
  br label %1001

1001:                                             ; preds = %996, %1000
  %.str.5.sink1747 = phi ptr [ @.str.5, %1000 ], [ @.str.2, %996 ]
  store i32 %991, ptr %423, align 4, !tbaa !5
  %1002 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1003 = load i32, ptr @test_count, align 4, !tbaa !5
  %1004 = load i32, ptr %369, align 4, !tbaa !5
  %1005 = call ptr @s2n_strerror(i32 noundef %1004, ptr noundef nonnull @.str.4) #9
  %1006 = load i32, ptr %369, align 4, !tbaa !5
  %1007 = call ptr @s2n_strerror_debug(i32 noundef %1006, ptr noundef nonnull @.str.4) #9
  %1008 = load i32, ptr %423, align 4, !tbaa !5
  %1009 = call ptr @strerror(i32 noundef %1008) #9
  %1010 = load i32, ptr %423, align 4, !tbaa !5
  %1011 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1002, ptr noundef nonnull %.str.5.sink1747, i32 noundef %1003, ptr noundef nonnull @.str.21, ptr noundef nonnull @.str.1, i32 noundef 124, ptr noundef %1005, ptr noundef %1007, ptr noundef %1009, i32 noundef %1010) #11
  call void @exit(i32 noundef 1) #12
  unreachable

1012:                                             ; preds = %985
  %1013 = add nsw i32 %986, 2
  store i32 %1013, ptr @test_count, align 4, !tbaa !5
  %1014 = call ptr @s2n_strerror_debug(i32 noundef %988, ptr noundef nonnull @.str.4) #9
  %1015 = icmp eq ptr %1014, null
  br i1 %1015, label %1016, label %1038

1016:                                             ; preds = %1012
  %1017 = load i32, ptr %423, align 4, !tbaa !5
  %1018 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1019 = call i32 @s2n_print_stacktrace(ptr noundef %1018) #9
  %1020 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1021 = trunc nuw i8 %1020 to i1
  br i1 %1021, label %1022, label %1026

1022:                                             ; preds = %1016
  %1023 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1024 = call i32 @fileno(ptr noundef %1023) #9
  %1025 = call i32 @isatty(i32 noundef %1024) #9
  %.not1380 = icmp eq i32 %1025, 0
  br i1 %.not1380, label %1026, label %1027

1026:                                             ; preds = %1022, %1016
  br label %1027

1027:                                             ; preds = %1022, %1026
  %.str.5.sink1756 = phi ptr [ @.str.5, %1026 ], [ @.str.2, %1022 ]
  store i32 %1017, ptr %423, align 4, !tbaa !5
  %1028 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1029 = load i32, ptr @test_count, align 4, !tbaa !5
  %1030 = load i32, ptr %369, align 4, !tbaa !5
  %1031 = call ptr @s2n_strerror(i32 noundef %1030, ptr noundef nonnull @.str.4) #9
  %1032 = load i32, ptr %369, align 4, !tbaa !5
  %1033 = call ptr @s2n_strerror_debug(i32 noundef %1032, ptr noundef nonnull @.str.4) #9
  %1034 = load i32, ptr %423, align 4, !tbaa !5
  %1035 = call ptr @strerror(i32 noundef %1034) #9
  %1036 = load i32, ptr %423, align 4, !tbaa !5
  %1037 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1028, ptr noundef nonnull %.str.5.sink1756, i32 noundef %1029, ptr noundef nonnull @.str.22, ptr noundef nonnull @.str.1, i32 noundef 124, ptr noundef %1031, ptr noundef %1033, ptr noundef %1035, i32 noundef %1036) #11
  call void @exit(i32 noundef 1) #12
  unreachable

1038:                                             ; preds = %1012
  store i32 0, ptr %369, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #9
  store i32 0, ptr %423, align 4, !tbaa !5
  %1039 = load i32, ptr @test_count, align 4, !tbaa !5
  %1040 = add nsw i32 %1039, 1
  store i32 %1040, ptr @test_count, align 4, !tbaa !5
  %1041 = call i32 @s2n_is_cipher_suite_valid_for_auth(ptr noundef %308, ptr noundef nonnull @s2n_ecdhe_ecdsa_with_aes_128_cbc_sha) #9
  %1042 = icmp eq i32 %1041, -1
  br i1 %1042, label %1043, label %1065

1043:                                             ; preds = %1038
  %1044 = load i32, ptr %423, align 4, !tbaa !5
  %1045 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1046 = call i32 @s2n_print_stacktrace(ptr noundef %1045) #9
  %1047 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1048 = trunc nuw i8 %1047 to i1
  br i1 %1048, label %1049, label %1053

1049:                                             ; preds = %1043
  %1050 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1051 = call i32 @fileno(ptr noundef %1050) #9
  %1052 = call i32 @isatty(i32 noundef %1051) #9
  %.not1379 = icmp eq i32 %1052, 0
  br i1 %.not1379, label %1053, label %1054

1053:                                             ; preds = %1049, %1043
  br label %1054

1054:                                             ; preds = %1049, %1053
  %.str.5.sink1765 = phi ptr [ @.str.5, %1053 ], [ @.str.2, %1049 ]
  store i32 %1044, ptr %423, align 4, !tbaa !5
  %1055 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1056 = load i32, ptr @test_count, align 4, !tbaa !5
  %1057 = load i32, ptr %369, align 4, !tbaa !5
  %1058 = call ptr @s2n_strerror(i32 noundef %1057, ptr noundef nonnull @.str.4) #9
  %1059 = load i32, ptr %369, align 4, !tbaa !5
  %1060 = call ptr @s2n_strerror_debug(i32 noundef %1059, ptr noundef nonnull @.str.4) #9
  %1061 = load i32, ptr %423, align 4, !tbaa !5
  %1062 = call ptr @strerror(i32 noundef %1061) #9
  %1063 = load i32, ptr %423, align 4, !tbaa !5
  %1064 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1055, ptr noundef nonnull %.str.5.sink1765, i32 noundef %1056, ptr noundef nonnull @.str.29, ptr noundef nonnull @.str.1, i32 noundef 125, ptr noundef %1058, ptr noundef %1060, ptr noundef %1062, i32 noundef %1063) #11
  call void @exit(i32 noundef 1) #12
  unreachable

1065:                                             ; preds = %1038
  %1066 = load i32, ptr @test_count, align 4, !tbaa !5
  %1067 = add nsw i32 %1066, 1
  store i32 %1067, ptr @test_count, align 4, !tbaa !5
  %1068 = call i32 @s2n_is_cipher_suite_valid_for_auth(ptr noundef %308, ptr noundef nonnull @s2n_tls13_aes_128_gcm_sha256) #9
  %1069 = icmp eq i32 %1068, -1
  br i1 %1069, label %1070, label %1092

1070:                                             ; preds = %1065
  %1071 = load i32, ptr %423, align 4, !tbaa !5
  %1072 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1073 = call i32 @s2n_print_stacktrace(ptr noundef %1072) #9
  %1074 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1075 = trunc nuw i8 %1074 to i1
  br i1 %1075, label %1076, label %1080

1076:                                             ; preds = %1070
  %1077 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1078 = call i32 @fileno(ptr noundef %1077) #9
  %1079 = call i32 @isatty(i32 noundef %1078) #9
  %.not1378 = icmp eq i32 %1079, 0
  br i1 %.not1378, label %1080, label %1081

1080:                                             ; preds = %1076, %1070
  br label %1081

1081:                                             ; preds = %1076, %1080
  %.str.5.sink1774 = phi ptr [ @.str.5, %1080 ], [ @.str.2, %1076 ]
  store i32 %1071, ptr %423, align 4, !tbaa !5
  %1082 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1083 = load i32, ptr @test_count, align 4, !tbaa !5
  %1084 = load i32, ptr %369, align 4, !tbaa !5
  %1085 = call ptr @s2n_strerror(i32 noundef %1084, ptr noundef nonnull @.str.4) #9
  %1086 = load i32, ptr %369, align 4, !tbaa !5
  %1087 = call ptr @s2n_strerror_debug(i32 noundef %1086, ptr noundef nonnull @.str.4) #9
  %1088 = load i32, ptr %423, align 4, !tbaa !5
  %1089 = call ptr @strerror(i32 noundef %1088) #9
  %1090 = load i32, ptr %423, align 4, !tbaa !5
  %1091 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1082, ptr noundef nonnull %.str.5.sink1774, i32 noundef %1083, ptr noundef nonnull @.str.24, ptr noundef nonnull @.str.1, i32 noundef 126, ptr noundef %1085, ptr noundef %1087, ptr noundef %1089, i32 noundef %1090) #11
  call void @exit(i32 noundef 1) #12
  unreachable

1092:                                             ; preds = %1065
  %1093 = load i32, ptr @test_count, align 4, !tbaa !5
  %1094 = add nsw i32 %1093, 1
  store i32 %1094, ptr @test_count, align 4, !tbaa !5
  %1095 = call i32 @s2n_connection_set_config(ptr noundef %308, ptr noundef %246) #9
  %1096 = icmp eq i32 %1095, -1
  br i1 %1096, label %1097, label %1119

1097:                                             ; preds = %1092
  %1098 = load i32, ptr %423, align 4, !tbaa !5
  %1099 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1100 = call i32 @s2n_print_stacktrace(ptr noundef %1099) #9
  %1101 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1102 = trunc nuw i8 %1101 to i1
  br i1 %1102, label %1103, label %1107

1103:                                             ; preds = %1097
  %1104 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1105 = call i32 @fileno(ptr noundef %1104) #9
  %1106 = call i32 @isatty(i32 noundef %1105) #9
  %.not1377 = icmp eq i32 %1106, 0
  br i1 %.not1377, label %1107, label %1108

1107:                                             ; preds = %1103, %1097
  br label %1108

1108:                                             ; preds = %1103, %1107
  %.str.5.sink1783 = phi ptr [ @.str.5, %1107 ], [ @.str.2, %1103 ]
  store i32 %1098, ptr %423, align 4, !tbaa !5
  %1109 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1110 = load i32, ptr @test_count, align 4, !tbaa !5
  %1111 = load i32, ptr %369, align 4, !tbaa !5
  %1112 = call ptr @s2n_strerror(i32 noundef %1111, ptr noundef nonnull @.str.4) #9
  %1113 = load i32, ptr %369, align 4, !tbaa !5
  %1114 = call ptr @s2n_strerror_debug(i32 noundef %1113, ptr noundef nonnull @.str.4) #9
  %1115 = load i32, ptr %423, align 4, !tbaa !5
  %1116 = call ptr @strerror(i32 noundef %1115) #9
  %1117 = load i32, ptr %423, align 4, !tbaa !5
  %1118 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1109, ptr noundef nonnull %.str.5.sink1783, i32 noundef %1110, ptr noundef nonnull @.str.30, ptr noundef nonnull @.str.1, i32 noundef 129, ptr noundef %1112, ptr noundef %1114, ptr noundef %1116, i32 noundef %1117) #11
  call void @exit(i32 noundef 1) #12
  unreachable

1119:                                             ; preds = %1092
  %1120 = load i32, ptr @test_count, align 4, !tbaa !5
  %1121 = add nsw i32 %1120, 1
  store i32 %1121, ptr @test_count, align 4, !tbaa !5
  %1122 = call i32 @s2n_is_cipher_suite_valid_for_auth(ptr noundef %308, ptr noundef nonnull @s2n_dhe_rsa_with_3des_ede_cbc_sha) #9
  %1123 = icmp eq i32 %1122, -1
  br i1 %1123, label %1124, label %1146

1124:                                             ; preds = %1119
  %1125 = load i32, ptr %423, align 4, !tbaa !5
  %1126 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1127 = call i32 @s2n_print_stacktrace(ptr noundef %1126) #9
  %1128 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1129 = trunc nuw i8 %1128 to i1
  br i1 %1129, label %1130, label %1134

1130:                                             ; preds = %1124
  %1131 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1132 = call i32 @fileno(ptr noundef %1131) #9
  %1133 = call i32 @isatty(i32 noundef %1132) #9
  %.not1376 = icmp eq i32 %1133, 0
  br i1 %.not1376, label %1134, label %1135

1134:                                             ; preds = %1130, %1124
  br label %1135

1135:                                             ; preds = %1130, %1134
  %.str.5.sink1792 = phi ptr [ @.str.5, %1134 ], [ @.str.2, %1130 ]
  store i32 %1125, ptr %423, align 4, !tbaa !5
  %1136 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1137 = load i32, ptr @test_count, align 4, !tbaa !5
  %1138 = load i32, ptr %369, align 4, !tbaa !5
  %1139 = call ptr @s2n_strerror(i32 noundef %1138, ptr noundef nonnull @.str.4) #9
  %1140 = load i32, ptr %369, align 4, !tbaa !5
  %1141 = call ptr @s2n_strerror_debug(i32 noundef %1140, ptr noundef nonnull @.str.4) #9
  %1142 = load i32, ptr %423, align 4, !tbaa !5
  %1143 = call ptr @strerror(i32 noundef %1142) #9
  %1144 = load i32, ptr %423, align 4, !tbaa !5
  %1145 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1136, ptr noundef nonnull %.str.5.sink1792, i32 noundef %1137, ptr noundef nonnull @.str.26, ptr noundef nonnull @.str.1, i32 noundef 130, ptr noundef %1139, ptr noundef %1141, ptr noundef %1143, i32 noundef %1144) #11
  call void @exit(i32 noundef 1) #12
  unreachable

1146:                                             ; preds = %1119
  %1147 = load i32, ptr @test_count, align 4, !tbaa !5
  %1148 = add nsw i32 %1147, 1
  store i32 %1148, ptr @test_count, align 4, !tbaa !5
  %1149 = call i32 @s2n_is_cipher_suite_valid_for_auth(ptr noundef %308, ptr noundef nonnull @s2n_ecdhe_ecdsa_with_aes_128_cbc_sha) #9
  %1150 = icmp eq i32 %1149, -1
  br i1 %1150, label %1151, label %1173

1151:                                             ; preds = %1146
  %1152 = load i32, ptr %423, align 4, !tbaa !5
  %1153 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1154 = call i32 @s2n_print_stacktrace(ptr noundef %1153) #9
  %1155 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1156 = trunc nuw i8 %1155 to i1
  br i1 %1156, label %1157, label %1161

1157:                                             ; preds = %1151
  %1158 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1159 = call i32 @fileno(ptr noundef %1158) #9
  %1160 = call i32 @isatty(i32 noundef %1159) #9
  %.not1375 = icmp eq i32 %1160, 0
  br i1 %.not1375, label %1161, label %1162

1161:                                             ; preds = %1157, %1151
  br label %1162

1162:                                             ; preds = %1157, %1161
  %.str.5.sink1801 = phi ptr [ @.str.5, %1161 ], [ @.str.2, %1157 ]
  store i32 %1152, ptr %423, align 4, !tbaa !5
  %1163 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1164 = load i32, ptr @test_count, align 4, !tbaa !5
  %1165 = load i32, ptr %369, align 4, !tbaa !5
  %1166 = call ptr @s2n_strerror(i32 noundef %1165, ptr noundef nonnull @.str.4) #9
  %1167 = load i32, ptr %369, align 4, !tbaa !5
  %1168 = call ptr @s2n_strerror_debug(i32 noundef %1167, ptr noundef nonnull @.str.4) #9
  %1169 = load i32, ptr %423, align 4, !tbaa !5
  %1170 = call ptr @strerror(i32 noundef %1169) #9
  %1171 = load i32, ptr %423, align 4, !tbaa !5
  %1172 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1163, ptr noundef nonnull %.str.5.sink1801, i32 noundef %1164, ptr noundef nonnull @.str.29, ptr noundef nonnull @.str.1, i32 noundef 131, ptr noundef %1166, ptr noundef %1168, ptr noundef %1170, i32 noundef %1171) #11
  call void @exit(i32 noundef 1) #12
  unreachable

1173:                                             ; preds = %1146
  %1174 = load i32, ptr @test_count, align 4, !tbaa !5
  %1175 = add nsw i32 %1174, 1
  store i32 %1175, ptr @test_count, align 4, !tbaa !5
  %1176 = call i32 @s2n_is_cipher_suite_valid_for_auth(ptr noundef %308, ptr noundef nonnull @s2n_tls13_aes_128_gcm_sha256) #9
  %1177 = icmp eq i32 %1176, -1
  br i1 %1177, label %1178, label %1200

1178:                                             ; preds = %1173
  %1179 = load i32, ptr %423, align 4, !tbaa !5
  %1180 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1181 = call i32 @s2n_print_stacktrace(ptr noundef %1180) #9
  %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 = %1178
  %1185 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1186 = call i32 @fileno(ptr noundef %1185) #9
  %1187 = call i32 @isatty(i32 noundef %1186) #9
  %.not1374 = icmp eq i32 %1187, 0
  br i1 %.not1374, label %1188, label %1189

1188:                                             ; preds = %1184, %1178
  br label %1189

1189:                                             ; preds = %1184, %1188
  %.str.5.sink1810 = phi ptr [ @.str.5, %1188 ], [ @.str.2, %1184 ]
  store i32 %1179, ptr %423, align 4, !tbaa !5
  %1190 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1191 = load i32, ptr @test_count, align 4, !tbaa !5
  %1192 = load i32, ptr %369, align 4, !tbaa !5
  %1193 = call ptr @s2n_strerror(i32 noundef %1192, ptr noundef nonnull @.str.4) #9
  %1194 = load i32, ptr %369, align 4, !tbaa !5
  %1195 = call ptr @s2n_strerror_debug(i32 noundef %1194, ptr noundef nonnull @.str.4) #9
  %1196 = load i32, ptr %423, align 4, !tbaa !5
  %1197 = call ptr @strerror(i32 noundef %1196) #9
  %1198 = load i32, ptr %423, align 4, !tbaa !5
  %1199 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1190, ptr noundef nonnull %.str.5.sink1810, i32 noundef %1191, ptr noundef nonnull @.str.24, ptr noundef nonnull @.str.1, i32 noundef 132, ptr noundef %1193, ptr noundef %1195, ptr noundef %1197, i32 noundef %1198) #11
  call void @exit(i32 noundef 1) #12
  unreachable

1200:                                             ; preds = %1173
  %1201 = load i32, ptr @test_count, align 4, !tbaa !5
  %1202 = add nsw i32 %1201, 1
  store i32 %1202, ptr @test_count, align 4, !tbaa !5
  %1203 = call i32 @s2n_connection_free(ptr noundef %308) #9
  %1204 = icmp eq i32 %1203, -1
  br i1 %1204, label %1205, label %1227

1205:                                             ; preds = %1200
  %1206 = load i32, ptr %423, align 4, !tbaa !5
  %1207 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1208 = call i32 @s2n_print_stacktrace(ptr noundef %1207) #9
  %1209 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1210 = trunc nuw i8 %1209 to i1
  br i1 %1210, label %1211, label %1215

1211:                                             ; preds = %1205
  %1212 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1213 = call i32 @fileno(ptr noundef %1212) #9
  %1214 = call i32 @isatty(i32 noundef %1213) #9
  %.not1373 = icmp eq i32 %1214, 0
  br i1 %.not1373, label %1215, label %1216

1215:                                             ; preds = %1211, %1205
  br label %1216

1216:                                             ; preds = %1211, %1215
  %.str.5.sink1819 = phi ptr [ @.str.5, %1215 ], [ @.str.2, %1211 ]
  store i32 %1206, ptr %423, align 4, !tbaa !5
  %1217 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1218 = load i32, ptr @test_count, align 4, !tbaa !5
  %1219 = load i32, ptr %369, align 4, !tbaa !5
  %1220 = call ptr @s2n_strerror(i32 noundef %1219, ptr noundef nonnull @.str.4) #9
  %1221 = load i32, ptr %369, align 4, !tbaa !5
  %1222 = call ptr @s2n_strerror_debug(i32 noundef %1221, ptr noundef nonnull @.str.4) #9
  %1223 = load i32, ptr %423, align 4, !tbaa !5
  %1224 = call ptr @strerror(i32 noundef %1223) #9
  %1225 = load i32, ptr %423, align 4, !tbaa !5
  %1226 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1217, ptr noundef nonnull %.str.5.sink1819, i32 noundef %1218, ptr noundef nonnull @.str.31, ptr noundef nonnull @.str.1, i32 noundef 135, ptr noundef %1220, ptr noundef %1222, ptr noundef %1224, i32 noundef %1225) #11
  call void @exit(i32 noundef 1) #12
  unreachable

1227:                                             ; preds = %1200
  %1228 = call ptr @s2n_connection_new(i32 noundef 0) #9
  %1229 = getelementptr inbounds i8, ptr %1228, i64 232
  %1230 = load ptr, ptr %1229, align 8, !tbaa !15
  store ptr @s2n_tls13_aes_128_gcm_sha256, ptr %1230, align 8, !tbaa !42
  %1231 = load i32, ptr @test_count, align 4, !tbaa !5
  %1232 = add nsw i32 %1231, 1
  store i32 %1232, ptr @test_count, align 4, !tbaa !5
  %1233 = call i32 @s2n_connection_set_config(ptr noundef %1228, ptr noundef %183) #9
  %1234 = icmp eq i32 %1233, -1
  br i1 %1234, label %1235, label %1257

1235:                                             ; preds = %1227
  %1236 = load i32, ptr %423, align 4, !tbaa !5
  %1237 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1238 = call i32 @s2n_print_stacktrace(ptr noundef %1237) #9
  %1239 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1240 = trunc nuw i8 %1239 to i1
  br i1 %1240, label %1241, label %1245

1241:                                             ; preds = %1235
  %1242 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1243 = call i32 @fileno(ptr noundef %1242) #9
  %1244 = call i32 @isatty(i32 noundef %1243) #9
  %.not1372 = icmp eq i32 %1244, 0
  br i1 %.not1372, label %1245, label %1246

1245:                                             ; preds = %1241, %1235
  br label %1246

1246:                                             ; preds = %1241, %1245
  %.str.5.sink1828 = phi ptr [ @.str.5, %1245 ], [ @.str.2, %1241 ]
  store i32 %1236, ptr %423, align 4, !tbaa !5
  %1247 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1248 = load i32, ptr @test_count, align 4, !tbaa !5
  %1249 = load i32, ptr %369, align 4, !tbaa !5
  %1250 = call ptr @s2n_strerror(i32 noundef %1249, ptr noundef nonnull @.str.4) #9
  %1251 = load i32, ptr %369, align 4, !tbaa !5
  %1252 = call ptr @s2n_strerror_debug(i32 noundef %1251, ptr noundef nonnull @.str.4) #9
  %1253 = load i32, ptr %423, align 4, !tbaa !5
  %1254 = call ptr @strerror(i32 noundef %1253) #9
  %1255 = load i32, ptr %423, align 4, !tbaa !5
  %1256 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1247, ptr noundef nonnull %.str.5.sink1828, i32 noundef %1248, ptr noundef nonnull @.str.19, ptr noundef nonnull @.str.1, i32 noundef 147, ptr noundef %1250, ptr noundef %1252, ptr noundef %1254, i32 noundef %1255) #11
  call void @exit(i32 noundef 1) #12
  unreachable

1257:                                             ; preds = %1227
  %1258 = load i32, ptr @test_count, align 4, !tbaa !5
  %1259 = add nsw i32 %1258, 1
  store i32 %1259, ptr @test_count, align 4, !tbaa !5
  %1260 = call i32 @s2n_is_sig_scheme_valid_for_auth(ptr noundef nonnull %1228, ptr noundef nonnull @s2n_rsa_pkcs1_md5_sha1) #9
  %1261 = icmp eq i32 %1260, -1
  br i1 %1261, label %1284, label %1262

1262:                                             ; preds = %1257
  %1263 = load i32, ptr %423, align 4, !tbaa !5
  %1264 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1265 = call i32 @s2n_print_stacktrace(ptr noundef %1264) #9
  %1266 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1267 = trunc nuw i8 %1266 to i1
  br i1 %1267, label %1268, label %1272

1268:                                             ; preds = %1262
  %1269 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1270 = call i32 @fileno(ptr noundef %1269) #9
  %1271 = call i32 @isatty(i32 noundef %1270) #9
  %.not1023 = icmp eq i32 %1271, 0
  br i1 %.not1023, label %1272, label %1273

1272:                                             ; preds = %1268, %1262
  br label %1273

1273:                                             ; preds = %1268, %1272
  %.str.5.sink1837 = phi ptr [ @.str.5, %1272 ], [ @.str.2, %1268 ]
  store i32 %1263, ptr %423, align 4, !tbaa !5
  %1274 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1275 = load i32, ptr @test_count, align 4, !tbaa !5
  %1276 = load i32, ptr %369, align 4, !tbaa !5
  %1277 = call ptr @s2n_strerror(i32 noundef %1276, ptr noundef nonnull @.str.4) #9
  %1278 = load i32, ptr %369, align 4, !tbaa !5
  %1279 = call ptr @s2n_strerror_debug(i32 noundef %1278, ptr noundef nonnull @.str.4) #9
  %1280 = load i32, ptr %423, align 4, !tbaa !5
  %1281 = call ptr @strerror(i32 noundef %1280) #9
  %1282 = load i32, ptr %423, align 4, !tbaa !5
  %1283 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1274, ptr noundef nonnull %.str.5.sink1837, i32 noundef %1275, ptr noundef nonnull @.str.32, ptr noundef nonnull @.str.1, i32 noundef 148, ptr noundef %1277, ptr noundef %1279, ptr noundef %1281, i32 noundef %1282) #11
  call void @exit(i32 noundef 1) #12
  unreachable

1284:                                             ; preds = %1257
  %1285 = load i32, ptr @test_count, align 4, !tbaa !5
  %1286 = add nsw i32 %1285, 1
  store i32 %1286, ptr @test_count, align 4, !tbaa !5
  %1287 = load i32, ptr %369, align 4, !tbaa !5
  %1288 = icmp eq i32 %1287, 0
  br i1 %1288, label %1289, label %1311

1289:                                             ; preds = %1284
  %1290 = load i32, ptr %423, align 4, !tbaa !5
  %1291 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1292 = call i32 @s2n_print_stacktrace(ptr noundef %1291) #9
  %1293 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1294 = trunc nuw i8 %1293 to i1
  br i1 %1294, label %1295, label %1299

1295:                                             ; preds = %1289
  %1296 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1297 = call i32 @fileno(ptr noundef %1296) #9
  %1298 = call i32 @isatty(i32 noundef %1297) #9
  %.not1371 = icmp eq i32 %1298, 0
  br i1 %.not1371, label %1299, label %1300

1299:                                             ; preds = %1295, %1289
  br label %1300

1300:                                             ; preds = %1295, %1299
  %.str.5.sink1846 = phi ptr [ @.str.5, %1299 ], [ @.str.2, %1295 ]
  store i32 %1290, ptr %423, align 4, !tbaa !5
  %1301 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1302 = load i32, ptr @test_count, align 4, !tbaa !5
  %1303 = load i32, ptr %369, align 4, !tbaa !5
  %1304 = call ptr @s2n_strerror(i32 noundef %1303, ptr noundef nonnull @.str.4) #9
  %1305 = load i32, ptr %369, align 4, !tbaa !5
  %1306 = call ptr @s2n_strerror_debug(i32 noundef %1305, ptr noundef nonnull @.str.4) #9
  %1307 = load i32, ptr %423, align 4, !tbaa !5
  %1308 = call ptr @strerror(i32 noundef %1307) #9
  %1309 = load i32, ptr %423, align 4, !tbaa !5
  %1310 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1301, ptr noundef nonnull %.str.5.sink1846, i32 noundef %1302, ptr noundef nonnull @.str.21, ptr noundef nonnull @.str.1, i32 noundef 148, ptr noundef %1304, ptr noundef %1306, ptr noundef %1308, i32 noundef %1309) #11
  call void @exit(i32 noundef 1) #12
  unreachable

1311:                                             ; preds = %1284
  %1312 = add nsw i32 %1285, 2
  store i32 %1312, ptr @test_count, align 4, !tbaa !5
  %1313 = call ptr @s2n_strerror_debug(i32 noundef %1287, ptr noundef nonnull @.str.4) #9
  %1314 = icmp eq ptr %1313, null
  br i1 %1314, label %1315, label %1337

1315:                                             ; preds = %1311
  %1316 = load i32, ptr %423, align 4, !tbaa !5
  %1317 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1318 = call i32 @s2n_print_stacktrace(ptr noundef %1317) #9
  %1319 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1320 = trunc nuw i8 %1319 to i1
  br i1 %1320, label %1321, label %1325

1321:                                             ; preds = %1315
  %1322 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1323 = call i32 @fileno(ptr noundef %1322) #9
  %1324 = call i32 @isatty(i32 noundef %1323) #9
  %.not1370 = icmp eq i32 %1324, 0
  br i1 %.not1370, label %1325, label %1326

1325:                                             ; preds = %1321, %1315
  br label %1326

1326:                                             ; preds = %1321, %1325
  %.str.5.sink1855 = phi ptr [ @.str.5, %1325 ], [ @.str.2, %1321 ]
  store i32 %1316, ptr %423, align 4, !tbaa !5
  %1327 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1328 = load i32, ptr @test_count, align 4, !tbaa !5
  %1329 = load i32, ptr %369, align 4, !tbaa !5
  %1330 = call ptr @s2n_strerror(i32 noundef %1329, ptr noundef nonnull @.str.4) #9
  %1331 = load i32, ptr %369, align 4, !tbaa !5
  %1332 = call ptr @s2n_strerror_debug(i32 noundef %1331, ptr noundef nonnull @.str.4) #9
  %1333 = load i32, ptr %423, align 4, !tbaa !5
  %1334 = call ptr @strerror(i32 noundef %1333) #9
  %1335 = load i32, ptr %423, align 4, !tbaa !5
  %1336 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1327, ptr noundef nonnull %.str.5.sink1855, i32 noundef %1328, ptr noundef nonnull @.str.22, ptr noundef nonnull @.str.1, i32 noundef 148, ptr noundef %1330, ptr noundef %1332, ptr noundef %1334, i32 noundef %1335) #11
  call void @exit(i32 noundef 1) #12
  unreachable

1337:                                             ; preds = %1311
  store i32 0, ptr %369, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #9
  store i32 0, ptr %423, align 4, !tbaa !5
  %1338 = load i32, ptr @test_count, align 4, !tbaa !5
  %1339 = add nsw i32 %1338, 1
  store i32 %1339, ptr @test_count, align 4, !tbaa !5
  %1340 = call i32 @s2n_is_sig_scheme_valid_for_auth(ptr noundef nonnull %1228, ptr noundef nonnull @s2n_rsa_pss_pss_sha256) #9
  %1341 = icmp eq i32 %1340, -1
  br i1 %1341, label %1364, label %1342

1342:                                             ; preds = %1337
  %1343 = load i32, ptr %423, align 4, !tbaa !5
  %1344 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1345 = call i32 @s2n_print_stacktrace(ptr noundef %1344) #9
  %1346 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1347 = trunc nuw i8 %1346 to i1
  br i1 %1347, label %1348, label %1352

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

1352:                                             ; preds = %1348, %1342
  br label %1353

1353:                                             ; preds = %1348, %1352
  %.str.5.sink1864 = phi ptr [ @.str.5, %1352 ], [ @.str.2, %1348 ]
  store i32 %1343, ptr %423, align 4, !tbaa !5
  %1354 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1355 = load i32, ptr @test_count, align 4, !tbaa !5
  %1356 = load i32, ptr %369, align 4, !tbaa !5
  %1357 = call ptr @s2n_strerror(i32 noundef %1356, ptr noundef nonnull @.str.4) #9
  %1358 = load i32, ptr %369, align 4, !tbaa !5
  %1359 = call ptr @s2n_strerror_debug(i32 noundef %1358, ptr noundef nonnull @.str.4) #9
  %1360 = load i32, ptr %423, align 4, !tbaa !5
  %1361 = call ptr @strerror(i32 noundef %1360) #9
  %1362 = load i32, ptr %423, align 4, !tbaa !5
  %1363 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1354, ptr noundef nonnull %.str.5.sink1864, i32 noundef %1355, ptr noundef nonnull @.str.33, ptr noundef nonnull @.str.1, i32 noundef 149, ptr noundef %1357, ptr noundef %1359, ptr noundef %1361, i32 noundef %1362) #11
  call void @exit(i32 noundef 1) #12
  unreachable

1364:                                             ; preds = %1337
  %1365 = load i32, ptr @test_count, align 4, !tbaa !5
  %1366 = add nsw i32 %1365, 1
  store i32 %1366, ptr @test_count, align 4, !tbaa !5
  %1367 = load i32, ptr %369, align 4, !tbaa !5
  %1368 = icmp eq i32 %1367, 0
  br i1 %1368, label %1369, label %1391

1369:                                             ; preds = %1364
  %1370 = load i32, ptr %423, align 4, !tbaa !5
  %1371 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1372 = call i32 @s2n_print_stacktrace(ptr noundef %1371) #9
  %1373 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1374 = trunc nuw i8 %1373 to i1
  br i1 %1374, label %1375, label %1379

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

1379:                                             ; preds = %1375, %1369
  br label %1380

1380:                                             ; preds = %1375, %1379
  %.str.5.sink1873 = phi ptr [ @.str.5, %1379 ], [ @.str.2, %1375 ]
  store i32 %1370, ptr %423, align 4, !tbaa !5
  %1381 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1382 = load i32, ptr @test_count, align 4, !tbaa !5
  %1383 = load i32, ptr %369, align 4, !tbaa !5
  %1384 = call ptr @s2n_strerror(i32 noundef %1383, ptr noundef nonnull @.str.4) #9
  %1385 = load i32, ptr %369, align 4, !tbaa !5
  %1386 = call ptr @s2n_strerror_debug(i32 noundef %1385, ptr noundef nonnull @.str.4) #9
  %1387 = load i32, ptr %423, align 4, !tbaa !5
  %1388 = call ptr @strerror(i32 noundef %1387) #9
  %1389 = load i32, ptr %423, align 4, !tbaa !5
  %1390 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1381, ptr noundef nonnull %.str.5.sink1873, i32 noundef %1382, ptr noundef nonnull @.str.21, ptr noundef nonnull @.str.1, i32 noundef 149, ptr noundef %1384, ptr noundef %1386, ptr noundef %1388, i32 noundef %1389) #11
  call void @exit(i32 noundef 1) #12
  unreachable

1391:                                             ; preds = %1364
  %1392 = add nsw i32 %1365, 2
  store i32 %1392, ptr @test_count, align 4, !tbaa !5
  %1393 = call ptr @s2n_strerror_debug(i32 noundef %1367, ptr noundef nonnull @.str.4) #9
  %1394 = icmp eq ptr %1393, null
  br i1 %1394, label %1395, label %1417

1395:                                             ; preds = %1391
  %1396 = load i32, ptr %423, align 4, !tbaa !5
  %1397 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1398 = call i32 @s2n_print_stacktrace(ptr noundef %1397) #9
  %1399 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1400 = trunc nuw i8 %1399 to i1
  br i1 %1400, label %1401, label %1405

1401:                                             ; preds = %1395
  %1402 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1403 = call i32 @fileno(ptr noundef %1402) #9
  %1404 = call i32 @isatty(i32 noundef %1403) #9
  %.not1368 = icmp eq i32 %1404, 0
  br i1 %.not1368, label %1405, label %1406

1405:                                             ; preds = %1401, %1395
  br label %1406

1406:                                             ; preds = %1401, %1405
  %.str.5.sink1882 = phi ptr [ @.str.5, %1405 ], [ @.str.2, %1401 ]
  store i32 %1396, ptr %423, align 4, !tbaa !5
  %1407 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1408 = load i32, ptr @test_count, align 4, !tbaa !5
  %1409 = load i32, ptr %369, align 4, !tbaa !5
  %1410 = call ptr @s2n_strerror(i32 noundef %1409, ptr noundef nonnull @.str.4) #9
  %1411 = load i32, ptr %369, align 4, !tbaa !5
  %1412 = call ptr @s2n_strerror_debug(i32 noundef %1411, ptr noundef nonnull @.str.4) #9
  %1413 = load i32, ptr %423, align 4, !tbaa !5
  %1414 = call ptr @strerror(i32 noundef %1413) #9
  %1415 = load i32, ptr %423, align 4, !tbaa !5
  %1416 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1407, ptr noundef nonnull %.str.5.sink1882, i32 noundef %1408, ptr noundef nonnull @.str.22, ptr noundef nonnull @.str.1, i32 noundef 149, ptr noundef %1410, ptr noundef %1412, ptr noundef %1414, i32 noundef %1415) #11
  call void @exit(i32 noundef 1) #12
  unreachable

1417:                                             ; preds = %1391
  store i32 0, ptr %369, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #9
  store i32 0, ptr %423, align 4, !tbaa !5
  %1418 = load i32, ptr @test_count, align 4, !tbaa !5
  %1419 = add nsw i32 %1418, 1
  store i32 %1419, ptr @test_count, align 4, !tbaa !5
  %1420 = call i32 @s2n_is_sig_scheme_valid_for_auth(ptr noundef nonnull %1228, ptr noundef nonnull @s2n_rsa_pss_rsae_sha256) #9
  %1421 = icmp eq i32 %1420, -1
  br i1 %1421, label %1444, label %1422

1422:                                             ; preds = %1417
  %1423 = load i32, ptr %423, align 4, !tbaa !5
  %1424 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1425 = call i32 @s2n_print_stacktrace(ptr noundef %1424) #9
  %1426 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1427 = trunc nuw i8 %1426 to i1
  br i1 %1427, label %1428, label %1432

1428:                                             ; preds = %1422
  %1429 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1430 = call i32 @fileno(ptr noundef %1429) #9
  %1431 = call i32 @isatty(i32 noundef %1430) #9
  %.not1025 = icmp eq i32 %1431, 0
  br i1 %.not1025, label %1432, label %1433

1432:                                             ; preds = %1428, %1422
  br label %1433

1433:                                             ; preds = %1428, %1432
  %.str.5.sink1891 = phi ptr [ @.str.5, %1432 ], [ @.str.2, %1428 ]
  store i32 %1423, ptr %423, align 4, !tbaa !5
  %1434 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1435 = load i32, ptr @test_count, align 4, !tbaa !5
  %1436 = load i32, ptr %369, align 4, !tbaa !5
  %1437 = call ptr @s2n_strerror(i32 noundef %1436, ptr noundef nonnull @.str.4) #9
  %1438 = load i32, ptr %369, align 4, !tbaa !5
  %1439 = call ptr @s2n_strerror_debug(i32 noundef %1438, ptr noundef nonnull @.str.4) #9
  %1440 = load i32, ptr %423, align 4, !tbaa !5
  %1441 = call ptr @strerror(i32 noundef %1440) #9
  %1442 = load i32, ptr %423, align 4, !tbaa !5
  %1443 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1434, ptr noundef nonnull %.str.5.sink1891, i32 noundef %1435, ptr noundef nonnull @.str.34, ptr noundef nonnull @.str.1, i32 noundef 150, ptr noundef %1437, ptr noundef %1439, ptr noundef %1441, i32 noundef %1442) #11
  call void @exit(i32 noundef 1) #12
  unreachable

1444:                                             ; preds = %1417
  %1445 = load i32, ptr @test_count, align 4, !tbaa !5
  %1446 = add nsw i32 %1445, 1
  store i32 %1446, ptr @test_count, align 4, !tbaa !5
  %1447 = load i32, ptr %369, align 4, !tbaa !5
  %1448 = icmp eq i32 %1447, 0
  br i1 %1448, label %1449, label %1471

1449:                                             ; preds = %1444
  %1450 = load i32, ptr %423, align 4, !tbaa !5
  %1451 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1452 = call i32 @s2n_print_stacktrace(ptr noundef %1451) #9
  %1453 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1454 = trunc nuw i8 %1453 to i1
  br i1 %1454, label %1455, label %1459

1455:                                             ; preds = %1449
  %1456 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1457 = call i32 @fileno(ptr noundef %1456) #9
  %1458 = call i32 @isatty(i32 noundef %1457) #9
  %.not1367 = icmp eq i32 %1458, 0
  br i1 %.not1367, label %1459, label %1460

1459:                                             ; preds = %1455, %1449
  br label %1460

1460:                                             ; preds = %1455, %1459
  %.str.5.sink1900 = phi ptr [ @.str.5, %1459 ], [ @.str.2, %1455 ]
  store i32 %1450, ptr %423, align 4, !tbaa !5
  %1461 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1462 = load i32, ptr @test_count, align 4, !tbaa !5
  %1463 = load i32, ptr %369, align 4, !tbaa !5
  %1464 = call ptr @s2n_strerror(i32 noundef %1463, ptr noundef nonnull @.str.4) #9
  %1465 = load i32, ptr %369, align 4, !tbaa !5
  %1466 = call ptr @s2n_strerror_debug(i32 noundef %1465, ptr noundef nonnull @.str.4) #9
  %1467 = load i32, ptr %423, align 4, !tbaa !5
  %1468 = call ptr @strerror(i32 noundef %1467) #9
  %1469 = load i32, ptr %423, align 4, !tbaa !5
  %1470 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1461, ptr noundef nonnull %.str.5.sink1900, i32 noundef %1462, ptr noundef nonnull @.str.21, ptr noundef nonnull @.str.1, i32 noundef 150, ptr noundef %1464, ptr noundef %1466, ptr noundef %1468, i32 noundef %1469) #11
  call void @exit(i32 noundef 1) #12
  unreachable

1471:                                             ; preds = %1444
  %1472 = add nsw i32 %1445, 2
  store i32 %1472, ptr @test_count, align 4, !tbaa !5
  %1473 = call ptr @s2n_strerror_debug(i32 noundef %1447, ptr noundef nonnull @.str.4) #9
  %1474 = icmp eq ptr %1473, null
  br i1 %1474, label %1475, label %1497

1475:                                             ; preds = %1471
  %1476 = load i32, ptr %423, align 4, !tbaa !5
  %1477 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1478 = call i32 @s2n_print_stacktrace(ptr noundef %1477) #9
  %1479 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1480 = trunc nuw i8 %1479 to i1
  br i1 %1480, label %1481, label %1485

1481:                                             ; preds = %1475
  %1482 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1483 = call i32 @fileno(ptr noundef %1482) #9
  %1484 = call i32 @isatty(i32 noundef %1483) #9
  %.not1366 = icmp eq i32 %1484, 0
  br i1 %.not1366, label %1485, label %1486

1485:                                             ; preds = %1481, %1475
  br label %1486

1486:                                             ; preds = %1481, %1485
  %.str.5.sink1909 = phi ptr [ @.str.5, %1485 ], [ @.str.2, %1481 ]
  store i32 %1476, ptr %423, align 4, !tbaa !5
  %1487 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1488 = load i32, ptr @test_count, align 4, !tbaa !5
  %1489 = load i32, ptr %369, align 4, !tbaa !5
  %1490 = call ptr @s2n_strerror(i32 noundef %1489, ptr noundef nonnull @.str.4) #9
  %1491 = load i32, ptr %369, align 4, !tbaa !5
  %1492 = call ptr @s2n_strerror_debug(i32 noundef %1491, ptr noundef nonnull @.str.4) #9
  %1493 = load i32, ptr %423, align 4, !tbaa !5
  %1494 = call ptr @strerror(i32 noundef %1493) #9
  %1495 = load i32, ptr %423, align 4, !tbaa !5
  %1496 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1487, ptr noundef nonnull %.str.5.sink1909, i32 noundef %1488, ptr noundef nonnull @.str.22, ptr noundef nonnull @.str.1, i32 noundef 150, ptr noundef %1490, ptr noundef %1492, ptr noundef %1494, i32 noundef %1495) #11
  call void @exit(i32 noundef 1) #12
  unreachable

1497:                                             ; preds = %1471
  store i32 0, ptr %369, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #9
  store i32 0, ptr %423, align 4, !tbaa !5
  %1498 = load i32, ptr @test_count, align 4, !tbaa !5
  %1499 = add nsw i32 %1498, 1
  store i32 %1499, ptr @test_count, align 4, !tbaa !5
  %1500 = call i32 @s2n_is_sig_scheme_valid_for_auth(ptr noundef nonnull %1228, ptr noundef nonnull @s2n_ecdsa_sha384) #9
  %1501 = icmp eq i32 %1500, -1
  br i1 %1501, label %1524, label %1502

1502:                                             ; preds = %1497
  %1503 = load i32, ptr %423, align 4, !tbaa !5
  %1504 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1505 = call i32 @s2n_print_stacktrace(ptr noundef %1504) #9
  %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 = %1502
  %1509 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1510 = call i32 @fileno(ptr noundef %1509) #9
  %1511 = call i32 @isatty(i32 noundef %1510) #9
  %.not1026 = icmp eq i32 %1511, 0
  br i1 %.not1026, label %1512, label %1513

1512:                                             ; preds = %1508, %1502
  br label %1513

1513:                                             ; preds = %1508, %1512
  %.str.5.sink1918 = phi ptr [ @.str.5, %1512 ], [ @.str.2, %1508 ]
  store i32 %1503, ptr %423, align 4, !tbaa !5
  %1514 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1515 = load i32, ptr @test_count, align 4, !tbaa !5
  %1516 = load i32, ptr %369, align 4, !tbaa !5
  %1517 = call ptr @s2n_strerror(i32 noundef %1516, ptr noundef nonnull @.str.4) #9
  %1518 = load i32, ptr %369, align 4, !tbaa !5
  %1519 = call ptr @s2n_strerror_debug(i32 noundef %1518, ptr noundef nonnull @.str.4) #9
  %1520 = load i32, ptr %423, align 4, !tbaa !5
  %1521 = call ptr @strerror(i32 noundef %1520) #9
  %1522 = load i32, ptr %423, align 4, !tbaa !5
  %1523 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1514, ptr noundef nonnull %.str.5.sink1918, i32 noundef %1515, ptr noundef nonnull @.str.35, ptr noundef nonnull @.str.1, i32 noundef 151, ptr noundef %1517, ptr noundef %1519, ptr noundef %1521, i32 noundef %1522) #11
  call void @exit(i32 noundef 1) #12
  unreachable

1524:                                             ; preds = %1497
  %1525 = load i32, ptr @test_count, align 4, !tbaa !5
  %1526 = add nsw i32 %1525, 1
  store i32 %1526, ptr @test_count, align 4, !tbaa !5
  %1527 = load i32, ptr %369, align 4, !tbaa !5
  %1528 = icmp eq i32 %1527, 0
  br i1 %1528, label %1529, label %1551

1529:                                             ; preds = %1524
  %1530 = load i32, ptr %423, align 4, !tbaa !5
  %1531 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1532 = call i32 @s2n_print_stacktrace(ptr noundef %1531) #9
  %1533 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1534 = trunc nuw i8 %1533 to i1
  br i1 %1534, label %1535, label %1539

1535:                                             ; preds = %1529
  %1536 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1537 = call i32 @fileno(ptr noundef %1536) #9
  %1538 = call i32 @isatty(i32 noundef %1537) #9
  %.not1365 = icmp eq i32 %1538, 0
  br i1 %.not1365, label %1539, label %1540

1539:                                             ; preds = %1535, %1529
  br label %1540

1540:                                             ; preds = %1535, %1539
  %.str.5.sink1927 = phi ptr [ @.str.5, %1539 ], [ @.str.2, %1535 ]
  store i32 %1530, ptr %423, align 4, !tbaa !5
  %1541 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1542 = load i32, ptr @test_count, align 4, !tbaa !5
  %1543 = load i32, ptr %369, align 4, !tbaa !5
  %1544 = call ptr @s2n_strerror(i32 noundef %1543, ptr noundef nonnull @.str.4) #9
  %1545 = load i32, ptr %369, align 4, !tbaa !5
  %1546 = call ptr @s2n_strerror_debug(i32 noundef %1545, ptr noundef nonnull @.str.4) #9
  %1547 = load i32, ptr %423, align 4, !tbaa !5
  %1548 = call ptr @strerror(i32 noundef %1547) #9
  %1549 = load i32, ptr %423, align 4, !tbaa !5
  %1550 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1541, ptr noundef nonnull %.str.5.sink1927, i32 noundef %1542, ptr noundef nonnull @.str.21, ptr noundef nonnull @.str.1, i32 noundef 151, ptr noundef %1544, ptr noundef %1546, ptr noundef %1548, i32 noundef %1549) #11
  call void @exit(i32 noundef 1) #12
  unreachable

1551:                                             ; preds = %1524
  %1552 = add nsw i32 %1525, 2
  store i32 %1552, ptr @test_count, align 4, !tbaa !5
  %1553 = call ptr @s2n_strerror_debug(i32 noundef %1527, ptr noundef nonnull @.str.4) #9
  %1554 = icmp eq ptr %1553, null
  br i1 %1554, label %1555, label %1577

1555:                                             ; preds = %1551
  %1556 = load i32, ptr %423, align 4, !tbaa !5
  %1557 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1558 = call i32 @s2n_print_stacktrace(ptr noundef %1557) #9
  %1559 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1560 = trunc nuw i8 %1559 to i1
  br i1 %1560, label %1561, label %1565

1561:                                             ; preds = %1555
  %1562 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1563 = call i32 @fileno(ptr noundef %1562) #9
  %1564 = call i32 @isatty(i32 noundef %1563) #9
  %.not1364 = icmp eq i32 %1564, 0
  br i1 %.not1364, label %1565, label %1566

1565:                                             ; preds = %1561, %1555
  br label %1566

1566:                                             ; preds = %1561, %1565
  %.str.5.sink1936 = phi ptr [ @.str.5, %1565 ], [ @.str.2, %1561 ]
  store i32 %1556, ptr %423, align 4, !tbaa !5
  %1567 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1568 = load i32, ptr @test_count, align 4, !tbaa !5
  %1569 = load i32, ptr %369, align 4, !tbaa !5
  %1570 = call ptr @s2n_strerror(i32 noundef %1569, ptr noundef nonnull @.str.4) #9
  %1571 = load i32, ptr %369, align 4, !tbaa !5
  %1572 = call ptr @s2n_strerror_debug(i32 noundef %1571, ptr noundef nonnull @.str.4) #9
  %1573 = load i32, ptr %423, align 4, !tbaa !5
  %1574 = call ptr @strerror(i32 noundef %1573) #9
  %1575 = load i32, ptr %423, align 4, !tbaa !5
  %1576 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1567, ptr noundef nonnull %.str.5.sink1936, i32 noundef %1568, ptr noundef nonnull @.str.22, ptr noundef nonnull @.str.1, i32 noundef 151, ptr noundef %1570, ptr noundef %1572, ptr noundef %1574, i32 noundef %1575) #11
  call void @exit(i32 noundef 1) #12
  unreachable

1577:                                             ; preds = %1551
  store i32 0, ptr %369, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #9
  store i32 0, ptr %423, align 4, !tbaa !5
  %1578 = load i32, ptr @test_count, align 4, !tbaa !5
  %1579 = add nsw i32 %1578, 1
  store i32 %1579, ptr @test_count, align 4, !tbaa !5
  %1580 = call i32 @s2n_connection_set_config(ptr noundef nonnull %1228, ptr noundef %184) #9
  %1581 = icmp eq i32 %1580, -1
  br i1 %1581, label %1582, label %1604

1582:                                             ; preds = %1577
  %1583 = load i32, ptr %423, align 4, !tbaa !5
  %1584 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1585 = call i32 @s2n_print_stacktrace(ptr noundef %1584) #9
  %1586 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1587 = trunc nuw i8 %1586 to i1
  br i1 %1587, label %1588, label %1592

1588:                                             ; preds = %1582
  %1589 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1590 = call i32 @fileno(ptr noundef %1589) #9
  %1591 = call i32 @isatty(i32 noundef %1590) #9
  %.not1363 = icmp eq i32 %1591, 0
  br i1 %.not1363, label %1592, label %1593

1592:                                             ; preds = %1588, %1582
  br label %1593

1593:                                             ; preds = %1588, %1592
  %.str.5.sink1945 = phi ptr [ @.str.5, %1592 ], [ @.str.2, %1588 ]
  store i32 %1583, ptr %423, align 4, !tbaa !5
  %1594 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1595 = load i32, ptr @test_count, align 4, !tbaa !5
  %1596 = load i32, ptr %369, align 4, !tbaa !5
  %1597 = call ptr @s2n_strerror(i32 noundef %1596, ptr noundef nonnull @.str.4) #9
  %1598 = load i32, ptr %369, align 4, !tbaa !5
  %1599 = call ptr @s2n_strerror_debug(i32 noundef %1598, ptr noundef nonnull @.str.4) #9
  %1600 = load i32, ptr %423, align 4, !tbaa !5
  %1601 = call ptr @strerror(i32 noundef %1600) #9
  %1602 = load i32, ptr %423, align 4, !tbaa !5
  %1603 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1594, ptr noundef nonnull %.str.5.sink1945, i32 noundef %1595, ptr noundef nonnull @.str.25, ptr noundef nonnull @.str.1, i32 noundef 154, ptr noundef %1597, ptr noundef %1599, ptr noundef %1601, i32 noundef %1602) #11
  call void @exit(i32 noundef 1) #12
  unreachable

1604:                                             ; preds = %1577
  %1605 = load i32, ptr @test_count, align 4, !tbaa !5
  %1606 = add nsw i32 %1605, 1
  store i32 %1606, ptr @test_count, align 4, !tbaa !5
  %1607 = call i32 @s2n_is_sig_scheme_valid_for_auth(ptr noundef nonnull %1228, ptr noundef nonnull @s2n_rsa_pkcs1_md5_sha1) #9
  %1608 = icmp eq i32 %1607, -1
  br i1 %1608, label %1609, label %1631

1609:                                             ; preds = %1604
  %1610 = load i32, ptr %423, align 4, !tbaa !5
  %1611 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1612 = call i32 @s2n_print_stacktrace(ptr noundef %1611) #9
  %1613 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1614 = trunc nuw i8 %1613 to i1
  br i1 %1614, label %1615, label %1619

1615:                                             ; preds = %1609
  %1616 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1617 = call i32 @fileno(ptr noundef %1616) #9
  %1618 = call i32 @isatty(i32 noundef %1617) #9
  %.not1362 = icmp eq i32 %1618, 0
  br i1 %.not1362, label %1619, label %1620

1619:                                             ; preds = %1615, %1609
  br label %1620

1620:                                             ; preds = %1615, %1619
  %.str.5.sink1954 = phi ptr [ @.str.5, %1619 ], [ @.str.2, %1615 ]
  store i32 %1610, ptr %423, align 4, !tbaa !5
  %1621 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1622 = load i32, ptr @test_count, align 4, !tbaa !5
  %1623 = load i32, ptr %369, align 4, !tbaa !5
  %1624 = call ptr @s2n_strerror(i32 noundef %1623, ptr noundef nonnull @.str.4) #9
  %1625 = load i32, ptr %369, align 4, !tbaa !5
  %1626 = call ptr @s2n_strerror_debug(i32 noundef %1625, ptr noundef nonnull @.str.4) #9
  %1627 = load i32, ptr %423, align 4, !tbaa !5
  %1628 = call ptr @strerror(i32 noundef %1627) #9
  %1629 = load i32, ptr %423, align 4, !tbaa !5
  %1630 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1621, ptr noundef nonnull %.str.5.sink1954, i32 noundef %1622, ptr noundef nonnull @.str.36, ptr noundef nonnull @.str.1, i32 noundef 155, ptr noundef %1624, ptr noundef %1626, ptr noundef %1628, i32 noundef %1629) #11
  call void @exit(i32 noundef 1) #12
  unreachable

1631:                                             ; preds = %1604
  %1632 = load i32, ptr @test_count, align 4, !tbaa !5
  %1633 = add nsw i32 %1632, 1
  store i32 %1633, ptr @test_count, align 4, !tbaa !5
  %1634 = call i32 @s2n_is_sig_scheme_valid_for_auth(ptr noundef nonnull %1228, ptr noundef nonnull @s2n_rsa_pss_pss_sha256) #9
  %1635 = icmp eq i32 %1634, -1
  br i1 %1635, label %1658, label %1636

1636:                                             ; preds = %1631
  %1637 = load i32, ptr %423, align 4, !tbaa !5
  %1638 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1639 = call i32 @s2n_print_stacktrace(ptr noundef %1638) #9
  %1640 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1641 = trunc nuw i8 %1640 to i1
  br i1 %1641, label %1642, label %1646

1642:                                             ; preds = %1636
  %1643 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1644 = call i32 @fileno(ptr noundef %1643) #9
  %1645 = call i32 @isatty(i32 noundef %1644) #9
  %.not1027 = icmp eq i32 %1645, 0
  br i1 %.not1027, label %1646, label %1647

1646:                                             ; preds = %1642, %1636
  br label %1647

1647:                                             ; preds = %1642, %1646
  %.str.5.sink1963 = phi ptr [ @.str.5, %1646 ], [ @.str.2, %1642 ]
  store i32 %1637, ptr %423, align 4, !tbaa !5
  %1648 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1649 = load i32, ptr @test_count, align 4, !tbaa !5
  %1650 = load i32, ptr %369, align 4, !tbaa !5
  %1651 = call ptr @s2n_strerror(i32 noundef %1650, ptr noundef nonnull @.str.4) #9
  %1652 = load i32, ptr %369, align 4, !tbaa !5
  %1653 = call ptr @s2n_strerror_debug(i32 noundef %1652, ptr noundef nonnull @.str.4) #9
  %1654 = load i32, ptr %423, align 4, !tbaa !5
  %1655 = call ptr @strerror(i32 noundef %1654) #9
  %1656 = load i32, ptr %423, align 4, !tbaa !5
  %1657 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1648, ptr noundef nonnull %.str.5.sink1963, i32 noundef %1649, ptr noundef nonnull @.str.33, ptr noundef nonnull @.str.1, i32 noundef 156, ptr noundef %1651, ptr noundef %1653, ptr noundef %1655, i32 noundef %1656) #11
  call void @exit(i32 noundef 1) #12
  unreachable

1658:                                             ; preds = %1631
  %1659 = load i32, ptr @test_count, align 4, !tbaa !5
  %1660 = add nsw i32 %1659, 1
  store i32 %1660, ptr @test_count, align 4, !tbaa !5
  %1661 = load i32, ptr %369, align 4, !tbaa !5
  %1662 = icmp eq i32 %1661, 0
  br i1 %1662, label %1663, label %1685

1663:                                             ; preds = %1658
  %1664 = load i32, ptr %423, align 4, !tbaa !5
  %1665 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1666 = call i32 @s2n_print_stacktrace(ptr noundef %1665) #9
  %1667 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1668 = trunc nuw i8 %1667 to i1
  br i1 %1668, label %1669, label %1673

1669:                                             ; preds = %1663
  %1670 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1671 = call i32 @fileno(ptr noundef %1670) #9
  %1672 = call i32 @isatty(i32 noundef %1671) #9
  %.not1361 = icmp eq i32 %1672, 0
  br i1 %.not1361, label %1673, label %1674

1673:                                             ; preds = %1669, %1663
  br label %1674

1674:                                             ; preds = %1669, %1673
  %.str.5.sink1972 = phi ptr [ @.str.5, %1673 ], [ @.str.2, %1669 ]
  store i32 %1664, ptr %423, align 4, !tbaa !5
  %1675 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1676 = load i32, ptr @test_count, align 4, !tbaa !5
  %1677 = load i32, ptr %369, align 4, !tbaa !5
  %1678 = call ptr @s2n_strerror(i32 noundef %1677, ptr noundef nonnull @.str.4) #9
  %1679 = load i32, ptr %369, align 4, !tbaa !5
  %1680 = call ptr @s2n_strerror_debug(i32 noundef %1679, ptr noundef nonnull @.str.4) #9
  %1681 = load i32, ptr %423, align 4, !tbaa !5
  %1682 = call ptr @strerror(i32 noundef %1681) #9
  %1683 = load i32, ptr %423, align 4, !tbaa !5
  %1684 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1675, ptr noundef nonnull %.str.5.sink1972, i32 noundef %1676, ptr noundef nonnull @.str.21, ptr noundef nonnull @.str.1, i32 noundef 156, ptr noundef %1678, ptr noundef %1680, ptr noundef %1682, i32 noundef %1683) #11
  call void @exit(i32 noundef 1) #12
  unreachable

1685:                                             ; preds = %1658
  %1686 = add nsw i32 %1659, 2
  store i32 %1686, ptr @test_count, align 4, !tbaa !5
  %1687 = call ptr @s2n_strerror_debug(i32 noundef %1661, ptr noundef nonnull @.str.4) #9
  %1688 = icmp eq ptr %1687, null
  br i1 %1688, label %1689, label %1711

1689:                                             ; preds = %1685
  %1690 = load i32, ptr %423, align 4, !tbaa !5
  %1691 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1692 = call i32 @s2n_print_stacktrace(ptr noundef %1691) #9
  %1693 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1694 = trunc nuw i8 %1693 to i1
  br i1 %1694, label %1695, label %1699

1695:                                             ; preds = %1689
  %1696 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1697 = call i32 @fileno(ptr noundef %1696) #9
  %1698 = call i32 @isatty(i32 noundef %1697) #9
  %.not1360 = icmp eq i32 %1698, 0
  br i1 %.not1360, label %1699, label %1700

1699:                                             ; preds = %1695, %1689
  br label %1700

1700:                                             ; preds = %1695, %1699
  %.str.5.sink1981 = phi ptr [ @.str.5, %1699 ], [ @.str.2, %1695 ]
  store i32 %1690, ptr %423, align 4, !tbaa !5
  %1701 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1702 = load i32, ptr @test_count, align 4, !tbaa !5
  %1703 = load i32, ptr %369, align 4, !tbaa !5
  %1704 = call ptr @s2n_strerror(i32 noundef %1703, ptr noundef nonnull @.str.4) #9
  %1705 = load i32, ptr %369, align 4, !tbaa !5
  %1706 = call ptr @s2n_strerror_debug(i32 noundef %1705, ptr noundef nonnull @.str.4) #9
  %1707 = load i32, ptr %423, align 4, !tbaa !5
  %1708 = call ptr @strerror(i32 noundef %1707) #9
  %1709 = load i32, ptr %423, align 4, !tbaa !5
  %1710 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1701, ptr noundef nonnull %.str.5.sink1981, i32 noundef %1702, ptr noundef nonnull @.str.22, ptr noundef nonnull @.str.1, i32 noundef 156, ptr noundef %1704, ptr noundef %1706, ptr noundef %1708, i32 noundef %1709) #11
  call void @exit(i32 noundef 1) #12
  unreachable

1711:                                             ; preds = %1685
  store i32 0, ptr %369, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #9
  store i32 0, ptr %423, align 4, !tbaa !5
  %1712 = load i32, ptr @test_count, align 4, !tbaa !5
  %1713 = add nsw i32 %1712, 1
  store i32 %1713, ptr @test_count, align 4, !tbaa !5
  %1714 = call i32 @s2n_is_sig_scheme_valid_for_auth(ptr noundef nonnull %1228, ptr noundef nonnull @s2n_rsa_pss_rsae_sha256) #9
  %1715 = icmp eq i32 %1714, -1
  br i1 %1715, label %1716, label %1738

1716:                                             ; preds = %1711
  %1717 = load i32, ptr %423, align 4, !tbaa !5
  %1718 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1719 = call i32 @s2n_print_stacktrace(ptr noundef %1718) #9
  %1720 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1721 = trunc nuw i8 %1720 to i1
  br i1 %1721, label %1722, label %1726

1722:                                             ; preds = %1716
  %1723 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1724 = call i32 @fileno(ptr noundef %1723) #9
  %1725 = call i32 @isatty(i32 noundef %1724) #9
  %.not1359 = icmp eq i32 %1725, 0
  br i1 %.not1359, label %1726, label %1727

1726:                                             ; preds = %1722, %1716
  br label %1727

1727:                                             ; preds = %1722, %1726
  %.str.5.sink1990 = phi ptr [ @.str.5, %1726 ], [ @.str.2, %1722 ]
  store i32 %1717, ptr %423, align 4, !tbaa !5
  %1728 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1729 = load i32, ptr @test_count, align 4, !tbaa !5
  %1730 = load i32, ptr %369, align 4, !tbaa !5
  %1731 = call ptr @s2n_strerror(i32 noundef %1730, ptr noundef nonnull @.str.4) #9
  %1732 = load i32, ptr %369, align 4, !tbaa !5
  %1733 = call ptr @s2n_strerror_debug(i32 noundef %1732, ptr noundef nonnull @.str.4) #9
  %1734 = load i32, ptr %423, align 4, !tbaa !5
  %1735 = call ptr @strerror(i32 noundef %1734) #9
  %1736 = load i32, ptr %423, align 4, !tbaa !5
  %1737 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1728, ptr noundef nonnull %.str.5.sink1990, i32 noundef %1729, ptr noundef nonnull @.str.37, ptr noundef nonnull @.str.1, i32 noundef 157, ptr noundef %1731, ptr noundef %1733, ptr noundef %1735, i32 noundef %1736) #11
  call void @exit(i32 noundef 1) #12
  unreachable

1738:                                             ; preds = %1711
  %1739 = load i32, ptr @test_count, align 4, !tbaa !5
  %1740 = add nsw i32 %1739, 1
  store i32 %1740, ptr @test_count, align 4, !tbaa !5
  %1741 = call i32 @s2n_is_sig_scheme_valid_for_auth(ptr noundef nonnull %1228, ptr noundef nonnull @s2n_ecdsa_sha384) #9
  %1742 = icmp eq i32 %1741, -1
  br i1 %1742, label %1765, label %1743

1743:                                             ; preds = %1738
  %1744 = load i32, ptr %423, align 4, !tbaa !5
  %1745 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1746 = call i32 @s2n_print_stacktrace(ptr noundef %1745) #9
  %1747 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1748 = trunc nuw i8 %1747 to i1
  br i1 %1748, label %1749, label %1753

1749:                                             ; preds = %1743
  %1750 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1751 = call i32 @fileno(ptr noundef %1750) #9
  %1752 = call i32 @isatty(i32 noundef %1751) #9
  %.not1028 = icmp eq i32 %1752, 0
  br i1 %.not1028, label %1753, label %1754

1753:                                             ; preds = %1749, %1743
  br label %1754

1754:                                             ; preds = %1749, %1753
  %.str.5.sink1999 = phi ptr [ @.str.5, %1753 ], [ @.str.2, %1749 ]
  store i32 %1744, ptr %423, align 4, !tbaa !5
  %1755 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1756 = load i32, ptr @test_count, align 4, !tbaa !5
  %1757 = load i32, ptr %369, align 4, !tbaa !5
  %1758 = call ptr @s2n_strerror(i32 noundef %1757, ptr noundef nonnull @.str.4) #9
  %1759 = load i32, ptr %369, align 4, !tbaa !5
  %1760 = call ptr @s2n_strerror_debug(i32 noundef %1759, ptr noundef nonnull @.str.4) #9
  %1761 = load i32, ptr %423, align 4, !tbaa !5
  %1762 = call ptr @strerror(i32 noundef %1761) #9
  %1763 = load i32, ptr %423, align 4, !tbaa !5
  %1764 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1755, ptr noundef nonnull %.str.5.sink1999, i32 noundef %1756, ptr noundef nonnull @.str.35, ptr noundef nonnull @.str.1, i32 noundef 158, ptr noundef %1758, ptr noundef %1760, ptr noundef %1762, i32 noundef %1763) #11
  call void @exit(i32 noundef 1) #12
  unreachable

1765:                                             ; preds = %1738
  %1766 = load i32, ptr @test_count, align 4, !tbaa !5
  %1767 = add nsw i32 %1766, 1
  store i32 %1767, ptr @test_count, align 4, !tbaa !5
  %1768 = load i32, ptr %369, align 4, !tbaa !5
  %1769 = icmp eq i32 %1768, 0
  br i1 %1769, label %1770, label %1792

1770:                                             ; preds = %1765
  %1771 = load i32, ptr %423, align 4, !tbaa !5
  %1772 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1773 = call i32 @s2n_print_stacktrace(ptr noundef %1772) #9
  %1774 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1775 = trunc nuw i8 %1774 to i1
  br i1 %1775, label %1776, label %1780

1776:                                             ; preds = %1770
  %1777 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1778 = call i32 @fileno(ptr noundef %1777) #9
  %1779 = call i32 @isatty(i32 noundef %1778) #9
  %.not1358 = icmp eq i32 %1779, 0
  br i1 %.not1358, label %1780, label %1781

1780:                                             ; preds = %1776, %1770
  br label %1781

1781:                                             ; preds = %1776, %1780
  %.str.5.sink2008 = phi ptr [ @.str.5, %1780 ], [ @.str.2, %1776 ]
  store i32 %1771, ptr %423, align 4, !tbaa !5
  %1782 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1783 = load i32, ptr @test_count, align 4, !tbaa !5
  %1784 = load i32, ptr %369, align 4, !tbaa !5
  %1785 = call ptr @s2n_strerror(i32 noundef %1784, ptr noundef nonnull @.str.4) #9
  %1786 = load i32, ptr %369, align 4, !tbaa !5
  %1787 = call ptr @s2n_strerror_debug(i32 noundef %1786, ptr noundef nonnull @.str.4) #9
  %1788 = load i32, ptr %423, align 4, !tbaa !5
  %1789 = call ptr @strerror(i32 noundef %1788) #9
  %1790 = load i32, ptr %423, align 4, !tbaa !5
  %1791 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1782, ptr noundef nonnull %.str.5.sink2008, i32 noundef %1783, ptr noundef nonnull @.str.21, ptr noundef nonnull @.str.1, i32 noundef 158, ptr noundef %1785, ptr noundef %1787, ptr noundef %1789, i32 noundef %1790) #11
  call void @exit(i32 noundef 1) #12
  unreachable

1792:                                             ; preds = %1765
  %1793 = add nsw i32 %1766, 2
  store i32 %1793, ptr @test_count, align 4, !tbaa !5
  %1794 = call ptr @s2n_strerror_debug(i32 noundef %1768, ptr noundef nonnull @.str.4) #9
  %1795 = icmp eq ptr %1794, null
  br i1 %1795, label %1796, label %1818

1796:                                             ; preds = %1792
  %1797 = load i32, ptr %423, align 4, !tbaa !5
  %1798 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1799 = call i32 @s2n_print_stacktrace(ptr noundef %1798) #9
  %1800 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1801 = trunc nuw i8 %1800 to i1
  br i1 %1801, label %1802, label %1806

1802:                                             ; preds = %1796
  %1803 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1804 = call i32 @fileno(ptr noundef %1803) #9
  %1805 = call i32 @isatty(i32 noundef %1804) #9
  %.not1357 = icmp eq i32 %1805, 0
  br i1 %.not1357, label %1806, label %1807

1806:                                             ; preds = %1802, %1796
  br label %1807

1807:                                             ; preds = %1802, %1806
  %.str.5.sink2017 = phi ptr [ @.str.5, %1806 ], [ @.str.2, %1802 ]
  store i32 %1797, ptr %423, align 4, !tbaa !5
  %1808 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1809 = load i32, ptr @test_count, align 4, !tbaa !5
  %1810 = load i32, ptr %369, align 4, !tbaa !5
  %1811 = call ptr @s2n_strerror(i32 noundef %1810, ptr noundef nonnull @.str.4) #9
  %1812 = load i32, ptr %369, align 4, !tbaa !5
  %1813 = call ptr @s2n_strerror_debug(i32 noundef %1812, ptr noundef nonnull @.str.4) #9
  %1814 = load i32, ptr %423, align 4, !tbaa !5
  %1815 = call ptr @strerror(i32 noundef %1814) #9
  %1816 = load i32, ptr %423, align 4, !tbaa !5
  %1817 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1808, ptr noundef nonnull %.str.5.sink2017, i32 noundef %1809, ptr noundef nonnull @.str.22, ptr noundef nonnull @.str.1, i32 noundef 158, ptr noundef %1811, ptr noundef %1813, ptr noundef %1815, i32 noundef %1816) #11
  call void @exit(i32 noundef 1) #12
  unreachable

1818:                                             ; preds = %1792
  store i32 0, ptr %369, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #9
  store i32 0, ptr %423, align 4, !tbaa !5
  %1819 = load i32, ptr @test_count, align 4, !tbaa !5
  %1820 = add nsw i32 %1819, 1
  store i32 %1820, ptr @test_count, align 4, !tbaa !5
  %1821 = call i32 @s2n_connection_set_config(ptr noundef nonnull %1228, ptr noundef %307) #9
  %1822 = icmp eq i32 %1821, -1
  br i1 %1822, label %1823, label %1845

1823:                                             ; preds = %1818
  %1824 = load i32, ptr %423, align 4, !tbaa !5
  %1825 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1826 = call i32 @s2n_print_stacktrace(ptr noundef %1825) #9
  %1827 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1828 = trunc nuw i8 %1827 to i1
  br i1 %1828, label %1829, label %1833

1829:                                             ; preds = %1823
  %1830 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1831 = call i32 @fileno(ptr noundef %1830) #9
  %1832 = call i32 @isatty(i32 noundef %1831) #9
  %.not1356 = icmp eq i32 %1832, 0
  br i1 %.not1356, label %1833, label %1834

1833:                                             ; preds = %1829, %1823
  br label %1834

1834:                                             ; preds = %1829, %1833
  %.str.5.sink2026 = phi ptr [ @.str.5, %1833 ], [ @.str.2, %1829 ]
  store i32 %1824, ptr %423, align 4, !tbaa !5
  %1835 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1836 = load i32, ptr @test_count, align 4, !tbaa !5
  %1837 = load i32, ptr %369, align 4, !tbaa !5
  %1838 = call ptr @s2n_strerror(i32 noundef %1837, ptr noundef nonnull @.str.4) #9
  %1839 = load i32, ptr %369, align 4, !tbaa !5
  %1840 = call ptr @s2n_strerror_debug(i32 noundef %1839, ptr noundef nonnull @.str.4) #9
  %1841 = load i32, ptr %423, align 4, !tbaa !5
  %1842 = call ptr @strerror(i32 noundef %1841) #9
  %1843 = load i32, ptr %423, align 4, !tbaa !5
  %1844 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1835, ptr noundef nonnull %.str.5.sink2026, i32 noundef %1836, ptr noundef nonnull @.str.27, ptr noundef nonnull @.str.1, i32 noundef 161, ptr noundef %1838, ptr noundef %1840, ptr noundef %1842, i32 noundef %1843) #11
  call void @exit(i32 noundef 1) #12
  unreachable

1845:                                             ; preds = %1818
  %1846 = load i32, ptr @test_count, align 4, !tbaa !5
  %1847 = add nsw i32 %1846, 1
  store i32 %1847, ptr @test_count, align 4, !tbaa !5
  %1848 = call i32 @s2n_is_sig_scheme_valid_for_auth(ptr noundef nonnull %1228, ptr noundef nonnull @s2n_rsa_pkcs1_md5_sha1) #9
  %1849 = icmp eq i32 %1848, -1
  br i1 %1849, label %1872, label %1850

1850:                                             ; preds = %1845
  %1851 = load i32, ptr %423, align 4, !tbaa !5
  %1852 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1853 = call i32 @s2n_print_stacktrace(ptr noundef %1852) #9
  %1854 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1855 = trunc nuw i8 %1854 to i1
  br i1 %1855, label %1856, label %1860

1856:                                             ; preds = %1850
  %1857 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1858 = call i32 @fileno(ptr noundef %1857) #9
  %1859 = call i32 @isatty(i32 noundef %1858) #9
  %.not1029 = icmp eq i32 %1859, 0
  br i1 %.not1029, label %1860, label %1861

1860:                                             ; preds = %1856, %1850
  br label %1861

1861:                                             ; preds = %1856, %1860
  %.str.5.sink2035 = phi ptr [ @.str.5, %1860 ], [ @.str.2, %1856 ]
  store i32 %1851, ptr %423, align 4, !tbaa !5
  %1862 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1863 = load i32, ptr @test_count, align 4, !tbaa !5
  %1864 = load i32, ptr %369, align 4, !tbaa !5
  %1865 = call ptr @s2n_strerror(i32 noundef %1864, ptr noundef nonnull @.str.4) #9
  %1866 = load i32, ptr %369, align 4, !tbaa !5
  %1867 = call ptr @s2n_strerror_debug(i32 noundef %1866, ptr noundef nonnull @.str.4) #9
  %1868 = load i32, ptr %423, align 4, !tbaa !5
  %1869 = call ptr @strerror(i32 noundef %1868) #9
  %1870 = load i32, ptr %423, align 4, !tbaa !5
  %1871 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1862, ptr noundef nonnull %.str.5.sink2035, i32 noundef %1863, ptr noundef nonnull @.str.32, ptr noundef nonnull @.str.1, i32 noundef 162, ptr noundef %1865, ptr noundef %1867, ptr noundef %1869, i32 noundef %1870) #11
  call void @exit(i32 noundef 1) #12
  unreachable

1872:                                             ; preds = %1845
  %1873 = load i32, ptr @test_count, align 4, !tbaa !5
  %1874 = add nsw i32 %1873, 1
  store i32 %1874, ptr @test_count, align 4, !tbaa !5
  %1875 = load i32, ptr %369, align 4, !tbaa !5
  %1876 = icmp eq i32 %1875, 0
  br i1 %1876, label %1877, label %1899

1877:                                             ; preds = %1872
  %1878 = load i32, ptr %423, align 4, !tbaa !5
  %1879 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1880 = call i32 @s2n_print_stacktrace(ptr noundef %1879) #9
  %1881 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1882 = trunc nuw i8 %1881 to i1
  br i1 %1882, label %1883, label %1887

1883:                                             ; preds = %1877
  %1884 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1885 = call i32 @fileno(ptr noundef %1884) #9
  %1886 = call i32 @isatty(i32 noundef %1885) #9
  %.not1355 = icmp eq i32 %1886, 0
  br i1 %.not1355, label %1887, label %1888

1887:                                             ; preds = %1883, %1877
  br label %1888

1888:                                             ; preds = %1883, %1887
  %.str.5.sink2044 = phi ptr [ @.str.5, %1887 ], [ @.str.2, %1883 ]
  store i32 %1878, ptr %423, align 4, !tbaa !5
  %1889 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1890 = load i32, ptr @test_count, align 4, !tbaa !5
  %1891 = load i32, ptr %369, align 4, !tbaa !5
  %1892 = call ptr @s2n_strerror(i32 noundef %1891, ptr noundef nonnull @.str.4) #9
  %1893 = load i32, ptr %369, align 4, !tbaa !5
  %1894 = call ptr @s2n_strerror_debug(i32 noundef %1893, ptr noundef nonnull @.str.4) #9
  %1895 = load i32, ptr %423, align 4, !tbaa !5
  %1896 = call ptr @strerror(i32 noundef %1895) #9
  %1897 = load i32, ptr %423, align 4, !tbaa !5
  %1898 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1889, ptr noundef nonnull %.str.5.sink2044, i32 noundef %1890, ptr noundef nonnull @.str.21, ptr noundef nonnull @.str.1, i32 noundef 162, ptr noundef %1892, ptr noundef %1894, ptr noundef %1896, i32 noundef %1897) #11
  call void @exit(i32 noundef 1) #12
  unreachable

1899:                                             ; preds = %1872
  %1900 = add nsw i32 %1873, 2
  store i32 %1900, ptr @test_count, align 4, !tbaa !5
  %1901 = call ptr @s2n_strerror_debug(i32 noundef %1875, ptr noundef nonnull @.str.4) #9
  %1902 = icmp eq ptr %1901, null
  br i1 %1902, label %1903, label %1925

1903:                                             ; preds = %1899
  %1904 = load i32, ptr %423, align 4, !tbaa !5
  %1905 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1906 = call i32 @s2n_print_stacktrace(ptr noundef %1905) #9
  %1907 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1908 = trunc nuw i8 %1907 to i1
  br i1 %1908, label %1909, label %1913

1909:                                             ; preds = %1903
  %1910 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1911 = call i32 @fileno(ptr noundef %1910) #9
  %1912 = call i32 @isatty(i32 noundef %1911) #9
  %.not1354 = icmp eq i32 %1912, 0
  br i1 %.not1354, label %1913, label %1914

1913:                                             ; preds = %1909, %1903
  br label %1914

1914:                                             ; preds = %1909, %1913
  %.str.5.sink2053 = phi ptr [ @.str.5, %1913 ], [ @.str.2, %1909 ]
  store i32 %1904, ptr %423, align 4, !tbaa !5
  %1915 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1916 = load i32, ptr @test_count, align 4, !tbaa !5
  %1917 = load i32, ptr %369, align 4, !tbaa !5
  %1918 = call ptr @s2n_strerror(i32 noundef %1917, ptr noundef nonnull @.str.4) #9
  %1919 = load i32, ptr %369, align 4, !tbaa !5
  %1920 = call ptr @s2n_strerror_debug(i32 noundef %1919, ptr noundef nonnull @.str.4) #9
  %1921 = load i32, ptr %423, align 4, !tbaa !5
  %1922 = call ptr @strerror(i32 noundef %1921) #9
  %1923 = load i32, ptr %423, align 4, !tbaa !5
  %1924 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1915, ptr noundef nonnull %.str.5.sink2053, i32 noundef %1916, ptr noundef nonnull @.str.22, ptr noundef nonnull @.str.1, i32 noundef 162, ptr noundef %1918, ptr noundef %1920, ptr noundef %1922, i32 noundef %1923) #11
  call void @exit(i32 noundef 1) #12
  unreachable

1925:                                             ; preds = %1899
  store i32 0, ptr %369, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #9
  store i32 0, ptr %423, align 4, !tbaa !5
  %1926 = call zeroext i1 (...) @s2n_is_rsa_pss_certs_supported() #9
  %1927 = load i32, ptr @test_count, align 4, !tbaa !5
  %1928 = add nsw i32 %1927, 1
  store i32 %1928, ptr @test_count, align 4, !tbaa !5
  %1929 = call i32 @s2n_is_sig_scheme_valid_for_auth(ptr noundef nonnull %1228, ptr noundef nonnull @s2n_rsa_pss_pss_sha256) #9
  %1930 = icmp eq i32 %1929, -1
  br i1 %1926, label %1931, label %1954

1931:                                             ; preds = %1925
  br i1 %1930, label %1932, label %2031

1932:                                             ; preds = %1931
  %1933 = load i32, ptr %423, align 4, !tbaa !5
  %1934 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1935 = call i32 @s2n_print_stacktrace(ptr noundef %1934) #9
  %1936 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1937 = trunc nuw i8 %1936 to i1
  br i1 %1937, label %1938, label %1942

1938:                                             ; preds = %1932
  %1939 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1940 = call i32 @fileno(ptr noundef %1939) #9
  %1941 = call i32 @isatty(i32 noundef %1940) #9
  %.not1353 = icmp eq i32 %1941, 0
  br i1 %.not1353, label %1942, label %1943

1942:                                             ; preds = %1938, %1932
  br label %1943

1943:                                             ; preds = %1938, %1942
  %.str.5.sink2062 = phi ptr [ @.str.5, %1942 ], [ @.str.2, %1938 ]
  store i32 %1933, ptr %423, align 4, !tbaa !5
  %1944 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1945 = load i32, ptr @test_count, align 4, !tbaa !5
  %1946 = load i32, ptr %369, align 4, !tbaa !5
  %1947 = call ptr @s2n_strerror(i32 noundef %1946, ptr noundef nonnull @.str.4) #9
  %1948 = load i32, ptr %369, align 4, !tbaa !5
  %1949 = call ptr @s2n_strerror_debug(i32 noundef %1948, ptr noundef nonnull @.str.4) #9
  %1950 = load i32, ptr %423, align 4, !tbaa !5
  %1951 = call ptr @strerror(i32 noundef %1950) #9
  %1952 = load i32, ptr %423, align 4, !tbaa !5
  %1953 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1944, ptr noundef nonnull %.str.5.sink2062, i32 noundef %1945, ptr noundef nonnull @.str.38, ptr noundef nonnull @.str.1, i32 noundef 163, ptr noundef %1947, ptr noundef %1949, ptr noundef %1951, i32 noundef %1952) #11
  call void @exit(i32 noundef 1) #12
  unreachable

1954:                                             ; preds = %1925
  br i1 %1930, label %1977, label %1955

1955:                                             ; preds = %1954
  %1956 = load i32, ptr %423, align 4, !tbaa !5
  %1957 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1958 = call i32 @s2n_print_stacktrace(ptr noundef %1957) #9
  %1959 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1960 = trunc nuw i8 %1959 to i1
  br i1 %1960, label %1961, label %1965

1961:                                             ; preds = %1955
  %1962 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1963 = call i32 @fileno(ptr noundef %1962) #9
  %1964 = call i32 @isatty(i32 noundef %1963) #9
  %.not1030 = icmp eq i32 %1964, 0
  br i1 %.not1030, label %1965, label %1966

1965:                                             ; preds = %1961, %1955
  br label %1966

1966:                                             ; preds = %1961, %1965
  %.str.5.sink2071 = phi ptr [ @.str.5, %1965 ], [ @.str.2, %1961 ]
  store i32 %1956, ptr %423, align 4, !tbaa !5
  %1967 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1968 = load i32, ptr @test_count, align 4, !tbaa !5
  %1969 = load i32, ptr %369, align 4, !tbaa !5
  %1970 = call ptr @s2n_strerror(i32 noundef %1969, ptr noundef nonnull @.str.4) #9
  %1971 = load i32, ptr %369, align 4, !tbaa !5
  %1972 = call ptr @s2n_strerror_debug(i32 noundef %1971, ptr noundef nonnull @.str.4) #9
  %1973 = load i32, ptr %423, align 4, !tbaa !5
  %1974 = call ptr @strerror(i32 noundef %1973) #9
  %1975 = load i32, ptr %423, align 4, !tbaa !5
  %1976 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1967, ptr noundef nonnull %.str.5.sink2071, i32 noundef %1968, ptr noundef nonnull @.str.33, ptr noundef nonnull @.str.1, i32 noundef 163, ptr noundef %1970, ptr noundef %1972, ptr noundef %1974, i32 noundef %1975) #11
  call void @exit(i32 noundef 1) #12
  unreachable

1977:                                             ; preds = %1954
  %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 i32, ptr %369, align 4, !tbaa !5
  %1981 = icmp eq i32 %1980, 0
  br i1 %1981, label %1982, label %2004

1982:                                             ; preds = %1977
  %1983 = load i32, ptr %423, align 4, !tbaa !5
  %1984 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1985 = call i32 @s2n_print_stacktrace(ptr noundef %1984) #9
  %1986 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1987 = trunc nuw i8 %1986 to i1
  br i1 %1987, label %1988, label %1992

1988:                                             ; preds = %1982
  %1989 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1990 = call i32 @fileno(ptr noundef %1989) #9
  %1991 = call i32 @isatty(i32 noundef %1990) #9
  %.not1032 = icmp eq i32 %1991, 0
  br i1 %.not1032, label %1992, label %1993

1992:                                             ; preds = %1988, %1982
  br label %1993

1993:                                             ; preds = %1988, %1992
  %.str.5.sink2080 = phi ptr [ @.str.5, %1992 ], [ @.str.2, %1988 ]
  store i32 %1983, ptr %423, align 4, !tbaa !5
  %1994 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1995 = load i32, ptr @test_count, align 4, !tbaa !5
  %1996 = load i32, ptr %369, align 4, !tbaa !5
  %1997 = call ptr @s2n_strerror(i32 noundef %1996, ptr noundef nonnull @.str.4) #9
  %1998 = load i32, ptr %369, align 4, !tbaa !5
  %1999 = call ptr @s2n_strerror_debug(i32 noundef %1998, ptr noundef nonnull @.str.4) #9
  %2000 = load i32, ptr %423, align 4, !tbaa !5
  %2001 = call ptr @strerror(i32 noundef %2000) #9
  %2002 = load i32, ptr %423, align 4, !tbaa !5
  %2003 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1994, ptr noundef nonnull %.str.5.sink2080, i32 noundef %1995, ptr noundef nonnull @.str.21, ptr noundef nonnull @.str.1, i32 noundef 163, ptr noundef %1997, ptr noundef %1999, ptr noundef %2001, i32 noundef %2002) #11
  call void @exit(i32 noundef 1) #12
  unreachable

2004:                                             ; preds = %1977
  %2005 = add nsw i32 %1978, 2
  store i32 %2005, ptr @test_count, align 4, !tbaa !5
  %2006 = call ptr @s2n_strerror_debug(i32 noundef %1980, ptr noundef nonnull @.str.4) #9
  %2007 = icmp eq ptr %2006, null
  br i1 %2007, label %2008, label %2030

2008:                                             ; preds = %2004
  %2009 = load i32, ptr %423, align 4, !tbaa !5
  %2010 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2011 = call i32 @s2n_print_stacktrace(ptr noundef %2010) #9
  %2012 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2013 = trunc nuw i8 %2012 to i1
  br i1 %2013, label %2014, label %2018

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

2018:                                             ; preds = %2014, %2008
  br label %2019

2019:                                             ; preds = %2014, %2018
  %.str.5.sink2089 = phi ptr [ @.str.5, %2018 ], [ @.str.2, %2014 ]
  store i32 %2009, ptr %423, align 4, !tbaa !5
  %2020 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2021 = load i32, ptr @test_count, align 4, !tbaa !5
  %2022 = load i32, ptr %369, align 4, !tbaa !5
  %2023 = call ptr @s2n_strerror(i32 noundef %2022, ptr noundef nonnull @.str.4) #9
  %2024 = load i32, ptr %369, align 4, !tbaa !5
  %2025 = call ptr @s2n_strerror_debug(i32 noundef %2024, ptr noundef nonnull @.str.4) #9
  %2026 = load i32, ptr %423, align 4, !tbaa !5
  %2027 = call ptr @strerror(i32 noundef %2026) #9
  %2028 = load i32, ptr %423, align 4, !tbaa !5
  %2029 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2020, ptr noundef nonnull %.str.5.sink2089, i32 noundef %2021, ptr noundef nonnull @.str.22, ptr noundef nonnull @.str.1, i32 noundef 163, ptr noundef %2023, ptr noundef %2025, ptr noundef %2027, i32 noundef %2028) #11
  call void @exit(i32 noundef 1) #12
  unreachable

2030:                                             ; preds = %2004
  store i32 0, ptr %369, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #9
  store i32 0, ptr %423, align 4, !tbaa !5
  br label %2031

2031:                                             ; preds = %1931, %2030
  %2032 = load i32, ptr @test_count, align 4, !tbaa !5
  %2033 = add nsw i32 %2032, 1
  store i32 %2033, ptr @test_count, align 4, !tbaa !5
  %2034 = call i32 @s2n_is_sig_scheme_valid_for_auth(ptr noundef nonnull %1228, ptr noundef nonnull @s2n_rsa_pss_rsae_sha256) #9
  %2035 = icmp eq i32 %2034, -1
  br i1 %2035, label %2058, label %2036

2036:                                             ; preds = %2031
  %2037 = load i32, ptr %423, align 4, !tbaa !5
  %2038 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2039 = call i32 @s2n_print_stacktrace(ptr noundef %2038) #9
  %2040 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2041 = trunc nuw i8 %2040 to i1
  br i1 %2041, label %2042, label %2046

2042:                                             ; preds = %2036
  %2043 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2044 = call i32 @fileno(ptr noundef %2043) #9
  %2045 = call i32 @isatty(i32 noundef %2044) #9
  %.not1033 = icmp eq i32 %2045, 0
  br i1 %.not1033, label %2046, label %2047

2046:                                             ; preds = %2042, %2036
  br label %2047

2047:                                             ; preds = %2042, %2046
  %.str.5.sink2098 = phi ptr [ @.str.5, %2046 ], [ @.str.2, %2042 ]
  store i32 %2037, ptr %423, align 4, !tbaa !5
  %2048 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2049 = load i32, ptr @test_count, align 4, !tbaa !5
  %2050 = load i32, ptr %369, align 4, !tbaa !5
  %2051 = call ptr @s2n_strerror(i32 noundef %2050, ptr noundef nonnull @.str.4) #9
  %2052 = load i32, ptr %369, align 4, !tbaa !5
  %2053 = call ptr @s2n_strerror_debug(i32 noundef %2052, ptr noundef nonnull @.str.4) #9
  %2054 = load i32, ptr %423, align 4, !tbaa !5
  %2055 = call ptr @strerror(i32 noundef %2054) #9
  %2056 = load i32, ptr %423, align 4, !tbaa !5
  %2057 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2048, ptr noundef nonnull %.str.5.sink2098, i32 noundef %2049, ptr noundef nonnull @.str.34, ptr noundef nonnull @.str.1, i32 noundef 164, ptr noundef %2051, ptr noundef %2053, ptr noundef %2055, i32 noundef %2056) #11
  call void @exit(i32 noundef 1) #12
  unreachable

2058:                                             ; preds = %2031
  %2059 = load i32, ptr @test_count, align 4, !tbaa !5
  %2060 = add nsw i32 %2059, 1
  store i32 %2060, ptr @test_count, align 4, !tbaa !5
  %2061 = load i32, ptr %369, align 4, !tbaa !5
  %2062 = icmp eq i32 %2061, 0
  br i1 %2062, label %2063, label %2085

2063:                                             ; preds = %2058
  %2064 = load i32, ptr %423, align 4, !tbaa !5
  %2065 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2066 = call i32 @s2n_print_stacktrace(ptr noundef %2065) #9
  %2067 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2068 = trunc nuw i8 %2067 to i1
  br i1 %2068, label %2069, label %2073

2069:                                             ; preds = %2063
  %2070 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2071 = call i32 @fileno(ptr noundef %2070) #9
  %2072 = call i32 @isatty(i32 noundef %2071) #9
  %.not1352 = icmp eq i32 %2072, 0
  br i1 %.not1352, label %2073, label %2074

2073:                                             ; preds = %2069, %2063
  br label %2074

2074:                                             ; preds = %2069, %2073
  %.str.5.sink2107 = phi ptr [ @.str.5, %2073 ], [ @.str.2, %2069 ]
  store i32 %2064, ptr %423, align 4, !tbaa !5
  %2075 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2076 = load i32, ptr @test_count, align 4, !tbaa !5
  %2077 = load i32, ptr %369, align 4, !tbaa !5
  %2078 = call ptr @s2n_strerror(i32 noundef %2077, ptr noundef nonnull @.str.4) #9
  %2079 = load i32, ptr %369, align 4, !tbaa !5
  %2080 = call ptr @s2n_strerror_debug(i32 noundef %2079, ptr noundef nonnull @.str.4) #9
  %2081 = load i32, ptr %423, align 4, !tbaa !5
  %2082 = call ptr @strerror(i32 noundef %2081) #9
  %2083 = load i32, ptr %423, align 4, !tbaa !5
  %2084 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2075, ptr noundef nonnull %.str.5.sink2107, i32 noundef %2076, ptr noundef nonnull @.str.21, ptr noundef nonnull @.str.1, i32 noundef 164, ptr noundef %2078, ptr noundef %2080, ptr noundef %2082, i32 noundef %2083) #11
  call void @exit(i32 noundef 1) #12
  unreachable

2085:                                             ; preds = %2058
  %2086 = add nsw i32 %2059, 2
  store i32 %2086, ptr @test_count, align 4, !tbaa !5
  %2087 = call ptr @s2n_strerror_debug(i32 noundef %2061, ptr noundef nonnull @.str.4) #9
  %2088 = icmp eq ptr %2087, null
  br i1 %2088, label %2089, label %2111

2089:                                             ; preds = %2085
  %2090 = load i32, ptr %423, align 4, !tbaa !5
  %2091 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2092 = call i32 @s2n_print_stacktrace(ptr noundef %2091) #9
  %2093 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2094 = trunc nuw i8 %2093 to i1
  br i1 %2094, label %2095, label %2099

2095:                                             ; preds = %2089
  %2096 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2097 = call i32 @fileno(ptr noundef %2096) #9
  %2098 = call i32 @isatty(i32 noundef %2097) #9
  %.not1351 = icmp eq i32 %2098, 0
  br i1 %.not1351, label %2099, label %2100

2099:                                             ; preds = %2095, %2089
  br label %2100

2100:                                             ; preds = %2095, %2099
  %.str.5.sink2116 = phi ptr [ @.str.5, %2099 ], [ @.str.2, %2095 ]
  store i32 %2090, ptr %423, align 4, !tbaa !5
  %2101 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2102 = load i32, ptr @test_count, align 4, !tbaa !5
  %2103 = load i32, ptr %369, align 4, !tbaa !5
  %2104 = call ptr @s2n_strerror(i32 noundef %2103, ptr noundef nonnull @.str.4) #9
  %2105 = load i32, ptr %369, align 4, !tbaa !5
  %2106 = call ptr @s2n_strerror_debug(i32 noundef %2105, ptr noundef nonnull @.str.4) #9
  %2107 = load i32, ptr %423, align 4, !tbaa !5
  %2108 = call ptr @strerror(i32 noundef %2107) #9
  %2109 = load i32, ptr %423, align 4, !tbaa !5
  %2110 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2101, ptr noundef nonnull %.str.5.sink2116, i32 noundef %2102, ptr noundef nonnull @.str.22, ptr noundef nonnull @.str.1, i32 noundef 164, ptr noundef %2104, ptr noundef %2106, ptr noundef %2108, i32 noundef %2109) #11
  call void @exit(i32 noundef 1) #12
  unreachable

2111:                                             ; preds = %2085
  store i32 0, ptr %369, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #9
  store i32 0, ptr %423, align 4, !tbaa !5
  %2112 = load i32, ptr @test_count, align 4, !tbaa !5
  %2113 = add nsw i32 %2112, 1
  store i32 %2113, ptr @test_count, align 4, !tbaa !5
  %2114 = call i32 @s2n_is_sig_scheme_valid_for_auth(ptr noundef nonnull %1228, ptr noundef nonnull @s2n_ecdsa_sha384) #9
  %2115 = icmp eq i32 %2114, -1
  br i1 %2115, label %2138, label %2116

2116:                                             ; preds = %2111
  %2117 = load i32, ptr %423, align 4, !tbaa !5
  %2118 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2119 = call i32 @s2n_print_stacktrace(ptr noundef %2118) #9
  %2120 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2121 = trunc nuw i8 %2120 to i1
  br i1 %2121, label %2122, label %2126

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

2126:                                             ; preds = %2122, %2116
  br label %2127

2127:                                             ; preds = %2122, %2126
  %.str.5.sink2125 = phi ptr [ @.str.5, %2126 ], [ @.str.2, %2122 ]
  store i32 %2117, ptr %423, align 4, !tbaa !5
  %2128 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2129 = load i32, ptr @test_count, align 4, !tbaa !5
  %2130 = load i32, ptr %369, align 4, !tbaa !5
  %2131 = call ptr @s2n_strerror(i32 noundef %2130, ptr noundef nonnull @.str.4) #9
  %2132 = load i32, ptr %369, align 4, !tbaa !5
  %2133 = call ptr @s2n_strerror_debug(i32 noundef %2132, ptr noundef nonnull @.str.4) #9
  %2134 = load i32, ptr %423, align 4, !tbaa !5
  %2135 = call ptr @strerror(i32 noundef %2134) #9
  %2136 = load i32, ptr %423, align 4, !tbaa !5
  %2137 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2128, ptr noundef nonnull %.str.5.sink2125, i32 noundef %2129, ptr noundef nonnull @.str.35, ptr noundef nonnull @.str.1, i32 noundef 165, ptr noundef %2131, ptr noundef %2133, ptr noundef %2135, i32 noundef %2136) #11
  call void @exit(i32 noundef 1) #12
  unreachable

2138:                                             ; preds = %2111
  %2139 = load i32, ptr @test_count, align 4, !tbaa !5
  %2140 = add nsw i32 %2139, 1
  store i32 %2140, ptr @test_count, align 4, !tbaa !5
  %2141 = load i32, ptr %369, align 4, !tbaa !5
  %2142 = icmp eq i32 %2141, 0
  br i1 %2142, label %2143, label %2165

2143:                                             ; preds = %2138
  %2144 = load i32, ptr %423, align 4, !tbaa !5
  %2145 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2146 = call i32 @s2n_print_stacktrace(ptr noundef %2145) #9
  %2147 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2148 = trunc nuw i8 %2147 to i1
  br i1 %2148, label %2149, label %2153

2149:                                             ; preds = %2143
  %2150 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2151 = call i32 @fileno(ptr noundef %2150) #9
  %2152 = call i32 @isatty(i32 noundef %2151) #9
  %.not1350 = icmp eq i32 %2152, 0
  br i1 %.not1350, label %2153, label %2154

2153:                                             ; preds = %2149, %2143
  br label %2154

2154:                                             ; preds = %2149, %2153
  %.str.5.sink2134 = phi ptr [ @.str.5, %2153 ], [ @.str.2, %2149 ]
  store i32 %2144, ptr %423, align 4, !tbaa !5
  %2155 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2156 = load i32, ptr @test_count, align 4, !tbaa !5
  %2157 = load i32, ptr %369, align 4, !tbaa !5
  %2158 = call ptr @s2n_strerror(i32 noundef %2157, ptr noundef nonnull @.str.4) #9
  %2159 = load i32, ptr %369, align 4, !tbaa !5
  %2160 = call ptr @s2n_strerror_debug(i32 noundef %2159, ptr noundef nonnull @.str.4) #9
  %2161 = load i32, ptr %423, align 4, !tbaa !5
  %2162 = call ptr @strerror(i32 noundef %2161) #9
  %2163 = load i32, ptr %423, align 4, !tbaa !5
  %2164 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2155, ptr noundef nonnull %.str.5.sink2134, i32 noundef %2156, ptr noundef nonnull @.str.21, ptr noundef nonnull @.str.1, i32 noundef 165, ptr noundef %2158, ptr noundef %2160, ptr noundef %2162, i32 noundef %2163) #11
  call void @exit(i32 noundef 1) #12
  unreachable

2165:                                             ; preds = %2138
  %2166 = add nsw i32 %2139, 2
  store i32 %2166, ptr @test_count, align 4, !tbaa !5
  %2167 = call ptr @s2n_strerror_debug(i32 noundef %2141, ptr noundef nonnull @.str.4) #9
  %2168 = icmp eq ptr %2167, null
  br i1 %2168, label %2169, label %2191

2169:                                             ; preds = %2165
  %2170 = load i32, ptr %423, align 4, !tbaa !5
  %2171 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2172 = call i32 @s2n_print_stacktrace(ptr noundef %2171) #9
  %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 = %2169
  %2176 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2177 = call i32 @fileno(ptr noundef %2176) #9
  %2178 = call i32 @isatty(i32 noundef %2177) #9
  %.not1349 = icmp eq i32 %2178, 0
  br i1 %.not1349, label %2179, label %2180

2179:                                             ; preds = %2175, %2169
  br label %2180

2180:                                             ; preds = %2175, %2179
  %.str.5.sink2143 = phi ptr [ @.str.5, %2179 ], [ @.str.2, %2175 ]
  store i32 %2170, ptr %423, align 4, !tbaa !5
  %2181 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2182 = load i32, ptr @test_count, align 4, !tbaa !5
  %2183 = load i32, ptr %369, align 4, !tbaa !5
  %2184 = call ptr @s2n_strerror(i32 noundef %2183, ptr noundef nonnull @.str.4) #9
  %2185 = load i32, ptr %369, align 4, !tbaa !5
  %2186 = call ptr @s2n_strerror_debug(i32 noundef %2185, ptr noundef nonnull @.str.4) #9
  %2187 = load i32, ptr %423, align 4, !tbaa !5
  %2188 = call ptr @strerror(i32 noundef %2187) #9
  %2189 = load i32, ptr %423, align 4, !tbaa !5
  %2190 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2181, ptr noundef nonnull %.str.5.sink2143, i32 noundef %2182, ptr noundef nonnull @.str.22, ptr noundef nonnull @.str.1, i32 noundef 165, ptr noundef %2184, ptr noundef %2186, ptr noundef %2188, i32 noundef %2189) #11
  call void @exit(i32 noundef 1) #12
  unreachable

2191:                                             ; preds = %2165
  store i32 0, ptr %369, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #9
  store i32 0, ptr %423, align 4, !tbaa !5
  %2192 = load i32, ptr @test_count, align 4, !tbaa !5
  %2193 = add nsw i32 %2192, 1
  store i32 %2193, ptr @test_count, align 4, !tbaa !5
  %2194 = call i32 @s2n_connection_set_config(ptr noundef nonnull %1228, ptr noundef %215) #9
  %2195 = icmp eq i32 %2194, -1
  br i1 %2195, label %2196, label %2218

2196:                                             ; preds = %2191
  %2197 = load i32, ptr %423, align 4, !tbaa !5
  %2198 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2199 = call i32 @s2n_print_stacktrace(ptr noundef %2198) #9
  %2200 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2201 = trunc nuw i8 %2200 to i1
  br i1 %2201, label %2202, label %2206

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

2206:                                             ; preds = %2202, %2196
  br label %2207

2207:                                             ; preds = %2202, %2206
  %.str.5.sink2152 = phi ptr [ @.str.5, %2206 ], [ @.str.2, %2202 ]
  store i32 %2197, ptr %423, align 4, !tbaa !5
  %2208 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2209 = load i32, ptr @test_count, align 4, !tbaa !5
  %2210 = load i32, ptr %369, align 4, !tbaa !5
  %2211 = call ptr @s2n_strerror(i32 noundef %2210, ptr noundef nonnull @.str.4) #9
  %2212 = load i32, ptr %369, align 4, !tbaa !5
  %2213 = call ptr @s2n_strerror_debug(i32 noundef %2212, ptr noundef nonnull @.str.4) #9
  %2214 = load i32, ptr %423, align 4, !tbaa !5
  %2215 = call ptr @strerror(i32 noundef %2214) #9
  %2216 = load i32, ptr %423, align 4, !tbaa !5
  %2217 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2208, ptr noundef nonnull %.str.5.sink2152, i32 noundef %2209, ptr noundef nonnull @.str.28, ptr noundef nonnull @.str.1, i32 noundef 168, ptr noundef %2211, ptr noundef %2213, ptr noundef %2215, i32 noundef %2216) #11
  call void @exit(i32 noundef 1) #12
  unreachable

2218:                                             ; preds = %2191
  %2219 = load i32, ptr @test_count, align 4, !tbaa !5
  %2220 = add nsw i32 %2219, 1
  store i32 %2220, ptr @test_count, align 4, !tbaa !5
  %2221 = call i32 @s2n_is_sig_scheme_valid_for_auth(ptr noundef nonnull %1228, ptr noundef nonnull @s2n_rsa_pkcs1_md5_sha1) #9
  %2222 = icmp eq i32 %2221, -1
  br i1 %2222, label %2245, label %2223

2223:                                             ; preds = %2218
  %2224 = load i32, ptr %423, align 4, !tbaa !5
  %2225 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2226 = call i32 @s2n_print_stacktrace(ptr noundef %2225) #9
  %2227 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2228 = trunc nuw i8 %2227 to i1
  br i1 %2228, label %2229, label %2233

2229:                                             ; preds = %2223
  %2230 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2231 = call i32 @fileno(ptr noundef %2230) #9
  %2232 = call i32 @isatty(i32 noundef %2231) #9
  %.not1035 = icmp eq i32 %2232, 0
  br i1 %.not1035, label %2233, label %2234

2233:                                             ; preds = %2229, %2223
  br label %2234

2234:                                             ; preds = %2229, %2233
  %.str.5.sink2161 = phi ptr [ @.str.5, %2233 ], [ @.str.2, %2229 ]
  store i32 %2224, ptr %423, align 4, !tbaa !5
  %2235 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2236 = load i32, ptr @test_count, align 4, !tbaa !5
  %2237 = load i32, ptr %369, align 4, !tbaa !5
  %2238 = call ptr @s2n_strerror(i32 noundef %2237, ptr noundef nonnull @.str.4) #9
  %2239 = load i32, ptr %369, align 4, !tbaa !5
  %2240 = call ptr @s2n_strerror_debug(i32 noundef %2239, ptr noundef nonnull @.str.4) #9
  %2241 = load i32, ptr %423, align 4, !tbaa !5
  %2242 = call ptr @strerror(i32 noundef %2241) #9
  %2243 = load i32, ptr %423, align 4, !tbaa !5
  %2244 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2235, ptr noundef nonnull %.str.5.sink2161, i32 noundef %2236, ptr noundef nonnull @.str.32, ptr noundef nonnull @.str.1, i32 noundef 169, ptr noundef %2238, ptr noundef %2240, ptr noundef %2242, i32 noundef %2243) #11
  call void @exit(i32 noundef 1) #12
  unreachable

2245:                                             ; preds = %2218
  %2246 = load i32, ptr @test_count, align 4, !tbaa !5
  %2247 = add nsw i32 %2246, 1
  store i32 %2247, ptr @test_count, align 4, !tbaa !5
  %2248 = load i32, ptr %369, align 4, !tbaa !5
  %2249 = icmp eq i32 %2248, 0
  br i1 %2249, label %2250, label %2272

2250:                                             ; preds = %2245
  %2251 = load i32, ptr %423, align 4, !tbaa !5
  %2252 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2253 = call i32 @s2n_print_stacktrace(ptr noundef %2252) #9
  %2254 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2255 = trunc nuw i8 %2254 to i1
  br i1 %2255, label %2256, label %2260

2256:                                             ; preds = %2250
  %2257 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2258 = call i32 @fileno(ptr noundef %2257) #9
  %2259 = call i32 @isatty(i32 noundef %2258) #9
  %.not1347 = icmp eq i32 %2259, 0
  br i1 %.not1347, label %2260, label %2261

2260:                                             ; preds = %2256, %2250
  br label %2261

2261:                                             ; preds = %2256, %2260
  %.str.5.sink2170 = phi ptr [ @.str.5, %2260 ], [ @.str.2, %2256 ]
  store i32 %2251, ptr %423, align 4, !tbaa !5
  %2262 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2263 = load i32, ptr @test_count, align 4, !tbaa !5
  %2264 = load i32, ptr %369, align 4, !tbaa !5
  %2265 = call ptr @s2n_strerror(i32 noundef %2264, ptr noundef nonnull @.str.4) #9
  %2266 = load i32, ptr %369, align 4, !tbaa !5
  %2267 = call ptr @s2n_strerror_debug(i32 noundef %2266, ptr noundef nonnull @.str.4) #9
  %2268 = load i32, ptr %423, align 4, !tbaa !5
  %2269 = call ptr @strerror(i32 noundef %2268) #9
  %2270 = load i32, ptr %423, align 4, !tbaa !5
  %2271 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2262, ptr noundef nonnull %.str.5.sink2170, i32 noundef %2263, ptr noundef nonnull @.str.21, ptr noundef nonnull @.str.1, i32 noundef 169, ptr noundef %2265, ptr noundef %2267, ptr noundef %2269, i32 noundef %2270) #11
  call void @exit(i32 noundef 1) #12
  unreachable

2272:                                             ; preds = %2245
  %2273 = add nsw i32 %2246, 2
  store i32 %2273, ptr @test_count, align 4, !tbaa !5
  %2274 = call ptr @s2n_strerror_debug(i32 noundef %2248, ptr noundef nonnull @.str.4) #9
  %2275 = icmp eq ptr %2274, null
  br i1 %2275, label %2276, label %2298

2276:                                             ; preds = %2272
  %2277 = load i32, ptr %423, align 4, !tbaa !5
  %2278 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2279 = call i32 @s2n_print_stacktrace(ptr noundef %2278) #9
  %2280 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2281 = trunc nuw i8 %2280 to i1
  br i1 %2281, label %2282, label %2286

2282:                                             ; preds = %2276
  %2283 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2284 = call i32 @fileno(ptr noundef %2283) #9
  %2285 = call i32 @isatty(i32 noundef %2284) #9
  %.not1346 = icmp eq i32 %2285, 0
  br i1 %.not1346, label %2286, label %2287

2286:                                             ; preds = %2282, %2276
  br label %2287

2287:                                             ; preds = %2282, %2286
  %.str.5.sink2179 = phi ptr [ @.str.5, %2286 ], [ @.str.2, %2282 ]
  store i32 %2277, ptr %423, align 4, !tbaa !5
  %2288 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2289 = load i32, ptr @test_count, align 4, !tbaa !5
  %2290 = load i32, ptr %369, align 4, !tbaa !5
  %2291 = call ptr @s2n_strerror(i32 noundef %2290, ptr noundef nonnull @.str.4) #9
  %2292 = load i32, ptr %369, align 4, !tbaa !5
  %2293 = call ptr @s2n_strerror_debug(i32 noundef %2292, ptr noundef nonnull @.str.4) #9
  %2294 = load i32, ptr %423, align 4, !tbaa !5
  %2295 = call ptr @strerror(i32 noundef %2294) #9
  %2296 = load i32, ptr %423, align 4, !tbaa !5
  %2297 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2288, ptr noundef nonnull %.str.5.sink2179, i32 noundef %2289, ptr noundef nonnull @.str.22, ptr noundef nonnull @.str.1, i32 noundef 169, ptr noundef %2291, ptr noundef %2293, ptr noundef %2295, i32 noundef %2296) #11
  call void @exit(i32 noundef 1) #12
  unreachable

2298:                                             ; preds = %2272
  store i32 0, ptr %369, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #9
  store i32 0, ptr %423, align 4, !tbaa !5
  %2299 = load i32, ptr @test_count, align 4, !tbaa !5
  %2300 = add nsw i32 %2299, 1
  store i32 %2300, ptr @test_count, align 4, !tbaa !5
  %2301 = call i32 @s2n_is_sig_scheme_valid_for_auth(ptr noundef nonnull %1228, ptr noundef nonnull @s2n_rsa_pss_pss_sha256) #9
  %2302 = icmp eq i32 %2301, -1
  br i1 %2302, label %2325, label %2303

2303:                                             ; preds = %2298
  %2304 = load i32, ptr %423, align 4, !tbaa !5
  %2305 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2306 = call i32 @s2n_print_stacktrace(ptr noundef %2305) #9
  %2307 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2308 = trunc nuw i8 %2307 to i1
  br i1 %2308, label %2309, label %2313

2309:                                             ; preds = %2303
  %2310 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2311 = call i32 @fileno(ptr noundef %2310) #9
  %2312 = call i32 @isatty(i32 noundef %2311) #9
  %.not1036 = icmp eq i32 %2312, 0
  br i1 %.not1036, label %2313, label %2314

2313:                                             ; preds = %2309, %2303
  br label %2314

2314:                                             ; preds = %2309, %2313
  %.str.5.sink2188 = phi ptr [ @.str.5, %2313 ], [ @.str.2, %2309 ]
  store i32 %2304, ptr %423, align 4, !tbaa !5
  %2315 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2316 = load i32, ptr @test_count, align 4, !tbaa !5
  %2317 = load i32, ptr %369, align 4, !tbaa !5
  %2318 = call ptr @s2n_strerror(i32 noundef %2317, ptr noundef nonnull @.str.4) #9
  %2319 = load i32, ptr %369, align 4, !tbaa !5
  %2320 = call ptr @s2n_strerror_debug(i32 noundef %2319, ptr noundef nonnull @.str.4) #9
  %2321 = load i32, ptr %423, align 4, !tbaa !5
  %2322 = call ptr @strerror(i32 noundef %2321) #9
  %2323 = load i32, ptr %423, align 4, !tbaa !5
  %2324 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2315, ptr noundef nonnull %.str.5.sink2188, i32 noundef %2316, ptr noundef nonnull @.str.33, ptr noundef nonnull @.str.1, i32 noundef 170, ptr noundef %2318, ptr noundef %2320, ptr noundef %2322, i32 noundef %2323) #11
  call void @exit(i32 noundef 1) #12
  unreachable

2325:                                             ; preds = %2298
  %2326 = load i32, ptr @test_count, align 4, !tbaa !5
  %2327 = add nsw i32 %2326, 1
  store i32 %2327, ptr @test_count, align 4, !tbaa !5
  %2328 = load i32, ptr %369, align 4, !tbaa !5
  %2329 = icmp eq i32 %2328, 0
  br i1 %2329, label %2330, label %2352

2330:                                             ; preds = %2325
  %2331 = load i32, ptr %423, align 4, !tbaa !5
  %2332 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2333 = call i32 @s2n_print_stacktrace(ptr noundef %2332) #9
  %2334 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2335 = trunc nuw i8 %2334 to i1
  br i1 %2335, label %2336, label %2340

2336:                                             ; preds = %2330
  %2337 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2338 = call i32 @fileno(ptr noundef %2337) #9
  %2339 = call i32 @isatty(i32 noundef %2338) #9
  %.not1345 = icmp eq i32 %2339, 0
  br i1 %.not1345, label %2340, label %2341

2340:                                             ; preds = %2336, %2330
  br label %2341

2341:                                             ; preds = %2336, %2340
  %.str.5.sink2197 = phi ptr [ @.str.5, %2340 ], [ @.str.2, %2336 ]
  store i32 %2331, ptr %423, align 4, !tbaa !5
  %2342 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2343 = load i32, ptr @test_count, align 4, !tbaa !5
  %2344 = load i32, ptr %369, align 4, !tbaa !5
  %2345 = call ptr @s2n_strerror(i32 noundef %2344, ptr noundef nonnull @.str.4) #9
  %2346 = load i32, ptr %369, align 4, !tbaa !5
  %2347 = call ptr @s2n_strerror_debug(i32 noundef %2346, ptr noundef nonnull @.str.4) #9
  %2348 = load i32, ptr %423, align 4, !tbaa !5
  %2349 = call ptr @strerror(i32 noundef %2348) #9
  %2350 = load i32, ptr %423, align 4, !tbaa !5
  %2351 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2342, ptr noundef nonnull %.str.5.sink2197, i32 noundef %2343, ptr noundef nonnull @.str.21, ptr noundef nonnull @.str.1, i32 noundef 170, ptr noundef %2345, ptr noundef %2347, ptr noundef %2349, i32 noundef %2350) #11
  call void @exit(i32 noundef 1) #12
  unreachable

2352:                                             ; preds = %2325
  %2353 = add nsw i32 %2326, 2
  store i32 %2353, ptr @test_count, align 4, !tbaa !5
  %2354 = call ptr @s2n_strerror_debug(i32 noundef %2328, ptr noundef nonnull @.str.4) #9
  %2355 = icmp eq ptr %2354, null
  br i1 %2355, label %2356, label %2378

2356:                                             ; preds = %2352
  %2357 = load i32, ptr %423, align 4, !tbaa !5
  %2358 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2359 = call i32 @s2n_print_stacktrace(ptr noundef %2358) #9
  %2360 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2361 = trunc nuw i8 %2360 to i1
  br i1 %2361, label %2362, label %2366

2362:                                             ; preds = %2356
  %2363 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2364 = call i32 @fileno(ptr noundef %2363) #9
  %2365 = call i32 @isatty(i32 noundef %2364) #9
  %.not1344 = icmp eq i32 %2365, 0
  br i1 %.not1344, label %2366, label %2367

2366:                                             ; preds = %2362, %2356
  br label %2367

2367:                                             ; preds = %2362, %2366
  %.str.5.sink2206 = phi ptr [ @.str.5, %2366 ], [ @.str.2, %2362 ]
  store i32 %2357, ptr %423, align 4, !tbaa !5
  %2368 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2369 = load i32, ptr @test_count, align 4, !tbaa !5
  %2370 = load i32, ptr %369, align 4, !tbaa !5
  %2371 = call ptr @s2n_strerror(i32 noundef %2370, ptr noundef nonnull @.str.4) #9
  %2372 = load i32, ptr %369, align 4, !tbaa !5
  %2373 = call ptr @s2n_strerror_debug(i32 noundef %2372, ptr noundef nonnull @.str.4) #9
  %2374 = load i32, ptr %423, align 4, !tbaa !5
  %2375 = call ptr @strerror(i32 noundef %2374) #9
  %2376 = load i32, ptr %423, align 4, !tbaa !5
  %2377 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2368, ptr noundef nonnull %.str.5.sink2206, i32 noundef %2369, ptr noundef nonnull @.str.22, ptr noundef nonnull @.str.1, i32 noundef 170, ptr noundef %2371, ptr noundef %2373, ptr noundef %2375, i32 noundef %2376) #11
  call void @exit(i32 noundef 1) #12
  unreachable

2378:                                             ; preds = %2352
  store i32 0, ptr %369, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #9
  store i32 0, ptr %423, align 4, !tbaa !5
  %2379 = load i32, ptr @test_count, align 4, !tbaa !5
  %2380 = add nsw i32 %2379, 1
  store i32 %2380, ptr @test_count, align 4, !tbaa !5
  %2381 = call i32 @s2n_is_sig_scheme_valid_for_auth(ptr noundef nonnull %1228, ptr noundef nonnull @s2n_rsa_pss_rsae_sha256) #9
  %2382 = icmp eq i32 %2381, -1
  br i1 %2382, label %2405, label %2383

2383:                                             ; preds = %2378
  %2384 = load i32, ptr %423, align 4, !tbaa !5
  %2385 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2386 = call i32 @s2n_print_stacktrace(ptr noundef %2385) #9
  %2387 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2388 = trunc nuw i8 %2387 to i1
  br i1 %2388, label %2389, label %2393

2389:                                             ; preds = %2383
  %2390 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2391 = call i32 @fileno(ptr noundef %2390) #9
  %2392 = call i32 @isatty(i32 noundef %2391) #9
  %.not1037 = icmp eq i32 %2392, 0
  br i1 %.not1037, label %2393, label %2394

2393:                                             ; preds = %2389, %2383
  br label %2394

2394:                                             ; preds = %2389, %2393
  %.str.5.sink2215 = phi ptr [ @.str.5, %2393 ], [ @.str.2, %2389 ]
  store i32 %2384, ptr %423, align 4, !tbaa !5
  %2395 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2396 = load i32, ptr @test_count, align 4, !tbaa !5
  %2397 = load i32, ptr %369, align 4, !tbaa !5
  %2398 = call ptr @s2n_strerror(i32 noundef %2397, ptr noundef nonnull @.str.4) #9
  %2399 = load i32, ptr %369, align 4, !tbaa !5
  %2400 = call ptr @s2n_strerror_debug(i32 noundef %2399, ptr noundef nonnull @.str.4) #9
  %2401 = load i32, ptr %423, align 4, !tbaa !5
  %2402 = call ptr @strerror(i32 noundef %2401) #9
  %2403 = load i32, ptr %423, align 4, !tbaa !5
  %2404 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2395, ptr noundef nonnull %.str.5.sink2215, i32 noundef %2396, ptr noundef nonnull @.str.34, ptr noundef nonnull @.str.1, i32 noundef 171, ptr noundef %2398, ptr noundef %2400, ptr noundef %2402, i32 noundef %2403) #11
  call void @exit(i32 noundef 1) #12
  unreachable

2405:                                             ; preds = %2378
  %2406 = load i32, ptr @test_count, align 4, !tbaa !5
  %2407 = add nsw i32 %2406, 1
  store i32 %2407, ptr @test_count, align 4, !tbaa !5
  %2408 = load i32, ptr %369, align 4, !tbaa !5
  %2409 = icmp eq i32 %2408, 0
  br i1 %2409, label %2410, label %2432

2410:                                             ; preds = %2405
  %2411 = load i32, ptr %423, align 4, !tbaa !5
  %2412 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2413 = call i32 @s2n_print_stacktrace(ptr noundef %2412) #9
  %2414 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2415 = trunc nuw i8 %2414 to i1
  br i1 %2415, label %2416, label %2420

2416:                                             ; preds = %2410
  %2417 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2418 = call i32 @fileno(ptr noundef %2417) #9
  %2419 = call i32 @isatty(i32 noundef %2418) #9
  %.not1343 = icmp eq i32 %2419, 0
  br i1 %.not1343, label %2420, label %2421

2420:                                             ; preds = %2416, %2410
  br label %2421

2421:                                             ; preds = %2416, %2420
  %.str.5.sink2224 = phi ptr [ @.str.5, %2420 ], [ @.str.2, %2416 ]
  store i32 %2411, ptr %423, align 4, !tbaa !5
  %2422 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2423 = load i32, ptr @test_count, align 4, !tbaa !5
  %2424 = load i32, ptr %369, align 4, !tbaa !5
  %2425 = call ptr @s2n_strerror(i32 noundef %2424, ptr noundef nonnull @.str.4) #9
  %2426 = load i32, ptr %369, align 4, !tbaa !5
  %2427 = call ptr @s2n_strerror_debug(i32 noundef %2426, ptr noundef nonnull @.str.4) #9
  %2428 = load i32, ptr %423, align 4, !tbaa !5
  %2429 = call ptr @strerror(i32 noundef %2428) #9
  %2430 = load i32, ptr %423, align 4, !tbaa !5
  %2431 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2422, ptr noundef nonnull %.str.5.sink2224, i32 noundef %2423, ptr noundef nonnull @.str.21, ptr noundef nonnull @.str.1, i32 noundef 171, ptr noundef %2425, ptr noundef %2427, ptr noundef %2429, i32 noundef %2430) #11
  call void @exit(i32 noundef 1) #12
  unreachable

2432:                                             ; preds = %2405
  %2433 = add nsw i32 %2406, 2
  store i32 %2433, ptr @test_count, align 4, !tbaa !5
  %2434 = call ptr @s2n_strerror_debug(i32 noundef %2408, ptr noundef nonnull @.str.4) #9
  %2435 = icmp eq ptr %2434, null
  br i1 %2435, label %2436, label %2458

2436:                                             ; preds = %2432
  %2437 = load i32, ptr %423, align 4, !tbaa !5
  %2438 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2439 = call i32 @s2n_print_stacktrace(ptr noundef %2438) #9
  %2440 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2441 = trunc nuw i8 %2440 to i1
  br i1 %2441, label %2442, label %2446

2442:                                             ; preds = %2436
  %2443 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2444 = call i32 @fileno(ptr noundef %2443) #9
  %2445 = call i32 @isatty(i32 noundef %2444) #9
  %.not1342 = icmp eq i32 %2445, 0
  br i1 %.not1342, label %2446, label %2447

2446:                                             ; preds = %2442, %2436
  br label %2447

2447:                                             ; preds = %2442, %2446
  %.str.5.sink2233 = phi ptr [ @.str.5, %2446 ], [ @.str.2, %2442 ]
  store i32 %2437, ptr %423, align 4, !tbaa !5
  %2448 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2449 = load i32, ptr @test_count, align 4, !tbaa !5
  %2450 = load i32, ptr %369, align 4, !tbaa !5
  %2451 = call ptr @s2n_strerror(i32 noundef %2450, ptr noundef nonnull @.str.4) #9
  %2452 = load i32, ptr %369, align 4, !tbaa !5
  %2453 = call ptr @s2n_strerror_debug(i32 noundef %2452, ptr noundef nonnull @.str.4) #9
  %2454 = load i32, ptr %423, align 4, !tbaa !5
  %2455 = call ptr @strerror(i32 noundef %2454) #9
  %2456 = load i32, ptr %423, align 4, !tbaa !5
  %2457 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2448, ptr noundef nonnull %.str.5.sink2233, i32 noundef %2449, ptr noundef nonnull @.str.22, ptr noundef nonnull @.str.1, i32 noundef 171, ptr noundef %2451, ptr noundef %2453, ptr noundef %2455, i32 noundef %2456) #11
  call void @exit(i32 noundef 1) #12
  unreachable

2458:                                             ; preds = %2432
  store i32 0, ptr %369, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #9
  store i32 0, ptr %423, align 4, !tbaa !5
  %2459 = load i32, ptr @test_count, align 4, !tbaa !5
  %2460 = add nsw i32 %2459, 1
  store i32 %2460, ptr @test_count, align 4, !tbaa !5
  %2461 = call i32 @s2n_is_sig_scheme_valid_for_auth(ptr noundef nonnull %1228, ptr noundef nonnull @s2n_ecdsa_sha384) #9
  %2462 = icmp eq i32 %2461, -1
  br i1 %2462, label %2463, label %2485

2463:                                             ; preds = %2458
  %2464 = load i32, ptr %423, align 4, !tbaa !5
  %2465 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2466 = call i32 @s2n_print_stacktrace(ptr noundef %2465) #9
  %2467 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2468 = trunc nuw i8 %2467 to i1
  br i1 %2468, label %2469, label %2473

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

2473:                                             ; preds = %2469, %2463
  br label %2474

2474:                                             ; preds = %2469, %2473
  %.str.5.sink2242 = phi ptr [ @.str.5, %2473 ], [ @.str.2, %2469 ]
  store i32 %2464, ptr %423, align 4, !tbaa !5
  %2475 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2476 = load i32, ptr @test_count, align 4, !tbaa !5
  %2477 = load i32, ptr %369, align 4, !tbaa !5
  %2478 = call ptr @s2n_strerror(i32 noundef %2477, ptr noundef nonnull @.str.4) #9
  %2479 = load i32, ptr %369, align 4, !tbaa !5
  %2480 = call ptr @s2n_strerror_debug(i32 noundef %2479, ptr noundef nonnull @.str.4) #9
  %2481 = load i32, ptr %423, align 4, !tbaa !5
  %2482 = call ptr @strerror(i32 noundef %2481) #9
  %2483 = load i32, ptr %423, align 4, !tbaa !5
  %2484 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2475, ptr noundef nonnull %.str.5.sink2242, i32 noundef %2476, ptr noundef nonnull @.str.39, ptr noundef nonnull @.str.1, i32 noundef 172, ptr noundef %2478, ptr noundef %2480, ptr noundef %2482, i32 noundef %2483) #11
  call void @exit(i32 noundef 1) #12
  unreachable

2485:                                             ; preds = %2458
  %2486 = load i32, ptr @test_count, align 4, !tbaa !5
  %2487 = add nsw i32 %2486, 1
  store i32 %2487, ptr @test_count, align 4, !tbaa !5
  %2488 = call i32 @s2n_connection_set_config(ptr noundef nonnull %1228, ptr noundef %246) #9
  %2489 = icmp eq i32 %2488, -1
  br i1 %2489, label %2490, label %2512

2490:                                             ; preds = %2485
  %2491 = load i32, ptr %423, align 4, !tbaa !5
  %2492 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2493 = call i32 @s2n_print_stacktrace(ptr noundef %2492) #9
  %2494 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2495 = trunc nuw i8 %2494 to i1
  br i1 %2495, label %2496, label %2500

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

2500:                                             ; preds = %2496, %2490
  br label %2501

2501:                                             ; preds = %2496, %2500
  %.str.5.sink2251 = phi ptr [ @.str.5, %2500 ], [ @.str.2, %2496 ]
  store i32 %2491, ptr %423, align 4, !tbaa !5
  %2502 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2503 = load i32, ptr @test_count, align 4, !tbaa !5
  %2504 = load i32, ptr %369, align 4, !tbaa !5
  %2505 = call ptr @s2n_strerror(i32 noundef %2504, ptr noundef nonnull @.str.4) #9
  %2506 = load i32, ptr %369, align 4, !tbaa !5
  %2507 = call ptr @s2n_strerror_debug(i32 noundef %2506, ptr noundef nonnull @.str.4) #9
  %2508 = load i32, ptr %423, align 4, !tbaa !5
  %2509 = call ptr @strerror(i32 noundef %2508) #9
  %2510 = load i32, ptr %423, align 4, !tbaa !5
  %2511 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2502, ptr noundef nonnull %.str.5.sink2251, i32 noundef %2503, ptr noundef nonnull @.str.30, ptr noundef nonnull @.str.1, i32 noundef 175, ptr noundef %2505, ptr noundef %2507, ptr noundef %2509, i32 noundef %2510) #11
  call void @exit(i32 noundef 1) #12
  unreachable

2512:                                             ; preds = %2485
  %2513 = load i32, ptr @test_count, align 4, !tbaa !5
  %2514 = add nsw i32 %2513, 1
  store i32 %2514, ptr @test_count, align 4, !tbaa !5
  %2515 = call i32 @s2n_is_sig_scheme_valid_for_auth(ptr noundef nonnull %1228, ptr noundef nonnull @s2n_rsa_pkcs1_md5_sha1) #9
  %2516 = icmp eq i32 %2515, -1
  br i1 %2516, label %2517, label %2539

2517:                                             ; preds = %2512
  %2518 = load i32, ptr %423, align 4, !tbaa !5
  %2519 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2520 = call i32 @s2n_print_stacktrace(ptr noundef %2519) #9
  %2521 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2522 = trunc nuw i8 %2521 to i1
  br i1 %2522, label %2523, label %2527

2523:                                             ; preds = %2517
  %2524 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2525 = call i32 @fileno(ptr noundef %2524) #9
  %2526 = call i32 @isatty(i32 noundef %2525) #9
  %.not1339 = icmp eq i32 %2526, 0
  br i1 %.not1339, label %2527, label %2528

2527:                                             ; preds = %2523, %2517
  br label %2528

2528:                                             ; preds = %2523, %2527
  %.str.5.sink2260 = phi ptr [ @.str.5, %2527 ], [ @.str.2, %2523 ]
  store i32 %2518, ptr %423, align 4, !tbaa !5
  %2529 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2530 = load i32, ptr @test_count, align 4, !tbaa !5
  %2531 = load i32, ptr %369, align 4, !tbaa !5
  %2532 = call ptr @s2n_strerror(i32 noundef %2531, ptr noundef nonnull @.str.4) #9
  %2533 = load i32, ptr %369, align 4, !tbaa !5
  %2534 = call ptr @s2n_strerror_debug(i32 noundef %2533, ptr noundef nonnull @.str.4) #9
  %2535 = load i32, ptr %423, align 4, !tbaa !5
  %2536 = call ptr @strerror(i32 noundef %2535) #9
  %2537 = load i32, ptr %423, align 4, !tbaa !5
  %2538 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2529, ptr noundef nonnull %.str.5.sink2260, i32 noundef %2530, ptr noundef nonnull @.str.36, ptr noundef nonnull @.str.1, i32 noundef 176, ptr noundef %2532, ptr noundef %2534, ptr noundef %2536, i32 noundef %2537) #11
  call void @exit(i32 noundef 1) #12
  unreachable

2539:                                             ; preds = %2512
  %2540 = call zeroext i1 (...) @s2n_is_rsa_pss_certs_supported() #9
  %2541 = load i32, ptr @test_count, align 4, !tbaa !5
  %2542 = add nsw i32 %2541, 1
  store i32 %2542, ptr @test_count, align 4, !tbaa !5
  %2543 = call i32 @s2n_is_sig_scheme_valid_for_auth(ptr noundef nonnull %1228, ptr noundef nonnull @s2n_rsa_pss_pss_sha256) #9
  %2544 = icmp eq i32 %2543, -1
  br i1 %2540, label %2545, label %2568

2545:                                             ; preds = %2539
  br i1 %2544, label %2546, label %2645

2546:                                             ; preds = %2545
  %2547 = load i32, ptr %423, align 4, !tbaa !5
  %2548 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2549 = call i32 @s2n_print_stacktrace(ptr noundef %2548) #9
  %2550 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2551 = trunc nuw i8 %2550 to i1
  br i1 %2551, label %2552, label %2556

2552:                                             ; preds = %2546
  %2553 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2554 = call i32 @fileno(ptr noundef %2553) #9
  %2555 = call i32 @isatty(i32 noundef %2554) #9
  %.not1338 = icmp eq i32 %2555, 0
  br i1 %.not1338, label %2556, label %2557

2556:                                             ; preds = %2552, %2546
  br label %2557

2557:                                             ; preds = %2552, %2556
  %.str.5.sink2269 = phi ptr [ @.str.5, %2556 ], [ @.str.2, %2552 ]
  store i32 %2547, ptr %423, align 4, !tbaa !5
  %2558 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2559 = load i32, ptr @test_count, align 4, !tbaa !5
  %2560 = load i32, ptr %369, align 4, !tbaa !5
  %2561 = call ptr @s2n_strerror(i32 noundef %2560, ptr noundef nonnull @.str.4) #9
  %2562 = load i32, ptr %369, align 4, !tbaa !5
  %2563 = call ptr @s2n_strerror_debug(i32 noundef %2562, ptr noundef nonnull @.str.4) #9
  %2564 = load i32, ptr %423, align 4, !tbaa !5
  %2565 = call ptr @strerror(i32 noundef %2564) #9
  %2566 = load i32, ptr %423, align 4, !tbaa !5
  %2567 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2558, ptr noundef nonnull %.str.5.sink2269, i32 noundef %2559, ptr noundef nonnull @.str.38, ptr noundef nonnull @.str.1, i32 noundef 177, ptr noundef %2561, ptr noundef %2563, ptr noundef %2565, i32 noundef %2566) #11
  call void @exit(i32 noundef 1) #12
  unreachable

2568:                                             ; preds = %2539
  br i1 %2544, label %2591, label %2569

2569:                                             ; preds = %2568
  %2570 = load i32, ptr %423, align 4, !tbaa !5
  %2571 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2572 = call i32 @s2n_print_stacktrace(ptr noundef %2571) #9
  %2573 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2574 = trunc nuw i8 %2573 to i1
  br i1 %2574, label %2575, label %2579

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

2579:                                             ; preds = %2575, %2569
  br label %2580

2580:                                             ; preds = %2575, %2579
  %.str.5.sink2278 = phi ptr [ @.str.5, %2579 ], [ @.str.2, %2575 ]
  store i32 %2570, ptr %423, align 4, !tbaa !5
  %2581 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2582 = load i32, ptr @test_count, align 4, !tbaa !5
  %2583 = load i32, ptr %369, align 4, !tbaa !5
  %2584 = call ptr @s2n_strerror(i32 noundef %2583, ptr noundef nonnull @.str.4) #9
  %2585 = load i32, ptr %369, align 4, !tbaa !5
  %2586 = call ptr @s2n_strerror_debug(i32 noundef %2585, ptr noundef nonnull @.str.4) #9
  %2587 = load i32, ptr %423, align 4, !tbaa !5
  %2588 = call ptr @strerror(i32 noundef %2587) #9
  %2589 = load i32, ptr %423, align 4, !tbaa !5
  %2590 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2581, ptr noundef nonnull %.str.5.sink2278, i32 noundef %2582, ptr noundef nonnull @.str.33, ptr noundef nonnull @.str.1, i32 noundef 177, ptr noundef %2584, ptr noundef %2586, ptr noundef %2588, i32 noundef %2589) #11
  call void @exit(i32 noundef 1) #12
  unreachable

2591:                                             ; preds = %2568
  %2592 = load i32, ptr @test_count, align 4, !tbaa !5
  %2593 = add nsw i32 %2592, 1
  store i32 %2593, ptr @test_count, align 4, !tbaa !5
  %2594 = load i32, ptr %369, align 4, !tbaa !5
  %2595 = icmp eq i32 %2594, 0
  br i1 %2595, label %2596, label %2618

2596:                                             ; preds = %2591
  %2597 = load i32, ptr %423, align 4, !tbaa !5
  %2598 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2599 = call i32 @s2n_print_stacktrace(ptr noundef %2598) #9
  %2600 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2601 = trunc nuw i8 %2600 to i1
  br i1 %2601, label %2602, label %2606

2602:                                             ; preds = %2596
  %2603 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2604 = call i32 @fileno(ptr noundef %2603) #9
  %2605 = call i32 @isatty(i32 noundef %2604) #9
  %.not1040 = icmp eq i32 %2605, 0
  br i1 %.not1040, label %2606, label %2607

2606:                                             ; preds = %2602, %2596
  br label %2607

2607:                                             ; preds = %2602, %2606
  %.str.5.sink2287 = phi ptr [ @.str.5, %2606 ], [ @.str.2, %2602 ]
  store i32 %2597, ptr %423, align 4, !tbaa !5
  %2608 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2609 = load i32, ptr @test_count, align 4, !tbaa !5
  %2610 = load i32, ptr %369, align 4, !tbaa !5
  %2611 = call ptr @s2n_strerror(i32 noundef %2610, ptr noundef nonnull @.str.4) #9
  %2612 = load i32, ptr %369, align 4, !tbaa !5
  %2613 = call ptr @s2n_strerror_debug(i32 noundef %2612, ptr noundef nonnull @.str.4) #9
  %2614 = load i32, ptr %423, align 4, !tbaa !5
  %2615 = call ptr @strerror(i32 noundef %2614) #9
  %2616 = load i32, ptr %423, align 4, !tbaa !5
  %2617 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2608, ptr noundef nonnull %.str.5.sink2287, i32 noundef %2609, ptr noundef nonnull @.str.21, ptr noundef nonnull @.str.1, i32 noundef 177, ptr noundef %2611, ptr noundef %2613, ptr noundef %2615, i32 noundef %2616) #11
  call void @exit(i32 noundef 1) #12
  unreachable

2618:                                             ; preds = %2591
  %2619 = add nsw i32 %2592, 2
  store i32 %2619, ptr @test_count, align 4, !tbaa !5
  %2620 = call ptr @s2n_strerror_debug(i32 noundef %2594, ptr noundef nonnull @.str.4) #9
  %2621 = icmp eq ptr %2620, null
  br i1 %2621, label %2622, label %2644

2622:                                             ; preds = %2618
  %2623 = load i32, ptr %423, align 4, !tbaa !5
  %2624 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2625 = call i32 @s2n_print_stacktrace(ptr noundef %2624) #9
  %2626 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2627 = trunc nuw i8 %2626 to i1
  br i1 %2627, label %2628, label %2632

2628:                                             ; preds = %2622
  %2629 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2630 = call i32 @fileno(ptr noundef %2629) #9
  %2631 = call i32 @isatty(i32 noundef %2630) #9
  %.not1039 = icmp eq i32 %2631, 0
  br i1 %.not1039, label %2632, label %2633

2632:                                             ; preds = %2628, %2622
  br label %2633

2633:                                             ; preds = %2628, %2632
  %.str.5.sink2296 = phi ptr [ @.str.5, %2632 ], [ @.str.2, %2628 ]
  store i32 %2623, ptr %423, align 4, !tbaa !5
  %2634 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2635 = load i32, ptr @test_count, align 4, !tbaa !5
  %2636 = load i32, ptr %369, align 4, !tbaa !5
  %2637 = call ptr @s2n_strerror(i32 noundef %2636, ptr noundef nonnull @.str.4) #9
  %2638 = load i32, ptr %369, align 4, !tbaa !5
  %2639 = call ptr @s2n_strerror_debug(i32 noundef %2638, ptr noundef nonnull @.str.4) #9
  %2640 = load i32, ptr %423, align 4, !tbaa !5
  %2641 = call ptr @strerror(i32 noundef %2640) #9
  %2642 = load i32, ptr %423, align 4, !tbaa !5
  %2643 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2634, ptr noundef nonnull %.str.5.sink2296, i32 noundef %2635, ptr noundef nonnull @.str.22, ptr noundef nonnull @.str.1, i32 noundef 177, ptr noundef %2637, ptr noundef %2639, ptr noundef %2641, i32 noundef %2642) #11
  call void @exit(i32 noundef 1) #12
  unreachable

2644:                                             ; preds = %2618
  store i32 0, ptr %369, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #9
  store i32 0, ptr %423, align 4, !tbaa !5
  br label %2645

2645:                                             ; preds = %2644, %2545
  %2646 = load i32, ptr @test_count, align 4, !tbaa !5
  %2647 = add nsw i32 %2646, 1
  store i32 %2647, ptr @test_count, align 4, !tbaa !5
  %2648 = call i32 @s2n_is_sig_scheme_valid_for_auth(ptr noundef nonnull %1228, ptr noundef nonnull @s2n_rsa_pss_rsae_sha256) #9
  %2649 = icmp eq i32 %2648, -1
  br i1 %2649, label %2650, label %2672

2650:                                             ; preds = %2645
  %2651 = load i32, ptr %423, align 4, !tbaa !5
  %2652 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2653 = call i32 @s2n_print_stacktrace(ptr noundef %2652) #9
  %2654 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2655 = trunc nuw i8 %2654 to i1
  br i1 %2655, label %2656, label %2660

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

2660:                                             ; preds = %2656, %2650
  br label %2661

2661:                                             ; preds = %2656, %2660
  %.str.5.sink2305 = phi ptr [ @.str.5, %2660 ], [ @.str.2, %2656 ]
  store i32 %2651, ptr %423, align 4, !tbaa !5
  %2662 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2663 = load i32, ptr @test_count, align 4, !tbaa !5
  %2664 = load i32, ptr %369, align 4, !tbaa !5
  %2665 = call ptr @s2n_strerror(i32 noundef %2664, ptr noundef nonnull @.str.4) #9
  %2666 = load i32, ptr %369, align 4, !tbaa !5
  %2667 = call ptr @s2n_strerror_debug(i32 noundef %2666, ptr noundef nonnull @.str.4) #9
  %2668 = load i32, ptr %423, align 4, !tbaa !5
  %2669 = call ptr @strerror(i32 noundef %2668) #9
  %2670 = load i32, ptr %423, align 4, !tbaa !5
  %2671 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2662, ptr noundef nonnull %.str.5.sink2305, i32 noundef %2663, ptr noundef nonnull @.str.37, ptr noundef nonnull @.str.1, i32 noundef 178, ptr noundef %2665, ptr noundef %2667, ptr noundef %2669, i32 noundef %2670) #11
  call void @exit(i32 noundef 1) #12
  unreachable

2672:                                             ; preds = %2645
  %2673 = load i32, ptr @test_count, align 4, !tbaa !5
  %2674 = add nsw i32 %2673, 1
  store i32 %2674, ptr @test_count, align 4, !tbaa !5
  %2675 = call i32 @s2n_is_sig_scheme_valid_for_auth(ptr noundef nonnull %1228, ptr noundef nonnull @s2n_ecdsa_sha384) #9
  %2676 = icmp eq i32 %2675, -1
  br i1 %2676, label %2677, label %2699

2677:                                             ; preds = %2672
  %2678 = load i32, ptr %423, align 4, !tbaa !5
  %2679 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2680 = call i32 @s2n_print_stacktrace(ptr noundef %2679) #9
  %2681 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2682 = trunc nuw i8 %2681 to i1
  br i1 %2682, label %2683, label %2687

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

2687:                                             ; preds = %2683, %2677
  br label %2688

2688:                                             ; preds = %2683, %2687
  %.str.5.sink2314 = phi ptr [ @.str.5, %2687 ], [ @.str.2, %2683 ]
  store i32 %2678, ptr %423, align 4, !tbaa !5
  %2689 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2690 = load i32, ptr @test_count, align 4, !tbaa !5
  %2691 = load i32, ptr %369, align 4, !tbaa !5
  %2692 = call ptr @s2n_strerror(i32 noundef %2691, ptr noundef nonnull @.str.4) #9
  %2693 = load i32, ptr %369, align 4, !tbaa !5
  %2694 = call ptr @s2n_strerror_debug(i32 noundef %2693, ptr noundef nonnull @.str.4) #9
  %2695 = load i32, ptr %423, align 4, !tbaa !5
  %2696 = call ptr @strerror(i32 noundef %2695) #9
  %2697 = load i32, ptr %423, align 4, !tbaa !5
  %2698 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2689, ptr noundef nonnull %.str.5.sink2314, i32 noundef %2690, ptr noundef nonnull @.str.39, ptr noundef nonnull @.str.1, i32 noundef 179, ptr noundef %2692, ptr noundef %2694, ptr noundef %2696, i32 noundef %2697) #11
  call void @exit(i32 noundef 1) #12
  unreachable

2699:                                             ; preds = %2672
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %5) #9
  %2700 = call ptr @s2n_connection_new(i32 noundef 1) #9
  store ptr %2700, ptr %5, align 8, !tbaa !9
  %2701 = getelementptr inbounds i8, ptr %2700, i64 220
  store i8 34, ptr %2701, align 4, !tbaa !47
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %6) #9
  store ptr null, ptr %6, align 8, !tbaa !9
  %2702 = load i32, ptr @test_count, align 4, !tbaa !5
  %2703 = add nsw i32 %2702, 1
  store i32 %2703, ptr @test_count, align 4, !tbaa !5
  %2704 = call i32 @s2n_test_cert_chain_and_key_new(ptr noundef nonnull %6, ptr noundef nonnull @.str.40, ptr noundef nonnull @.str.41) #9
  %2705 = icmp eq i32 %2704, -1
  br i1 %2705, label %2706, label %2728

2706:                                             ; preds = %2699
  %2707 = load i32, ptr %423, align 4, !tbaa !5
  %2708 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2709 = call i32 @s2n_print_stacktrace(ptr noundef %2708) #9
  %2710 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2711 = trunc nuw i8 %2710 to i1
  br i1 %2711, label %2712, label %2716

2712:                                             ; preds = %2706
  %2713 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2714 = call i32 @fileno(ptr noundef %2713) #9
  %2715 = call i32 @isatty(i32 noundef %2714) #9
  %.not1335 = icmp eq i32 %2715, 0
  br i1 %.not1335, label %2716, label %2717

2716:                                             ; preds = %2712, %2706
  br label %2717

2717:                                             ; preds = %2712, %2716
  %.str.5.sink2323 = phi ptr [ @.str.5, %2716 ], [ @.str.2, %2712 ]
  store i32 %2707, ptr %423, align 4, !tbaa !5
  %2718 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2719 = load i32, ptr @test_count, align 4, !tbaa !5
  %2720 = load i32, ptr %369, align 4, !tbaa !5
  %2721 = call ptr @s2n_strerror(i32 noundef %2720, ptr noundef nonnull @.str.4) #9
  %2722 = load i32, ptr %369, align 4, !tbaa !5
  %2723 = call ptr @s2n_strerror_debug(i32 noundef %2722, ptr noundef nonnull @.str.4) #9
  %2724 = load i32, ptr %423, align 4, !tbaa !5
  %2725 = call ptr @strerror(i32 noundef %2724) #9
  %2726 = load i32, ptr %423, align 4, !tbaa !5
  %2727 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2718, ptr noundef nonnull %.str.5.sink2323, i32 noundef %2719, ptr noundef nonnull @.str.42, ptr noundef nonnull @.str.1, i32 noundef 190, ptr noundef %2721, ptr noundef %2723, ptr noundef %2725, i32 noundef %2726) #11
  call void @exit(i32 noundef 1) #12
  unreachable

2728:                                             ; preds = %2699
  %2729 = call ptr @s2n_config_new() #9
  %2730 = load i32, ptr @test_count, align 4, !tbaa !5
  %2731 = add nsw i32 %2730, 1
  store i32 %2731, ptr @test_count, align 4, !tbaa !5
  %2732 = load ptr, ptr %6, align 8, !tbaa !9
  %2733 = call i32 @s2n_config_add_cert_chain_and_key_to_store(ptr noundef %2729, ptr noundef %2732) #9
  %2734 = icmp eq i32 %2733, -1
  br i1 %2734, label %2735, label %2757

2735:                                             ; preds = %2728
  %2736 = load i32, ptr %423, align 4, !tbaa !5
  %2737 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2738 = call i32 @s2n_print_stacktrace(ptr noundef %2737) #9
  %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 = %2735
  %2742 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2743 = call i32 @fileno(ptr noundef %2742) #9
  %2744 = call i32 @isatty(i32 noundef %2743) #9
  %.not1334 = icmp eq i32 %2744, 0
  br i1 %.not1334, label %2745, label %2746

2745:                                             ; preds = %2741, %2735
  br label %2746

2746:                                             ; preds = %2741, %2745
  %.str.5.sink2332 = phi ptr [ @.str.5, %2745 ], [ @.str.2, %2741 ]
  store i32 %2736, ptr %423, align 4, !tbaa !5
  %2747 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2748 = load i32, ptr @test_count, align 4, !tbaa !5
  %2749 = load i32, ptr %369, align 4, !tbaa !5
  %2750 = call ptr @s2n_strerror(i32 noundef %2749, ptr noundef nonnull @.str.4) #9
  %2751 = load i32, ptr %369, align 4, !tbaa !5
  %2752 = call ptr @s2n_strerror_debug(i32 noundef %2751, ptr noundef nonnull @.str.4) #9
  %2753 = load i32, ptr %423, align 4, !tbaa !5
  %2754 = call ptr @strerror(i32 noundef %2753) #9
  %2755 = load i32, ptr %423, align 4, !tbaa !5
  %2756 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2747, ptr noundef nonnull %.str.5.sink2332, i32 noundef %2748, ptr noundef nonnull @.str.43, ptr noundef nonnull @.str.1, i32 noundef 194, ptr noundef %2750, ptr noundef %2752, ptr noundef %2754, i32 noundef %2755) #11
  call void @exit(i32 noundef 1) #12
  unreachable

2757:                                             ; preds = %2728
  %2758 = load ptr, ptr %5, align 8, !tbaa !9
  %2759 = getelementptr inbounds i8, ptr %2758, i64 232
  %2760 = load ptr, ptr %2759, align 8, !tbaa !15
  store ptr @s2n_tls13_aes_128_gcm_sha256, ptr %2760, align 8, !tbaa !42
  %2761 = load i32, ptr @test_count, align 4, !tbaa !5
  %2762 = add nsw i32 %2761, 1
  store i32 %2762, ptr @test_count, align 4, !tbaa !5
  %2763 = load ptr, ptr %5, align 8, !tbaa !9
  %2764 = call i32 @s2n_connection_set_config(ptr noundef %2763, ptr noundef %215) #9
  %2765 = icmp eq i32 %2764, -1
  br i1 %2765, label %2766, label %2788

2766:                                             ; preds = %2757
  %2767 = load i32, ptr %423, align 4, !tbaa !5
  %2768 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2769 = call i32 @s2n_print_stacktrace(ptr noundef %2768) #9
  %2770 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2771 = trunc nuw i8 %2770 to i1
  br i1 %2771, label %2772, label %2776

2772:                                             ; preds = %2766
  %2773 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2774 = call i32 @fileno(ptr noundef %2773) #9
  %2775 = call i32 @isatty(i32 noundef %2774) #9
  %.not1333 = icmp eq i32 %2775, 0
  br i1 %.not1333, label %2776, label %2777

2776:                                             ; preds = %2772, %2766
  br label %2777

2777:                                             ; preds = %2772, %2776
  %.str.5.sink2341 = phi ptr [ @.str.5, %2776 ], [ @.str.2, %2772 ]
  store i32 %2767, ptr %423, align 4, !tbaa !5
  %2778 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2779 = load i32, ptr @test_count, align 4, !tbaa !5
  %2780 = load i32, ptr %369, align 4, !tbaa !5
  %2781 = call ptr @s2n_strerror(i32 noundef %2780, ptr noundef nonnull @.str.4) #9
  %2782 = load i32, ptr %369, align 4, !tbaa !5
  %2783 = call ptr @s2n_strerror_debug(i32 noundef %2782, ptr noundef nonnull @.str.4) #9
  %2784 = load i32, ptr %423, align 4, !tbaa !5
  %2785 = call ptr @strerror(i32 noundef %2784) #9
  %2786 = load i32, ptr %423, align 4, !tbaa !5
  %2787 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2778, ptr noundef nonnull %.str.5.sink2341, i32 noundef %2779, ptr noundef nonnull @.str.44, ptr noundef nonnull @.str.1, i32 noundef 198, ptr noundef %2781, ptr noundef %2783, ptr noundef %2785, i32 noundef %2786) #11
  call void @exit(i32 noundef 1) #12
  unreachable

2788:                                             ; preds = %2757
  %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 %5, align 8, !tbaa !9
  %2792 = call i32 @s2n_is_sig_scheme_valid_for_auth(ptr noundef %2791, ptr noundef nonnull @s2n_ecdsa_sha384) #9
  %2793 = icmp eq i32 %2792, -1
  br i1 %2793, label %2794, label %2816

2794:                                             ; preds = %2788
  %2795 = load i32, ptr %423, align 4, !tbaa !5
  %2796 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2797 = call i32 @s2n_print_stacktrace(ptr noundef %2796) #9
  %2798 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2799 = trunc nuw i8 %2798 to i1
  br i1 %2799, label %2800, label %2804

2800:                                             ; preds = %2794
  %2801 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2802 = call i32 @fileno(ptr noundef %2801) #9
  %2803 = call i32 @isatty(i32 noundef %2802) #9
  %.not1332 = icmp eq i32 %2803, 0
  br i1 %.not1332, label %2804, label %2805

2804:                                             ; preds = %2800, %2794
  br label %2805

2805:                                             ; preds = %2800, %2804
  %.str.5.sink2350 = phi ptr [ @.str.5, %2804 ], [ @.str.2, %2800 ]
  store i32 %2795, ptr %423, align 4, !tbaa !5
  %2806 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2807 = load i32, ptr @test_count, align 4, !tbaa !5
  %2808 = load i32, ptr %369, align 4, !tbaa !5
  %2809 = call ptr @s2n_strerror(i32 noundef %2808, ptr noundef nonnull @.str.4) #9
  %2810 = load i32, ptr %369, align 4, !tbaa !5
  %2811 = call ptr @s2n_strerror_debug(i32 noundef %2810, ptr noundef nonnull @.str.4) #9
  %2812 = load i32, ptr %423, align 4, !tbaa !5
  %2813 = call ptr @strerror(i32 noundef %2812) #9
  %2814 = load i32, ptr %423, align 4, !tbaa !5
  %2815 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2806, ptr noundef nonnull %.str.5.sink2350, i32 noundef %2807, ptr noundef nonnull @.str.45, ptr noundef nonnull @.str.1, i32 noundef 199, ptr noundef %2809, ptr noundef %2811, ptr noundef %2813, i32 noundef %2814) #11
  call void @exit(i32 noundef 1) #12
  unreachable

2816:                                             ; preds = %2788
  %2817 = load i32, ptr @test_count, align 4, !tbaa !5
  %2818 = add nsw i32 %2817, 1
  store i32 %2818, ptr @test_count, align 4, !tbaa !5
  %2819 = load ptr, ptr %5, align 8, !tbaa !9
  %2820 = call i32 @s2n_is_sig_scheme_valid_for_auth(ptr noundef %2819, ptr noundef nonnull @s2n_ecdsa_sha256) #9
  %2821 = icmp eq i32 %2820, -1
  br i1 %2821, label %2844, label %2822

2822:                                             ; preds = %2816
  %2823 = load i32, ptr %423, align 4, !tbaa !5
  %2824 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2825 = call i32 @s2n_print_stacktrace(ptr noundef %2824) #9
  %2826 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2827 = trunc nuw i8 %2826 to i1
  br i1 %2827, label %2828, label %2832

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

2832:                                             ; preds = %2828, %2822
  br label %2833

2833:                                             ; preds = %2828, %2832
  %.str.5.sink2359 = phi ptr [ @.str.5, %2832 ], [ @.str.2, %2828 ]
  store i32 %2823, ptr %423, align 4, !tbaa !5
  %2834 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2835 = load i32, ptr @test_count, align 4, !tbaa !5
  %2836 = load i32, ptr %369, align 4, !tbaa !5
  %2837 = call ptr @s2n_strerror(i32 noundef %2836, ptr noundef nonnull @.str.4) #9
  %2838 = load i32, ptr %369, align 4, !tbaa !5
  %2839 = call ptr @s2n_strerror_debug(i32 noundef %2838, ptr noundef nonnull @.str.4) #9
  %2840 = load i32, ptr %423, align 4, !tbaa !5
  %2841 = call ptr @strerror(i32 noundef %2840) #9
  %2842 = load i32, ptr %423, align 4, !tbaa !5
  %2843 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2834, ptr noundef nonnull %.str.5.sink2359, i32 noundef %2835, ptr noundef nonnull @.str.46, ptr noundef nonnull @.str.1, i32 noundef 200, ptr noundef %2837, ptr noundef %2839, ptr noundef %2841, i32 noundef %2842) #11
  call void @exit(i32 noundef 1) #12
  unreachable

2844:                                             ; preds = %2816
  %2845 = load i32, ptr @test_count, align 4, !tbaa !5
  %2846 = add nsw i32 %2845, 1
  store i32 %2846, ptr @test_count, align 4, !tbaa !5
  %2847 = load i32, ptr %369, align 4, !tbaa !5
  %2848 = icmp eq i32 %2847, 0
  br i1 %2848, label %2849, label %2871

2849:                                             ; preds = %2844
  %2850 = load i32, ptr %423, align 4, !tbaa !5
  %2851 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2852 = call i32 @s2n_print_stacktrace(ptr noundef %2851) #9
  %2853 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2854 = trunc nuw i8 %2853 to i1
  br i1 %2854, label %2855, label %2859

2855:                                             ; preds = %2849
  %2856 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2857 = call i32 @fileno(ptr noundef %2856) #9
  %2858 = call i32 @isatty(i32 noundef %2857) #9
  %.not1331 = icmp eq i32 %2858, 0
  br i1 %.not1331, label %2859, label %2860

2859:                                             ; preds = %2855, %2849
  br label %2860

2860:                                             ; preds = %2855, %2859
  %.str.5.sink2368 = phi ptr [ @.str.5, %2859 ], [ @.str.2, %2855 ]
  store i32 %2850, ptr %423, align 4, !tbaa !5
  %2861 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2862 = load i32, ptr @test_count, align 4, !tbaa !5
  %2863 = load i32, ptr %369, align 4, !tbaa !5
  %2864 = call ptr @s2n_strerror(i32 noundef %2863, ptr noundef nonnull @.str.4) #9
  %2865 = load i32, ptr %369, align 4, !tbaa !5
  %2866 = call ptr @s2n_strerror_debug(i32 noundef %2865, ptr noundef nonnull @.str.4) #9
  %2867 = load i32, ptr %423, align 4, !tbaa !5
  %2868 = call ptr @strerror(i32 noundef %2867) #9
  %2869 = load i32, ptr %423, align 4, !tbaa !5
  %2870 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2861, ptr noundef nonnull %.str.5.sink2368, i32 noundef %2862, ptr noundef nonnull @.str.21, ptr noundef nonnull @.str.1, i32 noundef 200, ptr noundef %2864, ptr noundef %2866, ptr noundef %2868, i32 noundef %2869) #11
  call void @exit(i32 noundef 1) #12
  unreachable

2871:                                             ; preds = %2844
  %2872 = add nsw i32 %2845, 2
  store i32 %2872, ptr @test_count, align 4, !tbaa !5
  %2873 = call ptr @s2n_strerror_debug(i32 noundef %2847, ptr noundef nonnull @.str.4) #9
  %2874 = icmp eq ptr %2873, null
  br i1 %2874, label %2875, label %2897

2875:                                             ; preds = %2871
  %2876 = load i32, ptr %423, align 4, !tbaa !5
  %2877 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2878 = call i32 @s2n_print_stacktrace(ptr noundef %2877) #9
  %2879 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2880 = trunc nuw i8 %2879 to i1
  br i1 %2880, label %2881, label %2885

2881:                                             ; preds = %2875
  %2882 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2883 = call i32 @fileno(ptr noundef %2882) #9
  %2884 = call i32 @isatty(i32 noundef %2883) #9
  %.not1330 = icmp eq i32 %2884, 0
  br i1 %.not1330, label %2885, label %2886

2885:                                             ; preds = %2881, %2875
  br label %2886

2886:                                             ; preds = %2881, %2885
  %.str.5.sink2377 = phi ptr [ @.str.5, %2885 ], [ @.str.2, %2881 ]
  store i32 %2876, ptr %423, align 4, !tbaa !5
  %2887 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2888 = load i32, ptr @test_count, align 4, !tbaa !5
  %2889 = load i32, ptr %369, align 4, !tbaa !5
  %2890 = call ptr @s2n_strerror(i32 noundef %2889, ptr noundef nonnull @.str.4) #9
  %2891 = load i32, ptr %369, align 4, !tbaa !5
  %2892 = call ptr @s2n_strerror_debug(i32 noundef %2891, ptr noundef nonnull @.str.4) #9
  %2893 = load i32, ptr %423, align 4, !tbaa !5
  %2894 = call ptr @strerror(i32 noundef %2893) #9
  %2895 = load i32, ptr %423, align 4, !tbaa !5
  %2896 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2887, ptr noundef nonnull %.str.5.sink2377, i32 noundef %2888, ptr noundef nonnull @.str.22, ptr noundef nonnull @.str.1, i32 noundef 200, ptr noundef %2890, ptr noundef %2892, ptr noundef %2894, i32 noundef %2895) #11
  call void @exit(i32 noundef 1) #12
  unreachable

2897:                                             ; preds = %2871
  store i32 0, ptr %369, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #9
  store i32 0, ptr %423, align 4, !tbaa !5
  %2898 = load i32, ptr @test_count, align 4, !tbaa !5
  %2899 = add nsw i32 %2898, 1
  store i32 %2899, ptr @test_count, align 4, !tbaa !5
  %2900 = load ptr, ptr %5, align 8, !tbaa !9
  %2901 = call i32 @s2n_connection_set_config(ptr noundef %2900, ptr noundef %2729) #9
  %2902 = icmp eq i32 %2901, -1
  br i1 %2902, label %2903, label %2925

2903:                                             ; preds = %2897
  %2904 = load i32, ptr %423, align 4, !tbaa !5
  %2905 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2906 = call i32 @s2n_print_stacktrace(ptr noundef %2905) #9
  %2907 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2908 = trunc nuw i8 %2907 to i1
  br i1 %2908, label %2909, label %2913

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

2913:                                             ; preds = %2909, %2903
  br label %2914

2914:                                             ; preds = %2909, %2913
  %.str.5.sink2386 = phi ptr [ @.str.5, %2913 ], [ @.str.2, %2909 ]
  store i32 %2904, ptr %423, align 4, !tbaa !5
  %2915 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2916 = load i32, ptr @test_count, align 4, !tbaa !5
  %2917 = load i32, ptr %369, align 4, !tbaa !5
  %2918 = call ptr @s2n_strerror(i32 noundef %2917, ptr noundef nonnull @.str.4) #9
  %2919 = load i32, ptr %369, align 4, !tbaa !5
  %2920 = call ptr @s2n_strerror_debug(i32 noundef %2919, ptr noundef nonnull @.str.4) #9
  %2921 = load i32, ptr %423, align 4, !tbaa !5
  %2922 = call ptr @strerror(i32 noundef %2921) #9
  %2923 = load i32, ptr %423, align 4, !tbaa !5
  %2924 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2915, ptr noundef nonnull %.str.5.sink2386, i32 noundef %2916, ptr noundef nonnull @.str.47, ptr noundef nonnull @.str.1, i32 noundef 202, ptr noundef %2918, ptr noundef %2920, ptr noundef %2922, i32 noundef %2923) #11
  call void @exit(i32 noundef 1) #12
  unreachable

2925:                                             ; preds = %2897
  %2926 = load i32, ptr @test_count, align 4, !tbaa !5
  %2927 = add nsw i32 %2926, 1
  store i32 %2927, ptr @test_count, align 4, !tbaa !5
  %2928 = load ptr, ptr %5, align 8, !tbaa !9
  %2929 = call i32 @s2n_is_sig_scheme_valid_for_auth(ptr noundef %2928, ptr noundef nonnull @s2n_ecdsa_sha384) #9
  %2930 = icmp eq i32 %2929, -1
  br i1 %2930, label %2953, label %2931

2931:                                             ; preds = %2925
  %2932 = load i32, ptr %423, align 4, !tbaa !5
  %2933 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2934 = call i32 @s2n_print_stacktrace(ptr noundef %2933) #9
  %2935 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2936 = trunc nuw i8 %2935 to i1
  br i1 %2936, label %2937, label %2941

2937:                                             ; preds = %2931
  %2938 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2939 = call i32 @fileno(ptr noundef %2938) #9
  %2940 = call i32 @isatty(i32 noundef %2939) #9
  %.not1042 = icmp eq i32 %2940, 0
  br i1 %.not1042, label %2941, label %2942

2941:                                             ; preds = %2937, %2931
  br label %2942

2942:                                             ; preds = %2937, %2941
  %.str.5.sink2395 = phi ptr [ @.str.5, %2941 ], [ @.str.2, %2937 ]
  store i32 %2932, ptr %423, align 4, !tbaa !5
  %2943 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2944 = load i32, ptr @test_count, align 4, !tbaa !5
  %2945 = load i32, ptr %369, align 4, !tbaa !5
  %2946 = call ptr @s2n_strerror(i32 noundef %2945, ptr noundef nonnull @.str.4) #9
  %2947 = load i32, ptr %369, align 4, !tbaa !5
  %2948 = call ptr @s2n_strerror_debug(i32 noundef %2947, ptr noundef nonnull @.str.4) #9
  %2949 = load i32, ptr %423, align 4, !tbaa !5
  %2950 = call ptr @strerror(i32 noundef %2949) #9
  %2951 = load i32, ptr %423, align 4, !tbaa !5
  %2952 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2943, ptr noundef nonnull %.str.5.sink2395, i32 noundef %2944, ptr noundef nonnull @.str.48, ptr noundef nonnull @.str.1, i32 noundef 203, ptr noundef %2946, ptr noundef %2948, ptr noundef %2950, i32 noundef %2951) #11
  call void @exit(i32 noundef 1) #12
  unreachable

2953:                                             ; preds = %2925
  %2954 = load i32, ptr @test_count, align 4, !tbaa !5
  %2955 = add nsw i32 %2954, 1
  store i32 %2955, ptr @test_count, align 4, !tbaa !5
  %2956 = load i32, ptr %369, align 4, !tbaa !5
  %2957 = icmp eq i32 %2956, 0
  br i1 %2957, label %2958, label %2980

2958:                                             ; preds = %2953
  %2959 = load i32, ptr %423, align 4, !tbaa !5
  %2960 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2961 = call i32 @s2n_print_stacktrace(ptr noundef %2960) #9
  %2962 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2963 = trunc nuw i8 %2962 to i1
  br i1 %2963, label %2964, label %2968

2964:                                             ; preds = %2958
  %2965 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2966 = call i32 @fileno(ptr noundef %2965) #9
  %2967 = call i32 @isatty(i32 noundef %2966) #9
  %.not1328 = icmp eq i32 %2967, 0
  br i1 %.not1328, label %2968, label %2969

2968:                                             ; preds = %2964, %2958
  br label %2969

2969:                                             ; preds = %2964, %2968
  %.str.5.sink2404 = phi ptr [ @.str.5, %2968 ], [ @.str.2, %2964 ]
  store i32 %2959, ptr %423, align 4, !tbaa !5
  %2970 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2971 = load i32, ptr @test_count, align 4, !tbaa !5
  %2972 = load i32, ptr %369, align 4, !tbaa !5
  %2973 = call ptr @s2n_strerror(i32 noundef %2972, ptr noundef nonnull @.str.4) #9
  %2974 = load i32, ptr %369, align 4, !tbaa !5
  %2975 = call ptr @s2n_strerror_debug(i32 noundef %2974, ptr noundef nonnull @.str.4) #9
  %2976 = load i32, ptr %423, align 4, !tbaa !5
  %2977 = call ptr @strerror(i32 noundef %2976) #9
  %2978 = load i32, ptr %423, align 4, !tbaa !5
  %2979 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2970, ptr noundef nonnull %.str.5.sink2404, i32 noundef %2971, ptr noundef nonnull @.str.21, ptr noundef nonnull @.str.1, i32 noundef 203, ptr noundef %2973, ptr noundef %2975, ptr noundef %2977, i32 noundef %2978) #11
  call void @exit(i32 noundef 1) #12
  unreachable

2980:                                             ; preds = %2953
  %2981 = add nsw i32 %2954, 2
  store i32 %2981, ptr @test_count, align 4, !tbaa !5
  %2982 = call ptr @s2n_strerror_debug(i32 noundef %2956, ptr noundef nonnull @.str.4) #9
  %2983 = icmp eq ptr %2982, null
  br i1 %2983, label %2984, label %3006

2984:                                             ; preds = %2980
  %2985 = load i32, ptr %423, align 4, !tbaa !5
  %2986 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2987 = call i32 @s2n_print_stacktrace(ptr noundef %2986) #9
  %2988 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2989 = trunc nuw i8 %2988 to i1
  br i1 %2989, label %2990, label %2994

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

2994:                                             ; preds = %2990, %2984
  br label %2995

2995:                                             ; preds = %2990, %2994
  %.str.5.sink2413 = phi ptr [ @.str.5, %2994 ], [ @.str.2, %2990 ]
  store i32 %2985, ptr %423, align 4, !tbaa !5
  %2996 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2997 = load i32, ptr @test_count, align 4, !tbaa !5
  %2998 = load i32, ptr %369, align 4, !tbaa !5
  %2999 = call ptr @s2n_strerror(i32 noundef %2998, ptr noundef nonnull @.str.4) #9
  %3000 = load i32, ptr %369, align 4, !tbaa !5
  %3001 = call ptr @s2n_strerror_debug(i32 noundef %3000, ptr noundef nonnull @.str.4) #9
  %3002 = load i32, ptr %423, align 4, !tbaa !5
  %3003 = call ptr @strerror(i32 noundef %3002) #9
  %3004 = load i32, ptr %423, align 4, !tbaa !5
  %3005 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2996, ptr noundef nonnull %.str.5.sink2413, i32 noundef %2997, ptr noundef nonnull @.str.22, ptr noundef nonnull @.str.1, i32 noundef 203, ptr noundef %2999, ptr noundef %3001, ptr noundef %3003, i32 noundef %3004) #11
  call void @exit(i32 noundef 1) #12
  unreachable

3006:                                             ; preds = %2980
  store i32 0, ptr %369, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #9
  store i32 0, ptr %423, align 4, !tbaa !5
  %3007 = load i32, ptr @test_count, align 4, !tbaa !5
  %3008 = add nsw i32 %3007, 1
  store i32 %3008, ptr @test_count, align 4, !tbaa !5
  %3009 = load ptr, ptr %5, align 8, !tbaa !9
  %3010 = call i32 @s2n_is_sig_scheme_valid_for_auth(ptr noundef %3009, ptr noundef nonnull @s2n_ecdsa_sha256) #9
  %3011 = icmp eq i32 %3010, -1
  br i1 %3011, label %3012, label %3034

3012:                                             ; preds = %3006
  %3013 = load i32, ptr %423, align 4, !tbaa !5
  %3014 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3015 = call i32 @s2n_print_stacktrace(ptr noundef %3014) #9
  %3016 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3017 = trunc nuw i8 %3016 to i1
  br i1 %3017, label %3018, label %3022

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

3022:                                             ; preds = %3018, %3012
  br label %3023

3023:                                             ; preds = %3018, %3022
  %.str.5.sink2422 = phi ptr [ @.str.5, %3022 ], [ @.str.2, %3018 ]
  store i32 %3013, ptr %423, align 4, !tbaa !5
  %3024 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3025 = load i32, ptr @test_count, align 4, !tbaa !5
  %3026 = load i32, ptr %369, align 4, !tbaa !5
  %3027 = call ptr @s2n_strerror(i32 noundef %3026, ptr noundef nonnull @.str.4) #9
  %3028 = load i32, ptr %369, align 4, !tbaa !5
  %3029 = call ptr @s2n_strerror_debug(i32 noundef %3028, ptr noundef nonnull @.str.4) #9
  %3030 = load i32, ptr %423, align 4, !tbaa !5
  %3031 = call ptr @strerror(i32 noundef %3030) #9
  %3032 = load i32, ptr %423, align 4, !tbaa !5
  %3033 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3024, ptr noundef nonnull %.str.5.sink2422, i32 noundef %3025, ptr noundef nonnull @.str.49, ptr noundef nonnull @.str.1, i32 noundef 204, ptr noundef %3027, ptr noundef %3029, ptr noundef %3031, i32 noundef %3032) #11
  call void @exit(i32 noundef 1) #12
  unreachable

3034:                                             ; preds = %3006
  %3035 = load i32, ptr @test_count, align 4, !tbaa !5
  %3036 = add nsw i32 %3035, 1
  store i32 %3036, ptr @test_count, align 4, !tbaa !5
  %3037 = call i32 @s2n_config_free(ptr noundef %2729) #9
  %3038 = icmp eq i32 %3037, -1
  br i1 %3038, label %3039, label %3061

3039:                                             ; preds = %3034
  %3040 = load i32, ptr %423, align 4, !tbaa !5
  %3041 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3042 = call i32 @s2n_print_stacktrace(ptr noundef %3041) #9
  %3043 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3044 = trunc nuw i8 %3043 to i1
  br i1 %3044, label %3045, label %3049

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

3049:                                             ; preds = %3045, %3039
  br label %3050

3050:                                             ; preds = %3045, %3049
  %.str.5.sink2431 = phi ptr [ @.str.5, %3049 ], [ @.str.2, %3045 ]
  store i32 %3040, ptr %423, align 4, !tbaa !5
  %3051 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3052 = load i32, ptr @test_count, align 4, !tbaa !5
  %3053 = load i32, ptr %369, align 4, !tbaa !5
  %3054 = call ptr @s2n_strerror(i32 noundef %3053, ptr noundef nonnull @.str.4) #9
  %3055 = load i32, ptr %369, align 4, !tbaa !5
  %3056 = call ptr @s2n_strerror_debug(i32 noundef %3055, ptr noundef nonnull @.str.4) #9
  %3057 = load i32, ptr %423, align 4, !tbaa !5
  %3058 = call ptr @strerror(i32 noundef %3057) #9
  %3059 = load i32, ptr %423, align 4, !tbaa !5
  %3060 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3051, ptr noundef nonnull %.str.5.sink2431, i32 noundef %3052, ptr noundef nonnull @.str.50, ptr noundef nonnull @.str.1, i32 noundef 206, ptr noundef %3054, ptr noundef %3056, ptr noundef %3058, i32 noundef %3059) #11
  call void @exit(i32 noundef 1) #12
  unreachable

3061:                                             ; preds = %3034
  %3062 = load i32, ptr @test_count, align 4, !tbaa !5
  %3063 = add nsw i32 %3062, 1
  store i32 %3063, ptr @test_count, align 4, !tbaa !5
  %3064 = load ptr, ptr %6, align 8, !tbaa !9
  %3065 = call i32 @s2n_cert_chain_and_key_free(ptr noundef %3064) #9
  %3066 = icmp eq i32 %3065, -1
  br i1 %3066, label %3067, label %3089

3067:                                             ; preds = %3061
  %3068 = load i32, ptr %423, align 4, !tbaa !5
  %3069 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3070 = call i32 @s2n_print_stacktrace(ptr noundef %3069) #9
  %3071 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3072 = trunc nuw i8 %3071 to i1
  br i1 %3072, label %3073, label %3077

3073:                                             ; preds = %3067
  %3074 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3075 = call i32 @fileno(ptr noundef %3074) #9
  %3076 = call i32 @isatty(i32 noundef %3075) #9
  %.not1324 = icmp eq i32 %3076, 0
  br i1 %.not1324, label %3077, label %3078

3077:                                             ; preds = %3073, %3067
  br label %3078

3078:                                             ; preds = %3073, %3077
  %.str.5.sink2440 = phi ptr [ @.str.5, %3077 ], [ @.str.2, %3073 ]
  store i32 %3068, ptr %423, align 4, !tbaa !5
  %3079 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3080 = load i32, ptr @test_count, align 4, !tbaa !5
  %3081 = load i32, ptr %369, align 4, !tbaa !5
  %3082 = call ptr @s2n_strerror(i32 noundef %3081, ptr noundef nonnull @.str.4) #9
  %3083 = load i32, ptr %369, align 4, !tbaa !5
  %3084 = call ptr @s2n_strerror_debug(i32 noundef %3083, ptr noundef nonnull @.str.4) #9
  %3085 = load i32, ptr %423, align 4, !tbaa !5
  %3086 = call ptr @strerror(i32 noundef %3085) #9
  %3087 = load i32, ptr %423, align 4, !tbaa !5
  %3088 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3079, ptr noundef nonnull %.str.5.sink2440, i32 noundef %3080, ptr noundef nonnull @.str.51, ptr noundef nonnull @.str.1, i32 noundef 207, ptr noundef %3082, ptr noundef %3084, ptr noundef %3086, i32 noundef %3087) #11
  call void @exit(i32 noundef 1) #12
  unreachable

3089:                                             ; preds = %3061
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %6) #9
  %3090 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %5) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %5) #9
  %3091 = load i32, ptr @test_count, align 4, !tbaa !5
  %3092 = add nsw i32 %3091, 1
  store i32 %3092, ptr @test_count, align 4, !tbaa !5
  %3093 = call i32 @s2n_connection_set_config(ptr noundef nonnull %1228, ptr noundef %246) #9
  %3094 = icmp eq i32 %3093, -1
  br i1 %3094, label %3095, label %3117

3095:                                             ; preds = %3089
  %3096 = load i32, ptr %423, align 4, !tbaa !5
  %3097 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3098 = call i32 @s2n_print_stacktrace(ptr noundef %3097) #9
  %3099 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3100 = trunc nuw i8 %3099 to i1
  br i1 %3100, label %3101, label %3105

3101:                                             ; preds = %3095
  %3102 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3103 = call i32 @fileno(ptr noundef %3102) #9
  %3104 = call i32 @isatty(i32 noundef %3103) #9
  %.not1323 = icmp eq i32 %3104, 0
  br i1 %.not1323, label %3105, label %3106

3105:                                             ; preds = %3101, %3095
  br label %3106

3106:                                             ; preds = %3101, %3105
  %.str.5.sink2449 = phi ptr [ @.str.5, %3105 ], [ @.str.2, %3101 ]
  store i32 %3096, ptr %423, align 4, !tbaa !5
  %3107 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3108 = load i32, ptr @test_count, align 4, !tbaa !5
  %3109 = load i32, ptr %369, align 4, !tbaa !5
  %3110 = call ptr @s2n_strerror(i32 noundef %3109, ptr noundef nonnull @.str.4) #9
  %3111 = load i32, ptr %369, align 4, !tbaa !5
  %3112 = call ptr @s2n_strerror_debug(i32 noundef %3111, ptr noundef nonnull @.str.4) #9
  %3113 = load i32, ptr %423, align 4, !tbaa !5
  %3114 = call ptr @strerror(i32 noundef %3113) #9
  %3115 = load i32, ptr %423, align 4, !tbaa !5
  %3116 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3107, ptr noundef nonnull %.str.5.sink2449, i32 noundef %3108, ptr noundef nonnull @.str.30, ptr noundef nonnull @.str.1, i32 noundef 212, ptr noundef %3110, ptr noundef %3112, ptr noundef %3114, i32 noundef %3115) #11
  call void @exit(i32 noundef 1) #12
  unreachable

3117:                                             ; preds = %3089
  %3118 = load ptr, ptr %1229, align 8, !tbaa !15
  store ptr @s2n_dhe_rsa_with_3des_ede_cbc_sha, ptr %3118, align 8, !tbaa !42
  %3119 = load i32, ptr @test_count, align 4, !tbaa !5
  %3120 = add nsw i32 %3119, 1
  store i32 %3120, ptr @test_count, align 4, !tbaa !5
  %3121 = call i32 @s2n_is_sig_scheme_valid_for_auth(ptr noundef nonnull %1228, ptr noundef nonnull @s2n_rsa_pkcs1_md5_sha1) #9
  %3122 = icmp eq i32 %3121, -1
  br i1 %3122, label %3123, label %3145

3123:                                             ; preds = %3117
  %3124 = load i32, ptr %423, align 4, !tbaa !5
  %3125 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3126 = call i32 @s2n_print_stacktrace(ptr noundef %3125) #9
  %3127 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3128 = trunc nuw i8 %3127 to i1
  br i1 %3128, label %3129, label %3133

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

3133:                                             ; preds = %3129, %3123
  br label %3134

3134:                                             ; preds = %3129, %3133
  %.str.5.sink2458 = phi ptr [ @.str.5, %3133 ], [ @.str.2, %3129 ]
  store i32 %3124, ptr %423, align 4, !tbaa !5
  %3135 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3136 = load i32, ptr @test_count, align 4, !tbaa !5
  %3137 = load i32, ptr %369, align 4, !tbaa !5
  %3138 = call ptr @s2n_strerror(i32 noundef %3137, ptr noundef nonnull @.str.4) #9
  %3139 = load i32, ptr %369, align 4, !tbaa !5
  %3140 = call ptr @s2n_strerror_debug(i32 noundef %3139, ptr noundef nonnull @.str.4) #9
  %3141 = load i32, ptr %423, align 4, !tbaa !5
  %3142 = call ptr @strerror(i32 noundef %3141) #9
  %3143 = load i32, ptr %423, align 4, !tbaa !5
  %3144 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3135, ptr noundef nonnull %.str.5.sink2458, i32 noundef %3136, ptr noundef nonnull @.str.36, ptr noundef nonnull @.str.1, i32 noundef 216, ptr noundef %3138, ptr noundef %3140, ptr noundef %3142, i32 noundef %3143) #11
  call void @exit(i32 noundef 1) #12
  unreachable

3145:                                             ; preds = %3117
  %3146 = call zeroext i1 (...) @s2n_is_rsa_pss_certs_supported() #9
  %3147 = load i32, ptr @test_count, align 4, !tbaa !5
  %3148 = add nsw i32 %3147, 1
  store i32 %3148, ptr @test_count, align 4, !tbaa !5
  %3149 = call i32 @s2n_is_sig_scheme_valid_for_auth(ptr noundef nonnull %1228, ptr noundef nonnull @s2n_rsa_pss_pss_sha256) #9
  %3150 = icmp eq i32 %3149, -1
  br i1 %3146, label %3151, label %3174

3151:                                             ; preds = %3145
  br i1 %3150, label %3152, label %3251

3152:                                             ; preds = %3151
  %3153 = load i32, ptr %423, align 4, !tbaa !5
  %3154 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3155 = call i32 @s2n_print_stacktrace(ptr noundef %3154) #9
  %3156 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3157 = trunc nuw i8 %3156 to i1
  br i1 %3157, label %3158, label %3162

3158:                                             ; preds = %3152
  %3159 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3160 = call i32 @fileno(ptr noundef %3159) #9
  %3161 = call i32 @isatty(i32 noundef %3160) #9
  %.not1321 = icmp eq i32 %3161, 0
  br i1 %.not1321, label %3162, label %3163

3162:                                             ; preds = %3158, %3152
  br label %3163

3163:                                             ; preds = %3158, %3162
  %.str.5.sink2467 = phi ptr [ @.str.5, %3162 ], [ @.str.2, %3158 ]
  store i32 %3153, ptr %423, align 4, !tbaa !5
  %3164 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3165 = load i32, ptr @test_count, align 4, !tbaa !5
  %3166 = load i32, ptr %369, align 4, !tbaa !5
  %3167 = call ptr @s2n_strerror(i32 noundef %3166, ptr noundef nonnull @.str.4) #9
  %3168 = load i32, ptr %369, align 4, !tbaa !5
  %3169 = call ptr @s2n_strerror_debug(i32 noundef %3168, ptr noundef nonnull @.str.4) #9
  %3170 = load i32, ptr %423, align 4, !tbaa !5
  %3171 = call ptr @strerror(i32 noundef %3170) #9
  %3172 = load i32, ptr %423, align 4, !tbaa !5
  %3173 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3164, ptr noundef nonnull %.str.5.sink2467, i32 noundef %3165, ptr noundef nonnull @.str.38, ptr noundef nonnull @.str.1, i32 noundef 217, ptr noundef %3167, ptr noundef %3169, ptr noundef %3171, i32 noundef %3172) #11
  call void @exit(i32 noundef 1) #12
  unreachable

3174:                                             ; preds = %3145
  br i1 %3150, label %3197, label %3175

3175:                                             ; preds = %3174
  %3176 = load i32, ptr %423, align 4, !tbaa !5
  %3177 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3178 = call i32 @s2n_print_stacktrace(ptr noundef %3177) #9
  %3179 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3180 = trunc nuw i8 %3179 to i1
  br i1 %3180, label %3181, label %3185

3181:                                             ; preds = %3175
  %3182 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3183 = call i32 @fileno(ptr noundef %3182) #9
  %3184 = call i32 @isatty(i32 noundef %3183) #9
  %.not1043 = icmp eq i32 %3184, 0
  br i1 %.not1043, label %3185, label %3186

3185:                                             ; preds = %3181, %3175
  br label %3186

3186:                                             ; preds = %3181, %3185
  %.str.5.sink2476 = phi ptr [ @.str.5, %3185 ], [ @.str.2, %3181 ]
  store i32 %3176, ptr %423, align 4, !tbaa !5
  %3187 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3188 = load i32, ptr @test_count, align 4, !tbaa !5
  %3189 = load i32, ptr %369, align 4, !tbaa !5
  %3190 = call ptr @s2n_strerror(i32 noundef %3189, ptr noundef nonnull @.str.4) #9
  %3191 = load i32, ptr %369, align 4, !tbaa !5
  %3192 = call ptr @s2n_strerror_debug(i32 noundef %3191, ptr noundef nonnull @.str.4) #9
  %3193 = load i32, ptr %423, align 4, !tbaa !5
  %3194 = call ptr @strerror(i32 noundef %3193) #9
  %3195 = load i32, ptr %423, align 4, !tbaa !5
  %3196 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3187, ptr noundef nonnull %.str.5.sink2476, i32 noundef %3188, ptr noundef nonnull @.str.33, ptr noundef nonnull @.str.1, i32 noundef 217, ptr noundef %3190, ptr noundef %3192, ptr noundef %3194, i32 noundef %3195) #11
  call void @exit(i32 noundef 1) #12
  unreachable

3197:                                             ; preds = %3174
  %3198 = load i32, ptr @test_count, align 4, !tbaa !5
  %3199 = add nsw i32 %3198, 1
  store i32 %3199, ptr @test_count, align 4, !tbaa !5
  %3200 = load i32, ptr %369, align 4, !tbaa !5
  %3201 = icmp eq i32 %3200, 0
  br i1 %3201, label %3202, label %3224

3202:                                             ; preds = %3197
  %3203 = load i32, ptr %423, align 4, !tbaa !5
  %3204 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3205 = call i32 @s2n_print_stacktrace(ptr noundef %3204) #9
  %3206 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3207 = trunc nuw i8 %3206 to i1
  br i1 %3207, label %3208, label %3212

3208:                                             ; preds = %3202
  %3209 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3210 = call i32 @fileno(ptr noundef %3209) #9
  %3211 = call i32 @isatty(i32 noundef %3210) #9
  %.not1045 = icmp eq i32 %3211, 0
  br i1 %.not1045, label %3212, label %3213

3212:                                             ; preds = %3208, %3202
  br label %3213

3213:                                             ; preds = %3208, %3212
  %.str.5.sink2485 = phi ptr [ @.str.5, %3212 ], [ @.str.2, %3208 ]
  store i32 %3203, ptr %423, align 4, !tbaa !5
  %3214 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3215 = load i32, ptr @test_count, align 4, !tbaa !5
  %3216 = load i32, ptr %369, align 4, !tbaa !5
  %3217 = call ptr @s2n_strerror(i32 noundef %3216, ptr noundef nonnull @.str.4) #9
  %3218 = load i32, ptr %369, align 4, !tbaa !5
  %3219 = call ptr @s2n_strerror_debug(i32 noundef %3218, ptr noundef nonnull @.str.4) #9
  %3220 = load i32, ptr %423, align 4, !tbaa !5
  %3221 = call ptr @strerror(i32 noundef %3220) #9
  %3222 = load i32, ptr %423, align 4, !tbaa !5
  %3223 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3214, ptr noundef nonnull %.str.5.sink2485, i32 noundef %3215, ptr noundef nonnull @.str.21, ptr noundef nonnull @.str.1, i32 noundef 217, ptr noundef %3217, ptr noundef %3219, ptr noundef %3221, i32 noundef %3222) #11
  call void @exit(i32 noundef 1) #12
  unreachable

3224:                                             ; preds = %3197
  %3225 = add nsw i32 %3198, 2
  store i32 %3225, ptr @test_count, align 4, !tbaa !5
  %3226 = call ptr @s2n_strerror_debug(i32 noundef %3200, ptr noundef nonnull @.str.4) #9
  %3227 = icmp eq ptr %3226, null
  br i1 %3227, label %3228, label %3250

3228:                                             ; preds = %3224
  %3229 = load i32, ptr %423, align 4, !tbaa !5
  %3230 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3231 = call i32 @s2n_print_stacktrace(ptr noundef %3230) #9
  %3232 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3233 = trunc nuw i8 %3232 to i1
  br i1 %3233, label %3234, label %3238

3234:                                             ; preds = %3228
  %3235 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3236 = call i32 @fileno(ptr noundef %3235) #9
  %3237 = call i32 @isatty(i32 noundef %3236) #9
  %.not1044 = icmp eq i32 %3237, 0
  br i1 %.not1044, label %3238, label %3239

3238:                                             ; preds = %3234, %3228
  br label %3239

3239:                                             ; preds = %3234, %3238
  %.str.5.sink2494 = phi ptr [ @.str.5, %3238 ], [ @.str.2, %3234 ]
  store i32 %3229, ptr %423, align 4, !tbaa !5
  %3240 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3241 = load i32, ptr @test_count, align 4, !tbaa !5
  %3242 = load i32, ptr %369, align 4, !tbaa !5
  %3243 = call ptr @s2n_strerror(i32 noundef %3242, ptr noundef nonnull @.str.4) #9
  %3244 = load i32, ptr %369, align 4, !tbaa !5
  %3245 = call ptr @s2n_strerror_debug(i32 noundef %3244, ptr noundef nonnull @.str.4) #9
  %3246 = load i32, ptr %423, align 4, !tbaa !5
  %3247 = call ptr @strerror(i32 noundef %3246) #9
  %3248 = load i32, ptr %423, align 4, !tbaa !5
  %3249 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3240, ptr noundef nonnull %.str.5.sink2494, i32 noundef %3241, ptr noundef nonnull @.str.22, ptr noundef nonnull @.str.1, i32 noundef 217, ptr noundef %3243, ptr noundef %3245, ptr noundef %3247, i32 noundef %3248) #11
  call void @exit(i32 noundef 1) #12
  unreachable

3250:                                             ; preds = %3224
  store i32 0, ptr %369, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #9
  store i32 0, ptr %423, align 4, !tbaa !5
  br label %3251

3251:                                             ; preds = %3250, %3151
  %3252 = load i32, ptr @test_count, align 4, !tbaa !5
  %3253 = add nsw i32 %3252, 1
  store i32 %3253, ptr @test_count, align 4, !tbaa !5
  %3254 = call i32 @s2n_is_sig_scheme_valid_for_auth(ptr noundef nonnull %1228, ptr noundef nonnull @s2n_rsa_pss_rsae_sha256) #9
  %3255 = icmp eq i32 %3254, -1
  br i1 %3255, label %3256, label %3278

3256:                                             ; preds = %3251
  %3257 = load i32, ptr %423, align 4, !tbaa !5
  %3258 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3259 = call i32 @s2n_print_stacktrace(ptr noundef %3258) #9
  %3260 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3261 = trunc nuw i8 %3260 to i1
  br i1 %3261, label %3262, label %3266

3262:                                             ; preds = %3256
  %3263 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3264 = call i32 @fileno(ptr noundef %3263) #9
  %3265 = call i32 @isatty(i32 noundef %3264) #9
  %.not1320 = icmp eq i32 %3265, 0
  br i1 %.not1320, label %3266, label %3267

3266:                                             ; preds = %3262, %3256
  br label %3267

3267:                                             ; preds = %3262, %3266
  %.str.5.sink2503 = phi ptr [ @.str.5, %3266 ], [ @.str.2, %3262 ]
  store i32 %3257, ptr %423, align 4, !tbaa !5
  %3268 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3269 = load i32, ptr @test_count, align 4, !tbaa !5
  %3270 = load i32, ptr %369, align 4, !tbaa !5
  %3271 = call ptr @s2n_strerror(i32 noundef %3270, ptr noundef nonnull @.str.4) #9
  %3272 = load i32, ptr %369, align 4, !tbaa !5
  %3273 = call ptr @s2n_strerror_debug(i32 noundef %3272, ptr noundef nonnull @.str.4) #9
  %3274 = load i32, ptr %423, align 4, !tbaa !5
  %3275 = call ptr @strerror(i32 noundef %3274) #9
  %3276 = load i32, ptr %423, align 4, !tbaa !5
  %3277 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3268, ptr noundef nonnull %.str.5.sink2503, i32 noundef %3269, ptr noundef nonnull @.str.37, ptr noundef nonnull @.str.1, i32 noundef 218, ptr noundef %3271, ptr noundef %3273, ptr noundef %3275, i32 noundef %3276) #11
  call void @exit(i32 noundef 1) #12
  unreachable

3278:                                             ; preds = %3251
  %3279 = load i32, ptr @test_count, align 4, !tbaa !5
  %3280 = add nsw i32 %3279, 1
  store i32 %3280, ptr @test_count, align 4, !tbaa !5
  %3281 = call i32 @s2n_is_sig_scheme_valid_for_auth(ptr noundef nonnull %1228, ptr noundef nonnull @s2n_ecdsa_sha384) #9
  %3282 = icmp eq i32 %3281, -1
  br i1 %3282, label %3305, label %3283

3283:                                             ; preds = %3278
  %3284 = load i32, ptr %423, align 4, !tbaa !5
  %3285 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3286 = call i32 @s2n_print_stacktrace(ptr noundef %3285) #9
  %3287 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3288 = trunc nuw i8 %3287 to i1
  br i1 %3288, label %3289, label %3293

3289:                                             ; preds = %3283
  %3290 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3291 = call i32 @fileno(ptr noundef %3290) #9
  %3292 = call i32 @isatty(i32 noundef %3291) #9
  %.not1046 = icmp eq i32 %3292, 0
  br i1 %.not1046, label %3293, label %3294

3293:                                             ; preds = %3289, %3283
  br label %3294

3294:                                             ; preds = %3289, %3293
  %.str.5.sink2512 = phi ptr [ @.str.5, %3293 ], [ @.str.2, %3289 ]
  store i32 %3284, ptr %423, align 4, !tbaa !5
  %3295 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3296 = load i32, ptr @test_count, align 4, !tbaa !5
  %3297 = load i32, ptr %369, align 4, !tbaa !5
  %3298 = call ptr @s2n_strerror(i32 noundef %3297, ptr noundef nonnull @.str.4) #9
  %3299 = load i32, ptr %369, align 4, !tbaa !5
  %3300 = call ptr @s2n_strerror_debug(i32 noundef %3299, ptr noundef nonnull @.str.4) #9
  %3301 = load i32, ptr %423, align 4, !tbaa !5
  %3302 = call ptr @strerror(i32 noundef %3301) #9
  %3303 = load i32, ptr %423, align 4, !tbaa !5
  %3304 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3295, ptr noundef nonnull %.str.5.sink2512, i32 noundef %3296, ptr noundef nonnull @.str.35, ptr noundef nonnull @.str.1, i32 noundef 219, ptr noundef %3298, ptr noundef %3300, ptr noundef %3302, i32 noundef %3303) #11
  call void @exit(i32 noundef 1) #12
  unreachable

3305:                                             ; preds = %3278
  %3306 = load i32, ptr @test_count, align 4, !tbaa !5
  %3307 = add nsw i32 %3306, 1
  store i32 %3307, ptr @test_count, align 4, !tbaa !5
  %3308 = load i32, ptr %369, align 4, !tbaa !5
  %3309 = icmp eq i32 %3308, 0
  br i1 %3309, label %3310, label %3332

3310:                                             ; preds = %3305
  %3311 = load i32, ptr %423, align 4, !tbaa !5
  %3312 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3313 = call i32 @s2n_print_stacktrace(ptr noundef %3312) #9
  %3314 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3315 = trunc nuw i8 %3314 to i1
  br i1 %3315, label %3316, label %3320

3316:                                             ; preds = %3310
  %3317 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3318 = call i32 @fileno(ptr noundef %3317) #9
  %3319 = call i32 @isatty(i32 noundef %3318) #9
  %.not1319 = icmp eq i32 %3319, 0
  br i1 %.not1319, label %3320, label %3321

3320:                                             ; preds = %3316, %3310
  br label %3321

3321:                                             ; preds = %3316, %3320
  %.str.5.sink2521 = phi ptr [ @.str.5, %3320 ], [ @.str.2, %3316 ]
  store i32 %3311, ptr %423, align 4, !tbaa !5
  %3322 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3323 = load i32, ptr @test_count, align 4, !tbaa !5
  %3324 = load i32, ptr %369, align 4, !tbaa !5
  %3325 = call ptr @s2n_strerror(i32 noundef %3324, ptr noundef nonnull @.str.4) #9
  %3326 = load i32, ptr %369, align 4, !tbaa !5
  %3327 = call ptr @s2n_strerror_debug(i32 noundef %3326, ptr noundef nonnull @.str.4) #9
  %3328 = load i32, ptr %423, align 4, !tbaa !5
  %3329 = call ptr @strerror(i32 noundef %3328) #9
  %3330 = load i32, ptr %423, align 4, !tbaa !5
  %3331 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3322, ptr noundef nonnull %.str.5.sink2521, i32 noundef %3323, ptr noundef nonnull @.str.21, ptr noundef nonnull @.str.1, i32 noundef 219, ptr noundef %3325, ptr noundef %3327, ptr noundef %3329, i32 noundef %3330) #11
  call void @exit(i32 noundef 1) #12
  unreachable

3332:                                             ; preds = %3305
  %3333 = add nsw i32 %3306, 2
  store i32 %3333, ptr @test_count, align 4, !tbaa !5
  %3334 = call ptr @s2n_strerror_debug(i32 noundef %3308, ptr noundef nonnull @.str.4) #9
  %3335 = icmp eq ptr %3334, null
  br i1 %3335, label %3336, label %3358

3336:                                             ; preds = %3332
  %3337 = load i32, ptr %423, align 4, !tbaa !5
  %3338 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3339 = call i32 @s2n_print_stacktrace(ptr noundef %3338) #9
  %3340 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3341 = trunc nuw i8 %3340 to i1
  br i1 %3341, label %3342, label %3346

3342:                                             ; preds = %3336
  %3343 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3344 = call i32 @fileno(ptr noundef %3343) #9
  %3345 = call i32 @isatty(i32 noundef %3344) #9
  %.not1318 = icmp eq i32 %3345, 0
  br i1 %.not1318, label %3346, label %3347

3346:                                             ; preds = %3342, %3336
  br label %3347

3347:                                             ; preds = %3342, %3346
  %.str.5.sink2530 = phi ptr [ @.str.5, %3346 ], [ @.str.2, %3342 ]
  store i32 %3337, ptr %423, align 4, !tbaa !5
  %3348 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3349 = load i32, ptr @test_count, align 4, !tbaa !5
  %3350 = load i32, ptr %369, align 4, !tbaa !5
  %3351 = call ptr @s2n_strerror(i32 noundef %3350, ptr noundef nonnull @.str.4) #9
  %3352 = load i32, ptr %369, align 4, !tbaa !5
  %3353 = call ptr @s2n_strerror_debug(i32 noundef %3352, ptr noundef nonnull @.str.4) #9
  %3354 = load i32, ptr %423, align 4, !tbaa !5
  %3355 = call ptr @strerror(i32 noundef %3354) #9
  %3356 = load i32, ptr %423, align 4, !tbaa !5
  %3357 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3348, ptr noundef nonnull %.str.5.sink2530, i32 noundef %3349, ptr noundef nonnull @.str.22, ptr noundef nonnull @.str.1, i32 noundef 219, ptr noundef %3351, ptr noundef %3353, ptr noundef %3355, i32 noundef %3356) #11
  call void @exit(i32 noundef 1) #12
  unreachable

3358:                                             ; preds = %3332
  store i32 0, ptr %369, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #9
  store i32 0, ptr %423, align 4, !tbaa !5
  %3359 = load ptr, ptr %1229, align 8, !tbaa !15
  store ptr @s2n_ecdhe_ecdsa_with_aes_128_cbc_sha, ptr %3359, align 8, !tbaa !42
  %3360 = load i32, ptr @test_count, align 4, !tbaa !5
  %3361 = add nsw i32 %3360, 1
  store i32 %3361, ptr @test_count, align 4, !tbaa !5
  %3362 = call i32 @s2n_is_sig_scheme_valid_for_auth(ptr noundef nonnull %1228, ptr noundef nonnull @s2n_rsa_pkcs1_md5_sha1) #9
  %3363 = icmp eq i32 %3362, -1
  br i1 %3363, label %3386, label %3364

3364:                                             ; preds = %3358
  %3365 = load i32, ptr %423, align 4, !tbaa !5
  %3366 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3367 = call i32 @s2n_print_stacktrace(ptr noundef %3366) #9
  %3368 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3369 = trunc nuw i8 %3368 to i1
  br i1 %3369, label %3370, label %3374

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

3374:                                             ; preds = %3370, %3364
  br label %3375

3375:                                             ; preds = %3370, %3374
  %.str.5.sink2539 = phi ptr [ @.str.5, %3374 ], [ @.str.2, %3370 ]
  store i32 %3365, ptr %423, align 4, !tbaa !5
  %3376 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3377 = load i32, ptr @test_count, align 4, !tbaa !5
  %3378 = load i32, ptr %369, align 4, !tbaa !5
  %3379 = call ptr @s2n_strerror(i32 noundef %3378, ptr noundef nonnull @.str.4) #9
  %3380 = load i32, ptr %369, align 4, !tbaa !5
  %3381 = call ptr @s2n_strerror_debug(i32 noundef %3380, ptr noundef nonnull @.str.4) #9
  %3382 = load i32, ptr %423, align 4, !tbaa !5
  %3383 = call ptr @strerror(i32 noundef %3382) #9
  %3384 = load i32, ptr %423, align 4, !tbaa !5
  %3385 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3376, ptr noundef nonnull %.str.5.sink2539, i32 noundef %3377, ptr noundef nonnull @.str.32, ptr noundef nonnull @.str.1, i32 noundef 223, ptr noundef %3379, ptr noundef %3381, ptr noundef %3383, i32 noundef %3384) #11
  call void @exit(i32 noundef 1) #12
  unreachable

3386:                                             ; preds = %3358
  %3387 = load i32, ptr @test_count, align 4, !tbaa !5
  %3388 = add nsw i32 %3387, 1
  store i32 %3388, ptr @test_count, align 4, !tbaa !5
  %3389 = load i32, ptr %369, align 4, !tbaa !5
  %3390 = icmp eq i32 %3389, 0
  br i1 %3390, label %3391, label %3413

3391:                                             ; preds = %3386
  %3392 = load i32, ptr %423, align 4, !tbaa !5
  %3393 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3394 = call i32 @s2n_print_stacktrace(ptr noundef %3393) #9
  %3395 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3396 = trunc nuw i8 %3395 to i1
  br i1 %3396, label %3397, label %3401

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

3401:                                             ; preds = %3397, %3391
  br label %3402

3402:                                             ; preds = %3397, %3401
  %.str.5.sink2548 = phi ptr [ @.str.5, %3401 ], [ @.str.2, %3397 ]
  store i32 %3392, ptr %423, align 4, !tbaa !5
  %3403 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3404 = load i32, ptr @test_count, align 4, !tbaa !5
  %3405 = load i32, ptr %369, align 4, !tbaa !5
  %3406 = call ptr @s2n_strerror(i32 noundef %3405, ptr noundef nonnull @.str.4) #9
  %3407 = load i32, ptr %369, align 4, !tbaa !5
  %3408 = call ptr @s2n_strerror_debug(i32 noundef %3407, ptr noundef nonnull @.str.4) #9
  %3409 = load i32, ptr %423, align 4, !tbaa !5
  %3410 = call ptr @strerror(i32 noundef %3409) #9
  %3411 = load i32, ptr %423, align 4, !tbaa !5
  %3412 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3403, ptr noundef nonnull %.str.5.sink2548, i32 noundef %3404, ptr noundef nonnull @.str.21, ptr noundef nonnull @.str.1, i32 noundef 223, ptr noundef %3406, ptr noundef %3408, ptr noundef %3410, i32 noundef %3411) #11
  call void @exit(i32 noundef 1) #12
  unreachable

3413:                                             ; preds = %3386
  %3414 = add nsw i32 %3387, 2
  store i32 %3414, ptr @test_count, align 4, !tbaa !5
  %3415 = call ptr @s2n_strerror_debug(i32 noundef %3389, ptr noundef nonnull @.str.4) #9
  %3416 = icmp eq ptr %3415, null
  br i1 %3416, label %3417, label %3439

3417:                                             ; preds = %3413
  %3418 = load i32, ptr %423, align 4, !tbaa !5
  %3419 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3420 = call i32 @s2n_print_stacktrace(ptr noundef %3419) #9
  %3421 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3422 = trunc nuw i8 %3421 to i1
  br i1 %3422, label %3423, label %3427

3423:                                             ; preds = %3417
  %3424 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3425 = call i32 @fileno(ptr noundef %3424) #9
  %3426 = call i32 @isatty(i32 noundef %3425) #9
  %.not1316 = icmp eq i32 %3426, 0
  br i1 %.not1316, label %3427, label %3428

3427:                                             ; preds = %3423, %3417
  br label %3428

3428:                                             ; preds = %3423, %3427
  %.str.5.sink2557 = phi ptr [ @.str.5, %3427 ], [ @.str.2, %3423 ]
  store i32 %3418, ptr %423, align 4, !tbaa !5
  %3429 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3430 = load i32, ptr @test_count, align 4, !tbaa !5
  %3431 = load i32, ptr %369, align 4, !tbaa !5
  %3432 = call ptr @s2n_strerror(i32 noundef %3431, ptr noundef nonnull @.str.4) #9
  %3433 = load i32, ptr %369, align 4, !tbaa !5
  %3434 = call ptr @s2n_strerror_debug(i32 noundef %3433, ptr noundef nonnull @.str.4) #9
  %3435 = load i32, ptr %423, align 4, !tbaa !5
  %3436 = call ptr @strerror(i32 noundef %3435) #9
  %3437 = load i32, ptr %423, align 4, !tbaa !5
  %3438 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3429, ptr noundef nonnull %.str.5.sink2557, i32 noundef %3430, ptr noundef nonnull @.str.22, ptr noundef nonnull @.str.1, i32 noundef 223, ptr noundef %3432, ptr noundef %3434, ptr noundef %3436, i32 noundef %3437) #11
  call void @exit(i32 noundef 1) #12
  unreachable

3439:                                             ; preds = %3413
  store i32 0, ptr %369, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #9
  store i32 0, ptr %423, align 4, !tbaa !5
  %3440 = load i32, ptr @test_count, align 4, !tbaa !5
  %3441 = add nsw i32 %3440, 1
  store i32 %3441, ptr @test_count, align 4, !tbaa !5
  %3442 = call i32 @s2n_is_sig_scheme_valid_for_auth(ptr noundef nonnull %1228, ptr noundef nonnull @s2n_rsa_pss_pss_sha256) #9
  %3443 = icmp eq i32 %3442, -1
  br i1 %3443, label %3466, label %3444

3444:                                             ; preds = %3439
  %3445 = load i32, ptr %423, align 4, !tbaa !5
  %3446 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3447 = call i32 @s2n_print_stacktrace(ptr noundef %3446) #9
  %3448 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3449 = trunc nuw i8 %3448 to i1
  br i1 %3449, label %3450, label %3454

3450:                                             ; preds = %3444
  %3451 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3452 = call i32 @fileno(ptr noundef %3451) #9
  %3453 = call i32 @isatty(i32 noundef %3452) #9
  %.not1048 = icmp eq i32 %3453, 0
  br i1 %.not1048, label %3454, label %3455

3454:                                             ; preds = %3450, %3444
  br label %3455

3455:                                             ; preds = %3450, %3454
  %.str.5.sink2566 = phi ptr [ @.str.5, %3454 ], [ @.str.2, %3450 ]
  store i32 %3445, ptr %423, align 4, !tbaa !5
  %3456 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3457 = load i32, ptr @test_count, align 4, !tbaa !5
  %3458 = load i32, ptr %369, align 4, !tbaa !5
  %3459 = call ptr @s2n_strerror(i32 noundef %3458, ptr noundef nonnull @.str.4) #9
  %3460 = load i32, ptr %369, align 4, !tbaa !5
  %3461 = call ptr @s2n_strerror_debug(i32 noundef %3460, ptr noundef nonnull @.str.4) #9
  %3462 = load i32, ptr %423, align 4, !tbaa !5
  %3463 = call ptr @strerror(i32 noundef %3462) #9
  %3464 = load i32, ptr %423, align 4, !tbaa !5
  %3465 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3456, ptr noundef nonnull %.str.5.sink2566, i32 noundef %3457, ptr noundef nonnull @.str.33, ptr noundef nonnull @.str.1, i32 noundef 224, ptr noundef %3459, ptr noundef %3461, ptr noundef %3463, i32 noundef %3464) #11
  call void @exit(i32 noundef 1) #12
  unreachable

3466:                                             ; preds = %3439
  %3467 = load i32, ptr @test_count, align 4, !tbaa !5
  %3468 = add nsw i32 %3467, 1
  store i32 %3468, ptr @test_count, align 4, !tbaa !5
  %3469 = load i32, ptr %369, align 4, !tbaa !5
  %3470 = icmp eq i32 %3469, 0
  br i1 %3470, label %3471, label %3493

3471:                                             ; preds = %3466
  %3472 = load i32, ptr %423, align 4, !tbaa !5
  %3473 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3474 = call i32 @s2n_print_stacktrace(ptr noundef %3473) #9
  %3475 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3476 = trunc nuw i8 %3475 to i1
  br i1 %3476, label %3477, label %3481

3477:                                             ; preds = %3471
  %3478 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3479 = call i32 @fileno(ptr noundef %3478) #9
  %3480 = call i32 @isatty(i32 noundef %3479) #9
  %.not1315 = icmp eq i32 %3480, 0
  br i1 %.not1315, label %3481, label %3482

3481:                                             ; preds = %3477, %3471
  br label %3482

3482:                                             ; preds = %3477, %3481
  %.str.5.sink2575 = phi ptr [ @.str.5, %3481 ], [ @.str.2, %3477 ]
  store i32 %3472, ptr %423, align 4, !tbaa !5
  %3483 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3484 = load i32, ptr @test_count, align 4, !tbaa !5
  %3485 = load i32, ptr %369, align 4, !tbaa !5
  %3486 = call ptr @s2n_strerror(i32 noundef %3485, ptr noundef nonnull @.str.4) #9
  %3487 = load i32, ptr %369, align 4, !tbaa !5
  %3488 = call ptr @s2n_strerror_debug(i32 noundef %3487, ptr noundef nonnull @.str.4) #9
  %3489 = load i32, ptr %423, align 4, !tbaa !5
  %3490 = call ptr @strerror(i32 noundef %3489) #9
  %3491 = load i32, ptr %423, align 4, !tbaa !5
  %3492 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3483, ptr noundef nonnull %.str.5.sink2575, i32 noundef %3484, ptr noundef nonnull @.str.21, ptr noundef nonnull @.str.1, i32 noundef 224, ptr noundef %3486, ptr noundef %3488, ptr noundef %3490, i32 noundef %3491) #11
  call void @exit(i32 noundef 1) #12
  unreachable

3493:                                             ; preds = %3466
  %3494 = add nsw i32 %3467, 2
  store i32 %3494, ptr @test_count, align 4, !tbaa !5
  %3495 = call ptr @s2n_strerror_debug(i32 noundef %3469, ptr noundef nonnull @.str.4) #9
  %3496 = icmp eq ptr %3495, null
  br i1 %3496, label %3497, label %3519

3497:                                             ; preds = %3493
  %3498 = load i32, ptr %423, align 4, !tbaa !5
  %3499 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3500 = call i32 @s2n_print_stacktrace(ptr noundef %3499) #9
  %3501 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3502 = trunc nuw i8 %3501 to i1
  br i1 %3502, label %3503, label %3507

3503:                                             ; preds = %3497
  %3504 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3505 = call i32 @fileno(ptr noundef %3504) #9
  %3506 = call i32 @isatty(i32 noundef %3505) #9
  %.not1314 = icmp eq i32 %3506, 0
  br i1 %.not1314, label %3507, label %3508

3507:                                             ; preds = %3503, %3497
  br label %3508

3508:                                             ; preds = %3503, %3507
  %.str.5.sink2584 = phi ptr [ @.str.5, %3507 ], [ @.str.2, %3503 ]
  store i32 %3498, ptr %423, align 4, !tbaa !5
  %3509 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3510 = load i32, ptr @test_count, align 4, !tbaa !5
  %3511 = load i32, ptr %369, align 4, !tbaa !5
  %3512 = call ptr @s2n_strerror(i32 noundef %3511, ptr noundef nonnull @.str.4) #9
  %3513 = load i32, ptr %369, align 4, !tbaa !5
  %3514 = call ptr @s2n_strerror_debug(i32 noundef %3513, ptr noundef nonnull @.str.4) #9
  %3515 = load i32, ptr %423, align 4, !tbaa !5
  %3516 = call ptr @strerror(i32 noundef %3515) #9
  %3517 = load i32, ptr %423, align 4, !tbaa !5
  %3518 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3509, ptr noundef nonnull %.str.5.sink2584, i32 noundef %3510, ptr noundef nonnull @.str.22, ptr noundef nonnull @.str.1, i32 noundef 224, ptr noundef %3512, ptr noundef %3514, ptr noundef %3516, i32 noundef %3517) #11
  call void @exit(i32 noundef 1) #12
  unreachable

3519:                                             ; preds = %3493
  store i32 0, ptr %369, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #9
  store i32 0, ptr %423, align 4, !tbaa !5
  %3520 = load i32, ptr @test_count, align 4, !tbaa !5
  %3521 = add nsw i32 %3520, 1
  store i32 %3521, ptr @test_count, align 4, !tbaa !5
  %3522 = call i32 @s2n_is_sig_scheme_valid_for_auth(ptr noundef nonnull %1228, ptr noundef nonnull @s2n_rsa_pss_rsae_sha256) #9
  %3523 = icmp eq i32 %3522, -1
  br i1 %3523, label %3546, label %3524

3524:                                             ; preds = %3519
  %3525 = load i32, ptr %423, align 4, !tbaa !5
  %3526 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3527 = call i32 @s2n_print_stacktrace(ptr noundef %3526) #9
  %3528 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3529 = trunc nuw i8 %3528 to i1
  br i1 %3529, label %3530, label %3534

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

3534:                                             ; preds = %3530, %3524
  br label %3535

3535:                                             ; preds = %3530, %3534
  %.str.5.sink2593 = phi ptr [ @.str.5, %3534 ], [ @.str.2, %3530 ]
  store i32 %3525, ptr %423, align 4, !tbaa !5
  %3536 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3537 = load i32, ptr @test_count, align 4, !tbaa !5
  %3538 = load i32, ptr %369, align 4, !tbaa !5
  %3539 = call ptr @s2n_strerror(i32 noundef %3538, ptr noundef nonnull @.str.4) #9
  %3540 = load i32, ptr %369, align 4, !tbaa !5
  %3541 = call ptr @s2n_strerror_debug(i32 noundef %3540, ptr noundef nonnull @.str.4) #9
  %3542 = load i32, ptr %423, align 4, !tbaa !5
  %3543 = call ptr @strerror(i32 noundef %3542) #9
  %3544 = load i32, ptr %423, align 4, !tbaa !5
  %3545 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3536, ptr noundef nonnull %.str.5.sink2593, i32 noundef %3537, ptr noundef nonnull @.str.34, ptr noundef nonnull @.str.1, i32 noundef 225, ptr noundef %3539, ptr noundef %3541, ptr noundef %3543, i32 noundef %3544) #11
  call void @exit(i32 noundef 1) #12
  unreachable

3546:                                             ; preds = %3519
  %3547 = load i32, ptr @test_count, align 4, !tbaa !5
  %3548 = add nsw i32 %3547, 1
  store i32 %3548, ptr @test_count, align 4, !tbaa !5
  %3549 = load i32, ptr %369, align 4, !tbaa !5
  %3550 = icmp eq i32 %3549, 0
  br i1 %3550, label %3551, label %3573

3551:                                             ; preds = %3546
  %3552 = load i32, ptr %423, align 4, !tbaa !5
  %3553 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3554 = call i32 @s2n_print_stacktrace(ptr noundef %3553) #9
  %3555 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3556 = trunc nuw i8 %3555 to i1
  br i1 %3556, label %3557, label %3561

3557:                                             ; preds = %3551
  %3558 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3559 = call i32 @fileno(ptr noundef %3558) #9
  %3560 = call i32 @isatty(i32 noundef %3559) #9
  %.not1313 = icmp eq i32 %3560, 0
  br i1 %.not1313, label %3561, label %3562

3561:                                             ; preds = %3557, %3551
  br label %3562

3562:                                             ; preds = %3557, %3561
  %.str.5.sink2602 = phi ptr [ @.str.5, %3561 ], [ @.str.2, %3557 ]
  store i32 %3552, ptr %423, align 4, !tbaa !5
  %3563 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3564 = load i32, ptr @test_count, align 4, !tbaa !5
  %3565 = load i32, ptr %369, align 4, !tbaa !5
  %3566 = call ptr @s2n_strerror(i32 noundef %3565, ptr noundef nonnull @.str.4) #9
  %3567 = load i32, ptr %369, align 4, !tbaa !5
  %3568 = call ptr @s2n_strerror_debug(i32 noundef %3567, ptr noundef nonnull @.str.4) #9
  %3569 = load i32, ptr %423, align 4, !tbaa !5
  %3570 = call ptr @strerror(i32 noundef %3569) #9
  %3571 = load i32, ptr %423, align 4, !tbaa !5
  %3572 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3563, ptr noundef nonnull %.str.5.sink2602, i32 noundef %3564, ptr noundef nonnull @.str.21, ptr noundef nonnull @.str.1, i32 noundef 225, ptr noundef %3566, ptr noundef %3568, ptr noundef %3570, i32 noundef %3571) #11
  call void @exit(i32 noundef 1) #12
  unreachable

3573:                                             ; preds = %3546
  %3574 = add nsw i32 %3547, 2
  store i32 %3574, ptr @test_count, align 4, !tbaa !5
  %3575 = call ptr @s2n_strerror_debug(i32 noundef %3549, ptr noundef nonnull @.str.4) #9
  %3576 = icmp eq ptr %3575, null
  br i1 %3576, label %3577, label %3599

3577:                                             ; preds = %3573
  %3578 = load i32, ptr %423, align 4, !tbaa !5
  %3579 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3580 = call i32 @s2n_print_stacktrace(ptr noundef %3579) #9
  %3581 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3582 = trunc nuw i8 %3581 to i1
  br i1 %3582, label %3583, label %3587

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

3587:                                             ; preds = %3583, %3577
  br label %3588

3588:                                             ; preds = %3583, %3587
  %.str.5.sink2611 = phi ptr [ @.str.5, %3587 ], [ @.str.2, %3583 ]
  store i32 %3578, ptr %423, align 4, !tbaa !5
  %3589 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3590 = load i32, ptr @test_count, align 4, !tbaa !5
  %3591 = load i32, ptr %369, align 4, !tbaa !5
  %3592 = call ptr @s2n_strerror(i32 noundef %3591, ptr noundef nonnull @.str.4) #9
  %3593 = load i32, ptr %369, align 4, !tbaa !5
  %3594 = call ptr @s2n_strerror_debug(i32 noundef %3593, ptr noundef nonnull @.str.4) #9
  %3595 = load i32, ptr %423, align 4, !tbaa !5
  %3596 = call ptr @strerror(i32 noundef %3595) #9
  %3597 = load i32, ptr %423, align 4, !tbaa !5
  %3598 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3589, ptr noundef nonnull %.str.5.sink2611, i32 noundef %3590, ptr noundef nonnull @.str.22, ptr noundef nonnull @.str.1, i32 noundef 225, ptr noundef %3592, ptr noundef %3594, ptr noundef %3596, i32 noundef %3597) #11
  call void @exit(i32 noundef 1) #12
  unreachable

3599:                                             ; preds = %3573
  store i32 0, ptr %369, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #9
  store i32 0, ptr %423, align 4, !tbaa !5
  %3600 = load i32, ptr @test_count, align 4, !tbaa !5
  %3601 = add nsw i32 %3600, 1
  store i32 %3601, ptr @test_count, align 4, !tbaa !5
  %3602 = call i32 @s2n_is_sig_scheme_valid_for_auth(ptr noundef nonnull %1228, ptr noundef nonnull @s2n_ecdsa_sha384) #9
  %3603 = icmp eq i32 %3602, -1
  br i1 %3603, label %3604, label %3626

3604:                                             ; preds = %3599
  %3605 = load i32, ptr %423, align 4, !tbaa !5
  %3606 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3607 = call i32 @s2n_print_stacktrace(ptr noundef %3606) #9
  %3608 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3609 = trunc nuw i8 %3608 to i1
  br i1 %3609, label %3610, label %3614

3610:                                             ; preds = %3604
  %3611 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3612 = call i32 @fileno(ptr noundef %3611) #9
  %3613 = call i32 @isatty(i32 noundef %3612) #9
  %.not1311 = icmp eq i32 %3613, 0
  br i1 %.not1311, label %3614, label %3615

3614:                                             ; preds = %3610, %3604
  br label %3615

3615:                                             ; preds = %3610, %3614
  %.str.5.sink2620 = phi ptr [ @.str.5, %3614 ], [ @.str.2, %3610 ]
  store i32 %3605, ptr %423, align 4, !tbaa !5
  %3616 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3617 = load i32, ptr @test_count, align 4, !tbaa !5
  %3618 = load i32, ptr %369, align 4, !tbaa !5
  %3619 = call ptr @s2n_strerror(i32 noundef %3618, ptr noundef nonnull @.str.4) #9
  %3620 = load i32, ptr %369, align 4, !tbaa !5
  %3621 = call ptr @s2n_strerror_debug(i32 noundef %3620, ptr noundef nonnull @.str.4) #9
  %3622 = load i32, ptr %423, align 4, !tbaa !5
  %3623 = call ptr @strerror(i32 noundef %3622) #9
  %3624 = load i32, ptr %423, align 4, !tbaa !5
  %3625 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3616, ptr noundef nonnull %.str.5.sink2620, i32 noundef %3617, ptr noundef nonnull @.str.39, ptr noundef nonnull @.str.1, i32 noundef 226, ptr noundef %3619, ptr noundef %3621, ptr noundef %3623, i32 noundef %3624) #11
  call void @exit(i32 noundef 1) #12
  unreachable

3626:                                             ; preds = %3599
  %3627 = call ptr @s2n_connection_new(i32 noundef 1) #9
  %3628 = load i32, ptr @test_count, align 4, !tbaa !5
  %3629 = add nsw i32 %3628, 1
  store i32 %3629, ptr @test_count, align 4, !tbaa !5
  %3630 = icmp eq ptr %3627, null
  br i1 %3630, label %3631, label %3653

3631:                                             ; preds = %3626
  %3632 = load i32, ptr %423, align 4, !tbaa !5
  %3633 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3634 = call i32 @s2n_print_stacktrace(ptr noundef %3633) #9
  %3635 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3636 = trunc nuw i8 %3635 to i1
  br i1 %3636, label %3637, label %3641

3637:                                             ; preds = %3631
  %3638 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3639 = call i32 @fileno(ptr noundef %3638) #9
  %3640 = call i32 @isatty(i32 noundef %3639) #9
  %.not1310 = icmp eq i32 %3640, 0
  br i1 %.not1310, label %3641, label %3642

3641:                                             ; preds = %3637, %3631
  br label %3642

3642:                                             ; preds = %3637, %3641
  %.str.5.sink2629 = phi ptr [ @.str.5, %3641 ], [ @.str.2, %3637 ]
  store i32 %3632, ptr %423, align 4, !tbaa !5
  %3643 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3644 = load i32, ptr @test_count, align 4, !tbaa !5
  %3645 = load i32, ptr %369, align 4, !tbaa !5
  %3646 = call ptr @s2n_strerror(i32 noundef %3645, ptr noundef nonnull @.str.4) #9
  %3647 = load i32, ptr %369, align 4, !tbaa !5
  %3648 = call ptr @s2n_strerror_debug(i32 noundef %3647, ptr noundef nonnull @.str.4) #9
  %3649 = load i32, ptr %423, align 4, !tbaa !5
  %3650 = call ptr @strerror(i32 noundef %3649) #9
  %3651 = load i32, ptr %423, align 4, !tbaa !5
  %3652 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3643, ptr noundef nonnull %.str.5.sink2629, i32 noundef %3644, ptr noundef nonnull @.str.52, ptr noundef nonnull @.str.1, i32 noundef 232, ptr noundef %3646, ptr noundef %3648, ptr noundef %3650, i32 noundef %3651) #11
  call void @exit(i32 noundef 1) #12
  unreachable

3653:                                             ; preds = %3626
  %3654 = add nsw i32 %3628, 2
  store i32 %3654, ptr @test_count, align 4, !tbaa !5
  %3655 = call i32 @s2n_connection_set_config(ptr noundef nonnull %3627, ptr noundef %184) #9
  %3656 = icmp eq i32 %3655, -1
  br i1 %3656, label %3657, label %3679

3657:                                             ; preds = %3653
  %3658 = load i32, ptr %423, align 4, !tbaa !5
  %3659 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3660 = call i32 @s2n_print_stacktrace(ptr noundef %3659) #9
  %3661 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3662 = trunc nuw i8 %3661 to i1
  br i1 %3662, label %3663, label %3667

3663:                                             ; preds = %3657
  %3664 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3665 = call i32 @fileno(ptr noundef %3664) #9
  %3666 = call i32 @isatty(i32 noundef %3665) #9
  %.not1309 = icmp eq i32 %3666, 0
  br i1 %.not1309, label %3667, label %3668

3667:                                             ; preds = %3663, %3657
  br label %3668

3668:                                             ; preds = %3663, %3667
  %.str.5.sink2638 = phi ptr [ @.str.5, %3667 ], [ @.str.2, %3663 ]
  store i32 %3658, ptr %423, align 4, !tbaa !5
  %3669 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3670 = load i32, ptr @test_count, align 4, !tbaa !5
  %3671 = load i32, ptr %369, align 4, !tbaa !5
  %3672 = call ptr @s2n_strerror(i32 noundef %3671, ptr noundef nonnull @.str.4) #9
  %3673 = load i32, ptr %369, align 4, !tbaa !5
  %3674 = call ptr @s2n_strerror_debug(i32 noundef %3673, ptr noundef nonnull @.str.4) #9
  %3675 = load i32, ptr %423, align 4, !tbaa !5
  %3676 = call ptr @strerror(i32 noundef %3675) #9
  %3677 = load i32, ptr %423, align 4, !tbaa !5
  %3678 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3669, ptr noundef nonnull %.str.5.sink2638, i32 noundef %3670, ptr noundef nonnull @.str.53, ptr noundef nonnull @.str.1, i32 noundef 235, ptr noundef %3672, ptr noundef %3674, ptr noundef %3676, i32 noundef %3677) #11
  call void @exit(i32 noundef 1) #12
  unreachable

3679:                                             ; preds = %3653
  %3680 = getelementptr inbounds i8, ptr %3627, i64 232
  %3681 = load ptr, ptr %3680, align 8, !tbaa !15
  store ptr @s2n_ecdhe_ecdsa_with_aes_128_cbc_sha, ptr %3681, align 8, !tbaa !42
  %3682 = load i32, ptr @test_count, align 4, !tbaa !5
  %3683 = add nsw i32 %3682, 1
  store i32 %3683, ptr @test_count, align 4, !tbaa !5
  %3684 = call i32 @s2n_is_sig_scheme_valid_for_auth(ptr noundef nonnull %3627, ptr noundef nonnull @s2n_rsa_pkcs1_md5_sha1) #9
  %3685 = icmp eq i32 %3684, -1
  br i1 %3685, label %3686, label %3708

3686:                                             ; preds = %3679
  %3687 = load i32, ptr %423, align 4, !tbaa !5
  %3688 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3689 = call i32 @s2n_print_stacktrace(ptr noundef %3688) #9
  %3690 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3691 = trunc nuw i8 %3690 to i1
  br i1 %3691, label %3692, label %3696

3692:                                             ; preds = %3686
  %3693 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3694 = call i32 @fileno(ptr noundef %3693) #9
  %3695 = call i32 @isatty(i32 noundef %3694) #9
  %.not1308 = icmp eq i32 %3695, 0
  br i1 %.not1308, label %3696, label %3697

3696:                                             ; preds = %3692, %3686
  br label %3697

3697:                                             ; preds = %3692, %3696
  %.str.5.sink2647 = phi ptr [ @.str.5, %3696 ], [ @.str.2, %3692 ]
  store i32 %3687, ptr %423, align 4, !tbaa !5
  %3698 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3699 = load i32, ptr @test_count, align 4, !tbaa !5
  %3700 = load i32, ptr %369, align 4, !tbaa !5
  %3701 = call ptr @s2n_strerror(i32 noundef %3700, ptr noundef nonnull @.str.4) #9
  %3702 = load i32, ptr %369, align 4, !tbaa !5
  %3703 = call ptr @s2n_strerror_debug(i32 noundef %3702, ptr noundef nonnull @.str.4) #9
  %3704 = load i32, ptr %423, align 4, !tbaa !5
  %3705 = call ptr @strerror(i32 noundef %3704) #9
  %3706 = load i32, ptr %423, align 4, !tbaa !5
  %3707 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3698, ptr noundef nonnull %.str.5.sink2647, i32 noundef %3699, ptr noundef nonnull @.str.54, ptr noundef nonnull @.str.1, i32 noundef 237, ptr noundef %3701, ptr noundef %3703, ptr noundef %3705, i32 noundef %3706) #11
  call void @exit(i32 noundef 1) #12
  unreachable

3708:                                             ; preds = %3679
  %3709 = load i32, ptr @test_count, align 4, !tbaa !5
  %3710 = add nsw i32 %3709, 1
  store i32 %3710, ptr @test_count, align 4, !tbaa !5
  %3711 = call i32 @s2n_is_sig_scheme_valid_for_auth(ptr noundef nonnull %3627, ptr noundef nonnull @s2n_rsa_pss_rsae_sha256) #9
  %3712 = icmp eq i32 %3711, -1
  br i1 %3712, label %3713, label %3735

3713:                                             ; preds = %3708
  %3714 = load i32, ptr %423, align 4, !tbaa !5
  %3715 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3716 = call i32 @s2n_print_stacktrace(ptr noundef %3715) #9
  %3717 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3718 = trunc nuw i8 %3717 to i1
  br i1 %3718, label %3719, label %3723

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

3723:                                             ; preds = %3719, %3713
  br label %3724

3724:                                             ; preds = %3719, %3723
  %.str.5.sink2656 = phi ptr [ @.str.5, %3723 ], [ @.str.2, %3719 ]
  store i32 %3714, ptr %423, align 4, !tbaa !5
  %3725 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3726 = load i32, ptr @test_count, align 4, !tbaa !5
  %3727 = load i32, ptr %369, align 4, !tbaa !5
  %3728 = call ptr @s2n_strerror(i32 noundef %3727, ptr noundef nonnull @.str.4) #9
  %3729 = load i32, ptr %369, align 4, !tbaa !5
  %3730 = call ptr @s2n_strerror_debug(i32 noundef %3729, ptr noundef nonnull @.str.4) #9
  %3731 = load i32, ptr %423, align 4, !tbaa !5
  %3732 = call ptr @strerror(i32 noundef %3731) #9
  %3733 = load i32, ptr %423, align 4, !tbaa !5
  %3734 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3725, ptr noundef nonnull %.str.5.sink2656, i32 noundef %3726, ptr noundef nonnull @.str.55, ptr noundef nonnull @.str.1, i32 noundef 238, ptr noundef %3728, ptr noundef %3730, ptr noundef %3732, i32 noundef %3733) #11
  call void @exit(i32 noundef 1) #12
  unreachable

3735:                                             ; preds = %3708
  %3736 = load i32, ptr @test_count, align 4, !tbaa !5
  %3737 = add nsw i32 %3736, 1
  store i32 %3737, ptr @test_count, align 4, !tbaa !5
  %3738 = call i32 @s2n_connection_set_config(ptr noundef nonnull %3627, ptr noundef %215) #9
  %3739 = icmp eq i32 %3738, -1
  br i1 %3739, label %3740, label %3762

3740:                                             ; preds = %3735
  %3741 = load i32, ptr %423, align 4, !tbaa !5
  %3742 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3743 = call i32 @s2n_print_stacktrace(ptr noundef %3742) #9
  %3744 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3745 = trunc nuw i8 %3744 to i1
  br i1 %3745, label %3746, label %3750

3746:                                             ; preds = %3740
  %3747 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3748 = call i32 @fileno(ptr noundef %3747) #9
  %3749 = call i32 @isatty(i32 noundef %3748) #9
  %.not1306 = icmp eq i32 %3749, 0
  br i1 %.not1306, label %3750, label %3751

3750:                                             ; preds = %3746, %3740
  br label %3751

3751:                                             ; preds = %3746, %3750
  %.str.5.sink2665 = phi ptr [ @.str.5, %3750 ], [ @.str.2, %3746 ]
  store i32 %3741, ptr %423, align 4, !tbaa !5
  %3752 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3753 = load i32, ptr @test_count, align 4, !tbaa !5
  %3754 = load i32, ptr %369, align 4, !tbaa !5
  %3755 = call ptr @s2n_strerror(i32 noundef %3754, ptr noundef nonnull @.str.4) #9
  %3756 = load i32, ptr %369, align 4, !tbaa !5
  %3757 = call ptr @s2n_strerror_debug(i32 noundef %3756, ptr noundef nonnull @.str.4) #9
  %3758 = load i32, ptr %423, align 4, !tbaa !5
  %3759 = call ptr @strerror(i32 noundef %3758) #9
  %3760 = load i32, ptr %423, align 4, !tbaa !5
  %3761 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3752, ptr noundef nonnull %.str.5.sink2665, i32 noundef %3753, ptr noundef nonnull @.str.56, ptr noundef nonnull @.str.1, i32 noundef 241, ptr noundef %3755, ptr noundef %3757, ptr noundef %3759, i32 noundef %3760) #11
  call void @exit(i32 noundef 1) #12
  unreachable

3762:                                             ; preds = %3735
  %3763 = load ptr, ptr %3680, align 8, !tbaa !15
  store ptr @s2n_dhe_rsa_with_3des_ede_cbc_sha, ptr %3763, align 8, !tbaa !42
  %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_is_sig_scheme_valid_for_auth(ptr noundef nonnull %3627, ptr noundef nonnull @s2n_ecdsa_sha384) #9
  %3767 = icmp eq i32 %3766, -1
  br i1 %3767, label %3768, label %3790

3768:                                             ; preds = %3762
  %3769 = load i32, ptr %423, align 4, !tbaa !5
  %3770 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3771 = call i32 @s2n_print_stacktrace(ptr noundef %3770) #9
  %3772 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3773 = trunc nuw i8 %3772 to i1
  br i1 %3773, label %3774, label %3778

3774:                                             ; preds = %3768
  %3775 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3776 = call i32 @fileno(ptr noundef %3775) #9
  %3777 = call i32 @isatty(i32 noundef %3776) #9
  %.not1305 = icmp eq i32 %3777, 0
  br i1 %.not1305, label %3778, label %3779

3778:                                             ; preds = %3774, %3768
  br label %3779

3779:                                             ; preds = %3774, %3778
  %.str.5.sink2674 = phi ptr [ @.str.5, %3778 ], [ @.str.2, %3774 ]
  store i32 %3769, ptr %423, align 4, !tbaa !5
  %3780 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3781 = load i32, ptr @test_count, align 4, !tbaa !5
  %3782 = load i32, ptr %369, align 4, !tbaa !5
  %3783 = call ptr @s2n_strerror(i32 noundef %3782, ptr noundef nonnull @.str.4) #9
  %3784 = load i32, ptr %369, align 4, !tbaa !5
  %3785 = call ptr @s2n_strerror_debug(i32 noundef %3784, ptr noundef nonnull @.str.4) #9
  %3786 = load i32, ptr %423, align 4, !tbaa !5
  %3787 = call ptr @strerror(i32 noundef %3786) #9
  %3788 = load i32, ptr %423, align 4, !tbaa !5
  %3789 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3780, ptr noundef nonnull %.str.5.sink2674, i32 noundef %3781, ptr noundef nonnull @.str.57, ptr noundef nonnull @.str.1, i32 noundef 243, ptr noundef %3783, ptr noundef %3785, ptr noundef %3787, i32 noundef %3788) #11
  call void @exit(i32 noundef 1) #12
  unreachable

3790:                                             ; preds = %3762
  %3791 = load i32, ptr @test_count, align 4, !tbaa !5
  %3792 = add nsw i32 %3791, 1
  store i32 %3792, ptr @test_count, align 4, !tbaa !5
  %3793 = call i32 @s2n_connection_free(ptr noundef nonnull %3627) #9
  %3794 = icmp eq i32 %3793, -1
  br i1 %3794, label %3795, label %3817

3795:                                             ; preds = %3790
  %3796 = load i32, ptr %423, align 4, !tbaa !5
  %3797 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3798 = call i32 @s2n_print_stacktrace(ptr noundef %3797) #9
  %3799 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3800 = trunc nuw i8 %3799 to i1
  br i1 %3800, label %3801, label %3805

3801:                                             ; preds = %3795
  %3802 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3803 = call i32 @fileno(ptr noundef %3802) #9
  %3804 = call i32 @isatty(i32 noundef %3803) #9
  %.not1304 = icmp eq i32 %3804, 0
  br i1 %.not1304, label %3805, label %3806

3805:                                             ; preds = %3801, %3795
  br label %3806

3806:                                             ; preds = %3801, %3805
  %.str.5.sink2683 = phi ptr [ @.str.5, %3805 ], [ @.str.2, %3801 ]
  store i32 %3796, ptr %423, align 4, !tbaa !5
  %3807 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3808 = load i32, ptr @test_count, align 4, !tbaa !5
  %3809 = load i32, ptr %369, align 4, !tbaa !5
  %3810 = call ptr @s2n_strerror(i32 noundef %3809, ptr noundef nonnull @.str.4) #9
  %3811 = load i32, ptr %369, align 4, !tbaa !5
  %3812 = call ptr @s2n_strerror_debug(i32 noundef %3811, ptr noundef nonnull @.str.4) #9
  %3813 = load i32, ptr %423, align 4, !tbaa !5
  %3814 = call ptr @strerror(i32 noundef %3813) #9
  %3815 = load i32, ptr %423, align 4, !tbaa !5
  %3816 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3807, ptr noundef nonnull %.str.5.sink2683, i32 noundef %3808, ptr noundef nonnull @.str.58, ptr noundef nonnull @.str.1, i32 noundef 245, ptr noundef %3810, ptr noundef %3812, ptr noundef %3814, i32 noundef %3815) #11
  call void @exit(i32 noundef 1) #12
  unreachable

3817:                                             ; preds = %3790
  %3818 = load i32, ptr @test_count, align 4, !tbaa !5
  %3819 = add nsw i32 %3818, 1
  store i32 %3819, ptr @test_count, align 4, !tbaa !5
  %3820 = call i32 @s2n_connection_set_config(ptr noundef nonnull %1228, ptr noundef %246) #9
  %3821 = icmp eq i32 %3820, -1
  br i1 %3821, label %3822, label %3844

3822:                                             ; preds = %3817
  %3823 = load i32, ptr %423, align 4, !tbaa !5
  %3824 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3825 = call i32 @s2n_print_stacktrace(ptr noundef %3824) #9
  %3826 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3827 = trunc nuw i8 %3826 to i1
  br i1 %3827, label %3828, label %3832

3828:                                             ; preds = %3822
  %3829 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3830 = call i32 @fileno(ptr noundef %3829) #9
  %3831 = call i32 @isatty(i32 noundef %3830) #9
  %.not1303 = icmp eq i32 %3831, 0
  br i1 %.not1303, label %3832, label %3833

3832:                                             ; preds = %3828, %3822
  br label %3833

3833:                                             ; preds = %3828, %3832
  %.str.5.sink2692 = phi ptr [ @.str.5, %3832 ], [ @.str.2, %3828 ]
  store i32 %3823, ptr %423, align 4, !tbaa !5
  %3834 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3835 = load i32, ptr @test_count, align 4, !tbaa !5
  %3836 = load i32, ptr %369, align 4, !tbaa !5
  %3837 = call ptr @s2n_strerror(i32 noundef %3836, ptr noundef nonnull @.str.4) #9
  %3838 = load i32, ptr %369, align 4, !tbaa !5
  %3839 = call ptr @s2n_strerror_debug(i32 noundef %3838, ptr noundef nonnull @.str.4) #9
  %3840 = load i32, ptr %423, align 4, !tbaa !5
  %3841 = call ptr @strerror(i32 noundef %3840) #9
  %3842 = load i32, ptr %423, align 4, !tbaa !5
  %3843 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3834, ptr noundef nonnull %.str.5.sink2692, i32 noundef %3835, ptr noundef nonnull @.str.30, ptr noundef nonnull @.str.1, i32 noundef 250, ptr noundef %3837, ptr noundef %3839, ptr noundef %3841, i32 noundef %3842) #11
  call void @exit(i32 noundef 1) #12
  unreachable

3844:                                             ; preds = %3817
  %3845 = load ptr, ptr %1229, align 8, !tbaa !15
  store ptr @s2n_dhe_rsa_with_3des_ede_cbc_sha, ptr %3845, align 8, !tbaa !42
  %3846 = load i32, ptr @test_count, align 4, !tbaa !5
  %3847 = add nsw i32 %3846, 1
  store i32 %3847, ptr @test_count, align 4, !tbaa !5
  %3848 = call i32 @s2n_is_sig_scheme_valid_for_auth(ptr noundef nonnull %1228, ptr noundef nonnull @s2n_rsa_pkcs1_md5_sha1) #9
  %3849 = icmp eq i32 %3848, -1
  br i1 %3849, label %3850, label %3872

3850:                                             ; preds = %3844
  %3851 = load i32, ptr %423, align 4, !tbaa !5
  %3852 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3853 = call i32 @s2n_print_stacktrace(ptr noundef %3852) #9
  %3854 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3855 = trunc nuw i8 %3854 to i1
  br i1 %3855, label %3856, label %3860

3856:                                             ; preds = %3850
  %3857 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3858 = call i32 @fileno(ptr noundef %3857) #9
  %3859 = call i32 @isatty(i32 noundef %3858) #9
  %.not1302 = icmp eq i32 %3859, 0
  br i1 %.not1302, label %3860, label %3861

3860:                                             ; preds = %3856, %3850
  br label %3861

3861:                                             ; preds = %3856, %3860
  %.str.5.sink2701 = phi ptr [ @.str.5, %3860 ], [ @.str.2, %3856 ]
  store i32 %3851, ptr %423, align 4, !tbaa !5
  %3862 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3863 = load i32, ptr @test_count, align 4, !tbaa !5
  %3864 = load i32, ptr %369, align 4, !tbaa !5
  %3865 = call ptr @s2n_strerror(i32 noundef %3864, ptr noundef nonnull @.str.4) #9
  %3866 = load i32, ptr %369, align 4, !tbaa !5
  %3867 = call ptr @s2n_strerror_debug(i32 noundef %3866, ptr noundef nonnull @.str.4) #9
  %3868 = load i32, ptr %423, align 4, !tbaa !5
  %3869 = call ptr @strerror(i32 noundef %3868) #9
  %3870 = load i32, ptr %423, align 4, !tbaa !5
  %3871 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3862, ptr noundef nonnull %.str.5.sink2701, i32 noundef %3863, ptr noundef nonnull @.str.36, ptr noundef nonnull @.str.1, i32 noundef 254, ptr noundef %3865, ptr noundef %3867, ptr noundef %3869, i32 noundef %3870) #11
  call void @exit(i32 noundef 1) #12
  unreachable

3872:                                             ; preds = %3844
  %3873 = call zeroext i1 (...) @s2n_is_rsa_pss_certs_supported() #9
  %3874 = load i32, ptr @test_count, align 4, !tbaa !5
  %3875 = add nsw i32 %3874, 1
  store i32 %3875, ptr @test_count, align 4, !tbaa !5
  %3876 = call i32 @s2n_is_sig_scheme_valid_for_auth(ptr noundef nonnull %1228, ptr noundef nonnull @s2n_rsa_pss_pss_sha256) #9
  %3877 = icmp eq i32 %3876, -1
  br i1 %3873, label %3878, label %3901

3878:                                             ; preds = %3872
  br i1 %3877, label %3879, label %3978

3879:                                             ; preds = %3878
  %3880 = load i32, ptr %423, align 4, !tbaa !5
  %3881 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3882 = call i32 @s2n_print_stacktrace(ptr noundef %3881) #9
  %3883 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3884 = trunc nuw i8 %3883 to i1
  br i1 %3884, label %3885, label %3889

3885:                                             ; preds = %3879
  %3886 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3887 = call i32 @fileno(ptr noundef %3886) #9
  %3888 = call i32 @isatty(i32 noundef %3887) #9
  %.not1301 = icmp eq i32 %3888, 0
  br i1 %.not1301, label %3889, label %3890

3889:                                             ; preds = %3885, %3879
  br label %3890

3890:                                             ; preds = %3885, %3889
  %.str.5.sink2710 = phi ptr [ @.str.5, %3889 ], [ @.str.2, %3885 ]
  store i32 %3880, ptr %423, align 4, !tbaa !5
  %3891 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3892 = load i32, ptr @test_count, align 4, !tbaa !5
  %3893 = load i32, ptr %369, align 4, !tbaa !5
  %3894 = call ptr @s2n_strerror(i32 noundef %3893, ptr noundef nonnull @.str.4) #9
  %3895 = load i32, ptr %369, align 4, !tbaa !5
  %3896 = call ptr @s2n_strerror_debug(i32 noundef %3895, ptr noundef nonnull @.str.4) #9
  %3897 = load i32, ptr %423, align 4, !tbaa !5
  %3898 = call ptr @strerror(i32 noundef %3897) #9
  %3899 = load i32, ptr %423, align 4, !tbaa !5
  %3900 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3891, ptr noundef nonnull %.str.5.sink2710, i32 noundef %3892, ptr noundef nonnull @.str.38, ptr noundef nonnull @.str.1, i32 noundef 255, ptr noundef %3894, ptr noundef %3896, ptr noundef %3898, i32 noundef %3899) #11
  call void @exit(i32 noundef 1) #12
  unreachable

3901:                                             ; preds = %3872
  br i1 %3877, label %3924, label %3902

3902:                                             ; preds = %3901
  %3903 = load i32, ptr %423, align 4, !tbaa !5
  %3904 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3905 = call i32 @s2n_print_stacktrace(ptr noundef %3904) #9
  %3906 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3907 = trunc nuw i8 %3906 to i1
  br i1 %3907, label %3908, label %3912

3908:                                             ; preds = %3902
  %3909 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3910 = call i32 @fileno(ptr noundef %3909) #9
  %3911 = call i32 @isatty(i32 noundef %3910) #9
  %.not1050 = icmp eq i32 %3911, 0
  br i1 %.not1050, label %3912, label %3913

3912:                                             ; preds = %3908, %3902
  br label %3913

3913:                                             ; preds = %3908, %3912
  %.str.5.sink2719 = phi ptr [ @.str.5, %3912 ], [ @.str.2, %3908 ]
  store i32 %3903, ptr %423, align 4, !tbaa !5
  %3914 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3915 = load i32, ptr @test_count, align 4, !tbaa !5
  %3916 = load i32, ptr %369, align 4, !tbaa !5
  %3917 = call ptr @s2n_strerror(i32 noundef %3916, ptr noundef nonnull @.str.4) #9
  %3918 = load i32, ptr %369, align 4, !tbaa !5
  %3919 = call ptr @s2n_strerror_debug(i32 noundef %3918, ptr noundef nonnull @.str.4) #9
  %3920 = load i32, ptr %423, align 4, !tbaa !5
  %3921 = call ptr @strerror(i32 noundef %3920) #9
  %3922 = load i32, ptr %423, align 4, !tbaa !5
  %3923 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3914, ptr noundef nonnull %.str.5.sink2719, i32 noundef %3915, ptr noundef nonnull @.str.33, ptr noundef nonnull @.str.1, i32 noundef 255, ptr noundef %3917, ptr noundef %3919, ptr noundef %3921, i32 noundef %3922) #11
  call void @exit(i32 noundef 1) #12
  unreachable

3924:                                             ; preds = %3901
  %3925 = load i32, ptr @test_count, align 4, !tbaa !5
  %3926 = add nsw i32 %3925, 1
  store i32 %3926, ptr @test_count, align 4, !tbaa !5
  %3927 = load i32, ptr %369, align 4, !tbaa !5
  %3928 = icmp eq i32 %3927, 0
  br i1 %3928, label %3929, label %3951

3929:                                             ; preds = %3924
  %3930 = load i32, ptr %423, align 4, !tbaa !5
  %3931 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3932 = call i32 @s2n_print_stacktrace(ptr noundef %3931) #9
  %3933 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3934 = trunc nuw i8 %3933 to i1
  br i1 %3934, label %3935, label %3939

3935:                                             ; preds = %3929
  %3936 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3937 = call i32 @fileno(ptr noundef %3936) #9
  %3938 = call i32 @isatty(i32 noundef %3937) #9
  %.not1052 = icmp eq i32 %3938, 0
  br i1 %.not1052, label %3939, label %3940

3939:                                             ; preds = %3935, %3929
  br label %3940

3940:                                             ; preds = %3935, %3939
  %.str.5.sink2728 = phi ptr [ @.str.5, %3939 ], [ @.str.2, %3935 ]
  store i32 %3930, ptr %423, align 4, !tbaa !5
  %3941 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3942 = load i32, ptr @test_count, align 4, !tbaa !5
  %3943 = load i32, ptr %369, align 4, !tbaa !5
  %3944 = call ptr @s2n_strerror(i32 noundef %3943, ptr noundef nonnull @.str.4) #9
  %3945 = load i32, ptr %369, align 4, !tbaa !5
  %3946 = call ptr @s2n_strerror_debug(i32 noundef %3945, ptr noundef nonnull @.str.4) #9
  %3947 = load i32, ptr %423, align 4, !tbaa !5
  %3948 = call ptr @strerror(i32 noundef %3947) #9
  %3949 = load i32, ptr %423, align 4, !tbaa !5
  %3950 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3941, ptr noundef nonnull %.str.5.sink2728, i32 noundef %3942, ptr noundef nonnull @.str.21, ptr noundef nonnull @.str.1, i32 noundef 255, ptr noundef %3944, ptr noundef %3946, ptr noundef %3948, i32 noundef %3949) #11
  call void @exit(i32 noundef 1) #12
  unreachable

3951:                                             ; preds = %3924
  %3952 = add nsw i32 %3925, 2
  store i32 %3952, ptr @test_count, align 4, !tbaa !5
  %3953 = call ptr @s2n_strerror_debug(i32 noundef %3927, ptr noundef nonnull @.str.4) #9
  %3954 = icmp eq ptr %3953, null
  br i1 %3954, label %3955, label %3977

3955:                                             ; preds = %3951
  %3956 = load i32, ptr %423, align 4, !tbaa !5
  %3957 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3958 = call i32 @s2n_print_stacktrace(ptr noundef %3957) #9
  %3959 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3960 = trunc nuw i8 %3959 to i1
  br i1 %3960, label %3961, label %3965

3961:                                             ; preds = %3955
  %3962 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3963 = call i32 @fileno(ptr noundef %3962) #9
  %3964 = call i32 @isatty(i32 noundef %3963) #9
  %.not1051 = icmp eq i32 %3964, 0
  br i1 %.not1051, label %3965, label %3966

3965:                                             ; preds = %3961, %3955
  br label %3966

3966:                                             ; preds = %3961, %3965
  %.str.5.sink2737 = phi ptr [ @.str.5, %3965 ], [ @.str.2, %3961 ]
  store i32 %3956, ptr %423, align 4, !tbaa !5
  %3967 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3968 = load i32, ptr @test_count, align 4, !tbaa !5
  %3969 = load i32, ptr %369, align 4, !tbaa !5
  %3970 = call ptr @s2n_strerror(i32 noundef %3969, ptr noundef nonnull @.str.4) #9
  %3971 = load i32, ptr %369, align 4, !tbaa !5
  %3972 = call ptr @s2n_strerror_debug(i32 noundef %3971, ptr noundef nonnull @.str.4) #9
  %3973 = load i32, ptr %423, align 4, !tbaa !5
  %3974 = call ptr @strerror(i32 noundef %3973) #9
  %3975 = load i32, ptr %423, align 4, !tbaa !5
  %3976 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3967, ptr noundef nonnull %.str.5.sink2737, i32 noundef %3968, ptr noundef nonnull @.str.22, ptr noundef nonnull @.str.1, i32 noundef 255, ptr noundef %3970, ptr noundef %3972, ptr noundef %3974, i32 noundef %3975) #11
  call void @exit(i32 noundef 1) #12
  unreachable

3977:                                             ; preds = %3951
  store i32 0, ptr %369, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #9
  store i32 0, ptr %423, align 4, !tbaa !5
  br label %3978

3978:                                             ; preds = %3977, %3878
  %3979 = load i32, ptr @test_count, align 4, !tbaa !5
  %3980 = add nsw i32 %3979, 1
  store i32 %3980, ptr @test_count, align 4, !tbaa !5
  %3981 = call i32 @s2n_is_sig_scheme_valid_for_auth(ptr noundef nonnull %1228, ptr noundef nonnull @s2n_rsa_pss_rsae_sha256) #9
  %3982 = icmp eq i32 %3981, -1
  br i1 %3982, label %3983, label %4005

3983:                                             ; preds = %3978
  %3984 = load i32, ptr %423, align 4, !tbaa !5
  %3985 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3986 = call i32 @s2n_print_stacktrace(ptr noundef %3985) #9
  %3987 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3988 = trunc nuw i8 %3987 to i1
  br i1 %3988, label %3989, label %3993

3989:                                             ; preds = %3983
  %3990 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3991 = call i32 @fileno(ptr noundef %3990) #9
  %3992 = call i32 @isatty(i32 noundef %3991) #9
  %.not1300 = icmp eq i32 %3992, 0
  br i1 %.not1300, label %3993, label %3994

3993:                                             ; preds = %3989, %3983
  br label %3994

3994:                                             ; preds = %3989, %3993
  %.str.5.sink2746 = phi ptr [ @.str.5, %3993 ], [ @.str.2, %3989 ]
  store i32 %3984, ptr %423, align 4, !tbaa !5
  %3995 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3996 = load i32, ptr @test_count, align 4, !tbaa !5
  %3997 = load i32, ptr %369, align 4, !tbaa !5
  %3998 = call ptr @s2n_strerror(i32 noundef %3997, ptr noundef nonnull @.str.4) #9
  %3999 = load i32, ptr %369, align 4, !tbaa !5
  %4000 = call ptr @s2n_strerror_debug(i32 noundef %3999, ptr noundef nonnull @.str.4) #9
  %4001 = load i32, ptr %423, align 4, !tbaa !5
  %4002 = call ptr @strerror(i32 noundef %4001) #9
  %4003 = load i32, ptr %423, align 4, !tbaa !5
  %4004 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3995, ptr noundef nonnull %.str.5.sink2746, i32 noundef %3996, ptr noundef nonnull @.str.37, ptr noundef nonnull @.str.1, i32 noundef 256, ptr noundef %3998, ptr noundef %4000, ptr noundef %4002, i32 noundef %4003) #11
  call void @exit(i32 noundef 1) #12
  unreachable

4005:                                             ; preds = %3978
  %4006 = load ptr, ptr %1229, align 8, !tbaa !15
  store ptr @s2n_rsa_with_aes_128_cbc_sha, ptr %4006, align 8, !tbaa !42
  %4007 = load i32, ptr @test_count, align 4, !tbaa !5
  %4008 = add nsw i32 %4007, 1
  store i32 %4008, ptr @test_count, align 4, !tbaa !5
  %4009 = call i32 @s2n_is_sig_scheme_valid_for_auth(ptr noundef nonnull %1228, ptr noundef nonnull @s2n_rsa_pkcs1_md5_sha1) #9
  %4010 = icmp eq i32 %4009, -1
  br i1 %4010, label %4011, label %4033

4011:                                             ; preds = %4005
  %4012 = load i32, ptr %423, align 4, !tbaa !5
  %4013 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4014 = call i32 @s2n_print_stacktrace(ptr noundef %4013) #9
  %4015 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4016 = trunc nuw i8 %4015 to i1
  br i1 %4016, label %4017, label %4021

4017:                                             ; preds = %4011
  %4018 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4019 = call i32 @fileno(ptr noundef %4018) #9
  %4020 = call i32 @isatty(i32 noundef %4019) #9
  %.not1299 = icmp eq i32 %4020, 0
  br i1 %.not1299, label %4021, label %4022

4021:                                             ; preds = %4017, %4011
  br label %4022

4022:                                             ; preds = %4017, %4021
  %.str.5.sink2755 = phi ptr [ @.str.5, %4021 ], [ @.str.2, %4017 ]
  store i32 %4012, ptr %423, align 4, !tbaa !5
  %4023 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4024 = load i32, ptr @test_count, align 4, !tbaa !5
  %4025 = load i32, ptr %369, align 4, !tbaa !5
  %4026 = call ptr @s2n_strerror(i32 noundef %4025, ptr noundef nonnull @.str.4) #9
  %4027 = load i32, ptr %369, align 4, !tbaa !5
  %4028 = call ptr @s2n_strerror_debug(i32 noundef %4027, ptr noundef nonnull @.str.4) #9
  %4029 = load i32, ptr %423, align 4, !tbaa !5
  %4030 = call ptr @strerror(i32 noundef %4029) #9
  %4031 = load i32, ptr %423, align 4, !tbaa !5
  %4032 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4023, ptr noundef nonnull %.str.5.sink2755, i32 noundef %4024, ptr noundef nonnull @.str.36, ptr noundef nonnull @.str.1, i32 noundef 260, ptr noundef %4026, ptr noundef %4028, ptr noundef %4030, i32 noundef %4031) #11
  call void @exit(i32 noundef 1) #12
  unreachable

4033:                                             ; preds = %4005
  %4034 = load i32, ptr @test_count, align 4, !tbaa !5
  %4035 = add nsw i32 %4034, 1
  store i32 %4035, ptr @test_count, align 4, !tbaa !5
  %4036 = call i32 @s2n_is_sig_scheme_valid_for_auth(ptr noundef nonnull %1228, ptr noundef nonnull @s2n_rsa_pss_pss_sha256) #9
  %4037 = icmp eq i32 %4036, -1
  br i1 %4037, label %4060, label %4038

4038:                                             ; preds = %4033
  %4039 = load i32, ptr %423, align 4, !tbaa !5
  %4040 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4041 = call i32 @s2n_print_stacktrace(ptr noundef %4040) #9
  %4042 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4043 = trunc nuw i8 %4042 to i1
  br i1 %4043, label %4044, label %4048

4044:                                             ; preds = %4038
  %4045 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4046 = call i32 @fileno(ptr noundef %4045) #9
  %4047 = call i32 @isatty(i32 noundef %4046) #9
  %.not1053 = icmp eq i32 %4047, 0
  br i1 %.not1053, label %4048, label %4049

4048:                                             ; preds = %4044, %4038
  br label %4049

4049:                                             ; preds = %4044, %4048
  %.str.5.sink2764 = phi ptr [ @.str.5, %4048 ], [ @.str.2, %4044 ]
  store i32 %4039, ptr %423, align 4, !tbaa !5
  %4050 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4051 = load i32, ptr @test_count, align 4, !tbaa !5
  %4052 = load i32, ptr %369, align 4, !tbaa !5
  %4053 = call ptr @s2n_strerror(i32 noundef %4052, ptr noundef nonnull @.str.4) #9
  %4054 = load i32, ptr %369, align 4, !tbaa !5
  %4055 = call ptr @s2n_strerror_debug(i32 noundef %4054, ptr noundef nonnull @.str.4) #9
  %4056 = load i32, ptr %423, align 4, !tbaa !5
  %4057 = call ptr @strerror(i32 noundef %4056) #9
  %4058 = load i32, ptr %423, align 4, !tbaa !5
  %4059 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4050, ptr noundef nonnull %.str.5.sink2764, i32 noundef %4051, ptr noundef nonnull @.str.33, ptr noundef nonnull @.str.1, i32 noundef 261, ptr noundef %4053, ptr noundef %4055, ptr noundef %4057, i32 noundef %4058) #11
  call void @exit(i32 noundef 1) #12
  unreachable

4060:                                             ; preds = %4033
  %4061 = load i32, ptr @test_count, align 4, !tbaa !5
  %4062 = add nsw i32 %4061, 1
  store i32 %4062, ptr @test_count, align 4, !tbaa !5
  %4063 = load i32, ptr %369, align 4, !tbaa !5
  %4064 = icmp eq i32 %4063, 0
  br i1 %4064, label %4065, label %4087

4065:                                             ; preds = %4060
  %4066 = load i32, ptr %423, align 4, !tbaa !5
  %4067 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4068 = call i32 @s2n_print_stacktrace(ptr noundef %4067) #9
  %4069 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4070 = trunc nuw i8 %4069 to i1
  br i1 %4070, label %4071, label %4075

4071:                                             ; preds = %4065
  %4072 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4073 = call i32 @fileno(ptr noundef %4072) #9
  %4074 = call i32 @isatty(i32 noundef %4073) #9
  %.not1298 = icmp eq i32 %4074, 0
  br i1 %.not1298, label %4075, label %4076

4075:                                             ; preds = %4071, %4065
  br label %4076

4076:                                             ; preds = %4071, %4075
  %.str.5.sink2773 = phi ptr [ @.str.5, %4075 ], [ @.str.2, %4071 ]
  store i32 %4066, ptr %423, align 4, !tbaa !5
  %4077 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4078 = load i32, ptr @test_count, align 4, !tbaa !5
  %4079 = load i32, ptr %369, align 4, !tbaa !5
  %4080 = call ptr @s2n_strerror(i32 noundef %4079, ptr noundef nonnull @.str.4) #9
  %4081 = load i32, ptr %369, align 4, !tbaa !5
  %4082 = call ptr @s2n_strerror_debug(i32 noundef %4081, ptr noundef nonnull @.str.4) #9
  %4083 = load i32, ptr %423, align 4, !tbaa !5
  %4084 = call ptr @strerror(i32 noundef %4083) #9
  %4085 = load i32, ptr %423, align 4, !tbaa !5
  %4086 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4077, ptr noundef nonnull %.str.5.sink2773, i32 noundef %4078, ptr noundef nonnull @.str.21, ptr noundef nonnull @.str.1, i32 noundef 261, ptr noundef %4080, ptr noundef %4082, ptr noundef %4084, i32 noundef %4085) #11
  call void @exit(i32 noundef 1) #12
  unreachable

4087:                                             ; preds = %4060
  %4088 = add nsw i32 %4061, 2
  store i32 %4088, ptr @test_count, align 4, !tbaa !5
  %4089 = call ptr @s2n_strerror_debug(i32 noundef %4063, ptr noundef nonnull @.str.4) #9
  %4090 = icmp eq ptr %4089, null
  br i1 %4090, label %4091, label %4113

4091:                                             ; preds = %4087
  %4092 = load i32, ptr %423, align 4, !tbaa !5
  %4093 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4094 = call i32 @s2n_print_stacktrace(ptr noundef %4093) #9
  %4095 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4096 = trunc nuw i8 %4095 to i1
  br i1 %4096, label %4097, label %4101

4097:                                             ; preds = %4091
  %4098 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4099 = call i32 @fileno(ptr noundef %4098) #9
  %4100 = call i32 @isatty(i32 noundef %4099) #9
  %.not1297 = icmp eq i32 %4100, 0
  br i1 %.not1297, label %4101, label %4102

4101:                                             ; preds = %4097, %4091
  br label %4102

4102:                                             ; preds = %4097, %4101
  %.str.5.sink2782 = phi ptr [ @.str.5, %4101 ], [ @.str.2, %4097 ]
  store i32 %4092, ptr %423, align 4, !tbaa !5
  %4103 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4104 = load i32, ptr @test_count, align 4, !tbaa !5
  %4105 = load i32, ptr %369, align 4, !tbaa !5
  %4106 = call ptr @s2n_strerror(i32 noundef %4105, ptr noundef nonnull @.str.4) #9
  %4107 = load i32, ptr %369, align 4, !tbaa !5
  %4108 = call ptr @s2n_strerror_debug(i32 noundef %4107, ptr noundef nonnull @.str.4) #9
  %4109 = load i32, ptr %423, align 4, !tbaa !5
  %4110 = call ptr @strerror(i32 noundef %4109) #9
  %4111 = load i32, ptr %423, align 4, !tbaa !5
  %4112 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4103, ptr noundef nonnull %.str.5.sink2782, i32 noundef %4104, ptr noundef nonnull @.str.22, ptr noundef nonnull @.str.1, i32 noundef 261, ptr noundef %4106, ptr noundef %4108, ptr noundef %4110, i32 noundef %4111) #11
  call void @exit(i32 noundef 1) #12
  unreachable

4113:                                             ; preds = %4087
  store i32 0, ptr %369, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #9
  store i32 0, ptr %423, align 4, !tbaa !5
  %4114 = load i32, ptr @test_count, align 4, !tbaa !5
  %4115 = add nsw i32 %4114, 1
  store i32 %4115, ptr @test_count, align 4, !tbaa !5
  %4116 = call i32 @s2n_is_sig_scheme_valid_for_auth(ptr noundef nonnull %1228, ptr noundef nonnull @s2n_rsa_pss_rsae_sha256) #9
  %4117 = icmp eq i32 %4116, -1
  br i1 %4117, label %4118, label %4140

4118:                                             ; preds = %4113
  %4119 = load i32, ptr %423, align 4, !tbaa !5
  %4120 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4121 = call i32 @s2n_print_stacktrace(ptr noundef %4120) #9
  %4122 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4123 = trunc nuw i8 %4122 to i1
  br i1 %4123, label %4124, label %4128

4124:                                             ; preds = %4118
  %4125 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4126 = call i32 @fileno(ptr noundef %4125) #9
  %4127 = call i32 @isatty(i32 noundef %4126) #9
  %.not1296 = icmp eq i32 %4127, 0
  br i1 %.not1296, label %4128, label %4129

4128:                                             ; preds = %4124, %4118
  br label %4129

4129:                                             ; preds = %4124, %4128
  %.str.5.sink2791 = phi ptr [ @.str.5, %4128 ], [ @.str.2, %4124 ]
  store i32 %4119, ptr %423, align 4, !tbaa !5
  %4130 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4131 = load i32, ptr @test_count, align 4, !tbaa !5
  %4132 = load i32, ptr %369, align 4, !tbaa !5
  %4133 = call ptr @s2n_strerror(i32 noundef %4132, ptr noundef nonnull @.str.4) #9
  %4134 = load i32, ptr %369, align 4, !tbaa !5
  %4135 = call ptr @s2n_strerror_debug(i32 noundef %4134, ptr noundef nonnull @.str.4) #9
  %4136 = load i32, ptr %423, align 4, !tbaa !5
  %4137 = call ptr @strerror(i32 noundef %4136) #9
  %4138 = load i32, ptr %423, align 4, !tbaa !5
  %4139 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4130, ptr noundef nonnull %.str.5.sink2791, i32 noundef %4131, ptr noundef nonnull @.str.37, ptr noundef nonnull @.str.1, i32 noundef 262, ptr noundef %4133, ptr noundef %4135, ptr noundef %4137, i32 noundef %4138) #11
  call void @exit(i32 noundef 1) #12
  unreachable

4140:                                             ; preds = %4113
  %4141 = load ptr, ptr %1229, align 8, !tbaa !15
  store ptr @s2n_tls13_aes_128_gcm_sha256, ptr %4141, align 8, !tbaa !42
  %4142 = load i32, ptr @test_count, align 4, !tbaa !5
  %4143 = add nsw i32 %4142, 1
  store i32 %4143, ptr @test_count, align 4, !tbaa !5
  %4144 = call i32 @s2n_is_sig_scheme_valid_for_auth(ptr noundef nonnull %1228, ptr noundef nonnull @s2n_rsa_pkcs1_md5_sha1) #9
  %4145 = icmp eq i32 %4144, -1
  br i1 %4145, label %4146, label %4168

4146:                                             ; preds = %4140
  %4147 = load i32, ptr %423, align 4, !tbaa !5
  %4148 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4149 = call i32 @s2n_print_stacktrace(ptr noundef %4148) #9
  %4150 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4151 = trunc nuw i8 %4150 to i1
  br i1 %4151, label %4152, label %4156

4152:                                             ; preds = %4146
  %4153 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4154 = call i32 @fileno(ptr noundef %4153) #9
  %4155 = call i32 @isatty(i32 noundef %4154) #9
  %.not1295 = icmp eq i32 %4155, 0
  br i1 %.not1295, label %4156, label %4157

4156:                                             ; preds = %4152, %4146
  br label %4157

4157:                                             ; preds = %4152, %4156
  %.str.5.sink2800 = phi ptr [ @.str.5, %4156 ], [ @.str.2, %4152 ]
  store i32 %4147, ptr %423, align 4, !tbaa !5
  %4158 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4159 = load i32, ptr @test_count, align 4, !tbaa !5
  %4160 = load i32, ptr %369, align 4, !tbaa !5
  %4161 = call ptr @s2n_strerror(i32 noundef %4160, ptr noundef nonnull @.str.4) #9
  %4162 = load i32, ptr %369, align 4, !tbaa !5
  %4163 = call ptr @s2n_strerror_debug(i32 noundef %4162, ptr noundef nonnull @.str.4) #9
  %4164 = load i32, ptr %423, align 4, !tbaa !5
  %4165 = call ptr @strerror(i32 noundef %4164) #9
  %4166 = load i32, ptr %423, align 4, !tbaa !5
  %4167 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4158, ptr noundef nonnull %.str.5.sink2800, i32 noundef %4159, ptr noundef nonnull @.str.36, ptr noundef nonnull @.str.1, i32 noundef 266, ptr noundef %4161, ptr noundef %4163, ptr noundef %4165, i32 noundef %4166) #11
  call void @exit(i32 noundef 1) #12
  unreachable

4168:                                             ; preds = %4140
  %4169 = call zeroext i1 (...) @s2n_is_rsa_pss_certs_supported() #9
  %4170 = load i32, ptr @test_count, align 4, !tbaa !5
  %4171 = add nsw i32 %4170, 1
  store i32 %4171, ptr @test_count, align 4, !tbaa !5
  %4172 = call i32 @s2n_is_sig_scheme_valid_for_auth(ptr noundef nonnull %1228, ptr noundef nonnull @s2n_rsa_pss_pss_sha256) #9
  %4173 = icmp eq i32 %4172, -1
  br i1 %4169, label %4174, label %4197

4174:                                             ; preds = %4168
  br i1 %4173, label %4175, label %4274

4175:                                             ; preds = %4174
  %4176 = load i32, ptr %423, align 4, !tbaa !5
  %4177 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4178 = call i32 @s2n_print_stacktrace(ptr noundef %4177) #9
  %4179 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4180 = trunc nuw i8 %4179 to i1
  br i1 %4180, label %4181, label %4185

4181:                                             ; preds = %4175
  %4182 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4183 = call i32 @fileno(ptr noundef %4182) #9
  %4184 = call i32 @isatty(i32 noundef %4183) #9
  %.not1294 = icmp eq i32 %4184, 0
  br i1 %.not1294, label %4185, label %4186

4185:                                             ; preds = %4181, %4175
  br label %4186

4186:                                             ; preds = %4181, %4185
  %.str.5.sink2809 = phi ptr [ @.str.5, %4185 ], [ @.str.2, %4181 ]
  store i32 %4176, ptr %423, align 4, !tbaa !5
  %4187 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4188 = load i32, ptr @test_count, align 4, !tbaa !5
  %4189 = load i32, ptr %369, align 4, !tbaa !5
  %4190 = call ptr @s2n_strerror(i32 noundef %4189, ptr noundef nonnull @.str.4) #9
  %4191 = load i32, ptr %369, align 4, !tbaa !5
  %4192 = call ptr @s2n_strerror_debug(i32 noundef %4191, ptr noundef nonnull @.str.4) #9
  %4193 = load i32, ptr %423, align 4, !tbaa !5
  %4194 = call ptr @strerror(i32 noundef %4193) #9
  %4195 = load i32, ptr %423, align 4, !tbaa !5
  %4196 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4187, ptr noundef nonnull %.str.5.sink2809, i32 noundef %4188, ptr noundef nonnull @.str.38, ptr noundef nonnull @.str.1, i32 noundef 267, ptr noundef %4190, ptr noundef %4192, ptr noundef %4194, i32 noundef %4195) #11
  call void @exit(i32 noundef 1) #12
  unreachable

4197:                                             ; preds = %4168
  br i1 %4173, label %4220, label %4198

4198:                                             ; preds = %4197
  %4199 = load i32, ptr %423, align 4, !tbaa !5
  %4200 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4201 = call i32 @s2n_print_stacktrace(ptr noundef %4200) #9
  %4202 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4203 = trunc nuw i8 %4202 to i1
  br i1 %4203, label %4204, label %4208

4204:                                             ; preds = %4198
  %4205 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4206 = call i32 @fileno(ptr noundef %4205) #9
  %4207 = call i32 @isatty(i32 noundef %4206) #9
  %.not1054 = icmp eq i32 %4207, 0
  br i1 %.not1054, label %4208, label %4209

4208:                                             ; preds = %4204, %4198
  br label %4209

4209:                                             ; preds = %4204, %4208
  %.str.5.sink2818 = phi ptr [ @.str.5, %4208 ], [ @.str.2, %4204 ]
  store i32 %4199, ptr %423, align 4, !tbaa !5
  %4210 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4211 = load i32, ptr @test_count, align 4, !tbaa !5
  %4212 = load i32, ptr %369, align 4, !tbaa !5
  %4213 = call ptr @s2n_strerror(i32 noundef %4212, ptr noundef nonnull @.str.4) #9
  %4214 = load i32, ptr %369, align 4, !tbaa !5
  %4215 = call ptr @s2n_strerror_debug(i32 noundef %4214, ptr noundef nonnull @.str.4) #9
  %4216 = load i32, ptr %423, align 4, !tbaa !5
  %4217 = call ptr @strerror(i32 noundef %4216) #9
  %4218 = load i32, ptr %423, align 4, !tbaa !5
  %4219 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4210, ptr noundef nonnull %.str.5.sink2818, i32 noundef %4211, ptr noundef nonnull @.str.33, ptr noundef nonnull @.str.1, i32 noundef 267, ptr noundef %4213, ptr noundef %4215, ptr noundef %4217, i32 noundef %4218) #11
  call void @exit(i32 noundef 1) #12
  unreachable

4220:                                             ; preds = %4197
  %4221 = load i32, ptr @test_count, align 4, !tbaa !5
  %4222 = add nsw i32 %4221, 1
  store i32 %4222, ptr @test_count, align 4, !tbaa !5
  %4223 = load i32, ptr %369, align 4, !tbaa !5
  %4224 = icmp eq i32 %4223, 0
  br i1 %4224, label %4225, label %4247

4225:                                             ; preds = %4220
  %4226 = load i32, ptr %423, align 4, !tbaa !5
  %4227 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4228 = call i32 @s2n_print_stacktrace(ptr noundef %4227) #9
  %4229 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4230 = trunc nuw i8 %4229 to i1
  br i1 %4230, label %4231, label %4235

4231:                                             ; preds = %4225
  %4232 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4233 = call i32 @fileno(ptr noundef %4232) #9
  %4234 = call i32 @isatty(i32 noundef %4233) #9
  %.not1056 = icmp eq i32 %4234, 0
  br i1 %.not1056, label %4235, label %4236

4235:                                             ; preds = %4231, %4225
  br label %4236

4236:                                             ; preds = %4231, %4235
  %.str.5.sink2827 = phi ptr [ @.str.5, %4235 ], [ @.str.2, %4231 ]
  store i32 %4226, ptr %423, align 4, !tbaa !5
  %4237 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4238 = load i32, ptr @test_count, align 4, !tbaa !5
  %4239 = load i32, ptr %369, align 4, !tbaa !5
  %4240 = call ptr @s2n_strerror(i32 noundef %4239, ptr noundef nonnull @.str.4) #9
  %4241 = load i32, ptr %369, align 4, !tbaa !5
  %4242 = call ptr @s2n_strerror_debug(i32 noundef %4241, ptr noundef nonnull @.str.4) #9
  %4243 = load i32, ptr %423, align 4, !tbaa !5
  %4244 = call ptr @strerror(i32 noundef %4243) #9
  %4245 = load i32, ptr %423, align 4, !tbaa !5
  %4246 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4237, ptr noundef nonnull %.str.5.sink2827, i32 noundef %4238, ptr noundef nonnull @.str.21, ptr noundef nonnull @.str.1, i32 noundef 267, ptr noundef %4240, ptr noundef %4242, ptr noundef %4244, i32 noundef %4245) #11
  call void @exit(i32 noundef 1) #12
  unreachable

4247:                                             ; preds = %4220
  %4248 = add nsw i32 %4221, 2
  store i32 %4248, ptr @test_count, align 4, !tbaa !5
  %4249 = call ptr @s2n_strerror_debug(i32 noundef %4223, ptr noundef nonnull @.str.4) #9
  %4250 = icmp eq ptr %4249, null
  br i1 %4250, label %4251, label %4273

4251:                                             ; preds = %4247
  %4252 = load i32, ptr %423, align 4, !tbaa !5
  %4253 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4254 = call i32 @s2n_print_stacktrace(ptr noundef %4253) #9
  %4255 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4256 = trunc nuw i8 %4255 to i1
  br i1 %4256, label %4257, label %4261

4257:                                             ; preds = %4251
  %4258 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4259 = call i32 @fileno(ptr noundef %4258) #9
  %4260 = call i32 @isatty(i32 noundef %4259) #9
  %.not1055 = icmp eq i32 %4260, 0
  br i1 %.not1055, label %4261, label %4262

4261:                                             ; preds = %4257, %4251
  br label %4262

4262:                                             ; preds = %4257, %4261
  %.str.5.sink2836 = phi ptr [ @.str.5, %4261 ], [ @.str.2, %4257 ]
  store i32 %4252, ptr %423, align 4, !tbaa !5
  %4263 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4264 = load i32, ptr @test_count, align 4, !tbaa !5
  %4265 = load i32, ptr %369, align 4, !tbaa !5
  %4266 = call ptr @s2n_strerror(i32 noundef %4265, ptr noundef nonnull @.str.4) #9
  %4267 = load i32, ptr %369, align 4, !tbaa !5
  %4268 = call ptr @s2n_strerror_debug(i32 noundef %4267, ptr noundef nonnull @.str.4) #9
  %4269 = load i32, ptr %423, align 4, !tbaa !5
  %4270 = call ptr @strerror(i32 noundef %4269) #9
  %4271 = load i32, ptr %423, align 4, !tbaa !5
  %4272 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4263, ptr noundef nonnull %.str.5.sink2836, i32 noundef %4264, ptr noundef nonnull @.str.22, ptr noundef nonnull @.str.1, i32 noundef 267, ptr noundef %4266, ptr noundef %4268, ptr noundef %4270, i32 noundef %4271) #11
  call void @exit(i32 noundef 1) #12
  unreachable

4273:                                             ; preds = %4247
  store i32 0, ptr %369, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #9
  store i32 0, ptr %423, align 4, !tbaa !5
  br label %4274

4274:                                             ; preds = %4273, %4174
  %4275 = load i32, ptr @test_count, align 4, !tbaa !5
  %4276 = add nsw i32 %4275, 1
  store i32 %4276, ptr @test_count, align 4, !tbaa !5
  %4277 = call i32 @s2n_is_sig_scheme_valid_for_auth(ptr noundef nonnull %1228, ptr noundef nonnull @s2n_rsa_pss_rsae_sha256) #9
  %4278 = icmp eq i32 %4277, -1
  br i1 %4278, label %4279, label %4301

4279:                                             ; preds = %4274
  %4280 = load i32, ptr %423, align 4, !tbaa !5
  %4281 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4282 = call i32 @s2n_print_stacktrace(ptr noundef %4281) #9
  %4283 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4284 = trunc nuw i8 %4283 to i1
  br i1 %4284, label %4285, label %4289

4285:                                             ; preds = %4279
  %4286 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4287 = call i32 @fileno(ptr noundef %4286) #9
  %4288 = call i32 @isatty(i32 noundef %4287) #9
  %.not1293 = icmp eq i32 %4288, 0
  br i1 %.not1293, label %4289, label %4290

4289:                                             ; preds = %4285, %4279
  br label %4290

4290:                                             ; preds = %4285, %4289
  %.str.5.sink2845 = phi ptr [ @.str.5, %4289 ], [ @.str.2, %4285 ]
  store i32 %4280, ptr %423, align 4, !tbaa !5
  %4291 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4292 = load i32, ptr @test_count, align 4, !tbaa !5
  %4293 = load i32, ptr %369, align 4, !tbaa !5
  %4294 = call ptr @s2n_strerror(i32 noundef %4293, ptr noundef nonnull @.str.4) #9
  %4295 = load i32, ptr %369, align 4, !tbaa !5
  %4296 = call ptr @s2n_strerror_debug(i32 noundef %4295, ptr noundef nonnull @.str.4) #9
  %4297 = load i32, ptr %423, align 4, !tbaa !5
  %4298 = call ptr @strerror(i32 noundef %4297) #9
  %4299 = load i32, ptr %423, align 4, !tbaa !5
  %4300 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4291, ptr noundef nonnull %.str.5.sink2845, i32 noundef %4292, ptr noundef nonnull @.str.37, ptr noundef nonnull @.str.1, i32 noundef 268, ptr noundef %4294, ptr noundef %4296, ptr noundef %4298, i32 noundef %4299) #11
  call void @exit(i32 noundef 1) #12
  unreachable

4301:                                             ; preds = %4274
  %4302 = load i32, ptr @test_count, align 4, !tbaa !5
  %4303 = add nsw i32 %4302, 1
  store i32 %4303, ptr @test_count, align 4, !tbaa !5
  %4304 = call i32 @s2n_connection_free(ptr noundef nonnull %1228) #9
  %4305 = icmp eq i32 %4304, -1
  br i1 %4305, label %4306, label %4328

4306:                                             ; preds = %4301
  %4307 = load i32, ptr %423, align 4, !tbaa !5
  %4308 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4309 = call i32 @s2n_print_stacktrace(ptr noundef %4308) #9
  %4310 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4311 = trunc nuw i8 %4310 to i1
  br i1 %4311, label %4312, label %4316

4312:                                             ; preds = %4306
  %4313 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4314 = call i32 @fileno(ptr noundef %4313) #9
  %4315 = call i32 @isatty(i32 noundef %4314) #9
  %.not1292 = icmp eq i32 %4315, 0
  br i1 %.not1292, label %4316, label %4317

4316:                                             ; preds = %4312, %4306
  br label %4317

4317:                                             ; preds = %4312, %4316
  %.str.5.sink2854 = phi ptr [ @.str.5, %4316 ], [ @.str.2, %4312 ]
  store i32 %4307, ptr %423, align 4, !tbaa !5
  %4318 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4319 = load i32, ptr @test_count, align 4, !tbaa !5
  %4320 = load i32, ptr %369, align 4, !tbaa !5
  %4321 = call ptr @s2n_strerror(i32 noundef %4320, ptr noundef nonnull @.str.4) #9
  %4322 = load i32, ptr %369, align 4, !tbaa !5
  %4323 = call ptr @s2n_strerror_debug(i32 noundef %4322, ptr noundef nonnull @.str.4) #9
  %4324 = load i32, ptr %423, align 4, !tbaa !5
  %4325 = call ptr @strerror(i32 noundef %4324) #9
  %4326 = load i32, ptr %423, align 4, !tbaa !5
  %4327 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4318, ptr noundef nonnull %.str.5.sink2854, i32 noundef %4319, ptr noundef nonnull @.str.31, ptr noundef nonnull @.str.1, i32 noundef 271, ptr noundef %4321, ptr noundef %4323, ptr noundef %4325, i32 noundef %4326) #11
  call void @exit(i32 noundef 1) #12
  unreachable

4328:                                             ; preds = %4301
  %4329 = call ptr @s2n_connection_new(i32 noundef 1) #9
  %4330 = getelementptr inbounds i8, ptr %4329, i64 232
  %4331 = load ptr, ptr %4330, align 8, !tbaa !15
  store ptr @s2n_dhe_rsa_with_3des_ede_cbc_sha, ptr %4331, align 8, !tbaa !42
  %4332 = load i32, ptr @test_count, align 4, !tbaa !5
  %4333 = add nsw i32 %4332, 1
  store i32 %4333, ptr @test_count, align 4, !tbaa !5
  %4334 = call i32 @s2n_is_cert_type_valid_for_auth(ptr noundef %4329, i32 noundef 0) #9
  %4335 = icmp eq i32 %4334, -1
  br i1 %4335, label %4336, label %4358

4336:                                             ; preds = %4328
  %4337 = load i32, ptr %423, align 4, !tbaa !5
  %4338 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4339 = call i32 @s2n_print_stacktrace(ptr noundef %4338) #9
  %4340 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4341 = trunc nuw i8 %4340 to i1
  br i1 %4341, label %4342, label %4346

4342:                                             ; preds = %4336
  %4343 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4344 = call i32 @fileno(ptr noundef %4343) #9
  %4345 = call i32 @isatty(i32 noundef %4344) #9
  %.not1291 = icmp eq i32 %4345, 0
  br i1 %.not1291, label %4346, label %4347

4346:                                             ; preds = %4342, %4336
  br label %4347

4347:                                             ; preds = %4342, %4346
  %.str.5.sink2863 = phi ptr [ @.str.5, %4346 ], [ @.str.2, %4342 ]
  store i32 %4337, ptr %423, align 4, !tbaa !5
  %4348 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4349 = load i32, ptr @test_count, align 4, !tbaa !5
  %4350 = load i32, ptr %369, align 4, !tbaa !5
  %4351 = call ptr @s2n_strerror(i32 noundef %4350, ptr noundef nonnull @.str.4) #9
  %4352 = load i32, ptr %369, align 4, !tbaa !5
  %4353 = call ptr @s2n_strerror_debug(i32 noundef %4352, ptr noundef nonnull @.str.4) #9
  %4354 = load i32, ptr %423, align 4, !tbaa !5
  %4355 = call ptr @strerror(i32 noundef %4354) #9
  %4356 = load i32, ptr %423, align 4, !tbaa !5
  %4357 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4348, ptr noundef nonnull %.str.5.sink2863, i32 noundef %4349, ptr noundef nonnull @.str.59, ptr noundef nonnull @.str.1, i32 noundef 280, ptr noundef %4351, ptr noundef %4353, ptr noundef %4355, i32 noundef %4356) #11
  call void @exit(i32 noundef 1) #12
  unreachable

4358:                                             ; preds = %4328
  %4359 = load i32, ptr @test_count, align 4, !tbaa !5
  %4360 = add nsw i32 %4359, 1
  store i32 %4360, ptr @test_count, align 4, !tbaa !5
  %4361 = call i32 @s2n_is_cert_type_valid_for_auth(ptr noundef nonnull %4329, i32 noundef 2) #9
  %4362 = icmp eq i32 %4361, -1
  br i1 %4362, label %4363, label %4385

4363:                                             ; preds = %4358
  %4364 = load i32, ptr %423, align 4, !tbaa !5
  %4365 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4366 = call i32 @s2n_print_stacktrace(ptr noundef %4365) #9
  %4367 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4368 = trunc nuw i8 %4367 to i1
  br i1 %4368, label %4369, label %4373

4369:                                             ; preds = %4363
  %4370 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4371 = call i32 @fileno(ptr noundef %4370) #9
  %4372 = call i32 @isatty(i32 noundef %4371) #9
  %.not1290 = icmp eq i32 %4372, 0
  br i1 %.not1290, label %4373, label %4374

4373:                                             ; preds = %4369, %4363
  br label %4374

4374:                                             ; preds = %4369, %4373
  %.str.5.sink2872 = phi ptr [ @.str.5, %4373 ], [ @.str.2, %4369 ]
  store i32 %4364, ptr %423, align 4, !tbaa !5
  %4375 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4376 = load i32, ptr @test_count, align 4, !tbaa !5
  %4377 = load i32, ptr %369, align 4, !tbaa !5
  %4378 = call ptr @s2n_strerror(i32 noundef %4377, ptr noundef nonnull @.str.4) #9
  %4379 = load i32, ptr %369, align 4, !tbaa !5
  %4380 = call ptr @s2n_strerror_debug(i32 noundef %4379, ptr noundef nonnull @.str.4) #9
  %4381 = load i32, ptr %423, align 4, !tbaa !5
  %4382 = call ptr @strerror(i32 noundef %4381) #9
  %4383 = load i32, ptr %423, align 4, !tbaa !5
  %4384 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4375, ptr noundef nonnull %.str.5.sink2872, i32 noundef %4376, ptr noundef nonnull @.str.60, ptr noundef nonnull @.str.1, i32 noundef 281, ptr noundef %4378, ptr noundef %4380, ptr noundef %4382, i32 noundef %4383) #11
  call void @exit(i32 noundef 1) #12
  unreachable

4385:                                             ; preds = %4358
  %4386 = load i32, ptr @test_count, align 4, !tbaa !5
  %4387 = add nsw i32 %4386, 1
  store i32 %4387, ptr @test_count, align 4, !tbaa !5
  %4388 = call i32 @s2n_is_cert_type_valid_for_auth(ptr noundef nonnull %4329, i32 noundef 1) #9
  %4389 = icmp eq i32 %4388, -1
  br i1 %4389, label %4412, label %4390

4390:                                             ; preds = %4385
  %4391 = load i32, ptr %423, align 4, !tbaa !5
  %4392 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4393 = call i32 @s2n_print_stacktrace(ptr noundef %4392) #9
  %4394 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4395 = trunc nuw i8 %4394 to i1
  br i1 %4395, label %4396, label %4400

4396:                                             ; preds = %4390
  %4397 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4398 = call i32 @fileno(ptr noundef %4397) #9
  %4399 = call i32 @isatty(i32 noundef %4398) #9
  %.not1057 = icmp eq i32 %4399, 0
  br i1 %.not1057, label %4400, label %4401

4400:                                             ; preds = %4396, %4390
  br label %4401

4401:                                             ; preds = %4396, %4400
  %.str.5.sink2881 = phi ptr [ @.str.5, %4400 ], [ @.str.2, %4396 ]
  store i32 %4391, ptr %423, align 4, !tbaa !5
  %4402 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4403 = load i32, ptr @test_count, align 4, !tbaa !5
  %4404 = load i32, ptr %369, align 4, !tbaa !5
  %4405 = call ptr @s2n_strerror(i32 noundef %4404, ptr noundef nonnull @.str.4) #9
  %4406 = load i32, ptr %369, align 4, !tbaa !5
  %4407 = call ptr @s2n_strerror_debug(i32 noundef %4406, ptr noundef nonnull @.str.4) #9
  %4408 = load i32, ptr %423, align 4, !tbaa !5
  %4409 = call ptr @strerror(i32 noundef %4408) #9
  %4410 = load i32, ptr %423, align 4, !tbaa !5
  %4411 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4402, ptr noundef nonnull %.str.5.sink2881, i32 noundef %4403, ptr noundef nonnull @.str.61, ptr noundef nonnull @.str.1, i32 noundef 282, ptr noundef %4405, ptr noundef %4407, ptr noundef %4409, i32 noundef %4410) #11
  call void @exit(i32 noundef 1) #12
  unreachable

4412:                                             ; preds = %4385
  %4413 = load i32, ptr @test_count, align 4, !tbaa !5
  %4414 = add nsw i32 %4413, 1
  store i32 %4414, ptr @test_count, align 4, !tbaa !5
  %4415 = load i32, ptr %369, align 4, !tbaa !5
  %4416 = icmp eq i32 %4415, 0
  br i1 %4416, label %4417, label %4439

4417:                                             ; preds = %4412
  %4418 = load i32, ptr %423, align 4, !tbaa !5
  %4419 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4420 = call i32 @s2n_print_stacktrace(ptr noundef %4419) #9
  %4421 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4422 = trunc nuw i8 %4421 to i1
  br i1 %4422, label %4423, label %4427

4423:                                             ; preds = %4417
  %4424 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4425 = call i32 @fileno(ptr noundef %4424) #9
  %4426 = call i32 @isatty(i32 noundef %4425) #9
  %.not1289 = icmp eq i32 %4426, 0
  br i1 %.not1289, label %4427, label %4428

4427:                                             ; preds = %4423, %4417
  br label %4428

4428:                                             ; preds = %4423, %4427
  %.str.5.sink2890 = phi ptr [ @.str.5, %4427 ], [ @.str.2, %4423 ]
  store i32 %4418, ptr %423, align 4, !tbaa !5
  %4429 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4430 = load i32, ptr @test_count, align 4, !tbaa !5
  %4431 = load i32, ptr %369, align 4, !tbaa !5
  %4432 = call ptr @s2n_strerror(i32 noundef %4431, ptr noundef nonnull @.str.4) #9
  %4433 = load i32, ptr %369, align 4, !tbaa !5
  %4434 = call ptr @s2n_strerror_debug(i32 noundef %4433, ptr noundef nonnull @.str.4) #9
  %4435 = load i32, ptr %423, align 4, !tbaa !5
  %4436 = call ptr @strerror(i32 noundef %4435) #9
  %4437 = load i32, ptr %423, align 4, !tbaa !5
  %4438 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4429, ptr noundef nonnull %.str.5.sink2890, i32 noundef %4430, ptr noundef nonnull @.str.21, ptr noundef nonnull @.str.1, i32 noundef 282, ptr noundef %4432, ptr noundef %4434, ptr noundef %4436, i32 noundef %4437) #11
  call void @exit(i32 noundef 1) #12
  unreachable

4439:                                             ; preds = %4412
  %4440 = add nsw i32 %4413, 2
  store i32 %4440, ptr @test_count, align 4, !tbaa !5
  %4441 = call ptr @s2n_strerror_debug(i32 noundef %4415, ptr noundef nonnull @.str.4) #9
  %4442 = icmp eq ptr %4441, null
  br i1 %4442, label %4443, label %4465

4443:                                             ; preds = %4439
  %4444 = load i32, ptr %423, align 4, !tbaa !5
  %4445 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4446 = call i32 @s2n_print_stacktrace(ptr noundef %4445) #9
  %4447 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4448 = trunc nuw i8 %4447 to i1
  br i1 %4448, label %4449, label %4453

4449:                                             ; preds = %4443
  %4450 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4451 = call i32 @fileno(ptr noundef %4450) #9
  %4452 = call i32 @isatty(i32 noundef %4451) #9
  %.not1288 = icmp eq i32 %4452, 0
  br i1 %.not1288, label %4453, label %4454

4453:                                             ; preds = %4449, %4443
  br label %4454

4454:                                             ; preds = %4449, %4453
  %.str.5.sink2899 = phi ptr [ @.str.5, %4453 ], [ @.str.2, %4449 ]
  store i32 %4444, ptr %423, align 4, !tbaa !5
  %4455 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4456 = load i32, ptr @test_count, align 4, !tbaa !5
  %4457 = load i32, ptr %369, align 4, !tbaa !5
  %4458 = call ptr @s2n_strerror(i32 noundef %4457, ptr noundef nonnull @.str.4) #9
  %4459 = load i32, ptr %369, align 4, !tbaa !5
  %4460 = call ptr @s2n_strerror_debug(i32 noundef %4459, ptr noundef nonnull @.str.4) #9
  %4461 = load i32, ptr %423, align 4, !tbaa !5
  %4462 = call ptr @strerror(i32 noundef %4461) #9
  %4463 = load i32, ptr %423, align 4, !tbaa !5
  %4464 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4455, ptr noundef nonnull %.str.5.sink2899, i32 noundef %4456, ptr noundef nonnull @.str.22, ptr noundef nonnull @.str.1, i32 noundef 282, ptr noundef %4458, ptr noundef %4460, ptr noundef %4462, i32 noundef %4463) #11
  call void @exit(i32 noundef 1) #12
  unreachable

4465:                                             ; preds = %4439
  store i32 0, ptr %369, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #9
  store i32 0, ptr %423, align 4, !tbaa !5
  %4466 = load i32, ptr @test_count, align 4, !tbaa !5
  %4467 = add nsw i32 %4466, 1
  store i32 %4467, ptr @test_count, align 4, !tbaa !5
  %4468 = call i32 @s2n_is_cert_type_valid_for_auth(ptr noundef nonnull %4329, i32 noundef -1) #9
  %4469 = icmp eq i32 %4468, -1
  br i1 %4469, label %4492, label %4470

4470:                                             ; preds = %4465
  %4471 = load i32, ptr %423, align 4, !tbaa !5
  %4472 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4473 = call i32 @s2n_print_stacktrace(ptr noundef %4472) #9
  %4474 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4475 = trunc nuw i8 %4474 to i1
  br i1 %4475, label %4476, label %4480

4476:                                             ; preds = %4470
  %4477 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4478 = call i32 @fileno(ptr noundef %4477) #9
  %4479 = call i32 @isatty(i32 noundef %4478) #9
  %.not1058 = icmp eq i32 %4479, 0
  br i1 %.not1058, label %4480, label %4481

4480:                                             ; preds = %4476, %4470
  br label %4481

4481:                                             ; preds = %4476, %4480
  %.str.5.sink2908 = phi ptr [ @.str.5, %4480 ], [ @.str.2, %4476 ]
  store i32 %4471, ptr %423, align 4, !tbaa !5
  %4482 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4483 = load i32, ptr @test_count, align 4, !tbaa !5
  %4484 = load i32, ptr %369, align 4, !tbaa !5
  %4485 = call ptr @s2n_strerror(i32 noundef %4484, ptr noundef nonnull @.str.4) #9
  %4486 = load i32, ptr %369, align 4, !tbaa !5
  %4487 = call ptr @s2n_strerror_debug(i32 noundef %4486, ptr noundef nonnull @.str.4) #9
  %4488 = load i32, ptr %423, align 4, !tbaa !5
  %4489 = call ptr @strerror(i32 noundef %4488) #9
  %4490 = load i32, ptr %423, align 4, !tbaa !5
  %4491 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4482, ptr noundef nonnull %.str.5.sink2908, i32 noundef %4483, ptr noundef nonnull @.str.62, ptr noundef nonnull @.str.1, i32 noundef 283, ptr noundef %4485, ptr noundef %4487, ptr noundef %4489, i32 noundef %4490) #11
  call void @exit(i32 noundef 1) #12
  unreachable

4492:                                             ; preds = %4465
  %4493 = load i32, ptr @test_count, align 4, !tbaa !5
  %4494 = add nsw i32 %4493, 1
  store i32 %4494, ptr @test_count, align 4, !tbaa !5
  %4495 = load i32, ptr %369, align 4, !tbaa !5
  %4496 = icmp eq i32 %4495, 0
  br i1 %4496, label %4497, label %4519

4497:                                             ; preds = %4492
  %4498 = load i32, ptr %423, align 4, !tbaa !5
  %4499 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4500 = call i32 @s2n_print_stacktrace(ptr noundef %4499) #9
  %4501 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4502 = trunc nuw i8 %4501 to i1
  br i1 %4502, label %4503, label %4507

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

4507:                                             ; preds = %4503, %4497
  br label %4508

4508:                                             ; preds = %4503, %4507
  %.str.5.sink2917 = phi ptr [ @.str.5, %4507 ], [ @.str.2, %4503 ]
  store i32 %4498, ptr %423, align 4, !tbaa !5
  %4509 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4510 = load i32, ptr @test_count, align 4, !tbaa !5
  %4511 = load i32, ptr %369, align 4, !tbaa !5
  %4512 = call ptr @s2n_strerror(i32 noundef %4511, ptr noundef nonnull @.str.4) #9
  %4513 = load i32, ptr %369, align 4, !tbaa !5
  %4514 = call ptr @s2n_strerror_debug(i32 noundef %4513, ptr noundef nonnull @.str.4) #9
  %4515 = load i32, ptr %423, align 4, !tbaa !5
  %4516 = call ptr @strerror(i32 noundef %4515) #9
  %4517 = load i32, ptr %423, align 4, !tbaa !5
  %4518 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4509, ptr noundef nonnull %.str.5.sink2917, i32 noundef %4510, ptr noundef nonnull @.str.21, ptr noundef nonnull @.str.1, i32 noundef 283, ptr noundef %4512, ptr noundef %4514, ptr noundef %4516, i32 noundef %4517) #11
  call void @exit(i32 noundef 1) #12
  unreachable

4519:                                             ; preds = %4492
  %4520 = add nsw i32 %4493, 2
  store i32 %4520, ptr @test_count, align 4, !tbaa !5
  %4521 = call ptr @s2n_strerror_debug(i32 noundef %4495, ptr noundef nonnull @.str.4) #9
  %4522 = icmp eq ptr %4521, null
  br i1 %4522, label %4523, label %4545

4523:                                             ; preds = %4519
  %4524 = load i32, ptr %423, align 4, !tbaa !5
  %4525 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4526 = call i32 @s2n_print_stacktrace(ptr noundef %4525) #9
  %4527 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4528 = trunc nuw i8 %4527 to i1
  br i1 %4528, label %4529, label %4533

4529:                                             ; preds = %4523
  %4530 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4531 = call i32 @fileno(ptr noundef %4530) #9
  %4532 = call i32 @isatty(i32 noundef %4531) #9
  %.not1286 = icmp eq i32 %4532, 0
  br i1 %.not1286, label %4533, label %4534

4533:                                             ; preds = %4529, %4523
  br label %4534

4534:                                             ; preds = %4529, %4533
  %.str.5.sink2926 = phi ptr [ @.str.5, %4533 ], [ @.str.2, %4529 ]
  store i32 %4524, ptr %423, align 4, !tbaa !5
  %4535 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4536 = load i32, ptr @test_count, align 4, !tbaa !5
  %4537 = load i32, ptr %369, align 4, !tbaa !5
  %4538 = call ptr @s2n_strerror(i32 noundef %4537, ptr noundef nonnull @.str.4) #9
  %4539 = load i32, ptr %369, align 4, !tbaa !5
  %4540 = call ptr @s2n_strerror_debug(i32 noundef %4539, ptr noundef nonnull @.str.4) #9
  %4541 = load i32, ptr %423, align 4, !tbaa !5
  %4542 = call ptr @strerror(i32 noundef %4541) #9
  %4543 = load i32, ptr %423, align 4, !tbaa !5
  %4544 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4535, ptr noundef nonnull %.str.5.sink2926, i32 noundef %4536, ptr noundef nonnull @.str.22, ptr noundef nonnull @.str.1, i32 noundef 283, ptr noundef %4538, ptr noundef %4540, ptr noundef %4542, i32 noundef %4543) #11
  call void @exit(i32 noundef 1) #12
  unreachable

4545:                                             ; preds = %4519
  store i32 0, ptr %369, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #9
  store i32 0, ptr %423, align 4, !tbaa !5
  %4546 = load ptr, ptr %4330, align 8, !tbaa !15
  store ptr @s2n_ecdhe_ecdsa_with_aes_128_cbc_sha, ptr %4546, align 8, !tbaa !42
  %4547 = load i32, ptr @test_count, align 4, !tbaa !5
  %4548 = add nsw i32 %4547, 1
  store i32 %4548, ptr @test_count, align 4, !tbaa !5
  %4549 = call i32 @s2n_is_cert_type_valid_for_auth(ptr noundef nonnull %4329, i32 noundef 0) #9
  %4550 = icmp eq i32 %4549, -1
  br i1 %4550, label %4573, label %4551

4551:                                             ; preds = %4545
  %4552 = load i32, ptr %423, align 4, !tbaa !5
  %4553 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4554 = call i32 @s2n_print_stacktrace(ptr noundef %4553) #9
  %4555 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4556 = trunc nuw i8 %4555 to i1
  br i1 %4556, label %4557, label %4561

4557:                                             ; preds = %4551
  %4558 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4559 = call i32 @fileno(ptr noundef %4558) #9
  %4560 = call i32 @isatty(i32 noundef %4559) #9
  %.not1059 = icmp eq i32 %4560, 0
  br i1 %.not1059, label %4561, label %4562

4561:                                             ; preds = %4557, %4551
  br label %4562

4562:                                             ; preds = %4557, %4561
  %.str.5.sink2935 = phi ptr [ @.str.5, %4561 ], [ @.str.2, %4557 ]
  store i32 %4552, ptr %423, align 4, !tbaa !5
  %4563 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4564 = load i32, ptr @test_count, align 4, !tbaa !5
  %4565 = load i32, ptr %369, align 4, !tbaa !5
  %4566 = call ptr @s2n_strerror(i32 noundef %4565, ptr noundef nonnull @.str.4) #9
  %4567 = load i32, ptr %369, align 4, !tbaa !5
  %4568 = call ptr @s2n_strerror_debug(i32 noundef %4567, ptr noundef nonnull @.str.4) #9
  %4569 = load i32, ptr %423, align 4, !tbaa !5
  %4570 = call ptr @strerror(i32 noundef %4569) #9
  %4571 = load i32, ptr %423, align 4, !tbaa !5
  %4572 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4563, ptr noundef nonnull %.str.5.sink2935, i32 noundef %4564, ptr noundef nonnull @.str.63, ptr noundef nonnull @.str.1, i32 noundef 287, ptr noundef %4566, ptr noundef %4568, ptr noundef %4570, i32 noundef %4571) #11
  call void @exit(i32 noundef 1) #12
  unreachable

4573:                                             ; preds = %4545
  %4574 = load i32, ptr @test_count, align 4, !tbaa !5
  %4575 = add nsw i32 %4574, 1
  store i32 %4575, ptr @test_count, align 4, !tbaa !5
  %4576 = load i32, ptr %369, align 4, !tbaa !5
  %4577 = icmp eq i32 %4576, 0
  br i1 %4577, label %4578, label %4600

4578:                                             ; preds = %4573
  %4579 = load i32, ptr %423, align 4, !tbaa !5
  %4580 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4581 = call i32 @s2n_print_stacktrace(ptr noundef %4580) #9
  %4582 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4583 = trunc nuw i8 %4582 to i1
  br i1 %4583, label %4584, label %4588

4584:                                             ; preds = %4578
  %4585 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4586 = call i32 @fileno(ptr noundef %4585) #9
  %4587 = call i32 @isatty(i32 noundef %4586) #9
  %.not1285 = icmp eq i32 %4587, 0
  br i1 %.not1285, label %4588, label %4589

4588:                                             ; preds = %4584, %4578
  br label %4589

4589:                                             ; preds = %4584, %4588
  %.str.5.sink2944 = phi ptr [ @.str.5, %4588 ], [ @.str.2, %4584 ]
  store i32 %4579, ptr %423, align 4, !tbaa !5
  %4590 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4591 = load i32, ptr @test_count, align 4, !tbaa !5
  %4592 = load i32, ptr %369, align 4, !tbaa !5
  %4593 = call ptr @s2n_strerror(i32 noundef %4592, ptr noundef nonnull @.str.4) #9
  %4594 = load i32, ptr %369, align 4, !tbaa !5
  %4595 = call ptr @s2n_strerror_debug(i32 noundef %4594, ptr noundef nonnull @.str.4) #9
  %4596 = load i32, ptr %423, align 4, !tbaa !5
  %4597 = call ptr @strerror(i32 noundef %4596) #9
  %4598 = load i32, ptr %423, align 4, !tbaa !5
  %4599 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4590, ptr noundef nonnull %.str.5.sink2944, i32 noundef %4591, ptr noundef nonnull @.str.21, ptr noundef nonnull @.str.1, i32 noundef 287, ptr noundef %4593, ptr noundef %4595, ptr noundef %4597, i32 noundef %4598) #11
  call void @exit(i32 noundef 1) #12
  unreachable

4600:                                             ; preds = %4573
  %4601 = add nsw i32 %4574, 2
  store i32 %4601, ptr @test_count, align 4, !tbaa !5
  %4602 = call ptr @s2n_strerror_debug(i32 noundef %4576, ptr noundef nonnull @.str.4) #9
  %4603 = icmp eq ptr %4602, null
  br i1 %4603, label %4604, label %4626

4604:                                             ; preds = %4600
  %4605 = load i32, ptr %423, align 4, !tbaa !5
  %4606 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4607 = call i32 @s2n_print_stacktrace(ptr noundef %4606) #9
  %4608 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4609 = trunc nuw i8 %4608 to i1
  br i1 %4609, label %4610, label %4614

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

4614:                                             ; preds = %4610, %4604
  br label %4615

4615:                                             ; preds = %4610, %4614
  %.str.5.sink2953 = phi ptr [ @.str.5, %4614 ], [ @.str.2, %4610 ]
  store i32 %4605, ptr %423, align 4, !tbaa !5
  %4616 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4617 = load i32, ptr @test_count, align 4, !tbaa !5
  %4618 = load i32, ptr %369, align 4, !tbaa !5
  %4619 = call ptr @s2n_strerror(i32 noundef %4618, ptr noundef nonnull @.str.4) #9
  %4620 = load i32, ptr %369, align 4, !tbaa !5
  %4621 = call ptr @s2n_strerror_debug(i32 noundef %4620, ptr noundef nonnull @.str.4) #9
  %4622 = load i32, ptr %423, align 4, !tbaa !5
  %4623 = call ptr @strerror(i32 noundef %4622) #9
  %4624 = load i32, ptr %423, align 4, !tbaa !5
  %4625 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4616, ptr noundef nonnull %.str.5.sink2953, i32 noundef %4617, ptr noundef nonnull @.str.22, ptr noundef nonnull @.str.1, i32 noundef 287, ptr noundef %4619, ptr noundef %4621, ptr noundef %4623, i32 noundef %4624) #11
  call void @exit(i32 noundef 1) #12
  unreachable

4626:                                             ; preds = %4600
  store i32 0, ptr %369, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #9
  store i32 0, ptr %423, align 4, !tbaa !5
  %4627 = load i32, ptr @test_count, align 4, !tbaa !5
  %4628 = add nsw i32 %4627, 1
  store i32 %4628, ptr @test_count, align 4, !tbaa !5
  %4629 = call i32 @s2n_is_cert_type_valid_for_auth(ptr noundef nonnull %4329, i32 noundef 2) #9
  %4630 = icmp eq i32 %4629, -1
  br i1 %4630, label %4653, label %4631

4631:                                             ; preds = %4626
  %4632 = load i32, ptr %423, align 4, !tbaa !5
  %4633 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4634 = call i32 @s2n_print_stacktrace(ptr noundef %4633) #9
  %4635 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4636 = trunc nuw i8 %4635 to i1
  br i1 %4636, label %4637, label %4641

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

4641:                                             ; preds = %4637, %4631
  br label %4642

4642:                                             ; preds = %4637, %4641
  %.str.5.sink2962 = phi ptr [ @.str.5, %4641 ], [ @.str.2, %4637 ]
  store i32 %4632, ptr %423, align 4, !tbaa !5
  %4643 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4644 = load i32, ptr @test_count, align 4, !tbaa !5
  %4645 = load i32, ptr %369, align 4, !tbaa !5
  %4646 = call ptr @s2n_strerror(i32 noundef %4645, ptr noundef nonnull @.str.4) #9
  %4647 = load i32, ptr %369, align 4, !tbaa !5
  %4648 = call ptr @s2n_strerror_debug(i32 noundef %4647, ptr noundef nonnull @.str.4) #9
  %4649 = load i32, ptr %423, align 4, !tbaa !5
  %4650 = call ptr @strerror(i32 noundef %4649) #9
  %4651 = load i32, ptr %423, align 4, !tbaa !5
  %4652 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4643, ptr noundef nonnull %.str.5.sink2962, i32 noundef %4644, ptr noundef nonnull @.str.64, ptr noundef nonnull @.str.1, i32 noundef 288, ptr noundef %4646, ptr noundef %4648, ptr noundef %4650, i32 noundef %4651) #11
  call void @exit(i32 noundef 1) #12
  unreachable

4653:                                             ; preds = %4626
  %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 = load i32, ptr %369, align 4, !tbaa !5
  %4657 = icmp eq i32 %4656, 0
  br i1 %4657, label %4658, label %4680

4658:                                             ; preds = %4653
  %4659 = load i32, ptr %423, align 4, !tbaa !5
  %4660 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4661 = call i32 @s2n_print_stacktrace(ptr noundef %4660) #9
  %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 = %4658
  %4665 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4666 = call i32 @fileno(ptr noundef %4665) #9
  %4667 = call i32 @isatty(i32 noundef %4666) #9
  %.not1283 = icmp eq i32 %4667, 0
  br i1 %.not1283, label %4668, label %4669

4668:                                             ; preds = %4664, %4658
  br label %4669

4669:                                             ; preds = %4664, %4668
  %.str.5.sink2971 = phi ptr [ @.str.5, %4668 ], [ @.str.2, %4664 ]
  store i32 %4659, ptr %423, 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 %369, align 4, !tbaa !5
  %4673 = call ptr @s2n_strerror(i32 noundef %4672, ptr noundef nonnull @.str.4) #9
  %4674 = load i32, ptr %369, align 4, !tbaa !5
  %4675 = call ptr @s2n_strerror_debug(i32 noundef %4674, ptr noundef nonnull @.str.4) #9
  %4676 = load i32, ptr %423, align 4, !tbaa !5
  %4677 = call ptr @strerror(i32 noundef %4676) #9
  %4678 = load i32, ptr %423, align 4, !tbaa !5
  %4679 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4670, ptr noundef nonnull %.str.5.sink2971, i32 noundef %4671, ptr noundef nonnull @.str.21, ptr noundef nonnull @.str.1, i32 noundef 288, ptr noundef %4673, ptr noundef %4675, ptr noundef %4677, i32 noundef %4678) #11
  call void @exit(i32 noundef 1) #12
  unreachable

4680:                                             ; preds = %4653
  %4681 = add nsw i32 %4654, 2
  store i32 %4681, ptr @test_count, align 4, !tbaa !5
  %4682 = call ptr @s2n_strerror_debug(i32 noundef %4656, ptr noundef nonnull @.str.4) #9
  %4683 = icmp eq ptr %4682, null
  br i1 %4683, label %4684, label %4706

4684:                                             ; preds = %4680
  %4685 = load i32, ptr %423, align 4, !tbaa !5
  %4686 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4687 = call i32 @s2n_print_stacktrace(ptr noundef %4686) #9
  %4688 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4689 = trunc nuw i8 %4688 to i1
  br i1 %4689, label %4690, label %4694

4690:                                             ; preds = %4684
  %4691 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4692 = call i32 @fileno(ptr noundef %4691) #9
  %4693 = call i32 @isatty(i32 noundef %4692) #9
  %.not1282 = icmp eq i32 %4693, 0
  br i1 %.not1282, label %4694, label %4695

4694:                                             ; preds = %4690, %4684
  br label %4695

4695:                                             ; preds = %4690, %4694
  %.str.5.sink2980 = phi ptr [ @.str.5, %4694 ], [ @.str.2, %4690 ]
  store i32 %4685, ptr %423, align 4, !tbaa !5
  %4696 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4697 = load i32, ptr @test_count, align 4, !tbaa !5
  %4698 = load i32, ptr %369, align 4, !tbaa !5
  %4699 = call ptr @s2n_strerror(i32 noundef %4698, ptr noundef nonnull @.str.4) #9
  %4700 = load i32, ptr %369, align 4, !tbaa !5
  %4701 = call ptr @s2n_strerror_debug(i32 noundef %4700, ptr noundef nonnull @.str.4) #9
  %4702 = load i32, ptr %423, align 4, !tbaa !5
  %4703 = call ptr @strerror(i32 noundef %4702) #9
  %4704 = load i32, ptr %423, align 4, !tbaa !5
  %4705 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4696, ptr noundef nonnull %.str.5.sink2980, i32 noundef %4697, ptr noundef nonnull @.str.22, ptr noundef nonnull @.str.1, i32 noundef 288, ptr noundef %4699, ptr noundef %4701, ptr noundef %4703, i32 noundef %4704) #11
  call void @exit(i32 noundef 1) #12
  unreachable

4706:                                             ; preds = %4680
  store i32 0, ptr %369, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #9
  store i32 0, ptr %423, align 4, !tbaa !5
  %4707 = load i32, ptr @test_count, align 4, !tbaa !5
  %4708 = add nsw i32 %4707, 1
  store i32 %4708, ptr @test_count, align 4, !tbaa !5
  %4709 = call i32 @s2n_is_cert_type_valid_for_auth(ptr noundef nonnull %4329, i32 noundef 1) #9
  %4710 = icmp eq i32 %4709, -1
  br i1 %4710, label %4711, label %4733

4711:                                             ; preds = %4706
  %4712 = load i32, ptr %423, align 4, !tbaa !5
  %4713 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4714 = call i32 @s2n_print_stacktrace(ptr noundef %4713) #9
  %4715 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4716 = trunc nuw i8 %4715 to i1
  br i1 %4716, label %4717, label %4721

4717:                                             ; preds = %4711
  %4718 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4719 = call i32 @fileno(ptr noundef %4718) #9
  %4720 = call i32 @isatty(i32 noundef %4719) #9
  %.not1281 = icmp eq i32 %4720, 0
  br i1 %.not1281, label %4721, label %4722

4721:                                             ; preds = %4717, %4711
  br label %4722

4722:                                             ; preds = %4717, %4721
  %.str.5.sink2989 = phi ptr [ @.str.5, %4721 ], [ @.str.2, %4717 ]
  store i32 %4712, ptr %423, align 4, !tbaa !5
  %4723 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4724 = load i32, ptr @test_count, align 4, !tbaa !5
  %4725 = load i32, ptr %369, align 4, !tbaa !5
  %4726 = call ptr @s2n_strerror(i32 noundef %4725, ptr noundef nonnull @.str.4) #9
  %4727 = load i32, ptr %369, align 4, !tbaa !5
  %4728 = call ptr @s2n_strerror_debug(i32 noundef %4727, ptr noundef nonnull @.str.4) #9
  %4729 = load i32, ptr %423, align 4, !tbaa !5
  %4730 = call ptr @strerror(i32 noundef %4729) #9
  %4731 = load i32, ptr %423, align 4, !tbaa !5
  %4732 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4723, ptr noundef nonnull %.str.5.sink2989, i32 noundef %4724, ptr noundef nonnull @.str.65, ptr noundef nonnull @.str.1, i32 noundef 289, ptr noundef %4726, ptr noundef %4728, ptr noundef %4730, i32 noundef %4731) #11
  call void @exit(i32 noundef 1) #12
  unreachable

4733:                                             ; preds = %4706
  %4734 = load i32, ptr @test_count, align 4, !tbaa !5
  %4735 = add nsw i32 %4734, 1
  store i32 %4735, ptr @test_count, align 4, !tbaa !5
  %4736 = call i32 @s2n_is_cert_type_valid_for_auth(ptr noundef nonnull %4329, i32 noundef -1) #9
  %4737 = icmp eq i32 %4736, -1
  br i1 %4737, label %4760, label %4738

4738:                                             ; preds = %4733
  %4739 = load i32, ptr %423, align 4, !tbaa !5
  %4740 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4741 = call i32 @s2n_print_stacktrace(ptr noundef %4740) #9
  %4742 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4743 = trunc nuw i8 %4742 to i1
  br i1 %4743, label %4744, label %4748

4744:                                             ; preds = %4738
  %4745 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4746 = call i32 @fileno(ptr noundef %4745) #9
  %4747 = call i32 @isatty(i32 noundef %4746) #9
  %.not1061 = icmp eq i32 %4747, 0
  br i1 %.not1061, label %4748, label %4749

4748:                                             ; preds = %4744, %4738
  br label %4749

4749:                                             ; preds = %4744, %4748
  %.str.5.sink2998 = phi ptr [ @.str.5, %4748 ], [ @.str.2, %4744 ]
  store i32 %4739, ptr %423, align 4, !tbaa !5
  %4750 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4751 = load i32, ptr @test_count, align 4, !tbaa !5
  %4752 = load i32, ptr %369, align 4, !tbaa !5
  %4753 = call ptr @s2n_strerror(i32 noundef %4752, ptr noundef nonnull @.str.4) #9
  %4754 = load i32, ptr %369, align 4, !tbaa !5
  %4755 = call ptr @s2n_strerror_debug(i32 noundef %4754, ptr noundef nonnull @.str.4) #9
  %4756 = load i32, ptr %423, align 4, !tbaa !5
  %4757 = call ptr @strerror(i32 noundef %4756) #9
  %4758 = load i32, ptr %423, align 4, !tbaa !5
  %4759 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4750, ptr noundef nonnull %.str.5.sink2998, i32 noundef %4751, ptr noundef nonnull @.str.62, ptr noundef nonnull @.str.1, i32 noundef 290, ptr noundef %4753, ptr noundef %4755, ptr noundef %4757, i32 noundef %4758) #11
  call void @exit(i32 noundef 1) #12
  unreachable

4760:                                             ; preds = %4733
  %4761 = load i32, ptr @test_count, align 4, !tbaa !5
  %4762 = add nsw i32 %4761, 1
  store i32 %4762, ptr @test_count, align 4, !tbaa !5
  %4763 = load i32, ptr %369, align 4, !tbaa !5
  %4764 = icmp eq i32 %4763, 0
  br i1 %4764, label %4765, label %4787

4765:                                             ; preds = %4760
  %4766 = load i32, ptr %423, align 4, !tbaa !5
  %4767 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4768 = call i32 @s2n_print_stacktrace(ptr noundef %4767) #9
  %4769 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4770 = trunc nuw i8 %4769 to i1
  br i1 %4770, label %4771, label %4775

4771:                                             ; preds = %4765
  %4772 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4773 = call i32 @fileno(ptr noundef %4772) #9
  %4774 = call i32 @isatty(i32 noundef %4773) #9
  %.not1280 = icmp eq i32 %4774, 0
  br i1 %.not1280, label %4775, label %4776

4775:                                             ; preds = %4771, %4765
  br label %4776

4776:                                             ; preds = %4771, %4775
  %.str.5.sink3007 = phi ptr [ @.str.5, %4775 ], [ @.str.2, %4771 ]
  store i32 %4766, ptr %423, align 4, !tbaa !5
  %4777 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4778 = load i32, ptr @test_count, align 4, !tbaa !5
  %4779 = load i32, ptr %369, align 4, !tbaa !5
  %4780 = call ptr @s2n_strerror(i32 noundef %4779, ptr noundef nonnull @.str.4) #9
  %4781 = load i32, ptr %369, align 4, !tbaa !5
  %4782 = call ptr @s2n_strerror_debug(i32 noundef %4781, ptr noundef nonnull @.str.4) #9
  %4783 = load i32, ptr %423, align 4, !tbaa !5
  %4784 = call ptr @strerror(i32 noundef %4783) #9
  %4785 = load i32, ptr %423, align 4, !tbaa !5
  %4786 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4777, ptr noundef nonnull %.str.5.sink3007, i32 noundef %4778, ptr noundef nonnull @.str.21, ptr noundef nonnull @.str.1, i32 noundef 290, ptr noundef %4780, ptr noundef %4782, ptr noundef %4784, i32 noundef %4785) #11
  call void @exit(i32 noundef 1) #12
  unreachable

4787:                                             ; preds = %4760
  %4788 = add nsw i32 %4761, 2
  store i32 %4788, ptr @test_count, align 4, !tbaa !5
  %4789 = call ptr @s2n_strerror_debug(i32 noundef %4763, ptr noundef nonnull @.str.4) #9
  %4790 = icmp eq ptr %4789, null
  br i1 %4790, label %4791, label %4813

4791:                                             ; preds = %4787
  %4792 = load i32, ptr %423, align 4, !tbaa !5
  %4793 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4794 = call i32 @s2n_print_stacktrace(ptr noundef %4793) #9
  %4795 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4796 = trunc nuw i8 %4795 to i1
  br i1 %4796, label %4797, label %4801

4797:                                             ; preds = %4791
  %4798 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4799 = call i32 @fileno(ptr noundef %4798) #9
  %4800 = call i32 @isatty(i32 noundef %4799) #9
  %.not1279 = icmp eq i32 %4800, 0
  br i1 %.not1279, label %4801, label %4802

4801:                                             ; preds = %4797, %4791
  br label %4802

4802:                                             ; preds = %4797, %4801
  %.str.5.sink3016 = phi ptr [ @.str.5, %4801 ], [ @.str.2, %4797 ]
  store i32 %4792, ptr %423, align 4, !tbaa !5
  %4803 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4804 = load i32, ptr @test_count, align 4, !tbaa !5
  %4805 = load i32, ptr %369, align 4, !tbaa !5
  %4806 = call ptr @s2n_strerror(i32 noundef %4805, ptr noundef nonnull @.str.4) #9
  %4807 = load i32, ptr %369, align 4, !tbaa !5
  %4808 = call ptr @s2n_strerror_debug(i32 noundef %4807, ptr noundef nonnull @.str.4) #9
  %4809 = load i32, ptr %423, align 4, !tbaa !5
  %4810 = call ptr @strerror(i32 noundef %4809) #9
  %4811 = load i32, ptr %423, align 4, !tbaa !5
  %4812 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4803, ptr noundef nonnull %.str.5.sink3016, i32 noundef %4804, ptr noundef nonnull @.str.22, ptr noundef nonnull @.str.1, i32 noundef 290, ptr noundef %4806, ptr noundef %4808, ptr noundef %4810, i32 noundef %4811) #11
  call void @exit(i32 noundef 1) #12
  unreachable

4813:                                             ; preds = %4787
  store i32 0, ptr %369, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #9
  store i32 0, ptr %423, align 4, !tbaa !5
  %4814 = load ptr, ptr %4330, align 8, !tbaa !15
  store ptr @s2n_tls13_aes_128_gcm_sha256, ptr %4814, align 8, !tbaa !42
  %4815 = load i32, ptr @test_count, align 4, !tbaa !5
  %4816 = add nsw i32 %4815, 1
  store i32 %4816, ptr @test_count, align 4, !tbaa !5
  %4817 = call i32 @s2n_is_cert_type_valid_for_auth(ptr noundef nonnull %4329, i32 noundef 0) #9
  %4818 = icmp eq i32 %4817, -1
  br i1 %4818, label %4819, label %4841

4819:                                             ; preds = %4813
  %4820 = load i32, ptr %423, align 4, !tbaa !5
  %4821 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4822 = call i32 @s2n_print_stacktrace(ptr noundef %4821) #9
  %4823 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4824 = trunc nuw i8 %4823 to i1
  br i1 %4824, label %4825, label %4829

4825:                                             ; preds = %4819
  %4826 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4827 = call i32 @fileno(ptr noundef %4826) #9
  %4828 = call i32 @isatty(i32 noundef %4827) #9
  %.not1278 = icmp eq i32 %4828, 0
  br i1 %.not1278, label %4829, label %4830

4829:                                             ; preds = %4825, %4819
  br label %4830

4830:                                             ; preds = %4825, %4829
  %.str.5.sink3025 = phi ptr [ @.str.5, %4829 ], [ @.str.2, %4825 ]
  store i32 %4820, ptr %423, align 4, !tbaa !5
  %4831 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4832 = load i32, ptr @test_count, align 4, !tbaa !5
  %4833 = load i32, ptr %369, align 4, !tbaa !5
  %4834 = call ptr @s2n_strerror(i32 noundef %4833, ptr noundef nonnull @.str.4) #9
  %4835 = load i32, ptr %369, align 4, !tbaa !5
  %4836 = call ptr @s2n_strerror_debug(i32 noundef %4835, ptr noundef nonnull @.str.4) #9
  %4837 = load i32, ptr %423, align 4, !tbaa !5
  %4838 = call ptr @strerror(i32 noundef %4837) #9
  %4839 = load i32, ptr %423, align 4, !tbaa !5
  %4840 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4831, ptr noundef nonnull %.str.5.sink3025, i32 noundef %4832, ptr noundef nonnull @.str.59, ptr noundef nonnull @.str.1, i32 noundef 294, ptr noundef %4834, ptr noundef %4836, ptr noundef %4838, i32 noundef %4839) #11
  call void @exit(i32 noundef 1) #12
  unreachable

4841:                                             ; preds = %4813
  %4842 = load i32, ptr @test_count, align 4, !tbaa !5
  %4843 = add nsw i32 %4842, 1
  store i32 %4843, ptr @test_count, align 4, !tbaa !5
  %4844 = call i32 @s2n_is_cert_type_valid_for_auth(ptr noundef nonnull %4329, i32 noundef 2) #9
  %4845 = icmp eq i32 %4844, -1
  br i1 %4845, label %4846, label %4868

4846:                                             ; preds = %4841
  %4847 = load i32, ptr %423, align 4, !tbaa !5
  %4848 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4849 = call i32 @s2n_print_stacktrace(ptr noundef %4848) #9
  %4850 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4851 = trunc nuw i8 %4850 to i1
  br i1 %4851, label %4852, label %4856

4852:                                             ; preds = %4846
  %4853 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4854 = call i32 @fileno(ptr noundef %4853) #9
  %4855 = call i32 @isatty(i32 noundef %4854) #9
  %.not1277 = icmp eq i32 %4855, 0
  br i1 %.not1277, label %4856, label %4857

4856:                                             ; preds = %4852, %4846
  br label %4857

4857:                                             ; preds = %4852, %4856
  %.str.5.sink3034 = phi ptr [ @.str.5, %4856 ], [ @.str.2, %4852 ]
  store i32 %4847, ptr %423, align 4, !tbaa !5
  %4858 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4859 = load i32, ptr @test_count, align 4, !tbaa !5
  %4860 = load i32, ptr %369, align 4, !tbaa !5
  %4861 = call ptr @s2n_strerror(i32 noundef %4860, ptr noundef nonnull @.str.4) #9
  %4862 = load i32, ptr %369, align 4, !tbaa !5
  %4863 = call ptr @s2n_strerror_debug(i32 noundef %4862, ptr noundef nonnull @.str.4) #9
  %4864 = load i32, ptr %423, align 4, !tbaa !5
  %4865 = call ptr @strerror(i32 noundef %4864) #9
  %4866 = load i32, ptr %423, align 4, !tbaa !5
  %4867 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4858, ptr noundef nonnull %.str.5.sink3034, i32 noundef %4859, ptr noundef nonnull @.str.60, ptr noundef nonnull @.str.1, i32 noundef 295, ptr noundef %4861, ptr noundef %4863, ptr noundef %4865, i32 noundef %4866) #11
  call void @exit(i32 noundef 1) #12
  unreachable

4868:                                             ; preds = %4841
  %4869 = load i32, ptr @test_count, align 4, !tbaa !5
  %4870 = add nsw i32 %4869, 1
  store i32 %4870, ptr @test_count, align 4, !tbaa !5
  %4871 = call i32 @s2n_is_cert_type_valid_for_auth(ptr noundef nonnull %4329, i32 noundef 1) #9
  %4872 = icmp eq i32 %4871, -1
  br i1 %4872, label %4873, label %4895

4873:                                             ; preds = %4868
  %4874 = load i32, ptr %423, align 4, !tbaa !5
  %4875 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4876 = call i32 @s2n_print_stacktrace(ptr noundef %4875) #9
  %4877 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4878 = trunc nuw i8 %4877 to i1
  br i1 %4878, label %4879, label %4883

4879:                                             ; preds = %4873
  %4880 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4881 = call i32 @fileno(ptr noundef %4880) #9
  %4882 = call i32 @isatty(i32 noundef %4881) #9
  %.not1276 = icmp eq i32 %4882, 0
  br i1 %.not1276, label %4883, label %4884

4883:                                             ; preds = %4879, %4873
  br label %4884

4884:                                             ; preds = %4879, %4883
  %.str.5.sink3043 = phi ptr [ @.str.5, %4883 ], [ @.str.2, %4879 ]
  store i32 %4874, ptr %423, align 4, !tbaa !5
  %4885 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4886 = load i32, ptr @test_count, align 4, !tbaa !5
  %4887 = load i32, ptr %369, align 4, !tbaa !5
  %4888 = call ptr @s2n_strerror(i32 noundef %4887, ptr noundef nonnull @.str.4) #9
  %4889 = load i32, ptr %369, align 4, !tbaa !5
  %4890 = call ptr @s2n_strerror_debug(i32 noundef %4889, ptr noundef nonnull @.str.4) #9
  %4891 = load i32, ptr %423, align 4, !tbaa !5
  %4892 = call ptr @strerror(i32 noundef %4891) #9
  %4893 = load i32, ptr %423, align 4, !tbaa !5
  %4894 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4885, ptr noundef nonnull %.str.5.sink3043, i32 noundef %4886, ptr noundef nonnull @.str.65, ptr noundef nonnull @.str.1, i32 noundef 296, ptr noundef %4888, ptr noundef %4890, ptr noundef %4892, i32 noundef %4893) #11
  call void @exit(i32 noundef 1) #12
  unreachable

4895:                                             ; preds = %4868
  %4896 = load i32, ptr @test_count, align 4, !tbaa !5
  %4897 = add nsw i32 %4896, 1
  store i32 %4897, ptr @test_count, align 4, !tbaa !5
  %4898 = call i32 @s2n_is_cert_type_valid_for_auth(ptr noundef nonnull %4329, i32 noundef -1) #9
  %4899 = icmp eq i32 %4898, -1
  br i1 %4899, label %4922, label %4900

4900:                                             ; preds = %4895
  %4901 = load i32, ptr %423, align 4, !tbaa !5
  %4902 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4903 = call i32 @s2n_print_stacktrace(ptr noundef %4902) #9
  %4904 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4905 = trunc nuw i8 %4904 to i1
  br i1 %4905, label %4906, label %4910

4906:                                             ; preds = %4900
  %4907 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4908 = call i32 @fileno(ptr noundef %4907) #9
  %4909 = call i32 @isatty(i32 noundef %4908) #9
  %.not1062 = icmp eq i32 %4909, 0
  br i1 %.not1062, label %4910, label %4911

4910:                                             ; preds = %4906, %4900
  br label %4911

4911:                                             ; preds = %4906, %4910
  %.str.5.sink3052 = phi ptr [ @.str.5, %4910 ], [ @.str.2, %4906 ]
  store i32 %4901, ptr %423, align 4, !tbaa !5
  %4912 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4913 = load i32, ptr @test_count, align 4, !tbaa !5
  %4914 = load i32, ptr %369, align 4, !tbaa !5
  %4915 = call ptr @s2n_strerror(i32 noundef %4914, ptr noundef nonnull @.str.4) #9
  %4916 = load i32, ptr %369, align 4, !tbaa !5
  %4917 = call ptr @s2n_strerror_debug(i32 noundef %4916, ptr noundef nonnull @.str.4) #9
  %4918 = load i32, ptr %423, align 4, !tbaa !5
  %4919 = call ptr @strerror(i32 noundef %4918) #9
  %4920 = load i32, ptr %423, align 4, !tbaa !5
  %4921 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4912, ptr noundef nonnull %.str.5.sink3052, i32 noundef %4913, ptr noundef nonnull @.str.62, ptr noundef nonnull @.str.1, i32 noundef 297, ptr noundef %4915, ptr noundef %4917, ptr noundef %4919, i32 noundef %4920) #11
  call void @exit(i32 noundef 1) #12
  unreachable

4922:                                             ; preds = %4895
  %4923 = load i32, ptr @test_count, align 4, !tbaa !5
  %4924 = add nsw i32 %4923, 1
  store i32 %4924, ptr @test_count, align 4, !tbaa !5
  %4925 = load i32, ptr %369, align 4, !tbaa !5
  %4926 = icmp eq i32 %4925, 0
  br i1 %4926, label %4927, label %4949

4927:                                             ; preds = %4922
  %4928 = load i32, ptr %423, align 4, !tbaa !5
  %4929 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4930 = call i32 @s2n_print_stacktrace(ptr noundef %4929) #9
  %4931 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4932 = trunc nuw i8 %4931 to i1
  br i1 %4932, label %4933, label %4937

4933:                                             ; preds = %4927
  %4934 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4935 = call i32 @fileno(ptr noundef %4934) #9
  %4936 = call i32 @isatty(i32 noundef %4935) #9
  %.not1275 = icmp eq i32 %4936, 0
  br i1 %.not1275, label %4937, label %4938

4937:                                             ; preds = %4933, %4927
  br label %4938

4938:                                             ; preds = %4933, %4937
  %.str.5.sink3061 = phi ptr [ @.str.5, %4937 ], [ @.str.2, %4933 ]
  store i32 %4928, ptr %423, align 4, !tbaa !5
  %4939 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4940 = load i32, ptr @test_count, align 4, !tbaa !5
  %4941 = load i32, ptr %369, align 4, !tbaa !5
  %4942 = call ptr @s2n_strerror(i32 noundef %4941, ptr noundef nonnull @.str.4) #9
  %4943 = load i32, ptr %369, align 4, !tbaa !5
  %4944 = call ptr @s2n_strerror_debug(i32 noundef %4943, ptr noundef nonnull @.str.4) #9
  %4945 = load i32, ptr %423, align 4, !tbaa !5
  %4946 = call ptr @strerror(i32 noundef %4945) #9
  %4947 = load i32, ptr %423, align 4, !tbaa !5
  %4948 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4939, ptr noundef nonnull %.str.5.sink3061, i32 noundef %4940, ptr noundef nonnull @.str.21, ptr noundef nonnull @.str.1, i32 noundef 297, ptr noundef %4942, ptr noundef %4944, ptr noundef %4946, i32 noundef %4947) #11
  call void @exit(i32 noundef 1) #12
  unreachable

4949:                                             ; preds = %4922
  %4950 = add nsw i32 %4923, 2
  store i32 %4950, ptr @test_count, align 4, !tbaa !5
  %4951 = call ptr @s2n_strerror_debug(i32 noundef %4925, ptr noundef nonnull @.str.4) #9
  %4952 = icmp eq ptr %4951, null
  br i1 %4952, label %4953, label %4975

4953:                                             ; preds = %4949
  %4954 = load i32, ptr %423, align 4, !tbaa !5
  %4955 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4956 = call i32 @s2n_print_stacktrace(ptr noundef %4955) #9
  %4957 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4958 = trunc nuw i8 %4957 to i1
  br i1 %4958, label %4959, label %4963

4959:                                             ; preds = %4953
  %4960 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4961 = call i32 @fileno(ptr noundef %4960) #9
  %4962 = call i32 @isatty(i32 noundef %4961) #9
  %.not1274 = icmp eq i32 %4962, 0
  br i1 %.not1274, label %4963, label %4964

4963:                                             ; preds = %4959, %4953
  br label %4964

4964:                                             ; preds = %4959, %4963
  %.str.5.sink3070 = phi ptr [ @.str.5, %4963 ], [ @.str.2, %4959 ]
  store i32 %4954, ptr %423, align 4, !tbaa !5
  %4965 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4966 = load i32, ptr @test_count, align 4, !tbaa !5
  %4967 = load i32, ptr %369, align 4, !tbaa !5
  %4968 = call ptr @s2n_strerror(i32 noundef %4967, ptr noundef nonnull @.str.4) #9
  %4969 = load i32, ptr %369, align 4, !tbaa !5
  %4970 = call ptr @s2n_strerror_debug(i32 noundef %4969, ptr noundef nonnull @.str.4) #9
  %4971 = load i32, ptr %423, align 4, !tbaa !5
  %4972 = call ptr @strerror(i32 noundef %4971) #9
  %4973 = load i32, ptr %423, align 4, !tbaa !5
  %4974 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4965, ptr noundef nonnull %.str.5.sink3070, i32 noundef %4966, ptr noundef nonnull @.str.22, ptr noundef nonnull @.str.1, i32 noundef 297, ptr noundef %4968, ptr noundef %4970, ptr noundef %4972, i32 noundef %4973) #11
  call void @exit(i32 noundef 1) #12
  unreachable

4975:                                             ; preds = %4949
  store i32 0, ptr %369, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #9
  store i32 0, ptr %423, align 4, !tbaa !5
  %4976 = load i32, ptr @test_count, align 4, !tbaa !5
  %4977 = add nsw i32 %4976, 1
  store i32 %4977, ptr @test_count, align 4, !tbaa !5
  %4978 = call i32 @s2n_connection_free(ptr noundef nonnull %4329) #9
  %4979 = icmp eq i32 %4978, -1
  br i1 %4979, label %4980, label %5002

4980:                                             ; preds = %4975
  %4981 = load i32, ptr %423, align 4, !tbaa !5
  %4982 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4983 = call i32 @s2n_print_stacktrace(ptr noundef %4982) #9
  %4984 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4985 = trunc nuw i8 %4984 to i1
  br i1 %4985, label %4986, label %4990

4986:                                             ; preds = %4980
  %4987 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4988 = call i32 @fileno(ptr noundef %4987) #9
  %4989 = call i32 @isatty(i32 noundef %4988) #9
  %.not1273 = icmp eq i32 %4989, 0
  br i1 %.not1273, label %4990, label %4991

4990:                                             ; preds = %4986, %4980
  br label %4991

4991:                                             ; preds = %4986, %4990
  %.str.5.sink3079 = phi ptr [ @.str.5, %4990 ], [ @.str.2, %4986 ]
  store i32 %4981, ptr %423, align 4, !tbaa !5
  %4992 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4993 = load i32, ptr @test_count, align 4, !tbaa !5
  %4994 = load i32, ptr %369, align 4, !tbaa !5
  %4995 = call ptr @s2n_strerror(i32 noundef %4994, ptr noundef nonnull @.str.4) #9
  %4996 = load i32, ptr %369, align 4, !tbaa !5
  %4997 = call ptr @s2n_strerror_debug(i32 noundef %4996, ptr noundef nonnull @.str.4) #9
  %4998 = load i32, ptr %423, align 4, !tbaa !5
  %4999 = call ptr @strerror(i32 noundef %4998) #9
  %5000 = load i32, ptr %423, align 4, !tbaa !5
  %5001 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4992, ptr noundef nonnull %.str.5.sink3079, i32 noundef %4993, ptr noundef nonnull @.str.31, ptr noundef nonnull @.str.1, i32 noundef 299, ptr noundef %4995, ptr noundef %4997, ptr noundef %4999, i32 noundef %5000) #11
  call void @exit(i32 noundef 1) #12
  unreachable

5002:                                             ; preds = %4975
  %5003 = call ptr @s2n_connection_new(i32 noundef 0) #9
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %7) #9
  store ptr null, ptr %7, align 8, !tbaa !9
  %5004 = load i32, ptr @test_count, align 4, !tbaa !5
  %5005 = add nsw i32 %5004, 1
  store i32 %5005, ptr @test_count, align 4, !tbaa !5
  %5006 = call i32 @s2n_connection_set_config(ptr noundef %5003, ptr noundef %246) #9
  %5007 = icmp eq i32 %5006, -1
  br i1 %5007, label %5008, label %5030

5008:                                             ; preds = %5002
  %5009 = load i32, ptr %423, align 4, !tbaa !5
  %5010 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5011 = call i32 @s2n_print_stacktrace(ptr noundef %5010) #9
  %5012 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5013 = trunc nuw i8 %5012 to i1
  br i1 %5013, label %5014, label %5018

5014:                                             ; preds = %5008
  %5015 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5016 = call i32 @fileno(ptr noundef %5015) #9
  %5017 = call i32 @isatty(i32 noundef %5016) #9
  %.not1272 = icmp eq i32 %5017, 0
  br i1 %.not1272, label %5018, label %5019

5018:                                             ; preds = %5014, %5008
  br label %5019

5019:                                             ; preds = %5014, %5018
  %.str.5.sink3088 = phi ptr [ @.str.5, %5018 ], [ @.str.2, %5014 ]
  store i32 %5009, ptr %423, align 4, !tbaa !5
  %5020 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5021 = load i32, ptr @test_count, align 4, !tbaa !5
  %5022 = load i32, ptr %369, align 4, !tbaa !5
  %5023 = call ptr @s2n_strerror(i32 noundef %5022, ptr noundef nonnull @.str.4) #9
  %5024 = load i32, ptr %369, align 4, !tbaa !5
  %5025 = call ptr @s2n_strerror_debug(i32 noundef %5024, ptr noundef nonnull @.str.4) #9
  %5026 = load i32, ptr %423, align 4, !tbaa !5
  %5027 = call ptr @strerror(i32 noundef %5026) #9
  %5028 = load i32, ptr %423, align 4, !tbaa !5
  %5029 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5020, ptr noundef nonnull %.str.5.sink3088, i32 noundef %5021, ptr noundef nonnull @.str.30, ptr noundef nonnull @.str.1, i32 noundef 308, ptr noundef %5023, ptr noundef %5025, ptr noundef %5027, i32 noundef %5028) #11
  call void @exit(i32 noundef 1) #12
  unreachable

5030:                                             ; preds = %5002
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %8) #9
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %8, i8 0, i64 40, i1 false)
  %5031 = getelementptr inbounds i8, ptr %5003, i64 1528
  store ptr %8, ptr %5031, align 8, !tbaa !48
  %5032 = getelementptr inbounds i8, ptr %8, i64 20
  store i32 1, ptr %5032, align 4, !tbaa !49
  %5033 = load i32, ptr @test_count, align 4, !tbaa !5
  %5034 = add nsw i32 %5033, 1
  store i32 %5034, ptr @test_count, align 4, !tbaa !5
  %5035 = call i32 @s2n_select_certs_for_server_auth(ptr noundef %5003, ptr noundef nonnull %7) #9
  %5036 = icmp eq i32 %5035, -1
  br i1 %5036, label %5037, label %5059

5037:                                             ; preds = %5030
  %5038 = load i32, ptr %423, align 4, !tbaa !5
  %5039 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5040 = call i32 @s2n_print_stacktrace(ptr noundef %5039) #9
  %5041 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5042 = trunc nuw i8 %5041 to i1
  br i1 %5042, label %5043, label %5047

5043:                                             ; preds = %5037
  %5044 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5045 = call i32 @fileno(ptr noundef %5044) #9
  %5046 = call i32 @isatty(i32 noundef %5045) #9
  %.not1271 = icmp eq i32 %5046, 0
  br i1 %.not1271, label %5047, label %5048

5047:                                             ; preds = %5043, %5037
  br label %5048

5048:                                             ; preds = %5043, %5047
  %.str.5.sink3097 = phi ptr [ @.str.5, %5047 ], [ @.str.2, %5043 ]
  store i32 %5038, ptr %423, align 4, !tbaa !5
  %5049 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5050 = load i32, ptr @test_count, align 4, !tbaa !5
  %5051 = load i32, ptr %369, align 4, !tbaa !5
  %5052 = call ptr @s2n_strerror(i32 noundef %5051, ptr noundef nonnull @.str.4) #9
  %5053 = load i32, ptr %369, align 4, !tbaa !5
  %5054 = call ptr @s2n_strerror_debug(i32 noundef %5053, ptr noundef nonnull @.str.4) #9
  %5055 = load i32, ptr %423, align 4, !tbaa !5
  %5056 = call ptr @strerror(i32 noundef %5055) #9
  %5057 = load i32, ptr %423, align 4, !tbaa !5
  %5058 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5049, ptr noundef nonnull %.str.5.sink3097, i32 noundef %5050, ptr noundef nonnull @.str.66, ptr noundef nonnull @.str.1, i32 noundef 314, ptr noundef %5052, ptr noundef %5054, ptr noundef %5056, i32 noundef %5057) #11
  call void @exit(i32 noundef 1) #12
  unreachable

5059:                                             ; preds = %5030
  %5060 = load i32, ptr @test_count, align 4, !tbaa !5
  %5061 = add nsw i32 %5060, 1
  store i32 %5061, ptr @test_count, align 4, !tbaa !5
  %5062 = load ptr, ptr %7, align 8, !tbaa !9
  %5063 = load ptr, ptr %3, align 8, !tbaa !9
  %5064 = icmp eq ptr %5062, %5063
  br i1 %5064, label %5087, label %5065

5065:                                             ; preds = %5059
  %5066 = load i32, ptr %423, align 4, !tbaa !5
  %5067 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5068 = call i32 @s2n_print_stacktrace(ptr noundef %5067) #9
  %5069 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5070 = trunc nuw i8 %5069 to i1
  br i1 %5070, label %5071, label %5075

5071:                                             ; preds = %5065
  %5072 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5073 = call i32 @fileno(ptr noundef %5072) #9
  %5074 = call i32 @isatty(i32 noundef %5073) #9
  %.not1063 = icmp eq i32 %5074, 0
  br i1 %.not1063, label %5075, label %5076

5075:                                             ; preds = %5071, %5065
  br label %5076

5076:                                             ; preds = %5071, %5075
  %.str.5.sink3106 = phi ptr [ @.str.5, %5075 ], [ @.str.2, %5071 ]
  store i32 %5066, ptr %423, align 4, !tbaa !5
  %5077 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5078 = load i32, ptr @test_count, align 4, !tbaa !5
  %5079 = load i32, ptr %369, align 4, !tbaa !5
  %5080 = call ptr @s2n_strerror(i32 noundef %5079, ptr noundef nonnull @.str.4) #9
  %5081 = load i32, ptr %369, align 4, !tbaa !5
  %5082 = call ptr @s2n_strerror_debug(i32 noundef %5081, ptr noundef nonnull @.str.4) #9
  %5083 = load i32, ptr %423, align 4, !tbaa !5
  %5084 = call ptr @strerror(i32 noundef %5083) #9
  %5085 = load i32, ptr %423, align 4, !tbaa !5
  %5086 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5077, ptr noundef nonnull %.str.5.sink3106, i32 noundef %5078, ptr noundef nonnull @.str.67, ptr noundef nonnull @.str.1, i32 noundef 315, ptr noundef %5080, ptr noundef %5082, ptr noundef %5084, i32 noundef %5085) #11
  call void @exit(i32 noundef 1) #12
  unreachable

5087:                                             ; preds = %5059
  store i32 225, ptr %5032, align 4, !tbaa !49
  %5088 = call zeroext i1 (...) @s2n_is_rsa_pss_certs_supported() #9
  %5089 = load i32, ptr @test_count, align 4, !tbaa !5
  %5090 = add nsw i32 %5089, 1
  store i32 %5090, ptr @test_count, align 4, !tbaa !5
  %5091 = call i32 @s2n_select_certs_for_server_auth(ptr noundef nonnull %5003, ptr noundef nonnull %7) #9
  %5092 = icmp eq i32 %5091, -1
  br i1 %5088, label %5093, label %5116

5093:                                             ; preds = %5087
  br i1 %5092, label %5094, label %5193

5094:                                             ; preds = %5093
  %5095 = load i32, ptr %423, align 4, !tbaa !5
  %5096 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5097 = call i32 @s2n_print_stacktrace(ptr noundef %5096) #9
  %5098 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5099 = trunc nuw i8 %5098 to i1
  br i1 %5099, label %5100, label %5104

5100:                                             ; preds = %5094
  %5101 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5102 = call i32 @fileno(ptr noundef %5101) #9
  %5103 = call i32 @isatty(i32 noundef %5102) #9
  %.not1270 = icmp eq i32 %5103, 0
  br i1 %.not1270, label %5104, label %5105

5104:                                             ; preds = %5100, %5094
  br label %5105

5105:                                             ; preds = %5100, %5104
  %.str.5.sink3115 = phi ptr [ @.str.5, %5104 ], [ @.str.2, %5100 ]
  store i32 %5095, ptr %423, align 4, !tbaa !5
  %5106 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5107 = load i32, ptr @test_count, align 4, !tbaa !5
  %5108 = load i32, ptr %369, align 4, !tbaa !5
  %5109 = call ptr @s2n_strerror(i32 noundef %5108, ptr noundef nonnull @.str.4) #9
  %5110 = load i32, ptr %369, align 4, !tbaa !5
  %5111 = call ptr @s2n_strerror_debug(i32 noundef %5110, ptr noundef nonnull @.str.4) #9
  %5112 = load i32, ptr %423, align 4, !tbaa !5
  %5113 = call ptr @strerror(i32 noundef %5112) #9
  %5114 = load i32, ptr %423, align 4, !tbaa !5
  %5115 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5106, ptr noundef nonnull %.str.5.sink3115, i32 noundef %5107, ptr noundef nonnull @.str.66, ptr noundef nonnull @.str.1, i32 noundef 319, ptr noundef %5109, ptr noundef %5111, ptr noundef %5113, i32 noundef %5114) #11
  call void @exit(i32 noundef 1) #12
  unreachable

5116:                                             ; preds = %5087
  br i1 %5092, label %5139, label %5117

5117:                                             ; preds = %5116
  %5118 = load i32, ptr %423, align 4, !tbaa !5
  %5119 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5120 = call i32 @s2n_print_stacktrace(ptr noundef %5119) #9
  %5121 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5122 = trunc nuw i8 %5121 to i1
  br i1 %5122, label %5123, label %5127

5123:                                             ; preds = %5117
  %5124 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5125 = call i32 @fileno(ptr noundef %5124) #9
  %5126 = call i32 @isatty(i32 noundef %5125) #9
  %.not1064 = icmp eq i32 %5126, 0
  br i1 %.not1064, label %5127, label %5128

5127:                                             ; preds = %5123, %5117
  br label %5128

5128:                                             ; preds = %5123, %5127
  %.str.5.sink3124 = phi ptr [ @.str.5, %5127 ], [ @.str.2, %5123 ]
  store i32 %5118, ptr %423, align 4, !tbaa !5
  %5129 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5130 = load i32, ptr @test_count, align 4, !tbaa !5
  %5131 = load i32, ptr %369, align 4, !tbaa !5
  %5132 = call ptr @s2n_strerror(i32 noundef %5131, ptr noundef nonnull @.str.4) #9
  %5133 = load i32, ptr %369, align 4, !tbaa !5
  %5134 = call ptr @s2n_strerror_debug(i32 noundef %5133, ptr noundef nonnull @.str.4) #9
  %5135 = load i32, ptr %423, align 4, !tbaa !5
  %5136 = call ptr @strerror(i32 noundef %5135) #9
  %5137 = load i32, ptr %423, align 4, !tbaa !5
  %5138 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5129, ptr noundef nonnull %.str.5.sink3124, i32 noundef %5130, ptr noundef nonnull @.str.68, ptr noundef nonnull @.str.1, i32 noundef 319, ptr noundef %5132, ptr noundef %5134, ptr noundef %5136, i32 noundef %5137) #11
  call void @exit(i32 noundef 1) #12
  unreachable

5139:                                             ; preds = %5116
  %5140 = load i32, ptr @test_count, align 4, !tbaa !5
  %5141 = add nsw i32 %5140, 1
  store i32 %5141, ptr @test_count, align 4, !tbaa !5
  %5142 = load i32, ptr %369, align 4, !tbaa !5
  %5143 = icmp eq i32 %5142, 0
  br i1 %5143, label %5144, label %5166

5144:                                             ; preds = %5139
  %5145 = load i32, ptr %423, align 4, !tbaa !5
  %5146 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5147 = call i32 @s2n_print_stacktrace(ptr noundef %5146) #9
  %5148 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5149 = trunc nuw i8 %5148 to i1
  br i1 %5149, label %5150, label %5154

5150:                                             ; preds = %5144
  %5151 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5152 = call i32 @fileno(ptr noundef %5151) #9
  %5153 = call i32 @isatty(i32 noundef %5152) #9
  %.not1066 = icmp eq i32 %5153, 0
  br i1 %.not1066, label %5154, label %5155

5154:                                             ; preds = %5150, %5144
  br label %5155

5155:                                             ; preds = %5150, %5154
  %.str.5.sink3133 = phi ptr [ @.str.5, %5154 ], [ @.str.2, %5150 ]
  store i32 %5145, ptr %423, align 4, !tbaa !5
  %5156 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5157 = load i32, ptr @test_count, align 4, !tbaa !5
  %5158 = load i32, ptr %369, align 4, !tbaa !5
  %5159 = call ptr @s2n_strerror(i32 noundef %5158, ptr noundef nonnull @.str.4) #9
  %5160 = load i32, ptr %369, align 4, !tbaa !5
  %5161 = call ptr @s2n_strerror_debug(i32 noundef %5160, ptr noundef nonnull @.str.4) #9
  %5162 = load i32, ptr %423, align 4, !tbaa !5
  %5163 = call ptr @strerror(i32 noundef %5162) #9
  %5164 = load i32, ptr %423, align 4, !tbaa !5
  %5165 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5156, ptr noundef nonnull %.str.5.sink3133, i32 noundef %5157, ptr noundef nonnull @.str.21, ptr noundef nonnull @.str.1, i32 noundef 319, ptr noundef %5159, ptr noundef %5161, ptr noundef %5163, i32 noundef %5164) #11
  call void @exit(i32 noundef 1) #12
  unreachable

5166:                                             ; preds = %5139
  %5167 = add nsw i32 %5140, 2
  store i32 %5167, ptr @test_count, align 4, !tbaa !5
  %5168 = call ptr @s2n_strerror_debug(i32 noundef %5142, ptr noundef nonnull @.str.4) #9
  %5169 = icmp eq ptr %5168, null
  br i1 %5169, label %5170, label %5192

5170:                                             ; preds = %5166
  %5171 = load i32, ptr %423, align 4, !tbaa !5
  %5172 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5173 = call i32 @s2n_print_stacktrace(ptr noundef %5172) #9
  %5174 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5175 = trunc nuw i8 %5174 to i1
  br i1 %5175, label %5176, label %5180

5176:                                             ; preds = %5170
  %5177 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5178 = call i32 @fileno(ptr noundef %5177) #9
  %5179 = call i32 @isatty(i32 noundef %5178) #9
  %.not1065 = icmp eq i32 %5179, 0
  br i1 %.not1065, label %5180, label %5181

5180:                                             ; preds = %5176, %5170
  br label %5181

5181:                                             ; preds = %5176, %5180
  %.str.5.sink3142 = phi ptr [ @.str.5, %5180 ], [ @.str.2, %5176 ]
  store i32 %5171, ptr %423, align 4, !tbaa !5
  %5182 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5183 = load i32, ptr @test_count, align 4, !tbaa !5
  %5184 = load i32, ptr %369, align 4, !tbaa !5
  %5185 = call ptr @s2n_strerror(i32 noundef %5184, ptr noundef nonnull @.str.4) #9
  %5186 = load i32, ptr %369, align 4, !tbaa !5
  %5187 = call ptr @s2n_strerror_debug(i32 noundef %5186, ptr noundef nonnull @.str.4) #9
  %5188 = load i32, ptr %423, align 4, !tbaa !5
  %5189 = call ptr @strerror(i32 noundef %5188) #9
  %5190 = load i32, ptr %423, align 4, !tbaa !5
  %5191 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5182, ptr noundef nonnull %.str.5.sink3142, i32 noundef %5183, ptr noundef nonnull @.str.22, ptr noundef nonnull @.str.1, i32 noundef 319, ptr noundef %5185, ptr noundef %5187, ptr noundef %5189, i32 noundef %5190) #11
  call void @exit(i32 noundef 1) #12
  unreachable

5192:                                             ; preds = %5166
  store i32 0, ptr %369, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #9
  store i32 0, ptr %423, align 4, !tbaa !5
  br label %5193

5193:                                             ; preds = %5192, %5093
  %5194 = load i32, ptr @test_count, align 4, !tbaa !5
  %5195 = add nsw i32 %5194, 1
  store i32 %5195, ptr @test_count, align 4, !tbaa !5
  %5196 = load ptr, ptr %7, align 8, !tbaa !9
  %5197 = icmp eq ptr %5196, null
  br i1 %5197, label %5220, label %5198

5198:                                             ; preds = %5193
  %5199 = load i32, ptr %423, align 4, !tbaa !5
  %5200 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5201 = call i32 @s2n_print_stacktrace(ptr noundef %5200) #9
  %5202 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5203 = trunc nuw i8 %5202 to i1
  br i1 %5203, label %5204, label %5208

5204:                                             ; preds = %5198
  %5205 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5206 = call i32 @fileno(ptr noundef %5205) #9
  %5207 = call i32 @isatty(i32 noundef %5206) #9
  %.not1067 = icmp eq i32 %5207, 0
  br i1 %.not1067, label %5208, label %5209

5208:                                             ; preds = %5204, %5198
  br label %5209

5209:                                             ; preds = %5204, %5208
  %.str.5.sink3151 = phi ptr [ @.str.5, %5208 ], [ @.str.2, %5204 ]
  store i32 %5199, ptr %423, align 4, !tbaa !5
  %5210 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5211 = load i32, ptr @test_count, align 4, !tbaa !5
  %5212 = load i32, ptr %369, align 4, !tbaa !5
  %5213 = call ptr @s2n_strerror(i32 noundef %5212, ptr noundef nonnull @.str.4) #9
  %5214 = load i32, ptr %369, align 4, !tbaa !5
  %5215 = call ptr @s2n_strerror_debug(i32 noundef %5214, ptr noundef nonnull @.str.4) #9
  %5216 = load i32, ptr %423, align 4, !tbaa !5
  %5217 = call ptr @strerror(i32 noundef %5216) #9
  %5218 = load i32, ptr %423, align 4, !tbaa !5
  %5219 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5210, ptr noundef nonnull %.str.5.sink3151, i32 noundef %5211, ptr noundef nonnull @.str.69, ptr noundef nonnull @.str.1, i32 noundef 320, ptr noundef %5213, ptr noundef %5215, ptr noundef %5217, i32 noundef %5218) #11
  call void @exit(i32 noundef 1) #12
  unreachable

5220:                                             ; preds = %5193
  store i32 224, ptr %5032, align 4, !tbaa !49
  %5221 = add nsw i32 %5194, 2
  store i32 %5221, ptr @test_count, align 4, !tbaa !5
  %5222 = call i32 @s2n_select_certs_for_server_auth(ptr noundef nonnull %5003, ptr noundef nonnull %7) #9
  %5223 = icmp eq i32 %5222, -1
  br i1 %5223, label %5224, label %5246

5224:                                             ; preds = %5220
  %5225 = load i32, ptr %423, align 4, !tbaa !5
  %5226 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5227 = call i32 @s2n_print_stacktrace(ptr noundef %5226) #9
  %5228 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5229 = trunc nuw i8 %5228 to i1
  br i1 %5229, label %5230, label %5234

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

5234:                                             ; preds = %5230, %5224
  br label %5235

5235:                                             ; preds = %5230, %5234
  %.str.5.sink3160 = phi ptr [ @.str.5, %5234 ], [ @.str.2, %5230 ]
  store i32 %5225, ptr %423, align 4, !tbaa !5
  %5236 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5237 = load i32, ptr @test_count, align 4, !tbaa !5
  %5238 = load i32, ptr %369, align 4, !tbaa !5
  %5239 = call ptr @s2n_strerror(i32 noundef %5238, ptr noundef nonnull @.str.4) #9
  %5240 = load i32, ptr %369, align 4, !tbaa !5
  %5241 = call ptr @s2n_strerror_debug(i32 noundef %5240, ptr noundef nonnull @.str.4) #9
  %5242 = load i32, ptr %423, align 4, !tbaa !5
  %5243 = call ptr @strerror(i32 noundef %5242) #9
  %5244 = load i32, ptr %423, align 4, !tbaa !5
  %5245 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5236, ptr noundef nonnull %.str.5.sink3160, i32 noundef %5237, ptr noundef nonnull @.str.66, ptr noundef nonnull @.str.1, i32 noundef 324, ptr noundef %5239, ptr noundef %5241, ptr noundef %5243, i32 noundef %5244) #11
  call void @exit(i32 noundef 1) #12
  unreachable

5246:                                             ; preds = %5220
  %5247 = load i32, ptr @test_count, align 4, !tbaa !5
  %5248 = add nsw i32 %5247, 1
  store i32 %5248, ptr @test_count, align 4, !tbaa !5
  %5249 = load ptr, ptr %7, align 8, !tbaa !9
  %5250 = load ptr, ptr %3, align 8, !tbaa !9
  %5251 = icmp eq ptr %5249, %5250
  br i1 %5251, label %5274, label %5252

5252:                                             ; preds = %5246
  %5253 = load i32, ptr %423, align 4, !tbaa !5
  %5254 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5255 = call i32 @s2n_print_stacktrace(ptr noundef %5254) #9
  %5256 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5257 = trunc nuw i8 %5256 to i1
  br i1 %5257, label %5258, label %5262

5258:                                             ; preds = %5252
  %5259 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5260 = call i32 @fileno(ptr noundef %5259) #9
  %5261 = call i32 @isatty(i32 noundef %5260) #9
  %.not1068 = icmp eq i32 %5261, 0
  br i1 %.not1068, label %5262, label %5263

5262:                                             ; preds = %5258, %5252
  br label %5263

5263:                                             ; preds = %5258, %5262
  %.str.5.sink3169 = phi ptr [ @.str.5, %5262 ], [ @.str.2, %5258 ]
  store i32 %5253, ptr %423, align 4, !tbaa !5
  %5264 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5265 = load i32, ptr @test_count, align 4, !tbaa !5
  %5266 = load i32, ptr %369, align 4, !tbaa !5
  %5267 = call ptr @s2n_strerror(i32 noundef %5266, ptr noundef nonnull @.str.4) #9
  %5268 = load i32, ptr %369, align 4, !tbaa !5
  %5269 = call ptr @s2n_strerror_debug(i32 noundef %5268, ptr noundef nonnull @.str.4) #9
  %5270 = load i32, ptr %423, align 4, !tbaa !5
  %5271 = call ptr @strerror(i32 noundef %5270) #9
  %5272 = load i32, ptr %423, align 4, !tbaa !5
  %5273 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5264, ptr noundef nonnull %.str.5.sink3169, i32 noundef %5265, ptr noundef nonnull @.str.67, ptr noundef nonnull @.str.1, i32 noundef 325, ptr noundef %5267, ptr noundef %5269, ptr noundef %5271, i32 noundef %5272) #11
  call void @exit(i32 noundef 1) #12
  unreachable

5274:                                             ; preds = %5246
  store i32 3, ptr %5032, align 4, !tbaa !49
  %5275 = add nsw i32 %5247, 2
  store i32 %5275, ptr @test_count, align 4, !tbaa !5
  %5276 = call i32 @s2n_select_certs_for_server_auth(ptr noundef nonnull %5003, ptr noundef nonnull %7) #9
  %5277 = icmp eq i32 %5276, -1
  br i1 %5277, label %5278, label %5300

5278:                                             ; preds = %5274
  %5279 = load i32, ptr %423, align 4, !tbaa !5
  %5280 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5281 = call i32 @s2n_print_stacktrace(ptr noundef %5280) #9
  %5282 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5283 = trunc nuw i8 %5282 to i1
  br i1 %5283, label %5284, label %5288

5284:                                             ; preds = %5278
  %5285 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5286 = call i32 @fileno(ptr noundef %5285) #9
  %5287 = call i32 @isatty(i32 noundef %5286) #9
  %.not1268 = icmp eq i32 %5287, 0
  br i1 %.not1268, label %5288, label %5289

5288:                                             ; preds = %5284, %5278
  br label %5289

5289:                                             ; preds = %5284, %5288
  %.str.5.sink3178 = phi ptr [ @.str.5, %5288 ], [ @.str.2, %5284 ]
  store i32 %5279, ptr %423, align 4, !tbaa !5
  %5290 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5291 = load i32, ptr @test_count, align 4, !tbaa !5
  %5292 = load i32, ptr %369, align 4, !tbaa !5
  %5293 = call ptr @s2n_strerror(i32 noundef %5292, ptr noundef nonnull @.str.4) #9
  %5294 = load i32, ptr %369, align 4, !tbaa !5
  %5295 = call ptr @s2n_strerror_debug(i32 noundef %5294, ptr noundef nonnull @.str.4) #9
  %5296 = load i32, ptr %423, align 4, !tbaa !5
  %5297 = call ptr @strerror(i32 noundef %5296) #9
  %5298 = load i32, ptr %423, align 4, !tbaa !5
  %5299 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5290, ptr noundef nonnull %.str.5.sink3178, i32 noundef %5291, ptr noundef nonnull @.str.66, ptr noundef nonnull @.str.1, i32 noundef 329, ptr noundef %5293, ptr noundef %5295, ptr noundef %5297, i32 noundef %5298) #11
  call void @exit(i32 noundef 1) #12
  unreachable

5300:                                             ; preds = %5274
  %5301 = load i32, ptr @test_count, align 4, !tbaa !5
  %5302 = add nsw i32 %5301, 1
  store i32 %5302, ptr @test_count, align 4, !tbaa !5
  %5303 = load ptr, ptr %7, align 8, !tbaa !9
  %5304 = load ptr, ptr %4, align 8, !tbaa !9
  %5305 = icmp eq ptr %5303, %5304
  br i1 %5305, label %5328, label %5306

5306:                                             ; preds = %5300
  %5307 = load i32, ptr %423, align 4, !tbaa !5
  %5308 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5309 = call i32 @s2n_print_stacktrace(ptr noundef %5308) #9
  %5310 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5311 = trunc nuw i8 %5310 to i1
  br i1 %5311, label %5312, label %5316

5312:                                             ; preds = %5306
  %5313 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5314 = call i32 @fileno(ptr noundef %5313) #9
  %5315 = call i32 @isatty(i32 noundef %5314) #9
  %.not1069 = icmp eq i32 %5315, 0
  br i1 %.not1069, label %5316, label %5317

5316:                                             ; preds = %5312, %5306
  br label %5317

5317:                                             ; preds = %5312, %5316
  %.str.5.sink3187 = phi ptr [ @.str.5, %5316 ], [ @.str.2, %5312 ]
  store i32 %5307, ptr %423, align 4, !tbaa !5
  %5318 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5319 = load i32, ptr @test_count, align 4, !tbaa !5
  %5320 = load i32, ptr %369, align 4, !tbaa !5
  %5321 = call ptr @s2n_strerror(i32 noundef %5320, ptr noundef nonnull @.str.4) #9
  %5322 = load i32, ptr %369, align 4, !tbaa !5
  %5323 = call ptr @s2n_strerror_debug(i32 noundef %5322, ptr noundef nonnull @.str.4) #9
  %5324 = load i32, ptr %423, align 4, !tbaa !5
  %5325 = call ptr @strerror(i32 noundef %5324) #9
  %5326 = load i32, ptr %423, align 4, !tbaa !5
  %5327 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5318, ptr noundef nonnull %.str.5.sink3187, i32 noundef %5319, ptr noundef nonnull @.str.70, ptr noundef nonnull @.str.1, i32 noundef 330, ptr noundef %5321, ptr noundef %5323, ptr noundef %5325, i32 noundef %5326) #11
  call void @exit(i32 noundef 1) #12
  unreachable

5328:                                             ; preds = %5300
  %5329 = add nsw i32 %5301, 2
  store i32 %5329, ptr @test_count, align 4, !tbaa !5
  %5330 = call i32 @s2n_connection_set_config(ptr noundef nonnull %5003, ptr noundef %183) #9
  %5331 = icmp eq i32 %5330, -1
  br i1 %5331, label %5332, label %5354

5332:                                             ; preds = %5328
  %5333 = load i32, ptr %423, align 4, !tbaa !5
  %5334 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5335 = call i32 @s2n_print_stacktrace(ptr noundef %5334) #9
  %5336 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5337 = trunc nuw i8 %5336 to i1
  br i1 %5337, label %5338, label %5342

5338:                                             ; preds = %5332
  %5339 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5340 = call i32 @fileno(ptr noundef %5339) #9
  %5341 = call i32 @isatty(i32 noundef %5340) #9
  %.not1267 = icmp eq i32 %5341, 0
  br i1 %.not1267, label %5342, label %5343

5342:                                             ; preds = %5338, %5332
  br label %5343

5343:                                             ; preds = %5338, %5342
  %.str.5.sink3196 = phi ptr [ @.str.5, %5342 ], [ @.str.2, %5338 ]
  store i32 %5333, ptr %423, align 4, !tbaa !5
  %5344 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5345 = load i32, ptr @test_count, align 4, !tbaa !5
  %5346 = load i32, ptr %369, align 4, !tbaa !5
  %5347 = call ptr @s2n_strerror(i32 noundef %5346, ptr noundef nonnull @.str.4) #9
  %5348 = load i32, ptr %369, align 4, !tbaa !5
  %5349 = call ptr @s2n_strerror_debug(i32 noundef %5348, ptr noundef nonnull @.str.4) #9
  %5350 = load i32, ptr %423, align 4, !tbaa !5
  %5351 = call ptr @strerror(i32 noundef %5350) #9
  %5352 = load i32, ptr %423, align 4, !tbaa !5
  %5353 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5344, ptr noundef nonnull %.str.5.sink3196, i32 noundef %5345, ptr noundef nonnull @.str.19, ptr noundef nonnull @.str.1, i32 noundef 333, ptr noundef %5347, ptr noundef %5349, ptr noundef %5351, i32 noundef %5352) #11
  call void @exit(i32 noundef 1) #12
  unreachable

5354:                                             ; preds = %5328
  store i32 1, ptr %5032, align 4, !tbaa !49
  %5355 = load i32, ptr @test_count, align 4, !tbaa !5
  %5356 = add nsw i32 %5355, 1
  store i32 %5356, ptr @test_count, align 4, !tbaa !5
  %5357 = call i32 @s2n_select_certs_for_server_auth(ptr noundef nonnull %5003, ptr noundef nonnull %7) #9
  %5358 = icmp eq i32 %5357, -1
  br i1 %5358, label %5381, label %5359

5359:                                             ; preds = %5354
  %5360 = load i32, ptr %423, align 4, !tbaa !5
  %5361 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5362 = call i32 @s2n_print_stacktrace(ptr noundef %5361) #9
  %5363 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5364 = trunc nuw i8 %5363 to i1
  br i1 %5364, label %5365, label %5369

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

5369:                                             ; preds = %5365, %5359
  br label %5370

5370:                                             ; preds = %5365, %5369
  %.str.5.sink3205 = phi ptr [ @.str.5, %5369 ], [ @.str.2, %5365 ]
  store i32 %5360, ptr %423, align 4, !tbaa !5
  %5371 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5372 = load i32, ptr @test_count, align 4, !tbaa !5
  %5373 = load i32, ptr %369, align 4, !tbaa !5
  %5374 = call ptr @s2n_strerror(i32 noundef %5373, ptr noundef nonnull @.str.4) #9
  %5375 = load i32, ptr %369, align 4, !tbaa !5
  %5376 = call ptr @s2n_strerror_debug(i32 noundef %5375, ptr noundef nonnull @.str.4) #9
  %5377 = load i32, ptr %423, align 4, !tbaa !5
  %5378 = call ptr @strerror(i32 noundef %5377) #9
  %5379 = load i32, ptr %423, align 4, !tbaa !5
  %5380 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5371, ptr noundef nonnull %.str.5.sink3205, i32 noundef %5372, ptr noundef nonnull @.str.68, ptr noundef nonnull @.str.1, i32 noundef 337, ptr noundef %5374, ptr noundef %5376, ptr noundef %5378, i32 noundef %5379) #11
  call void @exit(i32 noundef 1) #12
  unreachable

5381:                                             ; preds = %5354
  %5382 = load i32, ptr @test_count, align 4, !tbaa !5
  %5383 = add nsw i32 %5382, 1
  store i32 %5383, ptr @test_count, align 4, !tbaa !5
  %5384 = load i32, ptr %369, align 4, !tbaa !5
  %5385 = icmp eq i32 %5384, 0
  br i1 %5385, label %5386, label %5408

5386:                                             ; preds = %5381
  %5387 = load i32, ptr %423, align 4, !tbaa !5
  %5388 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5389 = call i32 @s2n_print_stacktrace(ptr noundef %5388) #9
  %5390 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5391 = trunc nuw i8 %5390 to i1
  br i1 %5391, label %5392, label %5396

5392:                                             ; preds = %5386
  %5393 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5394 = call i32 @fileno(ptr noundef %5393) #9
  %5395 = call i32 @isatty(i32 noundef %5394) #9
  %.not1266 = icmp eq i32 %5395, 0
  br i1 %.not1266, label %5396, label %5397

5396:                                             ; preds = %5392, %5386
  br label %5397

5397:                                             ; preds = %5392, %5396
  %.str.5.sink3214 = phi ptr [ @.str.5, %5396 ], [ @.str.2, %5392 ]
  store i32 %5387, ptr %423, align 4, !tbaa !5
  %5398 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5399 = load i32, ptr @test_count, align 4, !tbaa !5
  %5400 = load i32, ptr %369, align 4, !tbaa !5
  %5401 = call ptr @s2n_strerror(i32 noundef %5400, ptr noundef nonnull @.str.4) #9
  %5402 = load i32, ptr %369, align 4, !tbaa !5
  %5403 = call ptr @s2n_strerror_debug(i32 noundef %5402, ptr noundef nonnull @.str.4) #9
  %5404 = load i32, ptr %423, align 4, !tbaa !5
  %5405 = call ptr @strerror(i32 noundef %5404) #9
  %5406 = load i32, ptr %423, align 4, !tbaa !5
  %5407 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5398, ptr noundef nonnull %.str.5.sink3214, i32 noundef %5399, ptr noundef nonnull @.str.21, ptr noundef nonnull @.str.1, i32 noundef 337, ptr noundef %5401, ptr noundef %5403, ptr noundef %5405, i32 noundef %5406) #11
  call void @exit(i32 noundef 1) #12
  unreachable

5408:                                             ; preds = %5381
  %5409 = add nsw i32 %5382, 2
  store i32 %5409, ptr @test_count, align 4, !tbaa !5
  %5410 = call ptr @s2n_strerror_debug(i32 noundef %5384, ptr noundef nonnull @.str.4) #9
  %5411 = icmp eq ptr %5410, null
  br i1 %5411, label %5412, label %5434

5412:                                             ; preds = %5408
  %5413 = load i32, ptr %423, align 4, !tbaa !5
  %5414 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5415 = call i32 @s2n_print_stacktrace(ptr noundef %5414) #9
  %5416 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5417 = trunc nuw i8 %5416 to i1
  br i1 %5417, label %5418, label %5422

5418:                                             ; preds = %5412
  %5419 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5420 = call i32 @fileno(ptr noundef %5419) #9
  %5421 = call i32 @isatty(i32 noundef %5420) #9
  %.not1265 = icmp eq i32 %5421, 0
  br i1 %.not1265, label %5422, label %5423

5422:                                             ; preds = %5418, %5412
  br label %5423

5423:                                             ; preds = %5418, %5422
  %.str.5.sink3223 = phi ptr [ @.str.5, %5422 ], [ @.str.2, %5418 ]
  store i32 %5413, ptr %423, align 4, !tbaa !5
  %5424 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5425 = load i32, ptr @test_count, align 4, !tbaa !5
  %5426 = load i32, ptr %369, align 4, !tbaa !5
  %5427 = call ptr @s2n_strerror(i32 noundef %5426, ptr noundef nonnull @.str.4) #9
  %5428 = load i32, ptr %369, align 4, !tbaa !5
  %5429 = call ptr @s2n_strerror_debug(i32 noundef %5428, ptr noundef nonnull @.str.4) #9
  %5430 = load i32, ptr %423, align 4, !tbaa !5
  %5431 = call ptr @strerror(i32 noundef %5430) #9
  %5432 = load i32, ptr %423, align 4, !tbaa !5
  %5433 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5424, ptr noundef nonnull %.str.5.sink3223, i32 noundef %5425, ptr noundef nonnull @.str.22, ptr noundef nonnull @.str.1, i32 noundef 337, ptr noundef %5427, ptr noundef %5429, ptr noundef %5431, i32 noundef %5432) #11
  call void @exit(i32 noundef 1) #12
  unreachable

5434:                                             ; preds = %5408
  store i32 0, ptr %369, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #9
  store i32 0, ptr %423, align 4, !tbaa !5
  %5435 = load i32, ptr @test_count, align 4, !tbaa !5
  %5436 = add nsw i32 %5435, 1
  store i32 %5436, ptr @test_count, align 4, !tbaa !5
  %5437 = load ptr, ptr %7, align 8, !tbaa !9
  %5438 = icmp eq ptr %5437, null
  br i1 %5438, label %5461, label %5439

5439:                                             ; preds = %5434
  %5440 = load i32, ptr %423, align 4, !tbaa !5
  %5441 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5442 = call i32 @s2n_print_stacktrace(ptr noundef %5441) #9
  %5443 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5444 = trunc nuw i8 %5443 to i1
  br i1 %5444, label %5445, label %5449

5445:                                             ; preds = %5439
  %5446 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5447 = call i32 @fileno(ptr noundef %5446) #9
  %5448 = call i32 @isatty(i32 noundef %5447) #9
  %.not1071 = icmp eq i32 %5448, 0
  br i1 %.not1071, label %5449, label %5450

5449:                                             ; preds = %5445, %5439
  br label %5450

5450:                                             ; preds = %5445, %5449
  %.str.5.sink3232 = phi ptr [ @.str.5, %5449 ], [ @.str.2, %5445 ]
  store i32 %5440, ptr %423, align 4, !tbaa !5
  %5451 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5452 = load i32, ptr @test_count, align 4, !tbaa !5
  %5453 = load i32, ptr %369, align 4, !tbaa !5
  %5454 = call ptr @s2n_strerror(i32 noundef %5453, ptr noundef nonnull @.str.4) #9
  %5455 = load i32, ptr %369, align 4, !tbaa !5
  %5456 = call ptr @s2n_strerror_debug(i32 noundef %5455, ptr noundef nonnull @.str.4) #9
  %5457 = load i32, ptr %423, align 4, !tbaa !5
  %5458 = call ptr @strerror(i32 noundef %5457) #9
  %5459 = load i32, ptr %423, align 4, !tbaa !5
  %5460 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5451, ptr noundef nonnull %.str.5.sink3232, i32 noundef %5452, ptr noundef nonnull @.str.71, ptr noundef nonnull @.str.1, i32 noundef 338, ptr noundef %5454, ptr noundef %5456, ptr noundef %5458, i32 noundef %5459) #11
  call void @exit(i32 noundef 1) #12
  unreachable

5461:                                             ; preds = %5434
  store i32 225, ptr %5032, align 4, !tbaa !49
  %5462 = add nsw i32 %5435, 2
  store i32 %5462, ptr @test_count, align 4, !tbaa !5
  %5463 = call i32 @s2n_select_certs_for_server_auth(ptr noundef nonnull %5003, ptr noundef nonnull %7) #9
  %5464 = icmp eq i32 %5463, -1
  br i1 %5464, label %5487, label %5465

5465:                                             ; preds = %5461
  %5466 = load i32, ptr %423, align 4, !tbaa !5
  %5467 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5468 = call i32 @s2n_print_stacktrace(ptr noundef %5467) #9
  %5469 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5470 = trunc nuw i8 %5469 to i1
  br i1 %5470, label %5471, label %5475

5471:                                             ; preds = %5465
  %5472 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5473 = call i32 @fileno(ptr noundef %5472) #9
  %5474 = call i32 @isatty(i32 noundef %5473) #9
  %.not1072 = icmp eq i32 %5474, 0
  br i1 %.not1072, label %5475, label %5476

5475:                                             ; preds = %5471, %5465
  br label %5476

5476:                                             ; preds = %5471, %5475
  %.str.5.sink3241 = phi ptr [ @.str.5, %5475 ], [ @.str.2, %5471 ]
  store i32 %5466, ptr %423, align 4, !tbaa !5
  %5477 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5478 = load i32, ptr @test_count, align 4, !tbaa !5
  %5479 = load i32, ptr %369, align 4, !tbaa !5
  %5480 = call ptr @s2n_strerror(i32 noundef %5479, ptr noundef nonnull @.str.4) #9
  %5481 = load i32, ptr %369, align 4, !tbaa !5
  %5482 = call ptr @s2n_strerror_debug(i32 noundef %5481, ptr noundef nonnull @.str.4) #9
  %5483 = load i32, ptr %423, align 4, !tbaa !5
  %5484 = call ptr @strerror(i32 noundef %5483) #9
  %5485 = load i32, ptr %423, align 4, !tbaa !5
  %5486 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5477, ptr noundef nonnull %.str.5.sink3241, i32 noundef %5478, ptr noundef nonnull @.str.68, ptr noundef nonnull @.str.1, i32 noundef 342, ptr noundef %5480, ptr noundef %5482, ptr noundef %5484, i32 noundef %5485) #11
  call void @exit(i32 noundef 1) #12
  unreachable

5487:                                             ; preds = %5461
  %5488 = load i32, ptr @test_count, align 4, !tbaa !5
  %5489 = add nsw i32 %5488, 1
  store i32 %5489, ptr @test_count, align 4, !tbaa !5
  %5490 = load i32, ptr %369, align 4, !tbaa !5
  %5491 = icmp eq i32 %5490, 0
  br i1 %5491, label %5492, label %5514

5492:                                             ; preds = %5487
  %5493 = load i32, ptr %423, align 4, !tbaa !5
  %5494 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5495 = call i32 @s2n_print_stacktrace(ptr noundef %5494) #9
  %5496 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5497 = trunc nuw i8 %5496 to i1
  br i1 %5497, label %5498, label %5502

5498:                                             ; preds = %5492
  %5499 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5500 = call i32 @fileno(ptr noundef %5499) #9
  %5501 = call i32 @isatty(i32 noundef %5500) #9
  %.not1264 = icmp eq i32 %5501, 0
  br i1 %.not1264, label %5502, label %5503

5502:                                             ; preds = %5498, %5492
  br label %5503

5503:                                             ; preds = %5498, %5502
  %.str.5.sink3250 = phi ptr [ @.str.5, %5502 ], [ @.str.2, %5498 ]
  store i32 %5493, ptr %423, align 4, !tbaa !5
  %5504 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5505 = load i32, ptr @test_count, align 4, !tbaa !5
  %5506 = load i32, ptr %369, align 4, !tbaa !5
  %5507 = call ptr @s2n_strerror(i32 noundef %5506, ptr noundef nonnull @.str.4) #9
  %5508 = load i32, ptr %369, align 4, !tbaa !5
  %5509 = call ptr @s2n_strerror_debug(i32 noundef %5508, ptr noundef nonnull @.str.4) #9
  %5510 = load i32, ptr %423, align 4, !tbaa !5
  %5511 = call ptr @strerror(i32 noundef %5510) #9
  %5512 = load i32, ptr %423, align 4, !tbaa !5
  %5513 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5504, ptr noundef nonnull %.str.5.sink3250, i32 noundef %5505, ptr noundef nonnull @.str.21, ptr noundef nonnull @.str.1, i32 noundef 342, ptr noundef %5507, ptr noundef %5509, ptr noundef %5511, i32 noundef %5512) #11
  call void @exit(i32 noundef 1) #12
  unreachable

5514:                                             ; preds = %5487
  %5515 = add nsw i32 %5488, 2
  store i32 %5515, ptr @test_count, align 4, !tbaa !5
  %5516 = call ptr @s2n_strerror_debug(i32 noundef %5490, ptr noundef nonnull @.str.4) #9
  %5517 = icmp eq ptr %5516, null
  br i1 %5517, label %5518, label %5540

5518:                                             ; preds = %5514
  %5519 = load i32, ptr %423, align 4, !tbaa !5
  %5520 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5521 = call i32 @s2n_print_stacktrace(ptr noundef %5520) #9
  %5522 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5523 = trunc nuw i8 %5522 to i1
  br i1 %5523, label %5524, label %5528

5524:                                             ; preds = %5518
  %5525 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5526 = call i32 @fileno(ptr noundef %5525) #9
  %5527 = call i32 @isatty(i32 noundef %5526) #9
  %.not1263 = icmp eq i32 %5527, 0
  br i1 %.not1263, label %5528, label %5529

5528:                                             ; preds = %5524, %5518
  br label %5529

5529:                                             ; preds = %5524, %5528
  %.str.5.sink3259 = phi ptr [ @.str.5, %5528 ], [ @.str.2, %5524 ]
  store i32 %5519, ptr %423, align 4, !tbaa !5
  %5530 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5531 = load i32, ptr @test_count, align 4, !tbaa !5
  %5532 = load i32, ptr %369, align 4, !tbaa !5
  %5533 = call ptr @s2n_strerror(i32 noundef %5532, ptr noundef nonnull @.str.4) #9
  %5534 = load i32, ptr %369, align 4, !tbaa !5
  %5535 = call ptr @s2n_strerror_debug(i32 noundef %5534, ptr noundef nonnull @.str.4) #9
  %5536 = load i32, ptr %423, align 4, !tbaa !5
  %5537 = call ptr @strerror(i32 noundef %5536) #9
  %5538 = load i32, ptr %423, align 4, !tbaa !5
  %5539 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5530, ptr noundef nonnull %.str.5.sink3259, i32 noundef %5531, ptr noundef nonnull @.str.22, ptr noundef nonnull @.str.1, i32 noundef 342, ptr noundef %5533, ptr noundef %5535, ptr noundef %5537, i32 noundef %5538) #11
  call void @exit(i32 noundef 1) #12
  unreachable

5540:                                             ; preds = %5514
  store i32 0, ptr %369, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #9
  store i32 0, ptr %423, align 4, !tbaa !5
  %5541 = load i32, ptr @test_count, align 4, !tbaa !5
  %5542 = add nsw i32 %5541, 1
  store i32 %5542, ptr @test_count, align 4, !tbaa !5
  %5543 = load ptr, ptr %7, align 8, !tbaa !9
  %5544 = icmp eq ptr %5543, null
  br i1 %5544, label %5567, label %5545

5545:                                             ; preds = %5540
  %5546 = load i32, ptr %423, align 4, !tbaa !5
  %5547 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5548 = call i32 @s2n_print_stacktrace(ptr noundef %5547) #9
  %5549 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5550 = trunc nuw i8 %5549 to i1
  br i1 %5550, label %5551, label %5555

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

5555:                                             ; preds = %5551, %5545
  br label %5556

5556:                                             ; preds = %5551, %5555
  %.str.5.sink3268 = phi ptr [ @.str.5, %5555 ], [ @.str.2, %5551 ]
  store i32 %5546, ptr %423, align 4, !tbaa !5
  %5557 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5558 = load i32, ptr @test_count, align 4, !tbaa !5
  %5559 = load i32, ptr %369, align 4, !tbaa !5
  %5560 = call ptr @s2n_strerror(i32 noundef %5559, ptr noundef nonnull @.str.4) #9
  %5561 = load i32, ptr %369, align 4, !tbaa !5
  %5562 = call ptr @s2n_strerror_debug(i32 noundef %5561, ptr noundef nonnull @.str.4) #9
  %5563 = load i32, ptr %423, align 4, !tbaa !5
  %5564 = call ptr @strerror(i32 noundef %5563) #9
  %5565 = load i32, ptr %423, align 4, !tbaa !5
  %5566 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5557, ptr noundef nonnull %.str.5.sink3268, i32 noundef %5558, ptr noundef nonnull @.str.71, ptr noundef nonnull @.str.1, i32 noundef 343, ptr noundef %5560, ptr noundef %5562, ptr noundef %5564, i32 noundef %5565) #11
  call void @exit(i32 noundef 1) #12
  unreachable

5567:                                             ; preds = %5540
  store i32 224, ptr %5032, align 4, !tbaa !49
  %5568 = add nsw i32 %5541, 2
  store i32 %5568, ptr @test_count, align 4, !tbaa !5
  %5569 = call i32 @s2n_select_certs_for_server_auth(ptr noundef nonnull %5003, ptr noundef nonnull %7) #9
  %5570 = icmp eq i32 %5569, -1
  br i1 %5570, label %5593, label %5571

5571:                                             ; preds = %5567
  %5572 = load i32, ptr %423, align 4, !tbaa !5
  %5573 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5574 = call i32 @s2n_print_stacktrace(ptr noundef %5573) #9
  %5575 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5576 = trunc nuw i8 %5575 to i1
  br i1 %5576, label %5577, label %5581

5577:                                             ; preds = %5571
  %5578 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5579 = call i32 @fileno(ptr noundef %5578) #9
  %5580 = call i32 @isatty(i32 noundef %5579) #9
  %.not1074 = icmp eq i32 %5580, 0
  br i1 %.not1074, label %5581, label %5582

5581:                                             ; preds = %5577, %5571
  br label %5582

5582:                                             ; preds = %5577, %5581
  %.str.5.sink3277 = phi ptr [ @.str.5, %5581 ], [ @.str.2, %5577 ]
  store i32 %5572, ptr %423, align 4, !tbaa !5
  %5583 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5584 = load i32, ptr @test_count, align 4, !tbaa !5
  %5585 = load i32, ptr %369, align 4, !tbaa !5
  %5586 = call ptr @s2n_strerror(i32 noundef %5585, ptr noundef nonnull @.str.4) #9
  %5587 = load i32, ptr %369, align 4, !tbaa !5
  %5588 = call ptr @s2n_strerror_debug(i32 noundef %5587, ptr noundef nonnull @.str.4) #9
  %5589 = load i32, ptr %423, align 4, !tbaa !5
  %5590 = call ptr @strerror(i32 noundef %5589) #9
  %5591 = load i32, ptr %423, align 4, !tbaa !5
  %5592 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5583, ptr noundef nonnull %.str.5.sink3277, i32 noundef %5584, ptr noundef nonnull @.str.68, ptr noundef nonnull @.str.1, i32 noundef 347, ptr noundef %5586, ptr noundef %5588, ptr noundef %5590, i32 noundef %5591) #11
  call void @exit(i32 noundef 1) #12
  unreachable

5593:                                             ; preds = %5567
  %5594 = load i32, ptr @test_count, align 4, !tbaa !5
  %5595 = add nsw i32 %5594, 1
  store i32 %5595, ptr @test_count, align 4, !tbaa !5
  %5596 = load i32, ptr %369, align 4, !tbaa !5
  %5597 = icmp eq i32 %5596, 0
  br i1 %5597, label %5598, label %5620

5598:                                             ; preds = %5593
  %5599 = load i32, ptr %423, align 4, !tbaa !5
  %5600 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5601 = call i32 @s2n_print_stacktrace(ptr noundef %5600) #9
  %5602 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5603 = trunc nuw i8 %5602 to i1
  br i1 %5603, label %5604, label %5608

5604:                                             ; preds = %5598
  %5605 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5606 = call i32 @fileno(ptr noundef %5605) #9
  %5607 = call i32 @isatty(i32 noundef %5606) #9
  %.not1262 = icmp eq i32 %5607, 0
  br i1 %.not1262, label %5608, label %5609

5608:                                             ; preds = %5604, %5598
  br label %5609

5609:                                             ; preds = %5604, %5608
  %.str.5.sink3286 = phi ptr [ @.str.5, %5608 ], [ @.str.2, %5604 ]
  store i32 %5599, ptr %423, align 4, !tbaa !5
  %5610 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5611 = load i32, ptr @test_count, align 4, !tbaa !5
  %5612 = load i32, ptr %369, align 4, !tbaa !5
  %5613 = call ptr @s2n_strerror(i32 noundef %5612, ptr noundef nonnull @.str.4) #9
  %5614 = load i32, ptr %369, align 4, !tbaa !5
  %5615 = call ptr @s2n_strerror_debug(i32 noundef %5614, ptr noundef nonnull @.str.4) #9
  %5616 = load i32, ptr %423, align 4, !tbaa !5
  %5617 = call ptr @strerror(i32 noundef %5616) #9
  %5618 = load i32, ptr %423, align 4, !tbaa !5
  %5619 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5610, ptr noundef nonnull %.str.5.sink3286, i32 noundef %5611, ptr noundef nonnull @.str.21, ptr noundef nonnull @.str.1, i32 noundef 347, ptr noundef %5613, ptr noundef %5615, ptr noundef %5617, i32 noundef %5618) #11
  call void @exit(i32 noundef 1) #12
  unreachable

5620:                                             ; preds = %5593
  %5621 = add nsw i32 %5594, 2
  store i32 %5621, ptr @test_count, align 4, !tbaa !5
  %5622 = call ptr @s2n_strerror_debug(i32 noundef %5596, ptr noundef nonnull @.str.4) #9
  %5623 = icmp eq ptr %5622, null
  br i1 %5623, label %5624, label %5646

5624:                                             ; preds = %5620
  %5625 = load i32, ptr %423, align 4, !tbaa !5
  %5626 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5627 = call i32 @s2n_print_stacktrace(ptr noundef %5626) #9
  %5628 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5629 = trunc nuw i8 %5628 to i1
  br i1 %5629, label %5630, label %5634

5630:                                             ; preds = %5624
  %5631 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5632 = call i32 @fileno(ptr noundef %5631) #9
  %5633 = call i32 @isatty(i32 noundef %5632) #9
  %.not1261 = icmp eq i32 %5633, 0
  br i1 %.not1261, label %5634, label %5635

5634:                                             ; preds = %5630, %5624
  br label %5635

5635:                                             ; preds = %5630, %5634
  %.str.5.sink3295 = phi ptr [ @.str.5, %5634 ], [ @.str.2, %5630 ]
  store i32 %5625, ptr %423, align 4, !tbaa !5
  %5636 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5637 = load i32, ptr @test_count, align 4, !tbaa !5
  %5638 = load i32, ptr %369, align 4, !tbaa !5
  %5639 = call ptr @s2n_strerror(i32 noundef %5638, ptr noundef nonnull @.str.4) #9
  %5640 = load i32, ptr %369, align 4, !tbaa !5
  %5641 = call ptr @s2n_strerror_debug(i32 noundef %5640, ptr noundef nonnull @.str.4) #9
  %5642 = load i32, ptr %423, align 4, !tbaa !5
  %5643 = call ptr @strerror(i32 noundef %5642) #9
  %5644 = load i32, ptr %423, align 4, !tbaa !5
  %5645 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5636, ptr noundef nonnull %.str.5.sink3295, i32 noundef %5637, ptr noundef nonnull @.str.22, ptr noundef nonnull @.str.1, i32 noundef 347, ptr noundef %5639, ptr noundef %5641, ptr noundef %5643, i32 noundef %5644) #11
  call void @exit(i32 noundef 1) #12
  unreachable

5646:                                             ; preds = %5620
  store i32 0, ptr %369, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #9
  store i32 0, ptr %423, align 4, !tbaa !5
  %5647 = load i32, ptr @test_count, align 4, !tbaa !5
  %5648 = add nsw i32 %5647, 1
  store i32 %5648, ptr @test_count, align 4, !tbaa !5
  %5649 = load ptr, ptr %7, align 8, !tbaa !9
  %5650 = icmp eq ptr %5649, null
  br i1 %5650, label %5673, label %5651

5651:                                             ; preds = %5646
  %5652 = load i32, ptr %423, align 4, !tbaa !5
  %5653 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5654 = call i32 @s2n_print_stacktrace(ptr noundef %5653) #9
  %5655 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5656 = trunc nuw i8 %5655 to i1
  br i1 %5656, label %5657, label %5661

5657:                                             ; preds = %5651
  %5658 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5659 = call i32 @fileno(ptr noundef %5658) #9
  %5660 = call i32 @isatty(i32 noundef %5659) #9
  %.not1075 = icmp eq i32 %5660, 0
  br i1 %.not1075, label %5661, label %5662

5661:                                             ; preds = %5657, %5651
  br label %5662

5662:                                             ; preds = %5657, %5661
  %.str.5.sink3304 = phi ptr [ @.str.5, %5661 ], [ @.str.2, %5657 ]
  store i32 %5652, ptr %423, align 4, !tbaa !5
  %5663 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5664 = load i32, ptr @test_count, align 4, !tbaa !5
  %5665 = load i32, ptr %369, align 4, !tbaa !5
  %5666 = call ptr @s2n_strerror(i32 noundef %5665, ptr noundef nonnull @.str.4) #9
  %5667 = load i32, ptr %369, align 4, !tbaa !5
  %5668 = call ptr @s2n_strerror_debug(i32 noundef %5667, ptr noundef nonnull @.str.4) #9
  %5669 = load i32, ptr %423, align 4, !tbaa !5
  %5670 = call ptr @strerror(i32 noundef %5669) #9
  %5671 = load i32, ptr %423, align 4, !tbaa !5
  %5672 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5663, ptr noundef nonnull %.str.5.sink3304, i32 noundef %5664, ptr noundef nonnull @.str.71, ptr noundef nonnull @.str.1, i32 noundef 348, ptr noundef %5666, ptr noundef %5668, ptr noundef %5670, i32 noundef %5671) #11
  call void @exit(i32 noundef 1) #12
  unreachable

5673:                                             ; preds = %5646
  store i32 3, ptr %5032, align 4, !tbaa !49
  %5674 = add nsw i32 %5647, 2
  store i32 %5674, ptr @test_count, align 4, !tbaa !5
  %5675 = call i32 @s2n_select_certs_for_server_auth(ptr noundef nonnull %5003, ptr noundef nonnull %7) #9
  %5676 = icmp eq i32 %5675, -1
  br i1 %5676, label %5699, label %5677

5677:                                             ; preds = %5673
  %5678 = load i32, ptr %423, align 4, !tbaa !5
  %5679 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5680 = call i32 @s2n_print_stacktrace(ptr noundef %5679) #9
  %5681 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5682 = trunc nuw i8 %5681 to i1
  br i1 %5682, label %5683, label %5687

5683:                                             ; preds = %5677
  %5684 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5685 = call i32 @fileno(ptr noundef %5684) #9
  %5686 = call i32 @isatty(i32 noundef %5685) #9
  %.not1076 = icmp eq i32 %5686, 0
  br i1 %.not1076, label %5687, label %5688

5687:                                             ; preds = %5683, %5677
  br label %5688

5688:                                             ; preds = %5683, %5687
  %.str.5.sink3313 = phi ptr [ @.str.5, %5687 ], [ @.str.2, %5683 ]
  store i32 %5678, ptr %423, align 4, !tbaa !5
  %5689 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5690 = load i32, ptr @test_count, align 4, !tbaa !5
  %5691 = load i32, ptr %369, align 4, !tbaa !5
  %5692 = call ptr @s2n_strerror(i32 noundef %5691, ptr noundef nonnull @.str.4) #9
  %5693 = load i32, ptr %369, align 4, !tbaa !5
  %5694 = call ptr @s2n_strerror_debug(i32 noundef %5693, ptr noundef nonnull @.str.4) #9
  %5695 = load i32, ptr %423, align 4, !tbaa !5
  %5696 = call ptr @strerror(i32 noundef %5695) #9
  %5697 = load i32, ptr %423, align 4, !tbaa !5
  %5698 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5689, ptr noundef nonnull %.str.5.sink3313, i32 noundef %5690, ptr noundef nonnull @.str.68, ptr noundef nonnull @.str.1, i32 noundef 352, ptr noundef %5692, ptr noundef %5694, ptr noundef %5696, i32 noundef %5697) #11
  call void @exit(i32 noundef 1) #12
  unreachable

5699:                                             ; preds = %5673
  %5700 = load i32, ptr @test_count, align 4, !tbaa !5
  %5701 = add nsw i32 %5700, 1
  store i32 %5701, ptr @test_count, align 4, !tbaa !5
  %5702 = load i32, ptr %369, align 4, !tbaa !5
  %5703 = icmp eq i32 %5702, 0
  br i1 %5703, label %5704, label %5726

5704:                                             ; preds = %5699
  %5705 = load i32, ptr %423, align 4, !tbaa !5
  %5706 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5707 = call i32 @s2n_print_stacktrace(ptr noundef %5706) #9
  %5708 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5709 = trunc nuw i8 %5708 to i1
  br i1 %5709, label %5710, label %5714

5710:                                             ; preds = %5704
  %5711 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5712 = call i32 @fileno(ptr noundef %5711) #9
  %5713 = call i32 @isatty(i32 noundef %5712) #9
  %.not1260 = icmp eq i32 %5713, 0
  br i1 %.not1260, label %5714, label %5715

5714:                                             ; preds = %5710, %5704
  br label %5715

5715:                                             ; preds = %5710, %5714
  %.str.5.sink3322 = phi ptr [ @.str.5, %5714 ], [ @.str.2, %5710 ]
  store i32 %5705, ptr %423, align 4, !tbaa !5
  %5716 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5717 = load i32, ptr @test_count, align 4, !tbaa !5
  %5718 = load i32, ptr %369, align 4, !tbaa !5
  %5719 = call ptr @s2n_strerror(i32 noundef %5718, ptr noundef nonnull @.str.4) #9
  %5720 = load i32, ptr %369, align 4, !tbaa !5
  %5721 = call ptr @s2n_strerror_debug(i32 noundef %5720, ptr noundef nonnull @.str.4) #9
  %5722 = load i32, ptr %423, align 4, !tbaa !5
  %5723 = call ptr @strerror(i32 noundef %5722) #9
  %5724 = load i32, ptr %423, align 4, !tbaa !5
  %5725 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5716, ptr noundef nonnull %.str.5.sink3322, i32 noundef %5717, ptr noundef nonnull @.str.21, ptr noundef nonnull @.str.1, i32 noundef 352, ptr noundef %5719, ptr noundef %5721, ptr noundef %5723, i32 noundef %5724) #11
  call void @exit(i32 noundef 1) #12
  unreachable

5726:                                             ; preds = %5699
  %5727 = add nsw i32 %5700, 2
  store i32 %5727, ptr @test_count, align 4, !tbaa !5
  %5728 = call ptr @s2n_strerror_debug(i32 noundef %5702, ptr noundef nonnull @.str.4) #9
  %5729 = icmp eq ptr %5728, null
  br i1 %5729, label %5730, label %5752

5730:                                             ; preds = %5726
  %5731 = load i32, ptr %423, align 4, !tbaa !5
  %5732 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5733 = call i32 @s2n_print_stacktrace(ptr noundef %5732) #9
  %5734 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5735 = trunc nuw i8 %5734 to i1
  br i1 %5735, label %5736, label %5740

5736:                                             ; preds = %5730
  %5737 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5738 = call i32 @fileno(ptr noundef %5737) #9
  %5739 = call i32 @isatty(i32 noundef %5738) #9
  %.not1259 = icmp eq i32 %5739, 0
  br i1 %.not1259, label %5740, label %5741

5740:                                             ; preds = %5736, %5730
  br label %5741

5741:                                             ; preds = %5736, %5740
  %.str.5.sink3331 = phi ptr [ @.str.5, %5740 ], [ @.str.2, %5736 ]
  store i32 %5731, ptr %423, align 4, !tbaa !5
  %5742 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5743 = load i32, ptr @test_count, align 4, !tbaa !5
  %5744 = load i32, ptr %369, align 4, !tbaa !5
  %5745 = call ptr @s2n_strerror(i32 noundef %5744, ptr noundef nonnull @.str.4) #9
  %5746 = load i32, ptr %369, align 4, !tbaa !5
  %5747 = call ptr @s2n_strerror_debug(i32 noundef %5746, ptr noundef nonnull @.str.4) #9
  %5748 = load i32, ptr %423, align 4, !tbaa !5
  %5749 = call ptr @strerror(i32 noundef %5748) #9
  %5750 = load i32, ptr %423, align 4, !tbaa !5
  %5751 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5742, ptr noundef nonnull %.str.5.sink3331, i32 noundef %5743, ptr noundef nonnull @.str.22, ptr noundef nonnull @.str.1, i32 noundef 352, ptr noundef %5745, ptr noundef %5747, ptr noundef %5749, i32 noundef %5750) #11
  call void @exit(i32 noundef 1) #12
  unreachable

5752:                                             ; preds = %5726
  store i32 0, ptr %369, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #9
  store i32 0, ptr %423, align 4, !tbaa !5
  %5753 = load i32, ptr @test_count, align 4, !tbaa !5
  %5754 = add nsw i32 %5753, 1
  store i32 %5754, ptr @test_count, align 4, !tbaa !5
  %5755 = load ptr, ptr %7, align 8, !tbaa !9
  %5756 = icmp eq ptr %5755, null
  br i1 %5756, label %5779, label %5757

5757:                                             ; preds = %5752
  %5758 = load i32, ptr %423, align 4, !tbaa !5
  %5759 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5760 = call i32 @s2n_print_stacktrace(ptr noundef %5759) #9
  %5761 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5762 = trunc nuw i8 %5761 to i1
  br i1 %5762, label %5763, label %5767

5763:                                             ; preds = %5757
  %5764 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5765 = call i32 @fileno(ptr noundef %5764) #9
  %5766 = call i32 @isatty(i32 noundef %5765) #9
  %.not1077 = icmp eq i32 %5766, 0
  br i1 %.not1077, label %5767, label %5768

5767:                                             ; preds = %5763, %5757
  br label %5768

5768:                                             ; preds = %5763, %5767
  %.str.5.sink3340 = phi ptr [ @.str.5, %5767 ], [ @.str.2, %5763 ]
  store i32 %5758, ptr %423, align 4, !tbaa !5
  %5769 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5770 = load i32, ptr @test_count, align 4, !tbaa !5
  %5771 = load i32, ptr %369, align 4, !tbaa !5
  %5772 = call ptr @s2n_strerror(i32 noundef %5771, ptr noundef nonnull @.str.4) #9
  %5773 = load i32, ptr %369, align 4, !tbaa !5
  %5774 = call ptr @s2n_strerror_debug(i32 noundef %5773, ptr noundef nonnull @.str.4) #9
  %5775 = load i32, ptr %423, align 4, !tbaa !5
  %5776 = call ptr @strerror(i32 noundef %5775) #9
  %5777 = load i32, ptr %423, align 4, !tbaa !5
  %5778 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5769, ptr noundef nonnull %.str.5.sink3340, i32 noundef %5770, ptr noundef nonnull @.str.71, ptr noundef nonnull @.str.1, i32 noundef 353, ptr noundef %5772, ptr noundef %5774, ptr noundef %5776, i32 noundef %5777) #11
  call void @exit(i32 noundef 1) #12
  unreachable

5779:                                             ; preds = %5752
  %5780 = add nsw i32 %5753, 2
  store i32 %5780, ptr @test_count, align 4, !tbaa !5
  %5781 = call i32 @s2n_connection_free(ptr noundef nonnull %5003) #9
  %5782 = icmp eq i32 %5781, -1
  br i1 %5782, label %5783, label %5805

5783:                                             ; preds = %5779
  %5784 = load i32, ptr %423, align 4, !tbaa !5
  %5785 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5786 = call i32 @s2n_print_stacktrace(ptr noundef %5785) #9
  %5787 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5788 = trunc nuw i8 %5787 to i1
  br i1 %5788, label %5789, label %5793

5789:                                             ; preds = %5783
  %5790 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5791 = call i32 @fileno(ptr noundef %5790) #9
  %5792 = call i32 @isatty(i32 noundef %5791) #9
  %.not1258 = icmp eq i32 %5792, 0
  br i1 %.not1258, label %5793, label %5794

5793:                                             ; preds = %5789, %5783
  br label %5794

5794:                                             ; preds = %5789, %5793
  %.str.5.sink3349 = phi ptr [ @.str.5, %5793 ], [ @.str.2, %5789 ]
  store i32 %5784, ptr %423, align 4, !tbaa !5
  %5795 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5796 = load i32, ptr @test_count, align 4, !tbaa !5
  %5797 = load i32, ptr %369, align 4, !tbaa !5
  %5798 = call ptr @s2n_strerror(i32 noundef %5797, ptr noundef nonnull @.str.4) #9
  %5799 = load i32, ptr %369, align 4, !tbaa !5
  %5800 = call ptr @s2n_strerror_debug(i32 noundef %5799, ptr noundef nonnull @.str.4) #9
  %5801 = load i32, ptr %423, align 4, !tbaa !5
  %5802 = call ptr @strerror(i32 noundef %5801) #9
  %5803 = load i32, ptr %423, align 4, !tbaa !5
  %5804 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5795, ptr noundef nonnull %.str.5.sink3349, i32 noundef %5796, ptr noundef nonnull @.str.31, ptr noundef nonnull @.str.1, i32 noundef 355, ptr noundef %5798, ptr noundef %5800, ptr noundef %5802, i32 noundef %5803) #11
  call void @exit(i32 noundef 1) #12
  unreachable

5805:                                             ; preds = %5779
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %8) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %7) #9
  %5806 = call ptr @s2n_connection_new(i32 noundef 0) #9
  %5807 = load i32, ptr @test_count, align 4, !tbaa !5
  %5808 = add nsw i32 %5807, 1
  store i32 %5808, ptr @test_count, align 4, !tbaa !5
  %5809 = call i32 @s2n_connection_set_config(ptr noundef %5806, ptr noundef %246) #9
  %5810 = icmp eq i32 %5809, -1
  br i1 %5810, label %5811, label %5833

5811:                                             ; preds = %5805
  %5812 = load i32, ptr %423, align 4, !tbaa !5
  %5813 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5814 = call i32 @s2n_print_stacktrace(ptr noundef %5813) #9
  %5815 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5816 = trunc nuw i8 %5815 to i1
  br i1 %5816, label %5817, label %5821

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

5821:                                             ; preds = %5817, %5811
  br label %5822

5822:                                             ; preds = %5817, %5821
  %.str.5.sink3358 = phi ptr [ @.str.5, %5821 ], [ @.str.2, %5817 ]
  store i32 %5812, ptr %423, align 4, !tbaa !5
  %5823 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5824 = load i32, ptr @test_count, align 4, !tbaa !5
  %5825 = load i32, ptr %369, align 4, !tbaa !5
  %5826 = call ptr @s2n_strerror(i32 noundef %5825, ptr noundef nonnull @.str.4) #9
  %5827 = load i32, ptr %369, align 4, !tbaa !5
  %5828 = call ptr @s2n_strerror_debug(i32 noundef %5827, ptr noundef nonnull @.str.4) #9
  %5829 = load i32, ptr %423, align 4, !tbaa !5
  %5830 = call ptr @strerror(i32 noundef %5829) #9
  %5831 = load i32, ptr %423, align 4, !tbaa !5
  %5832 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5823, ptr noundef nonnull %.str.5.sink3358, i32 noundef %5824, ptr noundef nonnull @.str.30, ptr noundef nonnull @.str.1, i32 noundef 361, ptr noundef %5826, ptr noundef %5828, ptr noundef %5830, i32 noundef %5831) #11
  call void @exit(i32 noundef 1) #12
  unreachable

5833:                                             ; preds = %5805
  %5834 = load i32, ptr @test_count, align 4, !tbaa !5
  %5835 = add nsw i32 %5834, 1
  store i32 %5835, ptr @test_count, align 4, !tbaa !5
  %5836 = call i32 @s2n_connection_set_config(ptr noundef %5806, ptr noundef %183) #9
  %5837 = icmp eq i32 %5836, -1
  br i1 %5837, label %5838, label %5860

5838:                                             ; preds = %5833
  %5839 = load i32, ptr %423, align 4, !tbaa !5
  %5840 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5841 = call i32 @s2n_print_stacktrace(ptr noundef %5840) #9
  %5842 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5843 = trunc nuw i8 %5842 to i1
  br i1 %5843, label %5844, label %5848

5844:                                             ; preds = %5838
  %5845 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5846 = call i32 @fileno(ptr noundef %5845) #9
  %5847 = call i32 @isatty(i32 noundef %5846) #9
  %.not1256 = icmp eq i32 %5847, 0
  br i1 %.not1256, label %5848, label %5849

5848:                                             ; preds = %5844, %5838
  br label %5849

5849:                                             ; preds = %5844, %5848
  %.str.5.sink3367 = phi ptr [ @.str.5, %5848 ], [ @.str.2, %5844 ]
  store i32 %5839, ptr %423, align 4, !tbaa !5
  %5850 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5851 = load i32, ptr @test_count, align 4, !tbaa !5
  %5852 = load i32, ptr %369, align 4, !tbaa !5
  %5853 = call ptr @s2n_strerror(i32 noundef %5852, ptr noundef nonnull @.str.4) #9
  %5854 = load i32, ptr %369, align 4, !tbaa !5
  %5855 = call ptr @s2n_strerror_debug(i32 noundef %5854, ptr noundef nonnull @.str.4) #9
  %5856 = load i32, ptr %423, align 4, !tbaa !5
  %5857 = call ptr @strerror(i32 noundef %5856) #9
  %5858 = load i32, ptr %423, align 4, !tbaa !5
  %5859 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5850, ptr noundef nonnull %.str.5.sink3367, i32 noundef %5851, ptr noundef nonnull @.str.19, ptr noundef nonnull @.str.1, i32 noundef 364, ptr noundef %5853, ptr noundef %5855, ptr noundef %5857, i32 noundef %5858) #11
  call void @exit(i32 noundef 1) #12
  unreachable

5860:                                             ; preds = %5833
  %5861 = load i32, ptr @test_count, align 4, !tbaa !5
  %5862 = add nsw i32 %5861, 1
  store i32 %5862, ptr @test_count, align 4, !tbaa !5
  %5863 = call i32 @s2n_test_auth_combo(ptr noundef %5806, ptr noundef nonnull @s2n_dhe_rsa_with_3des_ede_cbc_sha, ptr noundef nonnull @s2n_rsa_pkcs1_md5_sha1, ptr noundef null)
  %5864 = icmp eq i32 %5863, -1
  br i1 %5864, label %5887, label %5865

5865:                                             ; preds = %5860
  %5866 = load i32, ptr %423, align 4, !tbaa !5
  %5867 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5868 = call i32 @s2n_print_stacktrace(ptr noundef %5867) #9
  %5869 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5870 = trunc nuw i8 %5869 to i1
  br i1 %5870, label %5871, label %5875

5871:                                             ; preds = %5865
  %5872 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5873 = call i32 @fileno(ptr noundef %5872) #9
  %5874 = call i32 @isatty(i32 noundef %5873) #9
  %.not1078 = icmp eq i32 %5874, 0
  br i1 %.not1078, label %5875, label %5876

5875:                                             ; preds = %5871, %5865
  br label %5876

5876:                                             ; preds = %5871, %5875
  %.str.5.sink3376 = phi ptr [ @.str.5, %5875 ], [ @.str.2, %5871 ]
  store i32 %5866, ptr %423, align 4, !tbaa !5
  %5877 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5878 = load i32, ptr @test_count, align 4, !tbaa !5
  %5879 = load i32, ptr %369, align 4, !tbaa !5
  %5880 = call ptr @s2n_strerror(i32 noundef %5879, ptr noundef nonnull @.str.4) #9
  %5881 = load i32, ptr %369, align 4, !tbaa !5
  %5882 = call ptr @s2n_strerror_debug(i32 noundef %5881, ptr noundef nonnull @.str.4) #9
  %5883 = load i32, ptr %423, align 4, !tbaa !5
  %5884 = call ptr @strerror(i32 noundef %5883) #9
  %5885 = load i32, ptr %423, align 4, !tbaa !5
  %5886 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5877, ptr noundef nonnull %.str.5.sink3376, i32 noundef %5878, ptr noundef nonnull @.str.72, ptr noundef nonnull @.str.1, i32 noundef 366, ptr noundef %5880, ptr noundef %5882, ptr noundef %5884, i32 noundef %5885) #11
  call void @exit(i32 noundef 1) #12
  unreachable

5887:                                             ; preds = %5860
  %5888 = load i32, ptr @test_count, align 4, !tbaa !5
  %5889 = add nsw i32 %5888, 1
  store i32 %5889, ptr @test_count, align 4, !tbaa !5
  %5890 = load i32, ptr %369, align 4, !tbaa !5
  %5891 = icmp eq i32 %5890, 0
  br i1 %5891, label %5892, label %5914

5892:                                             ; preds = %5887
  %5893 = load i32, ptr %423, align 4, !tbaa !5
  %5894 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5895 = call i32 @s2n_print_stacktrace(ptr noundef %5894) #9
  %5896 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5897 = trunc nuw i8 %5896 to i1
  br i1 %5897, label %5898, label %5902

5898:                                             ; preds = %5892
  %5899 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5900 = call i32 @fileno(ptr noundef %5899) #9
  %5901 = call i32 @isatty(i32 noundef %5900) #9
  %.not1255 = icmp eq i32 %5901, 0
  br i1 %.not1255, label %5902, label %5903

5902:                                             ; preds = %5898, %5892
  br label %5903

5903:                                             ; preds = %5898, %5902
  %.str.5.sink3385 = phi ptr [ @.str.5, %5902 ], [ @.str.2, %5898 ]
  store i32 %5893, ptr %423, align 4, !tbaa !5
  %5904 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5905 = load i32, ptr @test_count, align 4, !tbaa !5
  %5906 = load i32, ptr %369, align 4, !tbaa !5
  %5907 = call ptr @s2n_strerror(i32 noundef %5906, ptr noundef nonnull @.str.4) #9
  %5908 = load i32, ptr %369, align 4, !tbaa !5
  %5909 = call ptr @s2n_strerror_debug(i32 noundef %5908, ptr noundef nonnull @.str.4) #9
  %5910 = load i32, ptr %423, align 4, !tbaa !5
  %5911 = call ptr @strerror(i32 noundef %5910) #9
  %5912 = load i32, ptr %423, align 4, !tbaa !5
  %5913 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5904, ptr noundef nonnull %.str.5.sink3385, i32 noundef %5905, ptr noundef nonnull @.str.21, ptr noundef nonnull @.str.1, i32 noundef 366, ptr noundef %5907, ptr noundef %5909, ptr noundef %5911, i32 noundef %5912) #11
  call void @exit(i32 noundef 1) #12
  unreachable

5914:                                             ; preds = %5887
  %5915 = add nsw i32 %5888, 2
  store i32 %5915, ptr @test_count, align 4, !tbaa !5
  %5916 = call ptr @s2n_strerror_debug(i32 noundef %5890, ptr noundef nonnull @.str.4) #9
  %5917 = icmp eq ptr %5916, null
  br i1 %5917, label %5918, label %5940

5918:                                             ; preds = %5914
  %5919 = load i32, ptr %423, align 4, !tbaa !5
  %5920 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5921 = call i32 @s2n_print_stacktrace(ptr noundef %5920) #9
  %5922 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5923 = trunc nuw i8 %5922 to i1
  br i1 %5923, label %5924, label %5928

5924:                                             ; preds = %5918
  %5925 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5926 = call i32 @fileno(ptr noundef %5925) #9
  %5927 = call i32 @isatty(i32 noundef %5926) #9
  %.not1254 = icmp eq i32 %5927, 0
  br i1 %.not1254, label %5928, label %5929

5928:                                             ; preds = %5924, %5918
  br label %5929

5929:                                             ; preds = %5924, %5928
  %.str.5.sink3394 = phi ptr [ @.str.5, %5928 ], [ @.str.2, %5924 ]
  store i32 %5919, ptr %423, align 4, !tbaa !5
  %5930 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5931 = load i32, ptr @test_count, align 4, !tbaa !5
  %5932 = load i32, ptr %369, align 4, !tbaa !5
  %5933 = call ptr @s2n_strerror(i32 noundef %5932, ptr noundef nonnull @.str.4) #9
  %5934 = load i32, ptr %369, align 4, !tbaa !5
  %5935 = call ptr @s2n_strerror_debug(i32 noundef %5934, ptr noundef nonnull @.str.4) #9
  %5936 = load i32, ptr %423, align 4, !tbaa !5
  %5937 = call ptr @strerror(i32 noundef %5936) #9
  %5938 = load i32, ptr %423, align 4, !tbaa !5
  %5939 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5930, ptr noundef nonnull %.str.5.sink3394, i32 noundef %5931, ptr noundef nonnull @.str.22, ptr noundef nonnull @.str.1, i32 noundef 366, ptr noundef %5933, ptr noundef %5935, ptr noundef %5937, i32 noundef %5938) #11
  call void @exit(i32 noundef 1) #12
  unreachable

5940:                                             ; preds = %5914
  store i32 0, ptr %369, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #9
  store i32 0, ptr %423, align 4, !tbaa !5
  %5941 = load i32, ptr @test_count, align 4, !tbaa !5
  %5942 = add nsw i32 %5941, 1
  store i32 %5942, ptr @test_count, align 4, !tbaa !5
  %5943 = call i32 @s2n_test_auth_combo(ptr noundef %5806, ptr noundef nonnull @s2n_dhe_rsa_with_3des_ede_cbc_sha, ptr noundef nonnull @s2n_rsa_pss_pss_sha256, ptr noundef null)
  %5944 = icmp eq i32 %5943, -1
  br i1 %5944, label %5967, label %5945

5945:                                             ; preds = %5940
  %5946 = load i32, ptr %423, align 4, !tbaa !5
  %5947 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5948 = call i32 @s2n_print_stacktrace(ptr noundef %5947) #9
  %5949 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5950 = trunc nuw i8 %5949 to i1
  br i1 %5950, label %5951, label %5955

5951:                                             ; preds = %5945
  %5952 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5953 = call i32 @fileno(ptr noundef %5952) #9
  %5954 = call i32 @isatty(i32 noundef %5953) #9
  %.not1079 = icmp eq i32 %5954, 0
  br i1 %.not1079, label %5955, label %5956

5955:                                             ; preds = %5951, %5945
  br label %5956

5956:                                             ; preds = %5951, %5955
  %.str.5.sink3403 = phi ptr [ @.str.5, %5955 ], [ @.str.2, %5951 ]
  store i32 %5946, ptr %423, align 4, !tbaa !5
  %5957 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5958 = load i32, ptr @test_count, align 4, !tbaa !5
  %5959 = load i32, ptr %369, align 4, !tbaa !5
  %5960 = call ptr @s2n_strerror(i32 noundef %5959, ptr noundef nonnull @.str.4) #9
  %5961 = load i32, ptr %369, align 4, !tbaa !5
  %5962 = call ptr @s2n_strerror_debug(i32 noundef %5961, ptr noundef nonnull @.str.4) #9
  %5963 = load i32, ptr %423, align 4, !tbaa !5
  %5964 = call ptr @strerror(i32 noundef %5963) #9
  %5965 = load i32, ptr %423, align 4, !tbaa !5
  %5966 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5957, ptr noundef nonnull %.str.5.sink3403, i32 noundef %5958, ptr noundef nonnull @.str.73, ptr noundef nonnull @.str.1, i32 noundef 367, ptr noundef %5960, ptr noundef %5962, ptr noundef %5964, i32 noundef %5965) #11
  call void @exit(i32 noundef 1) #12
  unreachable

5967:                                             ; preds = %5940
  %5968 = load i32, ptr @test_count, align 4, !tbaa !5
  %5969 = add nsw i32 %5968, 1
  store i32 %5969, ptr @test_count, align 4, !tbaa !5
  %5970 = load i32, ptr %369, align 4, !tbaa !5
  %5971 = icmp eq i32 %5970, 0
  br i1 %5971, label %5972, label %5994

5972:                                             ; preds = %5967
  %5973 = load i32, ptr %423, align 4, !tbaa !5
  %5974 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5975 = call i32 @s2n_print_stacktrace(ptr noundef %5974) #9
  %5976 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5977 = trunc nuw i8 %5976 to i1
  br i1 %5977, label %5978, label %5982

5978:                                             ; preds = %5972
  %5979 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5980 = call i32 @fileno(ptr noundef %5979) #9
  %5981 = call i32 @isatty(i32 noundef %5980) #9
  %.not1253 = icmp eq i32 %5981, 0
  br i1 %.not1253, label %5982, label %5983

5982:                                             ; preds = %5978, %5972
  br label %5983

5983:                                             ; preds = %5978, %5982
  %.str.5.sink3412 = phi ptr [ @.str.5, %5982 ], [ @.str.2, %5978 ]
  store i32 %5973, ptr %423, align 4, !tbaa !5
  %5984 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5985 = load i32, ptr @test_count, align 4, !tbaa !5
  %5986 = load i32, ptr %369, align 4, !tbaa !5
  %5987 = call ptr @s2n_strerror(i32 noundef %5986, ptr noundef nonnull @.str.4) #9
  %5988 = load i32, ptr %369, align 4, !tbaa !5
  %5989 = call ptr @s2n_strerror_debug(i32 noundef %5988, ptr noundef nonnull @.str.4) #9
  %5990 = load i32, ptr %423, align 4, !tbaa !5
  %5991 = call ptr @strerror(i32 noundef %5990) #9
  %5992 = load i32, ptr %423, align 4, !tbaa !5
  %5993 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5984, ptr noundef nonnull %.str.5.sink3412, i32 noundef %5985, ptr noundef nonnull @.str.21, ptr noundef nonnull @.str.1, i32 noundef 367, ptr noundef %5987, ptr noundef %5989, ptr noundef %5991, i32 noundef %5992) #11
  call void @exit(i32 noundef 1) #12
  unreachable

5994:                                             ; preds = %5967
  %5995 = add nsw i32 %5968, 2
  store i32 %5995, ptr @test_count, align 4, !tbaa !5
  %5996 = call ptr @s2n_strerror_debug(i32 noundef %5970, ptr noundef nonnull @.str.4) #9
  %5997 = icmp eq ptr %5996, null
  br i1 %5997, label %5998, label %6020

5998:                                             ; preds = %5994
  %5999 = load i32, ptr %423, align 4, !tbaa !5
  %6000 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6001 = call i32 @s2n_print_stacktrace(ptr noundef %6000) #9
  %6002 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6003 = trunc nuw i8 %6002 to i1
  br i1 %6003, label %6004, label %6008

6004:                                             ; preds = %5998
  %6005 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6006 = call i32 @fileno(ptr noundef %6005) #9
  %6007 = call i32 @isatty(i32 noundef %6006) #9
  %.not1252 = icmp eq i32 %6007, 0
  br i1 %.not1252, label %6008, label %6009

6008:                                             ; preds = %6004, %5998
  br label %6009

6009:                                             ; preds = %6004, %6008
  %.str.5.sink3421 = phi ptr [ @.str.5, %6008 ], [ @.str.2, %6004 ]
  store i32 %5999, ptr %423, align 4, !tbaa !5
  %6010 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6011 = load i32, ptr @test_count, align 4, !tbaa !5
  %6012 = load i32, ptr %369, align 4, !tbaa !5
  %6013 = call ptr @s2n_strerror(i32 noundef %6012, ptr noundef nonnull @.str.4) #9
  %6014 = load i32, ptr %369, align 4, !tbaa !5
  %6015 = call ptr @s2n_strerror_debug(i32 noundef %6014, ptr noundef nonnull @.str.4) #9
  %6016 = load i32, ptr %423, align 4, !tbaa !5
  %6017 = call ptr @strerror(i32 noundef %6016) #9
  %6018 = load i32, ptr %423, align 4, !tbaa !5
  %6019 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6010, ptr noundef nonnull %.str.5.sink3421, i32 noundef %6011, ptr noundef nonnull @.str.22, ptr noundef nonnull @.str.1, i32 noundef 367, ptr noundef %6013, ptr noundef %6015, ptr noundef %6017, i32 noundef %6018) #11
  call void @exit(i32 noundef 1) #12
  unreachable

6020:                                             ; preds = %5994
  store i32 0, ptr %369, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #9
  store i32 0, ptr %423, align 4, !tbaa !5
  %6021 = load i32, ptr @test_count, align 4, !tbaa !5
  %6022 = add nsw i32 %6021, 1
  store i32 %6022, ptr @test_count, align 4, !tbaa !5
  %6023 = call i32 @s2n_test_auth_combo(ptr noundef %5806, ptr noundef nonnull @s2n_dhe_rsa_with_3des_ede_cbc_sha, ptr noundef nonnull @s2n_rsa_pss_rsae_sha256, ptr noundef null)
  %6024 = icmp eq i32 %6023, -1
  br i1 %6024, label %6047, label %6025

6025:                                             ; preds = %6020
  %6026 = load i32, ptr %423, align 4, !tbaa !5
  %6027 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6028 = call i32 @s2n_print_stacktrace(ptr noundef %6027) #9
  %6029 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6030 = trunc nuw i8 %6029 to i1
  br i1 %6030, label %6031, label %6035

6031:                                             ; preds = %6025
  %6032 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6033 = call i32 @fileno(ptr noundef %6032) #9
  %6034 = call i32 @isatty(i32 noundef %6033) #9
  %.not1080 = icmp eq i32 %6034, 0
  br i1 %.not1080, label %6035, label %6036

6035:                                             ; preds = %6031, %6025
  br label %6036

6036:                                             ; preds = %6031, %6035
  %.str.5.sink3430 = phi ptr [ @.str.5, %6035 ], [ @.str.2, %6031 ]
  store i32 %6026, ptr %423, align 4, !tbaa !5
  %6037 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6038 = load i32, ptr @test_count, align 4, !tbaa !5
  %6039 = load i32, ptr %369, align 4, !tbaa !5
  %6040 = call ptr @s2n_strerror(i32 noundef %6039, ptr noundef nonnull @.str.4) #9
  %6041 = load i32, ptr %369, align 4, !tbaa !5
  %6042 = call ptr @s2n_strerror_debug(i32 noundef %6041, ptr noundef nonnull @.str.4) #9
  %6043 = load i32, ptr %423, align 4, !tbaa !5
  %6044 = call ptr @strerror(i32 noundef %6043) #9
  %6045 = load i32, ptr %423, align 4, !tbaa !5
  %6046 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6037, ptr noundef nonnull %.str.5.sink3430, i32 noundef %6038, ptr noundef nonnull @.str.74, ptr noundef nonnull @.str.1, i32 noundef 368, ptr noundef %6040, ptr noundef %6042, ptr noundef %6044, i32 noundef %6045) #11
  call void @exit(i32 noundef 1) #12
  unreachable

6047:                                             ; preds = %6020
  %6048 = load i32, ptr @test_count, align 4, !tbaa !5
  %6049 = add nsw i32 %6048, 1
  store i32 %6049, ptr @test_count, align 4, !tbaa !5
  %6050 = load i32, ptr %369, align 4, !tbaa !5
  %6051 = icmp eq i32 %6050, 0
  br i1 %6051, label %6052, label %6074

6052:                                             ; preds = %6047
  %6053 = load i32, ptr %423, align 4, !tbaa !5
  %6054 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6055 = call i32 @s2n_print_stacktrace(ptr noundef %6054) #9
  %6056 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6057 = trunc nuw i8 %6056 to i1
  br i1 %6057, label %6058, label %6062

6058:                                             ; preds = %6052
  %6059 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6060 = call i32 @fileno(ptr noundef %6059) #9
  %6061 = call i32 @isatty(i32 noundef %6060) #9
  %.not1251 = icmp eq i32 %6061, 0
  br i1 %.not1251, label %6062, label %6063

6062:                                             ; preds = %6058, %6052
  br label %6063

6063:                                             ; preds = %6058, %6062
  %.str.5.sink3439 = phi ptr [ @.str.5, %6062 ], [ @.str.2, %6058 ]
  store i32 %6053, ptr %423, align 4, !tbaa !5
  %6064 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6065 = load i32, ptr @test_count, align 4, !tbaa !5
  %6066 = load i32, ptr %369, align 4, !tbaa !5
  %6067 = call ptr @s2n_strerror(i32 noundef %6066, ptr noundef nonnull @.str.4) #9
  %6068 = load i32, ptr %369, align 4, !tbaa !5
  %6069 = call ptr @s2n_strerror_debug(i32 noundef %6068, ptr noundef nonnull @.str.4) #9
  %6070 = load i32, ptr %423, align 4, !tbaa !5
  %6071 = call ptr @strerror(i32 noundef %6070) #9
  %6072 = load i32, ptr %423, align 4, !tbaa !5
  %6073 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6064, ptr noundef nonnull %.str.5.sink3439, i32 noundef %6065, ptr noundef nonnull @.str.21, ptr noundef nonnull @.str.1, i32 noundef 368, ptr noundef %6067, ptr noundef %6069, ptr noundef %6071, i32 noundef %6072) #11
  call void @exit(i32 noundef 1) #12
  unreachable

6074:                                             ; preds = %6047
  %6075 = add nsw i32 %6048, 2
  store i32 %6075, ptr @test_count, align 4, !tbaa !5
  %6076 = call ptr @s2n_strerror_debug(i32 noundef %6050, ptr noundef nonnull @.str.4) #9
  %6077 = icmp eq ptr %6076, null
  br i1 %6077, label %6078, label %6100

6078:                                             ; preds = %6074
  %6079 = load i32, ptr %423, align 4, !tbaa !5
  %6080 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6081 = call i32 @s2n_print_stacktrace(ptr noundef %6080) #9
  %6082 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6083 = trunc nuw i8 %6082 to i1
  br i1 %6083, label %6084, label %6088

6084:                                             ; preds = %6078
  %6085 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6086 = call i32 @fileno(ptr noundef %6085) #9
  %6087 = call i32 @isatty(i32 noundef %6086) #9
  %.not1250 = icmp eq i32 %6087, 0
  br i1 %.not1250, label %6088, label %6089

6088:                                             ; preds = %6084, %6078
  br label %6089

6089:                                             ; preds = %6084, %6088
  %.str.5.sink3448 = phi ptr [ @.str.5, %6088 ], [ @.str.2, %6084 ]
  store i32 %6079, ptr %423, align 4, !tbaa !5
  %6090 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6091 = load i32, ptr @test_count, align 4, !tbaa !5
  %6092 = load i32, ptr %369, align 4, !tbaa !5
  %6093 = call ptr @s2n_strerror(i32 noundef %6092, ptr noundef nonnull @.str.4) #9
  %6094 = load i32, ptr %369, align 4, !tbaa !5
  %6095 = call ptr @s2n_strerror_debug(i32 noundef %6094, ptr noundef nonnull @.str.4) #9
  %6096 = load i32, ptr %423, align 4, !tbaa !5
  %6097 = call ptr @strerror(i32 noundef %6096) #9
  %6098 = load i32, ptr %423, align 4, !tbaa !5
  %6099 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6090, ptr noundef nonnull %.str.5.sink3448, i32 noundef %6091, ptr noundef nonnull @.str.22, ptr noundef nonnull @.str.1, i32 noundef 368, ptr noundef %6093, ptr noundef %6095, ptr noundef %6097, i32 noundef %6098) #11
  call void @exit(i32 noundef 1) #12
  unreachable

6100:                                             ; preds = %6074
  store i32 0, ptr %369, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #9
  store i32 0, ptr %423, align 4, !tbaa !5
  %6101 = load i32, ptr @test_count, align 4, !tbaa !5
  %6102 = add nsw i32 %6101, 1
  store i32 %6102, ptr @test_count, align 4, !tbaa !5
  %6103 = call i32 @s2n_test_auth_combo(ptr noundef %5806, ptr noundef nonnull @s2n_dhe_rsa_with_3des_ede_cbc_sha, ptr noundef nonnull @s2n_ecdsa_sha384, ptr noundef null)
  %6104 = icmp eq i32 %6103, -1
  br i1 %6104, label %6127, label %6105

6105:                                             ; preds = %6100
  %6106 = load i32, ptr %423, align 4, !tbaa !5
  %6107 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6108 = call i32 @s2n_print_stacktrace(ptr noundef %6107) #9
  %6109 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6110 = trunc nuw i8 %6109 to i1
  br i1 %6110, label %6111, label %6115

6111:                                             ; preds = %6105
  %6112 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6113 = call i32 @fileno(ptr noundef %6112) #9
  %6114 = call i32 @isatty(i32 noundef %6113) #9
  %.not1081 = icmp eq i32 %6114, 0
  br i1 %.not1081, label %6115, label %6116

6115:                                             ; preds = %6111, %6105
  br label %6116

6116:                                             ; preds = %6111, %6115
  %.str.5.sink3457 = phi ptr [ @.str.5, %6115 ], [ @.str.2, %6111 ]
  store i32 %6106, ptr %423, align 4, !tbaa !5
  %6117 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6118 = load i32, ptr @test_count, align 4, !tbaa !5
  %6119 = load i32, ptr %369, align 4, !tbaa !5
  %6120 = call ptr @s2n_strerror(i32 noundef %6119, ptr noundef nonnull @.str.4) #9
  %6121 = load i32, ptr %369, align 4, !tbaa !5
  %6122 = call ptr @s2n_strerror_debug(i32 noundef %6121, ptr noundef nonnull @.str.4) #9
  %6123 = load i32, ptr %423, align 4, !tbaa !5
  %6124 = call ptr @strerror(i32 noundef %6123) #9
  %6125 = load i32, ptr %423, align 4, !tbaa !5
  %6126 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6117, ptr noundef nonnull %.str.5.sink3457, i32 noundef %6118, ptr noundef nonnull @.str.75, ptr noundef nonnull @.str.1, i32 noundef 369, ptr noundef %6120, ptr noundef %6122, ptr noundef %6124, i32 noundef %6125) #11
  call void @exit(i32 noundef 1) #12
  unreachable

6127:                                             ; preds = %6100
  %6128 = load i32, ptr @test_count, align 4, !tbaa !5
  %6129 = add nsw i32 %6128, 1
  store i32 %6129, ptr @test_count, align 4, !tbaa !5
  %6130 = load i32, ptr %369, align 4, !tbaa !5
  %6131 = icmp eq i32 %6130, 0
  br i1 %6131, label %6132, label %6154

6132:                                             ; preds = %6127
  %6133 = load i32, ptr %423, align 4, !tbaa !5
  %6134 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6135 = call i32 @s2n_print_stacktrace(ptr noundef %6134) #9
  %6136 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6137 = trunc nuw i8 %6136 to i1
  br i1 %6137, label %6138, label %6142

6138:                                             ; preds = %6132
  %6139 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6140 = call i32 @fileno(ptr noundef %6139) #9
  %6141 = call i32 @isatty(i32 noundef %6140) #9
  %.not1249 = icmp eq i32 %6141, 0
  br i1 %.not1249, label %6142, label %6143

6142:                                             ; preds = %6138, %6132
  br label %6143

6143:                                             ; preds = %6138, %6142
  %.str.5.sink3466 = phi ptr [ @.str.5, %6142 ], [ @.str.2, %6138 ]
  store i32 %6133, ptr %423, align 4, !tbaa !5
  %6144 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6145 = load i32, ptr @test_count, align 4, !tbaa !5
  %6146 = load i32, ptr %369, align 4, !tbaa !5
  %6147 = call ptr @s2n_strerror(i32 noundef %6146, ptr noundef nonnull @.str.4) #9
  %6148 = load i32, ptr %369, align 4, !tbaa !5
  %6149 = call ptr @s2n_strerror_debug(i32 noundef %6148, ptr noundef nonnull @.str.4) #9
  %6150 = load i32, ptr %423, align 4, !tbaa !5
  %6151 = call ptr @strerror(i32 noundef %6150) #9
  %6152 = load i32, ptr %423, align 4, !tbaa !5
  %6153 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6144, ptr noundef nonnull %.str.5.sink3466, i32 noundef %6145, ptr noundef nonnull @.str.21, ptr noundef nonnull @.str.1, i32 noundef 369, ptr noundef %6147, ptr noundef %6149, ptr noundef %6151, i32 noundef %6152) #11
  call void @exit(i32 noundef 1) #12
  unreachable

6154:                                             ; preds = %6127
  %6155 = add nsw i32 %6128, 2
  store i32 %6155, ptr @test_count, align 4, !tbaa !5
  %6156 = call ptr @s2n_strerror_debug(i32 noundef %6130, ptr noundef nonnull @.str.4) #9
  %6157 = icmp eq ptr %6156, null
  br i1 %6157, label %6158, label %6180

6158:                                             ; preds = %6154
  %6159 = load i32, ptr %423, align 4, !tbaa !5
  %6160 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6161 = call i32 @s2n_print_stacktrace(ptr noundef %6160) #9
  %6162 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6163 = trunc nuw i8 %6162 to i1
  br i1 %6163, label %6164, label %6168

6164:                                             ; preds = %6158
  %6165 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6166 = call i32 @fileno(ptr noundef %6165) #9
  %6167 = call i32 @isatty(i32 noundef %6166) #9
  %.not1248 = icmp eq i32 %6167, 0
  br i1 %.not1248, label %6168, label %6169

6168:                                             ; preds = %6164, %6158
  br label %6169

6169:                                             ; preds = %6164, %6168
  %.str.5.sink3475 = phi ptr [ @.str.5, %6168 ], [ @.str.2, %6164 ]
  store i32 %6159, ptr %423, align 4, !tbaa !5
  %6170 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6171 = load i32, ptr @test_count, align 4, !tbaa !5
  %6172 = load i32, ptr %369, align 4, !tbaa !5
  %6173 = call ptr @s2n_strerror(i32 noundef %6172, ptr noundef nonnull @.str.4) #9
  %6174 = load i32, ptr %369, align 4, !tbaa !5
  %6175 = call ptr @s2n_strerror_debug(i32 noundef %6174, ptr noundef nonnull @.str.4) #9
  %6176 = load i32, ptr %423, align 4, !tbaa !5
  %6177 = call ptr @strerror(i32 noundef %6176) #9
  %6178 = load i32, ptr %423, align 4, !tbaa !5
  %6179 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6170, ptr noundef nonnull %.str.5.sink3475, i32 noundef %6171, ptr noundef nonnull @.str.22, ptr noundef nonnull @.str.1, i32 noundef 369, ptr noundef %6173, ptr noundef %6175, ptr noundef %6177, i32 noundef %6178) #11
  call void @exit(i32 noundef 1) #12
  unreachable

6180:                                             ; preds = %6154
  store i32 0, ptr %369, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #9
  store i32 0, ptr %423, align 4, !tbaa !5
  %6181 = load i32, ptr @test_count, align 4, !tbaa !5
  %6182 = add nsw i32 %6181, 1
  store i32 %6182, ptr @test_count, align 4, !tbaa !5
  %6183 = call i32 @s2n_test_auth_combo(ptr noundef %5806, ptr noundef nonnull @s2n_ecdhe_ecdsa_with_aes_128_cbc_sha, ptr noundef nonnull @s2n_rsa_pkcs1_md5_sha1, ptr noundef null)
  %6184 = icmp eq i32 %6183, -1
  br i1 %6184, label %6207, label %6185

6185:                                             ; preds = %6180
  %6186 = load i32, ptr %423, align 4, !tbaa !5
  %6187 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6188 = call i32 @s2n_print_stacktrace(ptr noundef %6187) #9
  %6189 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6190 = trunc nuw i8 %6189 to i1
  br i1 %6190, label %6191, label %6195

6191:                                             ; preds = %6185
  %6192 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6193 = call i32 @fileno(ptr noundef %6192) #9
  %6194 = call i32 @isatty(i32 noundef %6193) #9
  %.not1082 = icmp eq i32 %6194, 0
  br i1 %.not1082, label %6195, label %6196

6195:                                             ; preds = %6191, %6185
  br label %6196

6196:                                             ; preds = %6191, %6195
  %.str.5.sink3484 = phi ptr [ @.str.5, %6195 ], [ @.str.2, %6191 ]
  store i32 %6186, ptr %423, align 4, !tbaa !5
  %6197 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6198 = load i32, ptr @test_count, align 4, !tbaa !5
  %6199 = load i32, ptr %369, align 4, !tbaa !5
  %6200 = call ptr @s2n_strerror(i32 noundef %6199, ptr noundef nonnull @.str.4) #9
  %6201 = load i32, ptr %369, align 4, !tbaa !5
  %6202 = call ptr @s2n_strerror_debug(i32 noundef %6201, ptr noundef nonnull @.str.4) #9
  %6203 = load i32, ptr %423, align 4, !tbaa !5
  %6204 = call ptr @strerror(i32 noundef %6203) #9
  %6205 = load i32, ptr %423, align 4, !tbaa !5
  %6206 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6197, ptr noundef nonnull %.str.5.sink3484, i32 noundef %6198, ptr noundef nonnull @.str.76, ptr noundef nonnull @.str.1, i32 noundef 371, ptr noundef %6200, ptr noundef %6202, ptr noundef %6204, i32 noundef %6205) #11
  call void @exit(i32 noundef 1) #12
  unreachable

6207:                                             ; preds = %6180
  %6208 = load i32, ptr @test_count, align 4, !tbaa !5
  %6209 = add nsw i32 %6208, 1
  store i32 %6209, ptr @test_count, align 4, !tbaa !5
  %6210 = load i32, ptr %369, align 4, !tbaa !5
  %6211 = icmp eq i32 %6210, 0
  br i1 %6211, label %6212, label %6234

6212:                                             ; preds = %6207
  %6213 = load i32, ptr %423, align 4, !tbaa !5
  %6214 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6215 = call i32 @s2n_print_stacktrace(ptr noundef %6214) #9
  %6216 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6217 = trunc nuw i8 %6216 to i1
  br i1 %6217, label %6218, label %6222

6218:                                             ; preds = %6212
  %6219 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6220 = call i32 @fileno(ptr noundef %6219) #9
  %6221 = call i32 @isatty(i32 noundef %6220) #9
  %.not1247 = icmp eq i32 %6221, 0
  br i1 %.not1247, label %6222, label %6223

6222:                                             ; preds = %6218, %6212
  br label %6223

6223:                                             ; preds = %6218, %6222
  %.str.5.sink3493 = phi ptr [ @.str.5, %6222 ], [ @.str.2, %6218 ]
  store i32 %6213, ptr %423, align 4, !tbaa !5
  %6224 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6225 = load i32, ptr @test_count, align 4, !tbaa !5
  %6226 = load i32, ptr %369, align 4, !tbaa !5
  %6227 = call ptr @s2n_strerror(i32 noundef %6226, ptr noundef nonnull @.str.4) #9
  %6228 = load i32, ptr %369, align 4, !tbaa !5
  %6229 = call ptr @s2n_strerror_debug(i32 noundef %6228, ptr noundef nonnull @.str.4) #9
  %6230 = load i32, ptr %423, align 4, !tbaa !5
  %6231 = call ptr @strerror(i32 noundef %6230) #9
  %6232 = load i32, ptr %423, align 4, !tbaa !5
  %6233 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6224, ptr noundef nonnull %.str.5.sink3493, i32 noundef %6225, ptr noundef nonnull @.str.21, ptr noundef nonnull @.str.1, i32 noundef 371, ptr noundef %6227, ptr noundef %6229, ptr noundef %6231, i32 noundef %6232) #11
  call void @exit(i32 noundef 1) #12
  unreachable

6234:                                             ; preds = %6207
  %6235 = add nsw i32 %6208, 2
  store i32 %6235, ptr @test_count, align 4, !tbaa !5
  %6236 = call ptr @s2n_strerror_debug(i32 noundef %6210, ptr noundef nonnull @.str.4) #9
  %6237 = icmp eq ptr %6236, null
  br i1 %6237, label %6238, label %6260

6238:                                             ; preds = %6234
  %6239 = load i32, ptr %423, align 4, !tbaa !5
  %6240 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6241 = call i32 @s2n_print_stacktrace(ptr noundef %6240) #9
  %6242 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6243 = trunc nuw i8 %6242 to i1
  br i1 %6243, label %6244, label %6248

6244:                                             ; preds = %6238
  %6245 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6246 = call i32 @fileno(ptr noundef %6245) #9
  %6247 = call i32 @isatty(i32 noundef %6246) #9
  %.not1246 = icmp eq i32 %6247, 0
  br i1 %.not1246, label %6248, label %6249

6248:                                             ; preds = %6244, %6238
  br label %6249

6249:                                             ; preds = %6244, %6248
  %.str.5.sink3502 = phi ptr [ @.str.5, %6248 ], [ @.str.2, %6244 ]
  store i32 %6239, ptr %423, align 4, !tbaa !5
  %6250 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6251 = load i32, ptr @test_count, align 4, !tbaa !5
  %6252 = load i32, ptr %369, align 4, !tbaa !5
  %6253 = call ptr @s2n_strerror(i32 noundef %6252, ptr noundef nonnull @.str.4) #9
  %6254 = load i32, ptr %369, align 4, !tbaa !5
  %6255 = call ptr @s2n_strerror_debug(i32 noundef %6254, ptr noundef nonnull @.str.4) #9
  %6256 = load i32, ptr %423, align 4, !tbaa !5
  %6257 = call ptr @strerror(i32 noundef %6256) #9
  %6258 = load i32, ptr %423, align 4, !tbaa !5
  %6259 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6250, ptr noundef nonnull %.str.5.sink3502, i32 noundef %6251, ptr noundef nonnull @.str.22, ptr noundef nonnull @.str.1, i32 noundef 371, ptr noundef %6253, ptr noundef %6255, ptr noundef %6257, i32 noundef %6258) #11
  call void @exit(i32 noundef 1) #12
  unreachable

6260:                                             ; preds = %6234
  store i32 0, ptr %369, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #9
  store i32 0, ptr %423, align 4, !tbaa !5
  %6261 = load i32, ptr @test_count, align 4, !tbaa !5
  %6262 = add nsw i32 %6261, 1
  store i32 %6262, ptr @test_count, align 4, !tbaa !5
  %6263 = call i32 @s2n_test_auth_combo(ptr noundef %5806, ptr noundef nonnull @s2n_ecdhe_ecdsa_with_aes_128_cbc_sha, ptr noundef nonnull @s2n_rsa_pss_pss_sha256, ptr noundef null)
  %6264 = icmp eq i32 %6263, -1
  br i1 %6264, label %6287, label %6265

6265:                                             ; preds = %6260
  %6266 = load i32, ptr %423, align 4, !tbaa !5
  %6267 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6268 = call i32 @s2n_print_stacktrace(ptr noundef %6267) #9
  %6269 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6270 = trunc nuw i8 %6269 to i1
  br i1 %6270, label %6271, label %6275

6271:                                             ; preds = %6265
  %6272 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6273 = call i32 @fileno(ptr noundef %6272) #9
  %6274 = call i32 @isatty(i32 noundef %6273) #9
  %.not1083 = icmp eq i32 %6274, 0
  br i1 %.not1083, label %6275, label %6276

6275:                                             ; preds = %6271, %6265
  br label %6276

6276:                                             ; preds = %6271, %6275
  %.str.5.sink3511 = phi ptr [ @.str.5, %6275 ], [ @.str.2, %6271 ]
  store i32 %6266, ptr %423, align 4, !tbaa !5
  %6277 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6278 = load i32, ptr @test_count, align 4, !tbaa !5
  %6279 = load i32, ptr %369, align 4, !tbaa !5
  %6280 = call ptr @s2n_strerror(i32 noundef %6279, ptr noundef nonnull @.str.4) #9
  %6281 = load i32, ptr %369, align 4, !tbaa !5
  %6282 = call ptr @s2n_strerror_debug(i32 noundef %6281, ptr noundef nonnull @.str.4) #9
  %6283 = load i32, ptr %423, align 4, !tbaa !5
  %6284 = call ptr @strerror(i32 noundef %6283) #9
  %6285 = load i32, ptr %423, align 4, !tbaa !5
  %6286 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6277, ptr noundef nonnull %.str.5.sink3511, i32 noundef %6278, ptr noundef nonnull @.str.77, ptr noundef nonnull @.str.1, i32 noundef 372, ptr noundef %6280, ptr noundef %6282, ptr noundef %6284, i32 noundef %6285) #11
  call void @exit(i32 noundef 1) #12
  unreachable

6287:                                             ; preds = %6260
  %6288 = load i32, ptr @test_count, align 4, !tbaa !5
  %6289 = add nsw i32 %6288, 1
  store i32 %6289, ptr @test_count, align 4, !tbaa !5
  %6290 = load i32, ptr %369, align 4, !tbaa !5
  %6291 = icmp eq i32 %6290, 0
  br i1 %6291, label %6292, label %6314

6292:                                             ; preds = %6287
  %6293 = load i32, ptr %423, align 4, !tbaa !5
  %6294 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6295 = call i32 @s2n_print_stacktrace(ptr noundef %6294) #9
  %6296 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6297 = trunc nuw i8 %6296 to i1
  br i1 %6297, label %6298, label %6302

6298:                                             ; preds = %6292
  %6299 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6300 = call i32 @fileno(ptr noundef %6299) #9
  %6301 = call i32 @isatty(i32 noundef %6300) #9
  %.not1245 = icmp eq i32 %6301, 0
  br i1 %.not1245, label %6302, label %6303

6302:                                             ; preds = %6298, %6292
  br label %6303

6303:                                             ; preds = %6298, %6302
  %.str.5.sink3520 = phi ptr [ @.str.5, %6302 ], [ @.str.2, %6298 ]
  store i32 %6293, ptr %423, align 4, !tbaa !5
  %6304 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6305 = load i32, ptr @test_count, align 4, !tbaa !5
  %6306 = load i32, ptr %369, align 4, !tbaa !5
  %6307 = call ptr @s2n_strerror(i32 noundef %6306, ptr noundef nonnull @.str.4) #9
  %6308 = load i32, ptr %369, align 4, !tbaa !5
  %6309 = call ptr @s2n_strerror_debug(i32 noundef %6308, ptr noundef nonnull @.str.4) #9
  %6310 = load i32, ptr %423, align 4, !tbaa !5
  %6311 = call ptr @strerror(i32 noundef %6310) #9
  %6312 = load i32, ptr %423, align 4, !tbaa !5
  %6313 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6304, ptr noundef nonnull %.str.5.sink3520, i32 noundef %6305, ptr noundef nonnull @.str.21, ptr noundef nonnull @.str.1, i32 noundef 372, ptr noundef %6307, ptr noundef %6309, ptr noundef %6311, i32 noundef %6312) #11
  call void @exit(i32 noundef 1) #12
  unreachable

6314:                                             ; preds = %6287
  %6315 = add nsw i32 %6288, 2
  store i32 %6315, ptr @test_count, align 4, !tbaa !5
  %6316 = call ptr @s2n_strerror_debug(i32 noundef %6290, ptr noundef nonnull @.str.4) #9
  %6317 = icmp eq ptr %6316, null
  br i1 %6317, label %6318, label %6340

6318:                                             ; preds = %6314
  %6319 = load i32, ptr %423, align 4, !tbaa !5
  %6320 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6321 = call i32 @s2n_print_stacktrace(ptr noundef %6320) #9
  %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) #9
  %6327 = call i32 @isatty(i32 noundef %6326) #9
  %.not1244 = icmp eq i32 %6327, 0
  br i1 %.not1244, label %6328, label %6329

6328:                                             ; preds = %6324, %6318
  br label %6329

6329:                                             ; preds = %6324, %6328
  %.str.5.sink3529 = phi ptr [ @.str.5, %6328 ], [ @.str.2, %6324 ]
  store i32 %6319, ptr %423, 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 %369, align 4, !tbaa !5
  %6333 = call ptr @s2n_strerror(i32 noundef %6332, ptr noundef nonnull @.str.4) #9
  %6334 = load i32, ptr %369, align 4, !tbaa !5
  %6335 = call ptr @s2n_strerror_debug(i32 noundef %6334, ptr noundef nonnull @.str.4) #9
  %6336 = load i32, ptr %423, align 4, !tbaa !5
  %6337 = call ptr @strerror(i32 noundef %6336) #9
  %6338 = load i32, ptr %423, align 4, !tbaa !5
  %6339 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6330, ptr noundef nonnull %.str.5.sink3529, i32 noundef %6331, ptr noundef nonnull @.str.22, ptr noundef nonnull @.str.1, i32 noundef 372, ptr noundef %6333, ptr noundef %6335, ptr noundef %6337, i32 noundef %6338) #11
  call void @exit(i32 noundef 1) #12
  unreachable

6340:                                             ; preds = %6314
  store i32 0, ptr %369, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #9
  store i32 0, ptr %423, align 4, !tbaa !5
  %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 = call i32 @s2n_test_auth_combo(ptr noundef %5806, ptr noundef nonnull @s2n_ecdhe_ecdsa_with_aes_128_cbc_sha, ptr noundef nonnull @s2n_rsa_pss_rsae_sha256, ptr noundef null)
  %6344 = icmp eq i32 %6343, -1
  br i1 %6344, label %6367, label %6345

6345:                                             ; preds = %6340
  %6346 = load i32, ptr %423, align 4, !tbaa !5
  %6347 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6348 = call i32 @s2n_print_stacktrace(ptr noundef %6347) #9
  %6349 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6350 = trunc nuw i8 %6349 to i1
  br i1 %6350, label %6351, label %6355

6351:                                             ; preds = %6345
  %6352 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6353 = call i32 @fileno(ptr noundef %6352) #9
  %6354 = call i32 @isatty(i32 noundef %6353) #9
  %.not1084 = icmp eq i32 %6354, 0
  br i1 %.not1084, label %6355, label %6356

6355:                                             ; preds = %6351, %6345
  br label %6356

6356:                                             ; preds = %6351, %6355
  %.str.5.sink3538 = phi ptr [ @.str.5, %6355 ], [ @.str.2, %6351 ]
  store i32 %6346, ptr %423, align 4, !tbaa !5
  %6357 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6358 = load i32, ptr @test_count, align 4, !tbaa !5
  %6359 = load i32, ptr %369, align 4, !tbaa !5
  %6360 = call ptr @s2n_strerror(i32 noundef %6359, ptr noundef nonnull @.str.4) #9
  %6361 = load i32, ptr %369, align 4, !tbaa !5
  %6362 = call ptr @s2n_strerror_debug(i32 noundef %6361, ptr noundef nonnull @.str.4) #9
  %6363 = load i32, ptr %423, align 4, !tbaa !5
  %6364 = call ptr @strerror(i32 noundef %6363) #9
  %6365 = load i32, ptr %423, align 4, !tbaa !5
  %6366 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6357, ptr noundef nonnull %.str.5.sink3538, i32 noundef %6358, ptr noundef nonnull @.str.78, ptr noundef nonnull @.str.1, i32 noundef 373, ptr noundef %6360, ptr noundef %6362, ptr noundef %6364, i32 noundef %6365) #11
  call void @exit(i32 noundef 1) #12
  unreachable

6367:                                             ; preds = %6340
  %6368 = load i32, ptr @test_count, align 4, !tbaa !5
  %6369 = add nsw i32 %6368, 1
  store i32 %6369, ptr @test_count, align 4, !tbaa !5
  %6370 = load i32, ptr %369, align 4, !tbaa !5
  %6371 = icmp eq i32 %6370, 0
  br i1 %6371, label %6372, label %6394

6372:                                             ; preds = %6367
  %6373 = load i32, ptr %423, align 4, !tbaa !5
  %6374 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6375 = call i32 @s2n_print_stacktrace(ptr noundef %6374) #9
  %6376 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6377 = trunc nuw i8 %6376 to i1
  br i1 %6377, label %6378, label %6382

6378:                                             ; preds = %6372
  %6379 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6380 = call i32 @fileno(ptr noundef %6379) #9
  %6381 = call i32 @isatty(i32 noundef %6380) #9
  %.not1243 = icmp eq i32 %6381, 0
  br i1 %.not1243, label %6382, label %6383

6382:                                             ; preds = %6378, %6372
  br label %6383

6383:                                             ; preds = %6378, %6382
  %.str.5.sink3547 = phi ptr [ @.str.5, %6382 ], [ @.str.2, %6378 ]
  store i32 %6373, ptr %423, align 4, !tbaa !5
  %6384 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6385 = load i32, ptr @test_count, align 4, !tbaa !5
  %6386 = load i32, ptr %369, align 4, !tbaa !5
  %6387 = call ptr @s2n_strerror(i32 noundef %6386, ptr noundef nonnull @.str.4) #9
  %6388 = load i32, ptr %369, align 4, !tbaa !5
  %6389 = call ptr @s2n_strerror_debug(i32 noundef %6388, ptr noundef nonnull @.str.4) #9
  %6390 = load i32, ptr %423, align 4, !tbaa !5
  %6391 = call ptr @strerror(i32 noundef %6390) #9
  %6392 = load i32, ptr %423, align 4, !tbaa !5
  %6393 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6384, ptr noundef nonnull %.str.5.sink3547, i32 noundef %6385, ptr noundef nonnull @.str.21, ptr noundef nonnull @.str.1, i32 noundef 373, ptr noundef %6387, ptr noundef %6389, ptr noundef %6391, i32 noundef %6392) #11
  call void @exit(i32 noundef 1) #12
  unreachable

6394:                                             ; preds = %6367
  %6395 = add nsw i32 %6368, 2
  store i32 %6395, ptr @test_count, align 4, !tbaa !5
  %6396 = call ptr @s2n_strerror_debug(i32 noundef %6370, ptr noundef nonnull @.str.4) #9
  %6397 = icmp eq ptr %6396, null
  br i1 %6397, label %6398, label %6420

6398:                                             ; preds = %6394
  %6399 = load i32, ptr %423, align 4, !tbaa !5
  %6400 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6401 = call i32 @s2n_print_stacktrace(ptr noundef %6400) #9
  %6402 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6403 = trunc nuw i8 %6402 to i1
  br i1 %6403, label %6404, label %6408

6404:                                             ; preds = %6398
  %6405 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6406 = call i32 @fileno(ptr noundef %6405) #9
  %6407 = call i32 @isatty(i32 noundef %6406) #9
  %.not1242 = icmp eq i32 %6407, 0
  br i1 %.not1242, label %6408, label %6409

6408:                                             ; preds = %6404, %6398
  br label %6409

6409:                                             ; preds = %6404, %6408
  %.str.5.sink3556 = phi ptr [ @.str.5, %6408 ], [ @.str.2, %6404 ]
  store i32 %6399, ptr %423, align 4, !tbaa !5
  %6410 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6411 = load i32, ptr @test_count, align 4, !tbaa !5
  %6412 = load i32, ptr %369, align 4, !tbaa !5
  %6413 = call ptr @s2n_strerror(i32 noundef %6412, ptr noundef nonnull @.str.4) #9
  %6414 = load i32, ptr %369, align 4, !tbaa !5
  %6415 = call ptr @s2n_strerror_debug(i32 noundef %6414, ptr noundef nonnull @.str.4) #9
  %6416 = load i32, ptr %423, align 4, !tbaa !5
  %6417 = call ptr @strerror(i32 noundef %6416) #9
  %6418 = load i32, ptr %423, align 4, !tbaa !5
  %6419 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6410, ptr noundef nonnull %.str.5.sink3556, i32 noundef %6411, ptr noundef nonnull @.str.22, ptr noundef nonnull @.str.1, i32 noundef 373, ptr noundef %6413, ptr noundef %6415, ptr noundef %6417, i32 noundef %6418) #11
  call void @exit(i32 noundef 1) #12
  unreachable

6420:                                             ; preds = %6394
  store i32 0, ptr %369, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #9
  store i32 0, ptr %423, align 4, !tbaa !5
  %6421 = load i32, ptr @test_count, align 4, !tbaa !5
  %6422 = add nsw i32 %6421, 1
  store i32 %6422, ptr @test_count, align 4, !tbaa !5
  %6423 = call i32 @s2n_test_auth_combo(ptr noundef %5806, ptr noundef nonnull @s2n_ecdhe_ecdsa_with_aes_128_cbc_sha, ptr noundef nonnull @s2n_ecdsa_sha384, ptr noundef null)
  %6424 = icmp eq i32 %6423, -1
  br i1 %6424, label %6447, label %6425

6425:                                             ; preds = %6420
  %6426 = load i32, ptr %423, align 4, !tbaa !5
  %6427 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6428 = call i32 @s2n_print_stacktrace(ptr noundef %6427) #9
  %6429 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6430 = trunc nuw i8 %6429 to i1
  br i1 %6430, label %6431, label %6435

6431:                                             ; preds = %6425
  %6432 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6433 = call i32 @fileno(ptr noundef %6432) #9
  %6434 = call i32 @isatty(i32 noundef %6433) #9
  %.not1085 = icmp eq i32 %6434, 0
  br i1 %.not1085, label %6435, label %6436

6435:                                             ; preds = %6431, %6425
  br label %6436

6436:                                             ; preds = %6431, %6435
  %.str.5.sink3565 = phi ptr [ @.str.5, %6435 ], [ @.str.2, %6431 ]
  store i32 %6426, ptr %423, align 4, !tbaa !5
  %6437 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6438 = load i32, ptr @test_count, align 4, !tbaa !5
  %6439 = load i32, ptr %369, align 4, !tbaa !5
  %6440 = call ptr @s2n_strerror(i32 noundef %6439, ptr noundef nonnull @.str.4) #9
  %6441 = load i32, ptr %369, align 4, !tbaa !5
  %6442 = call ptr @s2n_strerror_debug(i32 noundef %6441, ptr noundef nonnull @.str.4) #9
  %6443 = load i32, ptr %423, align 4, !tbaa !5
  %6444 = call ptr @strerror(i32 noundef %6443) #9
  %6445 = load i32, ptr %423, align 4, !tbaa !5
  %6446 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6437, ptr noundef nonnull %.str.5.sink3565, i32 noundef %6438, ptr noundef nonnull @.str.79, ptr noundef nonnull @.str.1, i32 noundef 374, ptr noundef %6440, ptr noundef %6442, ptr noundef %6444, i32 noundef %6445) #11
  call void @exit(i32 noundef 1) #12
  unreachable

6447:                                             ; preds = %6420
  %6448 = load i32, ptr @test_count, align 4, !tbaa !5
  %6449 = add nsw i32 %6448, 1
  store i32 %6449, ptr @test_count, align 4, !tbaa !5
  %6450 = load i32, ptr %369, align 4, !tbaa !5
  %6451 = icmp eq i32 %6450, 0
  br i1 %6451, label %6452, label %6474

6452:                                             ; preds = %6447
  %6453 = load i32, ptr %423, align 4, !tbaa !5
  %6454 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6455 = call i32 @s2n_print_stacktrace(ptr noundef %6454) #9
  %6456 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6457 = trunc nuw i8 %6456 to i1
  br i1 %6457, label %6458, label %6462

6458:                                             ; preds = %6452
  %6459 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6460 = call i32 @fileno(ptr noundef %6459) #9
  %6461 = call i32 @isatty(i32 noundef %6460) #9
  %.not1241 = icmp eq i32 %6461, 0
  br i1 %.not1241, label %6462, label %6463

6462:                                             ; preds = %6458, %6452
  br label %6463

6463:                                             ; preds = %6458, %6462
  %.str.5.sink3574 = phi ptr [ @.str.5, %6462 ], [ @.str.2, %6458 ]
  store i32 %6453, ptr %423, align 4, !tbaa !5
  %6464 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6465 = load i32, ptr @test_count, align 4, !tbaa !5
  %6466 = load i32, ptr %369, align 4, !tbaa !5
  %6467 = call ptr @s2n_strerror(i32 noundef %6466, ptr noundef nonnull @.str.4) #9
  %6468 = load i32, ptr %369, align 4, !tbaa !5
  %6469 = call ptr @s2n_strerror_debug(i32 noundef %6468, ptr noundef nonnull @.str.4) #9
  %6470 = load i32, ptr %423, align 4, !tbaa !5
  %6471 = call ptr @strerror(i32 noundef %6470) #9
  %6472 = load i32, ptr %423, align 4, !tbaa !5
  %6473 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6464, ptr noundef nonnull %.str.5.sink3574, i32 noundef %6465, ptr noundef nonnull @.str.21, ptr noundef nonnull @.str.1, i32 noundef 374, ptr noundef %6467, ptr noundef %6469, ptr noundef %6471, i32 noundef %6472) #11
  call void @exit(i32 noundef 1) #12
  unreachable

6474:                                             ; preds = %6447
  %6475 = add nsw i32 %6448, 2
  store i32 %6475, ptr @test_count, align 4, !tbaa !5
  %6476 = call ptr @s2n_strerror_debug(i32 noundef %6450, ptr noundef nonnull @.str.4) #9
  %6477 = icmp eq ptr %6476, null
  br i1 %6477, label %6478, label %6500

6478:                                             ; preds = %6474
  %6479 = load i32, ptr %423, align 4, !tbaa !5
  %6480 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6481 = call i32 @s2n_print_stacktrace(ptr noundef %6480) #9
  %6482 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6483 = trunc nuw i8 %6482 to i1
  br i1 %6483, label %6484, label %6488

6484:                                             ; preds = %6478
  %6485 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6486 = call i32 @fileno(ptr noundef %6485) #9
  %6487 = call i32 @isatty(i32 noundef %6486) #9
  %.not1240 = icmp eq i32 %6487, 0
  br i1 %.not1240, label %6488, label %6489

6488:                                             ; preds = %6484, %6478
  br label %6489

6489:                                             ; preds = %6484, %6488
  %.str.5.sink3583 = phi ptr [ @.str.5, %6488 ], [ @.str.2, %6484 ]
  store i32 %6479, ptr %423, align 4, !tbaa !5
  %6490 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6491 = load i32, ptr @test_count, align 4, !tbaa !5
  %6492 = load i32, ptr %369, align 4, !tbaa !5
  %6493 = call ptr @s2n_strerror(i32 noundef %6492, ptr noundef nonnull @.str.4) #9
  %6494 = load i32, ptr %369, align 4, !tbaa !5
  %6495 = call ptr @s2n_strerror_debug(i32 noundef %6494, ptr noundef nonnull @.str.4) #9
  %6496 = load i32, ptr %423, align 4, !tbaa !5
  %6497 = call ptr @strerror(i32 noundef %6496) #9
  %6498 = load i32, ptr %423, align 4, !tbaa !5
  %6499 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6490, ptr noundef nonnull %.str.5.sink3583, i32 noundef %6491, ptr noundef nonnull @.str.22, ptr noundef nonnull @.str.1, i32 noundef 374, ptr noundef %6493, ptr noundef %6495, ptr noundef %6497, i32 noundef %6498) #11
  call void @exit(i32 noundef 1) #12
  unreachable

6500:                                             ; preds = %6474
  store i32 0, ptr %369, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #9
  store i32 0, ptr %423, align 4, !tbaa !5
  %6501 = load i32, ptr @test_count, align 4, !tbaa !5
  %6502 = add nsw i32 %6501, 1
  store i32 %6502, ptr @test_count, align 4, !tbaa !5
  %6503 = call i32 @s2n_test_auth_combo(ptr noundef %5806, ptr noundef nonnull @s2n_tls13_aes_128_gcm_sha256, ptr noundef nonnull @s2n_rsa_pkcs1_md5_sha1, ptr noundef null)
  %6504 = icmp eq i32 %6503, -1
  br i1 %6504, label %6527, label %6505

6505:                                             ; preds = %6500
  %6506 = load i32, ptr %423, align 4, !tbaa !5
  %6507 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6508 = call i32 @s2n_print_stacktrace(ptr noundef %6507) #9
  %6509 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6510 = trunc nuw i8 %6509 to i1
  br i1 %6510, label %6511, label %6515

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

6515:                                             ; preds = %6511, %6505
  br label %6516

6516:                                             ; preds = %6511, %6515
  %.str.5.sink3592 = phi ptr [ @.str.5, %6515 ], [ @.str.2, %6511 ]
  store i32 %6506, ptr %423, align 4, !tbaa !5
  %6517 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6518 = load i32, ptr @test_count, align 4, !tbaa !5
  %6519 = load i32, ptr %369, align 4, !tbaa !5
  %6520 = call ptr @s2n_strerror(i32 noundef %6519, ptr noundef nonnull @.str.4) #9
  %6521 = load i32, ptr %369, align 4, !tbaa !5
  %6522 = call ptr @s2n_strerror_debug(i32 noundef %6521, ptr noundef nonnull @.str.4) #9
  %6523 = load i32, ptr %423, align 4, !tbaa !5
  %6524 = call ptr @strerror(i32 noundef %6523) #9
  %6525 = load i32, ptr %423, align 4, !tbaa !5
  %6526 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6517, ptr noundef nonnull %.str.5.sink3592, i32 noundef %6518, ptr noundef nonnull @.str.80, ptr noundef nonnull @.str.1, i32 noundef 376, ptr noundef %6520, ptr noundef %6522, ptr noundef %6524, i32 noundef %6525) #11
  call void @exit(i32 noundef 1) #12
  unreachable

6527:                                             ; preds = %6500
  %6528 = load i32, ptr @test_count, align 4, !tbaa !5
  %6529 = add nsw i32 %6528, 1
  store i32 %6529, ptr @test_count, align 4, !tbaa !5
  %6530 = load i32, ptr %369, align 4, !tbaa !5
  %6531 = icmp eq i32 %6530, 0
  br i1 %6531, label %6532, label %6554

6532:                                             ; preds = %6527
  %6533 = load i32, ptr %423, align 4, !tbaa !5
  %6534 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6535 = call i32 @s2n_print_stacktrace(ptr noundef %6534) #9
  %6536 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6537 = trunc nuw i8 %6536 to i1
  br i1 %6537, label %6538, label %6542

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

6542:                                             ; preds = %6538, %6532
  br label %6543

6543:                                             ; preds = %6538, %6542
  %.str.5.sink3601 = phi ptr [ @.str.5, %6542 ], [ @.str.2, %6538 ]
  store i32 %6533, ptr %423, align 4, !tbaa !5
  %6544 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6545 = load i32, ptr @test_count, align 4, !tbaa !5
  %6546 = load i32, ptr %369, align 4, !tbaa !5
  %6547 = call ptr @s2n_strerror(i32 noundef %6546, ptr noundef nonnull @.str.4) #9
  %6548 = load i32, ptr %369, align 4, !tbaa !5
  %6549 = call ptr @s2n_strerror_debug(i32 noundef %6548, ptr noundef nonnull @.str.4) #9
  %6550 = load i32, ptr %423, align 4, !tbaa !5
  %6551 = call ptr @strerror(i32 noundef %6550) #9
  %6552 = load i32, ptr %423, align 4, !tbaa !5
  %6553 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6544, ptr noundef nonnull %.str.5.sink3601, i32 noundef %6545, ptr noundef nonnull @.str.21, ptr noundef nonnull @.str.1, i32 noundef 376, ptr noundef %6547, ptr noundef %6549, ptr noundef %6551, i32 noundef %6552) #11
  call void @exit(i32 noundef 1) #12
  unreachable

6554:                                             ; preds = %6527
  %6555 = add nsw i32 %6528, 2
  store i32 %6555, ptr @test_count, align 4, !tbaa !5
  %6556 = call ptr @s2n_strerror_debug(i32 noundef %6530, ptr noundef nonnull @.str.4) #9
  %6557 = icmp eq ptr %6556, null
  br i1 %6557, label %6558, label %6580

6558:                                             ; preds = %6554
  %6559 = load i32, ptr %423, align 4, !tbaa !5
  %6560 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6561 = call i32 @s2n_print_stacktrace(ptr noundef %6560) #9
  %6562 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6563 = trunc nuw i8 %6562 to i1
  br i1 %6563, label %6564, label %6568

6564:                                             ; preds = %6558
  %6565 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6566 = call i32 @fileno(ptr noundef %6565) #9
  %6567 = call i32 @isatty(i32 noundef %6566) #9
  %.not1238 = icmp eq i32 %6567, 0
  br i1 %.not1238, label %6568, label %6569

6568:                                             ; preds = %6564, %6558
  br label %6569

6569:                                             ; preds = %6564, %6568
  %.str.5.sink3610 = phi ptr [ @.str.5, %6568 ], [ @.str.2, %6564 ]
  store i32 %6559, ptr %423, align 4, !tbaa !5
  %6570 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6571 = load i32, ptr @test_count, align 4, !tbaa !5
  %6572 = load i32, ptr %369, align 4, !tbaa !5
  %6573 = call ptr @s2n_strerror(i32 noundef %6572, ptr noundef nonnull @.str.4) #9
  %6574 = load i32, ptr %369, align 4, !tbaa !5
  %6575 = call ptr @s2n_strerror_debug(i32 noundef %6574, ptr noundef nonnull @.str.4) #9
  %6576 = load i32, ptr %423, align 4, !tbaa !5
  %6577 = call ptr @strerror(i32 noundef %6576) #9
  %6578 = load i32, ptr %423, align 4, !tbaa !5
  %6579 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6570, ptr noundef nonnull %.str.5.sink3610, i32 noundef %6571, ptr noundef nonnull @.str.22, ptr noundef nonnull @.str.1, i32 noundef 376, ptr noundef %6573, ptr noundef %6575, ptr noundef %6577, i32 noundef %6578) #11
  call void @exit(i32 noundef 1) #12
  unreachable

6580:                                             ; preds = %6554
  store i32 0, ptr %369, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #9
  store i32 0, ptr %423, align 4, !tbaa !5
  %6581 = load i32, ptr @test_count, align 4, !tbaa !5
  %6582 = add nsw i32 %6581, 1
  store i32 %6582, ptr @test_count, align 4, !tbaa !5
  %6583 = call i32 @s2n_test_auth_combo(ptr noundef %5806, ptr noundef nonnull @s2n_tls13_aes_128_gcm_sha256, ptr noundef nonnull @s2n_rsa_pss_pss_sha256, ptr noundef null)
  %6584 = icmp eq i32 %6583, -1
  br i1 %6584, label %6607, label %6585

6585:                                             ; preds = %6580
  %6586 = load i32, ptr %423, align 4, !tbaa !5
  %6587 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6588 = call i32 @s2n_print_stacktrace(ptr noundef %6587) #9
  %6589 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6590 = trunc nuw i8 %6589 to i1
  br i1 %6590, label %6591, label %6595

6591:                                             ; preds = %6585
  %6592 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6593 = call i32 @fileno(ptr noundef %6592) #9
  %6594 = call i32 @isatty(i32 noundef %6593) #9
  %.not1087 = icmp eq i32 %6594, 0
  br i1 %.not1087, label %6595, label %6596

6595:                                             ; preds = %6591, %6585
  br label %6596

6596:                                             ; preds = %6591, %6595
  %.str.5.sink3619 = phi ptr [ @.str.5, %6595 ], [ @.str.2, %6591 ]
  store i32 %6586, ptr %423, align 4, !tbaa !5
  %6597 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6598 = load i32, ptr @test_count, align 4, !tbaa !5
  %6599 = load i32, ptr %369, align 4, !tbaa !5
  %6600 = call ptr @s2n_strerror(i32 noundef %6599, ptr noundef nonnull @.str.4) #9
  %6601 = load i32, ptr %369, align 4, !tbaa !5
  %6602 = call ptr @s2n_strerror_debug(i32 noundef %6601, ptr noundef nonnull @.str.4) #9
  %6603 = load i32, ptr %423, align 4, !tbaa !5
  %6604 = call ptr @strerror(i32 noundef %6603) #9
  %6605 = load i32, ptr %423, align 4, !tbaa !5
  %6606 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6597, ptr noundef nonnull %.str.5.sink3619, i32 noundef %6598, ptr noundef nonnull @.str.81, ptr noundef nonnull @.str.1, i32 noundef 377, ptr noundef %6600, ptr noundef %6602, ptr noundef %6604, i32 noundef %6605) #11
  call void @exit(i32 noundef 1) #12
  unreachable

6607:                                             ; preds = %6580
  %6608 = load i32, ptr @test_count, align 4, !tbaa !5
  %6609 = add nsw i32 %6608, 1
  store i32 %6609, ptr @test_count, align 4, !tbaa !5
  %6610 = load i32, ptr %369, align 4, !tbaa !5
  %6611 = icmp eq i32 %6610, 0
  br i1 %6611, label %6612, label %6634

6612:                                             ; preds = %6607
  %6613 = load i32, ptr %423, align 4, !tbaa !5
  %6614 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6615 = call i32 @s2n_print_stacktrace(ptr noundef %6614) #9
  %6616 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6617 = trunc nuw i8 %6616 to i1
  br i1 %6617, label %6618, label %6622

6618:                                             ; preds = %6612
  %6619 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6620 = call i32 @fileno(ptr noundef %6619) #9
  %6621 = call i32 @isatty(i32 noundef %6620) #9
  %.not1237 = icmp eq i32 %6621, 0
  br i1 %.not1237, label %6622, label %6623

6622:                                             ; preds = %6618, %6612
  br label %6623

6623:                                             ; preds = %6618, %6622
  %.str.5.sink3628 = phi ptr [ @.str.5, %6622 ], [ @.str.2, %6618 ]
  store i32 %6613, ptr %423, align 4, !tbaa !5
  %6624 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6625 = load i32, ptr @test_count, align 4, !tbaa !5
  %6626 = load i32, ptr %369, align 4, !tbaa !5
  %6627 = call ptr @s2n_strerror(i32 noundef %6626, ptr noundef nonnull @.str.4) #9
  %6628 = load i32, ptr %369, align 4, !tbaa !5
  %6629 = call ptr @s2n_strerror_debug(i32 noundef %6628, ptr noundef nonnull @.str.4) #9
  %6630 = load i32, ptr %423, align 4, !tbaa !5
  %6631 = call ptr @strerror(i32 noundef %6630) #9
  %6632 = load i32, ptr %423, align 4, !tbaa !5
  %6633 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6624, ptr noundef nonnull %.str.5.sink3628, i32 noundef %6625, ptr noundef nonnull @.str.21, ptr noundef nonnull @.str.1, i32 noundef 377, ptr noundef %6627, ptr noundef %6629, ptr noundef %6631, i32 noundef %6632) #11
  call void @exit(i32 noundef 1) #12
  unreachable

6634:                                             ; preds = %6607
  %6635 = add nsw i32 %6608, 2
  store i32 %6635, ptr @test_count, align 4, !tbaa !5
  %6636 = call ptr @s2n_strerror_debug(i32 noundef %6610, ptr noundef nonnull @.str.4) #9
  %6637 = icmp eq ptr %6636, null
  br i1 %6637, label %6638, label %6660

6638:                                             ; preds = %6634
  %6639 = load i32, ptr %423, align 4, !tbaa !5
  %6640 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6641 = call i32 @s2n_print_stacktrace(ptr noundef %6640) #9
  %6642 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6643 = trunc nuw i8 %6642 to i1
  br i1 %6643, label %6644, label %6648

6644:                                             ; preds = %6638
  %6645 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6646 = call i32 @fileno(ptr noundef %6645) #9
  %6647 = call i32 @isatty(i32 noundef %6646) #9
  %.not1236 = icmp eq i32 %6647, 0
  br i1 %.not1236, label %6648, label %6649

6648:                                             ; preds = %6644, %6638
  br label %6649

6649:                                             ; preds = %6644, %6648
  %.str.5.sink3637 = phi ptr [ @.str.5, %6648 ], [ @.str.2, %6644 ]
  store i32 %6639, ptr %423, align 4, !tbaa !5
  %6650 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6651 = load i32, ptr @test_count, align 4, !tbaa !5
  %6652 = load i32, ptr %369, align 4, !tbaa !5
  %6653 = call ptr @s2n_strerror(i32 noundef %6652, ptr noundef nonnull @.str.4) #9
  %6654 = load i32, ptr %369, align 4, !tbaa !5
  %6655 = call ptr @s2n_strerror_debug(i32 noundef %6654, ptr noundef nonnull @.str.4) #9
  %6656 = load i32, ptr %423, align 4, !tbaa !5
  %6657 = call ptr @strerror(i32 noundef %6656) #9
  %6658 = load i32, ptr %423, align 4, !tbaa !5
  %6659 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6650, ptr noundef nonnull %.str.5.sink3637, i32 noundef %6651, ptr noundef nonnull @.str.22, ptr noundef nonnull @.str.1, i32 noundef 377, ptr noundef %6653, ptr noundef %6655, ptr noundef %6657, i32 noundef %6658) #11
  call void @exit(i32 noundef 1) #12
  unreachable

6660:                                             ; preds = %6634
  store i32 0, ptr %369, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #9
  store i32 0, ptr %423, align 4, !tbaa !5
  %6661 = load i32, ptr @test_count, align 4, !tbaa !5
  %6662 = add nsw i32 %6661, 1
  store i32 %6662, ptr @test_count, align 4, !tbaa !5
  %6663 = call i32 @s2n_test_auth_combo(ptr noundef %5806, ptr noundef nonnull @s2n_tls13_aes_128_gcm_sha256, ptr noundef nonnull @s2n_rsa_pss_rsae_sha256, ptr noundef null)
  %6664 = icmp eq i32 %6663, -1
  br i1 %6664, label %6687, label %6665

6665:                                             ; preds = %6660
  %6666 = load i32, ptr %423, align 4, !tbaa !5
  %6667 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6668 = call i32 @s2n_print_stacktrace(ptr noundef %6667) #9
  %6669 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6670 = trunc nuw i8 %6669 to i1
  br i1 %6670, label %6671, label %6675

6671:                                             ; preds = %6665
  %6672 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6673 = call i32 @fileno(ptr noundef %6672) #9
  %6674 = call i32 @isatty(i32 noundef %6673) #9
  %.not1088 = icmp eq i32 %6674, 0
  br i1 %.not1088, label %6675, label %6676

6675:                                             ; preds = %6671, %6665
  br label %6676

6676:                                             ; preds = %6671, %6675
  %.str.5.sink3646 = phi ptr [ @.str.5, %6675 ], [ @.str.2, %6671 ]
  store i32 %6666, ptr %423, align 4, !tbaa !5
  %6677 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6678 = load i32, ptr @test_count, align 4, !tbaa !5
  %6679 = load i32, ptr %369, align 4, !tbaa !5
  %6680 = call ptr @s2n_strerror(i32 noundef %6679, ptr noundef nonnull @.str.4) #9
  %6681 = load i32, ptr %369, align 4, !tbaa !5
  %6682 = call ptr @s2n_strerror_debug(i32 noundef %6681, ptr noundef nonnull @.str.4) #9
  %6683 = load i32, ptr %423, align 4, !tbaa !5
  %6684 = call ptr @strerror(i32 noundef %6683) #9
  %6685 = load i32, ptr %423, align 4, !tbaa !5
  %6686 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6677, ptr noundef nonnull %.str.5.sink3646, i32 noundef %6678, ptr noundef nonnull @.str.82, ptr noundef nonnull @.str.1, i32 noundef 378, ptr noundef %6680, ptr noundef %6682, ptr noundef %6684, i32 noundef %6685) #11
  call void @exit(i32 noundef 1) #12
  unreachable

6687:                                             ; preds = %6660
  %6688 = load i32, ptr @test_count, align 4, !tbaa !5
  %6689 = add nsw i32 %6688, 1
  store i32 %6689, ptr @test_count, align 4, !tbaa !5
  %6690 = load i32, ptr %369, align 4, !tbaa !5
  %6691 = icmp eq i32 %6690, 0
  br i1 %6691, label %6692, label %6714

6692:                                             ; preds = %6687
  %6693 = load i32, ptr %423, align 4, !tbaa !5
  %6694 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6695 = call i32 @s2n_print_stacktrace(ptr noundef %6694) #9
  %6696 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6697 = trunc nuw i8 %6696 to i1
  br i1 %6697, label %6698, label %6702

6698:                                             ; preds = %6692
  %6699 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6700 = call i32 @fileno(ptr noundef %6699) #9
  %6701 = call i32 @isatty(i32 noundef %6700) #9
  %.not1235 = icmp eq i32 %6701, 0
  br i1 %.not1235, label %6702, label %6703

6702:                                             ; preds = %6698, %6692
  br label %6703

6703:                                             ; preds = %6698, %6702
  %.str.5.sink3655 = phi ptr [ @.str.5, %6702 ], [ @.str.2, %6698 ]
  store i32 %6693, ptr %423, align 4, !tbaa !5
  %6704 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6705 = load i32, ptr @test_count, align 4, !tbaa !5
  %6706 = load i32, ptr %369, align 4, !tbaa !5
  %6707 = call ptr @s2n_strerror(i32 noundef %6706, ptr noundef nonnull @.str.4) #9
  %6708 = load i32, ptr %369, align 4, !tbaa !5
  %6709 = call ptr @s2n_strerror_debug(i32 noundef %6708, ptr noundef nonnull @.str.4) #9
  %6710 = load i32, ptr %423, align 4, !tbaa !5
  %6711 = call ptr @strerror(i32 noundef %6710) #9
  %6712 = load i32, ptr %423, align 4, !tbaa !5
  %6713 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6704, ptr noundef nonnull %.str.5.sink3655, i32 noundef %6705, ptr noundef nonnull @.str.21, ptr noundef nonnull @.str.1, i32 noundef 378, ptr noundef %6707, ptr noundef %6709, ptr noundef %6711, i32 noundef %6712) #11
  call void @exit(i32 noundef 1) #12
  unreachable

6714:                                             ; preds = %6687
  %6715 = add nsw i32 %6688, 2
  store i32 %6715, ptr @test_count, align 4, !tbaa !5
  %6716 = call ptr @s2n_strerror_debug(i32 noundef %6690, ptr noundef nonnull @.str.4) #9
  %6717 = icmp eq ptr %6716, null
  br i1 %6717, label %6718, label %6740

6718:                                             ; preds = %6714
  %6719 = load i32, ptr %423, align 4, !tbaa !5
  %6720 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6721 = call i32 @s2n_print_stacktrace(ptr noundef %6720) #9
  %6722 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6723 = trunc nuw i8 %6722 to i1
  br i1 %6723, label %6724, label %6728

6724:                                             ; preds = %6718
  %6725 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6726 = call i32 @fileno(ptr noundef %6725) #9
  %6727 = call i32 @isatty(i32 noundef %6726) #9
  %.not1234 = icmp eq i32 %6727, 0
  br i1 %.not1234, label %6728, label %6729

6728:                                             ; preds = %6724, %6718
  br label %6729

6729:                                             ; preds = %6724, %6728
  %.str.5.sink3664 = phi ptr [ @.str.5, %6728 ], [ @.str.2, %6724 ]
  store i32 %6719, ptr %423, align 4, !tbaa !5
  %6730 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6731 = load i32, ptr @test_count, align 4, !tbaa !5
  %6732 = load i32, ptr %369, align 4, !tbaa !5
  %6733 = call ptr @s2n_strerror(i32 noundef %6732, ptr noundef nonnull @.str.4) #9
  %6734 = load i32, ptr %369, align 4, !tbaa !5
  %6735 = call ptr @s2n_strerror_debug(i32 noundef %6734, ptr noundef nonnull @.str.4) #9
  %6736 = load i32, ptr %423, align 4, !tbaa !5
  %6737 = call ptr @strerror(i32 noundef %6736) #9
  %6738 = load i32, ptr %423, align 4, !tbaa !5
  %6739 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6730, ptr noundef nonnull %.str.5.sink3664, i32 noundef %6731, ptr noundef nonnull @.str.22, ptr noundef nonnull @.str.1, i32 noundef 378, ptr noundef %6733, ptr noundef %6735, ptr noundef %6737, i32 noundef %6738) #11
  call void @exit(i32 noundef 1) #12
  unreachable

6740:                                             ; preds = %6714
  store i32 0, ptr %369, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #9
  store i32 0, ptr %423, align 4, !tbaa !5
  %6741 = load i32, ptr @test_count, align 4, !tbaa !5
  %6742 = add nsw i32 %6741, 1
  store i32 %6742, ptr @test_count, align 4, !tbaa !5
  %6743 = call i32 @s2n_test_auth_combo(ptr noundef %5806, ptr noundef nonnull @s2n_tls13_aes_128_gcm_sha256, ptr noundef nonnull @s2n_ecdsa_sha384, ptr noundef null)
  %6744 = icmp eq i32 %6743, -1
  br i1 %6744, label %6767, label %6745

6745:                                             ; preds = %6740
  %6746 = load i32, ptr %423, align 4, !tbaa !5
  %6747 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6748 = call i32 @s2n_print_stacktrace(ptr noundef %6747) #9
  %6749 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6750 = trunc nuw i8 %6749 to i1
  br i1 %6750, label %6751, label %6755

6751:                                             ; preds = %6745
  %6752 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6753 = call i32 @fileno(ptr noundef %6752) #9
  %6754 = call i32 @isatty(i32 noundef %6753) #9
  %.not1089 = icmp eq i32 %6754, 0
  br i1 %.not1089, label %6755, label %6756

6755:                                             ; preds = %6751, %6745
  br label %6756

6756:                                             ; preds = %6751, %6755
  %.str.5.sink3673 = phi ptr [ @.str.5, %6755 ], [ @.str.2, %6751 ]
  store i32 %6746, ptr %423, align 4, !tbaa !5
  %6757 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6758 = load i32, ptr @test_count, align 4, !tbaa !5
  %6759 = load i32, ptr %369, align 4, !tbaa !5
  %6760 = call ptr @s2n_strerror(i32 noundef %6759, ptr noundef nonnull @.str.4) #9
  %6761 = load i32, ptr %369, align 4, !tbaa !5
  %6762 = call ptr @s2n_strerror_debug(i32 noundef %6761, ptr noundef nonnull @.str.4) #9
  %6763 = load i32, ptr %423, align 4, !tbaa !5
  %6764 = call ptr @strerror(i32 noundef %6763) #9
  %6765 = load i32, ptr %423, align 4, !tbaa !5
  %6766 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6757, ptr noundef nonnull %.str.5.sink3673, i32 noundef %6758, ptr noundef nonnull @.str.83, ptr noundef nonnull @.str.1, i32 noundef 379, ptr noundef %6760, ptr noundef %6762, ptr noundef %6764, i32 noundef %6765) #11
  call void @exit(i32 noundef 1) #12
  unreachable

6767:                                             ; preds = %6740
  %6768 = load i32, ptr @test_count, align 4, !tbaa !5
  %6769 = add nsw i32 %6768, 1
  store i32 %6769, ptr @test_count, align 4, !tbaa !5
  %6770 = load i32, ptr %369, align 4, !tbaa !5
  %6771 = icmp eq i32 %6770, 0
  br i1 %6771, label %6772, label %6794

6772:                                             ; preds = %6767
  %6773 = load i32, ptr %423, align 4, !tbaa !5
  %6774 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6775 = call i32 @s2n_print_stacktrace(ptr noundef %6774) #9
  %6776 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6777 = trunc nuw i8 %6776 to i1
  br i1 %6777, label %6778, label %6782

6778:                                             ; preds = %6772
  %6779 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6780 = call i32 @fileno(ptr noundef %6779) #9
  %6781 = call i32 @isatty(i32 noundef %6780) #9
  %.not1233 = icmp eq i32 %6781, 0
  br i1 %.not1233, label %6782, label %6783

6782:                                             ; preds = %6778, %6772
  br label %6783

6783:                                             ; preds = %6778, %6782
  %.str.5.sink3682 = phi ptr [ @.str.5, %6782 ], [ @.str.2, %6778 ]
  store i32 %6773, ptr %423, align 4, !tbaa !5
  %6784 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6785 = load i32, ptr @test_count, align 4, !tbaa !5
  %6786 = load i32, ptr %369, align 4, !tbaa !5
  %6787 = call ptr @s2n_strerror(i32 noundef %6786, ptr noundef nonnull @.str.4) #9
  %6788 = load i32, ptr %369, align 4, !tbaa !5
  %6789 = call ptr @s2n_strerror_debug(i32 noundef %6788, ptr noundef nonnull @.str.4) #9
  %6790 = load i32, ptr %423, align 4, !tbaa !5
  %6791 = call ptr @strerror(i32 noundef %6790) #9
  %6792 = load i32, ptr %423, align 4, !tbaa !5
  %6793 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6784, ptr noundef nonnull %.str.5.sink3682, i32 noundef %6785, ptr noundef nonnull @.str.21, ptr noundef nonnull @.str.1, i32 noundef 379, ptr noundef %6787, ptr noundef %6789, ptr noundef %6791, i32 noundef %6792) #11
  call void @exit(i32 noundef 1) #12
  unreachable

6794:                                             ; preds = %6767
  %6795 = add nsw i32 %6768, 2
  store i32 %6795, ptr @test_count, align 4, !tbaa !5
  %6796 = call ptr @s2n_strerror_debug(i32 noundef %6770, ptr noundef nonnull @.str.4) #9
  %6797 = icmp eq ptr %6796, null
  br i1 %6797, label %6798, label %6820

6798:                                             ; preds = %6794
  %6799 = load i32, ptr %423, align 4, !tbaa !5
  %6800 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6801 = call i32 @s2n_print_stacktrace(ptr noundef %6800) #9
  %6802 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6803 = trunc nuw i8 %6802 to i1
  br i1 %6803, label %6804, label %6808

6804:                                             ; preds = %6798
  %6805 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6806 = call i32 @fileno(ptr noundef %6805) #9
  %6807 = call i32 @isatty(i32 noundef %6806) #9
  %.not1232 = icmp eq i32 %6807, 0
  br i1 %.not1232, label %6808, label %6809

6808:                                             ; preds = %6804, %6798
  br label %6809

6809:                                             ; preds = %6804, %6808
  %.str.5.sink3691 = phi ptr [ @.str.5, %6808 ], [ @.str.2, %6804 ]
  store i32 %6799, ptr %423, align 4, !tbaa !5
  %6810 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6811 = load i32, ptr @test_count, align 4, !tbaa !5
  %6812 = load i32, ptr %369, align 4, !tbaa !5
  %6813 = call ptr @s2n_strerror(i32 noundef %6812, ptr noundef nonnull @.str.4) #9
  %6814 = load i32, ptr %369, align 4, !tbaa !5
  %6815 = call ptr @s2n_strerror_debug(i32 noundef %6814, ptr noundef nonnull @.str.4) #9
  %6816 = load i32, ptr %423, align 4, !tbaa !5
  %6817 = call ptr @strerror(i32 noundef %6816) #9
  %6818 = load i32, ptr %423, align 4, !tbaa !5
  %6819 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6810, ptr noundef nonnull %.str.5.sink3691, i32 noundef %6811, ptr noundef nonnull @.str.22, ptr noundef nonnull @.str.1, i32 noundef 379, ptr noundef %6813, ptr noundef %6815, ptr noundef %6817, i32 noundef %6818) #11
  call void @exit(i32 noundef 1) #12
  unreachable

6820:                                             ; preds = %6794
  store i32 0, ptr %369, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #9
  store i32 0, ptr %423, align 4, !tbaa !5
  %6821 = load i32, ptr @test_count, align 4, !tbaa !5
  %6822 = add nsw i32 %6821, 1
  store i32 %6822, ptr @test_count, align 4, !tbaa !5
  %6823 = call i32 @s2n_connection_set_config(ptr noundef %5806, ptr noundef %184) #9
  %6824 = icmp eq i32 %6823, -1
  br i1 %6824, label %6825, label %6847

6825:                                             ; preds = %6820
  %6826 = load i32, ptr %423, align 4, !tbaa !5
  %6827 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6828 = call i32 @s2n_print_stacktrace(ptr noundef %6827) #9
  %6829 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6830 = trunc nuw i8 %6829 to i1
  br i1 %6830, label %6831, label %6835

6831:                                             ; preds = %6825
  %6832 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6833 = call i32 @fileno(ptr noundef %6832) #9
  %6834 = call i32 @isatty(i32 noundef %6833) #9
  %.not1231 = icmp eq i32 %6834, 0
  br i1 %.not1231, label %6835, label %6836

6835:                                             ; preds = %6831, %6825
  br label %6836

6836:                                             ; preds = %6831, %6835
  %.str.5.sink3700 = phi ptr [ @.str.5, %6835 ], [ @.str.2, %6831 ]
  store i32 %6826, ptr %423, align 4, !tbaa !5
  %6837 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6838 = load i32, ptr @test_count, align 4, !tbaa !5
  %6839 = load i32, ptr %369, align 4, !tbaa !5
  %6840 = call ptr @s2n_strerror(i32 noundef %6839, ptr noundef nonnull @.str.4) #9
  %6841 = load i32, ptr %369, align 4, !tbaa !5
  %6842 = call ptr @s2n_strerror_debug(i32 noundef %6841, ptr noundef nonnull @.str.4) #9
  %6843 = load i32, ptr %423, align 4, !tbaa !5
  %6844 = call ptr @strerror(i32 noundef %6843) #9
  %6845 = load i32, ptr %423, align 4, !tbaa !5
  %6846 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6837, ptr noundef nonnull %.str.5.sink3700, i32 noundef %6838, ptr noundef nonnull @.str.25, ptr noundef nonnull @.str.1, i32 noundef 382, ptr noundef %6840, ptr noundef %6842, ptr noundef %6844, i32 noundef %6845) #11
  call void @exit(i32 noundef 1) #12
  unreachable

6847:                                             ; preds = %6820
  %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 %3, align 8, !tbaa !9
  %6851 = call i32 @s2n_test_auth_combo(ptr noundef %5806, ptr noundef nonnull @s2n_dhe_rsa_with_3des_ede_cbc_sha, ptr noundef nonnull @s2n_rsa_pkcs1_md5_sha1, ptr noundef %6850)
  %6852 = icmp eq i32 %6851, -1
  br i1 %6852, label %6853, label %6875

6853:                                             ; preds = %6847
  %6854 = load i32, ptr %423, align 4, !tbaa !5
  %6855 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6856 = call i32 @s2n_print_stacktrace(ptr noundef %6855) #9
  %6857 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6858 = trunc nuw i8 %6857 to i1
  br i1 %6858, label %6859, label %6863

6859:                                             ; preds = %6853
  %6860 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6861 = call i32 @fileno(ptr noundef %6860) #9
  %6862 = call i32 @isatty(i32 noundef %6861) #9
  %.not1230 = icmp eq i32 %6862, 0
  br i1 %.not1230, label %6863, label %6864

6863:                                             ; preds = %6859, %6853
  br label %6864

6864:                                             ; preds = %6859, %6863
  %.str.5.sink3709 = phi ptr [ @.str.5, %6863 ], [ @.str.2, %6859 ]
  store i32 %6854, ptr %423, align 4, !tbaa !5
  %6865 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6866 = load i32, ptr @test_count, align 4, !tbaa !5
  %6867 = load i32, ptr %369, align 4, !tbaa !5
  %6868 = call ptr @s2n_strerror(i32 noundef %6867, ptr noundef nonnull @.str.4) #9
  %6869 = load i32, ptr %369, align 4, !tbaa !5
  %6870 = call ptr @s2n_strerror_debug(i32 noundef %6869, ptr noundef nonnull @.str.4) #9
  %6871 = load i32, ptr %423, align 4, !tbaa !5
  %6872 = call ptr @strerror(i32 noundef %6871) #9
  %6873 = load i32, ptr %423, align 4, !tbaa !5
  %6874 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6865, ptr noundef nonnull %.str.5.sink3709, i32 noundef %6866, ptr noundef nonnull @.str.84, ptr noundef nonnull @.str.1, i32 noundef 384, ptr noundef %6868, ptr noundef %6870, ptr noundef %6872, i32 noundef %6873) #11
  call void @exit(i32 noundef 1) #12
  unreachable

6875:                                             ; preds = %6847
  %6876 = load i32, ptr @test_count, align 4, !tbaa !5
  %6877 = add nsw i32 %6876, 1
  store i32 %6877, ptr @test_count, align 4, !tbaa !5
  %6878 = call i32 @s2n_test_auth_combo(ptr noundef %5806, ptr noundef nonnull @s2n_dhe_rsa_with_3des_ede_cbc_sha, ptr noundef nonnull @s2n_rsa_pss_pss_sha256, ptr noundef null)
  %6879 = icmp eq i32 %6878, -1
  br i1 %6879, label %6902, label %6880

6880:                                             ; preds = %6875
  %6881 = load i32, ptr %423, align 4, !tbaa !5
  %6882 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6883 = call i32 @s2n_print_stacktrace(ptr noundef %6882) #9
  %6884 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6885 = trunc nuw i8 %6884 to i1
  br i1 %6885, label %6886, label %6890

6886:                                             ; preds = %6880
  %6887 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6888 = call i32 @fileno(ptr noundef %6887) #9
  %6889 = call i32 @isatty(i32 noundef %6888) #9
  %.not1090 = icmp eq i32 %6889, 0
  br i1 %.not1090, label %6890, label %6891

6890:                                             ; preds = %6886, %6880
  br label %6891

6891:                                             ; preds = %6886, %6890
  %.str.5.sink3718 = phi ptr [ @.str.5, %6890 ], [ @.str.2, %6886 ]
  store i32 %6881, ptr %423, align 4, !tbaa !5
  %6892 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6893 = load i32, ptr @test_count, align 4, !tbaa !5
  %6894 = load i32, ptr %369, align 4, !tbaa !5
  %6895 = call ptr @s2n_strerror(i32 noundef %6894, ptr noundef nonnull @.str.4) #9
  %6896 = load i32, ptr %369, align 4, !tbaa !5
  %6897 = call ptr @s2n_strerror_debug(i32 noundef %6896, ptr noundef nonnull @.str.4) #9
  %6898 = load i32, ptr %423, align 4, !tbaa !5
  %6899 = call ptr @strerror(i32 noundef %6898) #9
  %6900 = load i32, ptr %423, align 4, !tbaa !5
  %6901 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6892, ptr noundef nonnull %.str.5.sink3718, i32 noundef %6893, ptr noundef nonnull @.str.73, ptr noundef nonnull @.str.1, i32 noundef 385, ptr noundef %6895, ptr noundef %6897, ptr noundef %6899, i32 noundef %6900) #11
  call void @exit(i32 noundef 1) #12
  unreachable

6902:                                             ; preds = %6875
  %6903 = load i32, ptr @test_count, align 4, !tbaa !5
  %6904 = add nsw i32 %6903, 1
  store i32 %6904, ptr @test_count, align 4, !tbaa !5
  %6905 = load i32, ptr %369, align 4, !tbaa !5
  %6906 = icmp eq i32 %6905, 0
  br i1 %6906, label %6907, label %6929

6907:                                             ; preds = %6902
  %6908 = load i32, ptr %423, align 4, !tbaa !5
  %6909 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6910 = call i32 @s2n_print_stacktrace(ptr noundef %6909) #9
  %6911 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6912 = trunc nuw i8 %6911 to i1
  br i1 %6912, label %6913, label %6917

6913:                                             ; preds = %6907
  %6914 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6915 = call i32 @fileno(ptr noundef %6914) #9
  %6916 = call i32 @isatty(i32 noundef %6915) #9
  %.not1229 = icmp eq i32 %6916, 0
  br i1 %.not1229, label %6917, label %6918

6917:                                             ; preds = %6913, %6907
  br label %6918

6918:                                             ; preds = %6913, %6917
  %.str.5.sink3727 = phi ptr [ @.str.5, %6917 ], [ @.str.2, %6913 ]
  store i32 %6908, ptr %423, align 4, !tbaa !5
  %6919 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6920 = load i32, ptr @test_count, align 4, !tbaa !5
  %6921 = load i32, ptr %369, align 4, !tbaa !5
  %6922 = call ptr @s2n_strerror(i32 noundef %6921, ptr noundef nonnull @.str.4) #9
  %6923 = load i32, ptr %369, align 4, !tbaa !5
  %6924 = call ptr @s2n_strerror_debug(i32 noundef %6923, ptr noundef nonnull @.str.4) #9
  %6925 = load i32, ptr %423, align 4, !tbaa !5
  %6926 = call ptr @strerror(i32 noundef %6925) #9
  %6927 = load i32, ptr %423, align 4, !tbaa !5
  %6928 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6919, ptr noundef nonnull %.str.5.sink3727, i32 noundef %6920, ptr noundef nonnull @.str.21, ptr noundef nonnull @.str.1, i32 noundef 385, ptr noundef %6922, ptr noundef %6924, ptr noundef %6926, i32 noundef %6927) #11
  call void @exit(i32 noundef 1) #12
  unreachable

6929:                                             ; preds = %6902
  %6930 = add nsw i32 %6903, 2
  store i32 %6930, ptr @test_count, align 4, !tbaa !5
  %6931 = call ptr @s2n_strerror_debug(i32 noundef %6905, ptr noundef nonnull @.str.4) #9
  %6932 = icmp eq ptr %6931, null
  br i1 %6932, label %6933, label %6955

6933:                                             ; preds = %6929
  %6934 = load i32, ptr %423, align 4, !tbaa !5
  %6935 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6936 = call i32 @s2n_print_stacktrace(ptr noundef %6935) #9
  %6937 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6938 = trunc nuw i8 %6937 to i1
  br i1 %6938, label %6939, label %6943

6939:                                             ; preds = %6933
  %6940 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6941 = call i32 @fileno(ptr noundef %6940) #9
  %6942 = call i32 @isatty(i32 noundef %6941) #9
  %.not1228 = icmp eq i32 %6942, 0
  br i1 %.not1228, label %6943, label %6944

6943:                                             ; preds = %6939, %6933
  br label %6944

6944:                                             ; preds = %6939, %6943
  %.str.5.sink3736 = phi ptr [ @.str.5, %6943 ], [ @.str.2, %6939 ]
  store i32 %6934, ptr %423, align 4, !tbaa !5
  %6945 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6946 = load i32, ptr @test_count, align 4, !tbaa !5
  %6947 = load i32, ptr %369, align 4, !tbaa !5
  %6948 = call ptr @s2n_strerror(i32 noundef %6947, ptr noundef nonnull @.str.4) #9
  %6949 = load i32, ptr %369, align 4, !tbaa !5
  %6950 = call ptr @s2n_strerror_debug(i32 noundef %6949, ptr noundef nonnull @.str.4) #9
  %6951 = load i32, ptr %423, align 4, !tbaa !5
  %6952 = call ptr @strerror(i32 noundef %6951) #9
  %6953 = load i32, ptr %423, align 4, !tbaa !5
  %6954 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6945, ptr noundef nonnull %.str.5.sink3736, i32 noundef %6946, ptr noundef nonnull @.str.22, ptr noundef nonnull @.str.1, i32 noundef 385, ptr noundef %6948, ptr noundef %6950, ptr noundef %6952, i32 noundef %6953) #11
  call void @exit(i32 noundef 1) #12
  unreachable

6955:                                             ; preds = %6929
  store i32 0, ptr %369, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #9
  store i32 0, ptr %423, align 4, !tbaa !5
  %6956 = load i32, ptr @test_count, align 4, !tbaa !5
  %6957 = add nsw i32 %6956, 1
  store i32 %6957, ptr @test_count, align 4, !tbaa !5
  %6958 = load ptr, ptr %3, align 8, !tbaa !9
  %6959 = call i32 @s2n_test_auth_combo(ptr noundef %5806, ptr noundef nonnull @s2n_dhe_rsa_with_3des_ede_cbc_sha, ptr noundef nonnull @s2n_rsa_pss_rsae_sha256, ptr noundef %6958)
  %6960 = icmp eq i32 %6959, -1
  br i1 %6960, label %6961, label %6983

6961:                                             ; preds = %6955
  %6962 = load i32, ptr %423, align 4, !tbaa !5
  %6963 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6964 = call i32 @s2n_print_stacktrace(ptr noundef %6963) #9
  %6965 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6966 = trunc nuw i8 %6965 to i1
  br i1 %6966, label %6967, label %6971

6967:                                             ; preds = %6961
  %6968 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6969 = call i32 @fileno(ptr noundef %6968) #9
  %6970 = call i32 @isatty(i32 noundef %6969) #9
  %.not1227 = icmp eq i32 %6970, 0
  br i1 %.not1227, label %6971, label %6972

6971:                                             ; preds = %6967, %6961
  br label %6972

6972:                                             ; preds = %6967, %6971
  %.str.5.sink3745 = phi ptr [ @.str.5, %6971 ], [ @.str.2, %6967 ]
  store i32 %6962, ptr %423, align 4, !tbaa !5
  %6973 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6974 = load i32, ptr @test_count, align 4, !tbaa !5
  %6975 = load i32, ptr %369, align 4, !tbaa !5
  %6976 = call ptr @s2n_strerror(i32 noundef %6975, ptr noundef nonnull @.str.4) #9
  %6977 = load i32, ptr %369, align 4, !tbaa !5
  %6978 = call ptr @s2n_strerror_debug(i32 noundef %6977, ptr noundef nonnull @.str.4) #9
  %6979 = load i32, ptr %423, align 4, !tbaa !5
  %6980 = call ptr @strerror(i32 noundef %6979) #9
  %6981 = load i32, ptr %423, align 4, !tbaa !5
  %6982 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6973, ptr noundef nonnull %.str.5.sink3745, i32 noundef %6974, ptr noundef nonnull @.str.85, ptr noundef nonnull @.str.1, i32 noundef 386, ptr noundef %6976, ptr noundef %6978, ptr noundef %6980, i32 noundef %6981) #11
  call void @exit(i32 noundef 1) #12
  unreachable

6983:                                             ; preds = %6955
  %6984 = load i32, ptr @test_count, align 4, !tbaa !5
  %6985 = add nsw i32 %6984, 1
  store i32 %6985, ptr @test_count, align 4, !tbaa !5
  %6986 = call i32 @s2n_test_auth_combo(ptr noundef %5806, ptr noundef nonnull @s2n_dhe_rsa_with_3des_ede_cbc_sha, ptr noundef nonnull @s2n_ecdsa_sha384, ptr noundef null)
  %6987 = icmp eq i32 %6986, -1
  br i1 %6987, label %7010, label %6988

6988:                                             ; preds = %6983
  %6989 = load i32, ptr %423, align 4, !tbaa !5
  %6990 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6991 = call i32 @s2n_print_stacktrace(ptr noundef %6990) #9
  %6992 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6993 = trunc nuw i8 %6992 to i1
  br i1 %6993, label %6994, label %6998

6994:                                             ; preds = %6988
  %6995 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6996 = call i32 @fileno(ptr noundef %6995) #9
  %6997 = call i32 @isatty(i32 noundef %6996) #9
  %.not1091 = icmp eq i32 %6997, 0
  br i1 %.not1091, label %6998, label %6999

6998:                                             ; preds = %6994, %6988
  br label %6999

6999:                                             ; preds = %6994, %6998
  %.str.5.sink3754 = phi ptr [ @.str.5, %6998 ], [ @.str.2, %6994 ]
  store i32 %6989, ptr %423, align 4, !tbaa !5
  %7000 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7001 = load i32, ptr @test_count, align 4, !tbaa !5
  %7002 = load i32, ptr %369, align 4, !tbaa !5
  %7003 = call ptr @s2n_strerror(i32 noundef %7002, ptr noundef nonnull @.str.4) #9
  %7004 = load i32, ptr %369, align 4, !tbaa !5
  %7005 = call ptr @s2n_strerror_debug(i32 noundef %7004, ptr noundef nonnull @.str.4) #9
  %7006 = load i32, ptr %423, align 4, !tbaa !5
  %7007 = call ptr @strerror(i32 noundef %7006) #9
  %7008 = load i32, ptr %423, align 4, !tbaa !5
  %7009 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7000, ptr noundef nonnull %.str.5.sink3754, i32 noundef %7001, ptr noundef nonnull @.str.75, ptr noundef nonnull @.str.1, i32 noundef 387, ptr noundef %7003, ptr noundef %7005, ptr noundef %7007, i32 noundef %7008) #11
  call void @exit(i32 noundef 1) #12
  unreachable

7010:                                             ; preds = %6983
  %7011 = load i32, ptr @test_count, align 4, !tbaa !5
  %7012 = add nsw i32 %7011, 1
  store i32 %7012, ptr @test_count, align 4, !tbaa !5
  %7013 = load i32, ptr %369, align 4, !tbaa !5
  %7014 = icmp eq i32 %7013, 0
  br i1 %7014, label %7015, label %7037

7015:                                             ; preds = %7010
  %7016 = load i32, ptr %423, align 4, !tbaa !5
  %7017 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7018 = call i32 @s2n_print_stacktrace(ptr noundef %7017) #9
  %7019 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7020 = trunc nuw i8 %7019 to i1
  br i1 %7020, label %7021, label %7025

7021:                                             ; preds = %7015
  %7022 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7023 = call i32 @fileno(ptr noundef %7022) #9
  %7024 = call i32 @isatty(i32 noundef %7023) #9
  %.not1226 = icmp eq i32 %7024, 0
  br i1 %.not1226, label %7025, label %7026

7025:                                             ; preds = %7021, %7015
  br label %7026

7026:                                             ; preds = %7021, %7025
  %.str.5.sink3763 = phi ptr [ @.str.5, %7025 ], [ @.str.2, %7021 ]
  store i32 %7016, ptr %423, align 4, !tbaa !5
  %7027 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7028 = load i32, ptr @test_count, align 4, !tbaa !5
  %7029 = load i32, ptr %369, align 4, !tbaa !5
  %7030 = call ptr @s2n_strerror(i32 noundef %7029, ptr noundef nonnull @.str.4) #9
  %7031 = load i32, ptr %369, align 4, !tbaa !5
  %7032 = call ptr @s2n_strerror_debug(i32 noundef %7031, ptr noundef nonnull @.str.4) #9
  %7033 = load i32, ptr %423, align 4, !tbaa !5
  %7034 = call ptr @strerror(i32 noundef %7033) #9
  %7035 = load i32, ptr %423, align 4, !tbaa !5
  %7036 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7027, ptr noundef nonnull %.str.5.sink3763, i32 noundef %7028, ptr noundef nonnull @.str.21, ptr noundef nonnull @.str.1, i32 noundef 387, ptr noundef %7030, ptr noundef %7032, ptr noundef %7034, i32 noundef %7035) #11
  call void @exit(i32 noundef 1) #12
  unreachable

7037:                                             ; preds = %7010
  %7038 = add nsw i32 %7011, 2
  store i32 %7038, ptr @test_count, align 4, !tbaa !5
  %7039 = call ptr @s2n_strerror_debug(i32 noundef %7013, ptr noundef nonnull @.str.4) #9
  %7040 = icmp eq ptr %7039, null
  br i1 %7040, label %7041, label %7063

7041:                                             ; preds = %7037
  %7042 = load i32, ptr %423, align 4, !tbaa !5
  %7043 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7044 = call i32 @s2n_print_stacktrace(ptr noundef %7043) #9
  %7045 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7046 = trunc nuw i8 %7045 to i1
  br i1 %7046, label %7047, label %7051

7047:                                             ; preds = %7041
  %7048 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7049 = call i32 @fileno(ptr noundef %7048) #9
  %7050 = call i32 @isatty(i32 noundef %7049) #9
  %.not1225 = icmp eq i32 %7050, 0
  br i1 %.not1225, label %7051, label %7052

7051:                                             ; preds = %7047, %7041
  br label %7052

7052:                                             ; preds = %7047, %7051
  %.str.5.sink3772 = phi ptr [ @.str.5, %7051 ], [ @.str.2, %7047 ]
  store i32 %7042, ptr %423, align 4, !tbaa !5
  %7053 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7054 = load i32, ptr @test_count, align 4, !tbaa !5
  %7055 = load i32, ptr %369, align 4, !tbaa !5
  %7056 = call ptr @s2n_strerror(i32 noundef %7055, ptr noundef nonnull @.str.4) #9
  %7057 = load i32, ptr %369, align 4, !tbaa !5
  %7058 = call ptr @s2n_strerror_debug(i32 noundef %7057, ptr noundef nonnull @.str.4) #9
  %7059 = load i32, ptr %423, align 4, !tbaa !5
  %7060 = call ptr @strerror(i32 noundef %7059) #9
  %7061 = load i32, ptr %423, align 4, !tbaa !5
  %7062 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7053, ptr noundef nonnull %.str.5.sink3772, i32 noundef %7054, ptr noundef nonnull @.str.22, ptr noundef nonnull @.str.1, i32 noundef 387, ptr noundef %7056, ptr noundef %7058, ptr noundef %7060, i32 noundef %7061) #11
  call void @exit(i32 noundef 1) #12
  unreachable

7063:                                             ; preds = %7037
  store i32 0, ptr %369, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #9
  store i32 0, ptr %423, align 4, !tbaa !5
  %7064 = load i32, ptr @test_count, align 4, !tbaa !5
  %7065 = add nsw i32 %7064, 1
  store i32 %7065, ptr @test_count, align 4, !tbaa !5
  %7066 = call i32 @s2n_test_auth_combo(ptr noundef %5806, ptr noundef nonnull @s2n_ecdhe_ecdsa_with_aes_128_cbc_sha, ptr noundef nonnull @s2n_rsa_pkcs1_md5_sha1, ptr noundef null)
  %7067 = icmp eq i32 %7066, -1
  br i1 %7067, label %7090, label %7068

7068:                                             ; preds = %7063
  %7069 = load i32, ptr %423, align 4, !tbaa !5
  %7070 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7071 = call i32 @s2n_print_stacktrace(ptr noundef %7070) #9
  %7072 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7073 = trunc nuw i8 %7072 to i1
  br i1 %7073, label %7074, label %7078

7074:                                             ; preds = %7068
  %7075 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7076 = call i32 @fileno(ptr noundef %7075) #9
  %7077 = call i32 @isatty(i32 noundef %7076) #9
  %.not1092 = icmp eq i32 %7077, 0
  br i1 %.not1092, label %7078, label %7079

7078:                                             ; preds = %7074, %7068
  br label %7079

7079:                                             ; preds = %7074, %7078
  %.str.5.sink3781 = phi ptr [ @.str.5, %7078 ], [ @.str.2, %7074 ]
  store i32 %7069, ptr %423, align 4, !tbaa !5
  %7080 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7081 = load i32, ptr @test_count, align 4, !tbaa !5
  %7082 = load i32, ptr %369, align 4, !tbaa !5
  %7083 = call ptr @s2n_strerror(i32 noundef %7082, ptr noundef nonnull @.str.4) #9
  %7084 = load i32, ptr %369, align 4, !tbaa !5
  %7085 = call ptr @s2n_strerror_debug(i32 noundef %7084, ptr noundef nonnull @.str.4) #9
  %7086 = load i32, ptr %423, align 4, !tbaa !5
  %7087 = call ptr @strerror(i32 noundef %7086) #9
  %7088 = load i32, ptr %423, align 4, !tbaa !5
  %7089 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7080, ptr noundef nonnull %.str.5.sink3781, i32 noundef %7081, ptr noundef nonnull @.str.76, ptr noundef nonnull @.str.1, i32 noundef 389, ptr noundef %7083, ptr noundef %7085, ptr noundef %7087, i32 noundef %7088) #11
  call void @exit(i32 noundef 1) #12
  unreachable

7090:                                             ; preds = %7063
  %7091 = load i32, ptr @test_count, align 4, !tbaa !5
  %7092 = add nsw i32 %7091, 1
  store i32 %7092, ptr @test_count, align 4, !tbaa !5
  %7093 = load i32, ptr %369, align 4, !tbaa !5
  %7094 = icmp eq i32 %7093, 0
  br i1 %7094, label %7095, label %7117

7095:                                             ; preds = %7090
  %7096 = load i32, ptr %423, align 4, !tbaa !5
  %7097 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7098 = call i32 @s2n_print_stacktrace(ptr noundef %7097) #9
  %7099 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7100 = trunc nuw i8 %7099 to i1
  br i1 %7100, label %7101, label %7105

7101:                                             ; preds = %7095
  %7102 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7103 = call i32 @fileno(ptr noundef %7102) #9
  %7104 = call i32 @isatty(i32 noundef %7103) #9
  %.not1224 = icmp eq i32 %7104, 0
  br i1 %.not1224, label %7105, label %7106

7105:                                             ; preds = %7101, %7095
  br label %7106

7106:                                             ; preds = %7101, %7105
  %.str.5.sink3790 = phi ptr [ @.str.5, %7105 ], [ @.str.2, %7101 ]
  store i32 %7096, ptr %423, align 4, !tbaa !5
  %7107 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7108 = load i32, ptr @test_count, align 4, !tbaa !5
  %7109 = load i32, ptr %369, align 4, !tbaa !5
  %7110 = call ptr @s2n_strerror(i32 noundef %7109, ptr noundef nonnull @.str.4) #9
  %7111 = load i32, ptr %369, align 4, !tbaa !5
  %7112 = call ptr @s2n_strerror_debug(i32 noundef %7111, ptr noundef nonnull @.str.4) #9
  %7113 = load i32, ptr %423, align 4, !tbaa !5
  %7114 = call ptr @strerror(i32 noundef %7113) #9
  %7115 = load i32, ptr %423, align 4, !tbaa !5
  %7116 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7107, ptr noundef nonnull %.str.5.sink3790, i32 noundef %7108, ptr noundef nonnull @.str.21, ptr noundef nonnull @.str.1, i32 noundef 389, ptr noundef %7110, ptr noundef %7112, ptr noundef %7114, i32 noundef %7115) #11
  call void @exit(i32 noundef 1) #12
  unreachable

7117:                                             ; preds = %7090
  %7118 = add nsw i32 %7091, 2
  store i32 %7118, ptr @test_count, align 4, !tbaa !5
  %7119 = call ptr @s2n_strerror_debug(i32 noundef %7093, ptr noundef nonnull @.str.4) #9
  %7120 = icmp eq ptr %7119, null
  br i1 %7120, label %7121, label %7143

7121:                                             ; preds = %7117
  %7122 = load i32, ptr %423, align 4, !tbaa !5
  %7123 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7124 = call i32 @s2n_print_stacktrace(ptr noundef %7123) #9
  %7125 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7126 = trunc nuw i8 %7125 to i1
  br i1 %7126, label %7127, label %7131

7127:                                             ; preds = %7121
  %7128 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7129 = call i32 @fileno(ptr noundef %7128) #9
  %7130 = call i32 @isatty(i32 noundef %7129) #9
  %.not1223 = icmp eq i32 %7130, 0
  br i1 %.not1223, label %7131, label %7132

7131:                                             ; preds = %7127, %7121
  br label %7132

7132:                                             ; preds = %7127, %7131
  %.str.5.sink3799 = phi ptr [ @.str.5, %7131 ], [ @.str.2, %7127 ]
  store i32 %7122, ptr %423, align 4, !tbaa !5
  %7133 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7134 = load i32, ptr @test_count, align 4, !tbaa !5
  %7135 = load i32, ptr %369, align 4, !tbaa !5
  %7136 = call ptr @s2n_strerror(i32 noundef %7135, ptr noundef nonnull @.str.4) #9
  %7137 = load i32, ptr %369, align 4, !tbaa !5
  %7138 = call ptr @s2n_strerror_debug(i32 noundef %7137, ptr noundef nonnull @.str.4) #9
  %7139 = load i32, ptr %423, align 4, !tbaa !5
  %7140 = call ptr @strerror(i32 noundef %7139) #9
  %7141 = load i32, ptr %423, align 4, !tbaa !5
  %7142 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7133, ptr noundef nonnull %.str.5.sink3799, i32 noundef %7134, ptr noundef nonnull @.str.22, ptr noundef nonnull @.str.1, i32 noundef 389, ptr noundef %7136, ptr noundef %7138, ptr noundef %7140, i32 noundef %7141) #11
  call void @exit(i32 noundef 1) #12
  unreachable

7143:                                             ; preds = %7117
  store i32 0, ptr %369, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #9
  store i32 0, ptr %423, align 4, !tbaa !5
  %7144 = load i32, ptr @test_count, align 4, !tbaa !5
  %7145 = add nsw i32 %7144, 1
  store i32 %7145, ptr @test_count, align 4, !tbaa !5
  %7146 = call i32 @s2n_test_auth_combo(ptr noundef %5806, ptr noundef nonnull @s2n_ecdhe_ecdsa_with_aes_128_cbc_sha, ptr noundef nonnull @s2n_rsa_pss_pss_sha256, ptr noundef null)
  %7147 = icmp eq i32 %7146, -1
  br i1 %7147, label %7170, label %7148

7148:                                             ; preds = %7143
  %7149 = load i32, ptr %423, align 4, !tbaa !5
  %7150 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7151 = call i32 @s2n_print_stacktrace(ptr noundef %7150) #9
  %7152 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7153 = trunc nuw i8 %7152 to i1
  br i1 %7153, label %7154, label %7158

7154:                                             ; preds = %7148
  %7155 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7156 = call i32 @fileno(ptr noundef %7155) #9
  %7157 = call i32 @isatty(i32 noundef %7156) #9
  %.not1093 = icmp eq i32 %7157, 0
  br i1 %.not1093, label %7158, label %7159

7158:                                             ; preds = %7154, %7148
  br label %7159

7159:                                             ; preds = %7154, %7158
  %.str.5.sink3808 = phi ptr [ @.str.5, %7158 ], [ @.str.2, %7154 ]
  store i32 %7149, ptr %423, align 4, !tbaa !5
  %7160 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7161 = load i32, ptr @test_count, align 4, !tbaa !5
  %7162 = load i32, ptr %369, align 4, !tbaa !5
  %7163 = call ptr @s2n_strerror(i32 noundef %7162, ptr noundef nonnull @.str.4) #9
  %7164 = load i32, ptr %369, align 4, !tbaa !5
  %7165 = call ptr @s2n_strerror_debug(i32 noundef %7164, ptr noundef nonnull @.str.4) #9
  %7166 = load i32, ptr %423, align 4, !tbaa !5
  %7167 = call ptr @strerror(i32 noundef %7166) #9
  %7168 = load i32, ptr %423, align 4, !tbaa !5
  %7169 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7160, ptr noundef nonnull %.str.5.sink3808, i32 noundef %7161, ptr noundef nonnull @.str.77, ptr noundef nonnull @.str.1, i32 noundef 390, ptr noundef %7163, ptr noundef %7165, ptr noundef %7167, i32 noundef %7168) #11
  call void @exit(i32 noundef 1) #12
  unreachable

7170:                                             ; preds = %7143
  %7171 = load i32, ptr @test_count, align 4, !tbaa !5
  %7172 = add nsw i32 %7171, 1
  store i32 %7172, ptr @test_count, align 4, !tbaa !5
  %7173 = load i32, ptr %369, align 4, !tbaa !5
  %7174 = icmp eq i32 %7173, 0
  br i1 %7174, label %7175, label %7197

7175:                                             ; preds = %7170
  %7176 = load i32, ptr %423, align 4, !tbaa !5
  %7177 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7178 = call i32 @s2n_print_stacktrace(ptr noundef %7177) #9
  %7179 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7180 = trunc nuw i8 %7179 to i1
  br i1 %7180, label %7181, label %7185

7181:                                             ; preds = %7175
  %7182 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7183 = call i32 @fileno(ptr noundef %7182) #9
  %7184 = call i32 @isatty(i32 noundef %7183) #9
  %.not1222 = icmp eq i32 %7184, 0
  br i1 %.not1222, label %7185, label %7186

7185:                                             ; preds = %7181, %7175
  br label %7186

7186:                                             ; preds = %7181, %7185
  %.str.5.sink3817 = phi ptr [ @.str.5, %7185 ], [ @.str.2, %7181 ]
  store i32 %7176, ptr %423, align 4, !tbaa !5
  %7187 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7188 = load i32, ptr @test_count, align 4, !tbaa !5
  %7189 = load i32, ptr %369, align 4, !tbaa !5
  %7190 = call ptr @s2n_strerror(i32 noundef %7189, ptr noundef nonnull @.str.4) #9
  %7191 = load i32, ptr %369, align 4, !tbaa !5
  %7192 = call ptr @s2n_strerror_debug(i32 noundef %7191, ptr noundef nonnull @.str.4) #9
  %7193 = load i32, ptr %423, align 4, !tbaa !5
  %7194 = call ptr @strerror(i32 noundef %7193) #9
  %7195 = load i32, ptr %423, align 4, !tbaa !5
  %7196 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7187, ptr noundef nonnull %.str.5.sink3817, i32 noundef %7188, ptr noundef nonnull @.str.21, ptr noundef nonnull @.str.1, i32 noundef 390, ptr noundef %7190, ptr noundef %7192, ptr noundef %7194, i32 noundef %7195) #11
  call void @exit(i32 noundef 1) #12
  unreachable

7197:                                             ; preds = %7170
  %7198 = add nsw i32 %7171, 2
  store i32 %7198, ptr @test_count, align 4, !tbaa !5
  %7199 = call ptr @s2n_strerror_debug(i32 noundef %7173, ptr noundef nonnull @.str.4) #9
  %7200 = icmp eq ptr %7199, null
  br i1 %7200, label %7201, label %7223

7201:                                             ; preds = %7197
  %7202 = load i32, ptr %423, align 4, !tbaa !5
  %7203 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7204 = call i32 @s2n_print_stacktrace(ptr noundef %7203) #9
  %7205 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7206 = trunc nuw i8 %7205 to i1
  br i1 %7206, label %7207, label %7211

7207:                                             ; preds = %7201
  %7208 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7209 = call i32 @fileno(ptr noundef %7208) #9
  %7210 = call i32 @isatty(i32 noundef %7209) #9
  %.not1221 = icmp eq i32 %7210, 0
  br i1 %.not1221, label %7211, label %7212

7211:                                             ; preds = %7207, %7201
  br label %7212

7212:                                             ; preds = %7207, %7211
  %.str.5.sink3826 = phi ptr [ @.str.5, %7211 ], [ @.str.2, %7207 ]
  store i32 %7202, ptr %423, align 4, !tbaa !5
  %7213 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7214 = load i32, ptr @test_count, align 4, !tbaa !5
  %7215 = load i32, ptr %369, align 4, !tbaa !5
  %7216 = call ptr @s2n_strerror(i32 noundef %7215, ptr noundef nonnull @.str.4) #9
  %7217 = load i32, ptr %369, align 4, !tbaa !5
  %7218 = call ptr @s2n_strerror_debug(i32 noundef %7217, ptr noundef nonnull @.str.4) #9
  %7219 = load i32, ptr %423, align 4, !tbaa !5
  %7220 = call ptr @strerror(i32 noundef %7219) #9
  %7221 = load i32, ptr %423, align 4, !tbaa !5
  %7222 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7213, ptr noundef nonnull %.str.5.sink3826, i32 noundef %7214, ptr noundef nonnull @.str.22, ptr noundef nonnull @.str.1, i32 noundef 390, ptr noundef %7216, ptr noundef %7218, ptr noundef %7220, i32 noundef %7221) #11
  call void @exit(i32 noundef 1) #12
  unreachable

7223:                                             ; preds = %7197
  store i32 0, ptr %369, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #9
  store i32 0, ptr %423, align 4, !tbaa !5
  %7224 = load i32, ptr @test_count, align 4, !tbaa !5
  %7225 = add nsw i32 %7224, 1
  store i32 %7225, ptr @test_count, align 4, !tbaa !5
  %7226 = call i32 @s2n_test_auth_combo(ptr noundef %5806, ptr noundef nonnull @s2n_ecdhe_ecdsa_with_aes_128_cbc_sha, ptr noundef nonnull @s2n_rsa_pss_rsae_sha256, ptr noundef null)
  %7227 = icmp eq i32 %7226, -1
  br i1 %7227, label %7250, label %7228

7228:                                             ; preds = %7223
  %7229 = load i32, ptr %423, align 4, !tbaa !5
  %7230 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7231 = call i32 @s2n_print_stacktrace(ptr noundef %7230) #9
  %7232 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7233 = trunc nuw i8 %7232 to i1
  br i1 %7233, label %7234, label %7238

7234:                                             ; preds = %7228
  %7235 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7236 = call i32 @fileno(ptr noundef %7235) #9
  %7237 = call i32 @isatty(i32 noundef %7236) #9
  %.not1094 = icmp eq i32 %7237, 0
  br i1 %.not1094, label %7238, label %7239

7238:                                             ; preds = %7234, %7228
  br label %7239

7239:                                             ; preds = %7234, %7238
  %.str.5.sink3835 = phi ptr [ @.str.5, %7238 ], [ @.str.2, %7234 ]
  store i32 %7229, ptr %423, align 4, !tbaa !5
  %7240 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7241 = load i32, ptr @test_count, align 4, !tbaa !5
  %7242 = load i32, ptr %369, align 4, !tbaa !5
  %7243 = call ptr @s2n_strerror(i32 noundef %7242, ptr noundef nonnull @.str.4) #9
  %7244 = load i32, ptr %369, align 4, !tbaa !5
  %7245 = call ptr @s2n_strerror_debug(i32 noundef %7244, ptr noundef nonnull @.str.4) #9
  %7246 = load i32, ptr %423, align 4, !tbaa !5
  %7247 = call ptr @strerror(i32 noundef %7246) #9
  %7248 = load i32, ptr %423, align 4, !tbaa !5
  %7249 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7240, ptr noundef nonnull %.str.5.sink3835, i32 noundef %7241, ptr noundef nonnull @.str.78, ptr noundef nonnull @.str.1, i32 noundef 391, ptr noundef %7243, ptr noundef %7245, ptr noundef %7247, i32 noundef %7248) #11
  call void @exit(i32 noundef 1) #12
  unreachable

7250:                                             ; preds = %7223
  %7251 = load i32, ptr @test_count, align 4, !tbaa !5
  %7252 = add nsw i32 %7251, 1
  store i32 %7252, ptr @test_count, align 4, !tbaa !5
  %7253 = load i32, ptr %369, align 4, !tbaa !5
  %7254 = icmp eq i32 %7253, 0
  br i1 %7254, label %7255, label %7277

7255:                                             ; preds = %7250
  %7256 = load i32, ptr %423, align 4, !tbaa !5
  %7257 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7258 = call i32 @s2n_print_stacktrace(ptr noundef %7257) #9
  %7259 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7260 = trunc nuw i8 %7259 to i1
  br i1 %7260, label %7261, label %7265

7261:                                             ; preds = %7255
  %7262 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7263 = call i32 @fileno(ptr noundef %7262) #9
  %7264 = call i32 @isatty(i32 noundef %7263) #9
  %.not1220 = icmp eq i32 %7264, 0
  br i1 %.not1220, label %7265, label %7266

7265:                                             ; preds = %7261, %7255
  br label %7266

7266:                                             ; preds = %7261, %7265
  %.str.5.sink3844 = phi ptr [ @.str.5, %7265 ], [ @.str.2, %7261 ]
  store i32 %7256, ptr %423, align 4, !tbaa !5
  %7267 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7268 = load i32, ptr @test_count, align 4, !tbaa !5
  %7269 = load i32, ptr %369, align 4, !tbaa !5
  %7270 = call ptr @s2n_strerror(i32 noundef %7269, ptr noundef nonnull @.str.4) #9
  %7271 = load i32, ptr %369, align 4, !tbaa !5
  %7272 = call ptr @s2n_strerror_debug(i32 noundef %7271, ptr noundef nonnull @.str.4) #9
  %7273 = load i32, ptr %423, align 4, !tbaa !5
  %7274 = call ptr @strerror(i32 noundef %7273) #9
  %7275 = load i32, ptr %423, align 4, !tbaa !5
  %7276 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7267, ptr noundef nonnull %.str.5.sink3844, i32 noundef %7268, ptr noundef nonnull @.str.21, ptr noundef nonnull @.str.1, i32 noundef 391, ptr noundef %7270, ptr noundef %7272, ptr noundef %7274, i32 noundef %7275) #11
  call void @exit(i32 noundef 1) #12
  unreachable

7277:                                             ; preds = %7250
  %7278 = add nsw i32 %7251, 2
  store i32 %7278, ptr @test_count, align 4, !tbaa !5
  %7279 = call ptr @s2n_strerror_debug(i32 noundef %7253, ptr noundef nonnull @.str.4) #9
  %7280 = icmp eq ptr %7279, null
  br i1 %7280, label %7281, label %7303

7281:                                             ; preds = %7277
  %7282 = load i32, ptr %423, align 4, !tbaa !5
  %7283 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7284 = call i32 @s2n_print_stacktrace(ptr noundef %7283) #9
  %7285 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7286 = trunc nuw i8 %7285 to i1
  br i1 %7286, label %7287, label %7291

7287:                                             ; preds = %7281
  %7288 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7289 = call i32 @fileno(ptr noundef %7288) #9
  %7290 = call i32 @isatty(i32 noundef %7289) #9
  %.not1219 = icmp eq i32 %7290, 0
  br i1 %.not1219, label %7291, label %7292

7291:                                             ; preds = %7287, %7281
  br label %7292

7292:                                             ; preds = %7287, %7291
  %.str.5.sink3853 = phi ptr [ @.str.5, %7291 ], [ @.str.2, %7287 ]
  store i32 %7282, ptr %423, align 4, !tbaa !5
  %7293 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7294 = load i32, ptr @test_count, align 4, !tbaa !5
  %7295 = load i32, ptr %369, align 4, !tbaa !5
  %7296 = call ptr @s2n_strerror(i32 noundef %7295, ptr noundef nonnull @.str.4) #9
  %7297 = load i32, ptr %369, align 4, !tbaa !5
  %7298 = call ptr @s2n_strerror_debug(i32 noundef %7297, ptr noundef nonnull @.str.4) #9
  %7299 = load i32, ptr %423, align 4, !tbaa !5
  %7300 = call ptr @strerror(i32 noundef %7299) #9
  %7301 = load i32, ptr %423, align 4, !tbaa !5
  %7302 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7293, ptr noundef nonnull %.str.5.sink3853, i32 noundef %7294, ptr noundef nonnull @.str.22, ptr noundef nonnull @.str.1, i32 noundef 391, ptr noundef %7296, ptr noundef %7298, ptr noundef %7300, i32 noundef %7301) #11
  call void @exit(i32 noundef 1) #12
  unreachable

7303:                                             ; preds = %7277
  store i32 0, ptr %369, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #9
  store i32 0, ptr %423, align 4, !tbaa !5
  %7304 = load i32, ptr @test_count, align 4, !tbaa !5
  %7305 = add nsw i32 %7304, 1
  store i32 %7305, ptr @test_count, align 4, !tbaa !5
  %7306 = call i32 @s2n_test_auth_combo(ptr noundef %5806, ptr noundef nonnull @s2n_ecdhe_ecdsa_with_aes_128_cbc_sha, ptr noundef nonnull @s2n_ecdsa_sha384, ptr noundef null)
  %7307 = icmp eq i32 %7306, -1
  br i1 %7307, label %7330, label %7308

7308:                                             ; preds = %7303
  %7309 = load i32, ptr %423, align 4, !tbaa !5
  %7310 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7311 = call i32 @s2n_print_stacktrace(ptr noundef %7310) #9
  %7312 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7313 = trunc nuw i8 %7312 to i1
  br i1 %7313, label %7314, label %7318

7314:                                             ; preds = %7308
  %7315 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7316 = call i32 @fileno(ptr noundef %7315) #9
  %7317 = call i32 @isatty(i32 noundef %7316) #9
  %.not1095 = icmp eq i32 %7317, 0
  br i1 %.not1095, label %7318, label %7319

7318:                                             ; preds = %7314, %7308
  br label %7319

7319:                                             ; preds = %7314, %7318
  %.str.5.sink3862 = phi ptr [ @.str.5, %7318 ], [ @.str.2, %7314 ]
  store i32 %7309, ptr %423, align 4, !tbaa !5
  %7320 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7321 = load i32, ptr @test_count, align 4, !tbaa !5
  %7322 = load i32, ptr %369, align 4, !tbaa !5
  %7323 = call ptr @s2n_strerror(i32 noundef %7322, ptr noundef nonnull @.str.4) #9
  %7324 = load i32, ptr %369, align 4, !tbaa !5
  %7325 = call ptr @s2n_strerror_debug(i32 noundef %7324, ptr noundef nonnull @.str.4) #9
  %7326 = load i32, ptr %423, align 4, !tbaa !5
  %7327 = call ptr @strerror(i32 noundef %7326) #9
  %7328 = load i32, ptr %423, align 4, !tbaa !5
  %7329 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7320, ptr noundef nonnull %.str.5.sink3862, i32 noundef %7321, ptr noundef nonnull @.str.79, ptr noundef nonnull @.str.1, i32 noundef 392, ptr noundef %7323, ptr noundef %7325, ptr noundef %7327, i32 noundef %7328) #11
  call void @exit(i32 noundef 1) #12
  unreachable

7330:                                             ; preds = %7303
  %7331 = load i32, ptr @test_count, align 4, !tbaa !5
  %7332 = add nsw i32 %7331, 1
  store i32 %7332, ptr @test_count, align 4, !tbaa !5
  %7333 = load i32, ptr %369, align 4, !tbaa !5
  %7334 = icmp eq i32 %7333, 0
  br i1 %7334, label %7335, label %7357

7335:                                             ; preds = %7330
  %7336 = load i32, ptr %423, align 4, !tbaa !5
  %7337 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7338 = call i32 @s2n_print_stacktrace(ptr noundef %7337) #9
  %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) #9
  %7344 = call i32 @isatty(i32 noundef %7343) #9
  %.not1218 = icmp eq i32 %7344, 0
  br i1 %.not1218, label %7345, label %7346

7345:                                             ; preds = %7341, %7335
  br label %7346

7346:                                             ; preds = %7341, %7345
  %.str.5.sink3871 = phi ptr [ @.str.5, %7345 ], [ @.str.2, %7341 ]
  store i32 %7336, ptr %423, 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 %369, align 4, !tbaa !5
  %7350 = call ptr @s2n_strerror(i32 noundef %7349, ptr noundef nonnull @.str.4) #9
  %7351 = load i32, ptr %369, align 4, !tbaa !5
  %7352 = call ptr @s2n_strerror_debug(i32 noundef %7351, ptr noundef nonnull @.str.4) #9
  %7353 = load i32, ptr %423, align 4, !tbaa !5
  %7354 = call ptr @strerror(i32 noundef %7353) #9
  %7355 = load i32, ptr %423, align 4, !tbaa !5
  %7356 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7347, ptr noundef nonnull %.str.5.sink3871, i32 noundef %7348, ptr noundef nonnull @.str.21, ptr noundef nonnull @.str.1, i32 noundef 392, ptr noundef %7350, ptr noundef %7352, ptr noundef %7354, i32 noundef %7355) #11
  call void @exit(i32 noundef 1) #12
  unreachable

7357:                                             ; preds = %7330
  %7358 = add nsw i32 %7331, 2
  store i32 %7358, ptr @test_count, align 4, !tbaa !5
  %7359 = call ptr @s2n_strerror_debug(i32 noundef %7333, ptr noundef nonnull @.str.4) #9
  %7360 = icmp eq ptr %7359, null
  br i1 %7360, label %7361, label %7383

7361:                                             ; preds = %7357
  %7362 = load i32, ptr %423, align 4, !tbaa !5
  %7363 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7364 = call i32 @s2n_print_stacktrace(ptr noundef %7363) #9
  %7365 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7366 = trunc nuw i8 %7365 to i1
  br i1 %7366, label %7367, label %7371

7367:                                             ; preds = %7361
  %7368 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7369 = call i32 @fileno(ptr noundef %7368) #9
  %7370 = call i32 @isatty(i32 noundef %7369) #9
  %.not1217 = icmp eq i32 %7370, 0
  br i1 %.not1217, label %7371, label %7372

7371:                                             ; preds = %7367, %7361
  br label %7372

7372:                                             ; preds = %7367, %7371
  %.str.5.sink3880 = phi ptr [ @.str.5, %7371 ], [ @.str.2, %7367 ]
  store i32 %7362, ptr %423, align 4, !tbaa !5
  %7373 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7374 = load i32, ptr @test_count, align 4, !tbaa !5
  %7375 = load i32, ptr %369, align 4, !tbaa !5
  %7376 = call ptr @s2n_strerror(i32 noundef %7375, ptr noundef nonnull @.str.4) #9
  %7377 = load i32, ptr %369, align 4, !tbaa !5
  %7378 = call ptr @s2n_strerror_debug(i32 noundef %7377, ptr noundef nonnull @.str.4) #9
  %7379 = load i32, ptr %423, align 4, !tbaa !5
  %7380 = call ptr @strerror(i32 noundef %7379) #9
  %7381 = load i32, ptr %423, align 4, !tbaa !5
  %7382 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7373, ptr noundef nonnull %.str.5.sink3880, i32 noundef %7374, ptr noundef nonnull @.str.22, ptr noundef nonnull @.str.1, i32 noundef 392, ptr noundef %7376, ptr noundef %7378, ptr noundef %7380, i32 noundef %7381) #11
  call void @exit(i32 noundef 1) #12
  unreachable

7383:                                             ; preds = %7357
  store i32 0, ptr %369, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #9
  store i32 0, ptr %423, align 4, !tbaa !5
  %7384 = load i32, ptr @test_count, align 4, !tbaa !5
  %7385 = add nsw i32 %7384, 1
  store i32 %7385, ptr @test_count, align 4, !tbaa !5
  %7386 = load ptr, ptr %3, align 8, !tbaa !9
  %7387 = call i32 @s2n_test_auth_combo(ptr noundef %5806, ptr noundef nonnull @s2n_tls13_aes_128_gcm_sha256, ptr noundef nonnull @s2n_rsa_pkcs1_md5_sha1, ptr noundef %7386)
  %7388 = icmp eq i32 %7387, -1
  br i1 %7388, label %7389, label %7411

7389:                                             ; preds = %7383
  %7390 = load i32, ptr %423, align 4, !tbaa !5
  %7391 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7392 = call i32 @s2n_print_stacktrace(ptr noundef %7391) #9
  %7393 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7394 = trunc nuw i8 %7393 to i1
  br i1 %7394, label %7395, label %7399

7395:                                             ; preds = %7389
  %7396 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7397 = call i32 @fileno(ptr noundef %7396) #9
  %7398 = call i32 @isatty(i32 noundef %7397) #9
  %.not1216 = icmp eq i32 %7398, 0
  br i1 %.not1216, label %7399, label %7400

7399:                                             ; preds = %7395, %7389
  br label %7400

7400:                                             ; preds = %7395, %7399
  %.str.5.sink3889 = phi ptr [ @.str.5, %7399 ], [ @.str.2, %7395 ]
  store i32 %7390, ptr %423, align 4, !tbaa !5
  %7401 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7402 = load i32, ptr @test_count, align 4, !tbaa !5
  %7403 = load i32, ptr %369, align 4, !tbaa !5
  %7404 = call ptr @s2n_strerror(i32 noundef %7403, ptr noundef nonnull @.str.4) #9
  %7405 = load i32, ptr %369, align 4, !tbaa !5
  %7406 = call ptr @s2n_strerror_debug(i32 noundef %7405, ptr noundef nonnull @.str.4) #9
  %7407 = load i32, ptr %423, align 4, !tbaa !5
  %7408 = call ptr @strerror(i32 noundef %7407) #9
  %7409 = load i32, ptr %423, align 4, !tbaa !5
  %7410 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7401, ptr noundef nonnull %.str.5.sink3889, i32 noundef %7402, ptr noundef nonnull @.str.86, ptr noundef nonnull @.str.1, i32 noundef 394, ptr noundef %7404, ptr noundef %7406, ptr noundef %7408, i32 noundef %7409) #11
  call void @exit(i32 noundef 1) #12
  unreachable

7411:                                             ; preds = %7383
  %7412 = load i32, ptr @test_count, align 4, !tbaa !5
  %7413 = add nsw i32 %7412, 1
  store i32 %7413, ptr @test_count, align 4, !tbaa !5
  %7414 = call i32 @s2n_test_auth_combo(ptr noundef %5806, ptr noundef nonnull @s2n_tls13_aes_128_gcm_sha256, ptr noundef nonnull @s2n_rsa_pss_pss_sha256, ptr noundef null)
  %7415 = icmp eq i32 %7414, -1
  br i1 %7415, label %7438, label %7416

7416:                                             ; preds = %7411
  %7417 = load i32, ptr %423, align 4, !tbaa !5
  %7418 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7419 = call i32 @s2n_print_stacktrace(ptr noundef %7418) #9
  %7420 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7421 = trunc nuw i8 %7420 to i1
  br i1 %7421, label %7422, label %7426

7422:                                             ; preds = %7416
  %7423 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7424 = call i32 @fileno(ptr noundef %7423) #9
  %7425 = call i32 @isatty(i32 noundef %7424) #9
  %.not1096 = icmp eq i32 %7425, 0
  br i1 %.not1096, label %7426, label %7427

7426:                                             ; preds = %7422, %7416
  br label %7427

7427:                                             ; preds = %7422, %7426
  %.str.5.sink3898 = phi ptr [ @.str.5, %7426 ], [ @.str.2, %7422 ]
  store i32 %7417, ptr %423, align 4, !tbaa !5
  %7428 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7429 = load i32, ptr @test_count, align 4, !tbaa !5
  %7430 = load i32, ptr %369, align 4, !tbaa !5
  %7431 = call ptr @s2n_strerror(i32 noundef %7430, ptr noundef nonnull @.str.4) #9
  %7432 = load i32, ptr %369, align 4, !tbaa !5
  %7433 = call ptr @s2n_strerror_debug(i32 noundef %7432, ptr noundef nonnull @.str.4) #9
  %7434 = load i32, ptr %423, align 4, !tbaa !5
  %7435 = call ptr @strerror(i32 noundef %7434) #9
  %7436 = load i32, ptr %423, align 4, !tbaa !5
  %7437 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7428, ptr noundef nonnull %.str.5.sink3898, i32 noundef %7429, ptr noundef nonnull @.str.81, ptr noundef nonnull @.str.1, i32 noundef 395, ptr noundef %7431, ptr noundef %7433, ptr noundef %7435, i32 noundef %7436) #11
  call void @exit(i32 noundef 1) #12
  unreachable

7438:                                             ; preds = %7411
  %7439 = load i32, ptr @test_count, align 4, !tbaa !5
  %7440 = add nsw i32 %7439, 1
  store i32 %7440, ptr @test_count, align 4, !tbaa !5
  %7441 = load i32, ptr %369, align 4, !tbaa !5
  %7442 = icmp eq i32 %7441, 0
  br i1 %7442, label %7443, label %7465

7443:                                             ; preds = %7438
  %7444 = load i32, ptr %423, align 4, !tbaa !5
  %7445 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7446 = call i32 @s2n_print_stacktrace(ptr noundef %7445) #9
  %7447 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7448 = trunc nuw i8 %7447 to i1
  br i1 %7448, label %7449, label %7453

7449:                                             ; preds = %7443
  %7450 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7451 = call i32 @fileno(ptr noundef %7450) #9
  %7452 = call i32 @isatty(i32 noundef %7451) #9
  %.not1215 = icmp eq i32 %7452, 0
  br i1 %.not1215, label %7453, label %7454

7453:                                             ; preds = %7449, %7443
  br label %7454

7454:                                             ; preds = %7449, %7453
  %.str.5.sink3907 = phi ptr [ @.str.5, %7453 ], [ @.str.2, %7449 ]
  store i32 %7444, ptr %423, align 4, !tbaa !5
  %7455 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7456 = load i32, ptr @test_count, align 4, !tbaa !5
  %7457 = load i32, ptr %369, align 4, !tbaa !5
  %7458 = call ptr @s2n_strerror(i32 noundef %7457, ptr noundef nonnull @.str.4) #9
  %7459 = load i32, ptr %369, align 4, !tbaa !5
  %7460 = call ptr @s2n_strerror_debug(i32 noundef %7459, ptr noundef nonnull @.str.4) #9
  %7461 = load i32, ptr %423, align 4, !tbaa !5
  %7462 = call ptr @strerror(i32 noundef %7461) #9
  %7463 = load i32, ptr %423, align 4, !tbaa !5
  %7464 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7455, ptr noundef nonnull %.str.5.sink3907, i32 noundef %7456, ptr noundef nonnull @.str.21, ptr noundef nonnull @.str.1, i32 noundef 395, ptr noundef %7458, ptr noundef %7460, ptr noundef %7462, i32 noundef %7463) #11
  call void @exit(i32 noundef 1) #12
  unreachable

7465:                                             ; preds = %7438
  %7466 = add nsw i32 %7439, 2
  store i32 %7466, ptr @test_count, align 4, !tbaa !5
  %7467 = call ptr @s2n_strerror_debug(i32 noundef %7441, ptr noundef nonnull @.str.4) #9
  %7468 = icmp eq ptr %7467, null
  br i1 %7468, label %7469, label %7491

7469:                                             ; preds = %7465
  %7470 = load i32, ptr %423, align 4, !tbaa !5
  %7471 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7472 = call i32 @s2n_print_stacktrace(ptr noundef %7471) #9
  %7473 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7474 = trunc nuw i8 %7473 to i1
  br i1 %7474, label %7475, label %7479

7475:                                             ; preds = %7469
  %7476 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7477 = call i32 @fileno(ptr noundef %7476) #9
  %7478 = call i32 @isatty(i32 noundef %7477) #9
  %.not1214 = icmp eq i32 %7478, 0
  br i1 %.not1214, label %7479, label %7480

7479:                                             ; preds = %7475, %7469
  br label %7480

7480:                                             ; preds = %7475, %7479
  %.str.5.sink3916 = phi ptr [ @.str.5, %7479 ], [ @.str.2, %7475 ]
  store i32 %7470, ptr %423, align 4, !tbaa !5
  %7481 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7482 = load i32, ptr @test_count, align 4, !tbaa !5
  %7483 = load i32, ptr %369, align 4, !tbaa !5
  %7484 = call ptr @s2n_strerror(i32 noundef %7483, ptr noundef nonnull @.str.4) #9
  %7485 = load i32, ptr %369, align 4, !tbaa !5
  %7486 = call ptr @s2n_strerror_debug(i32 noundef %7485, ptr noundef nonnull @.str.4) #9
  %7487 = load i32, ptr %423, align 4, !tbaa !5
  %7488 = call ptr @strerror(i32 noundef %7487) #9
  %7489 = load i32, ptr %423, align 4, !tbaa !5
  %7490 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7481, ptr noundef nonnull %.str.5.sink3916, i32 noundef %7482, ptr noundef nonnull @.str.22, ptr noundef nonnull @.str.1, i32 noundef 395, ptr noundef %7484, ptr noundef %7486, ptr noundef %7488, i32 noundef %7489) #11
  call void @exit(i32 noundef 1) #12
  unreachable

7491:                                             ; preds = %7465
  store i32 0, ptr %369, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #9
  store i32 0, ptr %423, align 4, !tbaa !5
  %7492 = load i32, ptr @test_count, align 4, !tbaa !5
  %7493 = add nsw i32 %7492, 1
  store i32 %7493, ptr @test_count, align 4, !tbaa !5
  %7494 = load ptr, ptr %3, align 8, !tbaa !9
  %7495 = call i32 @s2n_test_auth_combo(ptr noundef %5806, ptr noundef nonnull @s2n_tls13_aes_128_gcm_sha256, ptr noundef nonnull @s2n_rsa_pss_rsae_sha256, ptr noundef %7494)
  %7496 = icmp eq i32 %7495, -1
  br i1 %7496, label %7497, label %7519

7497:                                             ; preds = %7491
  %7498 = load i32, ptr %423, align 4, !tbaa !5
  %7499 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7500 = call i32 @s2n_print_stacktrace(ptr noundef %7499) #9
  %7501 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7502 = trunc nuw i8 %7501 to i1
  br i1 %7502, label %7503, label %7507

7503:                                             ; preds = %7497
  %7504 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7505 = call i32 @fileno(ptr noundef %7504) #9
  %7506 = call i32 @isatty(i32 noundef %7505) #9
  %.not1213 = icmp eq i32 %7506, 0
  br i1 %.not1213, label %7507, label %7508

7507:                                             ; preds = %7503, %7497
  br label %7508

7508:                                             ; preds = %7503, %7507
  %.str.5.sink3925 = phi ptr [ @.str.5, %7507 ], [ @.str.2, %7503 ]
  store i32 %7498, ptr %423, align 4, !tbaa !5
  %7509 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7510 = load i32, ptr @test_count, align 4, !tbaa !5
  %7511 = load i32, ptr %369, align 4, !tbaa !5
  %7512 = call ptr @s2n_strerror(i32 noundef %7511, ptr noundef nonnull @.str.4) #9
  %7513 = load i32, ptr %369, align 4, !tbaa !5
  %7514 = call ptr @s2n_strerror_debug(i32 noundef %7513, ptr noundef nonnull @.str.4) #9
  %7515 = load i32, ptr %423, align 4, !tbaa !5
  %7516 = call ptr @strerror(i32 noundef %7515) #9
  %7517 = load i32, ptr %423, align 4, !tbaa !5
  %7518 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7509, ptr noundef nonnull %.str.5.sink3925, i32 noundef %7510, ptr noundef nonnull @.str.87, ptr noundef nonnull @.str.1, i32 noundef 396, ptr noundef %7512, ptr noundef %7514, ptr noundef %7516, i32 noundef %7517) #11
  call void @exit(i32 noundef 1) #12
  unreachable

7519:                                             ; preds = %7491
  %7520 = load i32, ptr @test_count, align 4, !tbaa !5
  %7521 = add nsw i32 %7520, 1
  store i32 %7521, ptr @test_count, align 4, !tbaa !5
  %7522 = call i32 @s2n_test_auth_combo(ptr noundef %5806, ptr noundef nonnull @s2n_tls13_aes_128_gcm_sha256, ptr noundef nonnull @s2n_ecdsa_sha384, ptr noundef null)
  %7523 = icmp eq i32 %7522, -1
  br i1 %7523, label %7546, label %7524

7524:                                             ; preds = %7519
  %7525 = load i32, ptr %423, align 4, !tbaa !5
  %7526 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7527 = call i32 @s2n_print_stacktrace(ptr noundef %7526) #9
  %7528 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7529 = trunc nuw i8 %7528 to i1
  br i1 %7529, label %7530, label %7534

7530:                                             ; preds = %7524
  %7531 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7532 = call i32 @fileno(ptr noundef %7531) #9
  %7533 = call i32 @isatty(i32 noundef %7532) #9
  %.not1097 = icmp eq i32 %7533, 0
  br i1 %.not1097, label %7534, label %7535

7534:                                             ; preds = %7530, %7524
  br label %7535

7535:                                             ; preds = %7530, %7534
  %.str.5.sink3934 = phi ptr [ @.str.5, %7534 ], [ @.str.2, %7530 ]
  store i32 %7525, ptr %423, align 4, !tbaa !5
  %7536 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7537 = load i32, ptr @test_count, align 4, !tbaa !5
  %7538 = load i32, ptr %369, align 4, !tbaa !5
  %7539 = call ptr @s2n_strerror(i32 noundef %7538, ptr noundef nonnull @.str.4) #9
  %7540 = load i32, ptr %369, align 4, !tbaa !5
  %7541 = call ptr @s2n_strerror_debug(i32 noundef %7540, ptr noundef nonnull @.str.4) #9
  %7542 = load i32, ptr %423, align 4, !tbaa !5
  %7543 = call ptr @strerror(i32 noundef %7542) #9
  %7544 = load i32, ptr %423, align 4, !tbaa !5
  %7545 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7536, ptr noundef nonnull %.str.5.sink3934, i32 noundef %7537, ptr noundef nonnull @.str.83, ptr noundef nonnull @.str.1, i32 noundef 397, ptr noundef %7539, ptr noundef %7541, ptr noundef %7543, i32 noundef %7544) #11
  call void @exit(i32 noundef 1) #12
  unreachable

7546:                                             ; preds = %7519
  %7547 = load i32, ptr @test_count, align 4, !tbaa !5
  %7548 = add nsw i32 %7547, 1
  store i32 %7548, ptr @test_count, align 4, !tbaa !5
  %7549 = load i32, ptr %369, align 4, !tbaa !5
  %7550 = icmp eq i32 %7549, 0
  br i1 %7550, label %7551, label %7573

7551:                                             ; preds = %7546
  %7552 = load i32, ptr %423, align 4, !tbaa !5
  %7553 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7554 = call i32 @s2n_print_stacktrace(ptr noundef %7553) #9
  %7555 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7556 = trunc nuw i8 %7555 to i1
  br i1 %7556, label %7557, label %7561

7557:                                             ; preds = %7551
  %7558 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7559 = call i32 @fileno(ptr noundef %7558) #9
  %7560 = call i32 @isatty(i32 noundef %7559) #9
  %.not1212 = icmp eq i32 %7560, 0
  br i1 %.not1212, label %7561, label %7562

7561:                                             ; preds = %7557, %7551
  br label %7562

7562:                                             ; preds = %7557, %7561
  %.str.5.sink3943 = phi ptr [ @.str.5, %7561 ], [ @.str.2, %7557 ]
  store i32 %7552, ptr %423, align 4, !tbaa !5
  %7563 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7564 = load i32, ptr @test_count, align 4, !tbaa !5
  %7565 = load i32, ptr %369, align 4, !tbaa !5
  %7566 = call ptr @s2n_strerror(i32 noundef %7565, ptr noundef nonnull @.str.4) #9
  %7567 = load i32, ptr %369, align 4, !tbaa !5
  %7568 = call ptr @s2n_strerror_debug(i32 noundef %7567, ptr noundef nonnull @.str.4) #9
  %7569 = load i32, ptr %423, align 4, !tbaa !5
  %7570 = call ptr @strerror(i32 noundef %7569) #9
  %7571 = load i32, ptr %423, align 4, !tbaa !5
  %7572 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7563, ptr noundef nonnull %.str.5.sink3943, i32 noundef %7564, ptr noundef nonnull @.str.21, ptr noundef nonnull @.str.1, i32 noundef 397, ptr noundef %7566, ptr noundef %7568, ptr noundef %7570, i32 noundef %7571) #11
  call void @exit(i32 noundef 1) #12
  unreachable

7573:                                             ; preds = %7546
  %7574 = add nsw i32 %7547, 2
  store i32 %7574, ptr @test_count, align 4, !tbaa !5
  %7575 = call ptr @s2n_strerror_debug(i32 noundef %7549, ptr noundef nonnull @.str.4) #9
  %7576 = icmp eq ptr %7575, null
  br i1 %7576, label %7577, label %7599

7577:                                             ; preds = %7573
  %7578 = load i32, ptr %423, align 4, !tbaa !5
  %7579 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7580 = call i32 @s2n_print_stacktrace(ptr noundef %7579) #9
  %7581 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7582 = trunc nuw i8 %7581 to i1
  br i1 %7582, label %7583, label %7587

7583:                                             ; preds = %7577
  %7584 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7585 = call i32 @fileno(ptr noundef %7584) #9
  %7586 = call i32 @isatty(i32 noundef %7585) #9
  %.not1211 = icmp eq i32 %7586, 0
  br i1 %.not1211, label %7587, label %7588

7587:                                             ; preds = %7583, %7577
  br label %7588

7588:                                             ; preds = %7583, %7587
  %.str.5.sink3952 = phi ptr [ @.str.5, %7587 ], [ @.str.2, %7583 ]
  store i32 %7578, ptr %423, align 4, !tbaa !5
  %7589 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7590 = load i32, ptr @test_count, align 4, !tbaa !5
  %7591 = load i32, ptr %369, align 4, !tbaa !5
  %7592 = call ptr @s2n_strerror(i32 noundef %7591, ptr noundef nonnull @.str.4) #9
  %7593 = load i32, ptr %369, align 4, !tbaa !5
  %7594 = call ptr @s2n_strerror_debug(i32 noundef %7593, ptr noundef nonnull @.str.4) #9
  %7595 = load i32, ptr %423, align 4, !tbaa !5
  %7596 = call ptr @strerror(i32 noundef %7595) #9
  %7597 = load i32, ptr %423, align 4, !tbaa !5
  %7598 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7589, ptr noundef nonnull %.str.5.sink3952, i32 noundef %7590, ptr noundef nonnull @.str.22, ptr noundef nonnull @.str.1, i32 noundef 397, ptr noundef %7592, ptr noundef %7594, ptr noundef %7596, i32 noundef %7597) #11
  call void @exit(i32 noundef 1) #12
  unreachable

7599:                                             ; preds = %7573
  store i32 0, ptr %369, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #9
  store i32 0, ptr %423, align 4, !tbaa !5
  %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 = call i32 @s2n_connection_set_config(ptr noundef %5806, ptr noundef %307) #9
  %7603 = icmp eq i32 %7602, -1
  br i1 %7603, label %7604, label %7626

7604:                                             ; preds = %7599
  %7605 = load i32, ptr %423, align 4, !tbaa !5
  %7606 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7607 = call i32 @s2n_print_stacktrace(ptr noundef %7606) #9
  %7608 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7609 = trunc nuw i8 %7608 to i1
  br i1 %7609, label %7610, label %7614

7610:                                             ; preds = %7604
  %7611 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7612 = call i32 @fileno(ptr noundef %7611) #9
  %7613 = call i32 @isatty(i32 noundef %7612) #9
  %.not1210 = icmp eq i32 %7613, 0
  br i1 %.not1210, label %7614, label %7615

7614:                                             ; preds = %7610, %7604
  br label %7615

7615:                                             ; preds = %7610, %7614
  %.str.5.sink3961 = phi ptr [ @.str.5, %7614 ], [ @.str.2, %7610 ]
  store i32 %7605, ptr %423, align 4, !tbaa !5
  %7616 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7617 = load i32, ptr @test_count, align 4, !tbaa !5
  %7618 = load i32, ptr %369, align 4, !tbaa !5
  %7619 = call ptr @s2n_strerror(i32 noundef %7618, ptr noundef nonnull @.str.4) #9
  %7620 = load i32, ptr %369, align 4, !tbaa !5
  %7621 = call ptr @s2n_strerror_debug(i32 noundef %7620, ptr noundef nonnull @.str.4) #9
  %7622 = load i32, ptr %423, align 4, !tbaa !5
  %7623 = call ptr @strerror(i32 noundef %7622) #9
  %7624 = load i32, ptr %423, align 4, !tbaa !5
  %7625 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7616, ptr noundef nonnull %.str.5.sink3961, i32 noundef %7617, ptr noundef nonnull @.str.27, ptr noundef nonnull @.str.1, i32 noundef 400, ptr noundef %7619, ptr noundef %7621, ptr noundef %7623, i32 noundef %7624) #11
  call void @exit(i32 noundef 1) #12
  unreachable

7626:                                             ; preds = %7599
  %7627 = load i32, ptr @test_count, align 4, !tbaa !5
  %7628 = add nsw i32 %7627, 1
  store i32 %7628, ptr @test_count, align 4, !tbaa !5
  %7629 = call i32 @s2n_test_auth_combo(ptr noundef %5806, ptr noundef nonnull @s2n_dhe_rsa_with_3des_ede_cbc_sha, ptr noundef nonnull @s2n_rsa_pkcs1_md5_sha1, ptr noundef null)
  %7630 = icmp eq i32 %7629, -1
  br i1 %7630, label %7653, label %7631

7631:                                             ; preds = %7626
  %7632 = load i32, ptr %423, align 4, !tbaa !5
  %7633 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7634 = call i32 @s2n_print_stacktrace(ptr noundef %7633) #9
  %7635 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7636 = trunc nuw i8 %7635 to i1
  br i1 %7636, label %7637, label %7641

7637:                                             ; preds = %7631
  %7638 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7639 = call i32 @fileno(ptr noundef %7638) #9
  %7640 = call i32 @isatty(i32 noundef %7639) #9
  %.not1098 = icmp eq i32 %7640, 0
  br i1 %.not1098, label %7641, label %7642

7641:                                             ; preds = %7637, %7631
  br label %7642

7642:                                             ; preds = %7637, %7641
  %.str.5.sink3970 = phi ptr [ @.str.5, %7641 ], [ @.str.2, %7637 ]
  store i32 %7632, ptr %423, align 4, !tbaa !5
  %7643 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7644 = load i32, ptr @test_count, align 4, !tbaa !5
  %7645 = load i32, ptr %369, align 4, !tbaa !5
  %7646 = call ptr @s2n_strerror(i32 noundef %7645, ptr noundef nonnull @.str.4) #9
  %7647 = load i32, ptr %369, align 4, !tbaa !5
  %7648 = call ptr @s2n_strerror_debug(i32 noundef %7647, ptr noundef nonnull @.str.4) #9
  %7649 = load i32, ptr %423, align 4, !tbaa !5
  %7650 = call ptr @strerror(i32 noundef %7649) #9
  %7651 = load i32, ptr %423, align 4, !tbaa !5
  %7652 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7643, ptr noundef nonnull %.str.5.sink3970, i32 noundef %7644, ptr noundef nonnull @.str.72, ptr noundef nonnull @.str.1, i32 noundef 402, ptr noundef %7646, ptr noundef %7648, ptr noundef %7650, i32 noundef %7651) #11
  call void @exit(i32 noundef 1) #12
  unreachable

7653:                                             ; preds = %7626
  %7654 = load i32, ptr @test_count, align 4, !tbaa !5
  %7655 = add nsw i32 %7654, 1
  store i32 %7655, ptr @test_count, align 4, !tbaa !5
  %7656 = load i32, ptr %369, align 4, !tbaa !5
  %7657 = icmp eq i32 %7656, 0
  br i1 %7657, label %7658, label %7680

7658:                                             ; preds = %7653
  %7659 = load i32, ptr %423, align 4, !tbaa !5
  %7660 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7661 = call i32 @s2n_print_stacktrace(ptr noundef %7660) #9
  %7662 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7663 = trunc nuw i8 %7662 to i1
  br i1 %7663, label %7664, label %7668

7664:                                             ; preds = %7658
  %7665 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7666 = call i32 @fileno(ptr noundef %7665) #9
  %7667 = call i32 @isatty(i32 noundef %7666) #9
  %.not1209 = icmp eq i32 %7667, 0
  br i1 %.not1209, label %7668, label %7669

7668:                                             ; preds = %7664, %7658
  br label %7669

7669:                                             ; preds = %7664, %7668
  %.str.5.sink3979 = phi ptr [ @.str.5, %7668 ], [ @.str.2, %7664 ]
  store i32 %7659, ptr %423, align 4, !tbaa !5
  %7670 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7671 = load i32, ptr @test_count, align 4, !tbaa !5
  %7672 = load i32, ptr %369, align 4, !tbaa !5
  %7673 = call ptr @s2n_strerror(i32 noundef %7672, ptr noundef nonnull @.str.4) #9
  %7674 = load i32, ptr %369, align 4, !tbaa !5
  %7675 = call ptr @s2n_strerror_debug(i32 noundef %7674, ptr noundef nonnull @.str.4) #9
  %7676 = load i32, ptr %423, align 4, !tbaa !5
  %7677 = call ptr @strerror(i32 noundef %7676) #9
  %7678 = load i32, ptr %423, align 4, !tbaa !5
  %7679 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7670, ptr noundef nonnull %.str.5.sink3979, i32 noundef %7671, ptr noundef nonnull @.str.21, ptr noundef nonnull @.str.1, i32 noundef 402, ptr noundef %7673, ptr noundef %7675, ptr noundef %7677, i32 noundef %7678) #11
  call void @exit(i32 noundef 1) #12
  unreachable

7680:                                             ; preds = %7653
  %7681 = add nsw i32 %7654, 2
  store i32 %7681, ptr @test_count, align 4, !tbaa !5
  %7682 = call ptr @s2n_strerror_debug(i32 noundef %7656, ptr noundef nonnull @.str.4) #9
  %7683 = icmp eq ptr %7682, null
  br i1 %7683, label %7684, label %7706

7684:                                             ; preds = %7680
  %7685 = load i32, ptr %423, align 4, !tbaa !5
  %7686 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7687 = call i32 @s2n_print_stacktrace(ptr noundef %7686) #9
  %7688 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7689 = trunc nuw i8 %7688 to i1
  br i1 %7689, label %7690, label %7694

7690:                                             ; preds = %7684
  %7691 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7692 = call i32 @fileno(ptr noundef %7691) #9
  %7693 = call i32 @isatty(i32 noundef %7692) #9
  %.not1208 = icmp eq i32 %7693, 0
  br i1 %.not1208, label %7694, label %7695

7694:                                             ; preds = %7690, %7684
  br label %7695

7695:                                             ; preds = %7690, %7694
  %.str.5.sink3988 = phi ptr [ @.str.5, %7694 ], [ @.str.2, %7690 ]
  store i32 %7685, ptr %423, align 4, !tbaa !5
  %7696 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7697 = load i32, ptr @test_count, align 4, !tbaa !5
  %7698 = load i32, ptr %369, align 4, !tbaa !5
  %7699 = call ptr @s2n_strerror(i32 noundef %7698, ptr noundef nonnull @.str.4) #9
  %7700 = load i32, ptr %369, align 4, !tbaa !5
  %7701 = call ptr @s2n_strerror_debug(i32 noundef %7700, ptr noundef nonnull @.str.4) #9
  %7702 = load i32, ptr %423, align 4, !tbaa !5
  %7703 = call ptr @strerror(i32 noundef %7702) #9
  %7704 = load i32, ptr %423, align 4, !tbaa !5
  %7705 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7696, ptr noundef nonnull %.str.5.sink3988, i32 noundef %7697, ptr noundef nonnull @.str.22, ptr noundef nonnull @.str.1, i32 noundef 402, ptr noundef %7699, ptr noundef %7701, ptr noundef %7703, i32 noundef %7704) #11
  call void @exit(i32 noundef 1) #12
  unreachable

7706:                                             ; preds = %7680
  store i32 0, ptr %369, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #9
  store i32 0, ptr %423, align 4, !tbaa !5
  %7707 = call zeroext i1 (...) @s2n_is_rsa_pss_certs_supported() #9
  %7708 = load i32, ptr @test_count, align 4, !tbaa !5
  %7709 = add nsw i32 %7708, 1
  store i32 %7709, ptr @test_count, align 4, !tbaa !5
  %7710 = call i32 @s2n_test_auth_combo(ptr noundef %5806, ptr noundef nonnull @s2n_dhe_rsa_with_3des_ede_cbc_sha, ptr noundef nonnull @s2n_rsa_pss_pss_sha256, ptr noundef null)
  %7711 = icmp eq i32 %7710, -1
  br i1 %7707, label %7712, label %7735

7712:                                             ; preds = %7706
  br i1 %7711, label %7713, label %7812

7713:                                             ; preds = %7712
  %7714 = load i32, ptr %423, align 4, !tbaa !5
  %7715 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7716 = call i32 @s2n_print_stacktrace(ptr noundef %7715) #9
  %7717 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7718 = trunc nuw i8 %7717 to i1
  br i1 %7718, label %7719, label %7723

7719:                                             ; preds = %7713
  %7720 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7721 = call i32 @fileno(ptr noundef %7720) #9
  %7722 = call i32 @isatty(i32 noundef %7721) #9
  %.not1207 = icmp eq i32 %7722, 0
  br i1 %.not1207, label %7723, label %7724

7723:                                             ; preds = %7719, %7713
  br label %7724

7724:                                             ; preds = %7719, %7723
  %.str.5.sink3997 = phi ptr [ @.str.5, %7723 ], [ @.str.2, %7719 ]
  store i32 %7714, ptr %423, align 4, !tbaa !5
  %7725 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7726 = load i32, ptr @test_count, align 4, !tbaa !5
  %7727 = load i32, ptr %369, align 4, !tbaa !5
  %7728 = call ptr @s2n_strerror(i32 noundef %7727, ptr noundef nonnull @.str.4) #9
  %7729 = load i32, ptr %369, align 4, !tbaa !5
  %7730 = call ptr @s2n_strerror_debug(i32 noundef %7729, ptr noundef nonnull @.str.4) #9
  %7731 = load i32, ptr %423, align 4, !tbaa !5
  %7732 = call ptr @strerror(i32 noundef %7731) #9
  %7733 = load i32, ptr %423, align 4, !tbaa !5
  %7734 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7725, ptr noundef nonnull %.str.5.sink3997, i32 noundef %7726, ptr noundef nonnull @.str.88, ptr noundef nonnull @.str.1, i32 noundef 403, ptr noundef %7728, ptr noundef %7730, ptr noundef %7732, i32 noundef %7733) #11
  call void @exit(i32 noundef 1) #12
  unreachable

7735:                                             ; preds = %7706
  br i1 %7711, label %7758, label %7736

7736:                                             ; preds = %7735
  %7737 = load i32, ptr %423, align 4, !tbaa !5
  %7738 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7739 = call i32 @s2n_print_stacktrace(ptr noundef %7738) #9
  %7740 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7741 = trunc nuw i8 %7740 to i1
  br i1 %7741, label %7742, label %7746

7742:                                             ; preds = %7736
  %7743 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7744 = call i32 @fileno(ptr noundef %7743) #9
  %7745 = call i32 @isatty(i32 noundef %7744) #9
  %.not1099 = icmp eq i32 %7745, 0
  br i1 %.not1099, label %7746, label %7747

7746:                                             ; preds = %7742, %7736
  br label %7747

7747:                                             ; preds = %7742, %7746
  %.str.5.sink4006 = phi ptr [ @.str.5, %7746 ], [ @.str.2, %7742 ]
  store i32 %7737, ptr %423, align 4, !tbaa !5
  %7748 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7749 = load i32, ptr @test_count, align 4, !tbaa !5
  %7750 = load i32, ptr %369, align 4, !tbaa !5
  %7751 = call ptr @s2n_strerror(i32 noundef %7750, ptr noundef nonnull @.str.4) #9
  %7752 = load i32, ptr %369, align 4, !tbaa !5
  %7753 = call ptr @s2n_strerror_debug(i32 noundef %7752, ptr noundef nonnull @.str.4) #9
  %7754 = load i32, ptr %423, align 4, !tbaa !5
  %7755 = call ptr @strerror(i32 noundef %7754) #9
  %7756 = load i32, ptr %423, align 4, !tbaa !5
  %7757 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7748, ptr noundef nonnull %.str.5.sink4006, i32 noundef %7749, ptr noundef nonnull @.str.89, ptr noundef nonnull @.str.1, i32 noundef 403, ptr noundef %7751, ptr noundef %7753, ptr noundef %7755, i32 noundef %7756) #11
  call void @exit(i32 noundef 1) #12
  unreachable

7758:                                             ; preds = %7735
  %7759 = load i32, ptr @test_count, align 4, !tbaa !5
  %7760 = add nsw i32 %7759, 1
  store i32 %7760, ptr @test_count, align 4, !tbaa !5
  %7761 = load i32, ptr %369, align 4, !tbaa !5
  %7762 = icmp eq i32 %7761, 0
  br i1 %7762, label %7763, label %7785

7763:                                             ; preds = %7758
  %7764 = load i32, ptr %423, align 4, !tbaa !5
  %7765 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7766 = call i32 @s2n_print_stacktrace(ptr noundef %7765) #9
  %7767 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7768 = trunc nuw i8 %7767 to i1
  br i1 %7768, label %7769, label %7773

7769:                                             ; preds = %7763
  %7770 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7771 = call i32 @fileno(ptr noundef %7770) #9
  %7772 = call i32 @isatty(i32 noundef %7771) #9
  %.not1101 = icmp eq i32 %7772, 0
  br i1 %.not1101, label %7773, label %7774

7773:                                             ; preds = %7769, %7763
  br label %7774

7774:                                             ; preds = %7769, %7773
  %.str.5.sink4015 = phi ptr [ @.str.5, %7773 ], [ @.str.2, %7769 ]
  store i32 %7764, ptr %423, align 4, !tbaa !5
  %7775 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7776 = load i32, ptr @test_count, align 4, !tbaa !5
  %7777 = load i32, ptr %369, align 4, !tbaa !5
  %7778 = call ptr @s2n_strerror(i32 noundef %7777, ptr noundef nonnull @.str.4) #9
  %7779 = load i32, ptr %369, align 4, !tbaa !5
  %7780 = call ptr @s2n_strerror_debug(i32 noundef %7779, ptr noundef nonnull @.str.4) #9
  %7781 = load i32, ptr %423, align 4, !tbaa !5
  %7782 = call ptr @strerror(i32 noundef %7781) #9
  %7783 = load i32, ptr %423, align 4, !tbaa !5
  %7784 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7775, ptr noundef nonnull %.str.5.sink4015, i32 noundef %7776, ptr noundef nonnull @.str.21, ptr noundef nonnull @.str.1, i32 noundef 403, ptr noundef %7778, ptr noundef %7780, ptr noundef %7782, i32 noundef %7783) #11
  call void @exit(i32 noundef 1) #12
  unreachable

7785:                                             ; preds = %7758
  %7786 = add nsw i32 %7759, 2
  store i32 %7786, ptr @test_count, align 4, !tbaa !5
  %7787 = call ptr @s2n_strerror_debug(i32 noundef %7761, ptr noundef nonnull @.str.4) #9
  %7788 = icmp eq ptr %7787, null
  br i1 %7788, label %7789, label %7811

7789:                                             ; preds = %7785
  %7790 = load i32, ptr %423, align 4, !tbaa !5
  %7791 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7792 = call i32 @s2n_print_stacktrace(ptr noundef %7791) #9
  %7793 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7794 = trunc nuw i8 %7793 to i1
  br i1 %7794, label %7795, label %7799

7795:                                             ; preds = %7789
  %7796 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7797 = call i32 @fileno(ptr noundef %7796) #9
  %7798 = call i32 @isatty(i32 noundef %7797) #9
  %.not1100 = icmp eq i32 %7798, 0
  br i1 %.not1100, label %7799, label %7800

7799:                                             ; preds = %7795, %7789
  br label %7800

7800:                                             ; preds = %7795, %7799
  %.str.5.sink4024 = phi ptr [ @.str.5, %7799 ], [ @.str.2, %7795 ]
  store i32 %7790, ptr %423, align 4, !tbaa !5
  %7801 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7802 = load i32, ptr @test_count, align 4, !tbaa !5
  %7803 = load i32, ptr %369, align 4, !tbaa !5
  %7804 = call ptr @s2n_strerror(i32 noundef %7803, ptr noundef nonnull @.str.4) #9
  %7805 = load i32, ptr %369, align 4, !tbaa !5
  %7806 = call ptr @s2n_strerror_debug(i32 noundef %7805, ptr noundef nonnull @.str.4) #9
  %7807 = load i32, ptr %423, align 4, !tbaa !5
  %7808 = call ptr @strerror(i32 noundef %7807) #9
  %7809 = load i32, ptr %423, align 4, !tbaa !5
  %7810 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7801, ptr noundef nonnull %.str.5.sink4024, i32 noundef %7802, ptr noundef nonnull @.str.22, ptr noundef nonnull @.str.1, i32 noundef 403, ptr noundef %7804, ptr noundef %7806, ptr noundef %7808, i32 noundef %7809) #11
  call void @exit(i32 noundef 1) #12
  unreachable

7811:                                             ; preds = %7785
  store i32 0, ptr %369, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #9
  store i32 0, ptr %423, align 4, !tbaa !5
  br label %7812

7812:                                             ; preds = %7712, %7811
  %7813 = load i32, ptr @test_count, align 4, !tbaa !5
  %7814 = add nsw i32 %7813, 1
  store i32 %7814, ptr @test_count, align 4, !tbaa !5
  %7815 = call i32 @s2n_test_auth_combo(ptr noundef %5806, ptr noundef nonnull @s2n_dhe_rsa_with_3des_ede_cbc_sha, ptr noundef nonnull @s2n_rsa_pss_rsae_sha256, ptr noundef null)
  %7816 = icmp eq i32 %7815, -1
  br i1 %7816, label %7839, label %7817

7817:                                             ; preds = %7812
  %7818 = load i32, ptr %423, align 4, !tbaa !5
  %7819 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7820 = call i32 @s2n_print_stacktrace(ptr noundef %7819) #9
  %7821 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7822 = trunc nuw i8 %7821 to i1
  br i1 %7822, label %7823, label %7827

7823:                                             ; preds = %7817
  %7824 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7825 = call i32 @fileno(ptr noundef %7824) #9
  %7826 = call i32 @isatty(i32 noundef %7825) #9
  %.not1102 = icmp eq i32 %7826, 0
  br i1 %.not1102, label %7827, label %7828

7827:                                             ; preds = %7823, %7817
  br label %7828

7828:                                             ; preds = %7823, %7827
  %.str.5.sink4033 = phi ptr [ @.str.5, %7827 ], [ @.str.2, %7823 ]
  store i32 %7818, ptr %423, align 4, !tbaa !5
  %7829 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7830 = load i32, ptr @test_count, align 4, !tbaa !5
  %7831 = load i32, ptr %369, align 4, !tbaa !5
  %7832 = call ptr @s2n_strerror(i32 noundef %7831, ptr noundef nonnull @.str.4) #9
  %7833 = load i32, ptr %369, align 4, !tbaa !5
  %7834 = call ptr @s2n_strerror_debug(i32 noundef %7833, ptr noundef nonnull @.str.4) #9
  %7835 = load i32, ptr %423, align 4, !tbaa !5
  %7836 = call ptr @strerror(i32 noundef %7835) #9
  %7837 = load i32, ptr %423, align 4, !tbaa !5
  %7838 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7829, ptr noundef nonnull %.str.5.sink4033, i32 noundef %7830, ptr noundef nonnull @.str.74, ptr noundef nonnull @.str.1, i32 noundef 404, ptr noundef %7832, ptr noundef %7834, ptr noundef %7836, i32 noundef %7837) #11
  call void @exit(i32 noundef 1) #12
  unreachable

7839:                                             ; preds = %7812
  %7840 = load i32, ptr @test_count, align 4, !tbaa !5
  %7841 = add nsw i32 %7840, 1
  store i32 %7841, ptr @test_count, align 4, !tbaa !5
  %7842 = load i32, ptr %369, align 4, !tbaa !5
  %7843 = icmp eq i32 %7842, 0
  br i1 %7843, label %7844, label %7866

7844:                                             ; preds = %7839
  %7845 = load i32, ptr %423, align 4, !tbaa !5
  %7846 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7847 = call i32 @s2n_print_stacktrace(ptr noundef %7846) #9
  %7848 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7849 = trunc nuw i8 %7848 to i1
  br i1 %7849, label %7850, label %7854

7850:                                             ; preds = %7844
  %7851 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7852 = call i32 @fileno(ptr noundef %7851) #9
  %7853 = call i32 @isatty(i32 noundef %7852) #9
  %.not1206 = icmp eq i32 %7853, 0
  br i1 %.not1206, label %7854, label %7855

7854:                                             ; preds = %7850, %7844
  br label %7855

7855:                                             ; preds = %7850, %7854
  %.str.5.sink4042 = phi ptr [ @.str.5, %7854 ], [ @.str.2, %7850 ]
  store i32 %7845, ptr %423, align 4, !tbaa !5
  %7856 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7857 = load i32, ptr @test_count, align 4, !tbaa !5
  %7858 = load i32, ptr %369, align 4, !tbaa !5
  %7859 = call ptr @s2n_strerror(i32 noundef %7858, ptr noundef nonnull @.str.4) #9
  %7860 = load i32, ptr %369, align 4, !tbaa !5
  %7861 = call ptr @s2n_strerror_debug(i32 noundef %7860, ptr noundef nonnull @.str.4) #9
  %7862 = load i32, ptr %423, align 4, !tbaa !5
  %7863 = call ptr @strerror(i32 noundef %7862) #9
  %7864 = load i32, ptr %423, align 4, !tbaa !5
  %7865 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7856, ptr noundef nonnull %.str.5.sink4042, i32 noundef %7857, ptr noundef nonnull @.str.21, ptr noundef nonnull @.str.1, i32 noundef 404, ptr noundef %7859, ptr noundef %7861, ptr noundef %7863, i32 noundef %7864) #11
  call void @exit(i32 noundef 1) #12
  unreachable

7866:                                             ; preds = %7839
  %7867 = add nsw i32 %7840, 2
  store i32 %7867, ptr @test_count, align 4, !tbaa !5
  %7868 = call ptr @s2n_strerror_debug(i32 noundef %7842, ptr noundef nonnull @.str.4) #9
  %7869 = icmp eq ptr %7868, null
  br i1 %7869, label %7870, label %7892

7870:                                             ; preds = %7866
  %7871 = load i32, ptr %423, align 4, !tbaa !5
  %7872 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7873 = call i32 @s2n_print_stacktrace(ptr noundef %7872) #9
  %7874 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7875 = trunc nuw i8 %7874 to i1
  br i1 %7875, label %7876, label %7880

7876:                                             ; preds = %7870
  %7877 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7878 = call i32 @fileno(ptr noundef %7877) #9
  %7879 = call i32 @isatty(i32 noundef %7878) #9
  %.not1205 = icmp eq i32 %7879, 0
  br i1 %.not1205, label %7880, label %7881

7880:                                             ; preds = %7876, %7870
  br label %7881

7881:                                             ; preds = %7876, %7880
  %.str.5.sink4051 = phi ptr [ @.str.5, %7880 ], [ @.str.2, %7876 ]
  store i32 %7871, ptr %423, align 4, !tbaa !5
  %7882 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7883 = load i32, ptr @test_count, align 4, !tbaa !5
  %7884 = load i32, ptr %369, align 4, !tbaa !5
  %7885 = call ptr @s2n_strerror(i32 noundef %7884, ptr noundef nonnull @.str.4) #9
  %7886 = load i32, ptr %369, align 4, !tbaa !5
  %7887 = call ptr @s2n_strerror_debug(i32 noundef %7886, ptr noundef nonnull @.str.4) #9
  %7888 = load i32, ptr %423, align 4, !tbaa !5
  %7889 = call ptr @strerror(i32 noundef %7888) #9
  %7890 = load i32, ptr %423, align 4, !tbaa !5
  %7891 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7882, ptr noundef nonnull %.str.5.sink4051, i32 noundef %7883, ptr noundef nonnull @.str.22, ptr noundef nonnull @.str.1, i32 noundef 404, ptr noundef %7885, ptr noundef %7887, ptr noundef %7889, i32 noundef %7890) #11
  call void @exit(i32 noundef 1) #12
  unreachable

7892:                                             ; preds = %7866
  store i32 0, ptr %369, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #9
  store i32 0, ptr %423, align 4, !tbaa !5
  %7893 = load i32, ptr @test_count, align 4, !tbaa !5
  %7894 = add nsw i32 %7893, 1
  store i32 %7894, ptr @test_count, align 4, !tbaa !5
  %7895 = call i32 @s2n_test_auth_combo(ptr noundef %5806, ptr noundef nonnull @s2n_dhe_rsa_with_3des_ede_cbc_sha, ptr noundef nonnull @s2n_ecdsa_sha384, ptr noundef null)
  %7896 = icmp eq i32 %7895, -1
  br i1 %7896, label %7919, label %7897

7897:                                             ; preds = %7892
  %7898 = load i32, ptr %423, align 4, !tbaa !5
  %7899 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7900 = call i32 @s2n_print_stacktrace(ptr noundef %7899) #9
  %7901 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7902 = trunc nuw i8 %7901 to i1
  br i1 %7902, label %7903, label %7907

7903:                                             ; preds = %7897
  %7904 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7905 = call i32 @fileno(ptr noundef %7904) #9
  %7906 = call i32 @isatty(i32 noundef %7905) #9
  %.not1103 = icmp eq i32 %7906, 0
  br i1 %.not1103, label %7907, label %7908

7907:                                             ; preds = %7903, %7897
  br label %7908

7908:                                             ; preds = %7903, %7907
  %.str.5.sink4060 = phi ptr [ @.str.5, %7907 ], [ @.str.2, %7903 ]
  store i32 %7898, ptr %423, align 4, !tbaa !5
  %7909 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7910 = load i32, ptr @test_count, align 4, !tbaa !5
  %7911 = load i32, ptr %369, align 4, !tbaa !5
  %7912 = call ptr @s2n_strerror(i32 noundef %7911, ptr noundef nonnull @.str.4) #9
  %7913 = load i32, ptr %369, align 4, !tbaa !5
  %7914 = call ptr @s2n_strerror_debug(i32 noundef %7913, ptr noundef nonnull @.str.4) #9
  %7915 = load i32, ptr %423, align 4, !tbaa !5
  %7916 = call ptr @strerror(i32 noundef %7915) #9
  %7917 = load i32, ptr %423, align 4, !tbaa !5
  %7918 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7909, ptr noundef nonnull %.str.5.sink4060, i32 noundef %7910, ptr noundef nonnull @.str.75, ptr noundef nonnull @.str.1, i32 noundef 405, ptr noundef %7912, ptr noundef %7914, ptr noundef %7916, i32 noundef %7917) #11
  call void @exit(i32 noundef 1) #12
  unreachable

7919:                                             ; preds = %7892
  %7920 = load i32, ptr @test_count, align 4, !tbaa !5
  %7921 = add nsw i32 %7920, 1
  store i32 %7921, ptr @test_count, align 4, !tbaa !5
  %7922 = load i32, ptr %369, align 4, !tbaa !5
  %7923 = icmp eq i32 %7922, 0
  br i1 %7923, label %7924, label %7946

7924:                                             ; preds = %7919
  %7925 = load i32, ptr %423, align 4, !tbaa !5
  %7926 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7927 = call i32 @s2n_print_stacktrace(ptr noundef %7926) #9
  %7928 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7929 = trunc nuw i8 %7928 to i1
  br i1 %7929, label %7930, label %7934

7930:                                             ; preds = %7924
  %7931 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7932 = call i32 @fileno(ptr noundef %7931) #9
  %7933 = call i32 @isatty(i32 noundef %7932) #9
  %.not1204 = icmp eq i32 %7933, 0
  br i1 %.not1204, label %7934, label %7935

7934:                                             ; preds = %7930, %7924
  br label %7935

7935:                                             ; preds = %7930, %7934
  %.str.5.sink4069 = phi ptr [ @.str.5, %7934 ], [ @.str.2, %7930 ]
  store i32 %7925, ptr %423, align 4, !tbaa !5
  %7936 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7937 = load i32, ptr @test_count, align 4, !tbaa !5
  %7938 = load i32, ptr %369, align 4, !tbaa !5
  %7939 = call ptr @s2n_strerror(i32 noundef %7938, ptr noundef nonnull @.str.4) #9
  %7940 = load i32, ptr %369, align 4, !tbaa !5
  %7941 = call ptr @s2n_strerror_debug(i32 noundef %7940, ptr noundef nonnull @.str.4) #9
  %7942 = load i32, ptr %423, align 4, !tbaa !5
  %7943 = call ptr @strerror(i32 noundef %7942) #9
  %7944 = load i32, ptr %423, align 4, !tbaa !5
  %7945 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7936, ptr noundef nonnull %.str.5.sink4069, i32 noundef %7937, ptr noundef nonnull @.str.21, ptr noundef nonnull @.str.1, i32 noundef 405, ptr noundef %7939, ptr noundef %7941, ptr noundef %7943, i32 noundef %7944) #11
  call void @exit(i32 noundef 1) #12
  unreachable

7946:                                             ; preds = %7919
  %7947 = add nsw i32 %7920, 2
  store i32 %7947, ptr @test_count, align 4, !tbaa !5
  %7948 = call ptr @s2n_strerror_debug(i32 noundef %7922, ptr noundef nonnull @.str.4) #9
  %7949 = icmp eq ptr %7948, null
  br i1 %7949, label %7950, label %7972

7950:                                             ; preds = %7946
  %7951 = load i32, ptr %423, align 4, !tbaa !5
  %7952 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7953 = call i32 @s2n_print_stacktrace(ptr noundef %7952) #9
  %7954 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7955 = trunc nuw i8 %7954 to i1
  br i1 %7955, label %7956, label %7960

7956:                                             ; preds = %7950
  %7957 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7958 = call i32 @fileno(ptr noundef %7957) #9
  %7959 = call i32 @isatty(i32 noundef %7958) #9
  %.not1203 = icmp eq i32 %7959, 0
  br i1 %.not1203, label %7960, label %7961

7960:                                             ; preds = %7956, %7950
  br label %7961

7961:                                             ; preds = %7956, %7960
  %.str.5.sink4078 = phi ptr [ @.str.5, %7960 ], [ @.str.2, %7956 ]
  store i32 %7951, ptr %423, align 4, !tbaa !5
  %7962 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7963 = load i32, ptr @test_count, align 4, !tbaa !5
  %7964 = load i32, ptr %369, align 4, !tbaa !5
  %7965 = call ptr @s2n_strerror(i32 noundef %7964, ptr noundef nonnull @.str.4) #9
  %7966 = load i32, ptr %369, align 4, !tbaa !5
  %7967 = call ptr @s2n_strerror_debug(i32 noundef %7966, ptr noundef nonnull @.str.4) #9
  %7968 = load i32, ptr %423, align 4, !tbaa !5
  %7969 = call ptr @strerror(i32 noundef %7968) #9
  %7970 = load i32, ptr %423, align 4, !tbaa !5
  %7971 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7962, ptr noundef nonnull %.str.5.sink4078, i32 noundef %7963, ptr noundef nonnull @.str.22, ptr noundef nonnull @.str.1, i32 noundef 405, ptr noundef %7965, ptr noundef %7967, ptr noundef %7969, i32 noundef %7970) #11
  call void @exit(i32 noundef 1) #12
  unreachable

7972:                                             ; preds = %7946
  store i32 0, ptr %369, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #9
  store i32 0, ptr %423, align 4, !tbaa !5
  %7973 = load i32, ptr @test_count, align 4, !tbaa !5
  %7974 = add nsw i32 %7973, 1
  store i32 %7974, ptr @test_count, align 4, !tbaa !5
  %7975 = call i32 @s2n_test_auth_combo(ptr noundef %5806, ptr noundef nonnull @s2n_ecdhe_ecdsa_with_aes_128_cbc_sha, ptr noundef nonnull @s2n_rsa_pkcs1_md5_sha1, ptr noundef null)
  %7976 = icmp eq i32 %7975, -1
  br i1 %7976, label %7999, label %7977

7977:                                             ; preds = %7972
  %7978 = load i32, ptr %423, align 4, !tbaa !5
  %7979 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7980 = call i32 @s2n_print_stacktrace(ptr noundef %7979) #9
  %7981 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7982 = trunc nuw i8 %7981 to i1
  br i1 %7982, label %7983, label %7987

7983:                                             ; preds = %7977
  %7984 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7985 = call i32 @fileno(ptr noundef %7984) #9
  %7986 = call i32 @isatty(i32 noundef %7985) #9
  %.not1104 = icmp eq i32 %7986, 0
  br i1 %.not1104, label %7987, label %7988

7987:                                             ; preds = %7983, %7977
  br label %7988

7988:                                             ; preds = %7983, %7987
  %.str.5.sink4087 = phi ptr [ @.str.5, %7987 ], [ @.str.2, %7983 ]
  store i32 %7978, ptr %423, align 4, !tbaa !5
  %7989 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7990 = load i32, ptr @test_count, align 4, !tbaa !5
  %7991 = load i32, ptr %369, align 4, !tbaa !5
  %7992 = call ptr @s2n_strerror(i32 noundef %7991, ptr noundef nonnull @.str.4) #9
  %7993 = load i32, ptr %369, align 4, !tbaa !5
  %7994 = call ptr @s2n_strerror_debug(i32 noundef %7993, ptr noundef nonnull @.str.4) #9
  %7995 = load i32, ptr %423, align 4, !tbaa !5
  %7996 = call ptr @strerror(i32 noundef %7995) #9
  %7997 = load i32, ptr %423, align 4, !tbaa !5
  %7998 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7989, ptr noundef nonnull %.str.5.sink4087, i32 noundef %7990, ptr noundef nonnull @.str.76, ptr noundef nonnull @.str.1, i32 noundef 407, ptr noundef %7992, ptr noundef %7994, ptr noundef %7996, i32 noundef %7997) #11
  call void @exit(i32 noundef 1) #12
  unreachable

7999:                                             ; preds = %7972
  %8000 = load i32, ptr @test_count, align 4, !tbaa !5
  %8001 = add nsw i32 %8000, 1
  store i32 %8001, ptr @test_count, align 4, !tbaa !5
  %8002 = load i32, ptr %369, align 4, !tbaa !5
  %8003 = icmp eq i32 %8002, 0
  br i1 %8003, label %8004, label %8026

8004:                                             ; preds = %7999
  %8005 = load i32, ptr %423, align 4, !tbaa !5
  %8006 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8007 = call i32 @s2n_print_stacktrace(ptr noundef %8006) #9
  %8008 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8009 = trunc nuw i8 %8008 to i1
  br i1 %8009, label %8010, label %8014

8010:                                             ; preds = %8004
  %8011 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8012 = call i32 @fileno(ptr noundef %8011) #9
  %8013 = call i32 @isatty(i32 noundef %8012) #9
  %.not1202 = icmp eq i32 %8013, 0
  br i1 %.not1202, label %8014, label %8015

8014:                                             ; preds = %8010, %8004
  br label %8015

8015:                                             ; preds = %8010, %8014
  %.str.5.sink4096 = phi ptr [ @.str.5, %8014 ], [ @.str.2, %8010 ]
  store i32 %8005, ptr %423, align 4, !tbaa !5
  %8016 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8017 = load i32, ptr @test_count, align 4, !tbaa !5
  %8018 = load i32, ptr %369, align 4, !tbaa !5
  %8019 = call ptr @s2n_strerror(i32 noundef %8018, ptr noundef nonnull @.str.4) #9
  %8020 = load i32, ptr %369, align 4, !tbaa !5
  %8021 = call ptr @s2n_strerror_debug(i32 noundef %8020, ptr noundef nonnull @.str.4) #9
  %8022 = load i32, ptr %423, align 4, !tbaa !5
  %8023 = call ptr @strerror(i32 noundef %8022) #9
  %8024 = load i32, ptr %423, align 4, !tbaa !5
  %8025 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8016, ptr noundef nonnull %.str.5.sink4096, i32 noundef %8017, ptr noundef nonnull @.str.21, ptr noundef nonnull @.str.1, i32 noundef 407, ptr noundef %8019, ptr noundef %8021, ptr noundef %8023, i32 noundef %8024) #11
  call void @exit(i32 noundef 1) #12
  unreachable

8026:                                             ; preds = %7999
  %8027 = add nsw i32 %8000, 2
  store i32 %8027, ptr @test_count, align 4, !tbaa !5
  %8028 = call ptr @s2n_strerror_debug(i32 noundef %8002, ptr noundef nonnull @.str.4) #9
  %8029 = icmp eq ptr %8028, null
  br i1 %8029, label %8030, label %8052

8030:                                             ; preds = %8026
  %8031 = load i32, ptr %423, align 4, !tbaa !5
  %8032 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8033 = call i32 @s2n_print_stacktrace(ptr noundef %8032) #9
  %8034 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8035 = trunc nuw i8 %8034 to i1
  br i1 %8035, label %8036, label %8040

8036:                                             ; preds = %8030
  %8037 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8038 = call i32 @fileno(ptr noundef %8037) #9
  %8039 = call i32 @isatty(i32 noundef %8038) #9
  %.not1201 = icmp eq i32 %8039, 0
  br i1 %.not1201, label %8040, label %8041

8040:                                             ; preds = %8036, %8030
  br label %8041

8041:                                             ; preds = %8036, %8040
  %.str.5.sink4105 = phi ptr [ @.str.5, %8040 ], [ @.str.2, %8036 ]
  store i32 %8031, ptr %423, align 4, !tbaa !5
  %8042 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8043 = load i32, ptr @test_count, align 4, !tbaa !5
  %8044 = load i32, ptr %369, align 4, !tbaa !5
  %8045 = call ptr @s2n_strerror(i32 noundef %8044, ptr noundef nonnull @.str.4) #9
  %8046 = load i32, ptr %369, align 4, !tbaa !5
  %8047 = call ptr @s2n_strerror_debug(i32 noundef %8046, ptr noundef nonnull @.str.4) #9
  %8048 = load i32, ptr %423, align 4, !tbaa !5
  %8049 = call ptr @strerror(i32 noundef %8048) #9
  %8050 = load i32, ptr %423, align 4, !tbaa !5
  %8051 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8042, ptr noundef nonnull %.str.5.sink4105, i32 noundef %8043, ptr noundef nonnull @.str.22, ptr noundef nonnull @.str.1, i32 noundef 407, ptr noundef %8045, ptr noundef %8047, ptr noundef %8049, i32 noundef %8050) #11
  call void @exit(i32 noundef 1) #12
  unreachable

8052:                                             ; preds = %8026
  store i32 0, ptr %369, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #9
  store i32 0, ptr %423, align 4, !tbaa !5
  %8053 = load i32, ptr @test_count, align 4, !tbaa !5
  %8054 = add nsw i32 %8053, 1
  store i32 %8054, ptr @test_count, align 4, !tbaa !5
  %8055 = call i32 @s2n_test_auth_combo(ptr noundef %5806, ptr noundef nonnull @s2n_ecdhe_ecdsa_with_aes_128_cbc_sha, ptr noundef nonnull @s2n_rsa_pss_pss_sha256, ptr noundef null)
  %8056 = icmp eq i32 %8055, -1
  br i1 %8056, label %8079, label %8057

8057:                                             ; preds = %8052
  %8058 = load i32, ptr %423, align 4, !tbaa !5
  %8059 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8060 = call i32 @s2n_print_stacktrace(ptr noundef %8059) #9
  %8061 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8062 = trunc nuw i8 %8061 to i1
  br i1 %8062, label %8063, label %8067

8063:                                             ; preds = %8057
  %8064 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8065 = call i32 @fileno(ptr noundef %8064) #9
  %8066 = call i32 @isatty(i32 noundef %8065) #9
  %.not1105 = icmp eq i32 %8066, 0
  br i1 %.not1105, label %8067, label %8068

8067:                                             ; preds = %8063, %8057
  br label %8068

8068:                                             ; preds = %8063, %8067
  %.str.5.sink4114 = phi ptr [ @.str.5, %8067 ], [ @.str.2, %8063 ]
  store i32 %8058, ptr %423, align 4, !tbaa !5
  %8069 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8070 = load i32, ptr @test_count, align 4, !tbaa !5
  %8071 = load i32, ptr %369, align 4, !tbaa !5
  %8072 = call ptr @s2n_strerror(i32 noundef %8071, ptr noundef nonnull @.str.4) #9
  %8073 = load i32, ptr %369, align 4, !tbaa !5
  %8074 = call ptr @s2n_strerror_debug(i32 noundef %8073, ptr noundef nonnull @.str.4) #9
  %8075 = load i32, ptr %423, align 4, !tbaa !5
  %8076 = call ptr @strerror(i32 noundef %8075) #9
  %8077 = load i32, ptr %423, align 4, !tbaa !5
  %8078 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8069, ptr noundef nonnull %.str.5.sink4114, i32 noundef %8070, ptr noundef nonnull @.str.77, ptr noundef nonnull @.str.1, i32 noundef 408, ptr noundef %8072, ptr noundef %8074, ptr noundef %8076, i32 noundef %8077) #11
  call void @exit(i32 noundef 1) #12
  unreachable

8079:                                             ; preds = %8052
  %8080 = load i32, ptr @test_count, align 4, !tbaa !5
  %8081 = add nsw i32 %8080, 1
  store i32 %8081, ptr @test_count, align 4, !tbaa !5
  %8082 = load i32, ptr %369, align 4, !tbaa !5
  %8083 = icmp eq i32 %8082, 0
  br i1 %8083, label %8084, label %8106

8084:                                             ; preds = %8079
  %8085 = load i32, ptr %423, align 4, !tbaa !5
  %8086 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8087 = call i32 @s2n_print_stacktrace(ptr noundef %8086) #9
  %8088 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8089 = trunc nuw i8 %8088 to i1
  br i1 %8089, label %8090, label %8094

8090:                                             ; preds = %8084
  %8091 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8092 = call i32 @fileno(ptr noundef %8091) #9
  %8093 = call i32 @isatty(i32 noundef %8092) #9
  %.not1200 = icmp eq i32 %8093, 0
  br i1 %.not1200, label %8094, label %8095

8094:                                             ; preds = %8090, %8084
  br label %8095

8095:                                             ; preds = %8090, %8094
  %.str.5.sink4123 = phi ptr [ @.str.5, %8094 ], [ @.str.2, %8090 ]
  store i32 %8085, ptr %423, align 4, !tbaa !5
  %8096 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8097 = load i32, ptr @test_count, align 4, !tbaa !5
  %8098 = load i32, ptr %369, align 4, !tbaa !5
  %8099 = call ptr @s2n_strerror(i32 noundef %8098, ptr noundef nonnull @.str.4) #9
  %8100 = load i32, ptr %369, align 4, !tbaa !5
  %8101 = call ptr @s2n_strerror_debug(i32 noundef %8100, ptr noundef nonnull @.str.4) #9
  %8102 = load i32, ptr %423, align 4, !tbaa !5
  %8103 = call ptr @strerror(i32 noundef %8102) #9
  %8104 = load i32, ptr %423, align 4, !tbaa !5
  %8105 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8096, ptr noundef nonnull %.str.5.sink4123, i32 noundef %8097, ptr noundef nonnull @.str.21, ptr noundef nonnull @.str.1, i32 noundef 408, ptr noundef %8099, ptr noundef %8101, ptr noundef %8103, i32 noundef %8104) #11
  call void @exit(i32 noundef 1) #12
  unreachable

8106:                                             ; preds = %8079
  %8107 = add nsw i32 %8080, 2
  store i32 %8107, ptr @test_count, align 4, !tbaa !5
  %8108 = call ptr @s2n_strerror_debug(i32 noundef %8082, ptr noundef nonnull @.str.4) #9
  %8109 = icmp eq ptr %8108, null
  br i1 %8109, label %8110, label %8132

8110:                                             ; preds = %8106
  %8111 = load i32, ptr %423, align 4, !tbaa !5
  %8112 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8113 = call i32 @s2n_print_stacktrace(ptr noundef %8112) #9
  %8114 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8115 = trunc nuw i8 %8114 to i1
  br i1 %8115, label %8116, label %8120

8116:                                             ; preds = %8110
  %8117 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8118 = call i32 @fileno(ptr noundef %8117) #9
  %8119 = call i32 @isatty(i32 noundef %8118) #9
  %.not1199 = icmp eq i32 %8119, 0
  br i1 %.not1199, label %8120, label %8121

8120:                                             ; preds = %8116, %8110
  br label %8121

8121:                                             ; preds = %8116, %8120
  %.str.5.sink4132 = phi ptr [ @.str.5, %8120 ], [ @.str.2, %8116 ]
  store i32 %8111, ptr %423, align 4, !tbaa !5
  %8122 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8123 = load i32, ptr @test_count, align 4, !tbaa !5
  %8124 = load i32, ptr %369, align 4, !tbaa !5
  %8125 = call ptr @s2n_strerror(i32 noundef %8124, ptr noundef nonnull @.str.4) #9
  %8126 = load i32, ptr %369, align 4, !tbaa !5
  %8127 = call ptr @s2n_strerror_debug(i32 noundef %8126, ptr noundef nonnull @.str.4) #9
  %8128 = load i32, ptr %423, align 4, !tbaa !5
  %8129 = call ptr @strerror(i32 noundef %8128) #9
  %8130 = load i32, ptr %423, align 4, !tbaa !5
  %8131 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8122, ptr noundef nonnull %.str.5.sink4132, i32 noundef %8123, ptr noundef nonnull @.str.22, ptr noundef nonnull @.str.1, i32 noundef 408, ptr noundef %8125, ptr noundef %8127, ptr noundef %8129, i32 noundef %8130) #11
  call void @exit(i32 noundef 1) #12
  unreachable

8132:                                             ; preds = %8106
  store i32 0, ptr %369, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #9
  store i32 0, ptr %423, align 4, !tbaa !5
  %8133 = load i32, ptr @test_count, align 4, !tbaa !5
  %8134 = add nsw i32 %8133, 1
  store i32 %8134, ptr @test_count, align 4, !tbaa !5
  %8135 = call i32 @s2n_test_auth_combo(ptr noundef %5806, ptr noundef nonnull @s2n_ecdhe_ecdsa_with_aes_128_cbc_sha, ptr noundef nonnull @s2n_rsa_pss_rsae_sha256, ptr noundef null)
  %8136 = icmp eq i32 %8135, -1
  br i1 %8136, label %8159, label %8137

8137:                                             ; preds = %8132
  %8138 = load i32, ptr %423, align 4, !tbaa !5
  %8139 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8140 = call i32 @s2n_print_stacktrace(ptr noundef %8139) #9
  %8141 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8142 = trunc nuw i8 %8141 to i1
  br i1 %8142, label %8143, label %8147

8143:                                             ; preds = %8137
  %8144 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8145 = call i32 @fileno(ptr noundef %8144) #9
  %8146 = call i32 @isatty(i32 noundef %8145) #9
  %.not1106 = icmp eq i32 %8146, 0
  br i1 %.not1106, label %8147, label %8148

8147:                                             ; preds = %8143, %8137
  br label %8148

8148:                                             ; preds = %8143, %8147
  %.str.5.sink4141 = phi ptr [ @.str.5, %8147 ], [ @.str.2, %8143 ]
  store i32 %8138, ptr %423, align 4, !tbaa !5
  %8149 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8150 = load i32, ptr @test_count, align 4, !tbaa !5
  %8151 = load i32, ptr %369, align 4, !tbaa !5
  %8152 = call ptr @s2n_strerror(i32 noundef %8151, ptr noundef nonnull @.str.4) #9
  %8153 = load i32, ptr %369, align 4, !tbaa !5
  %8154 = call ptr @s2n_strerror_debug(i32 noundef %8153, ptr noundef nonnull @.str.4) #9
  %8155 = load i32, ptr %423, align 4, !tbaa !5
  %8156 = call ptr @strerror(i32 noundef %8155) #9
  %8157 = load i32, ptr %423, align 4, !tbaa !5
  %8158 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8149, ptr noundef nonnull %.str.5.sink4141, i32 noundef %8150, ptr noundef nonnull @.str.78, ptr noundef nonnull @.str.1, i32 noundef 409, ptr noundef %8152, ptr noundef %8154, ptr noundef %8156, i32 noundef %8157) #11
  call void @exit(i32 noundef 1) #12
  unreachable

8159:                                             ; preds = %8132
  %8160 = load i32, ptr @test_count, align 4, !tbaa !5
  %8161 = add nsw i32 %8160, 1
  store i32 %8161, ptr @test_count, align 4, !tbaa !5
  %8162 = load i32, ptr %369, align 4, !tbaa !5
  %8163 = icmp eq i32 %8162, 0
  br i1 %8163, label %8164, label %8186

8164:                                             ; preds = %8159
  %8165 = load i32, ptr %423, align 4, !tbaa !5
  %8166 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8167 = call i32 @s2n_print_stacktrace(ptr noundef %8166) #9
  %8168 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8169 = trunc nuw i8 %8168 to i1
  br i1 %8169, label %8170, label %8174

8170:                                             ; preds = %8164
  %8171 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8172 = call i32 @fileno(ptr noundef %8171) #9
  %8173 = call i32 @isatty(i32 noundef %8172) #9
  %.not1198 = icmp eq i32 %8173, 0
  br i1 %.not1198, label %8174, label %8175

8174:                                             ; preds = %8170, %8164
  br label %8175

8175:                                             ; preds = %8170, %8174
  %.str.5.sink4150 = phi ptr [ @.str.5, %8174 ], [ @.str.2, %8170 ]
  store i32 %8165, ptr %423, align 4, !tbaa !5
  %8176 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8177 = load i32, ptr @test_count, align 4, !tbaa !5
  %8178 = load i32, ptr %369, align 4, !tbaa !5
  %8179 = call ptr @s2n_strerror(i32 noundef %8178, ptr noundef nonnull @.str.4) #9
  %8180 = load i32, ptr %369, align 4, !tbaa !5
  %8181 = call ptr @s2n_strerror_debug(i32 noundef %8180, ptr noundef nonnull @.str.4) #9
  %8182 = load i32, ptr %423, align 4, !tbaa !5
  %8183 = call ptr @strerror(i32 noundef %8182) #9
  %8184 = load i32, ptr %423, align 4, !tbaa !5
  %8185 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8176, ptr noundef nonnull %.str.5.sink4150, i32 noundef %8177, ptr noundef nonnull @.str.21, ptr noundef nonnull @.str.1, i32 noundef 409, ptr noundef %8179, ptr noundef %8181, ptr noundef %8183, i32 noundef %8184) #11
  call void @exit(i32 noundef 1) #12
  unreachable

8186:                                             ; preds = %8159
  %8187 = add nsw i32 %8160, 2
  store i32 %8187, ptr @test_count, align 4, !tbaa !5
  %8188 = call ptr @s2n_strerror_debug(i32 noundef %8162, ptr noundef nonnull @.str.4) #9
  %8189 = icmp eq ptr %8188, null
  br i1 %8189, label %8190, label %8212

8190:                                             ; preds = %8186
  %8191 = load i32, ptr %423, align 4, !tbaa !5
  %8192 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8193 = call i32 @s2n_print_stacktrace(ptr noundef %8192) #9
  %8194 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8195 = trunc nuw i8 %8194 to i1
  br i1 %8195, label %8196, label %8200

8196:                                             ; preds = %8190
  %8197 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8198 = call i32 @fileno(ptr noundef %8197) #9
  %8199 = call i32 @isatty(i32 noundef %8198) #9
  %.not1197 = icmp eq i32 %8199, 0
  br i1 %.not1197, label %8200, label %8201

8200:                                             ; preds = %8196, %8190
  br label %8201

8201:                                             ; preds = %8196, %8200
  %.str.5.sink4159 = phi ptr [ @.str.5, %8200 ], [ @.str.2, %8196 ]
  store i32 %8191, ptr %423, align 4, !tbaa !5
  %8202 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8203 = load i32, ptr @test_count, align 4, !tbaa !5
  %8204 = load i32, ptr %369, align 4, !tbaa !5
  %8205 = call ptr @s2n_strerror(i32 noundef %8204, ptr noundef nonnull @.str.4) #9
  %8206 = load i32, ptr %369, align 4, !tbaa !5
  %8207 = call ptr @s2n_strerror_debug(i32 noundef %8206, ptr noundef nonnull @.str.4) #9
  %8208 = load i32, ptr %423, align 4, !tbaa !5
  %8209 = call ptr @strerror(i32 noundef %8208) #9
  %8210 = load i32, ptr %423, align 4, !tbaa !5
  %8211 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8202, ptr noundef nonnull %.str.5.sink4159, i32 noundef %8203, ptr noundef nonnull @.str.22, ptr noundef nonnull @.str.1, i32 noundef 409, ptr noundef %8205, ptr noundef %8207, ptr noundef %8209, i32 noundef %8210) #11
  call void @exit(i32 noundef 1) #12
  unreachable

8212:                                             ; preds = %8186
  store i32 0, ptr %369, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #9
  store i32 0, ptr %423, align 4, !tbaa !5
  %8213 = load i32, ptr @test_count, align 4, !tbaa !5
  %8214 = add nsw i32 %8213, 1
  store i32 %8214, ptr @test_count, align 4, !tbaa !5
  %8215 = call i32 @s2n_test_auth_combo(ptr noundef %5806, ptr noundef nonnull @s2n_ecdhe_ecdsa_with_aes_128_cbc_sha, ptr noundef nonnull @s2n_ecdsa_sha384, ptr noundef null)
  %8216 = icmp eq i32 %8215, -1
  br i1 %8216, label %8239, label %8217

8217:                                             ; preds = %8212
  %8218 = load i32, ptr %423, align 4, !tbaa !5
  %8219 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8220 = call i32 @s2n_print_stacktrace(ptr noundef %8219) #9
  %8221 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8222 = trunc nuw i8 %8221 to i1
  br i1 %8222, label %8223, label %8227

8223:                                             ; preds = %8217
  %8224 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8225 = call i32 @fileno(ptr noundef %8224) #9
  %8226 = call i32 @isatty(i32 noundef %8225) #9
  %.not1107 = icmp eq i32 %8226, 0
  br i1 %.not1107, label %8227, label %8228

8227:                                             ; preds = %8223, %8217
  br label %8228

8228:                                             ; preds = %8223, %8227
  %.str.5.sink4168 = phi ptr [ @.str.5, %8227 ], [ @.str.2, %8223 ]
  store i32 %8218, ptr %423, align 4, !tbaa !5
  %8229 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8230 = load i32, ptr @test_count, align 4, !tbaa !5
  %8231 = load i32, ptr %369, align 4, !tbaa !5
  %8232 = call ptr @s2n_strerror(i32 noundef %8231, ptr noundef nonnull @.str.4) #9
  %8233 = load i32, ptr %369, align 4, !tbaa !5
  %8234 = call ptr @s2n_strerror_debug(i32 noundef %8233, ptr noundef nonnull @.str.4) #9
  %8235 = load i32, ptr %423, align 4, !tbaa !5
  %8236 = call ptr @strerror(i32 noundef %8235) #9
  %8237 = load i32, ptr %423, align 4, !tbaa !5
  %8238 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8229, ptr noundef nonnull %.str.5.sink4168, i32 noundef %8230, ptr noundef nonnull @.str.79, ptr noundef nonnull @.str.1, i32 noundef 410, ptr noundef %8232, ptr noundef %8234, ptr noundef %8236, i32 noundef %8237) #11
  call void @exit(i32 noundef 1) #12
  unreachable

8239:                                             ; preds = %8212
  %8240 = load i32, ptr @test_count, align 4, !tbaa !5
  %8241 = add nsw i32 %8240, 1
  store i32 %8241, ptr @test_count, align 4, !tbaa !5
  %8242 = load i32, ptr %369, align 4, !tbaa !5
  %8243 = icmp eq i32 %8242, 0
  br i1 %8243, label %8244, label %8266

8244:                                             ; preds = %8239
  %8245 = load i32, ptr %423, align 4, !tbaa !5
  %8246 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8247 = call i32 @s2n_print_stacktrace(ptr noundef %8246) #9
  %8248 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8249 = trunc nuw i8 %8248 to i1
  br i1 %8249, label %8250, label %8254

8250:                                             ; preds = %8244
  %8251 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8252 = call i32 @fileno(ptr noundef %8251) #9
  %8253 = call i32 @isatty(i32 noundef %8252) #9
  %.not1196 = icmp eq i32 %8253, 0
  br i1 %.not1196, label %8254, label %8255

8254:                                             ; preds = %8250, %8244
  br label %8255

8255:                                             ; preds = %8250, %8254
  %.str.5.sink4177 = phi ptr [ @.str.5, %8254 ], [ @.str.2, %8250 ]
  store i32 %8245, ptr %423, align 4, !tbaa !5
  %8256 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8257 = load i32, ptr @test_count, align 4, !tbaa !5
  %8258 = load i32, ptr %369, align 4, !tbaa !5
  %8259 = call ptr @s2n_strerror(i32 noundef %8258, ptr noundef nonnull @.str.4) #9
  %8260 = load i32, ptr %369, align 4, !tbaa !5
  %8261 = call ptr @s2n_strerror_debug(i32 noundef %8260, ptr noundef nonnull @.str.4) #9
  %8262 = load i32, ptr %423, align 4, !tbaa !5
  %8263 = call ptr @strerror(i32 noundef %8262) #9
  %8264 = load i32, ptr %423, align 4, !tbaa !5
  %8265 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8256, ptr noundef nonnull %.str.5.sink4177, i32 noundef %8257, ptr noundef nonnull @.str.21, ptr noundef nonnull @.str.1, i32 noundef 410, ptr noundef %8259, ptr noundef %8261, ptr noundef %8263, i32 noundef %8264) #11
  call void @exit(i32 noundef 1) #12
  unreachable

8266:                                             ; preds = %8239
  %8267 = add nsw i32 %8240, 2
  store i32 %8267, ptr @test_count, align 4, !tbaa !5
  %8268 = call ptr @s2n_strerror_debug(i32 noundef %8242, ptr noundef nonnull @.str.4) #9
  %8269 = icmp eq ptr %8268, null
  br i1 %8269, label %8270, label %8292

8270:                                             ; preds = %8266
  %8271 = load i32, ptr %423, align 4, !tbaa !5
  %8272 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8273 = call i32 @s2n_print_stacktrace(ptr noundef %8272) #9
  %8274 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8275 = trunc nuw i8 %8274 to i1
  br i1 %8275, label %8276, label %8280

8276:                                             ; preds = %8270
  %8277 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8278 = call i32 @fileno(ptr noundef %8277) #9
  %8279 = call i32 @isatty(i32 noundef %8278) #9
  %.not1195 = icmp eq i32 %8279, 0
  br i1 %.not1195, label %8280, label %8281

8280:                                             ; preds = %8276, %8270
  br label %8281

8281:                                             ; preds = %8276, %8280
  %.str.5.sink4186 = phi ptr [ @.str.5, %8280 ], [ @.str.2, %8276 ]
  store i32 %8271, ptr %423, align 4, !tbaa !5
  %8282 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8283 = load i32, ptr @test_count, align 4, !tbaa !5
  %8284 = load i32, ptr %369, align 4, !tbaa !5
  %8285 = call ptr @s2n_strerror(i32 noundef %8284, ptr noundef nonnull @.str.4) #9
  %8286 = load i32, ptr %369, align 4, !tbaa !5
  %8287 = call ptr @s2n_strerror_debug(i32 noundef %8286, ptr noundef nonnull @.str.4) #9
  %8288 = load i32, ptr %423, align 4, !tbaa !5
  %8289 = call ptr @strerror(i32 noundef %8288) #9
  %8290 = load i32, ptr %423, align 4, !tbaa !5
  %8291 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8282, ptr noundef nonnull %.str.5.sink4186, i32 noundef %8283, ptr noundef nonnull @.str.22, ptr noundef nonnull @.str.1, i32 noundef 410, ptr noundef %8285, ptr noundef %8287, ptr noundef %8289, i32 noundef %8290) #11
  call void @exit(i32 noundef 1) #12
  unreachable

8292:                                             ; preds = %8266
  store i32 0, ptr %369, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #9
  store i32 0, ptr %423, align 4, !tbaa !5
  %8293 = load i32, ptr @test_count, align 4, !tbaa !5
  %8294 = add nsw i32 %8293, 1
  store i32 %8294, ptr @test_count, align 4, !tbaa !5
  %8295 = call i32 @s2n_test_auth_combo(ptr noundef %5806, ptr noundef nonnull @s2n_tls13_aes_128_gcm_sha256, ptr noundef nonnull @s2n_rsa_pkcs1_md5_sha1, ptr noundef null)
  %8296 = icmp eq i32 %8295, -1
  br i1 %8296, label %8319, label %8297

8297:                                             ; preds = %8292
  %8298 = load i32, ptr %423, align 4, !tbaa !5
  %8299 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8300 = call i32 @s2n_print_stacktrace(ptr noundef %8299) #9
  %8301 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8302 = trunc nuw i8 %8301 to i1
  br i1 %8302, label %8303, label %8307

8303:                                             ; preds = %8297
  %8304 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8305 = call i32 @fileno(ptr noundef %8304) #9
  %8306 = call i32 @isatty(i32 noundef %8305) #9
  %.not1108 = icmp eq i32 %8306, 0
  br i1 %.not1108, label %8307, label %8308

8307:                                             ; preds = %8303, %8297
  br label %8308

8308:                                             ; preds = %8303, %8307
  %.str.5.sink4195 = phi ptr [ @.str.5, %8307 ], [ @.str.2, %8303 ]
  store i32 %8298, ptr %423, align 4, !tbaa !5
  %8309 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8310 = load i32, ptr @test_count, align 4, !tbaa !5
  %8311 = load i32, ptr %369, align 4, !tbaa !5
  %8312 = call ptr @s2n_strerror(i32 noundef %8311, ptr noundef nonnull @.str.4) #9
  %8313 = load i32, ptr %369, align 4, !tbaa !5
  %8314 = call ptr @s2n_strerror_debug(i32 noundef %8313, ptr noundef nonnull @.str.4) #9
  %8315 = load i32, ptr %423, align 4, !tbaa !5
  %8316 = call ptr @strerror(i32 noundef %8315) #9
  %8317 = load i32, ptr %423, align 4, !tbaa !5
  %8318 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8309, ptr noundef nonnull %.str.5.sink4195, i32 noundef %8310, ptr noundef nonnull @.str.80, ptr noundef nonnull @.str.1, i32 noundef 412, ptr noundef %8312, ptr noundef %8314, ptr noundef %8316, i32 noundef %8317) #11
  call void @exit(i32 noundef 1) #12
  unreachable

8319:                                             ; preds = %8292
  %8320 = load i32, ptr @test_count, align 4, !tbaa !5
  %8321 = add nsw i32 %8320, 1
  store i32 %8321, ptr @test_count, align 4, !tbaa !5
  %8322 = load i32, ptr %369, align 4, !tbaa !5
  %8323 = icmp eq i32 %8322, 0
  br i1 %8323, label %8324, label %8346

8324:                                             ; preds = %8319
  %8325 = load i32, ptr %423, align 4, !tbaa !5
  %8326 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8327 = call i32 @s2n_print_stacktrace(ptr noundef %8326) #9
  %8328 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8329 = trunc nuw i8 %8328 to i1
  br i1 %8329, label %8330, label %8334

8330:                                             ; preds = %8324
  %8331 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8332 = call i32 @fileno(ptr noundef %8331) #9
  %8333 = call i32 @isatty(i32 noundef %8332) #9
  %.not1194 = icmp eq i32 %8333, 0
  br i1 %.not1194, label %8334, label %8335

8334:                                             ; preds = %8330, %8324
  br label %8335

8335:                                             ; preds = %8330, %8334
  %.str.5.sink4204 = phi ptr [ @.str.5, %8334 ], [ @.str.2, %8330 ]
  store i32 %8325, ptr %423, align 4, !tbaa !5
  %8336 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8337 = load i32, ptr @test_count, align 4, !tbaa !5
  %8338 = load i32, ptr %369, align 4, !tbaa !5
  %8339 = call ptr @s2n_strerror(i32 noundef %8338, ptr noundef nonnull @.str.4) #9
  %8340 = load i32, ptr %369, align 4, !tbaa !5
  %8341 = call ptr @s2n_strerror_debug(i32 noundef %8340, ptr noundef nonnull @.str.4) #9
  %8342 = load i32, ptr %423, align 4, !tbaa !5
  %8343 = call ptr @strerror(i32 noundef %8342) #9
  %8344 = load i32, ptr %423, align 4, !tbaa !5
  %8345 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8336, ptr noundef nonnull %.str.5.sink4204, i32 noundef %8337, ptr noundef nonnull @.str.21, ptr noundef nonnull @.str.1, i32 noundef 412, ptr noundef %8339, ptr noundef %8341, ptr noundef %8343, i32 noundef %8344) #11
  call void @exit(i32 noundef 1) #12
  unreachable

8346:                                             ; preds = %8319
  %8347 = add nsw i32 %8320, 2
  store i32 %8347, ptr @test_count, align 4, !tbaa !5
  %8348 = call ptr @s2n_strerror_debug(i32 noundef %8322, ptr noundef nonnull @.str.4) #9
  %8349 = icmp eq ptr %8348, null
  br i1 %8349, label %8350, label %8372

8350:                                             ; preds = %8346
  %8351 = load i32, ptr %423, align 4, !tbaa !5
  %8352 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8353 = call i32 @s2n_print_stacktrace(ptr noundef %8352) #9
  %8354 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8355 = trunc nuw i8 %8354 to i1
  br i1 %8355, label %8356, label %8360

8356:                                             ; preds = %8350
  %8357 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8358 = call i32 @fileno(ptr noundef %8357) #9
  %8359 = call i32 @isatty(i32 noundef %8358) #9
  %.not1193 = icmp eq i32 %8359, 0
  br i1 %.not1193, label %8360, label %8361

8360:                                             ; preds = %8356, %8350
  br label %8361

8361:                                             ; preds = %8356, %8360
  %.str.5.sink4213 = phi ptr [ @.str.5, %8360 ], [ @.str.2, %8356 ]
  store i32 %8351, ptr %423, align 4, !tbaa !5
  %8362 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8363 = load i32, ptr @test_count, align 4, !tbaa !5
  %8364 = load i32, ptr %369, align 4, !tbaa !5
  %8365 = call ptr @s2n_strerror(i32 noundef %8364, ptr noundef nonnull @.str.4) #9
  %8366 = load i32, ptr %369, align 4, !tbaa !5
  %8367 = call ptr @s2n_strerror_debug(i32 noundef %8366, ptr noundef nonnull @.str.4) #9
  %8368 = load i32, ptr %423, align 4, !tbaa !5
  %8369 = call ptr @strerror(i32 noundef %8368) #9
  %8370 = load i32, ptr %423, align 4, !tbaa !5
  %8371 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8362, ptr noundef nonnull %.str.5.sink4213, i32 noundef %8363, ptr noundef nonnull @.str.22, ptr noundef nonnull @.str.1, i32 noundef 412, ptr noundef %8365, ptr noundef %8367, ptr noundef %8369, i32 noundef %8370) #11
  call void @exit(i32 noundef 1) #12
  unreachable

8372:                                             ; preds = %8346
  store i32 0, ptr %369, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #9
  store i32 0, ptr %423, align 4, !tbaa !5
  %8373 = call zeroext i1 (...) @s2n_is_rsa_pss_certs_supported() #9
  %8374 = load i32, ptr @test_count, align 4, !tbaa !5
  %8375 = add nsw i32 %8374, 1
  store i32 %8375, ptr @test_count, align 4, !tbaa !5
  %8376 = call i32 @s2n_test_auth_combo(ptr noundef %5806, ptr noundef nonnull @s2n_tls13_aes_128_gcm_sha256, ptr noundef nonnull @s2n_rsa_pss_pss_sha256, ptr noundef null)
  %8377 = icmp eq i32 %8376, -1
  br i1 %8373, label %8378, label %8401

8378:                                             ; preds = %8372
  br i1 %8377, label %8379, label %8478

8379:                                             ; preds = %8378
  %8380 = load i32, ptr %423, align 4, !tbaa !5
  %8381 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8382 = call i32 @s2n_print_stacktrace(ptr noundef %8381) #9
  %8383 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8384 = trunc nuw i8 %8383 to i1
  br i1 %8384, label %8385, label %8389

8385:                                             ; preds = %8379
  %8386 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8387 = call i32 @fileno(ptr noundef %8386) #9
  %8388 = call i32 @isatty(i32 noundef %8387) #9
  %.not1192 = icmp eq i32 %8388, 0
  br i1 %.not1192, label %8389, label %8390

8389:                                             ; preds = %8385, %8379
  br label %8390

8390:                                             ; preds = %8385, %8389
  %.str.5.sink4222 = phi ptr [ @.str.5, %8389 ], [ @.str.2, %8385 ]
  store i32 %8380, ptr %423, align 4, !tbaa !5
  %8391 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8392 = load i32, ptr @test_count, align 4, !tbaa !5
  %8393 = load i32, ptr %369, align 4, !tbaa !5
  %8394 = call ptr @s2n_strerror(i32 noundef %8393, ptr noundef nonnull @.str.4) #9
  %8395 = load i32, ptr %369, align 4, !tbaa !5
  %8396 = call ptr @s2n_strerror_debug(i32 noundef %8395, ptr noundef nonnull @.str.4) #9
  %8397 = load i32, ptr %423, align 4, !tbaa !5
  %8398 = call ptr @strerror(i32 noundef %8397) #9
  %8399 = load i32, ptr %423, align 4, !tbaa !5
  %8400 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8391, ptr noundef nonnull %.str.5.sink4222, i32 noundef %8392, ptr noundef nonnull @.str.90, ptr noundef nonnull @.str.1, i32 noundef 413, ptr noundef %8394, ptr noundef %8396, ptr noundef %8398, i32 noundef %8399) #11
  call void @exit(i32 noundef 1) #12
  unreachable

8401:                                             ; preds = %8372
  br i1 %8377, label %8424, label %8402

8402:                                             ; preds = %8401
  %8403 = load i32, ptr %423, align 4, !tbaa !5
  %8404 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8405 = call i32 @s2n_print_stacktrace(ptr noundef %8404) #9
  %8406 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8407 = trunc nuw i8 %8406 to i1
  br i1 %8407, label %8408, label %8412

8408:                                             ; preds = %8402
  %8409 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8410 = call i32 @fileno(ptr noundef %8409) #9
  %8411 = call i32 @isatty(i32 noundef %8410) #9
  %.not1109 = icmp eq i32 %8411, 0
  br i1 %.not1109, label %8412, label %8413

8412:                                             ; preds = %8408, %8402
  br label %8413

8413:                                             ; preds = %8408, %8412
  %.str.5.sink4231 = phi ptr [ @.str.5, %8412 ], [ @.str.2, %8408 ]
  store i32 %8403, ptr %423, align 4, !tbaa !5
  %8414 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8415 = load i32, ptr @test_count, align 4, !tbaa !5
  %8416 = load i32, ptr %369, align 4, !tbaa !5
  %8417 = call ptr @s2n_strerror(i32 noundef %8416, ptr noundef nonnull @.str.4) #9
  %8418 = load i32, ptr %369, align 4, !tbaa !5
  %8419 = call ptr @s2n_strerror_debug(i32 noundef %8418, ptr noundef nonnull @.str.4) #9
  %8420 = load i32, ptr %423, align 4, !tbaa !5
  %8421 = call ptr @strerror(i32 noundef %8420) #9
  %8422 = load i32, ptr %423, align 4, !tbaa !5
  %8423 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8414, ptr noundef nonnull %.str.5.sink4231, i32 noundef %8415, ptr noundef nonnull @.str.91, ptr noundef nonnull @.str.1, i32 noundef 413, ptr noundef %8417, ptr noundef %8419, ptr noundef %8421, i32 noundef %8422) #11
  call void @exit(i32 noundef 1) #12
  unreachable

8424:                                             ; preds = %8401
  %8425 = load i32, ptr @test_count, align 4, !tbaa !5
  %8426 = add nsw i32 %8425, 1
  store i32 %8426, ptr @test_count, align 4, !tbaa !5
  %8427 = load i32, ptr %369, align 4, !tbaa !5
  %8428 = icmp eq i32 %8427, 0
  br i1 %8428, label %8429, label %8451

8429:                                             ; preds = %8424
  %8430 = load i32, ptr %423, align 4, !tbaa !5
  %8431 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8432 = call i32 @s2n_print_stacktrace(ptr noundef %8431) #9
  %8433 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8434 = trunc nuw i8 %8433 to i1
  br i1 %8434, label %8435, label %8439

8435:                                             ; preds = %8429
  %8436 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8437 = call i32 @fileno(ptr noundef %8436) #9
  %8438 = call i32 @isatty(i32 noundef %8437) #9
  %.not1111 = icmp eq i32 %8438, 0
  br i1 %.not1111, label %8439, label %8440

8439:                                             ; preds = %8435, %8429
  br label %8440

8440:                                             ; preds = %8435, %8439
  %.str.5.sink4240 = phi ptr [ @.str.5, %8439 ], [ @.str.2, %8435 ]
  store i32 %8430, ptr %423, align 4, !tbaa !5
  %8441 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8442 = load i32, ptr @test_count, align 4, !tbaa !5
  %8443 = load i32, ptr %369, align 4, !tbaa !5
  %8444 = call ptr @s2n_strerror(i32 noundef %8443, ptr noundef nonnull @.str.4) #9
  %8445 = load i32, ptr %369, align 4, !tbaa !5
  %8446 = call ptr @s2n_strerror_debug(i32 noundef %8445, ptr noundef nonnull @.str.4) #9
  %8447 = load i32, ptr %423, align 4, !tbaa !5
  %8448 = call ptr @strerror(i32 noundef %8447) #9
  %8449 = load i32, ptr %423, align 4, !tbaa !5
  %8450 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8441, ptr noundef nonnull %.str.5.sink4240, i32 noundef %8442, ptr noundef nonnull @.str.21, ptr noundef nonnull @.str.1, i32 noundef 413, ptr noundef %8444, ptr noundef %8446, ptr noundef %8448, i32 noundef %8449) #11
  call void @exit(i32 noundef 1) #12
  unreachable

8451:                                             ; preds = %8424
  %8452 = add nsw i32 %8425, 2
  store i32 %8452, ptr @test_count, align 4, !tbaa !5
  %8453 = call ptr @s2n_strerror_debug(i32 noundef %8427, ptr noundef nonnull @.str.4) #9
  %8454 = icmp eq ptr %8453, null
  br i1 %8454, label %8455, label %8477

8455:                                             ; preds = %8451
  %8456 = load i32, ptr %423, align 4, !tbaa !5
  %8457 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8458 = call i32 @s2n_print_stacktrace(ptr noundef %8457) #9
  %8459 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8460 = trunc nuw i8 %8459 to i1
  br i1 %8460, label %8461, label %8465

8461:                                             ; preds = %8455
  %8462 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8463 = call i32 @fileno(ptr noundef %8462) #9
  %8464 = call i32 @isatty(i32 noundef %8463) #9
  %.not1110 = icmp eq i32 %8464, 0
  br i1 %.not1110, label %8465, label %8466

8465:                                             ; preds = %8461, %8455
  br label %8466

8466:                                             ; preds = %8461, %8465
  %.str.5.sink4249 = phi ptr [ @.str.5, %8465 ], [ @.str.2, %8461 ]
  store i32 %8456, ptr %423, align 4, !tbaa !5
  %8467 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8468 = load i32, ptr @test_count, align 4, !tbaa !5
  %8469 = load i32, ptr %369, align 4, !tbaa !5
  %8470 = call ptr @s2n_strerror(i32 noundef %8469, ptr noundef nonnull @.str.4) #9
  %8471 = load i32, ptr %369, align 4, !tbaa !5
  %8472 = call ptr @s2n_strerror_debug(i32 noundef %8471, ptr noundef nonnull @.str.4) #9
  %8473 = load i32, ptr %423, align 4, !tbaa !5
  %8474 = call ptr @strerror(i32 noundef %8473) #9
  %8475 = load i32, ptr %423, align 4, !tbaa !5
  %8476 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8467, ptr noundef nonnull %.str.5.sink4249, i32 noundef %8468, ptr noundef nonnull @.str.22, ptr noundef nonnull @.str.1, i32 noundef 413, ptr noundef %8470, ptr noundef %8472, ptr noundef %8474, i32 noundef %8475) #11
  call void @exit(i32 noundef 1) #12
  unreachable

8477:                                             ; preds = %8451
  store i32 0, ptr %369, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #9
  store i32 0, ptr %423, align 4, !tbaa !5
  br label %8478

8478:                                             ; preds = %8378, %8477
  %8479 = load i32, ptr @test_count, align 4, !tbaa !5
  %8480 = add nsw i32 %8479, 1
  store i32 %8480, ptr @test_count, align 4, !tbaa !5
  %8481 = call i32 @s2n_test_auth_combo(ptr noundef %5806, ptr noundef nonnull @s2n_tls13_aes_128_gcm_sha256, ptr noundef nonnull @s2n_rsa_pss_rsae_sha256, ptr noundef null)
  %8482 = icmp eq i32 %8481, -1
  br i1 %8482, label %8505, label %8483

8483:                                             ; preds = %8478
  %8484 = load i32, ptr %423, align 4, !tbaa !5
  %8485 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8486 = call i32 @s2n_print_stacktrace(ptr noundef %8485) #9
  %8487 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8488 = trunc nuw i8 %8487 to i1
  br i1 %8488, label %8489, label %8493

8489:                                             ; preds = %8483
  %8490 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8491 = call i32 @fileno(ptr noundef %8490) #9
  %8492 = call i32 @isatty(i32 noundef %8491) #9
  %.not1112 = icmp eq i32 %8492, 0
  br i1 %.not1112, label %8493, label %8494

8493:                                             ; preds = %8489, %8483
  br label %8494

8494:                                             ; preds = %8489, %8493
  %.str.5.sink4258 = phi ptr [ @.str.5, %8493 ], [ @.str.2, %8489 ]
  store i32 %8484, ptr %423, align 4, !tbaa !5
  %8495 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8496 = load i32, ptr @test_count, align 4, !tbaa !5
  %8497 = load i32, ptr %369, align 4, !tbaa !5
  %8498 = call ptr @s2n_strerror(i32 noundef %8497, ptr noundef nonnull @.str.4) #9
  %8499 = load i32, ptr %369, align 4, !tbaa !5
  %8500 = call ptr @s2n_strerror_debug(i32 noundef %8499, ptr noundef nonnull @.str.4) #9
  %8501 = load i32, ptr %423, align 4, !tbaa !5
  %8502 = call ptr @strerror(i32 noundef %8501) #9
  %8503 = load i32, ptr %423, align 4, !tbaa !5
  %8504 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8495, ptr noundef nonnull %.str.5.sink4258, i32 noundef %8496, ptr noundef nonnull @.str.82, ptr noundef nonnull @.str.1, i32 noundef 414, ptr noundef %8498, ptr noundef %8500, ptr noundef %8502, i32 noundef %8503) #11
  call void @exit(i32 noundef 1) #12
  unreachable

8505:                                             ; preds = %8478
  %8506 = load i32, ptr @test_count, align 4, !tbaa !5
  %8507 = add nsw i32 %8506, 1
  store i32 %8507, ptr @test_count, align 4, !tbaa !5
  %8508 = load i32, ptr %369, align 4, !tbaa !5
  %8509 = icmp eq i32 %8508, 0
  br i1 %8509, label %8510, label %8532

8510:                                             ; preds = %8505
  %8511 = load i32, ptr %423, align 4, !tbaa !5
  %8512 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8513 = call i32 @s2n_print_stacktrace(ptr noundef %8512) #9
  %8514 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8515 = trunc nuw i8 %8514 to i1
  br i1 %8515, label %8516, label %8520

8516:                                             ; preds = %8510
  %8517 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8518 = call i32 @fileno(ptr noundef %8517) #9
  %8519 = call i32 @isatty(i32 noundef %8518) #9
  %.not1191 = icmp eq i32 %8519, 0
  br i1 %.not1191, label %8520, label %8521

8520:                                             ; preds = %8516, %8510
  br label %8521

8521:                                             ; preds = %8516, %8520
  %.str.5.sink4267 = phi ptr [ @.str.5, %8520 ], [ @.str.2, %8516 ]
  store i32 %8511, ptr %423, align 4, !tbaa !5
  %8522 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8523 = load i32, ptr @test_count, align 4, !tbaa !5
  %8524 = load i32, ptr %369, align 4, !tbaa !5
  %8525 = call ptr @s2n_strerror(i32 noundef %8524, ptr noundef nonnull @.str.4) #9
  %8526 = load i32, ptr %369, align 4, !tbaa !5
  %8527 = call ptr @s2n_strerror_debug(i32 noundef %8526, ptr noundef nonnull @.str.4) #9
  %8528 = load i32, ptr %423, align 4, !tbaa !5
  %8529 = call ptr @strerror(i32 noundef %8528) #9
  %8530 = load i32, ptr %423, align 4, !tbaa !5
  %8531 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8522, ptr noundef nonnull %.str.5.sink4267, i32 noundef %8523, ptr noundef nonnull @.str.21, ptr noundef nonnull @.str.1, i32 noundef 414, ptr noundef %8525, ptr noundef %8527, ptr noundef %8529, i32 noundef %8530) #11
  call void @exit(i32 noundef 1) #12
  unreachable

8532:                                             ; preds = %8505
  %8533 = add nsw i32 %8506, 2
  store i32 %8533, ptr @test_count, align 4, !tbaa !5
  %8534 = call ptr @s2n_strerror_debug(i32 noundef %8508, ptr noundef nonnull @.str.4) #9
  %8535 = icmp eq ptr %8534, null
  br i1 %8535, label %8536, label %8558

8536:                                             ; preds = %8532
  %8537 = load i32, ptr %423, align 4, !tbaa !5
  %8538 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8539 = call i32 @s2n_print_stacktrace(ptr noundef %8538) #9
  %8540 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8541 = trunc nuw i8 %8540 to i1
  br i1 %8541, label %8542, label %8546

8542:                                             ; preds = %8536
  %8543 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8544 = call i32 @fileno(ptr noundef %8543) #9
  %8545 = call i32 @isatty(i32 noundef %8544) #9
  %.not1190 = icmp eq i32 %8545, 0
  br i1 %.not1190, label %8546, label %8547

8546:                                             ; preds = %8542, %8536
  br label %8547

8547:                                             ; preds = %8542, %8546
  %.str.5.sink4276 = phi ptr [ @.str.5, %8546 ], [ @.str.2, %8542 ]
  store i32 %8537, ptr %423, align 4, !tbaa !5
  %8548 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8549 = load i32, ptr @test_count, align 4, !tbaa !5
  %8550 = load i32, ptr %369, align 4, !tbaa !5
  %8551 = call ptr @s2n_strerror(i32 noundef %8550, ptr noundef nonnull @.str.4) #9
  %8552 = load i32, ptr %369, align 4, !tbaa !5
  %8553 = call ptr @s2n_strerror_debug(i32 noundef %8552, ptr noundef nonnull @.str.4) #9
  %8554 = load i32, ptr %423, align 4, !tbaa !5
  %8555 = call ptr @strerror(i32 noundef %8554) #9
  %8556 = load i32, ptr %423, align 4, !tbaa !5
  %8557 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8548, ptr noundef nonnull %.str.5.sink4276, i32 noundef %8549, ptr noundef nonnull @.str.22, ptr noundef nonnull @.str.1, i32 noundef 414, ptr noundef %8551, ptr noundef %8553, ptr noundef %8555, i32 noundef %8556) #11
  call void @exit(i32 noundef 1) #12
  unreachable

8558:                                             ; preds = %8532
  store i32 0, ptr %369, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #9
  store i32 0, ptr %423, align 4, !tbaa !5
  %8559 = load i32, ptr @test_count, align 4, !tbaa !5
  %8560 = add nsw i32 %8559, 1
  store i32 %8560, ptr @test_count, align 4, !tbaa !5
  %8561 = call i32 @s2n_test_auth_combo(ptr noundef %5806, ptr noundef nonnull @s2n_tls13_aes_128_gcm_sha256, ptr noundef nonnull @s2n_ecdsa_sha384, ptr noundef null)
  %8562 = icmp eq i32 %8561, -1
  br i1 %8562, label %8585, label %8563

8563:                                             ; preds = %8558
  %8564 = load i32, ptr %423, align 4, !tbaa !5
  %8565 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8566 = call i32 @s2n_print_stacktrace(ptr noundef %8565) #9
  %8567 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8568 = trunc nuw i8 %8567 to i1
  br i1 %8568, label %8569, label %8573

8569:                                             ; preds = %8563
  %8570 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8571 = call i32 @fileno(ptr noundef %8570) #9
  %8572 = call i32 @isatty(i32 noundef %8571) #9
  %.not1113 = icmp eq i32 %8572, 0
  br i1 %.not1113, label %8573, label %8574

8573:                                             ; preds = %8569, %8563
  br label %8574

8574:                                             ; preds = %8569, %8573
  %.str.5.sink4285 = phi ptr [ @.str.5, %8573 ], [ @.str.2, %8569 ]
  store i32 %8564, ptr %423, align 4, !tbaa !5
  %8575 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8576 = load i32, ptr @test_count, align 4, !tbaa !5
  %8577 = load i32, ptr %369, align 4, !tbaa !5
  %8578 = call ptr @s2n_strerror(i32 noundef %8577, ptr noundef nonnull @.str.4) #9
  %8579 = load i32, ptr %369, align 4, !tbaa !5
  %8580 = call ptr @s2n_strerror_debug(i32 noundef %8579, ptr noundef nonnull @.str.4) #9
  %8581 = load i32, ptr %423, align 4, !tbaa !5
  %8582 = call ptr @strerror(i32 noundef %8581) #9
  %8583 = load i32, ptr %423, align 4, !tbaa !5
  %8584 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8575, ptr noundef nonnull %.str.5.sink4285, i32 noundef %8576, ptr noundef nonnull @.str.83, ptr noundef nonnull @.str.1, i32 noundef 415, ptr noundef %8578, ptr noundef %8580, ptr noundef %8582, i32 noundef %8583) #11
  call void @exit(i32 noundef 1) #12
  unreachable

8585:                                             ; preds = %8558
  %8586 = load i32, ptr @test_count, align 4, !tbaa !5
  %8587 = add nsw i32 %8586, 1
  store i32 %8587, ptr @test_count, align 4, !tbaa !5
  %8588 = load i32, ptr %369, align 4, !tbaa !5
  %8589 = icmp eq i32 %8588, 0
  br i1 %8589, label %8590, label %8612

8590:                                             ; preds = %8585
  %8591 = load i32, ptr %423, align 4, !tbaa !5
  %8592 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8593 = call i32 @s2n_print_stacktrace(ptr noundef %8592) #9
  %8594 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8595 = trunc nuw i8 %8594 to i1
  br i1 %8595, label %8596, label %8600

8596:                                             ; preds = %8590
  %8597 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8598 = call i32 @fileno(ptr noundef %8597) #9
  %8599 = call i32 @isatty(i32 noundef %8598) #9
  %.not1189 = icmp eq i32 %8599, 0
  br i1 %.not1189, label %8600, label %8601

8600:                                             ; preds = %8596, %8590
  br label %8601

8601:                                             ; preds = %8596, %8600
  %.str.5.sink4294 = phi ptr [ @.str.5, %8600 ], [ @.str.2, %8596 ]
  store i32 %8591, ptr %423, align 4, !tbaa !5
  %8602 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8603 = load i32, ptr @test_count, align 4, !tbaa !5
  %8604 = load i32, ptr %369, align 4, !tbaa !5
  %8605 = call ptr @s2n_strerror(i32 noundef %8604, ptr noundef nonnull @.str.4) #9
  %8606 = load i32, ptr %369, align 4, !tbaa !5
  %8607 = call ptr @s2n_strerror_debug(i32 noundef %8606, ptr noundef nonnull @.str.4) #9
  %8608 = load i32, ptr %423, align 4, !tbaa !5
  %8609 = call ptr @strerror(i32 noundef %8608) #9
  %8610 = load i32, ptr %423, align 4, !tbaa !5
  %8611 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8602, ptr noundef nonnull %.str.5.sink4294, i32 noundef %8603, ptr noundef nonnull @.str.21, ptr noundef nonnull @.str.1, i32 noundef 415, ptr noundef %8605, ptr noundef %8607, ptr noundef %8609, i32 noundef %8610) #11
  call void @exit(i32 noundef 1) #12
  unreachable

8612:                                             ; preds = %8585
  %8613 = add nsw i32 %8586, 2
  store i32 %8613, ptr @test_count, align 4, !tbaa !5
  %8614 = call ptr @s2n_strerror_debug(i32 noundef %8588, ptr noundef nonnull @.str.4) #9
  %8615 = icmp eq ptr %8614, null
  br i1 %8615, label %8616, label %8638

8616:                                             ; preds = %8612
  %8617 = load i32, ptr %423, align 4, !tbaa !5
  %8618 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8619 = call i32 @s2n_print_stacktrace(ptr noundef %8618) #9
  %8620 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8621 = trunc nuw i8 %8620 to i1
  br i1 %8621, label %8622, label %8626

8622:                                             ; preds = %8616
  %8623 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8624 = call i32 @fileno(ptr noundef %8623) #9
  %8625 = call i32 @isatty(i32 noundef %8624) #9
  %.not1188 = icmp eq i32 %8625, 0
  br i1 %.not1188, label %8626, label %8627

8626:                                             ; preds = %8622, %8616
  br label %8627

8627:                                             ; preds = %8622, %8626
  %.str.5.sink4303 = phi ptr [ @.str.5, %8626 ], [ @.str.2, %8622 ]
  store i32 %8617, ptr %423, align 4, !tbaa !5
  %8628 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8629 = load i32, ptr @test_count, align 4, !tbaa !5
  %8630 = load i32, ptr %369, align 4, !tbaa !5
  %8631 = call ptr @s2n_strerror(i32 noundef %8630, ptr noundef nonnull @.str.4) #9
  %8632 = load i32, ptr %369, align 4, !tbaa !5
  %8633 = call ptr @s2n_strerror_debug(i32 noundef %8632, ptr noundef nonnull @.str.4) #9
  %8634 = load i32, ptr %423, align 4, !tbaa !5
  %8635 = call ptr @strerror(i32 noundef %8634) #9
  %8636 = load i32, ptr %423, align 4, !tbaa !5
  %8637 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8628, ptr noundef nonnull %.str.5.sink4303, i32 noundef %8629, ptr noundef nonnull @.str.22, ptr noundef nonnull @.str.1, i32 noundef 415, ptr noundef %8631, ptr noundef %8633, ptr noundef %8635, i32 noundef %8636) #11
  call void @exit(i32 noundef 1) #12
  unreachable

8638:                                             ; preds = %8612
  store i32 0, ptr %369, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #9
  store i32 0, ptr %423, align 4, !tbaa !5
  %8639 = load i32, ptr @test_count, align 4, !tbaa !5
  %8640 = add nsw i32 %8639, 1
  store i32 %8640, ptr @test_count, align 4, !tbaa !5
  %8641 = call i32 @s2n_connection_set_config(ptr noundef %5806, ptr noundef %215) #9
  %8642 = icmp eq i32 %8641, -1
  br i1 %8642, label %8643, label %8665

8643:                                             ; preds = %8638
  %8644 = load i32, ptr %423, align 4, !tbaa !5
  %8645 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8646 = call i32 @s2n_print_stacktrace(ptr noundef %8645) #9
  %8647 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8648 = trunc nuw i8 %8647 to i1
  br i1 %8648, label %8649, label %8653

8649:                                             ; preds = %8643
  %8650 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8651 = call i32 @fileno(ptr noundef %8650) #9
  %8652 = call i32 @isatty(i32 noundef %8651) #9
  %.not1187 = icmp eq i32 %8652, 0
  br i1 %.not1187, label %8653, label %8654

8653:                                             ; preds = %8649, %8643
  br label %8654

8654:                                             ; preds = %8649, %8653
  %.str.5.sink4312 = phi ptr [ @.str.5, %8653 ], [ @.str.2, %8649 ]
  store i32 %8644, ptr %423, align 4, !tbaa !5
  %8655 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8656 = load i32, ptr @test_count, align 4, !tbaa !5
  %8657 = load i32, ptr %369, align 4, !tbaa !5
  %8658 = call ptr @s2n_strerror(i32 noundef %8657, ptr noundef nonnull @.str.4) #9
  %8659 = load i32, ptr %369, align 4, !tbaa !5
  %8660 = call ptr @s2n_strerror_debug(i32 noundef %8659, ptr noundef nonnull @.str.4) #9
  %8661 = load i32, ptr %423, align 4, !tbaa !5
  %8662 = call ptr @strerror(i32 noundef %8661) #9
  %8663 = load i32, ptr %423, align 4, !tbaa !5
  %8664 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8655, ptr noundef nonnull %.str.5.sink4312, i32 noundef %8656, ptr noundef nonnull @.str.28, ptr noundef nonnull @.str.1, i32 noundef 418, ptr noundef %8658, ptr noundef %8660, ptr noundef %8662, i32 noundef %8663) #11
  call void @exit(i32 noundef 1) #12
  unreachable

8665:                                             ; preds = %8638
  %8666 = load i32, ptr @test_count, align 4, !tbaa !5
  %8667 = add nsw i32 %8666, 1
  store i32 %8667, ptr @test_count, align 4, !tbaa !5
  %8668 = call i32 @s2n_test_auth_combo(ptr noundef %5806, ptr noundef nonnull @s2n_dhe_rsa_with_3des_ede_cbc_sha, ptr noundef nonnull @s2n_rsa_pkcs1_md5_sha1, ptr noundef null)
  %8669 = icmp eq i32 %8668, -1
  br i1 %8669, label %8692, label %8670

8670:                                             ; preds = %8665
  %8671 = load i32, ptr %423, align 4, !tbaa !5
  %8672 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8673 = call i32 @s2n_print_stacktrace(ptr noundef %8672) #9
  %8674 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8675 = trunc nuw i8 %8674 to i1
  br i1 %8675, label %8676, label %8680

8676:                                             ; preds = %8670
  %8677 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8678 = call i32 @fileno(ptr noundef %8677) #9
  %8679 = call i32 @isatty(i32 noundef %8678) #9
  %.not1114 = icmp eq i32 %8679, 0
  br i1 %.not1114, label %8680, label %8681

8680:                                             ; preds = %8676, %8670
  br label %8681

8681:                                             ; preds = %8676, %8680
  %.str.5.sink4321 = phi ptr [ @.str.5, %8680 ], [ @.str.2, %8676 ]
  store i32 %8671, ptr %423, align 4, !tbaa !5
  %8682 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8683 = load i32, ptr @test_count, align 4, !tbaa !5
  %8684 = load i32, ptr %369, align 4, !tbaa !5
  %8685 = call ptr @s2n_strerror(i32 noundef %8684, ptr noundef nonnull @.str.4) #9
  %8686 = load i32, ptr %369, align 4, !tbaa !5
  %8687 = call ptr @s2n_strerror_debug(i32 noundef %8686, ptr noundef nonnull @.str.4) #9
  %8688 = load i32, ptr %423, align 4, !tbaa !5
  %8689 = call ptr @strerror(i32 noundef %8688) #9
  %8690 = load i32, ptr %423, align 4, !tbaa !5
  %8691 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8682, ptr noundef nonnull %.str.5.sink4321, i32 noundef %8683, ptr noundef nonnull @.str.72, ptr noundef nonnull @.str.1, i32 noundef 420, ptr noundef %8685, ptr noundef %8687, ptr noundef %8689, i32 noundef %8690) #11
  call void @exit(i32 noundef 1) #12
  unreachable

8692:                                             ; preds = %8665
  %8693 = load i32, ptr @test_count, align 4, !tbaa !5
  %8694 = add nsw i32 %8693, 1
  store i32 %8694, ptr @test_count, align 4, !tbaa !5
  %8695 = load i32, ptr %369, align 4, !tbaa !5
  %8696 = icmp eq i32 %8695, 0
  br i1 %8696, label %8697, label %8719

8697:                                             ; preds = %8692
  %8698 = load i32, ptr %423, align 4, !tbaa !5
  %8699 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8700 = call i32 @s2n_print_stacktrace(ptr noundef %8699) #9
  %8701 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8702 = trunc nuw i8 %8701 to i1
  br i1 %8702, label %8703, label %8707

8703:                                             ; preds = %8697
  %8704 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8705 = call i32 @fileno(ptr noundef %8704) #9
  %8706 = call i32 @isatty(i32 noundef %8705) #9
  %.not1186 = icmp eq i32 %8706, 0
  br i1 %.not1186, label %8707, label %8708

8707:                                             ; preds = %8703, %8697
  br label %8708

8708:                                             ; preds = %8703, %8707
  %.str.5.sink4330 = phi ptr [ @.str.5, %8707 ], [ @.str.2, %8703 ]
  store i32 %8698, ptr %423, align 4, !tbaa !5
  %8709 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8710 = load i32, ptr @test_count, align 4, !tbaa !5
  %8711 = load i32, ptr %369, align 4, !tbaa !5
  %8712 = call ptr @s2n_strerror(i32 noundef %8711, ptr noundef nonnull @.str.4) #9
  %8713 = load i32, ptr %369, align 4, !tbaa !5
  %8714 = call ptr @s2n_strerror_debug(i32 noundef %8713, ptr noundef nonnull @.str.4) #9
  %8715 = load i32, ptr %423, align 4, !tbaa !5
  %8716 = call ptr @strerror(i32 noundef %8715) #9
  %8717 = load i32, ptr %423, align 4, !tbaa !5
  %8718 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8709, ptr noundef nonnull %.str.5.sink4330, i32 noundef %8710, ptr noundef nonnull @.str.21, ptr noundef nonnull @.str.1, i32 noundef 420, ptr noundef %8712, ptr noundef %8714, ptr noundef %8716, i32 noundef %8717) #11
  call void @exit(i32 noundef 1) #12
  unreachable

8719:                                             ; preds = %8692
  %8720 = add nsw i32 %8693, 2
  store i32 %8720, ptr @test_count, align 4, !tbaa !5
  %8721 = call ptr @s2n_strerror_debug(i32 noundef %8695, ptr noundef nonnull @.str.4) #9
  %8722 = icmp eq ptr %8721, null
  br i1 %8722, label %8723, label %8745

8723:                                             ; preds = %8719
  %8724 = load i32, ptr %423, align 4, !tbaa !5
  %8725 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8726 = call i32 @s2n_print_stacktrace(ptr noundef %8725) #9
  %8727 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8728 = trunc nuw i8 %8727 to i1
  br i1 %8728, label %8729, label %8733

8729:                                             ; preds = %8723
  %8730 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8731 = call i32 @fileno(ptr noundef %8730) #9
  %8732 = call i32 @isatty(i32 noundef %8731) #9
  %.not1185 = icmp eq i32 %8732, 0
  br i1 %.not1185, label %8733, label %8734

8733:                                             ; preds = %8729, %8723
  br label %8734

8734:                                             ; preds = %8729, %8733
  %.str.5.sink4339 = phi ptr [ @.str.5, %8733 ], [ @.str.2, %8729 ]
  store i32 %8724, ptr %423, align 4, !tbaa !5
  %8735 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8736 = load i32, ptr @test_count, align 4, !tbaa !5
  %8737 = load i32, ptr %369, align 4, !tbaa !5
  %8738 = call ptr @s2n_strerror(i32 noundef %8737, ptr noundef nonnull @.str.4) #9
  %8739 = load i32, ptr %369, align 4, !tbaa !5
  %8740 = call ptr @s2n_strerror_debug(i32 noundef %8739, ptr noundef nonnull @.str.4) #9
  %8741 = load i32, ptr %423, align 4, !tbaa !5
  %8742 = call ptr @strerror(i32 noundef %8741) #9
  %8743 = load i32, ptr %423, align 4, !tbaa !5
  %8744 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8735, ptr noundef nonnull %.str.5.sink4339, i32 noundef %8736, ptr noundef nonnull @.str.22, ptr noundef nonnull @.str.1, i32 noundef 420, ptr noundef %8738, ptr noundef %8740, ptr noundef %8742, i32 noundef %8743) #11
  call void @exit(i32 noundef 1) #12
  unreachable

8745:                                             ; preds = %8719
  store i32 0, ptr %369, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #9
  store i32 0, ptr %423, align 4, !tbaa !5
  %8746 = load i32, ptr @test_count, align 4, !tbaa !5
  %8747 = add nsw i32 %8746, 1
  store i32 %8747, ptr @test_count, align 4, !tbaa !5
  %8748 = call i32 @s2n_test_auth_combo(ptr noundef %5806, ptr noundef nonnull @s2n_dhe_rsa_with_3des_ede_cbc_sha, ptr noundef nonnull @s2n_rsa_pss_pss_sha256, ptr noundef null)
  %8749 = icmp eq i32 %8748, -1
  br i1 %8749, label %8772, label %8750

8750:                                             ; preds = %8745
  %8751 = load i32, ptr %423, align 4, !tbaa !5
  %8752 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8753 = call i32 @s2n_print_stacktrace(ptr noundef %8752) #9
  %8754 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8755 = trunc nuw i8 %8754 to i1
  br i1 %8755, label %8756, label %8760

8756:                                             ; preds = %8750
  %8757 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8758 = call i32 @fileno(ptr noundef %8757) #9
  %8759 = call i32 @isatty(i32 noundef %8758) #9
  %.not1115 = icmp eq i32 %8759, 0
  br i1 %.not1115, label %8760, label %8761

8760:                                             ; preds = %8756, %8750
  br label %8761

8761:                                             ; preds = %8756, %8760
  %.str.5.sink4348 = phi ptr [ @.str.5, %8760 ], [ @.str.2, %8756 ]
  store i32 %8751, ptr %423, align 4, !tbaa !5
  %8762 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8763 = load i32, ptr @test_count, align 4, !tbaa !5
  %8764 = load i32, ptr %369, align 4, !tbaa !5
  %8765 = call ptr @s2n_strerror(i32 noundef %8764, ptr noundef nonnull @.str.4) #9
  %8766 = load i32, ptr %369, align 4, !tbaa !5
  %8767 = call ptr @s2n_strerror_debug(i32 noundef %8766, ptr noundef nonnull @.str.4) #9
  %8768 = load i32, ptr %423, align 4, !tbaa !5
  %8769 = call ptr @strerror(i32 noundef %8768) #9
  %8770 = load i32, ptr %423, align 4, !tbaa !5
  %8771 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8762, ptr noundef nonnull %.str.5.sink4348, i32 noundef %8763, ptr noundef nonnull @.str.73, ptr noundef nonnull @.str.1, i32 noundef 421, ptr noundef %8765, ptr noundef %8767, ptr noundef %8769, i32 noundef %8770) #11
  call void @exit(i32 noundef 1) #12
  unreachable

8772:                                             ; preds = %8745
  %8773 = load i32, ptr @test_count, align 4, !tbaa !5
  %8774 = add nsw i32 %8773, 1
  store i32 %8774, ptr @test_count, align 4, !tbaa !5
  %8775 = load i32, ptr %369, align 4, !tbaa !5
  %8776 = icmp eq i32 %8775, 0
  br i1 %8776, label %8777, label %8799

8777:                                             ; preds = %8772
  %8778 = load i32, ptr %423, align 4, !tbaa !5
  %8779 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8780 = call i32 @s2n_print_stacktrace(ptr noundef %8779) #9
  %8781 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8782 = trunc nuw i8 %8781 to i1
  br i1 %8782, label %8783, label %8787

8783:                                             ; preds = %8777
  %8784 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8785 = call i32 @fileno(ptr noundef %8784) #9
  %8786 = call i32 @isatty(i32 noundef %8785) #9
  %.not1184 = icmp eq i32 %8786, 0
  br i1 %.not1184, label %8787, label %8788

8787:                                             ; preds = %8783, %8777
  br label %8788

8788:                                             ; preds = %8783, %8787
  %.str.5.sink4357 = phi ptr [ @.str.5, %8787 ], [ @.str.2, %8783 ]
  store i32 %8778, ptr %423, align 4, !tbaa !5
  %8789 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8790 = load i32, ptr @test_count, align 4, !tbaa !5
  %8791 = load i32, ptr %369, align 4, !tbaa !5
  %8792 = call ptr @s2n_strerror(i32 noundef %8791, ptr noundef nonnull @.str.4) #9
  %8793 = load i32, ptr %369, align 4, !tbaa !5
  %8794 = call ptr @s2n_strerror_debug(i32 noundef %8793, ptr noundef nonnull @.str.4) #9
  %8795 = load i32, ptr %423, align 4, !tbaa !5
  %8796 = call ptr @strerror(i32 noundef %8795) #9
  %8797 = load i32, ptr %423, align 4, !tbaa !5
  %8798 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8789, ptr noundef nonnull %.str.5.sink4357, i32 noundef %8790, ptr noundef nonnull @.str.21, ptr noundef nonnull @.str.1, i32 noundef 421, ptr noundef %8792, ptr noundef %8794, ptr noundef %8796, i32 noundef %8797) #11
  call void @exit(i32 noundef 1) #12
  unreachable

8799:                                             ; preds = %8772
  %8800 = add nsw i32 %8773, 2
  store i32 %8800, ptr @test_count, align 4, !tbaa !5
  %8801 = call ptr @s2n_strerror_debug(i32 noundef %8775, ptr noundef nonnull @.str.4) #9
  %8802 = icmp eq ptr %8801, null
  br i1 %8802, label %8803, label %8825

8803:                                             ; preds = %8799
  %8804 = load i32, ptr %423, align 4, !tbaa !5
  %8805 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8806 = call i32 @s2n_print_stacktrace(ptr noundef %8805) #9
  %8807 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8808 = trunc nuw i8 %8807 to i1
  br i1 %8808, label %8809, label %8813

8809:                                             ; preds = %8803
  %8810 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8811 = call i32 @fileno(ptr noundef %8810) #9
  %8812 = call i32 @isatty(i32 noundef %8811) #9
  %.not1183 = icmp eq i32 %8812, 0
  br i1 %.not1183, label %8813, label %8814

8813:                                             ; preds = %8809, %8803
  br label %8814

8814:                                             ; preds = %8809, %8813
  %.str.5.sink4366 = phi ptr [ @.str.5, %8813 ], [ @.str.2, %8809 ]
  store i32 %8804, ptr %423, align 4, !tbaa !5
  %8815 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8816 = load i32, ptr @test_count, align 4, !tbaa !5
  %8817 = load i32, ptr %369, align 4, !tbaa !5
  %8818 = call ptr @s2n_strerror(i32 noundef %8817, ptr noundef nonnull @.str.4) #9
  %8819 = load i32, ptr %369, align 4, !tbaa !5
  %8820 = call ptr @s2n_strerror_debug(i32 noundef %8819, ptr noundef nonnull @.str.4) #9
  %8821 = load i32, ptr %423, align 4, !tbaa !5
  %8822 = call ptr @strerror(i32 noundef %8821) #9
  %8823 = load i32, ptr %423, align 4, !tbaa !5
  %8824 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8815, ptr noundef nonnull %.str.5.sink4366, i32 noundef %8816, ptr noundef nonnull @.str.22, ptr noundef nonnull @.str.1, i32 noundef 421, ptr noundef %8818, ptr noundef %8820, ptr noundef %8822, i32 noundef %8823) #11
  call void @exit(i32 noundef 1) #12
  unreachable

8825:                                             ; preds = %8799
  store i32 0, ptr %369, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #9
  store i32 0, ptr %423, align 4, !tbaa !5
  %8826 = load i32, ptr @test_count, align 4, !tbaa !5
  %8827 = add nsw i32 %8826, 1
  store i32 %8827, ptr @test_count, align 4, !tbaa !5
  %8828 = call i32 @s2n_test_auth_combo(ptr noundef %5806, ptr noundef nonnull @s2n_dhe_rsa_with_3des_ede_cbc_sha, ptr noundef nonnull @s2n_rsa_pss_rsae_sha256, ptr noundef null)
  %8829 = icmp eq i32 %8828, -1
  br i1 %8829, label %8852, label %8830

8830:                                             ; preds = %8825
  %8831 = load i32, ptr %423, align 4, !tbaa !5
  %8832 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8833 = call i32 @s2n_print_stacktrace(ptr noundef %8832) #9
  %8834 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8835 = trunc nuw i8 %8834 to i1
  br i1 %8835, label %8836, label %8840

8836:                                             ; preds = %8830
  %8837 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8838 = call i32 @fileno(ptr noundef %8837) #9
  %8839 = call i32 @isatty(i32 noundef %8838) #9
  %.not1116 = icmp eq i32 %8839, 0
  br i1 %.not1116, label %8840, label %8841

8840:                                             ; preds = %8836, %8830
  br label %8841

8841:                                             ; preds = %8836, %8840
  %.str.5.sink4375 = phi ptr [ @.str.5, %8840 ], [ @.str.2, %8836 ]
  store i32 %8831, ptr %423, align 4, !tbaa !5
  %8842 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8843 = load i32, ptr @test_count, align 4, !tbaa !5
  %8844 = load i32, ptr %369, align 4, !tbaa !5
  %8845 = call ptr @s2n_strerror(i32 noundef %8844, ptr noundef nonnull @.str.4) #9
  %8846 = load i32, ptr %369, align 4, !tbaa !5
  %8847 = call ptr @s2n_strerror_debug(i32 noundef %8846, ptr noundef nonnull @.str.4) #9
  %8848 = load i32, ptr %423, align 4, !tbaa !5
  %8849 = call ptr @strerror(i32 noundef %8848) #9
  %8850 = load i32, ptr %423, align 4, !tbaa !5
  %8851 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8842, ptr noundef nonnull %.str.5.sink4375, i32 noundef %8843, ptr noundef nonnull @.str.74, ptr noundef nonnull @.str.1, i32 noundef 422, ptr noundef %8845, ptr noundef %8847, ptr noundef %8849, i32 noundef %8850) #11
  call void @exit(i32 noundef 1) #12
  unreachable

8852:                                             ; preds = %8825
  %8853 = load i32, ptr @test_count, align 4, !tbaa !5
  %8854 = add nsw i32 %8853, 1
  store i32 %8854, ptr @test_count, align 4, !tbaa !5
  %8855 = load i32, ptr %369, align 4, !tbaa !5
  %8856 = icmp eq i32 %8855, 0
  br i1 %8856, label %8857, label %8879

8857:                                             ; preds = %8852
  %8858 = load i32, ptr %423, align 4, !tbaa !5
  %8859 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8860 = call i32 @s2n_print_stacktrace(ptr noundef %8859) #9
  %8861 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8862 = trunc nuw i8 %8861 to i1
  br i1 %8862, label %8863, label %8867

8863:                                             ; preds = %8857
  %8864 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8865 = call i32 @fileno(ptr noundef %8864) #9
  %8866 = call i32 @isatty(i32 noundef %8865) #9
  %.not1182 = icmp eq i32 %8866, 0
  br i1 %.not1182, label %8867, label %8868

8867:                                             ; preds = %8863, %8857
  br label %8868

8868:                                             ; preds = %8863, %8867
  %.str.5.sink4384 = phi ptr [ @.str.5, %8867 ], [ @.str.2, %8863 ]
  store i32 %8858, ptr %423, align 4, !tbaa !5
  %8869 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8870 = load i32, ptr @test_count, align 4, !tbaa !5
  %8871 = load i32, ptr %369, align 4, !tbaa !5
  %8872 = call ptr @s2n_strerror(i32 noundef %8871, ptr noundef nonnull @.str.4) #9
  %8873 = load i32, ptr %369, align 4, !tbaa !5
  %8874 = call ptr @s2n_strerror_debug(i32 noundef %8873, ptr noundef nonnull @.str.4) #9
  %8875 = load i32, ptr %423, align 4, !tbaa !5
  %8876 = call ptr @strerror(i32 noundef %8875) #9
  %8877 = load i32, ptr %423, align 4, !tbaa !5
  %8878 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8869, ptr noundef nonnull %.str.5.sink4384, i32 noundef %8870, ptr noundef nonnull @.str.21, ptr noundef nonnull @.str.1, i32 noundef 422, ptr noundef %8872, ptr noundef %8874, ptr noundef %8876, i32 noundef %8877) #11
  call void @exit(i32 noundef 1) #12
  unreachable

8879:                                             ; preds = %8852
  %8880 = add nsw i32 %8853, 2
  store i32 %8880, ptr @test_count, align 4, !tbaa !5
  %8881 = call ptr @s2n_strerror_debug(i32 noundef %8855, ptr noundef nonnull @.str.4) #9
  %8882 = icmp eq ptr %8881, null
  br i1 %8882, label %8883, label %8905

8883:                                             ; preds = %8879
  %8884 = load i32, ptr %423, align 4, !tbaa !5
  %8885 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8886 = call i32 @s2n_print_stacktrace(ptr noundef %8885) #9
  %8887 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8888 = trunc nuw i8 %8887 to i1
  br i1 %8888, label %8889, label %8893

8889:                                             ; preds = %8883
  %8890 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8891 = call i32 @fileno(ptr noundef %8890) #9
  %8892 = call i32 @isatty(i32 noundef %8891) #9
  %.not1181 = icmp eq i32 %8892, 0
  br i1 %.not1181, label %8893, label %8894

8893:                                             ; preds = %8889, %8883
  br label %8894

8894:                                             ; preds = %8889, %8893
  %.str.5.sink4393 = phi ptr [ @.str.5, %8893 ], [ @.str.2, %8889 ]
  store i32 %8884, ptr %423, align 4, !tbaa !5
  %8895 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8896 = load i32, ptr @test_count, align 4, !tbaa !5
  %8897 = load i32, ptr %369, align 4, !tbaa !5
  %8898 = call ptr @s2n_strerror(i32 noundef %8897, ptr noundef nonnull @.str.4) #9
  %8899 = load i32, ptr %369, align 4, !tbaa !5
  %8900 = call ptr @s2n_strerror_debug(i32 noundef %8899, ptr noundef nonnull @.str.4) #9
  %8901 = load i32, ptr %423, align 4, !tbaa !5
  %8902 = call ptr @strerror(i32 noundef %8901) #9
  %8903 = load i32, ptr %423, align 4, !tbaa !5
  %8904 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8895, ptr noundef nonnull %.str.5.sink4393, i32 noundef %8896, ptr noundef nonnull @.str.22, ptr noundef nonnull @.str.1, i32 noundef 422, ptr noundef %8898, ptr noundef %8900, ptr noundef %8902, i32 noundef %8903) #11
  call void @exit(i32 noundef 1) #12
  unreachable

8905:                                             ; preds = %8879
  store i32 0, ptr %369, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #9
  store i32 0, ptr %423, align 4, !tbaa !5
  %8906 = load i32, ptr @test_count, align 4, !tbaa !5
  %8907 = add nsw i32 %8906, 1
  store i32 %8907, ptr @test_count, align 4, !tbaa !5
  %8908 = call i32 @s2n_test_auth_combo(ptr noundef %5806, ptr noundef nonnull @s2n_dhe_rsa_with_3des_ede_cbc_sha, ptr noundef nonnull @s2n_ecdsa_sha384, ptr noundef null)
  %8909 = icmp eq i32 %8908, -1
  br i1 %8909, label %8932, label %8910

8910:                                             ; preds = %8905
  %8911 = load i32, ptr %423, align 4, !tbaa !5
  %8912 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8913 = call i32 @s2n_print_stacktrace(ptr noundef %8912) #9
  %8914 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8915 = trunc nuw i8 %8914 to i1
  br i1 %8915, label %8916, label %8920

8916:                                             ; preds = %8910
  %8917 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8918 = call i32 @fileno(ptr noundef %8917) #9
  %8919 = call i32 @isatty(i32 noundef %8918) #9
  %.not1117 = icmp eq i32 %8919, 0
  br i1 %.not1117, label %8920, label %8921

8920:                                             ; preds = %8916, %8910
  br label %8921

8921:                                             ; preds = %8916, %8920
  %.str.5.sink4402 = phi ptr [ @.str.5, %8920 ], [ @.str.2, %8916 ]
  store i32 %8911, ptr %423, align 4, !tbaa !5
  %8922 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8923 = load i32, ptr @test_count, align 4, !tbaa !5
  %8924 = load i32, ptr %369, align 4, !tbaa !5
  %8925 = call ptr @s2n_strerror(i32 noundef %8924, ptr noundef nonnull @.str.4) #9
  %8926 = load i32, ptr %369, align 4, !tbaa !5
  %8927 = call ptr @s2n_strerror_debug(i32 noundef %8926, ptr noundef nonnull @.str.4) #9
  %8928 = load i32, ptr %423, align 4, !tbaa !5
  %8929 = call ptr @strerror(i32 noundef %8928) #9
  %8930 = load i32, ptr %423, align 4, !tbaa !5
  %8931 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8922, ptr noundef nonnull %.str.5.sink4402, i32 noundef %8923, ptr noundef nonnull @.str.75, ptr noundef nonnull @.str.1, i32 noundef 423, ptr noundef %8925, ptr noundef %8927, ptr noundef %8929, i32 noundef %8930) #11
  call void @exit(i32 noundef 1) #12
  unreachable

8932:                                             ; preds = %8905
  %8933 = load i32, ptr @test_count, align 4, !tbaa !5
  %8934 = add nsw i32 %8933, 1
  store i32 %8934, ptr @test_count, align 4, !tbaa !5
  %8935 = load i32, ptr %369, align 4, !tbaa !5
  %8936 = icmp eq i32 %8935, 0
  br i1 %8936, label %8937, label %8959

8937:                                             ; preds = %8932
  %8938 = load i32, ptr %423, align 4, !tbaa !5
  %8939 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8940 = call i32 @s2n_print_stacktrace(ptr noundef %8939) #9
  %8941 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8942 = trunc nuw i8 %8941 to i1
  br i1 %8942, label %8943, label %8947

8943:                                             ; preds = %8937
  %8944 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8945 = call i32 @fileno(ptr noundef %8944) #9
  %8946 = call i32 @isatty(i32 noundef %8945) #9
  %.not1180 = icmp eq i32 %8946, 0
  br i1 %.not1180, label %8947, label %8948

8947:                                             ; preds = %8943, %8937
  br label %8948

8948:                                             ; preds = %8943, %8947
  %.str.5.sink4411 = phi ptr [ @.str.5, %8947 ], [ @.str.2, %8943 ]
  store i32 %8938, ptr %423, align 4, !tbaa !5
  %8949 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8950 = load i32, ptr @test_count, align 4, !tbaa !5
  %8951 = load i32, ptr %369, align 4, !tbaa !5
  %8952 = call ptr @s2n_strerror(i32 noundef %8951, ptr noundef nonnull @.str.4) #9
  %8953 = load i32, ptr %369, align 4, !tbaa !5
  %8954 = call ptr @s2n_strerror_debug(i32 noundef %8953, ptr noundef nonnull @.str.4) #9
  %8955 = load i32, ptr %423, align 4, !tbaa !5
  %8956 = call ptr @strerror(i32 noundef %8955) #9
  %8957 = load i32, ptr %423, align 4, !tbaa !5
  %8958 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8949, ptr noundef nonnull %.str.5.sink4411, i32 noundef %8950, ptr noundef nonnull @.str.21, ptr noundef nonnull @.str.1, i32 noundef 423, ptr noundef %8952, ptr noundef %8954, ptr noundef %8956, i32 noundef %8957) #11
  call void @exit(i32 noundef 1) #12
  unreachable

8959:                                             ; preds = %8932
  %8960 = add nsw i32 %8933, 2
  store i32 %8960, ptr @test_count, align 4, !tbaa !5
  %8961 = call ptr @s2n_strerror_debug(i32 noundef %8935, ptr noundef nonnull @.str.4) #9
  %8962 = icmp eq ptr %8961, null
  br i1 %8962, label %8963, label %8985

8963:                                             ; preds = %8959
  %8964 = load i32, ptr %423, align 4, !tbaa !5
  %8965 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8966 = call i32 @s2n_print_stacktrace(ptr noundef %8965) #9
  %8967 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8968 = trunc nuw i8 %8967 to i1
  br i1 %8968, label %8969, label %8973

8969:                                             ; preds = %8963
  %8970 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8971 = call i32 @fileno(ptr noundef %8970) #9
  %8972 = call i32 @isatty(i32 noundef %8971) #9
  %.not1179 = icmp eq i32 %8972, 0
  br i1 %.not1179, label %8973, label %8974

8973:                                             ; preds = %8969, %8963
  br label %8974

8974:                                             ; preds = %8969, %8973
  %.str.5.sink4420 = phi ptr [ @.str.5, %8973 ], [ @.str.2, %8969 ]
  store i32 %8964, ptr %423, align 4, !tbaa !5
  %8975 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8976 = load i32, ptr @test_count, align 4, !tbaa !5
  %8977 = load i32, ptr %369, align 4, !tbaa !5
  %8978 = call ptr @s2n_strerror(i32 noundef %8977, ptr noundef nonnull @.str.4) #9
  %8979 = load i32, ptr %369, align 4, !tbaa !5
  %8980 = call ptr @s2n_strerror_debug(i32 noundef %8979, ptr noundef nonnull @.str.4) #9
  %8981 = load i32, ptr %423, align 4, !tbaa !5
  %8982 = call ptr @strerror(i32 noundef %8981) #9
  %8983 = load i32, ptr %423, align 4, !tbaa !5
  %8984 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8975, ptr noundef nonnull %.str.5.sink4420, i32 noundef %8976, ptr noundef nonnull @.str.22, ptr noundef nonnull @.str.1, i32 noundef 423, ptr noundef %8978, ptr noundef %8980, ptr noundef %8982, i32 noundef %8983) #11
  call void @exit(i32 noundef 1) #12
  unreachable

8985:                                             ; preds = %8959
  store i32 0, ptr %369, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #9
  store i32 0, ptr %423, align 4, !tbaa !5
  %8986 = load i32, ptr @test_count, align 4, !tbaa !5
  %8987 = add nsw i32 %8986, 1
  store i32 %8987, ptr @test_count, align 4, !tbaa !5
  %8988 = call i32 @s2n_test_auth_combo(ptr noundef %5806, ptr noundef nonnull @s2n_ecdhe_ecdsa_with_aes_128_cbc_sha, ptr noundef nonnull @s2n_rsa_pkcs1_md5_sha1, ptr noundef null)
  %8989 = icmp eq i32 %8988, -1
  br i1 %8989, label %9012, label %8990

8990:                                             ; preds = %8985
  %8991 = load i32, ptr %423, align 4, !tbaa !5
  %8992 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8993 = call i32 @s2n_print_stacktrace(ptr noundef %8992) #9
  %8994 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8995 = trunc nuw i8 %8994 to i1
  br i1 %8995, label %8996, label %9000

8996:                                             ; preds = %8990
  %8997 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8998 = call i32 @fileno(ptr noundef %8997) #9
  %8999 = call i32 @isatty(i32 noundef %8998) #9
  %.not1118 = icmp eq i32 %8999, 0
  br i1 %.not1118, label %9000, label %9001

9000:                                             ; preds = %8996, %8990
  br label %9001

9001:                                             ; preds = %8996, %9000
  %.str.5.sink4429 = phi ptr [ @.str.5, %9000 ], [ @.str.2, %8996 ]
  store i32 %8991, ptr %423, align 4, !tbaa !5
  %9002 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9003 = load i32, ptr @test_count, align 4, !tbaa !5
  %9004 = load i32, ptr %369, align 4, !tbaa !5
  %9005 = call ptr @s2n_strerror(i32 noundef %9004, ptr noundef nonnull @.str.4) #9
  %9006 = load i32, ptr %369, align 4, !tbaa !5
  %9007 = call ptr @s2n_strerror_debug(i32 noundef %9006, ptr noundef nonnull @.str.4) #9
  %9008 = load i32, ptr %423, align 4, !tbaa !5
  %9009 = call ptr @strerror(i32 noundef %9008) #9
  %9010 = load i32, ptr %423, align 4, !tbaa !5
  %9011 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9002, ptr noundef nonnull %.str.5.sink4429, i32 noundef %9003, ptr noundef nonnull @.str.76, ptr noundef nonnull @.str.1, i32 noundef 425, ptr noundef %9005, ptr noundef %9007, ptr noundef %9009, i32 noundef %9010) #11
  call void @exit(i32 noundef 1) #12
  unreachable

9012:                                             ; preds = %8985
  %9013 = load i32, ptr @test_count, align 4, !tbaa !5
  %9014 = add nsw i32 %9013, 1
  store i32 %9014, ptr @test_count, align 4, !tbaa !5
  %9015 = load i32, ptr %369, align 4, !tbaa !5
  %9016 = icmp eq i32 %9015, 0
  br i1 %9016, label %9017, label %9039

9017:                                             ; preds = %9012
  %9018 = load i32, ptr %423, align 4, !tbaa !5
  %9019 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9020 = call i32 @s2n_print_stacktrace(ptr noundef %9019) #9
  %9021 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9022 = trunc nuw i8 %9021 to i1
  br i1 %9022, label %9023, label %9027

9023:                                             ; preds = %9017
  %9024 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9025 = call i32 @fileno(ptr noundef %9024) #9
  %9026 = call i32 @isatty(i32 noundef %9025) #9
  %.not1178 = icmp eq i32 %9026, 0
  br i1 %.not1178, label %9027, label %9028

9027:                                             ; preds = %9023, %9017
  br label %9028

9028:                                             ; preds = %9023, %9027
  %.str.5.sink4438 = phi ptr [ @.str.5, %9027 ], [ @.str.2, %9023 ]
  store i32 %9018, ptr %423, align 4, !tbaa !5
  %9029 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9030 = load i32, ptr @test_count, align 4, !tbaa !5
  %9031 = load i32, ptr %369, align 4, !tbaa !5
  %9032 = call ptr @s2n_strerror(i32 noundef %9031, ptr noundef nonnull @.str.4) #9
  %9033 = load i32, ptr %369, align 4, !tbaa !5
  %9034 = call ptr @s2n_strerror_debug(i32 noundef %9033, ptr noundef nonnull @.str.4) #9
  %9035 = load i32, ptr %423, align 4, !tbaa !5
  %9036 = call ptr @strerror(i32 noundef %9035) #9
  %9037 = load i32, ptr %423, align 4, !tbaa !5
  %9038 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9029, ptr noundef nonnull %.str.5.sink4438, i32 noundef %9030, ptr noundef nonnull @.str.21, ptr noundef nonnull @.str.1, i32 noundef 425, ptr noundef %9032, ptr noundef %9034, ptr noundef %9036, i32 noundef %9037) #11
  call void @exit(i32 noundef 1) #12
  unreachable

9039:                                             ; preds = %9012
  %9040 = add nsw i32 %9013, 2
  store i32 %9040, ptr @test_count, align 4, !tbaa !5
  %9041 = call ptr @s2n_strerror_debug(i32 noundef %9015, ptr noundef nonnull @.str.4) #9
  %9042 = icmp eq ptr %9041, null
  br i1 %9042, label %9043, label %9065

9043:                                             ; preds = %9039
  %9044 = load i32, ptr %423, align 4, !tbaa !5
  %9045 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9046 = call i32 @s2n_print_stacktrace(ptr noundef %9045) #9
  %9047 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9048 = trunc nuw i8 %9047 to i1
  br i1 %9048, label %9049, label %9053

9049:                                             ; preds = %9043
  %9050 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9051 = call i32 @fileno(ptr noundef %9050) #9
  %9052 = call i32 @isatty(i32 noundef %9051) #9
  %.not1177 = icmp eq i32 %9052, 0
  br i1 %.not1177, label %9053, label %9054

9053:                                             ; preds = %9049, %9043
  br label %9054

9054:                                             ; preds = %9049, %9053
  %.str.5.sink4447 = phi ptr [ @.str.5, %9053 ], [ @.str.2, %9049 ]
  store i32 %9044, ptr %423, align 4, !tbaa !5
  %9055 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9056 = load i32, ptr @test_count, align 4, !tbaa !5
  %9057 = load i32, ptr %369, align 4, !tbaa !5
  %9058 = call ptr @s2n_strerror(i32 noundef %9057, ptr noundef nonnull @.str.4) #9
  %9059 = load i32, ptr %369, align 4, !tbaa !5
  %9060 = call ptr @s2n_strerror_debug(i32 noundef %9059, ptr noundef nonnull @.str.4) #9
  %9061 = load i32, ptr %423, align 4, !tbaa !5
  %9062 = call ptr @strerror(i32 noundef %9061) #9
  %9063 = load i32, ptr %423, align 4, !tbaa !5
  %9064 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9055, ptr noundef nonnull %.str.5.sink4447, i32 noundef %9056, ptr noundef nonnull @.str.22, ptr noundef nonnull @.str.1, i32 noundef 425, ptr noundef %9058, ptr noundef %9060, ptr noundef %9062, i32 noundef %9063) #11
  call void @exit(i32 noundef 1) #12
  unreachable

9065:                                             ; preds = %9039
  store i32 0, ptr %369, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #9
  store i32 0, ptr %423, align 4, !tbaa !5
  %9066 = load i32, ptr @test_count, align 4, !tbaa !5
  %9067 = add nsw i32 %9066, 1
  store i32 %9067, ptr @test_count, align 4, !tbaa !5
  %9068 = call i32 @s2n_test_auth_combo(ptr noundef %5806, ptr noundef nonnull @s2n_ecdhe_ecdsa_with_aes_128_cbc_sha, ptr noundef nonnull @s2n_rsa_pss_pss_sha256, ptr noundef null)
  %9069 = icmp eq i32 %9068, -1
  br i1 %9069, label %9092, label %9070

9070:                                             ; preds = %9065
  %9071 = load i32, ptr %423, align 4, !tbaa !5
  %9072 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9073 = call i32 @s2n_print_stacktrace(ptr noundef %9072) #9
  %9074 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9075 = trunc nuw i8 %9074 to i1
  br i1 %9075, label %9076, label %9080

9076:                                             ; preds = %9070
  %9077 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9078 = call i32 @fileno(ptr noundef %9077) #9
  %9079 = call i32 @isatty(i32 noundef %9078) #9
  %.not1119 = icmp eq i32 %9079, 0
  br i1 %.not1119, label %9080, label %9081

9080:                                             ; preds = %9076, %9070
  br label %9081

9081:                                             ; preds = %9076, %9080
  %.str.5.sink4456 = phi ptr [ @.str.5, %9080 ], [ @.str.2, %9076 ]
  store i32 %9071, ptr %423, align 4, !tbaa !5
  %9082 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9083 = load i32, ptr @test_count, align 4, !tbaa !5
  %9084 = load i32, ptr %369, align 4, !tbaa !5
  %9085 = call ptr @s2n_strerror(i32 noundef %9084, ptr noundef nonnull @.str.4) #9
  %9086 = load i32, ptr %369, align 4, !tbaa !5
  %9087 = call ptr @s2n_strerror_debug(i32 noundef %9086, ptr noundef nonnull @.str.4) #9
  %9088 = load i32, ptr %423, align 4, !tbaa !5
  %9089 = call ptr @strerror(i32 noundef %9088) #9
  %9090 = load i32, ptr %423, align 4, !tbaa !5
  %9091 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9082, ptr noundef nonnull %.str.5.sink4456, i32 noundef %9083, ptr noundef nonnull @.str.77, ptr noundef nonnull @.str.1, i32 noundef 426, ptr noundef %9085, ptr noundef %9087, ptr noundef %9089, i32 noundef %9090) #11
  call void @exit(i32 noundef 1) #12
  unreachable

9092:                                             ; preds = %9065
  %9093 = load i32, ptr @test_count, align 4, !tbaa !5
  %9094 = add nsw i32 %9093, 1
  store i32 %9094, ptr @test_count, align 4, !tbaa !5
  %9095 = load i32, ptr %369, align 4, !tbaa !5
  %9096 = icmp eq i32 %9095, 0
  br i1 %9096, label %9097, label %9119

9097:                                             ; preds = %9092
  %9098 = load i32, ptr %423, align 4, !tbaa !5
  %9099 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9100 = call i32 @s2n_print_stacktrace(ptr noundef %9099) #9
  %9101 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9102 = trunc nuw i8 %9101 to i1
  br i1 %9102, label %9103, label %9107

9103:                                             ; preds = %9097
  %9104 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9105 = call i32 @fileno(ptr noundef %9104) #9
  %9106 = call i32 @isatty(i32 noundef %9105) #9
  %.not1176 = icmp eq i32 %9106, 0
  br i1 %.not1176, label %9107, label %9108

9107:                                             ; preds = %9103, %9097
  br label %9108

9108:                                             ; preds = %9103, %9107
  %.str.5.sink4465 = phi ptr [ @.str.5, %9107 ], [ @.str.2, %9103 ]
  store i32 %9098, ptr %423, align 4, !tbaa !5
  %9109 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9110 = load i32, ptr @test_count, align 4, !tbaa !5
  %9111 = load i32, ptr %369, align 4, !tbaa !5
  %9112 = call ptr @s2n_strerror(i32 noundef %9111, ptr noundef nonnull @.str.4) #9
  %9113 = load i32, ptr %369, align 4, !tbaa !5
  %9114 = call ptr @s2n_strerror_debug(i32 noundef %9113, ptr noundef nonnull @.str.4) #9
  %9115 = load i32, ptr %423, align 4, !tbaa !5
  %9116 = call ptr @strerror(i32 noundef %9115) #9
  %9117 = load i32, ptr %423, align 4, !tbaa !5
  %9118 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9109, ptr noundef nonnull %.str.5.sink4465, i32 noundef %9110, ptr noundef nonnull @.str.21, ptr noundef nonnull @.str.1, i32 noundef 426, ptr noundef %9112, ptr noundef %9114, ptr noundef %9116, i32 noundef %9117) #11
  call void @exit(i32 noundef 1) #12
  unreachable

9119:                                             ; preds = %9092
  %9120 = add nsw i32 %9093, 2
  store i32 %9120, ptr @test_count, align 4, !tbaa !5
  %9121 = call ptr @s2n_strerror_debug(i32 noundef %9095, ptr noundef nonnull @.str.4) #9
  %9122 = icmp eq ptr %9121, null
  br i1 %9122, label %9123, label %9145

9123:                                             ; preds = %9119
  %9124 = load i32, ptr %423, align 4, !tbaa !5
  %9125 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9126 = call i32 @s2n_print_stacktrace(ptr noundef %9125) #9
  %9127 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9128 = trunc nuw i8 %9127 to i1
  br i1 %9128, label %9129, label %9133

9129:                                             ; preds = %9123
  %9130 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9131 = call i32 @fileno(ptr noundef %9130) #9
  %9132 = call i32 @isatty(i32 noundef %9131) #9
  %.not1175 = icmp eq i32 %9132, 0
  br i1 %.not1175, label %9133, label %9134

9133:                                             ; preds = %9129, %9123
  br label %9134

9134:                                             ; preds = %9129, %9133
  %.str.5.sink4474 = phi ptr [ @.str.5, %9133 ], [ @.str.2, %9129 ]
  store i32 %9124, ptr %423, align 4, !tbaa !5
  %9135 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9136 = load i32, ptr @test_count, align 4, !tbaa !5
  %9137 = load i32, ptr %369, align 4, !tbaa !5
  %9138 = call ptr @s2n_strerror(i32 noundef %9137, ptr noundef nonnull @.str.4) #9
  %9139 = load i32, ptr %369, align 4, !tbaa !5
  %9140 = call ptr @s2n_strerror_debug(i32 noundef %9139, ptr noundef nonnull @.str.4) #9
  %9141 = load i32, ptr %423, align 4, !tbaa !5
  %9142 = call ptr @strerror(i32 noundef %9141) #9
  %9143 = load i32, ptr %423, align 4, !tbaa !5
  %9144 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9135, ptr noundef nonnull %.str.5.sink4474, i32 noundef %9136, ptr noundef nonnull @.str.22, ptr noundef nonnull @.str.1, i32 noundef 426, ptr noundef %9138, ptr noundef %9140, ptr noundef %9142, i32 noundef %9143) #11
  call void @exit(i32 noundef 1) #12
  unreachable

9145:                                             ; preds = %9119
  store i32 0, ptr %369, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #9
  store i32 0, ptr %423, align 4, !tbaa !5
  %9146 = load i32, ptr @test_count, align 4, !tbaa !5
  %9147 = add nsw i32 %9146, 1
  store i32 %9147, ptr @test_count, align 4, !tbaa !5
  %9148 = call i32 @s2n_test_auth_combo(ptr noundef %5806, ptr noundef nonnull @s2n_ecdhe_ecdsa_with_aes_128_cbc_sha, ptr noundef nonnull @s2n_rsa_pss_rsae_sha256, ptr noundef null)
  %9149 = icmp eq i32 %9148, -1
  br i1 %9149, label %9172, label %9150

9150:                                             ; preds = %9145
  %9151 = load i32, ptr %423, align 4, !tbaa !5
  %9152 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9153 = call i32 @s2n_print_stacktrace(ptr noundef %9152) #9
  %9154 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9155 = trunc nuw i8 %9154 to i1
  br i1 %9155, label %9156, label %9160

9156:                                             ; preds = %9150
  %9157 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9158 = call i32 @fileno(ptr noundef %9157) #9
  %9159 = call i32 @isatty(i32 noundef %9158) #9
  %.not1120 = icmp eq i32 %9159, 0
  br i1 %.not1120, label %9160, label %9161

9160:                                             ; preds = %9156, %9150
  br label %9161

9161:                                             ; preds = %9156, %9160
  %.str.5.sink4483 = phi ptr [ @.str.5, %9160 ], [ @.str.2, %9156 ]
  store i32 %9151, ptr %423, align 4, !tbaa !5
  %9162 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9163 = load i32, ptr @test_count, align 4, !tbaa !5
  %9164 = load i32, ptr %369, align 4, !tbaa !5
  %9165 = call ptr @s2n_strerror(i32 noundef %9164, ptr noundef nonnull @.str.4) #9
  %9166 = load i32, ptr %369, align 4, !tbaa !5
  %9167 = call ptr @s2n_strerror_debug(i32 noundef %9166, ptr noundef nonnull @.str.4) #9
  %9168 = load i32, ptr %423, align 4, !tbaa !5
  %9169 = call ptr @strerror(i32 noundef %9168) #9
  %9170 = load i32, ptr %423, align 4, !tbaa !5
  %9171 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9162, ptr noundef nonnull %.str.5.sink4483, i32 noundef %9163, ptr noundef nonnull @.str.78, ptr noundef nonnull @.str.1, i32 noundef 427, ptr noundef %9165, ptr noundef %9167, ptr noundef %9169, i32 noundef %9170) #11
  call void @exit(i32 noundef 1) #12
  unreachable

9172:                                             ; preds = %9145
  %9173 = load i32, ptr @test_count, align 4, !tbaa !5
  %9174 = add nsw i32 %9173, 1
  store i32 %9174, ptr @test_count, align 4, !tbaa !5
  %9175 = load i32, ptr %369, align 4, !tbaa !5
  %9176 = icmp eq i32 %9175, 0
  br i1 %9176, label %9177, label %9199

9177:                                             ; preds = %9172
  %9178 = load i32, ptr %423, align 4, !tbaa !5
  %9179 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9180 = call i32 @s2n_print_stacktrace(ptr noundef %9179) #9
  %9181 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9182 = trunc nuw i8 %9181 to i1
  br i1 %9182, label %9183, label %9187

9183:                                             ; preds = %9177
  %9184 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9185 = call i32 @fileno(ptr noundef %9184) #9
  %9186 = call i32 @isatty(i32 noundef %9185) #9
  %.not1174 = icmp eq i32 %9186, 0
  br i1 %.not1174, label %9187, label %9188

9187:                                             ; preds = %9183, %9177
  br label %9188

9188:                                             ; preds = %9183, %9187
  %.str.5.sink4492 = phi ptr [ @.str.5, %9187 ], [ @.str.2, %9183 ]
  store i32 %9178, ptr %423, align 4, !tbaa !5
  %9189 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9190 = load i32, ptr @test_count, align 4, !tbaa !5
  %9191 = load i32, ptr %369, align 4, !tbaa !5
  %9192 = call ptr @s2n_strerror(i32 noundef %9191, ptr noundef nonnull @.str.4) #9
  %9193 = load i32, ptr %369, align 4, !tbaa !5
  %9194 = call ptr @s2n_strerror_debug(i32 noundef %9193, ptr noundef nonnull @.str.4) #9
  %9195 = load i32, ptr %423, align 4, !tbaa !5
  %9196 = call ptr @strerror(i32 noundef %9195) #9
  %9197 = load i32, ptr %423, align 4, !tbaa !5
  %9198 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9189, ptr noundef nonnull %.str.5.sink4492, i32 noundef %9190, ptr noundef nonnull @.str.21, ptr noundef nonnull @.str.1, i32 noundef 427, ptr noundef %9192, ptr noundef %9194, ptr noundef %9196, i32 noundef %9197) #11
  call void @exit(i32 noundef 1) #12
  unreachable

9199:                                             ; preds = %9172
  %9200 = add nsw i32 %9173, 2
  store i32 %9200, ptr @test_count, align 4, !tbaa !5
  %9201 = call ptr @s2n_strerror_debug(i32 noundef %9175, ptr noundef nonnull @.str.4) #9
  %9202 = icmp eq ptr %9201, null
  br i1 %9202, label %9203, label %9225

9203:                                             ; preds = %9199
  %9204 = load i32, ptr %423, align 4, !tbaa !5
  %9205 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9206 = call i32 @s2n_print_stacktrace(ptr noundef %9205) #9
  %9207 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9208 = trunc nuw i8 %9207 to i1
  br i1 %9208, label %9209, label %9213

9209:                                             ; preds = %9203
  %9210 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9211 = call i32 @fileno(ptr noundef %9210) #9
  %9212 = call i32 @isatty(i32 noundef %9211) #9
  %.not1173 = icmp eq i32 %9212, 0
  br i1 %.not1173, label %9213, label %9214

9213:                                             ; preds = %9209, %9203
  br label %9214

9214:                                             ; preds = %9209, %9213
  %.str.5.sink4501 = phi ptr [ @.str.5, %9213 ], [ @.str.2, %9209 ]
  store i32 %9204, ptr %423, align 4, !tbaa !5
  %9215 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9216 = load i32, ptr @test_count, align 4, !tbaa !5
  %9217 = load i32, ptr %369, align 4, !tbaa !5
  %9218 = call ptr @s2n_strerror(i32 noundef %9217, ptr noundef nonnull @.str.4) #9
  %9219 = load i32, ptr %369, align 4, !tbaa !5
  %9220 = call ptr @s2n_strerror_debug(i32 noundef %9219, ptr noundef nonnull @.str.4) #9
  %9221 = load i32, ptr %423, align 4, !tbaa !5
  %9222 = call ptr @strerror(i32 noundef %9221) #9
  %9223 = load i32, ptr %423, align 4, !tbaa !5
  %9224 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9215, ptr noundef nonnull %.str.5.sink4501, i32 noundef %9216, ptr noundef nonnull @.str.22, ptr noundef nonnull @.str.1, i32 noundef 427, ptr noundef %9218, ptr noundef %9220, ptr noundef %9222, i32 noundef %9223) #11
  call void @exit(i32 noundef 1) #12
  unreachable

9225:                                             ; preds = %9199
  store i32 0, ptr %369, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #9
  store i32 0, ptr %423, align 4, !tbaa !5
  %9226 = load i32, ptr @test_count, align 4, !tbaa !5
  %9227 = add nsw i32 %9226, 1
  store i32 %9227, ptr @test_count, align 4, !tbaa !5
  %9228 = load ptr, ptr %4, align 8, !tbaa !9
  %9229 = call i32 @s2n_test_auth_combo(ptr noundef %5806, ptr noundef nonnull @s2n_ecdhe_ecdsa_with_aes_128_cbc_sha, ptr noundef nonnull @s2n_ecdsa_sha384, ptr noundef %9228)
  %9230 = icmp eq i32 %9229, -1
  br i1 %9230, label %9231, label %9253

9231:                                             ; preds = %9225
  %9232 = load i32, ptr %423, align 4, !tbaa !5
  %9233 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9234 = call i32 @s2n_print_stacktrace(ptr noundef %9233) #9
  %9235 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9236 = trunc nuw i8 %9235 to i1
  br i1 %9236, label %9237, label %9241

9237:                                             ; preds = %9231
  %9238 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9239 = call i32 @fileno(ptr noundef %9238) #9
  %9240 = call i32 @isatty(i32 noundef %9239) #9
  %.not1172 = icmp eq i32 %9240, 0
  br i1 %.not1172, label %9241, label %9242

9241:                                             ; preds = %9237, %9231
  br label %9242

9242:                                             ; preds = %9237, %9241
  %.str.5.sink4510 = phi ptr [ @.str.5, %9241 ], [ @.str.2, %9237 ]
  store i32 %9232, ptr %423, align 4, !tbaa !5
  %9243 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9244 = load i32, ptr @test_count, align 4, !tbaa !5
  %9245 = load i32, ptr %369, align 4, !tbaa !5
  %9246 = call ptr @s2n_strerror(i32 noundef %9245, ptr noundef nonnull @.str.4) #9
  %9247 = load i32, ptr %369, align 4, !tbaa !5
  %9248 = call ptr @s2n_strerror_debug(i32 noundef %9247, ptr noundef nonnull @.str.4) #9
  %9249 = load i32, ptr %423, align 4, !tbaa !5
  %9250 = call ptr @strerror(i32 noundef %9249) #9
  %9251 = load i32, ptr %423, align 4, !tbaa !5
  %9252 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9243, ptr noundef nonnull %.str.5.sink4510, i32 noundef %9244, ptr noundef nonnull @.str.92, ptr noundef nonnull @.str.1, i32 noundef 428, ptr noundef %9246, ptr noundef %9248, ptr noundef %9250, i32 noundef %9251) #11
  call void @exit(i32 noundef 1) #12
  unreachable

9253:                                             ; preds = %9225
  %9254 = load i32, ptr @test_count, align 4, !tbaa !5
  %9255 = add nsw i32 %9254, 1
  store i32 %9255, ptr @test_count, align 4, !tbaa !5
  %9256 = call i32 @s2n_test_auth_combo(ptr noundef %5806, ptr noundef nonnull @s2n_tls13_aes_128_gcm_sha256, ptr noundef nonnull @s2n_rsa_pkcs1_md5_sha1, ptr noundef null)
  %9257 = icmp eq i32 %9256, -1
  br i1 %9257, label %9280, label %9258

9258:                                             ; preds = %9253
  %9259 = load i32, ptr %423, align 4, !tbaa !5
  %9260 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9261 = call i32 @s2n_print_stacktrace(ptr noundef %9260) #9
  %9262 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9263 = trunc nuw i8 %9262 to i1
  br i1 %9263, label %9264, label %9268

9264:                                             ; preds = %9258
  %9265 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9266 = call i32 @fileno(ptr noundef %9265) #9
  %9267 = call i32 @isatty(i32 noundef %9266) #9
  %.not1121 = icmp eq i32 %9267, 0
  br i1 %.not1121, label %9268, label %9269

9268:                                             ; preds = %9264, %9258
  br label %9269

9269:                                             ; preds = %9264, %9268
  %.str.5.sink4519 = phi ptr [ @.str.5, %9268 ], [ @.str.2, %9264 ]
  store i32 %9259, ptr %423, align 4, !tbaa !5
  %9270 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9271 = load i32, ptr @test_count, align 4, !tbaa !5
  %9272 = load i32, ptr %369, align 4, !tbaa !5
  %9273 = call ptr @s2n_strerror(i32 noundef %9272, ptr noundef nonnull @.str.4) #9
  %9274 = load i32, ptr %369, align 4, !tbaa !5
  %9275 = call ptr @s2n_strerror_debug(i32 noundef %9274, ptr noundef nonnull @.str.4) #9
  %9276 = load i32, ptr %423, align 4, !tbaa !5
  %9277 = call ptr @strerror(i32 noundef %9276) #9
  %9278 = load i32, ptr %423, align 4, !tbaa !5
  %9279 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9270, ptr noundef nonnull %.str.5.sink4519, i32 noundef %9271, ptr noundef nonnull @.str.80, ptr noundef nonnull @.str.1, i32 noundef 430, ptr noundef %9273, ptr noundef %9275, ptr noundef %9277, i32 noundef %9278) #11
  call void @exit(i32 noundef 1) #12
  unreachable

9280:                                             ; preds = %9253
  %9281 = load i32, ptr @test_count, align 4, !tbaa !5
  %9282 = add nsw i32 %9281, 1
  store i32 %9282, ptr @test_count, align 4, !tbaa !5
  %9283 = load i32, ptr %369, align 4, !tbaa !5
  %9284 = icmp eq i32 %9283, 0
  br i1 %9284, label %9285, label %9307

9285:                                             ; preds = %9280
  %9286 = load i32, ptr %423, align 4, !tbaa !5
  %9287 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9288 = call i32 @s2n_print_stacktrace(ptr noundef %9287) #9
  %9289 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9290 = trunc nuw i8 %9289 to i1
  br i1 %9290, label %9291, label %9295

9291:                                             ; preds = %9285
  %9292 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9293 = call i32 @fileno(ptr noundef %9292) #9
  %9294 = call i32 @isatty(i32 noundef %9293) #9
  %.not1171 = icmp eq i32 %9294, 0
  br i1 %.not1171, label %9295, label %9296

9295:                                             ; preds = %9291, %9285
  br label %9296

9296:                                             ; preds = %9291, %9295
  %.str.5.sink4528 = phi ptr [ @.str.5, %9295 ], [ @.str.2, %9291 ]
  store i32 %9286, ptr %423, align 4, !tbaa !5
  %9297 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9298 = load i32, ptr @test_count, align 4, !tbaa !5
  %9299 = load i32, ptr %369, align 4, !tbaa !5
  %9300 = call ptr @s2n_strerror(i32 noundef %9299, ptr noundef nonnull @.str.4) #9
  %9301 = load i32, ptr %369, align 4, !tbaa !5
  %9302 = call ptr @s2n_strerror_debug(i32 noundef %9301, ptr noundef nonnull @.str.4) #9
  %9303 = load i32, ptr %423, align 4, !tbaa !5
  %9304 = call ptr @strerror(i32 noundef %9303) #9
  %9305 = load i32, ptr %423, align 4, !tbaa !5
  %9306 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9297, ptr noundef nonnull %.str.5.sink4528, i32 noundef %9298, ptr noundef nonnull @.str.21, ptr noundef nonnull @.str.1, i32 noundef 430, ptr noundef %9300, ptr noundef %9302, ptr noundef %9304, i32 noundef %9305) #11
  call void @exit(i32 noundef 1) #12
  unreachable

9307:                                             ; preds = %9280
  %9308 = add nsw i32 %9281, 2
  store i32 %9308, ptr @test_count, align 4, !tbaa !5
  %9309 = call ptr @s2n_strerror_debug(i32 noundef %9283, ptr noundef nonnull @.str.4) #9
  %9310 = icmp eq ptr %9309, null
  br i1 %9310, label %9311, label %9333

9311:                                             ; preds = %9307
  %9312 = load i32, ptr %423, align 4, !tbaa !5
  %9313 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9314 = call i32 @s2n_print_stacktrace(ptr noundef %9313) #9
  %9315 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9316 = trunc nuw i8 %9315 to i1
  br i1 %9316, label %9317, label %9321

9317:                                             ; preds = %9311
  %9318 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9319 = call i32 @fileno(ptr noundef %9318) #9
  %9320 = call i32 @isatty(i32 noundef %9319) #9
  %.not1170 = icmp eq i32 %9320, 0
  br i1 %.not1170, label %9321, label %9322

9321:                                             ; preds = %9317, %9311
  br label %9322

9322:                                             ; preds = %9317, %9321
  %.str.5.sink4537 = phi ptr [ @.str.5, %9321 ], [ @.str.2, %9317 ]
  store i32 %9312, ptr %423, align 4, !tbaa !5
  %9323 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9324 = load i32, ptr @test_count, align 4, !tbaa !5
  %9325 = load i32, ptr %369, align 4, !tbaa !5
  %9326 = call ptr @s2n_strerror(i32 noundef %9325, ptr noundef nonnull @.str.4) #9
  %9327 = load i32, ptr %369, align 4, !tbaa !5
  %9328 = call ptr @s2n_strerror_debug(i32 noundef %9327, ptr noundef nonnull @.str.4) #9
  %9329 = load i32, ptr %423, align 4, !tbaa !5
  %9330 = call ptr @strerror(i32 noundef %9329) #9
  %9331 = load i32, ptr %423, align 4, !tbaa !5
  %9332 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9323, ptr noundef nonnull %.str.5.sink4537, i32 noundef %9324, ptr noundef nonnull @.str.22, ptr noundef nonnull @.str.1, i32 noundef 430, ptr noundef %9326, ptr noundef %9328, ptr noundef %9330, i32 noundef %9331) #11
  call void @exit(i32 noundef 1) #12
  unreachable

9333:                                             ; preds = %9307
  store i32 0, ptr %369, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #9
  store i32 0, ptr %423, align 4, !tbaa !5
  %9334 = load i32, ptr @test_count, align 4, !tbaa !5
  %9335 = add nsw i32 %9334, 1
  store i32 %9335, ptr @test_count, align 4, !tbaa !5
  %9336 = call i32 @s2n_test_auth_combo(ptr noundef %5806, ptr noundef nonnull @s2n_tls13_aes_128_gcm_sha256, ptr noundef nonnull @s2n_rsa_pss_pss_sha256, ptr noundef null)
  %9337 = icmp eq i32 %9336, -1
  br i1 %9337, label %9360, label %9338

9338:                                             ; preds = %9333
  %9339 = load i32, ptr %423, align 4, !tbaa !5
  %9340 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9341 = call i32 @s2n_print_stacktrace(ptr noundef %9340) #9
  %9342 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9343 = trunc nuw i8 %9342 to i1
  br i1 %9343, label %9344, label %9348

9344:                                             ; preds = %9338
  %9345 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9346 = call i32 @fileno(ptr noundef %9345) #9
  %9347 = call i32 @isatty(i32 noundef %9346) #9
  %.not1122 = icmp eq i32 %9347, 0
  br i1 %.not1122, label %9348, label %9349

9348:                                             ; preds = %9344, %9338
  br label %9349

9349:                                             ; preds = %9344, %9348
  %.str.5.sink4546 = phi ptr [ @.str.5, %9348 ], [ @.str.2, %9344 ]
  store i32 %9339, ptr %423, align 4, !tbaa !5
  %9350 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9351 = load i32, ptr @test_count, align 4, !tbaa !5
  %9352 = load i32, ptr %369, align 4, !tbaa !5
  %9353 = call ptr @s2n_strerror(i32 noundef %9352, ptr noundef nonnull @.str.4) #9
  %9354 = load i32, ptr %369, align 4, !tbaa !5
  %9355 = call ptr @s2n_strerror_debug(i32 noundef %9354, ptr noundef nonnull @.str.4) #9
  %9356 = load i32, ptr %423, align 4, !tbaa !5
  %9357 = call ptr @strerror(i32 noundef %9356) #9
  %9358 = load i32, ptr %423, align 4, !tbaa !5
  %9359 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9350, ptr noundef nonnull %.str.5.sink4546, i32 noundef %9351, ptr noundef nonnull @.str.81, ptr noundef nonnull @.str.1, i32 noundef 431, ptr noundef %9353, ptr noundef %9355, ptr noundef %9357, i32 noundef %9358) #11
  call void @exit(i32 noundef 1) #12
  unreachable

9360:                                             ; preds = %9333
  %9361 = load i32, ptr @test_count, align 4, !tbaa !5
  %9362 = add nsw i32 %9361, 1
  store i32 %9362, ptr @test_count, align 4, !tbaa !5
  %9363 = load i32, ptr %369, align 4, !tbaa !5
  %9364 = icmp eq i32 %9363, 0
  br i1 %9364, label %9365, label %9387

9365:                                             ; preds = %9360
  %9366 = load i32, ptr %423, align 4, !tbaa !5
  %9367 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9368 = call i32 @s2n_print_stacktrace(ptr noundef %9367) #9
  %9369 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9370 = trunc nuw i8 %9369 to i1
  br i1 %9370, label %9371, label %9375

9371:                                             ; preds = %9365
  %9372 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9373 = call i32 @fileno(ptr noundef %9372) #9
  %9374 = call i32 @isatty(i32 noundef %9373) #9
  %.not1169 = icmp eq i32 %9374, 0
  br i1 %.not1169, label %9375, label %9376

9375:                                             ; preds = %9371, %9365
  br label %9376

9376:                                             ; preds = %9371, %9375
  %.str.5.sink4555 = phi ptr [ @.str.5, %9375 ], [ @.str.2, %9371 ]
  store i32 %9366, ptr %423, align 4, !tbaa !5
  %9377 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9378 = load i32, ptr @test_count, align 4, !tbaa !5
  %9379 = load i32, ptr %369, align 4, !tbaa !5
  %9380 = call ptr @s2n_strerror(i32 noundef %9379, ptr noundef nonnull @.str.4) #9
  %9381 = load i32, ptr %369, align 4, !tbaa !5
  %9382 = call ptr @s2n_strerror_debug(i32 noundef %9381, ptr noundef nonnull @.str.4) #9
  %9383 = load i32, ptr %423, align 4, !tbaa !5
  %9384 = call ptr @strerror(i32 noundef %9383) #9
  %9385 = load i32, ptr %423, align 4, !tbaa !5
  %9386 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9377, ptr noundef nonnull %.str.5.sink4555, i32 noundef %9378, ptr noundef nonnull @.str.21, ptr noundef nonnull @.str.1, i32 noundef 431, ptr noundef %9380, ptr noundef %9382, ptr noundef %9384, i32 noundef %9385) #11
  call void @exit(i32 noundef 1) #12
  unreachable

9387:                                             ; preds = %9360
  %9388 = add nsw i32 %9361, 2
  store i32 %9388, ptr @test_count, align 4, !tbaa !5
  %9389 = call ptr @s2n_strerror_debug(i32 noundef %9363, ptr noundef nonnull @.str.4) #9
  %9390 = icmp eq ptr %9389, null
  br i1 %9390, label %9391, label %9413

9391:                                             ; preds = %9387
  %9392 = load i32, ptr %423, align 4, !tbaa !5
  %9393 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9394 = call i32 @s2n_print_stacktrace(ptr noundef %9393) #9
  %9395 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9396 = trunc nuw i8 %9395 to i1
  br i1 %9396, label %9397, label %9401

9397:                                             ; preds = %9391
  %9398 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9399 = call i32 @fileno(ptr noundef %9398) #9
  %9400 = call i32 @isatty(i32 noundef %9399) #9
  %.not1168 = icmp eq i32 %9400, 0
  br i1 %.not1168, label %9401, label %9402

9401:                                             ; preds = %9397, %9391
  br label %9402

9402:                                             ; preds = %9397, %9401
  %.str.5.sink4564 = phi ptr [ @.str.5, %9401 ], [ @.str.2, %9397 ]
  store i32 %9392, ptr %423, align 4, !tbaa !5
  %9403 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9404 = load i32, ptr @test_count, align 4, !tbaa !5
  %9405 = load i32, ptr %369, align 4, !tbaa !5
  %9406 = call ptr @s2n_strerror(i32 noundef %9405, ptr noundef nonnull @.str.4) #9
  %9407 = load i32, ptr %369, align 4, !tbaa !5
  %9408 = call ptr @s2n_strerror_debug(i32 noundef %9407, ptr noundef nonnull @.str.4) #9
  %9409 = load i32, ptr %423, align 4, !tbaa !5
  %9410 = call ptr @strerror(i32 noundef %9409) #9
  %9411 = load i32, ptr %423, align 4, !tbaa !5
  %9412 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9403, ptr noundef nonnull %.str.5.sink4564, i32 noundef %9404, ptr noundef nonnull @.str.22, ptr noundef nonnull @.str.1, i32 noundef 431, ptr noundef %9406, ptr noundef %9408, ptr noundef %9410, i32 noundef %9411) #11
  call void @exit(i32 noundef 1) #12
  unreachable

9413:                                             ; preds = %9387
  store i32 0, ptr %369, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #9
  store i32 0, ptr %423, align 4, !tbaa !5
  %9414 = load i32, ptr @test_count, align 4, !tbaa !5
  %9415 = add nsw i32 %9414, 1
  store i32 %9415, ptr @test_count, align 4, !tbaa !5
  %9416 = call i32 @s2n_test_auth_combo(ptr noundef %5806, ptr noundef nonnull @s2n_tls13_aes_128_gcm_sha256, ptr noundef nonnull @s2n_rsa_pss_rsae_sha256, ptr noundef null)
  %9417 = icmp eq i32 %9416, -1
  br i1 %9417, label %9440, label %9418

9418:                                             ; preds = %9413
  %9419 = load i32, ptr %423, align 4, !tbaa !5
  %9420 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9421 = call i32 @s2n_print_stacktrace(ptr noundef %9420) #9
  %9422 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9423 = trunc nuw i8 %9422 to i1
  br i1 %9423, label %9424, label %9428

9424:                                             ; preds = %9418
  %9425 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9426 = call i32 @fileno(ptr noundef %9425) #9
  %9427 = call i32 @isatty(i32 noundef %9426) #9
  %.not1123 = icmp eq i32 %9427, 0
  br i1 %.not1123, label %9428, label %9429

9428:                                             ; preds = %9424, %9418
  br label %9429

9429:                                             ; preds = %9424, %9428
  %.str.5.sink4573 = phi ptr [ @.str.5, %9428 ], [ @.str.2, %9424 ]
  store i32 %9419, ptr %423, align 4, !tbaa !5
  %9430 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9431 = load i32, ptr @test_count, align 4, !tbaa !5
  %9432 = load i32, ptr %369, align 4, !tbaa !5
  %9433 = call ptr @s2n_strerror(i32 noundef %9432, ptr noundef nonnull @.str.4) #9
  %9434 = load i32, ptr %369, align 4, !tbaa !5
  %9435 = call ptr @s2n_strerror_debug(i32 noundef %9434, ptr noundef nonnull @.str.4) #9
  %9436 = load i32, ptr %423, align 4, !tbaa !5
  %9437 = call ptr @strerror(i32 noundef %9436) #9
  %9438 = load i32, ptr %423, align 4, !tbaa !5
  %9439 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9430, ptr noundef nonnull %.str.5.sink4573, i32 noundef %9431, ptr noundef nonnull @.str.82, ptr noundef nonnull @.str.1, i32 noundef 432, ptr noundef %9433, ptr noundef %9435, ptr noundef %9437, i32 noundef %9438) #11
  call void @exit(i32 noundef 1) #12
  unreachable

9440:                                             ; preds = %9413
  %9441 = load i32, ptr @test_count, align 4, !tbaa !5
  %9442 = add nsw i32 %9441, 1
  store i32 %9442, ptr @test_count, align 4, !tbaa !5
  %9443 = load i32, ptr %369, align 4, !tbaa !5
  %9444 = icmp eq i32 %9443, 0
  br i1 %9444, label %9445, label %9467

9445:                                             ; preds = %9440
  %9446 = load i32, ptr %423, align 4, !tbaa !5
  %9447 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9448 = call i32 @s2n_print_stacktrace(ptr noundef %9447) #9
  %9449 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9450 = trunc nuw i8 %9449 to i1
  br i1 %9450, label %9451, label %9455

9451:                                             ; preds = %9445
  %9452 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9453 = call i32 @fileno(ptr noundef %9452) #9
  %9454 = call i32 @isatty(i32 noundef %9453) #9
  %.not1167 = icmp eq i32 %9454, 0
  br i1 %.not1167, label %9455, label %9456

9455:                                             ; preds = %9451, %9445
  br label %9456

9456:                                             ; preds = %9451, %9455
  %.str.5.sink4582 = phi ptr [ @.str.5, %9455 ], [ @.str.2, %9451 ]
  store i32 %9446, ptr %423, align 4, !tbaa !5
  %9457 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9458 = load i32, ptr @test_count, align 4, !tbaa !5
  %9459 = load i32, ptr %369, align 4, !tbaa !5
  %9460 = call ptr @s2n_strerror(i32 noundef %9459, ptr noundef nonnull @.str.4) #9
  %9461 = load i32, ptr %369, align 4, !tbaa !5
  %9462 = call ptr @s2n_strerror_debug(i32 noundef %9461, ptr noundef nonnull @.str.4) #9
  %9463 = load i32, ptr %423, align 4, !tbaa !5
  %9464 = call ptr @strerror(i32 noundef %9463) #9
  %9465 = load i32, ptr %423, align 4, !tbaa !5
  %9466 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9457, ptr noundef nonnull %.str.5.sink4582, i32 noundef %9458, ptr noundef nonnull @.str.21, ptr noundef nonnull @.str.1, i32 noundef 432, ptr noundef %9460, ptr noundef %9462, ptr noundef %9464, i32 noundef %9465) #11
  call void @exit(i32 noundef 1) #12
  unreachable

9467:                                             ; preds = %9440
  %9468 = add nsw i32 %9441, 2
  store i32 %9468, ptr @test_count, align 4, !tbaa !5
  %9469 = call ptr @s2n_strerror_debug(i32 noundef %9443, ptr noundef nonnull @.str.4) #9
  %9470 = icmp eq ptr %9469, null
  br i1 %9470, label %9471, label %9493

9471:                                             ; preds = %9467
  %9472 = load i32, ptr %423, align 4, !tbaa !5
  %9473 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9474 = call i32 @s2n_print_stacktrace(ptr noundef %9473) #9
  %9475 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9476 = trunc nuw i8 %9475 to i1
  br i1 %9476, label %9477, label %9481

9477:                                             ; preds = %9471
  %9478 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9479 = call i32 @fileno(ptr noundef %9478) #9
  %9480 = call i32 @isatty(i32 noundef %9479) #9
  %.not1166 = icmp eq i32 %9480, 0
  br i1 %.not1166, label %9481, label %9482

9481:                                             ; preds = %9477, %9471
  br label %9482

9482:                                             ; preds = %9477, %9481
  %.str.5.sink4591 = phi ptr [ @.str.5, %9481 ], [ @.str.2, %9477 ]
  store i32 %9472, ptr %423, align 4, !tbaa !5
  %9483 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9484 = load i32, ptr @test_count, align 4, !tbaa !5
  %9485 = load i32, ptr %369, align 4, !tbaa !5
  %9486 = call ptr @s2n_strerror(i32 noundef %9485, ptr noundef nonnull @.str.4) #9
  %9487 = load i32, ptr %369, align 4, !tbaa !5
  %9488 = call ptr @s2n_strerror_debug(i32 noundef %9487, ptr noundef nonnull @.str.4) #9
  %9489 = load i32, ptr %423, align 4, !tbaa !5
  %9490 = call ptr @strerror(i32 noundef %9489) #9
  %9491 = load i32, ptr %423, align 4, !tbaa !5
  %9492 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9483, ptr noundef nonnull %.str.5.sink4591, i32 noundef %9484, ptr noundef nonnull @.str.22, ptr noundef nonnull @.str.1, i32 noundef 432, ptr noundef %9486, ptr noundef %9488, ptr noundef %9490, i32 noundef %9491) #11
  call void @exit(i32 noundef 1) #12
  unreachable

9493:                                             ; preds = %9467
  store i32 0, ptr %369, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #9
  store i32 0, ptr %423, align 4, !tbaa !5
  %9494 = load i32, ptr @test_count, align 4, !tbaa !5
  %9495 = add nsw i32 %9494, 1
  store i32 %9495, ptr @test_count, align 4, !tbaa !5
  %9496 = load ptr, ptr %4, align 8, !tbaa !9
  %9497 = call i32 @s2n_test_auth_combo(ptr noundef %5806, ptr noundef nonnull @s2n_tls13_aes_128_gcm_sha256, ptr noundef nonnull @s2n_ecdsa_sha384, ptr noundef %9496)
  %9498 = icmp eq i32 %9497, -1
  br i1 %9498, label %9499, label %9521

9499:                                             ; preds = %9493
  %9500 = load i32, ptr %423, align 4, !tbaa !5
  %9501 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9502 = call i32 @s2n_print_stacktrace(ptr noundef %9501) #9
  %9503 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9504 = trunc nuw i8 %9503 to i1
  br i1 %9504, label %9505, label %9509

9505:                                             ; preds = %9499
  %9506 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9507 = call i32 @fileno(ptr noundef %9506) #9
  %9508 = call i32 @isatty(i32 noundef %9507) #9
  %.not1165 = icmp eq i32 %9508, 0
  br i1 %.not1165, label %9509, label %9510

9509:                                             ; preds = %9505, %9499
  br label %9510

9510:                                             ; preds = %9505, %9509
  %.str.5.sink4600 = phi ptr [ @.str.5, %9509 ], [ @.str.2, %9505 ]
  store i32 %9500, ptr %423, align 4, !tbaa !5
  %9511 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9512 = load i32, ptr @test_count, align 4, !tbaa !5
  %9513 = load i32, ptr %369, align 4, !tbaa !5
  %9514 = call ptr @s2n_strerror(i32 noundef %9513, ptr noundef nonnull @.str.4) #9
  %9515 = load i32, ptr %369, align 4, !tbaa !5
  %9516 = call ptr @s2n_strerror_debug(i32 noundef %9515, ptr noundef nonnull @.str.4) #9
  %9517 = load i32, ptr %423, align 4, !tbaa !5
  %9518 = call ptr @strerror(i32 noundef %9517) #9
  %9519 = load i32, ptr %423, align 4, !tbaa !5
  %9520 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9511, ptr noundef nonnull %.str.5.sink4600, i32 noundef %9512, ptr noundef nonnull @.str.93, ptr noundef nonnull @.str.1, i32 noundef 433, ptr noundef %9514, ptr noundef %9516, ptr noundef %9518, i32 noundef %9519) #11
  call void @exit(i32 noundef 1) #12
  unreachable

9521:                                             ; preds = %9493
  %9522 = load i32, ptr @test_count, align 4, !tbaa !5
  %9523 = add nsw i32 %9522, 1
  store i32 %9523, ptr @test_count, align 4, !tbaa !5
  %9524 = call i32 @s2n_connection_set_config(ptr noundef %5806, ptr noundef %246) #9
  %9525 = icmp eq i32 %9524, -1
  br i1 %9525, label %9526, label %9548

9526:                                             ; preds = %9521
  %9527 = load i32, ptr %423, align 4, !tbaa !5
  %9528 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9529 = call i32 @s2n_print_stacktrace(ptr noundef %9528) #9
  %9530 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9531 = trunc nuw i8 %9530 to i1
  br i1 %9531, label %9532, label %9536

9532:                                             ; preds = %9526
  %9533 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9534 = call i32 @fileno(ptr noundef %9533) #9
  %9535 = call i32 @isatty(i32 noundef %9534) #9
  %.not1164 = icmp eq i32 %9535, 0
  br i1 %.not1164, label %9536, label %9537

9536:                                             ; preds = %9532, %9526
  br label %9537

9537:                                             ; preds = %9532, %9536
  %.str.5.sink4609 = phi ptr [ @.str.5, %9536 ], [ @.str.2, %9532 ]
  store i32 %9527, ptr %423, align 4, !tbaa !5
  %9538 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9539 = load i32, ptr @test_count, align 4, !tbaa !5
  %9540 = load i32, ptr %369, align 4, !tbaa !5
  %9541 = call ptr @s2n_strerror(i32 noundef %9540, ptr noundef nonnull @.str.4) #9
  %9542 = load i32, ptr %369, align 4, !tbaa !5
  %9543 = call ptr @s2n_strerror_debug(i32 noundef %9542, ptr noundef nonnull @.str.4) #9
  %9544 = load i32, ptr %423, align 4, !tbaa !5
  %9545 = call ptr @strerror(i32 noundef %9544) #9
  %9546 = load i32, ptr %423, align 4, !tbaa !5
  %9547 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9538, ptr noundef nonnull %.str.5.sink4609, i32 noundef %9539, ptr noundef nonnull @.str.30, ptr noundef nonnull @.str.1, i32 noundef 436, ptr noundef %9541, ptr noundef %9543, ptr noundef %9545, i32 noundef %9546) #11
  call void @exit(i32 noundef 1) #12
  unreachable

9548:                                             ; preds = %9521
  %9549 = load i32, ptr @test_count, align 4, !tbaa !5
  %9550 = add nsw i32 %9549, 1
  store i32 %9550, ptr @test_count, align 4, !tbaa !5
  %9551 = load ptr, ptr %3, align 8, !tbaa !9
  %9552 = call i32 @s2n_test_auth_combo(ptr noundef %5806, ptr noundef nonnull @s2n_dhe_rsa_with_3des_ede_cbc_sha, ptr noundef nonnull @s2n_rsa_pkcs1_md5_sha1, ptr noundef %9551)
  %9553 = icmp eq i32 %9552, -1
  br i1 %9553, label %9554, label %9576

9554:                                             ; preds = %9548
  %9555 = load i32, ptr %423, align 4, !tbaa !5
  %9556 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9557 = call i32 @s2n_print_stacktrace(ptr noundef %9556) #9
  %9558 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9559 = trunc nuw i8 %9558 to i1
  br i1 %9559, label %9560, label %9564

9560:                                             ; preds = %9554
  %9561 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9562 = call i32 @fileno(ptr noundef %9561) #9
  %9563 = call i32 @isatty(i32 noundef %9562) #9
  %.not1163 = icmp eq i32 %9563, 0
  br i1 %.not1163, label %9564, label %9565

9564:                                             ; preds = %9560, %9554
  br label %9565

9565:                                             ; preds = %9560, %9564
  %.str.5.sink4618 = phi ptr [ @.str.5, %9564 ], [ @.str.2, %9560 ]
  store i32 %9555, ptr %423, align 4, !tbaa !5
  %9566 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9567 = load i32, ptr @test_count, align 4, !tbaa !5
  %9568 = load i32, ptr %369, align 4, !tbaa !5
  %9569 = call ptr @s2n_strerror(i32 noundef %9568, ptr noundef nonnull @.str.4) #9
  %9570 = load i32, ptr %369, align 4, !tbaa !5
  %9571 = call ptr @s2n_strerror_debug(i32 noundef %9570, ptr noundef nonnull @.str.4) #9
  %9572 = load i32, ptr %423, align 4, !tbaa !5
  %9573 = call ptr @strerror(i32 noundef %9572) #9
  %9574 = load i32, ptr %423, align 4, !tbaa !5
  %9575 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9566, ptr noundef nonnull %.str.5.sink4618, i32 noundef %9567, ptr noundef nonnull @.str.84, ptr noundef nonnull @.str.1, i32 noundef 438, ptr noundef %9569, ptr noundef %9571, ptr noundef %9573, i32 noundef %9574) #11
  call void @exit(i32 noundef 1) #12
  unreachable

9576:                                             ; preds = %9548
  %9577 = call zeroext i1 (...) @s2n_is_rsa_pss_certs_supported() #9
  %9578 = load i32, ptr @test_count, align 4, !tbaa !5
  %9579 = add nsw i32 %9578, 1
  store i32 %9579, ptr @test_count, align 4, !tbaa !5
  %9580 = call i32 @s2n_test_auth_combo(ptr noundef %5806, ptr noundef nonnull @s2n_dhe_rsa_with_3des_ede_cbc_sha, ptr noundef nonnull @s2n_rsa_pss_pss_sha256, ptr noundef null)
  %9581 = icmp eq i32 %9580, -1
  br i1 %9577, label %9582, label %9605

9582:                                             ; preds = %9576
  br i1 %9581, label %9583, label %9682

9583:                                             ; preds = %9582
  %9584 = load i32, ptr %423, align 4, !tbaa !5
  %9585 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9586 = call i32 @s2n_print_stacktrace(ptr noundef %9585) #9
  %9587 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9588 = trunc nuw i8 %9587 to i1
  br i1 %9588, label %9589, label %9593

9589:                                             ; preds = %9583
  %9590 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9591 = call i32 @fileno(ptr noundef %9590) #9
  %9592 = call i32 @isatty(i32 noundef %9591) #9
  %.not1162 = icmp eq i32 %9592, 0
  br i1 %.not1162, label %9593, label %9594

9593:                                             ; preds = %9589, %9583
  br label %9594

9594:                                             ; preds = %9589, %9593
  %.str.5.sink4627 = phi ptr [ @.str.5, %9593 ], [ @.str.2, %9589 ]
  store i32 %9584, ptr %423, align 4, !tbaa !5
  %9595 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9596 = load i32, ptr @test_count, align 4, !tbaa !5
  %9597 = load i32, ptr %369, align 4, !tbaa !5
  %9598 = call ptr @s2n_strerror(i32 noundef %9597, ptr noundef nonnull @.str.4) #9
  %9599 = load i32, ptr %369, align 4, !tbaa !5
  %9600 = call ptr @s2n_strerror_debug(i32 noundef %9599, ptr noundef nonnull @.str.4) #9
  %9601 = load i32, ptr %423, align 4, !tbaa !5
  %9602 = call ptr @strerror(i32 noundef %9601) #9
  %9603 = load i32, ptr %423, align 4, !tbaa !5
  %9604 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9595, ptr noundef nonnull %.str.5.sink4627, i32 noundef %9596, ptr noundef nonnull @.str.88, ptr noundef nonnull @.str.1, i32 noundef 439, ptr noundef %9598, ptr noundef %9600, ptr noundef %9602, i32 noundef %9603) #11
  call void @exit(i32 noundef 1) #12
  unreachable

9605:                                             ; preds = %9576
  br i1 %9581, label %9628, label %9606

9606:                                             ; preds = %9605
  %9607 = load i32, ptr %423, align 4, !tbaa !5
  %9608 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9609 = call i32 @s2n_print_stacktrace(ptr noundef %9608) #9
  %9610 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9611 = trunc nuw i8 %9610 to i1
  br i1 %9611, label %9612, label %9616

9612:                                             ; preds = %9606
  %9613 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9614 = call i32 @fileno(ptr noundef %9613) #9
  %9615 = call i32 @isatty(i32 noundef %9614) #9
  %.not1124 = icmp eq i32 %9615, 0
  br i1 %.not1124, label %9616, label %9617

9616:                                             ; preds = %9612, %9606
  br label %9617

9617:                                             ; preds = %9612, %9616
  %.str.5.sink4636 = phi ptr [ @.str.5, %9616 ], [ @.str.2, %9612 ]
  store i32 %9607, ptr %423, align 4, !tbaa !5
  %9618 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9619 = load i32, ptr @test_count, align 4, !tbaa !5
  %9620 = load i32, ptr %369, align 4, !tbaa !5
  %9621 = call ptr @s2n_strerror(i32 noundef %9620, ptr noundef nonnull @.str.4) #9
  %9622 = load i32, ptr %369, align 4, !tbaa !5
  %9623 = call ptr @s2n_strerror_debug(i32 noundef %9622, ptr noundef nonnull @.str.4) #9
  %9624 = load i32, ptr %423, align 4, !tbaa !5
  %9625 = call ptr @strerror(i32 noundef %9624) #9
  %9626 = load i32, ptr %423, align 4, !tbaa !5
  %9627 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9618, ptr noundef nonnull %.str.5.sink4636, i32 noundef %9619, ptr noundef nonnull @.str.89, ptr noundef nonnull @.str.1, i32 noundef 439, ptr noundef %9621, ptr noundef %9623, ptr noundef %9625, i32 noundef %9626) #11
  call void @exit(i32 noundef 1) #12
  unreachable

9628:                                             ; preds = %9605
  %9629 = load i32, ptr @test_count, align 4, !tbaa !5
  %9630 = add nsw i32 %9629, 1
  store i32 %9630, ptr @test_count, align 4, !tbaa !5
  %9631 = load i32, ptr %369, align 4, !tbaa !5
  %9632 = icmp eq i32 %9631, 0
  br i1 %9632, label %9633, label %9655

9633:                                             ; preds = %9628
  %9634 = load i32, ptr %423, align 4, !tbaa !5
  %9635 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9636 = call i32 @s2n_print_stacktrace(ptr noundef %9635) #9
  %9637 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9638 = trunc nuw i8 %9637 to i1
  br i1 %9638, label %9639, label %9643

9639:                                             ; preds = %9633
  %9640 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9641 = call i32 @fileno(ptr noundef %9640) #9
  %9642 = call i32 @isatty(i32 noundef %9641) #9
  %.not1126 = icmp eq i32 %9642, 0
  br i1 %.not1126, label %9643, label %9644

9643:                                             ; preds = %9639, %9633
  br label %9644

9644:                                             ; preds = %9639, %9643
  %.str.5.sink4645 = phi ptr [ @.str.5, %9643 ], [ @.str.2, %9639 ]
  store i32 %9634, ptr %423, align 4, !tbaa !5
  %9645 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9646 = load i32, ptr @test_count, align 4, !tbaa !5
  %9647 = load i32, ptr %369, align 4, !tbaa !5
  %9648 = call ptr @s2n_strerror(i32 noundef %9647, ptr noundef nonnull @.str.4) #9
  %9649 = load i32, ptr %369, align 4, !tbaa !5
  %9650 = call ptr @s2n_strerror_debug(i32 noundef %9649, ptr noundef nonnull @.str.4) #9
  %9651 = load i32, ptr %423, align 4, !tbaa !5
  %9652 = call ptr @strerror(i32 noundef %9651) #9
  %9653 = load i32, ptr %423, align 4, !tbaa !5
  %9654 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9645, ptr noundef nonnull %.str.5.sink4645, i32 noundef %9646, ptr noundef nonnull @.str.21, ptr noundef nonnull @.str.1, i32 noundef 439, ptr noundef %9648, ptr noundef %9650, ptr noundef %9652, i32 noundef %9653) #11
  call void @exit(i32 noundef 1) #12
  unreachable

9655:                                             ; preds = %9628
  %9656 = add nsw i32 %9629, 2
  store i32 %9656, ptr @test_count, align 4, !tbaa !5
  %9657 = call ptr @s2n_strerror_debug(i32 noundef %9631, ptr noundef nonnull @.str.4) #9
  %9658 = icmp eq ptr %9657, null
  br i1 %9658, label %9659, label %9681

9659:                                             ; preds = %9655
  %9660 = load i32, ptr %423, align 4, !tbaa !5
  %9661 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9662 = call i32 @s2n_print_stacktrace(ptr noundef %9661) #9
  %9663 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9664 = trunc nuw i8 %9663 to i1
  br i1 %9664, label %9665, label %9669

9665:                                             ; preds = %9659
  %9666 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9667 = call i32 @fileno(ptr noundef %9666) #9
  %9668 = call i32 @isatty(i32 noundef %9667) #9
  %.not1125 = icmp eq i32 %9668, 0
  br i1 %.not1125, label %9669, label %9670

9669:                                             ; preds = %9665, %9659
  br label %9670

9670:                                             ; preds = %9665, %9669
  %.str.5.sink4654 = phi ptr [ @.str.5, %9669 ], [ @.str.2, %9665 ]
  store i32 %9660, ptr %423, align 4, !tbaa !5
  %9671 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9672 = load i32, ptr @test_count, align 4, !tbaa !5
  %9673 = load i32, ptr %369, align 4, !tbaa !5
  %9674 = call ptr @s2n_strerror(i32 noundef %9673, ptr noundef nonnull @.str.4) #9
  %9675 = load i32, ptr %369, align 4, !tbaa !5
  %9676 = call ptr @s2n_strerror_debug(i32 noundef %9675, ptr noundef nonnull @.str.4) #9
  %9677 = load i32, ptr %423, align 4, !tbaa !5
  %9678 = call ptr @strerror(i32 noundef %9677) #9
  %9679 = load i32, ptr %423, align 4, !tbaa !5
  %9680 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9671, ptr noundef nonnull %.str.5.sink4654, i32 noundef %9672, ptr noundef nonnull @.str.22, ptr noundef nonnull @.str.1, i32 noundef 439, ptr noundef %9674, ptr noundef %9676, ptr noundef %9678, i32 noundef %9679) #11
  call void @exit(i32 noundef 1) #12
  unreachable

9681:                                             ; preds = %9655
  store i32 0, ptr %369, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #9
  store i32 0, ptr %423, align 4, !tbaa !5
  br label %9682

9682:                                             ; preds = %9681, %9582
  %9683 = load i32, ptr @test_count, align 4, !tbaa !5
  %9684 = add nsw i32 %9683, 1
  store i32 %9684, ptr @test_count, align 4, !tbaa !5
  %9685 = load ptr, ptr %3, align 8, !tbaa !9
  %9686 = call i32 @s2n_test_auth_combo(ptr noundef %5806, ptr noundef nonnull @s2n_dhe_rsa_with_3des_ede_cbc_sha, ptr noundef nonnull @s2n_rsa_pss_rsae_sha256, ptr noundef %9685)
  %9687 = icmp eq i32 %9686, -1
  br i1 %9687, label %9688, label %9710

9688:                                             ; preds = %9682
  %9689 = load i32, ptr %423, align 4, !tbaa !5
  %9690 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9691 = call i32 @s2n_print_stacktrace(ptr noundef %9690) #9
  %9692 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9693 = trunc nuw i8 %9692 to i1
  br i1 %9693, label %9694, label %9698

9694:                                             ; preds = %9688
  %9695 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9696 = call i32 @fileno(ptr noundef %9695) #9
  %9697 = call i32 @isatty(i32 noundef %9696) #9
  %.not1161 = icmp eq i32 %9697, 0
  br i1 %.not1161, label %9698, label %9699

9698:                                             ; preds = %9694, %9688
  br label %9699

9699:                                             ; preds = %9694, %9698
  %.str.5.sink4663 = phi ptr [ @.str.5, %9698 ], [ @.str.2, %9694 ]
  store i32 %9689, ptr %423, align 4, !tbaa !5
  %9700 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9701 = load i32, ptr @test_count, align 4, !tbaa !5
  %9702 = load i32, ptr %369, align 4, !tbaa !5
  %9703 = call ptr @s2n_strerror(i32 noundef %9702, ptr noundef nonnull @.str.4) #9
  %9704 = load i32, ptr %369, align 4, !tbaa !5
  %9705 = call ptr @s2n_strerror_debug(i32 noundef %9704, ptr noundef nonnull @.str.4) #9
  %9706 = load i32, ptr %423, align 4, !tbaa !5
  %9707 = call ptr @strerror(i32 noundef %9706) #9
  %9708 = load i32, ptr %423, align 4, !tbaa !5
  %9709 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9700, ptr noundef nonnull %.str.5.sink4663, i32 noundef %9701, ptr noundef nonnull @.str.85, ptr noundef nonnull @.str.1, i32 noundef 440, ptr noundef %9703, ptr noundef %9705, ptr noundef %9707, i32 noundef %9708) #11
  call void @exit(i32 noundef 1) #12
  unreachable

9710:                                             ; preds = %9682
  %9711 = load i32, ptr @test_count, align 4, !tbaa !5
  %9712 = add nsw i32 %9711, 1
  store i32 %9712, ptr @test_count, align 4, !tbaa !5
  %9713 = call i32 @s2n_test_auth_combo(ptr noundef %5806, ptr noundef nonnull @s2n_dhe_rsa_with_3des_ede_cbc_sha, ptr noundef nonnull @s2n_ecdsa_sha384, ptr noundef null)
  %9714 = icmp eq i32 %9713, -1
  br i1 %9714, label %9737, label %9715

9715:                                             ; preds = %9710
  %9716 = load i32, ptr %423, align 4, !tbaa !5
  %9717 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9718 = call i32 @s2n_print_stacktrace(ptr noundef %9717) #9
  %9719 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9720 = trunc nuw i8 %9719 to i1
  br i1 %9720, label %9721, label %9725

9721:                                             ; preds = %9715
  %9722 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9723 = call i32 @fileno(ptr noundef %9722) #9
  %9724 = call i32 @isatty(i32 noundef %9723) #9
  %.not1127 = icmp eq i32 %9724, 0
  br i1 %.not1127, label %9725, label %9726

9725:                                             ; preds = %9721, %9715
  br label %9726

9726:                                             ; preds = %9721, %9725
  %.str.5.sink4672 = phi ptr [ @.str.5, %9725 ], [ @.str.2, %9721 ]
  store i32 %9716, ptr %423, align 4, !tbaa !5
  %9727 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9728 = load i32, ptr @test_count, align 4, !tbaa !5
  %9729 = load i32, ptr %369, align 4, !tbaa !5
  %9730 = call ptr @s2n_strerror(i32 noundef %9729, ptr noundef nonnull @.str.4) #9
  %9731 = load i32, ptr %369, align 4, !tbaa !5
  %9732 = call ptr @s2n_strerror_debug(i32 noundef %9731, ptr noundef nonnull @.str.4) #9
  %9733 = load i32, ptr %423, align 4, !tbaa !5
  %9734 = call ptr @strerror(i32 noundef %9733) #9
  %9735 = load i32, ptr %423, align 4, !tbaa !5
  %9736 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9727, ptr noundef nonnull %.str.5.sink4672, i32 noundef %9728, ptr noundef nonnull @.str.75, ptr noundef nonnull @.str.1, i32 noundef 441, ptr noundef %9730, ptr noundef %9732, ptr noundef %9734, i32 noundef %9735) #11
  call void @exit(i32 noundef 1) #12
  unreachable

9737:                                             ; preds = %9710
  %9738 = load i32, ptr @test_count, align 4, !tbaa !5
  %9739 = add nsw i32 %9738, 1
  store i32 %9739, ptr @test_count, align 4, !tbaa !5
  %9740 = load i32, ptr %369, align 4, !tbaa !5
  %9741 = icmp eq i32 %9740, 0
  br i1 %9741, label %9742, label %9764

9742:                                             ; preds = %9737
  %9743 = load i32, ptr %423, align 4, !tbaa !5
  %9744 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9745 = call i32 @s2n_print_stacktrace(ptr noundef %9744) #9
  %9746 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9747 = trunc nuw i8 %9746 to i1
  br i1 %9747, label %9748, label %9752

9748:                                             ; preds = %9742
  %9749 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9750 = call i32 @fileno(ptr noundef %9749) #9
  %9751 = call i32 @isatty(i32 noundef %9750) #9
  %.not1160 = icmp eq i32 %9751, 0
  br i1 %.not1160, label %9752, label %9753

9752:                                             ; preds = %9748, %9742
  br label %9753

9753:                                             ; preds = %9748, %9752
  %.str.5.sink4681 = phi ptr [ @.str.5, %9752 ], [ @.str.2, %9748 ]
  store i32 %9743, ptr %423, align 4, !tbaa !5
  %9754 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9755 = load i32, ptr @test_count, align 4, !tbaa !5
  %9756 = load i32, ptr %369, align 4, !tbaa !5
  %9757 = call ptr @s2n_strerror(i32 noundef %9756, ptr noundef nonnull @.str.4) #9
  %9758 = load i32, ptr %369, align 4, !tbaa !5
  %9759 = call ptr @s2n_strerror_debug(i32 noundef %9758, ptr noundef nonnull @.str.4) #9
  %9760 = load i32, ptr %423, align 4, !tbaa !5
  %9761 = call ptr @strerror(i32 noundef %9760) #9
  %9762 = load i32, ptr %423, align 4, !tbaa !5
  %9763 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9754, ptr noundef nonnull %.str.5.sink4681, i32 noundef %9755, ptr noundef nonnull @.str.21, ptr noundef nonnull @.str.1, i32 noundef 441, ptr noundef %9757, ptr noundef %9759, ptr noundef %9761, i32 noundef %9762) #11
  call void @exit(i32 noundef 1) #12
  unreachable

9764:                                             ; preds = %9737
  %9765 = add nsw i32 %9738, 2
  store i32 %9765, ptr @test_count, align 4, !tbaa !5
  %9766 = call ptr @s2n_strerror_debug(i32 noundef %9740, ptr noundef nonnull @.str.4) #9
  %9767 = icmp eq ptr %9766, null
  br i1 %9767, label %9768, label %9790

9768:                                             ; preds = %9764
  %9769 = load i32, ptr %423, align 4, !tbaa !5
  %9770 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9771 = call i32 @s2n_print_stacktrace(ptr noundef %9770) #9
  %9772 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9773 = trunc nuw i8 %9772 to i1
  br i1 %9773, label %9774, label %9778

9774:                                             ; preds = %9768
  %9775 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9776 = call i32 @fileno(ptr noundef %9775) #9
  %9777 = call i32 @isatty(i32 noundef %9776) #9
  %.not1159 = icmp eq i32 %9777, 0
  br i1 %.not1159, label %9778, label %9779

9778:                                             ; preds = %9774, %9768
  br label %9779

9779:                                             ; preds = %9774, %9778
  %.str.5.sink4690 = phi ptr [ @.str.5, %9778 ], [ @.str.2, %9774 ]
  store i32 %9769, ptr %423, align 4, !tbaa !5
  %9780 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9781 = load i32, ptr @test_count, align 4, !tbaa !5
  %9782 = load i32, ptr %369, align 4, !tbaa !5
  %9783 = call ptr @s2n_strerror(i32 noundef %9782, ptr noundef nonnull @.str.4) #9
  %9784 = load i32, ptr %369, align 4, !tbaa !5
  %9785 = call ptr @s2n_strerror_debug(i32 noundef %9784, ptr noundef nonnull @.str.4) #9
  %9786 = load i32, ptr %423, align 4, !tbaa !5
  %9787 = call ptr @strerror(i32 noundef %9786) #9
  %9788 = load i32, ptr %423, align 4, !tbaa !5
  %9789 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9780, ptr noundef nonnull %.str.5.sink4690, i32 noundef %9781, ptr noundef nonnull @.str.22, ptr noundef nonnull @.str.1, i32 noundef 441, ptr noundef %9783, ptr noundef %9785, ptr noundef %9787, i32 noundef %9788) #11
  call void @exit(i32 noundef 1) #12
  unreachable

9790:                                             ; preds = %9764
  store i32 0, ptr %369, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #9
  store i32 0, ptr %423, align 4, !tbaa !5
  %9791 = load i32, ptr @test_count, align 4, !tbaa !5
  %9792 = add nsw i32 %9791, 1
  store i32 %9792, ptr @test_count, align 4, !tbaa !5
  %9793 = call i32 @s2n_test_auth_combo(ptr noundef %5806, ptr noundef nonnull @s2n_ecdhe_ecdsa_with_aes_128_cbc_sha, ptr noundef nonnull @s2n_rsa_pkcs1_md5_sha1, ptr noundef null)
  %9794 = icmp eq i32 %9793, -1
  br i1 %9794, label %9817, label %9795

9795:                                             ; preds = %9790
  %9796 = load i32, ptr %423, align 4, !tbaa !5
  %9797 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9798 = call i32 @s2n_print_stacktrace(ptr noundef %9797) #9
  %9799 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9800 = trunc nuw i8 %9799 to i1
  br i1 %9800, label %9801, label %9805

9801:                                             ; preds = %9795
  %9802 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9803 = call i32 @fileno(ptr noundef %9802) #9
  %9804 = call i32 @isatty(i32 noundef %9803) #9
  %.not1128 = icmp eq i32 %9804, 0
  br i1 %.not1128, label %9805, label %9806

9805:                                             ; preds = %9801, %9795
  br label %9806

9806:                                             ; preds = %9801, %9805
  %.str.5.sink4699 = phi ptr [ @.str.5, %9805 ], [ @.str.2, %9801 ]
  store i32 %9796, ptr %423, align 4, !tbaa !5
  %9807 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9808 = load i32, ptr @test_count, align 4, !tbaa !5
  %9809 = load i32, ptr %369, align 4, !tbaa !5
  %9810 = call ptr @s2n_strerror(i32 noundef %9809, ptr noundef nonnull @.str.4) #9
  %9811 = load i32, ptr %369, align 4, !tbaa !5
  %9812 = call ptr @s2n_strerror_debug(i32 noundef %9811, ptr noundef nonnull @.str.4) #9
  %9813 = load i32, ptr %423, align 4, !tbaa !5
  %9814 = call ptr @strerror(i32 noundef %9813) #9
  %9815 = load i32, ptr %423, align 4, !tbaa !5
  %9816 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9807, ptr noundef nonnull %.str.5.sink4699, i32 noundef %9808, ptr noundef nonnull @.str.76, ptr noundef nonnull @.str.1, i32 noundef 443, ptr noundef %9810, ptr noundef %9812, ptr noundef %9814, i32 noundef %9815) #11
  call void @exit(i32 noundef 1) #12
  unreachable

9817:                                             ; preds = %9790
  %9818 = load i32, ptr @test_count, align 4, !tbaa !5
  %9819 = add nsw i32 %9818, 1
  store i32 %9819, ptr @test_count, align 4, !tbaa !5
  %9820 = load i32, ptr %369, align 4, !tbaa !5
  %9821 = icmp eq i32 %9820, 0
  br i1 %9821, label %9822, label %9844

9822:                                             ; preds = %9817
  %9823 = load i32, ptr %423, align 4, !tbaa !5
  %9824 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9825 = call i32 @s2n_print_stacktrace(ptr noundef %9824) #9
  %9826 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9827 = trunc nuw i8 %9826 to i1
  br i1 %9827, label %9828, label %9832

9828:                                             ; preds = %9822
  %9829 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9830 = call i32 @fileno(ptr noundef %9829) #9
  %9831 = call i32 @isatty(i32 noundef %9830) #9
  %.not1158 = icmp eq i32 %9831, 0
  br i1 %.not1158, label %9832, label %9833

9832:                                             ; preds = %9828, %9822
  br label %9833

9833:                                             ; preds = %9828, %9832
  %.str.5.sink4708 = phi ptr [ @.str.5, %9832 ], [ @.str.2, %9828 ]
  store i32 %9823, ptr %423, align 4, !tbaa !5
  %9834 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9835 = load i32, ptr @test_count, align 4, !tbaa !5
  %9836 = load i32, ptr %369, align 4, !tbaa !5
  %9837 = call ptr @s2n_strerror(i32 noundef %9836, ptr noundef nonnull @.str.4) #9
  %9838 = load i32, ptr %369, align 4, !tbaa !5
  %9839 = call ptr @s2n_strerror_debug(i32 noundef %9838, ptr noundef nonnull @.str.4) #9
  %9840 = load i32, ptr %423, align 4, !tbaa !5
  %9841 = call ptr @strerror(i32 noundef %9840) #9
  %9842 = load i32, ptr %423, align 4, !tbaa !5
  %9843 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9834, ptr noundef nonnull %.str.5.sink4708, i32 noundef %9835, ptr noundef nonnull @.str.21, ptr noundef nonnull @.str.1, i32 noundef 443, ptr noundef %9837, ptr noundef %9839, ptr noundef %9841, i32 noundef %9842) #11
  call void @exit(i32 noundef 1) #12
  unreachable

9844:                                             ; preds = %9817
  %9845 = add nsw i32 %9818, 2
  store i32 %9845, ptr @test_count, align 4, !tbaa !5
  %9846 = call ptr @s2n_strerror_debug(i32 noundef %9820, ptr noundef nonnull @.str.4) #9
  %9847 = icmp eq ptr %9846, null
  br i1 %9847, label %9848, label %9870

9848:                                             ; preds = %9844
  %9849 = load i32, ptr %423, align 4, !tbaa !5
  %9850 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9851 = call i32 @s2n_print_stacktrace(ptr noundef %9850) #9
  %9852 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9853 = trunc nuw i8 %9852 to i1
  br i1 %9853, label %9854, label %9858

9854:                                             ; preds = %9848
  %9855 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9856 = call i32 @fileno(ptr noundef %9855) #9
  %9857 = call i32 @isatty(i32 noundef %9856) #9
  %.not1157 = icmp eq i32 %9857, 0
  br i1 %.not1157, label %9858, label %9859

9858:                                             ; preds = %9854, %9848
  br label %9859

9859:                                             ; preds = %9854, %9858
  %.str.5.sink4717 = phi ptr [ @.str.5, %9858 ], [ @.str.2, %9854 ]
  store i32 %9849, ptr %423, align 4, !tbaa !5
  %9860 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9861 = load i32, ptr @test_count, align 4, !tbaa !5
  %9862 = load i32, ptr %369, align 4, !tbaa !5
  %9863 = call ptr @s2n_strerror(i32 noundef %9862, ptr noundef nonnull @.str.4) #9
  %9864 = load i32, ptr %369, align 4, !tbaa !5
  %9865 = call ptr @s2n_strerror_debug(i32 noundef %9864, ptr noundef nonnull @.str.4) #9
  %9866 = load i32, ptr %423, align 4, !tbaa !5
  %9867 = call ptr @strerror(i32 noundef %9866) #9
  %9868 = load i32, ptr %423, align 4, !tbaa !5
  %9869 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9860, ptr noundef nonnull %.str.5.sink4717, i32 noundef %9861, ptr noundef nonnull @.str.22, ptr noundef nonnull @.str.1, i32 noundef 443, ptr noundef %9863, ptr noundef %9865, ptr noundef %9867, i32 noundef %9868) #11
  call void @exit(i32 noundef 1) #12
  unreachable

9870:                                             ; preds = %9844
  store i32 0, ptr %369, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #9
  store i32 0, ptr %423, align 4, !tbaa !5
  %9871 = load i32, ptr @test_count, align 4, !tbaa !5
  %9872 = add nsw i32 %9871, 1
  store i32 %9872, ptr @test_count, align 4, !tbaa !5
  %9873 = call i32 @s2n_test_auth_combo(ptr noundef %5806, ptr noundef nonnull @s2n_ecdhe_ecdsa_with_aes_128_cbc_sha, ptr noundef nonnull @s2n_rsa_pss_pss_sha256, ptr noundef null)
  %9874 = icmp eq i32 %9873, -1
  br i1 %9874, label %9897, label %9875

9875:                                             ; preds = %9870
  %9876 = load i32, ptr %423, align 4, !tbaa !5
  %9877 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9878 = call i32 @s2n_print_stacktrace(ptr noundef %9877) #9
  %9879 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9880 = trunc nuw i8 %9879 to i1
  br i1 %9880, label %9881, label %9885

9881:                                             ; preds = %9875
  %9882 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9883 = call i32 @fileno(ptr noundef %9882) #9
  %9884 = call i32 @isatty(i32 noundef %9883) #9
  %.not1129 = icmp eq i32 %9884, 0
  br i1 %.not1129, label %9885, label %9886

9885:                                             ; preds = %9881, %9875
  br label %9886

9886:                                             ; preds = %9881, %9885
  %.str.5.sink4726 = phi ptr [ @.str.5, %9885 ], [ @.str.2, %9881 ]
  store i32 %9876, ptr %423, align 4, !tbaa !5
  %9887 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9888 = load i32, ptr @test_count, align 4, !tbaa !5
  %9889 = load i32, ptr %369, align 4, !tbaa !5
  %9890 = call ptr @s2n_strerror(i32 noundef %9889, ptr noundef nonnull @.str.4) #9
  %9891 = load i32, ptr %369, align 4, !tbaa !5
  %9892 = call ptr @s2n_strerror_debug(i32 noundef %9891, ptr noundef nonnull @.str.4) #9
  %9893 = load i32, ptr %423, align 4, !tbaa !5
  %9894 = call ptr @strerror(i32 noundef %9893) #9
  %9895 = load i32, ptr %423, align 4, !tbaa !5
  %9896 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9887, ptr noundef nonnull %.str.5.sink4726, i32 noundef %9888, ptr noundef nonnull @.str.77, ptr noundef nonnull @.str.1, i32 noundef 444, ptr noundef %9890, ptr noundef %9892, ptr noundef %9894, i32 noundef %9895) #11
  call void @exit(i32 noundef 1) #12
  unreachable

9897:                                             ; preds = %9870
  %9898 = load i32, ptr @test_count, align 4, !tbaa !5
  %9899 = add nsw i32 %9898, 1
  store i32 %9899, ptr @test_count, align 4, !tbaa !5
  %9900 = load i32, ptr %369, align 4, !tbaa !5
  %9901 = icmp eq i32 %9900, 0
  br i1 %9901, label %9902, label %9924

9902:                                             ; preds = %9897
  %9903 = load i32, ptr %423, align 4, !tbaa !5
  %9904 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9905 = call i32 @s2n_print_stacktrace(ptr noundef %9904) #9
  %9906 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9907 = trunc nuw i8 %9906 to i1
  br i1 %9907, label %9908, label %9912

9908:                                             ; preds = %9902
  %9909 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9910 = call i32 @fileno(ptr noundef %9909) #9
  %9911 = call i32 @isatty(i32 noundef %9910) #9
  %.not1156 = icmp eq i32 %9911, 0
  br i1 %.not1156, label %9912, label %9913

9912:                                             ; preds = %9908, %9902
  br label %9913

9913:                                             ; preds = %9908, %9912
  %.str.5.sink4735 = phi ptr [ @.str.5, %9912 ], [ @.str.2, %9908 ]
  store i32 %9903, ptr %423, align 4, !tbaa !5
  %9914 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9915 = load i32, ptr @test_count, align 4, !tbaa !5
  %9916 = load i32, ptr %369, align 4, !tbaa !5
  %9917 = call ptr @s2n_strerror(i32 noundef %9916, ptr noundef nonnull @.str.4) #9
  %9918 = load i32, ptr %369, align 4, !tbaa !5
  %9919 = call ptr @s2n_strerror_debug(i32 noundef %9918, ptr noundef nonnull @.str.4) #9
  %9920 = load i32, ptr %423, align 4, !tbaa !5
  %9921 = call ptr @strerror(i32 noundef %9920) #9
  %9922 = load i32, ptr %423, align 4, !tbaa !5
  %9923 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9914, ptr noundef nonnull %.str.5.sink4735, i32 noundef %9915, ptr noundef nonnull @.str.21, ptr noundef nonnull @.str.1, i32 noundef 444, ptr noundef %9917, ptr noundef %9919, ptr noundef %9921, i32 noundef %9922) #11
  call void @exit(i32 noundef 1) #12
  unreachable

9924:                                             ; preds = %9897
  %9925 = add nsw i32 %9898, 2
  store i32 %9925, ptr @test_count, align 4, !tbaa !5
  %9926 = call ptr @s2n_strerror_debug(i32 noundef %9900, ptr noundef nonnull @.str.4) #9
  %9927 = icmp eq ptr %9926, null
  br i1 %9927, label %9928, label %9950

9928:                                             ; preds = %9924
  %9929 = load i32, ptr %423, align 4, !tbaa !5
  %9930 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9931 = call i32 @s2n_print_stacktrace(ptr noundef %9930) #9
  %9932 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9933 = trunc nuw i8 %9932 to i1
  br i1 %9933, label %9934, label %9938

9934:                                             ; preds = %9928
  %9935 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9936 = call i32 @fileno(ptr noundef %9935) #9
  %9937 = call i32 @isatty(i32 noundef %9936) #9
  %.not1155 = icmp eq i32 %9937, 0
  br i1 %.not1155, label %9938, label %9939

9938:                                             ; preds = %9934, %9928
  br label %9939

9939:                                             ; preds = %9934, %9938
  %.str.5.sink4744 = phi ptr [ @.str.5, %9938 ], [ @.str.2, %9934 ]
  store i32 %9929, ptr %423, align 4, !tbaa !5
  %9940 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9941 = load i32, ptr @test_count, align 4, !tbaa !5
  %9942 = load i32, ptr %369, align 4, !tbaa !5
  %9943 = call ptr @s2n_strerror(i32 noundef %9942, ptr noundef nonnull @.str.4) #9
  %9944 = load i32, ptr %369, align 4, !tbaa !5
  %9945 = call ptr @s2n_strerror_debug(i32 noundef %9944, ptr noundef nonnull @.str.4) #9
  %9946 = load i32, ptr %423, align 4, !tbaa !5
  %9947 = call ptr @strerror(i32 noundef %9946) #9
  %9948 = load i32, ptr %423, align 4, !tbaa !5
  %9949 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9940, ptr noundef nonnull %.str.5.sink4744, i32 noundef %9941, ptr noundef nonnull @.str.22, ptr noundef nonnull @.str.1, i32 noundef 444, ptr noundef %9943, ptr noundef %9945, ptr noundef %9947, i32 noundef %9948) #11
  call void @exit(i32 noundef 1) #12
  unreachable

9950:                                             ; preds = %9924
  store i32 0, ptr %369, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #9
  store i32 0, ptr %423, align 4, !tbaa !5
  %9951 = load i32, ptr @test_count, align 4, !tbaa !5
  %9952 = add nsw i32 %9951, 1
  store i32 %9952, ptr @test_count, align 4, !tbaa !5
  %9953 = call i32 @s2n_test_auth_combo(ptr noundef %5806, ptr noundef nonnull @s2n_ecdhe_ecdsa_with_aes_128_cbc_sha, ptr noundef nonnull @s2n_rsa_pss_rsae_sha256, ptr noundef null)
  %9954 = icmp eq i32 %9953, -1
  br i1 %9954, label %9977, label %9955

9955:                                             ; preds = %9950
  %9956 = load i32, ptr %423, align 4, !tbaa !5
  %9957 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9958 = call i32 @s2n_print_stacktrace(ptr noundef %9957) #9
  %9959 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9960 = trunc nuw i8 %9959 to i1
  br i1 %9960, label %9961, label %9965

9961:                                             ; preds = %9955
  %9962 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9963 = call i32 @fileno(ptr noundef %9962) #9
  %9964 = call i32 @isatty(i32 noundef %9963) #9
  %.not1130 = icmp eq i32 %9964, 0
  br i1 %.not1130, label %9965, label %9966

9965:                                             ; preds = %9961, %9955
  br label %9966

9966:                                             ; preds = %9961, %9965
  %.str.5.sink4753 = phi ptr [ @.str.5, %9965 ], [ @.str.2, %9961 ]
  store i32 %9956, ptr %423, align 4, !tbaa !5
  %9967 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9968 = load i32, ptr @test_count, align 4, !tbaa !5
  %9969 = load i32, ptr %369, align 4, !tbaa !5
  %9970 = call ptr @s2n_strerror(i32 noundef %9969, ptr noundef nonnull @.str.4) #9
  %9971 = load i32, ptr %369, align 4, !tbaa !5
  %9972 = call ptr @s2n_strerror_debug(i32 noundef %9971, ptr noundef nonnull @.str.4) #9
  %9973 = load i32, ptr %423, align 4, !tbaa !5
  %9974 = call ptr @strerror(i32 noundef %9973) #9
  %9975 = load i32, ptr %423, align 4, !tbaa !5
  %9976 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9967, ptr noundef nonnull %.str.5.sink4753, i32 noundef %9968, ptr noundef nonnull @.str.78, ptr noundef nonnull @.str.1, i32 noundef 445, ptr noundef %9970, ptr noundef %9972, ptr noundef %9974, i32 noundef %9975) #11
  call void @exit(i32 noundef 1) #12
  unreachable

9977:                                             ; preds = %9950
  %9978 = load i32, ptr @test_count, align 4, !tbaa !5
  %9979 = add nsw i32 %9978, 1
  store i32 %9979, ptr @test_count, align 4, !tbaa !5
  %9980 = load i32, ptr %369, align 4, !tbaa !5
  %9981 = icmp eq i32 %9980, 0
  br i1 %9981, label %9982, label %10004

9982:                                             ; preds = %9977
  %9983 = load i32, ptr %423, align 4, !tbaa !5
  %9984 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9985 = call i32 @s2n_print_stacktrace(ptr noundef %9984) #9
  %9986 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9987 = trunc nuw i8 %9986 to i1
  br i1 %9987, label %9988, label %9992

9988:                                             ; preds = %9982
  %9989 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9990 = call i32 @fileno(ptr noundef %9989) #9
  %9991 = call i32 @isatty(i32 noundef %9990) #9
  %.not1154 = icmp eq i32 %9991, 0
  br i1 %.not1154, label %9992, label %9993

9992:                                             ; preds = %9988, %9982
  br label %9993

9993:                                             ; preds = %9988, %9992
  %.str.5.sink4762 = phi ptr [ @.str.5, %9992 ], [ @.str.2, %9988 ]
  store i32 %9983, ptr %423, align 4, !tbaa !5
  %9994 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9995 = load i32, ptr @test_count, align 4, !tbaa !5
  %9996 = load i32, ptr %369, align 4, !tbaa !5
  %9997 = call ptr @s2n_strerror(i32 noundef %9996, ptr noundef nonnull @.str.4) #9
  %9998 = load i32, ptr %369, align 4, !tbaa !5
  %9999 = call ptr @s2n_strerror_debug(i32 noundef %9998, ptr noundef nonnull @.str.4) #9
  %10000 = load i32, ptr %423, align 4, !tbaa !5
  %10001 = call ptr @strerror(i32 noundef %10000) #9
  %10002 = load i32, ptr %423, align 4, !tbaa !5
  %10003 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9994, ptr noundef nonnull %.str.5.sink4762, i32 noundef %9995, ptr noundef nonnull @.str.21, ptr noundef nonnull @.str.1, i32 noundef 445, ptr noundef %9997, ptr noundef %9999, ptr noundef %10001, i32 noundef %10002) #11
  call void @exit(i32 noundef 1) #12
  unreachable

10004:                                            ; preds = %9977
  %10005 = add nsw i32 %9978, 2
  store i32 %10005, ptr @test_count, align 4, !tbaa !5
  %10006 = call ptr @s2n_strerror_debug(i32 noundef %9980, ptr noundef nonnull @.str.4) #9
  %10007 = icmp eq ptr %10006, null
  br i1 %10007, label %10008, label %10030

10008:                                            ; preds = %10004
  %10009 = load i32, ptr %423, align 4, !tbaa !5
  %10010 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10011 = call i32 @s2n_print_stacktrace(ptr noundef %10010) #9
  %10012 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10013 = trunc nuw i8 %10012 to i1
  br i1 %10013, label %10014, label %10018

10014:                                            ; preds = %10008
  %10015 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10016 = call i32 @fileno(ptr noundef %10015) #9
  %10017 = call i32 @isatty(i32 noundef %10016) #9
  %.not1153 = icmp eq i32 %10017, 0
  br i1 %.not1153, label %10018, label %10019

10018:                                            ; preds = %10014, %10008
  br label %10019

10019:                                            ; preds = %10014, %10018
  %.str.5.sink4771 = phi ptr [ @.str.5, %10018 ], [ @.str.2, %10014 ]
  store i32 %10009, ptr %423, align 4, !tbaa !5
  %10020 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10021 = load i32, ptr @test_count, align 4, !tbaa !5
  %10022 = load i32, ptr %369, align 4, !tbaa !5
  %10023 = call ptr @s2n_strerror(i32 noundef %10022, ptr noundef nonnull @.str.4) #9
  %10024 = load i32, ptr %369, align 4, !tbaa !5
  %10025 = call ptr @s2n_strerror_debug(i32 noundef %10024, ptr noundef nonnull @.str.4) #9
  %10026 = load i32, ptr %423, align 4, !tbaa !5
  %10027 = call ptr @strerror(i32 noundef %10026) #9
  %10028 = load i32, ptr %423, align 4, !tbaa !5
  %10029 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10020, ptr noundef nonnull %.str.5.sink4771, i32 noundef %10021, ptr noundef nonnull @.str.22, ptr noundef nonnull @.str.1, i32 noundef 445, ptr noundef %10023, ptr noundef %10025, ptr noundef %10027, i32 noundef %10028) #11
  call void @exit(i32 noundef 1) #12
  unreachable

10030:                                            ; preds = %10004
  store i32 0, ptr %369, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #9
  store i32 0, ptr %423, align 4, !tbaa !5
  %10031 = load i32, ptr @test_count, align 4, !tbaa !5
  %10032 = add nsw i32 %10031, 1
  store i32 %10032, ptr @test_count, align 4, !tbaa !5
  %10033 = load ptr, ptr %4, align 8, !tbaa !9
  %10034 = call i32 @s2n_test_auth_combo(ptr noundef %5806, ptr noundef nonnull @s2n_ecdhe_ecdsa_with_aes_128_cbc_sha, ptr noundef nonnull @s2n_ecdsa_sha384, ptr noundef %10033)
  %10035 = icmp eq i32 %10034, -1
  br i1 %10035, label %10036, label %10058

10036:                                            ; preds = %10030
  %10037 = load i32, ptr %423, align 4, !tbaa !5
  %10038 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10039 = call i32 @s2n_print_stacktrace(ptr noundef %10038) #9
  %10040 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10041 = trunc nuw i8 %10040 to i1
  br i1 %10041, label %10042, label %10046

10042:                                            ; preds = %10036
  %10043 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10044 = call i32 @fileno(ptr noundef %10043) #9
  %10045 = call i32 @isatty(i32 noundef %10044) #9
  %.not1152 = icmp eq i32 %10045, 0
  br i1 %.not1152, label %10046, label %10047

10046:                                            ; preds = %10042, %10036
  br label %10047

10047:                                            ; preds = %10042, %10046
  %.str.5.sink4780 = phi ptr [ @.str.5, %10046 ], [ @.str.2, %10042 ]
  store i32 %10037, ptr %423, align 4, !tbaa !5
  %10048 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10049 = load i32, ptr @test_count, align 4, !tbaa !5
  %10050 = load i32, ptr %369, align 4, !tbaa !5
  %10051 = call ptr @s2n_strerror(i32 noundef %10050, ptr noundef nonnull @.str.4) #9
  %10052 = load i32, ptr %369, align 4, !tbaa !5
  %10053 = call ptr @s2n_strerror_debug(i32 noundef %10052, ptr noundef nonnull @.str.4) #9
  %10054 = load i32, ptr %423, align 4, !tbaa !5
  %10055 = call ptr @strerror(i32 noundef %10054) #9
  %10056 = load i32, ptr %423, align 4, !tbaa !5
  %10057 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10048, ptr noundef nonnull %.str.5.sink4780, i32 noundef %10049, ptr noundef nonnull @.str.92, ptr noundef nonnull @.str.1, i32 noundef 446, ptr noundef %10051, ptr noundef %10053, ptr noundef %10055, i32 noundef %10056) #11
  call void @exit(i32 noundef 1) #12
  unreachable

10058:                                            ; preds = %10030
  %10059 = load i32, ptr @test_count, align 4, !tbaa !5
  %10060 = add nsw i32 %10059, 1
  store i32 %10060, ptr @test_count, align 4, !tbaa !5
  %10061 = load ptr, ptr %3, align 8, !tbaa !9
  %10062 = call i32 @s2n_test_auth_combo(ptr noundef %5806, ptr noundef nonnull @s2n_tls13_aes_128_gcm_sha256, ptr noundef nonnull @s2n_rsa_pkcs1_md5_sha1, ptr noundef %10061)
  %10063 = icmp eq i32 %10062, -1
  br i1 %10063, label %10064, label %10086

10064:                                            ; preds = %10058
  %10065 = load i32, ptr %423, align 4, !tbaa !5
  %10066 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10067 = call i32 @s2n_print_stacktrace(ptr noundef %10066) #9
  %10068 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10069 = trunc nuw i8 %10068 to i1
  br i1 %10069, label %10070, label %10074

10070:                                            ; preds = %10064
  %10071 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10072 = call i32 @fileno(ptr noundef %10071) #9
  %10073 = call i32 @isatty(i32 noundef %10072) #9
  %.not1151 = icmp eq i32 %10073, 0
  br i1 %.not1151, label %10074, label %10075

10074:                                            ; preds = %10070, %10064
  br label %10075

10075:                                            ; preds = %10070, %10074
  %.str.5.sink4789 = phi ptr [ @.str.5, %10074 ], [ @.str.2, %10070 ]
  store i32 %10065, ptr %423, align 4, !tbaa !5
  %10076 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10077 = load i32, ptr @test_count, align 4, !tbaa !5
  %10078 = load i32, ptr %369, align 4, !tbaa !5
  %10079 = call ptr @s2n_strerror(i32 noundef %10078, ptr noundef nonnull @.str.4) #9
  %10080 = load i32, ptr %369, align 4, !tbaa !5
  %10081 = call ptr @s2n_strerror_debug(i32 noundef %10080, ptr noundef nonnull @.str.4) #9
  %10082 = load i32, ptr %423, align 4, !tbaa !5
  %10083 = call ptr @strerror(i32 noundef %10082) #9
  %10084 = load i32, ptr %423, align 4, !tbaa !5
  %10085 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10076, ptr noundef nonnull %.str.5.sink4789, i32 noundef %10077, ptr noundef nonnull @.str.86, ptr noundef nonnull @.str.1, i32 noundef 448, ptr noundef %10079, ptr noundef %10081, ptr noundef %10083, i32 noundef %10084) #11
  call void @exit(i32 noundef 1) #12
  unreachable

10086:                                            ; preds = %10058
  %10087 = call zeroext i1 (...) @s2n_is_rsa_pss_certs_supported() #9
  %10088 = load i32, ptr @test_count, align 4, !tbaa !5
  %10089 = add nsw i32 %10088, 1
  store i32 %10089, ptr @test_count, align 4, !tbaa !5
  %10090 = call i32 @s2n_test_auth_combo(ptr noundef %5806, ptr noundef nonnull @s2n_tls13_aes_128_gcm_sha256, ptr noundef nonnull @s2n_rsa_pss_pss_sha256, ptr noundef null)
  %10091 = icmp eq i32 %10090, -1
  br i1 %10087, label %10092, label %10115

10092:                                            ; preds = %10086
  br i1 %10091, label %10093, label %10192

10093:                                            ; preds = %10092
  %10094 = load i32, ptr %423, align 4, !tbaa !5
  %10095 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10096 = call i32 @s2n_print_stacktrace(ptr noundef %10095) #9
  %10097 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10098 = trunc nuw i8 %10097 to i1
  br i1 %10098, label %10099, label %10103

10099:                                            ; preds = %10093
  %10100 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10101 = call i32 @fileno(ptr noundef %10100) #9
  %10102 = call i32 @isatty(i32 noundef %10101) #9
  %.not1150 = icmp eq i32 %10102, 0
  br i1 %.not1150, label %10103, label %10104

10103:                                            ; preds = %10099, %10093
  br label %10104

10104:                                            ; preds = %10099, %10103
  %.str.5.sink4798 = phi ptr [ @.str.5, %10103 ], [ @.str.2, %10099 ]
  store i32 %10094, ptr %423, align 4, !tbaa !5
  %10105 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10106 = load i32, ptr @test_count, align 4, !tbaa !5
  %10107 = load i32, ptr %369, align 4, !tbaa !5
  %10108 = call ptr @s2n_strerror(i32 noundef %10107, ptr noundef nonnull @.str.4) #9
  %10109 = load i32, ptr %369, align 4, !tbaa !5
  %10110 = call ptr @s2n_strerror_debug(i32 noundef %10109, ptr noundef nonnull @.str.4) #9
  %10111 = load i32, ptr %423, align 4, !tbaa !5
  %10112 = call ptr @strerror(i32 noundef %10111) #9
  %10113 = load i32, ptr %423, align 4, !tbaa !5
  %10114 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10105, ptr noundef nonnull %.str.5.sink4798, i32 noundef %10106, ptr noundef nonnull @.str.90, ptr noundef nonnull @.str.1, i32 noundef 449, ptr noundef %10108, ptr noundef %10110, ptr noundef %10112, i32 noundef %10113) #11
  call void @exit(i32 noundef 1) #12
  unreachable

10115:                                            ; preds = %10086
  br i1 %10091, label %10138, label %10116

10116:                                            ; preds = %10115
  %10117 = load i32, ptr %423, align 4, !tbaa !5
  %10118 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10119 = call i32 @s2n_print_stacktrace(ptr noundef %10118) #9
  %10120 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10121 = trunc nuw i8 %10120 to i1
  br i1 %10121, label %10122, label %10126

10122:                                            ; preds = %10116
  %10123 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10124 = call i32 @fileno(ptr noundef %10123) #9
  %10125 = call i32 @isatty(i32 noundef %10124) #9
  %.not1131 = icmp eq i32 %10125, 0
  br i1 %.not1131, label %10126, label %10127

10126:                                            ; preds = %10122, %10116
  br label %10127

10127:                                            ; preds = %10122, %10126
  %.str.5.sink4807 = phi ptr [ @.str.5, %10126 ], [ @.str.2, %10122 ]
  store i32 %10117, ptr %423, align 4, !tbaa !5
  %10128 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10129 = load i32, ptr @test_count, align 4, !tbaa !5
  %10130 = load i32, ptr %369, align 4, !tbaa !5
  %10131 = call ptr @s2n_strerror(i32 noundef %10130, ptr noundef nonnull @.str.4) #9
  %10132 = load i32, ptr %369, align 4, !tbaa !5
  %10133 = call ptr @s2n_strerror_debug(i32 noundef %10132, ptr noundef nonnull @.str.4) #9
  %10134 = load i32, ptr %423, align 4, !tbaa !5
  %10135 = call ptr @strerror(i32 noundef %10134) #9
  %10136 = load i32, ptr %423, align 4, !tbaa !5
  %10137 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10128, ptr noundef nonnull %.str.5.sink4807, i32 noundef %10129, ptr noundef nonnull @.str.91, ptr noundef nonnull @.str.1, i32 noundef 449, ptr noundef %10131, ptr noundef %10133, ptr noundef %10135, i32 noundef %10136) #11
  call void @exit(i32 noundef 1) #12
  unreachable

10138:                                            ; preds = %10115
  %10139 = load i32, ptr @test_count, align 4, !tbaa !5
  %10140 = add nsw i32 %10139, 1
  store i32 %10140, ptr @test_count, align 4, !tbaa !5
  %10141 = load i32, ptr %369, align 4, !tbaa !5
  %10142 = icmp eq i32 %10141, 0
  br i1 %10142, label %10143, label %10165

10143:                                            ; preds = %10138
  %10144 = load i32, ptr %423, align 4, !tbaa !5
  %10145 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10146 = call i32 @s2n_print_stacktrace(ptr noundef %10145) #9
  %10147 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10148 = trunc nuw i8 %10147 to i1
  br i1 %10148, label %10149, label %10153

10149:                                            ; preds = %10143
  %10150 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10151 = call i32 @fileno(ptr noundef %10150) #9
  %10152 = call i32 @isatty(i32 noundef %10151) #9
  %.not1133 = icmp eq i32 %10152, 0
  br i1 %.not1133, label %10153, label %10154

10153:                                            ; preds = %10149, %10143
  br label %10154

10154:                                            ; preds = %10149, %10153
  %.str.5.sink4816 = phi ptr [ @.str.5, %10153 ], [ @.str.2, %10149 ]
  store i32 %10144, ptr %423, align 4, !tbaa !5
  %10155 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10156 = load i32, ptr @test_count, align 4, !tbaa !5
  %10157 = load i32, ptr %369, align 4, !tbaa !5
  %10158 = call ptr @s2n_strerror(i32 noundef %10157, ptr noundef nonnull @.str.4) #9
  %10159 = load i32, ptr %369, align 4, !tbaa !5
  %10160 = call ptr @s2n_strerror_debug(i32 noundef %10159, ptr noundef nonnull @.str.4) #9
  %10161 = load i32, ptr %423, align 4, !tbaa !5
  %10162 = call ptr @strerror(i32 noundef %10161) #9
  %10163 = load i32, ptr %423, align 4, !tbaa !5
  %10164 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10155, ptr noundef nonnull %.str.5.sink4816, i32 noundef %10156, ptr noundef nonnull @.str.21, ptr noundef nonnull @.str.1, i32 noundef 449, ptr noundef %10158, ptr noundef %10160, ptr noundef %10162, i32 noundef %10163) #11
  call void @exit(i32 noundef 1) #12
  unreachable

10165:                                            ; preds = %10138
  %10166 = add nsw i32 %10139, 2
  store i32 %10166, ptr @test_count, align 4, !tbaa !5
  %10167 = call ptr @s2n_strerror_debug(i32 noundef %10141, ptr noundef nonnull @.str.4) #9
  %10168 = icmp eq ptr %10167, null
  br i1 %10168, label %10169, label %10191

10169:                                            ; preds = %10165
  %10170 = load i32, ptr %423, align 4, !tbaa !5
  %10171 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10172 = call i32 @s2n_print_stacktrace(ptr noundef %10171) #9
  %10173 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10174 = trunc nuw i8 %10173 to i1
  br i1 %10174, label %10175, label %10179

10175:                                            ; preds = %10169
  %10176 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10177 = call i32 @fileno(ptr noundef %10176) #9
  %10178 = call i32 @isatty(i32 noundef %10177) #9
  %.not1132 = icmp eq i32 %10178, 0
  br i1 %.not1132, label %10179, label %10180

10179:                                            ; preds = %10175, %10169
  br label %10180

10180:                                            ; preds = %10175, %10179
  %.str.5.sink4825 = phi ptr [ @.str.5, %10179 ], [ @.str.2, %10175 ]
  store i32 %10170, ptr %423, align 4, !tbaa !5
  %10181 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10182 = load i32, ptr @test_count, align 4, !tbaa !5
  %10183 = load i32, ptr %369, align 4, !tbaa !5
  %10184 = call ptr @s2n_strerror(i32 noundef %10183, ptr noundef nonnull @.str.4) #9
  %10185 = load i32, ptr %369, align 4, !tbaa !5
  %10186 = call ptr @s2n_strerror_debug(i32 noundef %10185, ptr noundef nonnull @.str.4) #9
  %10187 = load i32, ptr %423, align 4, !tbaa !5
  %10188 = call ptr @strerror(i32 noundef %10187) #9
  %10189 = load i32, ptr %423, align 4, !tbaa !5
  %10190 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10181, ptr noundef nonnull %.str.5.sink4825, i32 noundef %10182, ptr noundef nonnull @.str.22, ptr noundef nonnull @.str.1, i32 noundef 449, ptr noundef %10184, ptr noundef %10186, ptr noundef %10188, i32 noundef %10189) #11
  call void @exit(i32 noundef 1) #12
  unreachable

10191:                                            ; preds = %10165
  store i32 0, ptr %369, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #9
  store i32 0, ptr %423, align 4, !tbaa !5
  br label %10192

10192:                                            ; preds = %10191, %10092
  %10193 = load i32, ptr @test_count, align 4, !tbaa !5
  %10194 = add nsw i32 %10193, 1
  store i32 %10194, ptr @test_count, align 4, !tbaa !5
  %10195 = load ptr, ptr %3, align 8, !tbaa !9
  %10196 = call i32 @s2n_test_auth_combo(ptr noundef %5806, ptr noundef nonnull @s2n_tls13_aes_128_gcm_sha256, ptr noundef nonnull @s2n_rsa_pss_rsae_sha256, ptr noundef %10195)
  %10197 = icmp eq i32 %10196, -1
  br i1 %10197, label %10198, label %10220

10198:                                            ; preds = %10192
  %10199 = load i32, ptr %423, align 4, !tbaa !5
  %10200 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10201 = call i32 @s2n_print_stacktrace(ptr noundef %10200) #9
  %10202 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10203 = trunc nuw i8 %10202 to i1
  br i1 %10203, label %10204, label %10208

10204:                                            ; preds = %10198
  %10205 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10206 = call i32 @fileno(ptr noundef %10205) #9
  %10207 = call i32 @isatty(i32 noundef %10206) #9
  %.not1149 = icmp eq i32 %10207, 0
  br i1 %.not1149, label %10208, label %10209

10208:                                            ; preds = %10204, %10198
  br label %10209

10209:                                            ; preds = %10204, %10208
  %.str.5.sink4834 = phi ptr [ @.str.5, %10208 ], [ @.str.2, %10204 ]
  store i32 %10199, ptr %423, align 4, !tbaa !5
  %10210 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10211 = load i32, ptr @test_count, align 4, !tbaa !5
  %10212 = load i32, ptr %369, align 4, !tbaa !5
  %10213 = call ptr @s2n_strerror(i32 noundef %10212, ptr noundef nonnull @.str.4) #9
  %10214 = load i32, ptr %369, align 4, !tbaa !5
  %10215 = call ptr @s2n_strerror_debug(i32 noundef %10214, ptr noundef nonnull @.str.4) #9
  %10216 = load i32, ptr %423, align 4, !tbaa !5
  %10217 = call ptr @strerror(i32 noundef %10216) #9
  %10218 = load i32, ptr %423, align 4, !tbaa !5
  %10219 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10210, ptr noundef nonnull %.str.5.sink4834, i32 noundef %10211, ptr noundef nonnull @.str.87, ptr noundef nonnull @.str.1, i32 noundef 450, ptr noundef %10213, ptr noundef %10215, ptr noundef %10217, i32 noundef %10218) #11
  call void @exit(i32 noundef 1) #12
  unreachable

10220:                                            ; preds = %10192
  %10221 = load i32, ptr @test_count, align 4, !tbaa !5
  %10222 = add nsw i32 %10221, 1
  store i32 %10222, ptr @test_count, align 4, !tbaa !5
  %10223 = load ptr, ptr %4, align 8, !tbaa !9
  %10224 = call i32 @s2n_test_auth_combo(ptr noundef %5806, ptr noundef nonnull @s2n_tls13_aes_128_gcm_sha256, ptr noundef nonnull @s2n_ecdsa_sha384, ptr noundef %10223)
  %10225 = icmp eq i32 %10224, -1
  br i1 %10225, label %10226, label %10248

10226:                                            ; preds = %10220
  %10227 = load i32, ptr %423, align 4, !tbaa !5
  %10228 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10229 = call i32 @s2n_print_stacktrace(ptr noundef %10228) #9
  %10230 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10231 = trunc nuw i8 %10230 to i1
  br i1 %10231, label %10232, label %10236

10232:                                            ; preds = %10226
  %10233 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10234 = call i32 @fileno(ptr noundef %10233) #9
  %10235 = call i32 @isatty(i32 noundef %10234) #9
  %.not1148 = icmp eq i32 %10235, 0
  br i1 %.not1148, label %10236, label %10237

10236:                                            ; preds = %10232, %10226
  br label %10237

10237:                                            ; preds = %10232, %10236
  %.str.5.sink4843 = phi ptr [ @.str.5, %10236 ], [ @.str.2, %10232 ]
  store i32 %10227, ptr %423, align 4, !tbaa !5
  %10238 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10239 = load i32, ptr @test_count, align 4, !tbaa !5
  %10240 = load i32, ptr %369, align 4, !tbaa !5
  %10241 = call ptr @s2n_strerror(i32 noundef %10240, ptr noundef nonnull @.str.4) #9
  %10242 = load i32, ptr %369, align 4, !tbaa !5
  %10243 = call ptr @s2n_strerror_debug(i32 noundef %10242, ptr noundef nonnull @.str.4) #9
  %10244 = load i32, ptr %423, align 4, !tbaa !5
  %10245 = call ptr @strerror(i32 noundef %10244) #9
  %10246 = load i32, ptr %423, align 4, !tbaa !5
  %10247 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10238, ptr noundef nonnull %.str.5.sink4843, i32 noundef %10239, ptr noundef nonnull @.str.93, ptr noundef nonnull @.str.1, i32 noundef 451, ptr noundef %10241, ptr noundef %10243, ptr noundef %10245, i32 noundef %10246) #11
  call void @exit(i32 noundef 1) #12
  unreachable

10248:                                            ; preds = %10220
  %10249 = load i32, ptr @test_count, align 4, !tbaa !5
  %10250 = add nsw i32 %10249, 1
  store i32 %10250, ptr @test_count, align 4, !tbaa !5
  %10251 = call i32 @s2n_connection_free(ptr noundef %5806) #9
  %10252 = icmp eq i32 %10251, -1
  br i1 %10252, label %10253, label %10275

10253:                                            ; preds = %10248
  %10254 = load i32, ptr %423, align 4, !tbaa !5
  %10255 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10256 = call i32 @s2n_print_stacktrace(ptr noundef %10255) #9
  %10257 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10258 = trunc nuw i8 %10257 to i1
  br i1 %10258, label %10259, label %10263

10259:                                            ; preds = %10253
  %10260 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10261 = call i32 @fileno(ptr noundef %10260) #9
  %10262 = call i32 @isatty(i32 noundef %10261) #9
  %.not1147 = icmp eq i32 %10262, 0
  br i1 %.not1147, label %10263, label %10264

10263:                                            ; preds = %10259, %10253
  br label %10264

10264:                                            ; preds = %10259, %10263
  %.str.5.sink4852 = phi ptr [ @.str.5, %10263 ], [ @.str.2, %10259 ]
  store i32 %10254, ptr %423, align 4, !tbaa !5
  %10265 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10266 = load i32, ptr @test_count, align 4, !tbaa !5
  %10267 = load i32, ptr %369, align 4, !tbaa !5
  %10268 = call ptr @s2n_strerror(i32 noundef %10267, ptr noundef nonnull @.str.4) #9
  %10269 = load i32, ptr %369, align 4, !tbaa !5
  %10270 = call ptr @s2n_strerror_debug(i32 noundef %10269, ptr noundef nonnull @.str.4) #9
  %10271 = load i32, ptr %423, align 4, !tbaa !5
  %10272 = call ptr @strerror(i32 noundef %10271) #9
  %10273 = load i32, ptr %423, align 4, !tbaa !5
  %10274 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10265, ptr noundef nonnull %.str.5.sink4852, i32 noundef %10266, ptr noundef nonnull @.str.31, ptr noundef nonnull @.str.1, i32 noundef 453, ptr noundef %10268, ptr noundef %10270, ptr noundef %10272, i32 noundef %10273) #11
  call void @exit(i32 noundef 1) #12
  unreachable

10275:                                            ; preds = %10248
  %10276 = load i32, ptr @test_count, align 4, !tbaa !5
  %10277 = add nsw i32 %10276, 1
  store i32 %10277, ptr @test_count, align 4, !tbaa !5
  %10278 = call i32 @s2n_config_free(ptr noundef %184) #9
  %10279 = icmp eq i32 %10278, -1
  br i1 %10279, label %10280, label %10302

10280:                                            ; preds = %10275
  %10281 = load i32, ptr %423, align 4, !tbaa !5
  %10282 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10283 = call i32 @s2n_print_stacktrace(ptr noundef %10282) #9
  %10284 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10285 = trunc nuw i8 %10284 to i1
  br i1 %10285, label %10286, label %10290

10286:                                            ; preds = %10280
  %10287 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10288 = call i32 @fileno(ptr noundef %10287) #9
  %10289 = call i32 @isatty(i32 noundef %10288) #9
  %.not1146 = icmp eq i32 %10289, 0
  br i1 %.not1146, label %10290, label %10291

10290:                                            ; preds = %10286, %10280
  br label %10291

10291:                                            ; preds = %10286, %10290
  %.str.5.sink4861 = phi ptr [ @.str.5, %10290 ], [ @.str.2, %10286 ]
  store i32 %10281, ptr %423, align 4, !tbaa !5
  %10292 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10293 = load i32, ptr @test_count, align 4, !tbaa !5
  %10294 = load i32, ptr %369, align 4, !tbaa !5
  %10295 = call ptr @s2n_strerror(i32 noundef %10294, ptr noundef nonnull @.str.4) #9
  %10296 = load i32, ptr %369, align 4, !tbaa !5
  %10297 = call ptr @s2n_strerror_debug(i32 noundef %10296, ptr noundef nonnull @.str.4) #9
  %10298 = load i32, ptr %423, align 4, !tbaa !5
  %10299 = call ptr @strerror(i32 noundef %10298) #9
  %10300 = load i32, ptr %423, align 4, !tbaa !5
  %10301 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10292, ptr noundef nonnull %.str.5.sink4861, i32 noundef %10293, ptr noundef nonnull @.str.94, ptr noundef nonnull @.str.1, i32 noundef 456, ptr noundef %10295, ptr noundef %10297, ptr noundef %10299, i32 noundef %10300) #11
  call void @exit(i32 noundef 1) #12
  unreachable

10302:                                            ; preds = %10275
  %10303 = load i32, ptr @test_count, align 4, !tbaa !5
  %10304 = add nsw i32 %10303, 1
  store i32 %10304, ptr @test_count, align 4, !tbaa !5
  %10305 = call i32 @s2n_config_free(ptr noundef %307) #9
  %10306 = icmp eq i32 %10305, -1
  br i1 %10306, label %10307, label %10329

10307:                                            ; preds = %10302
  %10308 = load i32, ptr %423, align 4, !tbaa !5
  %10309 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10310 = call i32 @s2n_print_stacktrace(ptr noundef %10309) #9
  %10311 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10312 = trunc nuw i8 %10311 to i1
  br i1 %10312, label %10313, label %10317

10313:                                            ; preds = %10307
  %10314 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10315 = call i32 @fileno(ptr noundef %10314) #9
  %10316 = call i32 @isatty(i32 noundef %10315) #9
  %.not1145 = icmp eq i32 %10316, 0
  br i1 %.not1145, label %10317, label %10318

10317:                                            ; preds = %10313, %10307
  br label %10318

10318:                                            ; preds = %10313, %10317
  %.str.5.sink4870 = phi ptr [ @.str.5, %10317 ], [ @.str.2, %10313 ]
  store i32 %10308, ptr %423, align 4, !tbaa !5
  %10319 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10320 = load i32, ptr @test_count, align 4, !tbaa !5
  %10321 = load i32, ptr %369, align 4, !tbaa !5
  %10322 = call ptr @s2n_strerror(i32 noundef %10321, ptr noundef nonnull @.str.4) #9
  %10323 = load i32, ptr %369, align 4, !tbaa !5
  %10324 = call ptr @s2n_strerror_debug(i32 noundef %10323, ptr noundef nonnull @.str.4) #9
  %10325 = load i32, ptr %423, align 4, !tbaa !5
  %10326 = call ptr @strerror(i32 noundef %10325) #9
  %10327 = load i32, ptr %423, align 4, !tbaa !5
  %10328 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10319, ptr noundef nonnull %.str.5.sink4870, i32 noundef %10320, ptr noundef nonnull @.str.95, ptr noundef nonnull @.str.1, i32 noundef 457, ptr noundef %10322, ptr noundef %10324, ptr noundef %10326, i32 noundef %10327) #11
  call void @exit(i32 noundef 1) #12
  unreachable

10329:                                            ; preds = %10302
  %10330 = load i32, ptr @test_count, align 4, !tbaa !5
  %10331 = add nsw i32 %10330, 1
  store i32 %10331, ptr @test_count, align 4, !tbaa !5
  %10332 = call i32 @s2n_config_free(ptr noundef %215) #9
  %10333 = icmp eq i32 %10332, -1
  br i1 %10333, label %10334, label %10356

10334:                                            ; preds = %10329
  %10335 = load i32, ptr %423, align 4, !tbaa !5
  %10336 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10337 = call i32 @s2n_print_stacktrace(ptr noundef %10336) #9
  %10338 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10339 = trunc nuw i8 %10338 to i1
  br i1 %10339, label %10340, label %10344

10340:                                            ; preds = %10334
  %10341 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10342 = call i32 @fileno(ptr noundef %10341) #9
  %10343 = call i32 @isatty(i32 noundef %10342) #9
  %.not1144 = icmp eq i32 %10343, 0
  br i1 %.not1144, label %10344, label %10345

10344:                                            ; preds = %10340, %10334
  br label %10345

10345:                                            ; preds = %10340, %10344
  %.str.5.sink4879 = phi ptr [ @.str.5, %10344 ], [ @.str.2, %10340 ]
  store i32 %10335, ptr %423, align 4, !tbaa !5
  %10346 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10347 = load i32, ptr @test_count, align 4, !tbaa !5
  %10348 = load i32, ptr %369, align 4, !tbaa !5
  %10349 = call ptr @s2n_strerror(i32 noundef %10348, ptr noundef nonnull @.str.4) #9
  %10350 = load i32, ptr %369, align 4, !tbaa !5
  %10351 = call ptr @s2n_strerror_debug(i32 noundef %10350, ptr noundef nonnull @.str.4) #9
  %10352 = load i32, ptr %423, align 4, !tbaa !5
  %10353 = call ptr @strerror(i32 noundef %10352) #9
  %10354 = load i32, ptr %423, align 4, !tbaa !5
  %10355 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10346, ptr noundef nonnull %.str.5.sink4879, i32 noundef %10347, ptr noundef nonnull @.str.96, ptr noundef nonnull @.str.1, i32 noundef 458, ptr noundef %10349, ptr noundef %10351, ptr noundef %10353, i32 noundef %10354) #11
  call void @exit(i32 noundef 1) #12
  unreachable

10356:                                            ; preds = %10329
  %10357 = load i32, ptr @test_count, align 4, !tbaa !5
  %10358 = add nsw i32 %10357, 1
  store i32 %10358, ptr @test_count, align 4, !tbaa !5
  %10359 = call i32 @s2n_config_free(ptr noundef %246) #9
  %10360 = icmp eq i32 %10359, -1
  br i1 %10360, label %10361, label %10383

10361:                                            ; preds = %10356
  %10362 = load i32, ptr %423, align 4, !tbaa !5
  %10363 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10364 = call i32 @s2n_print_stacktrace(ptr noundef %10363) #9
  %10365 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10366 = trunc nuw i8 %10365 to i1
  br i1 %10366, label %10367, label %10371

10367:                                            ; preds = %10361
  %10368 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10369 = call i32 @fileno(ptr noundef %10368) #9
  %10370 = call i32 @isatty(i32 noundef %10369) #9
  %.not1143 = icmp eq i32 %10370, 0
  br i1 %.not1143, label %10371, label %10372

10371:                                            ; preds = %10367, %10361
  br label %10372

10372:                                            ; preds = %10367, %10371
  %.str.5.sink4888 = phi ptr [ @.str.5, %10371 ], [ @.str.2, %10367 ]
  store i32 %10362, ptr %423, align 4, !tbaa !5
  %10373 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10374 = load i32, ptr @test_count, align 4, !tbaa !5
  %10375 = load i32, ptr %369, align 4, !tbaa !5
  %10376 = call ptr @s2n_strerror(i32 noundef %10375, ptr noundef nonnull @.str.4) #9
  %10377 = load i32, ptr %369, align 4, !tbaa !5
  %10378 = call ptr @s2n_strerror_debug(i32 noundef %10377, ptr noundef nonnull @.str.4) #9
  %10379 = load i32, ptr %423, align 4, !tbaa !5
  %10380 = call ptr @strerror(i32 noundef %10379) #9
  %10381 = load i32, ptr %423, align 4, !tbaa !5
  %10382 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10373, ptr noundef nonnull %.str.5.sink4888, i32 noundef %10374, ptr noundef nonnull @.str.97, ptr noundef nonnull @.str.1, i32 noundef 459, ptr noundef %10376, ptr noundef %10378, ptr noundef %10380, i32 noundef %10381) #11
  call void @exit(i32 noundef 1) #12
  unreachable

10383:                                            ; preds = %10356
  %10384 = load i32, ptr @test_count, align 4, !tbaa !5
  %10385 = add nsw i32 %10384, 1
  store i32 %10385, ptr @test_count, align 4, !tbaa !5
  %10386 = call i32 @s2n_config_free(ptr noundef %183) #9
  %10387 = icmp eq i32 %10386, -1
  br i1 %10387, label %10388, label %10410

10388:                                            ; preds = %10383
  %10389 = load i32, ptr %423, align 4, !tbaa !5
  %10390 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10391 = call i32 @s2n_print_stacktrace(ptr noundef %10390) #9
  %10392 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10393 = trunc nuw i8 %10392 to i1
  br i1 %10393, label %10394, label %10398

10394:                                            ; preds = %10388
  %10395 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10396 = call i32 @fileno(ptr noundef %10395) #9
  %10397 = call i32 @isatty(i32 noundef %10396) #9
  %.not1142 = icmp eq i32 %10397, 0
  br i1 %.not1142, label %10398, label %10399

10398:                                            ; preds = %10394, %10388
  br label %10399

10399:                                            ; preds = %10394, %10398
  %.str.5.sink4897 = phi ptr [ @.str.5, %10398 ], [ @.str.2, %10394 ]
  store i32 %10389, ptr %423, align 4, !tbaa !5
  %10400 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10401 = load i32, ptr @test_count, align 4, !tbaa !5
  %10402 = load i32, ptr %369, align 4, !tbaa !5
  %10403 = call ptr @s2n_strerror(i32 noundef %10402, ptr noundef nonnull @.str.4) #9
  %10404 = load i32, ptr %369, align 4, !tbaa !5
  %10405 = call ptr @s2n_strerror_debug(i32 noundef %10404, ptr noundef nonnull @.str.4) #9
  %10406 = load i32, ptr %423, align 4, !tbaa !5
  %10407 = call ptr @strerror(i32 noundef %10406) #9
  %10408 = load i32, ptr %423, align 4, !tbaa !5
  %10409 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10400, ptr noundef nonnull %.str.5.sink4897, i32 noundef %10401, ptr noundef nonnull @.str.98, ptr noundef nonnull @.str.1, i32 noundef 460, ptr noundef %10403, ptr noundef %10405, ptr noundef %10407, i32 noundef %10408) #11
  call void @exit(i32 noundef 1) #12
  unreachable

10410:                                            ; preds = %10383
  %10411 = load i32, ptr @test_count, align 4, !tbaa !5
  %10412 = add nsw i32 %10411, 1
  store i32 %10412, ptr @test_count, align 4, !tbaa !5
  %10413 = load ptr, ptr %3, align 8, !tbaa !9
  %10414 = call i32 @s2n_cert_chain_and_key_free(ptr noundef %10413) #9
  %10415 = icmp eq i32 %10414, -1
  br i1 %10415, label %10416, label %10438

10416:                                            ; preds = %10410
  %10417 = load i32, ptr %423, align 4, !tbaa !5
  %10418 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10419 = call i32 @s2n_print_stacktrace(ptr noundef %10418) #9
  %10420 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10421 = trunc nuw i8 %10420 to i1
  br i1 %10421, label %10422, label %10426

10422:                                            ; preds = %10416
  %10423 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10424 = call i32 @fileno(ptr noundef %10423) #9
  %10425 = call i32 @isatty(i32 noundef %10424) #9
  %.not1141 = icmp eq i32 %10425, 0
  br i1 %.not1141, label %10426, label %10427

10426:                                            ; preds = %10422, %10416
  br label %10427

10427:                                            ; preds = %10422, %10426
  %.str.5.sink4906 = phi ptr [ @.str.5, %10426 ], [ @.str.2, %10422 ]
  store i32 %10417, ptr %423, align 4, !tbaa !5
  %10428 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10429 = load i32, ptr @test_count, align 4, !tbaa !5
  %10430 = load i32, ptr %369, align 4, !tbaa !5
  %10431 = call ptr @s2n_strerror(i32 noundef %10430, ptr noundef nonnull @.str.4) #9
  %10432 = load i32, ptr %369, align 4, !tbaa !5
  %10433 = call ptr @s2n_strerror_debug(i32 noundef %10432, ptr noundef nonnull @.str.4) #9
  %10434 = load i32, ptr %423, align 4, !tbaa !5
  %10435 = call ptr @strerror(i32 noundef %10434) #9
  %10436 = load i32, ptr %423, align 4, !tbaa !5
  %10437 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10428, ptr noundef nonnull %.str.5.sink4906, i32 noundef %10429, ptr noundef nonnull @.str.99, ptr noundef nonnull @.str.1, i32 noundef 461, ptr noundef %10431, ptr noundef %10433, ptr noundef %10435, i32 noundef %10436) #11
  call void @exit(i32 noundef 1) #12
  unreachable

10438:                                            ; preds = %10410
  %10439 = load i32, ptr @test_count, align 4, !tbaa !5
  %10440 = add nsw i32 %10439, 1
  store i32 %10440, ptr @test_count, align 4, !tbaa !5
  %10441 = call i32 @s2n_cert_chain_and_key_free(ptr noundef null) #9
  %10442 = icmp eq i32 %10441, -1
  br i1 %10442, label %10443, label %10465

10443:                                            ; preds = %10438
  %10444 = load i32, ptr %423, align 4, !tbaa !5
  %10445 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10446 = call i32 @s2n_print_stacktrace(ptr noundef %10445) #9
  %10447 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10448 = trunc nuw i8 %10447 to i1
  br i1 %10448, label %10449, label %10453

10449:                                            ; preds = %10443
  %10450 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10451 = call i32 @fileno(ptr noundef %10450) #9
  %10452 = call i32 @isatty(i32 noundef %10451) #9
  %.not1140 = icmp eq i32 %10452, 0
  br i1 %.not1140, label %10453, label %10454

10453:                                            ; preds = %10449, %10443
  br label %10454

10454:                                            ; preds = %10449, %10453
  %.str.5.sink4915 = phi ptr [ @.str.5, %10453 ], [ @.str.2, %10449 ]
  store i32 %10444, ptr %423, align 4, !tbaa !5
  %10455 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10456 = load i32, ptr @test_count, align 4, !tbaa !5
  %10457 = load i32, ptr %369, align 4, !tbaa !5
  %10458 = call ptr @s2n_strerror(i32 noundef %10457, ptr noundef nonnull @.str.4) #9
  %10459 = load i32, ptr %369, align 4, !tbaa !5
  %10460 = call ptr @s2n_strerror_debug(i32 noundef %10459, ptr noundef nonnull @.str.4) #9
  %10461 = load i32, ptr %423, align 4, !tbaa !5
  %10462 = call ptr @strerror(i32 noundef %10461) #9
  %10463 = load i32, ptr %423, align 4, !tbaa !5
  %10464 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10455, ptr noundef nonnull %.str.5.sink4915, i32 noundef %10456, ptr noundef nonnull @.str.100, ptr noundef nonnull @.str.1, i32 noundef 462, ptr noundef %10458, ptr noundef %10460, ptr noundef %10462, i32 noundef %10463) #11
  call void @exit(i32 noundef 1) #12
  unreachable

10465:                                            ; preds = %10438
  %10466 = load i32, ptr @test_count, align 4, !tbaa !5
  %10467 = add nsw i32 %10466, 1
  store i32 %10467, ptr @test_count, align 4, !tbaa !5
  %10468 = load ptr, ptr %4, align 8, !tbaa !9
  %10469 = call i32 @s2n_cert_chain_and_key_free(ptr noundef %10468) #9
  %10470 = icmp eq i32 %10469, -1
  br i1 %10470, label %10471, label %10493

10471:                                            ; preds = %10465
  %10472 = load i32, ptr %423, align 4, !tbaa !5
  %10473 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10474 = call i32 @s2n_print_stacktrace(ptr noundef %10473) #9
  %10475 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10476 = trunc nuw i8 %10475 to i1
  br i1 %10476, label %10477, label %10481

10477:                                            ; preds = %10471
  %10478 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10479 = call i32 @fileno(ptr noundef %10478) #9
  %10480 = call i32 @isatty(i32 noundef %10479) #9
  %.not1139 = icmp eq i32 %10480, 0
  br i1 %.not1139, label %10481, label %10482

10481:                                            ; preds = %10477, %10471
  br label %10482

10482:                                            ; preds = %10477, %10481
  %.str.5.sink4924 = phi ptr [ @.str.5, %10481 ], [ @.str.2, %10477 ]
  store i32 %10472, ptr %423, align 4, !tbaa !5
  %10483 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10484 = load i32, ptr @test_count, align 4, !tbaa !5
  %10485 = load i32, ptr %369, align 4, !tbaa !5
  %10486 = call ptr @s2n_strerror(i32 noundef %10485, ptr noundef nonnull @.str.4) #9
  %10487 = load i32, ptr %369, align 4, !tbaa !5
  %10488 = call ptr @s2n_strerror_debug(i32 noundef %10487, ptr noundef nonnull @.str.4) #9
  %10489 = load i32, ptr %423, align 4, !tbaa !5
  %10490 = call ptr @strerror(i32 noundef %10489) #9
  %10491 = load i32, ptr %423, align 4, !tbaa !5
  %10492 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10483, ptr noundef nonnull %.str.5.sink4924, i32 noundef %10484, ptr noundef nonnull @.str.101, ptr noundef nonnull @.str.1, i32 noundef 463, ptr noundef %10486, ptr noundef %10488, ptr noundef %10490, i32 noundef %10491) #11
  call void @exit(i32 noundef 1) #12
  unreachable

10493:                                            ; preds = %10465
  %10494 = call i32 @s2n_cleanup() #9
  %10495 = icmp eq i32 %10494, -1
  br i1 %10495, label %10496, label %10518

10496:                                            ; preds = %10493
  %10497 = load i32, ptr %423, align 4, !tbaa !5
  %10498 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10499 = call i32 @s2n_print_stacktrace(ptr noundef %10498) #9
  %10500 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10501 = trunc nuw i8 %10500 to i1
  br i1 %10501, label %10502, label %10506

10502:                                            ; preds = %10496
  %10503 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10504 = call i32 @fileno(ptr noundef %10503) #9
  %10505 = call i32 @isatty(i32 noundef %10504) #9
  %.not1138 = icmp eq i32 %10505, 0
  br i1 %.not1138, label %10506, label %10507

10506:                                            ; preds = %10502, %10496
  br label %10507

10507:                                            ; preds = %10502, %10506
  %.str.5.sink4933 = phi ptr [ @.str.5, %10506 ], [ @.str.2, %10502 ]
  store i32 %10497, ptr %423, align 4, !tbaa !5
  %10508 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10509 = load i32, ptr @test_count, align 4, !tbaa !5
  %10510 = load i32, ptr %369, align 4, !tbaa !5
  %10511 = call ptr @s2n_strerror(i32 noundef %10510, ptr noundef nonnull @.str.4) #9
  %10512 = load i32, ptr %369, align 4, !tbaa !5
  %10513 = call ptr @s2n_strerror_debug(i32 noundef %10512, ptr noundef nonnull @.str.4) #9
  %10514 = load i32, ptr %423, align 4, !tbaa !5
  %10515 = call ptr @strerror(i32 noundef %10514) #9
  %10516 = load i32, ptr %423, align 4, !tbaa !5
  %10517 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10508, ptr noundef nonnull %.str.5.sink4933, i32 noundef %10509, ptr noundef nonnull @.str.102, ptr noundef nonnull @.str.1, i32 noundef 465, ptr noundef %10511, ptr noundef %10513, ptr noundef %10515, i32 noundef %10516) #11
  call void @exit(i32 noundef 1) #12
  unreachable

10518:                                            ; preds = %10493
  %10519 = call i32 @s2n_in_unit_test_set(i1 noundef zeroext false) #9
  %10520 = icmp eq i32 %10519, -1
  br i1 %10520, label %10521, label %10543

10521:                                            ; preds = %10518
  %10522 = load i32, ptr %423, align 4, !tbaa !5
  %10523 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10524 = call i32 @s2n_print_stacktrace(ptr noundef %10523) #9
  %10525 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10526 = trunc nuw i8 %10525 to i1
  br i1 %10526, label %10527, label %10531

10527:                                            ; preds = %10521
  %10528 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10529 = call i32 @fileno(ptr noundef %10528) #9
  %10530 = call i32 @isatty(i32 noundef %10529) #9
  %.not1137 = icmp eq i32 %10530, 0
  br i1 %.not1137, label %10531, label %10532

10531:                                            ; preds = %10527, %10521
  br label %10532

10532:                                            ; preds = %10527, %10531
  %.str.5.sink4942 = phi ptr [ @.str.5, %10531 ], [ @.str.2, %10527 ]
  store i32 %10522, ptr %423, align 4, !tbaa !5
  %10533 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10534 = load i32, ptr @test_count, align 4, !tbaa !5
  %10535 = load i32, ptr %369, align 4, !tbaa !5
  %10536 = call ptr @s2n_strerror(i32 noundef %10535, ptr noundef nonnull @.str.4) #9
  %10537 = load i32, ptr %369, align 4, !tbaa !5
  %10538 = call ptr @s2n_strerror_debug(i32 noundef %10537, ptr noundef nonnull @.str.4) #9
  %10539 = load i32, ptr %423, align 4, !tbaa !5
  %10540 = call ptr @strerror(i32 noundef %10539) #9
  %10541 = load i32, ptr %423, align 4, !tbaa !5
  %10542 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10533, ptr noundef nonnull %.str.5.sink4942, i32 noundef %10534, ptr noundef nonnull @.str.103, ptr noundef nonnull @.str.1, i32 noundef 465, ptr noundef %10536, ptr noundef %10538, ptr noundef %10540, i32 noundef %10541) #11
  call void @exit(i32 noundef 1) #12
  unreachable

10543:                                            ; preds = %10518
  %10544 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10545 = trunc nuw i8 %10544 to i1
  br i1 %10545, label %10546, label %10557

10546:                                            ; preds = %10543
  %10547 = load ptr, ptr @stdout, align 8, !tbaa !9
  %10548 = call i32 @fileno(ptr noundef %10547) #9
  %10549 = call i32 @isatty(i32 noundef %10548) #9
  %.not1134 = icmp eq i32 %10549, 0
  br i1 %.not1134, label %10557, label %10550

10550:                                            ; preds = %10546
  %10551 = load i32, ptr @test_count, align 4, !tbaa !5
  %.not1136 = icmp eq i32 %10551, 0
  %10552 = load ptr, ptr @stdout, align 8, !tbaa !9
  br i1 %.not1136, label %10555, label %10553

10553:                                            ; preds = %10550
  %10554 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10552, ptr noundef nonnull @.str.104, i32 noundef %10551) #9
  br label %10564

10555:                                            ; preds = %10550
  %10556 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10552, ptr noundef nonnull @.str.105) #9
  br label %10564

10557:                                            ; preds = %10546, %10543
  %10558 = load i32, ptr @test_count, align 4, !tbaa !5
  %.not1135 = icmp eq i32 %10558, 0
  %10559 = load ptr, ptr @stdout, align 8, !tbaa !9
  br i1 %.not1135, label %10562, label %10560

10560:                                            ; preds = %10557
  %10561 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10559, ptr noundef nonnull @.str.106, i32 noundef %10558) #9
  br label %10564

10562:                                            ; preds = %10557
  %10563 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10559, ptr noundef nonnull @.str.107) #9
  br label %10564

10564:                                            ; preds = %10560, %10562, %10553, %10555
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %4) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %3) #9
  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_disable_tls13_in_test(...) local_unnamed_addr #2

declare i32 @s2n_test_cert_chain_and_key_new(ptr noundef, ptr noundef, ptr noundef) local_unnamed_addr #2

declare ptr @s2n_config_new() local_unnamed_addr #2

declare i32 @s2n_config_add_cert_chain_and_key_to_store(ptr noundef, ptr noundef) local_unnamed_addr #2

declare ptr @s2n_connection_new(i32 noundef) local_unnamed_addr #2

declare i32 @s2n_connection_set_config(ptr noundef, ptr noundef) local_unnamed_addr #2

declare i32 @s2n_is_cipher_suite_valid_for_auth(ptr noundef, ptr noundef) local_unnamed_addr #2

declare void @s2n_debug_info_reset() local_unnamed_addr #2

declare zeroext i1 @s2n_is_rsa_pss_certs_supported(...) local_unnamed_addr #2

declare i32 @s2n_connection_free(ptr noundef) local_unnamed_addr #2

declare i32 @s2n_is_sig_scheme_valid_for_auth(ptr noundef, ptr noundef) local_unnamed_addr #2

declare i32 @s2n_connection_ptr_free(ptr noundef) local_unnamed_addr #2

declare i32 @s2n_config_free(ptr noundef) local_unnamed_addr #2

declare i32 @s2n_cert_chain_and_key_free(ptr noundef) local_unnamed_addr #2

declare i32 @s2n_is_cert_type_valid_for_auth(ptr noundef, i32 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_select_certs_for_server_auth(ptr noundef, ptr noundef) local_unnamed_addr #2

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

declare i32 @s2n_cleanup() local_unnamed_addr #2

attributes #0 = { nounwind uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #1 = { nofree nounwind "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #2 = { "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #3 = { mustprogress nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) }
attributes #4 = { mustprogress nofree nosync nounwind willreturn memory(none) "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #5 = { nounwind "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #6 = { mustprogress nocallback nofree nosync nounwind speculatable willreturn memory(none) }
attributes #7 = { noreturn nounwind "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #8 = { mustprogress nocallback nofree nounwind willreturn memory(argmem: write) }
attributes #9 = { nounwind }
attributes #10 = { nounwind willreturn memory(none) }
attributes #11 = { cold nounwind }
attributes #12 = { 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 232}
!16 = !{!"s2n_connection", !6, i64 0, !6, i64 0, !6, i64 0, !6, i64 0, !6, i64 0, !6, i64 0, !6, i64 0, !6, i64 0, !6, i64 1, !6, i64 1, !6, i64 1, !6, i64 1, !6, i64 1, !6, i64 1, !6, i64 1, !6, i64 1, !6, i64 2, !6, i64 2, !6, i64 2, !6, i64 2, !6, i64 2, !6, i64 2, !6, i64 2, !10, i64 8, !10, i64 16, !10, i64 24, !10, i64 32, !10, i64 40, !10, i64 48, !10, i64 56, !10, i64 64, !10, i64 72, !7, i64 80, !7, i64 102, !7, i64 124, !6, i64 148, !6, i64 152, !17, i64 160, !18, i64 168, !18, i64 176, !7, i64 184, !7, i64 216, !7, i64 217, !7, i64 218, !7, i64 219, !7, i64 220, !7, i64 221, !7, i64 222, !10, i64 224, !10, i64 232, !19, i64 240, !10, i64 632, !10, i64 640, !20, i64 648, !26, i64 1144, !29, i64 1688, !10, i64 1752, !7, i64 1760, !6, i64 1764, !7, i64 1768, !32, i64 1776, !32, i64 1816, !32, i64 1856, !32, i64 1896, !6, i64 1936, !18, i64 1944, !7, i64 1952, !32, i64 1960, !7, i64 2000, !7, i64 2001, !7, i64 2002, !12, i64 2003, !33, i64 2004, !33, i64 2008, !34, i64 2016, !31, i64 2208, !6, i64 2212, !31, i64 2216, !18, i64 2224, !7, i64 2232, !18, i64 2240, !18, i64 2248, !18, i64 2256, !33, i64 2264, !33, i64 2268, !7, i64 2272, !7, i64 2528, !6, i64 2784, !25, i64 2792, !6, i64 2816, !25, i64 2824, !25, i64 2848, !25, i64 2872, !36, i64 2896, !38, i64 3704, !10, i64 3760, !10, i64 3768, !7, i64 3776, !6, i64 3780, !25, i64 3784, !6, i64 3808, !40, i64 3816, !7, i64 3848, !32, i64 3992, !25, i64 4032, !25, i64 4056, !12, i64 4080, !12, i64 4081, !12, i64 4082, !31, i64 4084, !31, i64 4086, !6, i64 4088, !6, i64 4092, !25, i64 4096, !6, i64 4120, !41, i64 4128, !33, i64 4176, !7, i64 4180, !7, i64 4181}
!17 = !{!"s2n_timer", !18, i64 0}
!18 = !{!"long", !7, i64 0}
!19 = !{!"s2n_secrets", !7, i64 0, !6, i64 388}
!20 = !{!"s2n_kex_parameters", !21, i64 0, !22, i64 8, !7, i64 24, !22, i64 56, !23, i64 72, !23, i64 184, !7, i64 296, !24, i64 360, !25, i64 448, !25, i64 472}
!21 = !{!"s2n_dh_params", !10, i64 0}
!22 = !{!"s2n_ecc_evp_params", !10, i64 0, !10, i64 8}
!23 = !{!"s2n_kem_group_params", !10, i64 0, !24, i64 8, !22, i64 96}
!24 = !{!"s2n_kem_params", !10, i64 0, !25, i64 8, !25, i64 32, !25, i64 56, !12, i64 80}
!25 = !{!"s2n_blob", !10, i64 0, !6, i64 8, !6, i64 12, !6, i64 16}
!26 = !{!"s2n_handshake_parameters", !27, i64 0, !27, i64 48, !25, i64 96, !6, i64 120, !28, i64 124, !10, i64 384, !10, i64 392, !10, i64 400, !7, i64 408, !7, i64 440, !7, i64 472, !7, i64 473, !7, i64 474, !7, i64 506}
!27 = !{!"s2n_pkey", !10, i64 0, !10, i64 8, !10, i64 16, !10, i64 24, !10, i64 32, !10, i64 40}
!28 = !{!"s2n_sig_scheme_list", !7, i64 0, !7, i64 256}
!29 = !{!"s2n_psk_parameters", !6, i64 0, !30, i64 8, !31, i64 40, !31, i64 42, !10, i64 48, !6, i64 56}
!30 = !{!"s2n_array", !25, i64 0, !6, i64 24, !6, i64 28}
!31 = !{!"short", !7, i64 0}
!32 = !{!"s2n_stuffer", !25, i64 0, !6, i64 24, !6, i64 28, !6, i64 32, !6, i64 36, !6, i64 36, !6, i64 36}
!33 = !{!"", !6, i64 0}
!34 = !{!"s2n_handshake", !32, i64 0, !10, i64 40, !7, i64 48, !7, i64 56, !7, i64 104, !7, i64 152, !6, i64 156, !6, i64 160, !6, i64 164, !6, i64 168, !35, i64 176, !6, i64 184, !6, i64 184, !6, i64 184, !6, i64 184, !6, i64 188}
!35 = !{!"s2n_offered_early_data", !10, i64 0}
!36 = !{!"s2n_client_hello", !25, i64 0, !37, i64 24, !25, i64 728, !25, i64 752, !25, i64 776, !7, i64 800, !7, i64 801, !6, i64 802, !6, i64 802, !6, i64 802, !6, i64 802, !6, i64 802, !6, i64 802, !6, i64 802}
!37 = !{!"", !7, i64 0, !25, i64 672, !31, i64 696}
!38 = !{!"s2n_x509_validator", !10, i64 0, !10, i64 8, !7, i64 16, !7, i64 17, !31, i64 18, !10, i64 24, !6, i64 32, !10, i64 40, !39, i64 48, !12, i64 52}
!39 = !{!"s2n_cert_validation_info", !6, i64 0, !6, i64 0}
!40 = !{!"s2n_ticket_fields", !25, i64 0, !6, i64 24}
!41 = !{!"s2n_post_handshake", !32, i64 0, !7, i64 40}
!42 = !{!43, !10, i64 0}
!43 = !{!"s2n_crypto_parameters", !10, i64 0, !44, i64 8, !44, i64 16, !45, i64 24, !45, i64 456, !7, i64 888, !7, i64 904, !7, i64 920, !7, i64 928}
!44 = !{!"s2n_session_key", !10, i64 0}
!45 = !{!"s2n_hmac_state", !6, i64 0, !31, i64 4, !6, i64 8, !31, i64 12, !7, i64 14, !46, i64 16, !46, i64 72, !46, i64 128, !46, i64 184, !7, i64 240, !7, i64 368}
!46 = !{!"s2n_hash_state", !10, i64 0, !6, i64 8, !7, i64 12, !18, i64 16, !7, i64 24}
!47 = !{!16, !7, i64 220}
!48 = !{!16, !10, i64 1528}
!49 = !{!50, !6, i64 20}
!50 = !{!"s2n_signature_scheme", !31, i64 0, !10, i64 8, !6, i64 16, !6, i64 20, !7, i64 24, !7, i64 25, !31, i64 26, !10, i64 32}


; Effective O3 passes: CorrelatedValuePropagationPass,EarlyCSEPass,GVNPass,GlobalOptPass,IPSCCPPass,InferFunctionAttrsPass,InstCombinePass,PostOrderFunctionAttrsPass,SROAPass,SimplifyCFGPass,TailCallElimPass